update logo icon; modify title
BIN
public/aio.png
|
Before Width: | Height: | Size: 330 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 240 KiB |
|
Before Width: | Height: | Size: 325 KiB After Width: | Height: | Size: 662 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 241 KiB After Width: | Height: | Size: 346 KiB |
|
Before Width: | Height: | Size: 564 KiB |
|
Before Width: | Height: | Size: 4.5 MiB After Width: | Height: | Size: 5.2 MiB |
BIN
src/assets/logo-72px.png
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
|
|
@ -5,7 +5,7 @@ import { useTheme } from '@/components/theme-provider'
|
||||||
import { Button } from '@/components/ui/button'
|
import { Button } from '@/components/ui/button'
|
||||||
import { Badge } from '@/components/ui/badge'
|
import { Badge } from '@/components/ui/badge'
|
||||||
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'
|
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'
|
||||||
import { Zap, Sun, Moon, Menu, X, User, Key, LogOut } from 'lucide-vue-next'
|
import { Sun, Moon, Menu, X, User, Key, LogOut } from 'lucide-vue-next'
|
||||||
import LanguageSwitcher from '@/components/LanguageSwitcher.vue'
|
import LanguageSwitcher from '@/components/LanguageSwitcher.vue'
|
||||||
import IdentityDialog from '@/components/nostr/IdentityDialog.vue'
|
import IdentityDialog from '@/components/nostr/IdentityDialog.vue'
|
||||||
import { identity } from '@/composables/useIdentity'
|
import { identity } from '@/composables/useIdentity'
|
||||||
|
|
@ -48,7 +48,8 @@ const openIdentityDialog = () => {
|
||||||
<!-- Logo and Desktop Navigation -->
|
<!-- Logo and Desktop Navigation -->
|
||||||
<div class="flex items-center gap-6">
|
<div class="flex items-center gap-6">
|
||||||
<router-link to="/" class="flex items-center gap-2 text-foreground hover:text-foreground/90">
|
<router-link to="/" class="flex items-center gap-2 text-foreground hover:text-foreground/90">
|
||||||
<Zap class="h-6 w-6" :class="theme === 'dark' ? 'text-orange-400' : 'text-fuchsia-600'" />
|
<img src="@/assets/logo-72px.png" alt="Logo" class="h-14 -14" />
|
||||||
|
<!-- srcset="@/assets/logo-24px.png 1x, @/assets/logo-48px.png 2x, @/assets/logo-72px.png 3x" -->
|
||||||
<span class="font-semibold">{{ t('nav.title') }}</span>
|
<span class="font-semibold">{{ t('nav.title') }}</span>
|
||||||
</router-link>
|
</router-link>
|
||||||
|
|
||||||
|
|
@ -126,7 +127,8 @@ const openIdentityDialog = () => {
|
||||||
<div class="space-y-1 p-4">
|
<div class="space-y-1 p-4">
|
||||||
<!-- Identity in mobile menu -->
|
<!-- Identity in mobile menu -->
|
||||||
<div class="mb-4 px-2">
|
<div class="mb-4 px-2">
|
||||||
<Button v-if="!identity.isAuthenticated.value" variant="outline" size="sm" @click="openIdentityDialog" class="w-full gap-2 min-h-[44px] touch-manipulation">
|
<Button v-if="!identity.isAuthenticated.value" variant="outline" size="sm" @click="openIdentityDialog"
|
||||||
|
class="w-full gap-2 min-h-[44px] touch-manipulation">
|
||||||
<User class="h-4 w-4" />
|
<User class="h-4 w-4" />
|
||||||
Connect Identity
|
Connect Identity
|
||||||
</Button>
|
</Button>
|
||||||
|
|
@ -141,7 +143,8 @@ const openIdentityDialog = () => {
|
||||||
<User class="h-4 w-4" />
|
<User class="h-4 w-4" />
|
||||||
Profile
|
Profile
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="ghost" size="sm" @click="identity.signOut(); isOpen = false" class="w-full justify-start gap-2 text-destructive">
|
<Button variant="ghost" size="sm" @click="identity.signOut(); isOpen = false"
|
||||||
|
class="w-full justify-start gap-2 text-destructive">
|
||||||
<LogOut class="h-4 w-4" />
|
<LogOut class="h-4 w-4" />
|
||||||
Sign Out
|
Sign Out
|
||||||
</Button>
|
</Button>
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@ import type { LocaleMessages } from '../types'
|
||||||
|
|
||||||
const messages: LocaleMessages = {
|
const messages: LocaleMessages = {
|
||||||
nav: {
|
nav: {
|
||||||
title: 'Application Title',
|
|
||||||
home: 'Home',
|
home: 'Home',
|
||||||
|
title: 'Virtual Realm',
|
||||||
directory: 'Directory',
|
directory: 'Directory',
|
||||||
faq: 'FAQ',
|
faq: 'FAQ',
|
||||||
support: 'Support',
|
support: 'Support',
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,7 @@ function handlePurchaseClick(event: {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<TabsContent value="upcoming">
|
<TabsContent value="upcoming">
|
||||||
|
{{ upcomingEvents }}
|
||||||
<ScrollArea class="h-[600px] w-full pr-4" v-if="upcomingEvents.length">
|
<ScrollArea class="h-[600px] w-full pr-4" v-if="upcomingEvents.length">
|
||||||
<div class="grid gap-4 md:grid-cols-2 lg:grid-cols-3">
|
<div class="grid gap-4 md:grid-cols-2 lg:grid-cols-3">
|
||||||
<Card v-for="event in upcomingEvents" :key="event.id" class="flex flex-col">
|
<Card v-for="event in upcomingEvents" :key="event.id" class="flex flex-col">
|
||||||
|
|
@ -83,12 +84,8 @@ function handlePurchaseClick(event: {
|
||||||
</div>
|
</div>
|
||||||
</CardContent>
|
</CardContent>
|
||||||
<CardFooter>
|
<CardFooter>
|
||||||
<Button
|
<Button class="w-full" variant="default" :disabled="event.amount_tickets <= event.sold"
|
||||||
class="w-full"
|
@click="handlePurchaseClick(event)">
|
||||||
variant="default"
|
|
||||||
:disabled="event.amount_tickets <= event.sold"
|
|
||||||
@click="handlePurchaseClick(event)"
|
|
||||||
>
|
|
||||||
Buy Ticket
|
Buy Ticket
|
||||||
</Button>
|
</Button>
|
||||||
</CardFooter>
|
</CardFooter>
|
||||||
|
|
@ -137,10 +134,6 @@ function handlePurchaseClick(event: {
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
<PurchaseTicketDialog
|
<PurchaseTicketDialog v-if="selectedEvent" :event="selectedEvent" v-model:is-open="showPurchaseDialog" />
|
||||||
v-if="selectedEvent"
|
|
||||||
:event="selectedEvent"
|
|
||||||
v-model:is-open="showPurchaseDialog"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||