feat: adiciona metadados de title e description

This commit is contained in:
2026-05-29 18:52:06 -05:00
parent f643a32a90
commit add4d4512a
14 changed files with 148 additions and 6 deletions

View File

@@ -98,6 +98,16 @@ import { z } from 'zod'
definePageMeta({ middleware: 'guest' }) definePageMeta({ middleware: 'guest' })
useHead({
title: 'Redefinir senha | GameVerse',
meta: [
{
name: 'description',
content: 'Defina uma nova senha de acesso usando o token de recuperação da conta GameVerse.'
}
]
})
const route = useRoute() const route = useRoute()
const { $toast } = useNuxtApp() const { $toast } = useNuxtApp()

View File

@@ -92,6 +92,16 @@ import { z } from 'zod'
definePageMeta({ middleware: 'guest' }) definePageMeta({ middleware: 'guest' })
useHead({
title: 'Criar conta | GameVerse',
meta: [
{
name: 'description',
content: 'Crie sua conta GameVerse de forma simples e rápida com email e senha.'
}
]
})
const { $toast } = useNuxtApp() const { $toast } = useNuxtApp()
const isLoading = ref(false) const isLoading = ref(false)

View File

@@ -96,6 +96,16 @@ import { z } from 'zod'
definePageMeta({ middleware: 'guest' }) definePageMeta({ middleware: 'guest' })
useHead({
title: 'Login | GameVerse',
meta: [
{
name: 'description',
content: 'Acesse sua conta GameVerse com email e senha.'
}
]
})
const { $toast } = useNuxtApp() const { $toast } = useNuxtApp()
const token = useCookie('token', { const token = useCookie('token', {

View File

@@ -78,6 +78,16 @@ import { z } from 'zod'
definePageMeta({ middleware: 'guest' }) definePageMeta({ middleware: 'guest' })
useHead({
title: 'Recuperar senha | GameVerse',
meta: [
{
name: 'description',
content: 'Informe seu email para iniciar a recuperação da senha da sua conta GameVerse.'
}
]
})
const { $toast } = useNuxtApp() const { $toast } = useNuxtApp()
const isLoading = ref(false) const isLoading = ref(false)

View File

@@ -298,6 +298,16 @@ definePageMeta({
layout: 'protected' layout: 'protected'
}) })
useHead({
title: 'Detalhes do jogo | GameVerse',
meta: [
{
name: 'description',
content: 'Consulte detalhes, informações e opções de gerenciamento de um jogo do catálogo.'
}
]
})
const CATALOG_API_BASE_URL = 'https://catalogo-jogos-sd-production.up.railway.app' const CATALOG_API_BASE_URL = 'https://catalogo-jogos-sd-production.up.railway.app'
const WISHLIST_API_BASE_URL = 'https://gameverse-wishlist-production.up.railway.app' const WISHLIST_API_BASE_URL = 'https://gameverse-wishlist-production.up.railway.app'

View File

@@ -180,6 +180,16 @@ definePageMeta({
layout: 'protected' layout: 'protected'
}) })
useHead({
title: 'Novo jogo | GameVerse',
meta: [
{
name: 'description',
content: 'Preencha os dados para adicionar um novo jogo ao catálogo GameVerse.'
}
]
})
const CATALOG_API_BASE_URL = 'https://catalogo-jogos-sd-production.up.railway.app' const CATALOG_API_BASE_URL = 'https://catalogo-jogos-sd-production.up.railway.app'
const { $toast } = useNuxtApp() const { $toast } = useNuxtApp()

View File

@@ -73,10 +73,10 @@
" @click="toggleFavorite(game)" " @click="toggleFavorite(game)"
class="absolute right-2 top-2 inline-flex h-8 w-8 items-center justify-center rounded-full bg-white/80 shadow backdrop-blur-sm transition hover:bg-white disabled:cursor-not-allowed disabled:opacity-50"> class="absolute right-2 top-2 inline-flex h-8 w-8 items-center justify-center rounded-full bg-white/80 shadow backdrop-blur-sm transition hover:bg-white disabled:cursor-not-allowed disabled:opacity-50">
<Icon :name="togglingId === game.title <Icon :name="togglingId === game.title
? 'mdi:loading' ? 'mdi:loading'
: favoriteIds.has(game.title) : favoriteIds.has(game.title)
? 'mdi:heart' ? 'mdi:heart'
: 'mdi:heart-outline' : 'mdi:heart-outline'
" :class="[ " :class="[
'text-base', 'text-base',
togglingId === game.title togglingId === game.title
@@ -161,6 +161,16 @@ definePageMeta({
layout: 'protected' layout: 'protected'
}) })
useHead({
title: 'Catálogo de jogos | GameVerse',
meta: [
{
name: 'description',
content: 'Explore o catálogo completo de jogos e filtre por gênero e plataforma.'
}
]
})
const CATALOG_API_BASE_URL = 'https://catalogo-jogos-sd-production.up.railway.app' const CATALOG_API_BASE_URL = 'https://catalogo-jogos-sd-production.up.railway.app'
const WISHLIST_API_BASE_URL = 'https://gameverse-wishlist-production.up.railway.app' const WISHLIST_API_BASE_URL = 'https://gameverse-wishlist-production.up.railway.app'

View File

