style: ajusta responsividade geral do projeto
This commit is contained in:
@@ -1,20 +1,20 @@
|
||||
<template>
|
||||
<div
|
||||
class="relative min-h-[calc(100vh-66px)] overflow-hidden bg-[#f5f5f5] px-4 py-10 font-sans text-[#0c0a09] md:px-8 md:py-16">
|
||||
class="relative min-h-[calc(100vh-66px)] overflow-x-hidden bg-[#f5f5f5] px-3 py-8 font-sans text-[#0c0a09] sm:px-4 md:px-6 md:py-12 xl:px-8 xl:py-16">
|
||||
<div
|
||||
class="pointer-events-none absolute left-1/2 top-8 h-[500px] w-[min(94vw,900px)] -translate-x-1/2 rounded-[48px] bg-[radial-gradient(circle_at_18%_28%,rgba(167,229,211,0.62),transparent_28%),radial-gradient(circle_at_76%_22%,rgba(244,197,168,0.5),transparent_30%),radial-gradient(circle_at_54%_82%,rgba(168,200,232,0.56),transparent_34%)] blur-2xl"
|
||||
aria-hidden="true"></div>
|
||||
|
||||
<main class="relative mx-auto grid w-full max-w-[1180px] gap-8" aria-labelledby="home-title">
|
||||
<section class="grid gap-6 lg:grid-cols-[minmax(0,1.45fr)_minmax(300px,0.55fr)] lg:items-stretch">
|
||||
<div class="grid gap-6">
|
||||
<main class="relative mx-auto grid w-full min-w-0 max-w-[1180px] gap-6 md:gap-8" aria-labelledby="home-title">
|
||||
<section class="grid min-w-0 gap-6 2xl:grid-cols-[minmax(0,1.45fr)_minmax(300px,0.55fr)] 2xl:items-stretch">
|
||||
<div class="grid min-w-0 gap-6">
|
||||
<header>
|
||||
<p
|
||||
class="m-0 inline-flex rounded-full bg-[rgba(167,229,211,0.62)] px-3 py-1 text-xs font-semibold uppercase leading-[1.4] tracking-[0.96px] text-[#0c0a09]">
|
||||
Dashboard
|
||||
</p>
|
||||
<h1 id="home-title"
|
||||
class="my-5 max-w-[760px] break-words font-serif text-[40px] font-light leading-[1.05] tracking-[-1.2px] text-[#0c0a09] md:text-[60px] md:tracking-[-1.6px]">
|
||||
class="my-5 max-w-[760px] break-words font-serif text-[34px] font-light leading-[1.05] tracking-[-1.2px] text-[#0c0a09] sm:text-[40px] md:text-[52px] xl:text-[60px] xl:tracking-[-1.6px]">
|
||||
Olá, {{ userName }}.
|
||||
</h1>
|
||||
<p class="m-0 max-w-[620px] text-base font-normal leading-6 tracking-[0.16px] text-[#4e4e4e]">
|
||||
@@ -23,9 +23,9 @@
|
||||
</p>
|
||||
</header>
|
||||
|
||||
<div class="grid gap-4 sm:grid-cols-2 xl:grid-cols-4">
|
||||
<div class="grid min-w-0 gap-4 md:grid-cols-2 2xl:grid-cols-4">
|
||||
<NuxtLink v-for="card in dashboardCards" :key="card.label" :to="card.to"
|
||||
class="grid min-h-[156px] content-between rounded-2xl border border-[#e7e5e4] bg-white p-5 shadow-[0_4px_16px_rgba(0,0,0,0.04)] transition hover:border-[#d6d3d1] hover:shadow-[0_8px_24px_rgba(0,0,0,0.07)]">
|
||||
class="grid min-h-[156px] min-w-0 content-between rounded-2xl border border-[#e7e5e4] bg-white p-4 shadow-[0_4px_16px_rgba(0,0,0,0.04)] transition hover:border-[#d6d3d1] hover:shadow-[0_8px_24px_rgba(0,0,0,0.07)] sm:p-5">
|
||||
<div class="flex items-center justify-between gap-3">
|
||||
<span class="inline-flex h-10 w-10 items-center justify-center rounded-xl" :class="card.accent">
|
||||
<Icon :name="card.icon" class="text-xl text-[#0c0a09]" />
|
||||
@@ -37,7 +37,8 @@
|
||||
<p class="m-0 text-xs font-semibold uppercase leading-[1.4] tracking-[0.96px] text-[#777169]">
|
||||
{{ card.label }}
|
||||
</p>
|
||||
<strong class="break-words text-[22px] font-medium leading-[1.18] tracking-[0.16px] text-[#0c0a09]">
|
||||
<strong
|
||||
class="min-w-0 break-words text-[22px] font-medium leading-[1.18] tracking-[0.16px] text-[#0c0a09]">
|
||||
{{ card.value }}
|
||||
</strong>
|
||||
<p class="m-0 text-[13px] leading-[1.5] tracking-[0.13px] text-[#777169]">
|
||||
@@ -84,9 +85,9 @@
|
||||
</aside>
|
||||
</section>
|
||||
|
||||
<section class="grid gap-8 lg:grid-cols-[minmax(0,1.35fr)_minmax(320px,0.65fr)]">
|
||||
<section class="grid min-w-0 gap-6 md:gap-8 2xl:grid-cols-[minmax(0,1.35fr)_minmax(320px,0.65fr)]">
|
||||
<article
|
||||
class="grid gap-6 rounded-2xl border border-[#e7e5e4] bg-white p-6 shadow-[0_4px_16px_rgba(0,0,0,0.04)] md:p-8"
|
||||
class="grid min-w-0 gap-6 rounded-2xl border border-[#e7e5e4] bg-white p-4 shadow-[0_4px_16px_rgba(0,0,0,0.04)] sm:p-5 md:p-6 xl:p-8"
|
||||
aria-labelledby="weekly-ranking-title">
|
||||
<div class="flex flex-col gap-4 sm:flex-row sm:items-end sm:justify-between">
|
||||
<div>
|
||||
@@ -101,8 +102,8 @@
|
||||
</div>
|
||||
|
||||
<NuxtLink to="/ranking-jogos"
|
||||
class="inline-flex h-10 w-fit items-center justify-center gap-2 rounded-full border border-[#d6d3d1] bg-transparent px-5 text-[15px] font-medium leading-none text-[#0c0a09] transition hover:border-[#0c0a09]">
|
||||
Ver ranking completo
|
||||
class="inline-flex min-h-10 w-full min-w-0 items-center justify-center gap-2 rounded-full border border-[#d6d3d1] bg-transparent px-5 py-2 text-center text-[15px] font-medium leading-[1.2] text-[#0c0a09] transition hover:border-[#0c0a09] sm:w-fit">
|
||||
<span class="min-w-0 break-words">Ver ranking completo</span>
|
||||
<Icon name="mdi:arrow-right" class="text-base" />
|
||||
</NuxtLink>
|
||||
</div>
|
||||
@@ -119,25 +120,28 @@
|
||||
|
||||
<ol v-else-if="ranking.items.length" class="grid overflow-hidden rounded-xl border border-[#e7e5e4]">
|
||||
<li v-for="(game, index) in ranking.items.slice(0, 5)" :key="game.id ?? game.name"
|
||||
class="grid gap-3 border-b border-[#e7e5e4] bg-white p-4 last:border-b-0 sm:grid-cols-[56px_minmax(0,1fr)_minmax(120px,auto)_minmax(120px,auto)] sm:items-center">
|
||||
class="flex min-w-0 flex-col gap-3 border-b border-[#e7e5e4] bg-white p-4 last:border-b-0 sm:flex-row sm:items-center">
|
||||
<span
|
||||
class="inline-flex h-9 w-9 items-center justify-center rounded-full bg-[#292524] text-[15px] font-medium leading-none text-white">
|
||||
class="inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-[#292524] text-[15px] font-medium leading-none text-white">
|
||||
{{ index + 1 }}
|
||||
</span>
|
||||
<div class="min-w-0">
|
||||
<strong class="block break-words text-base font-medium leading-6 tracking-[0.16px] text-[#0c0a09]">
|
||||
<div class="min-w-0 flex-1">
|
||||
<strong
|
||||
class="block min-w-0 break-words text-base font-medium leading-6 tracking-[0.16px] text-[#0c0a09]">
|
||||
{{ game.name }}
|
||||
</strong>
|
||||
<span class="text-[13px] leading-[1.5] tracking-[0.13px] text-[#777169]">
|
||||
{{ game.platform ?? 'Plataforma não informada' }}
|
||||
</span>
|
||||
</div>
|
||||
<span class="text-[15px] leading-[1.47] tracking-[0.15px] text-[#292524]">
|
||||
{{ formatNumber(game.active_players) }} jogadores
|
||||
</span>
|
||||
<span class="text-[15px] leading-[1.47] tracking-[0.15px] text-[#292524]">
|
||||
{{ formatNumber(game.weekly_points) }} pts
|
||||
</span>
|
||||
<div class="flex min-w-0 flex-wrap gap-x-4 gap-y-1 sm:justify-end">
|
||||
<span class="whitespace-nowrap text-[15px] leading-[1.47] tracking-[0.15px] text-[#292524]">
|
||||
{{ formatNumber(game.active_players) }} jogadores
|
||||
</span>
|
||||
<span class="whitespace-nowrap text-[15px] leading-[1.47] tracking-[0.15px] text-[#292524]">
|
||||
{{ formatNumber(game.weekly_points) }} pts
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
@@ -147,9 +151,9 @@
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<aside class="grid gap-4">
|
||||
<aside class="grid min-w-0 gap-4">
|
||||
<article
|
||||
class="grid gap-4 rounded-2xl border border-[#e7e5e4] bg-white p-6 shadow-[0_4px_16px_rgba(0,0,0,0.04)]"
|
||||
class="grid min-w-0 gap-4 rounded-2xl border border-[#e7e5e4] bg-white p-4 shadow-[0_4px_16px_rgba(0,0,0,0.04)] sm:p-5 md:p-6"
|
||||
aria-labelledby="profile-gamer-summary">
|
||||
<div class="flex items-start justify-between gap-3">
|
||||
<div>
|
||||
@@ -184,13 +188,13 @@
|
||||
</div>
|
||||
|
||||
<NuxtLink to="/perfil-gamer"
|
||||
class="inline-flex h-10 items-center justify-center rounded-full border border-[#d6d3d1] bg-transparent px-5 text-[15px] font-medium leading-none text-[#0c0a09] transition hover:border-[#0c0a09]">
|
||||
class="inline-flex min-h-10 min-w-0 items-center justify-center rounded-full border border-[#d6d3d1] bg-transparent px-5 py-2 text-center text-[15px] font-medium leading-[1.2] text-[#0c0a09] transition hover:border-[#0c0a09]">
|
||||
Abrir perfil gamer
|
||||
</NuxtLink>
|
||||
</article>
|
||||
|
||||
<article
|
||||
class="grid gap-4 rounded-2xl border border-[#e7e5e4] bg-white p-6 shadow-[0_4px_16px_rgba(0,0,0,0.04)]"
|
||||
class="grid min-w-0 gap-4 rounded-2xl border border-[#e7e5e4] bg-white p-4 shadow-[0_4px_16px_rgba(0,0,0,0.04)] sm:p-5 md:p-6"
|
||||
aria-labelledby="shortcuts-title">
|
||||
<div>
|
||||
<span
|
||||
@@ -205,21 +209,21 @@
|
||||
|
||||
<div class="grid gap-2">
|
||||
<NuxtLink v-for="shortcut in shortcuts" :key="shortcut.to" :to="shortcut.to"
|
||||
class="flex min-h-11 items-center justify-between gap-3 rounded-xl border border-[#e7e5e4] px-4 text-[15px] font-medium leading-[1.47] tracking-[0.15px] text-[#0c0a09] transition hover:border-[#0c0a09]">
|
||||
<span class="inline-flex items-center gap-2">
|
||||
<Icon :name="shortcut.icon" class="text-base text-[#777169]" />
|
||||
class="flex min-h-11 min-w-0 items-center justify-between gap-3 rounded-xl border border-[#e7e5e4] px-4 text-[15px] font-medium leading-[1.47] tracking-[0.15px] text-[#0c0a09] transition hover:border-[#0c0a09]">
|
||||
<span class="inline-flex min-w-0 items-center gap-2">
|
||||
<Icon :name="shortcut.icon" class="shrink-0 text-base text-[#777169]" />
|
||||
{{ shortcut.label }}
|
||||
</span>
|
||||
<Icon name="mdi:arrow-right" class="text-base text-[#777169]" />
|
||||
<Icon name="mdi:arrow-right" class="shrink-0 text-base text-[#777169]" />
|
||||
</NuxtLink>
|
||||
</div>
|
||||
</article>
|
||||
</aside>
|
||||
</section>
|
||||
|
||||
<section class="grid gap-4 md:grid-cols-3" aria-label="Prévia dos serviços">
|
||||
<section class="grid min-w-0 gap-4 xl:grid-cols-3" aria-label="Prévia dos serviços">
|
||||
<article v-for="service in servicePreviews" :key="service.title"
|
||||
class="grid gap-4 rounded-2xl border border-[#e7e5e4] bg-white p-6 shadow-[0_4px_16px_rgba(0,0,0,0.04)]">
|
||||
class="grid min-w-0 gap-4 rounded-2xl border border-[#e7e5e4] bg-white p-4 shadow-[0_4px_16px_rgba(0,0,0,0.04)] sm:p-5 md:p-6">
|
||||
<div class="flex items-start justify-between gap-3">
|
||||
<div>
|
||||
<span
|
||||
|
||||
Reference in New Issue
Block a user