feat: add LandingHeader component with dynamic scroll-triggered styling, navigation links, and authentication-based action buttons.
This commit is contained in:
parent
108f1b73f2
commit
41089dd5ea
1 changed files with 29 additions and 5 deletions
|
|
@ -37,8 +37,18 @@ onMounted(() => {
|
|||
E
|
||||
</div>
|
||||
<div class="flex flex-col">
|
||||
<span class="font-black text-lg leading-none tracking-tight text-white group-hover:text-blue-400 transition-colors">E-Learning</span>
|
||||
<span class="text-[10px] font-bold text-slate-500 uppercase tracking-[0.2em] leading-none mt-1">Platform</span>
|
||||
<span
|
||||
class="font-black text-lg leading-none tracking-tight transition-colors"
|
||||
:class="[isScrolled ? 'text-white' : 'text-slate-900 group-hover:text-blue-600']"
|
||||
>
|
||||
E-Learning
|
||||
</span>
|
||||
<span
|
||||
class="text-[10px] font-bold uppercase tracking-[0.2em] leading-none mt-1 transition-colors"
|
||||
:class="[isScrolled ? 'text-slate-400' : 'text-slate-500']"
|
||||
>
|
||||
Platform
|
||||
</span>
|
||||
</div>
|
||||
</NuxtLink>
|
||||
|
||||
|
|
@ -46,13 +56,21 @@ onMounted(() => {
|
|||
<nav class="hidden md:block">
|
||||
<ul class="flex items-center gap-8 text-sm font-bold">
|
||||
<li>
|
||||
<NuxtLink to="/browse" class="text-slate-400 hover:text-white transition-colors relative group">
|
||||
<NuxtLink
|
||||
to="/browse"
|
||||
class="transition-colors relative group"
|
||||
:class="[isScrolled ? 'text-slate-400 hover:text-white' : 'text-slate-600 hover:text-blue-600']"
|
||||
>
|
||||
{{ $t('landing.allCourses') }}
|
||||
<span class="absolute -bottom-1 left-0 w-0 h-0.5 bg-blue-600 transition-all group-hover:w-full"/>
|
||||
</NuxtLink>
|
||||
</li>
|
||||
<li>
|
||||
<NuxtLink to="/browse/discovery" class="text-slate-400 hover:text-white transition-colors relative group">
|
||||
<NuxtLink
|
||||
to="/browse/discovery"
|
||||
class="transition-colors relative group"
|
||||
:class="[isScrolled ? 'text-slate-400 hover:text-white' : 'text-slate-600 hover:text-blue-600']"
|
||||
>
|
||||
{{ $t('landing.discovery') }}
|
||||
<span class="absolute -bottom-1 left-0 w-0 h-0.5 bg-blue-600 transition-all group-hover:w-full"/>
|
||||
</NuxtLink>
|
||||
|
|
@ -66,7 +84,13 @@ onMounted(() => {
|
|||
-->
|
||||
<div class="flex items-center gap-4">
|
||||
<template v-if="!isAuthenticated">
|
||||
<NuxtLink to="/auth/login" class="text-sm font-bold text-slate-300 hover:text-white px-4 py-2 transition-colors">{{ $t('auth.login') }}</NuxtLink>
|
||||
<NuxtLink
|
||||
to="/auth/login"
|
||||
class="text-sm font-bold px-4 py-2 transition-colors"
|
||||
:class="[isScrolled ? 'text-slate-300 hover:text-white' : 'text-slate-600 hover:text-blue-600']"
|
||||
>
|
||||
{{ $t('auth.login') }}
|
||||
</NuxtLink>
|
||||
<NuxtLink to="/auth/register" class="btn-primary-premium shadow-lg shadow-blue-600/20">
|
||||
{{ $t('auth.getStarted') }}
|
||||
</NuxtLink>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue