polish: nav scroll threshold, footer cleanup, hero gradient
- Nav: trigger solid background at 10px scroll (was 100px) to prevent logo/text overlap - Footer: copyright uses legal name "LetsBe Solutions LLC" - Footer: location changed to "American-founded. Serving the Côte d'Azur and beyond." - Footer: remove GitHub social link (no public GitHub) - Hero: smooth gradient fade into trust bar section (no hard color gap) - Services: "SEO & Digital Marketing" replaces "SEO & Performance" Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -51,11 +51,6 @@ const SOCIAL_LINKS = [
|
|||||||
href: 'https://www.linkedin.com/company/letsbe-digital',
|
href: 'https://www.linkedin.com/company/letsbe-digital',
|
||||||
Icon: LinkedInIcon,
|
Icon: LinkedInIcon,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
label: 'GitHub',
|
|
||||||
href: 'https://github.com/letsbe-digital',
|
|
||||||
Icon: GitHubIcon,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: 'X',
|
label: 'X',
|
||||||
href: 'https://x.com/letsbe_digital',
|
href: 'https://x.com/letsbe_digital',
|
||||||
@@ -208,7 +203,7 @@ export default function Footer() {
|
|||||||
<div className="mx-auto max-w-7xl px-6 lg:px-8 py-6">
|
<div className="mx-auto max-w-7xl px-6 lg:px-8 py-6">
|
||||||
<div className="flex flex-col sm:flex-row items-start sm:items-center justify-between gap-3">
|
<div className="flex flex-col sm:flex-row items-start sm:items-center justify-between gap-3">
|
||||||
<p className="text-xs text-on-surface/35">
|
<p className="text-xs text-on-surface/35">
|
||||||
© {currentYear} LetsBe. Digital Studio
|
© {currentYear} LetsBe Solutions LLC
|
||||||
</p>
|
</p>
|
||||||
<ul className="flex items-center gap-5" role="list">
|
<ul className="flex items-center gap-5" role="list">
|
||||||
<li>
|
<li>
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ export default function Nav() {
|
|||||||
const t = useTranslations('nav')
|
const t = useTranslations('nav')
|
||||||
const pathname = usePathname()
|
const pathname = usePathname()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const scrolled = useScrolled(100)
|
const scrolled = useScrolled(10)
|
||||||
const [mobileOpen, setMobileOpen] = useState(false)
|
const [mobileOpen, setMobileOpen] = useState(false)
|
||||||
|
|
||||||
// Derive current locale from pathname (next-intl with localePrefix: 'as-needed')
|
// Derive current locale from pathname (next-intl with localePrefix: 'as-needed')
|
||||||
|
|||||||
@@ -341,10 +341,10 @@ export default function Hero() {
|
|||||||
|
|
||||||
{/* ─── Bottom fade into next section ────────────────────────────── */}
|
{/* ─── Bottom fade into next section ────────────────────────────── */}
|
||||||
<div
|
<div
|
||||||
className="absolute bottom-0 left-0 right-0 h-28 pointer-events-none z-10"
|
className="absolute bottom-0 left-0 right-0 h-40 pointer-events-none z-10"
|
||||||
style={{
|
style={{
|
||||||
background:
|
background:
|
||||||
'linear-gradient(to bottom, transparent, rgba(248,249,250,0.65))',
|
'linear-gradient(to bottom, transparent, #f3f4f5)',
|
||||||
}}
|
}}
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -113,11 +113,11 @@ export default function TrustBar() {
|
|||||||
aria-label="Trust indicators"
|
aria-label="Trust indicators"
|
||||||
className="relative bg-surface-low py-12"
|
className="relative bg-surface-low py-12"
|
||||||
>
|
>
|
||||||
{/* Gradient bridge — blends hero surface-high into this section */}
|
{/* Gradient bridge — blends hero into this section */}
|
||||||
<div
|
<div
|
||||||
className="absolute top-0 left-0 right-0 h-16 pointer-events-none"
|
className="absolute top-0 left-0 right-0 h-24 pointer-events-none"
|
||||||
style={{
|
style={{
|
||||||
background: 'linear-gradient(to bottom, #ffffff, transparent)',
|
background: 'linear-gradient(to bottom, #f8f9fa, transparent)',
|
||||||
}}
|
}}
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
"title": "Design. Build. Run.",
|
"title": "Design. Build. Run.",
|
||||||
"web": {
|
"web": {
|
||||||
"title": "Websites & Web Apps",
|
"title": "Websites & Web Apps",
|
||||||
"features": ["Custom Web Design", "Responsive Development", "SEO & Performance", "Content Management"]
|
"features": ["Custom Web Design", "Responsive Development", "SEO & Digital Marketing", "Content Management"]
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
"title": "Custom Software",
|
"title": "Custom Software",
|
||||||
@@ -181,7 +181,7 @@
|
|||||||
},
|
},
|
||||||
"footer": {
|
"footer": {
|
||||||
"tagline": "Custom websites, software, and infrastructure for businesses that want to own their digital future.",
|
"tagline": "Custom websites, software, and infrastructure for businesses that want to own their digital future.",
|
||||||
"location": "Côte d'Azur, France",
|
"location": "American-founded. Serving the Côte d'Azur and beyond.",
|
||||||
"services": "Services",
|
"services": "Services",
|
||||||
"studio": "Studio",
|
"studio": "Studio",
|
||||||
"connect": "Connect",
|
"connect": "Connect",
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
"title": "Concevoir. Développer. Héberger.",
|
"title": "Concevoir. Développer. Héberger.",
|
||||||
"web": {
|
"web": {
|
||||||
"title": "Sites Web & Applications",
|
"title": "Sites Web & Applications",
|
||||||
"features": ["Design Web Sur Mesure", "Développement Responsive", "SEO & Performance", "Gestion de Contenu"]
|
"features": ["Design Web Sur Mesure", "Développement Responsive", "SEO & Marketing Digital", "Gestion de Contenu"]
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
"title": "Logiciels Sur Mesure",
|
"title": "Logiciels Sur Mesure",
|
||||||
@@ -181,7 +181,7 @@
|
|||||||
},
|
},
|
||||||
"footer": {
|
"footer": {
|
||||||
"tagline": "Sites web, logiciels et infrastructure sur mesure pour les entreprises qui veulent maîtriser leur avenir digital.",
|
"tagline": "Sites web, logiciels et infrastructure sur mesure pour les entreprises qui veulent maîtriser leur avenir digital.",
|
||||||
"location": "Côte d'Azur, France",
|
"location": "Fondé aux États-Unis. Au service de la Côte d'Azur et au-delà.",
|
||||||
"services": "Services",
|
"services": "Services",
|
||||||
"studio": "Studio",
|
"studio": "Studio",
|
||||||
"connect": "Contact",
|
"connect": "Contact",
|
||||||
|
|||||||
Reference in New Issue
Block a user