pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/Drop-OSS/drop/commit/bfafd2a0447d0dc04a8184585052127d9831d0e9

b69241e157469407.css" /> ca groundwork · Drop-OSS/drop@bfafd2a · GitHub
Skip to content

Commit bfafd2a

Browse files
committed
ca groundwork
1 parent 1bd19ad commit bfafd2a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+636
-138
lines changed

.env.example

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
DATABASE_URL="postgres://drop:drop@127.0.0.1:5432/drop"
2+
3+
CLIENT_CERTIFICATES="./.data/ca"
4+
5+
GIANT_BOMB_API_KEY=""

.yarnrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"@drop:registry" "https://lab.deepcore.dev/api/v4/projects/57/packages/npm/"

app.vue

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,7 @@
33
<NuxtPage />
44
</NuxtLayout>
55
</template>
6+
7+
<script setup lang="ts">
8+
await updateUser();
9+
</script>

assets/core.scss

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,16 @@ $helvetica: (
3636
font-weight: $weight;
3737
font-style: $style;
3838
}
39+
}
40+
41+
@font-face {
42+
Inter";
43+
src: url("/fonts/inter/InterVariable.ttf");
44+
font-style: normal;
45+
}
46+
47+
@font-face {
48+
Inter";
49+
src: url("/fonts/inter/InterVariable-Italic.ttf");
50+
font-style: italic;
3951
}

components/HeaderUserWidget.vue

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
<template>
2+
<Menu as="div" class="relative inline-block">
3+
<MenuButton>
4+
<InlineWidget>
5+
<div class="inline-flex items-center text-zinc-300 hover:text-white">
6+
<img :src="userData.image" class="w-5 h-5 rounded-sm" />
7+
<span class="ml-2 text-sm font-bold">{{ userData.name }}</span>
8+
<ChevronDownIcon class="ml-3 h-4" />
9+
</div>
10+
</InlineWidget>
11+
</MenuButton>
12+
13+
<transition enter-active-class="transition ease-out duration-100"
14+
enter-from-class="transform opacity-0 scale-95" enter-to-class="transform opacity-100 scale-100"
15+
leave-active-class="transition ease-in duration-75" leave-from-class="transform opacity-100 scale-100"
16+
leave-to-class="transform opacity-0 scale-95">
17+
<MenuItems class="absolute right-0 top-10 z-10 w-56 origen-top-right focus:outline-none">
18+
<PanelWidget class="flex-col gap-y-2">
19+
<NuxtLink to="/id/me"
20+
class="transition inline-flex items-center w-full py-3 px-4 hover:bg-zinc-800">
21+
<div class="inline-flex items-center text-zinc-300">
22+
<img :src="userData.image" class="w-5 h-5 rounded-sm" />
23+
<span class="ml-2 text-sm font-bold">{{ userData.name }}</span>
24+
</div>
25+
</NuxtLink>
26+
<div class="h-0.5 rounded-full w-full bg-zinc-800" />
27+
<div class="flex flex-col">
28+
<MenuItem v-for="(nav, navIdx) in navigation" v-slot="{ active }">
29+
<NuxtLink :href="nav.route"
30+
:class="[active ? 'bg-zinc-800 text-zinc-100' : 'text-zinc-400', 'transition block px-4 py-2 text-sm']">
31+
{{
32+
nav.label }}</NuxtLink>
33+
</MenuItem>
34+
</div>
35+
</PanelWidget>
36+
</MenuItems>
37+
</transition>
38+
</Menu>
39+
</template>
40+
41+
<script setup lang="ts">
42+
import { Menu, MenuButton, MenuItem, MenuItems } from '@headlessui/vue'
43+
import { ChevronDownIcon } from '@heroicons/vue/16/solid';
44+
import type { NavigationItem } from '../composables/types';
45+
46+
const userData = {
47+
image: "https://avatars.githubusercontent.com/u/64579723?v=4",
48+
name: "DecDuck",
49+
}
50+
51+
const navigation: NavigationItem[] = [
52+
{
53+
label: "Admin Dashboard",
54+
route: "/admin",
55+
prefix: ""
56+
},
57+
{
58+
label: "Account settings",
59+
route: "/account",
60+
prefix: "",
61+
},
62+
{
63+
label: "Sign out",
64+
route: "/signout",
65+
prefix: ""
66+
}
67+
]
68+
</script>

components/InlineUserWidget.vue

Lines changed: 0 additions & 18 deletions
This file was deleted.

components/LoadingButton.vue

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<template>
2+
<button
3+
type="submit"
4+
class="inline-flex h-9 items-center justify-center rounded-md bg-blue-600 px-3 py-1.5 text-sm font-semibold leading-6 text-white shadow-sm hover:bg-blue-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-600"
5+
>
6+
<div v-if="props.loading" role="status">
7+
<svg
8+
aria-hidden="true"
9+
class="w-5 h-5 text-transparent animate-spin fill-white"
10+
viewBox="0 0 100 101"
11+
fill="none"
12+
xmlns="http://www.w3.org/2000/svg"
13+
>
14+
<path
15+
d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z"
16+
fill="currentColor"
17+
/>
18+
<path
19+
d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z"
20+
fill="currentFill"
21+
/>
22+
</svg>
23+
<span class="sr-only">Loading...</span>
24+
</div>
25+
<span v-else> <slot /> </span>
26+
</button>
27+
</template>
28+
29+
<script setup lang="ts">
30+
const props = defineProps<{ loading: boolean }>();
31+
</script>

components/PanelWidget.vue

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<template>
2+
<div class="flex rounded-sm px-2 py-2 bg-zinc-900 text-zinc-600">
3+
<slot />
4+
</div>
5+
</template>