@@ -59,6 +59,16 @@ definePageMeta({
layout: 'protected' layout: 'protected'
}) })
useHead({
title: 'Dados da conta | GameVerse',
meta: [
{
name: 'description',
content: 'Consulte os dados retornados pelo perfil da sua sessão atual no GameVerse.'
}
]
})
const { $toast } = useNuxtApp() const { $toast } = useNuxtApp()
const token = useCookie('token', { const token = useCookie('token', {

View File

@@ -79,7 +79,7 @@
:class="['text-sm', removingId === game.game_id && 'animate-spin']" /> :class="['text-sm', removingId === game.game_id && 'animate-spin']" />
<span class="hidden sm:inline">{{ <span class="hidden sm:inline">{{
removingId === game.game_id ? 'Removendo...' : 'Remover' removingId === game.game_id ? 'Removendo...' : 'Remover'
}}</span> }}</span>
</button> </button>
</li> </li>
</ul> </ul>
@@ -107,6 +107,16 @@ definePageMeta({
layout: 'protected' layout: 'protected'
}) })
useHead({
title: 'Favoritos | GameVerse',
meta: [
{
name: 'description',
content: 'Gerencie os jogos que você salvou como favoritos no GameVerse.'
}
]
})
const WISHLIST_API_BASE_URL = 'https://gameverse-wishlist-production.up.railway.app' const WISHLIST_API_BASE_URL = 'https://gameverse-wishlist-production.up.railway.app'
const { $toast } = useNuxtApp() const { $toast } = useNuxtApp()

View File

@@ -152,7 +152,7 @@
<div class="flex min-w-0 flex-wrap items-center gap-3"> <div class="flex min-w-0 flex-wrap items-center gap-3">
<span class="text-[15px] font-medium text-[#292524]">{{ <span class="text-[15px] font-medium text-[#292524]">{{
formatCurrency(card.balance) formatCurrency(card.balance)
}}</span> }}</span>
<span class="inline-flex rounded-full px-2.5 py-1 text-xs font-semibold uppercase" :class="card.is_active <span class="inline-flex rounded-full px-2.5 py-1 text-xs font-semibold uppercase" :class="card.is_active
? 'bg-[rgba(167,229,211,0.62)] text-[#0c0a09]' ? 'bg-[rgba(167,229,211,0.62)] text-[#0c0a09]'
: 'bg-[#f0efed] text-[#777169]' : 'bg-[#f0efed] text-[#777169]'
@@ -190,6 +190,16 @@ definePageMeta({
layout: 'protected' layout: 'protected'
}) })
useHead({
title: 'Gift Cards | GameVerse',
meta: [
{
name: 'description',
content: 'Crie cartões, consulte saldo por código e realize resgates com segurança.'
}
]
})
const GIFT_CARD_API_BASE_URL = 'https://giftcardapipedro-production.up.railway.app/api' const GIFT_CARD_API_BASE_URL = 'https://giftcardapipedro-production.up.railway.app/api'
const { $toast } = useNuxtApp() const { $toast } = useNuxtApp()

View File

@@ -274,6 +274,17 @@ definePageMeta({
layout: 'protected' layout: 'protected'
}) })
useHead({
title: 'Home | GameVerse',
meta: [
{
name: 'description',
content:
'Acompanhe sua sessão, ranking semanal, favoritos, catálogo, gift cards e perfil gamer em um só lugar.'
}
]
})
const RANKINGS_API_BASE_URL = 'https://api-ranking-jogos-production.up.railway.app/api/v1' const RANKINGS_API_BASE_URL = 'https://api-ranking-jogos-production.up.railway.app/api/v1'
const WISHLIST_API_BASE_URL = 'https://gameverse-wishlist-production.up.railway.app' const WISHLIST_API_BASE_URL = 'https://gameverse-wishlist-production.up.railway.app'
const CATALOG_API_BASE_URL = 'https://catalogo-jogos-sd-production.up.railway.app' const CATALOG_API_BASE_URL = 'https://catalogo-jogos-sd-production.up.railway.app'

View File

@@ -136,6 +136,16 @@ definePageMeta({
layout: 'protected' layout: 'protected'
}) })
useHead({
title: 'Perfil gamer | GameVerse',
meta: [
{
name: 'description',
content: 'Gerencie seu apelido, bio, país e preferências de plataformas e jogos.'
}
]
})
const PERFIL_GAMER_API_BASE_URL = 'https://perfilgameredivaldo-production.up.railway.app/api' const PERFIL_GAMER_API_BASE_URL = 'https://perfilgameredivaldo-production.up.railway.app/api'
const { $toast } = useNuxtApp() const { $toast } = useNuxtApp()

View File

@@ -146,6 +146,16 @@ definePageMeta({
layout: 'protected' layout: 'protected'
}) })
useHead({
title: 'Ranking de jogos | GameVerse',
meta: [
{
name: 'description',
content: 'Acompanhe jogos por período, plataforma e volume de jogadores ativos.'
}
]
})
const RANKINGS_API_BASE_URL = 'https://api-ranking-jogos-production.up.railway.app/api/v1' const RANKINGS_API_BASE_URL = 'https://api-ranking-jogos-production.up.railway.app/api/v1'
const WISHLIST_API_BASE_URL = 'https://gameverse-wishlist-production.up.railway.app' const WISHLIST_API_BASE_URL = 'https://gameverse-wishlist-production.up.railway.app'

View File

@@ -215,6 +215,17 @@
</template> </template>
<script setup> <script setup>
useHead({
title: 'GameVerse | Sistema Distribuído Gamer',
meta: [
{
name: 'description',
content:
'Plataforma integrada para descobrir jogos, acompanhar rankings, salvar favoritos, montar perfil gamer e gerenciar gift cards.'
}
]
})
const token = useCookie('token') const token = useCookie('token')
const hasToken = computed(() => Boolean(token.value)) const hasToken = computed(() => Boolean(token.value))