|
1 | 1 | <script setup lang="ts"> |
| 2 | +import Image from "@/components/general/base/Image.vue"; |
| 3 | +import MaterialRipple from "@/components/general/base/MaterialRipple.vue"; |
2 | 4 | import PageWrapper from "@/components/general/layout/PageWrapper.vue"; |
3 | | -import GlobalStateHelpers from "@/lib/global-state-helpers"; |
4 | | -
|
5 | | -async function download(): Promise<void> {} |
6 | | -async function run(): Promise<void> {} |
7 | 5 | </script> |
8 | 6 |
|
9 | 7 | <template> |
10 | 8 | <PageWrapper> |
11 | | - <div id="__home-page__wrapper" class="flex flex-col justify-start gap-2 opacity-50"> |
12 | | - <div id="__home-page__title w-fit"> |
13 | | - Home |
| 9 | + <div id="__home-page__wrapper" class="h-full flex flex-col justify-between gap-2"> |
| 10 | + <div |
| 11 | + id="__home-page__header-wrapper" |
| 12 | + class="flex flex-col gap-2 px-2 pt-6" |
| 13 | + > |
| 14 | + <p |
| 15 | + id="__home-page__header-title" |
| 16 | + class="text-3xl" |
| 17 | + > |
| 18 | + В большой семье |
| 19 | + </p> |
| 20 | + <p |
| 21 | + id="__home-page__header-subtitle" |
| 22 | + class="text-lg text-neutral-300" |
| 23 | + > |
| 24 | + Еблом не щёлкают. |
| 25 | + </p> |
14 | 26 | </div> |
15 | | - <button id="__home-page__navigate-button" class="w-fit" @click="() => GlobalStateHelpers.Pages.navigate('library')"> |
16 | | - Navigate to Library |
17 | | - </button> |
18 | | - <button id="__home-page__download-button" class="w-fit" @click="download">uh, download</button> |
19 | | - <button id="__home-page__run-button" class="w-fit" @click="run">run</button> |
20 | 27 | <div |
21 | | - v-for="(_, index) in Array.from({ length: 50 })" |
22 | | - :key="index" |
23 | | - :id="`__home-page__element-${index}`" |
24 | | - class="text-2xl" |
25 | | - >d{{ index }}</div> |
| 28 | + id="__home-page__content" |
| 29 | + class="flex flex-nowrap items-end justify-between gap-2 pr-2 pb-2" |
| 30 | + > |
| 31 | + <div |
| 32 | + class="flex flex-col items-stretch gap-0" |
| 33 | + > |
| 34 | + <button |
| 35 | + class="relative p-2 rounded-md flex flex-nowrap gap-2 items-center" |
| 36 | + > |
| 37 | + <Image |
| 38 | + id="__" |
| 39 | + class-names="rounded-md size-12 transition-none p-1" |
| 40 | + src="https://media.forgecdn.net/avatars/thumbnails/286/772/64/64/637305737753885398.png" |
| 41 | + alt="Fabulously optimized" |
| 42 | + /> |
| 43 | + <span class="flex flex-col items-start pr-1"> |
| 44 | + <p class="font-medium"> |
| 45 | + Fabulously Optimized |
| 46 | + </p> |
| 47 | + <p class="text-neutral-400"> |
| 48 | + 1.21.10 |
| 49 | + </p> |
| 50 | + </span> |
| 51 | + <MaterialRipple /> |
| 52 | + </button> |
| 53 | + <button |
| 54 | + class="relative p-2 rounded-md flex flex-nowrap gap-2 items-center" |
| 55 | + > |
| 56 | + <span class="size-12 shrink-0 grid place-items-center"> |
| 57 | + <span class="block size-8 i-lucide-clock" /> |
| 58 | + </span> |
| 59 | + <span class="flex flex-col items-start pr-1"> |
| 60 | + <p class="font-medium"> |
| 61 | + Playtime |
| 62 | + </p> |
| 63 | + <p class="text-neutral-400 text-sm"> |
| 64 | + 73 hours, 8 minutes, 56 seconds |
| 65 | + </p> |
| 66 | + </span> |
| 67 | + <MaterialRipple /> |
| 68 | + </button> |
| 69 | + </div> |
| 70 | + <div class="flex flex-nowrap gap-1 p-2"> |
| 71 | + <button class="relative px-4 py-2 w-fit rounded-l-md rounded-r-sm bg-white text-black"> |
| 72 | + <span class="block"> |
| 73 | + Launch |
| 74 | + </span> |
| 75 | + <MaterialRipple |
| 76 | + :colors="{ 'ripple': '#00000033', 'sparkles': '0 0 0' }" |
| 77 | + /> |
| 78 | + </button> |
| 79 | + <button class="relative w-fit px-1 py-2 rounded-l-sm rounded-r-md bg-white text-black"> |
| 80 | + <span class="block i-lucide-chevron-down" /> |
| 81 | + <MaterialRipple |
| 82 | + :colors="{ 'ripple': '#00000033', 'sparkles': '0 0 0' }" |
| 83 | + /> |
| 84 | + </button> |
| 85 | + </div> |
| 86 | + </div> |
26 | 87 | </div> |
27 | 88 | </PageWrapper> |
28 | 89 | </template> |
0 commit comments