🎉 Initial Commit
This commit is contained in:
		
							
								
								
									
										24
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| # Nuxt dev/build outputs | ||||
| .output | ||||
| .data | ||||
| .nuxt | ||||
| .nitro | ||||
| .cache | ||||
| dist | ||||
|  | ||||
| # Node dependencies | ||||
| node_modules | ||||
|  | ||||
| # Logs | ||||
| logs | ||||
| *.log | ||||
|  | ||||
| # Misc | ||||
| .DS_Store | ||||
| .fleet | ||||
| .idea | ||||
|  | ||||
| # Local env files | ||||
| .env | ||||
| .env.* | ||||
| !.env.example | ||||
							
								
								
									
										75
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,75 @@ | ||||
| # Nuxt 3 Minimal Starter | ||||
|  | ||||
| Look at the [Nuxt 3 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more. | ||||
|  | ||||
| ## Setup | ||||
|  | ||||
| Make sure to install the dependencies: | ||||
|  | ||||
| ```bash | ||||
| # npm | ||||
| npm install | ||||
|  | ||||
| # pnpm | ||||
| pnpm install | ||||
|  | ||||
| # yarn | ||||
| yarn install | ||||
|  | ||||
| # bun | ||||
| bun install | ||||
| ``` | ||||
|  | ||||
| ## Development Server | ||||
|  | ||||
| Start the development server on `http://localhost:3000`: | ||||
|  | ||||
| ```bash | ||||
| # npm | ||||
| npm run dev | ||||
|  | ||||
| # pnpm | ||||
| pnpm run dev | ||||
|  | ||||
| # yarn | ||||
| yarn dev | ||||
|  | ||||
| # bun | ||||
| bun run dev | ||||
| ``` | ||||
|  | ||||
| ## Production | ||||
|  | ||||
| Build the application for production: | ||||
|  | ||||
| ```bash | ||||
| # npm | ||||
| npm run build | ||||
|  | ||||
| # pnpm | ||||
| pnpm run build | ||||
|  | ||||
| # yarn | ||||
| yarn build | ||||
|  | ||||
| # bun | ||||
| bun run build | ||||
| ``` | ||||
|  | ||||
| Locally preview production build: | ||||
|  | ||||
| ```bash | ||||
| # npm | ||||
| npm run preview | ||||
|  | ||||
| # pnpm | ||||
| pnpm run preview | ||||
|  | ||||
| # yarn | ||||
| yarn preview | ||||
|  | ||||
| # bun | ||||
| bun run preview | ||||
| ``` | ||||
|  | ||||
| Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information. | ||||
							
								
								
									
										8
									
								
								app.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								app.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| <template> | ||||
|   <v-app> | ||||
|     <nuxt-layout> | ||||
|       <nuxt-loading-indicator /> | ||||
|       <nuxt-page /> | ||||
|     </nuxt-layout> | ||||
|   </v-app> | ||||
| </template> | ||||
							
								
								
									
										
											BIN
										
									
								
								assets/products/feature.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/products/feature.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 2.0 MiB | 
							
								
								
									
										17
									
								
								assets/products/solar.svg
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										17
									
								
								assets/products/solar.svg
									
									
									
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| After Width: | Height: | Size: 29 KiB | 
							
								
								
									
										6
									
								
								content/products/solarpass.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								content/products/solarpass.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| --- | ||||
| icon: "https://id.solsynth.dev/favicon.svg" | ||||
| name: "Solarpass" | ||||
| code: "Hydrogen.Solarpass" | ||||
| description: "The unified identity service for Solar Network." | ||||
| --- | ||||
							
								
								
									
										26
									
								
								layouts/default.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								layouts/default.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| <template> | ||||
|   <v-app-bar flat scroll-behavior="elevated"> | ||||
|     <v-container class="mx-auto d-flex align-center justify-center"> | ||||
|       <v-avatar | ||||
|         class="me-4" | ||||
|         color="transparent" | ||||
|         size="32" | ||||
|         image="/favicon.svg" | ||||
|       ></v-avatar> | ||||
|  | ||||
|       <nuxt-link v-for="link in navbars" :to="link.to"> | ||||
|         <v-btn variant="text">{{ link.label }}</v-btn> | ||||
|       </nuxt-link> | ||||
|  | ||||
|       <v-spacer></v-spacer> | ||||
|     </v-container> | ||||
|   </v-app-bar> | ||||
|  | ||||
|   <v-main class="bg-grey-lighten-3 min-h-[calc(100vh - 64px)]"> | ||||
|     <slot /> | ||||
|   </v-main> | ||||
| </template> | ||||
|  | ||||
| <script setup lang="ts"> | ||||
| const navbars = [{ label: "Home", to: "/" }]; | ||||
| </script> | ||||
							
								
								
									
										42
									
								
								nuxt.config.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								nuxt.config.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | ||||
| import vuetify, { transformAssetUrls } from "vite-plugin-vuetify"; | ||||
|  | ||||
| // https://nuxt.com/docs/api/configuration/nuxt-config | ||||
| export default defineNuxtConfig({ | ||||
|   devtools: { enabled: true }, | ||||
|  | ||||
|   app: { | ||||
|     head: { | ||||
|       title: "Solsynth", | ||||
|       meta: [ | ||||
|         { | ||||
|           name: "description", | ||||
|           content: | ||||
|             "Solsynth LLC official website. We build amazing, wonderful, open-source software.", | ||||
|         }, | ||||
|       ], | ||||
|       link: [{ rel: "icon", type: "image/xml+svg", href: "/favicon.svg" }], | ||||
|     }, | ||||
|   }, | ||||
|   content: {}, | ||||
|  | ||||
|   build: { | ||||
|     transpile: ["vuetify"], | ||||
|   }, | ||||
|   modules: [ | ||||
|     "@unocss/nuxt", | ||||
|     "@nuxt/content", | ||||
|     (_options, nuxt) => { | ||||
|       nuxt.hooks.hook("vite:extendConfig", (config) => { | ||||
|         // @ts-expect-error | ||||
|         config.plugins.push(vuetify({ autoImport: true })); | ||||
|       }); | ||||
|     }, | ||||
|   ], | ||||
|   vite: { | ||||
|     vue: { | ||||
|       template: { | ||||
|         transformAssetUrls, | ||||
|       }, | ||||
|     }, | ||||
|   }, | ||||
| }); | ||||
							
								
								
									
										26
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| { | ||||
|   "name": "nuxt-app", | ||||
|   "private": true, | ||||
|   "type": "module", | ||||
|   "scripts": { | ||||
|     "build": "nuxt build", | ||||
|     "dev": "nuxt dev", | ||||
|     "generate": "nuxt generate", | ||||
|     "preview": "nuxt preview", | ||||
|     "postinstall": "nuxt prepare" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "@fontsource/roboto": "^5.0.12", | ||||
|     "@mdi/font": "^7.4.47", | ||||
|     "@nuxt/content": "^2.12.1", | ||||
|     "nuxt": "^3.10.3", | ||||
|     "vue": "^3.4.21", | ||||
|     "vue-router": "^4.3.0" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@unocss/nuxt": "^0.58.6", | ||||
|     "@unocss/reset": "^0.58.6", | ||||
|     "vite-plugin-vuetify": "^2.0.3", | ||||
|     "vuetify": "^3.5.9" | ||||
|   } | ||||
| } | ||||
							
								
								
									
										132
									
								
								pages/index.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								pages/index.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,132 @@ | ||||
| <template> | ||||
|   <v-container> | ||||
|     <v-row class="h-fullpage" align-content="center" id="landing"> | ||||
|       <v-col :xs="12" :sm="6" class="max-md:text-center"> | ||||
|         <img | ||||
|           src="/assets/products/solar.svg" | ||||
|           class="w-[180px] h-[192px] max-md:mx-auto" | ||||
|         /> | ||||
|         <h1 class="text-6xl font-bold mt-8"> | ||||
|           <span class="text-primary">Internet.</span> <br /> | ||||
|           <span>Redefined.</span> | ||||
|         </h1> | ||||
|  | ||||
|         <p class="text-lg mt-3">This is, the Solar Network.</p> | ||||
|  | ||||
|         <div class="mt-12 w-full flex max-md:justify-center"> | ||||
|           <v-btn | ||||
|             append-icon="mdi-magnify" | ||||
|             variant="tonal" | ||||
|             size="large" | ||||
|             href="#about" | ||||
|           > | ||||
|             Explore more | ||||
|           </v-btn> | ||||
|         </div> | ||||
|       </v-col> | ||||
|  | ||||
|       <v-col | ||||
|         :xs="12" | ||||
|         :sm="6" | ||||
|         class="flex items-center max-md:justify-center md:justify-end" | ||||
|       > | ||||
|         <v-card class="w-full"> | ||||
|           <img src="/assets/products/feature.jpg" class="object-cover" /> | ||||
|         </v-card> | ||||
|       </v-col> | ||||
|     </v-row> | ||||
|  | ||||
|     <v-row class="h-fullpage" align-content="center" id="about"> | ||||
|       <v-col :xs="12" :sm="6" class="max-md:text-center"> | ||||
|         <v-icon | ||||
|           icon="mdi-information-slab-symbol" | ||||
|           size="48" | ||||
|           color="grey-darken-3" | ||||
|           class="mb-3 mx-[-16px]" | ||||
|         /> | ||||
|         <h1 class="text-2xl font-bold">About us</h1> | ||||
|         <p> | ||||
|           We are a group of developers who are love open-source. Founded in | ||||
|           2019. We've been building open-source software that people love ever | ||||
|           since. For us, "By open-source, for open-source" is not only a | ||||
|           principle, but also the motto of our faith. | ||||
|         </p> | ||||
|  | ||||
|         <div class="mt-3 w-full flex max-md:justify-center"> | ||||
|           <v-btn | ||||
|             class="mx-[-16px]" | ||||
|             append-icon="mdi-shape" | ||||
|             variant="text" | ||||
|             href="#products" | ||||
|           > | ||||
|             Discover products | ||||
|           </v-btn> | ||||
|         </div> | ||||
|       </v-col> | ||||
|  | ||||
|       <v-col | ||||
|         :xs="12" | ||||
|         :sm="6" | ||||
|         class="flex flex-col gap-2 max-md:items-center md:items-end" | ||||
|       > | ||||
|         <v-card hover class="pa-5"> | ||||
|           <template #text> | ||||
|             <img src="/favicon.svg" width="128" height="128" /> | ||||
|           </template> | ||||
|         </v-card> | ||||
|         <p class="uppercase caption">Crystal Lotus</p> | ||||
|         <p class="text-sm opacity-80 mt-[-8px] md:text-right"> | ||||
|           A crystal flower born in GoatLand. <br /> | ||||
|           Home flower of Solsynth. <br /> | ||||
|           Mr. Sheep felt homesick every time he saw it. | ||||
|         </p> | ||||
|       </v-col> | ||||
|     </v-row> | ||||
|  | ||||
|     <v-row | ||||
|       class="h-fullpage text-center" | ||||
|       align-content="center" | ||||
|       justify="center" | ||||
|       id="products" | ||||
|     > | ||||
|       <v-col :cols="12"> | ||||
|         <h2 class="text-2xl font-bold">Products</h2> | ||||
|         <p>Let's see what we got.</p> | ||||
|  | ||||
|         <div class="mt-4 flex justify-center gap-2"> | ||||
|           <v-tooltip v-for="item in products" location="top"> | ||||
|             <template #activator="{ props }"> | ||||
|               <v-card v-bind="props" hover class="w-24 h-24"> | ||||
|                 <div class="h-full w-full flex justify-center items-center"> | ||||
|                   <img :src="item.icon" width="64" height="64" class="block" /> | ||||
|                 </div> | ||||
|               </v-card> | ||||
|             </template> | ||||
|  | ||||
|             <div> | ||||
|               <p class="font-bold">{{ item.title }}</p> | ||||
|               <p class="font-mono text-xs">{{ item.code }}</p> | ||||
|               <p class="mt-2">{{ item.description }}</p> | ||||
|             </div> | ||||
|           </v-tooltip> | ||||
|         </div> | ||||
|       </v-col> | ||||
|     </v-row> | ||||
|   </v-container> | ||||
| </template> | ||||
|  | ||||
| <script setup lang="ts"> | ||||
| const { data: products } = await useAsyncData("products", () => | ||||
|   queryContent("products").limit(5).find() | ||||
| ); | ||||
| </script> | ||||
|  | ||||
| <style scoped> | ||||
| .h-fullpage { | ||||
|   height: calc(100vh - 64px); | ||||
| } | ||||
|  | ||||
| .caption { | ||||
|   letter-spacing: 2px; | ||||
| } | ||||
| </style> | ||||
							
								
								
									
										4
									
								
								plugins/unocss.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								plugins/unocss.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| import "@unocss/reset/tailwind.css" | ||||
| import "@fontsource/roboto/latin.css" | ||||
|  | ||||
| export default defineNuxtPlugin(() => {}) | ||||
							
								
								
									
										36
									
								
								plugins/vuetify.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								plugins/vuetify.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| import "@mdi/font/css/materialdesignicons.min.css"; | ||||
|  | ||||
| import "vuetify/styles"; | ||||
| import { createVuetify } from "vuetify"; | ||||
| import { md3 } from "vuetify/blueprints"; | ||||
| import * as components from "vuetify/components"; | ||||
| import * as labsComponents from "vuetify/labs/components"; | ||||
| import * as directives from "vuetify/directives"; | ||||
|  | ||||
| export default defineNuxtPlugin((app) => { | ||||
|   const vuetify = createVuetify({ | ||||
|     directives, | ||||
|     components: { | ||||
|       ...components, | ||||
|       ...labsComponents, | ||||
|     }, | ||||
|     blueprint: md3, | ||||
|     theme: { | ||||
|       defaultTheme: "original", | ||||
|       themes: { | ||||
|         original: { | ||||
|           colors: { | ||||
|             primary: "#4a5099", | ||||
|             secondary: "#2196f3", | ||||
|             accent: "#009688", | ||||
|             error: "#f44336", | ||||
|             warning: "#ff9800", | ||||
|             info: "#03a9f4", | ||||
|             success: "#4caf50", | ||||
|           }, | ||||
|         }, | ||||
|       }, | ||||
|     }, | ||||
|   }); | ||||
|   app.vueApp.use(vuetify); | ||||
| }); | ||||
							
								
								
									
										12
									
								
								public/favicon.svg
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										12
									
								
								public/favicon.svg
									
									
									
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| After Width: | Height: | Size: 28 KiB | 
							
								
								
									
										3
									
								
								server/tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								server/tsconfig.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| { | ||||
|   "extends": "../.nuxt/tsconfig.server.json" | ||||
| } | ||||
							
								
								
									
										4
									
								
								tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								tsconfig.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| { | ||||
|   // https://nuxt.com/docs/guide/concepts/typescript | ||||
|   "extends": "./.nuxt/tsconfig.json" | ||||
| } | ||||
							
								
								
									
										5
									
								
								uno.config.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								uno.config.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| import { defineConfig, presetAttributify, presetTypography, presetUno } from "unocss"; | ||||
|  | ||||
| export default defineConfig({ | ||||
|   presets: [presetAttributify(), presetTypography(), presetUno({ preflight: false })] | ||||
| }) | ||||
		Reference in New Issue
	
	Block a user