components/UserFooter.vue

Lines changed: 25 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,18 @@
1818
<div class="mt-16 grid grid-cols-2 gap-8 xl:col-span-2 xl:mt-0">
1919
<div class="md:grid md:grid-cols-2 md:gap-8">
2020
<div>
21-
<h3 class="text-sm font-semibold leading-6 text-white">Solutions</h3>
21+
<h3 class="text-sm font-semibold leading-6 text-white">Games</h3>
2222
<ul role="list" class="mt-6 space-y-4">
23-
<li v-for="item in navigation.solutions" :key="item.name">
23+
<li v-for="item in navigation.games" :key="item.name">
2424
<a :href="item.href" class="text-sm leading-6 text-gray-300 hover:text-white">{{
2525
item.name }}</a>
2626
</li>
2727
</ul>
2828
</div>
2929
<div class="mt-10 md:mt-0">
30-
<h3 class="text-sm font-semibold leading-6 text-white">Support</h3>
30+
<h3 class="text-sm font-semibold leading-6 text-white">Community</h3>
3131
<ul role="list" class="mt-6 space-y-4">
32-
<li v-for="item in navigation.support" :key="item.name">
32+
<li v-for="item in navigation.community" :key="item.name">
3333
<a :href="item.href" class="text-sm leading-6 text-gray-300 hover:text-white">{{
3434
item.name }}</a>
3535
</li>
@@ -38,18 +38,18 @@
3838
</div>
3939
<div class="md:grid md:grid-cols-2 md:gap-8">
4040
<div>
41-
<h3 class="text-sm font-semibold leading-6 text-white">Company</h3>
41+
<h3 class="text-sm font-semibold leading-6 text-white">Documentation</h3>
4242
<ul role="list" class="mt-6 space-y-4">
43-
<li v-for="item in navigation.company" :key="item.name">
43+
<li v-for="item in navigation.documentation" :key="item.name">
4444
<a :href="item.href" class="text-sm leading-6 text-gray-300 hover:text-white">{{
4545
item.name }}</a>
4646
</li>
4747
</ul>
4848
</div>
4949
<div class="mt-10 md:mt-0">
50-
<h3 class="text-sm font-semibold leading-6 text-white">Legal</h3>
50+
<h3 class="text-sm font-semibold leading-6 text-white">About</h3>
5151
<ul role="list" class="mt-6 space-y-4">
52-
<li v-for="item in navigation.legal" :key="item.name">
52+
<li v-for="item in navigation.about" :key="item.name">
5353
<a :href="item.href" class="text-sm leading-6 text-gray-300 hover:text-white">{{
5454
item.name }}</a>
5555
</li>
@@ -67,29 +67,26 @@ import GithubLogo from './GithubLogo.vue';
6767
import DiscordLogo from './DiscordLogo.vue';
6868
6969
const navigation = {
70-
solutions: [
71-
{ name: 'Marketing', href: '#' },
72-
{ name: 'Analytics', href: '#' },
73-
{ name: 'Commerce', href: '#' },
74-
{ name: 'Insights', href: '#' },
70+
games: [
71+
{ name: 'Newly Added', href: '#' },
72+
{ name: 'New Releases', href: '#' },
73+
{ name: 'Top Sellers', href: '#' },
74+
{ name: 'Find a Game', href: '#' },
7575
],
76-
support: [
77-
{ name: 'Pricing', href: '#' },
78-
{ name: 'Documentation', href: '#' },
79-
{ name: 'Guides', href: '#' },
80-
{ name: 'API Status', href: '#' },
76+
community: [
77+
{ name: 'Friends', href: '#' },
78+
{ name: 'Groups', href: '#' },
79+
{ name: 'Servers', href: '#' },
8180
],
82-
company: [
83-
{ name: 'About', href: '#' },
84-
{ name: 'Blog', href: '#' },
85-
{ name: 'Jobs', href: '#' },
86-
{ name: 'Press', href: '#' },
87-
{ name: 'Partners', href: '#' },
81+
documentation: [
82+
{ name: 'API', href: '#' },
83+
{ name: 'Server Docs', href: '#' },
84+
{ name: 'Client Docs', href: '#' },
8885
],
89-
legal: [
90-
{ name: 'Claim', href: '#' },
91-
{ name: 'Privacy', href: '#' },
92-
{ name: 'Terms', href: '#' },
86+
about: [
87+
{ name: 'About Drop', href: '#' },
88+
{ name: 'Features', href: '#' },
89+
{ name: 'FAQ', href: '#' },
9390
],
9491
social: [
9592
{

components/UserHeader.vue

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<div class="grow inline-flex items-center gap-x-20">
44
<Wordmark class="h-8" />
55
<nav class="inline-flex items-center">
6-
<ol class="inline-flex items-center gap-x-12 mt-1">
6+
<ol class="inline-flex items-center gap-x-12">
77
<li class="transition text-gray-300 hover:text-gray-100 uppercase font-display font-semibold text-md"
88
v-for="(nav, navIdx) in navigation">
99
{{ nav.label }}
@@ -18,16 +18,15 @@
1818
<component class="h-5" :is="item.icon" />
1919
</InlineWidget>
2020
</li>
21-
<InlineUserWidget />
21+
<HeaderUserWidget />
2222
</ol>
2323
</div>
2424
</div>
2525
</template>
2626

2727
<script setup lang="ts">
2828
import { BellIcon, UserGroupIcon } from '@heroicons/vue/16/solid';
29-
import type { NavigationItem, QuickActionNav } from './types';
30-
29+
import type { NavigationItem, QuickActionNav } from '../composables/types';
3130
3231
const navigation: Array<NavigationItem> = [
3332
{

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy