11<script setup lang="ts">
22import { Github , Shield , Database , Users , Briefcase , ArrowRight } from ' lucide-vue-next'
33
4+ const { t } = useI18n ()
45const localePath = useLocalePath ()
56const { data : session } = await authClient .useSession (useFetch )
67
7- const pillars = [
8- { icon: Database , label: ' Your data ' , desc: ' Postgres + MinIO on your infrastructure. Nothing leaves your network. ' },
9- { icon: Shield , label: ' Fully auditable' , desc: ' Open source — every line of matching logic is visible and overridable. ' },
10- { icon: Users , label: ' Unlimited seats ' , desc: ' Add your whole hiring team. No per-seat pricing, ever. ' },
11- ]
8+ const pillars = computed (() => [
9+ { icon: Database , label: t ( ' home.pillars.yourData.label ' ) , desc: t ( ' home.pillars.yourData.desc ' ) },
10+ { icon: Shield , label: t ( ' home.pillars. auditable.label ' ) , desc: t ( ' home.pillars.auditable.desc ' ) },
11+ { icon: Users , label: t ( ' home.pillars.unlimitedSeats.label ' ) , desc: t ( ' home.pillars.unlimitedSeats.desc ' ) },
12+ ])
1213
1314useHead ({ title: ' Reqcore' })
1415definePageMeta ({ layout: false })
@@ -28,15 +29,15 @@ definePageMeta({ layout: false })
2829 <!-- ── Hero ── -->
2930 <div class =" flex flex-col items-center text-center" >
3031 <h1 class =" hero-animate hero-delay-1 text-5xl font-bold leading-[1.1] tracking-tight sm:text-6xl lg:text-7xl" >
31- Your hiring.
32+ {{ $t('home.hero.titleLine1') }}
3233 <br />
3334 <span class =" bg-gradient-to-r from-brand-400 to-accent-400 bg-clip-text text-transparent" >
34- Your infrastructure.
35+ {{ $t('home.hero.titleHighlight') }}
3536 </span >
3637 </h1 >
3738
3839 <p class =" hero-animate hero-delay-2 mt-6 max-w-md text-base leading-relaxed text-surface-400 sm:text-lg" >
39- Open-source applicant tracking built for teams that self-host.
40+ {{ $t('home.hero.subtitle') }}
4041 </p >
4142
4243 <div class =" hero-animate hero-delay-3 mt-10 flex flex-wrap items-center justify-center gap-3" >
@@ -45,22 +46,22 @@ definePageMeta({ layout: false })
4546 :to =" localePath('/dashboard')"
4647 class =" group flex items-center gap-2 rounded-lg bg-white px-6 py-3 text-[14px] font-semibold text-[#09090b] transition hover:bg-white/90"
4748 >
48- Go to Dashboard
49+ {{ $t('home.hero.goToDashboard') }}
4950 <ArrowRight class =" h-4 w-4 transition-transform group-hover:translate-x-0.5" />
5051 </NuxtLink >
5152 <template v-else >
5253 <NuxtLink
5354 :to =" localePath('/auth/sign-in')"
5455 class =" group flex items-center gap-2 rounded-lg bg-white px-6 py-3 text-[14px] font-semibold text-[#09090b] transition hover:bg-white/90"
5556 >
56- Sign in
57+ {{ $t('home.hero.signIn') }}
5758 <ArrowRight class =" h-4 w-4 transition-transform group-hover:translate-x-0.5" />
5859 </NuxtLink >
5960 <NuxtLink
6061 :to =" localePath('/auth/sign-up')"
6162 class =" rounded-lg border border-white/[0.08] bg-white/[0.03] px-6 py-3 text-[14px] font-medium text-surface-300 transition hover:border-white/[0.14] hover:bg-white/[0.06]"
6263 >
63- Create account
64+ {{ $t('home.hero.createAccount') }}
6465 </NuxtLink >
6566 </template >
6667 </div >
@@ -89,18 +90,18 @@ definePageMeta({ layout: false })
8990 class =" flex items-center gap-1.5 text-[13px] text-surface-500 transition hover:text-surface-300"
9091 >
9192 <Github class =" h-4 w-4" />
92- Source
93+ {{ $t('home.footer.source') }}
9394 </a >
9495 <NuxtLink
9596 :to =" localePath('/jobs')"
9697 class =" flex items-center gap-1.5 text-[13px] text-surface-500 transition hover:text-surface-300"
9798 >
9899 <Briefcase class =" h-3.5 w-3.5" />
99- Open Positions
100+ {{ $t('home.nav.openPositions') }}
100101 </NuxtLink >
101102 </div >
102103 <p class =" text-[12px] text-surface-600" >
103- Reqcore — open-source applicant tracking
104+ {{ $t('home.footer.tagline') }}
104105 </p >
105106 </footer >
106107 </main >
0 commit comments