style: floating navbar and call icon

Made-with: Cursor
This commit is contained in:
“kirukib” 2026-03-17 19:27:24 +03:00
parent 29a76a17c8
commit 43b92408cb
3 changed files with 9 additions and 16 deletions

View File

@ -1,5 +1,6 @@
"use client"; "use client";
import { PhoneCall } from "lucide-react";
import { offices } from "@/lib/site-config"; import { offices } from "@/lib/site-config";
export function FloatingCallButton() { export function FloatingCallButton() {
@ -12,8 +13,8 @@ export function FloatingCallButton() {
href={vaOffice.phoneHref} href={vaOffice.phoneHref}
className="fixed bottom-4 right-4 z-40 inline-flex h-12 items-center justify-center rounded-full bg-sky-500 px-4 text-sm font-semibold text-white shadow-lg shadow-sky-500/40 hover:bg-sky-400 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sky-300" className="fixed bottom-4 right-4 z-40 inline-flex h-12 items-center justify-center rounded-full bg-sky-500 px-4 text-sm font-semibold text-white shadow-lg shadow-sky-500/40 hover:bg-sky-400 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sky-300"
> >
<span className="mr-2 inline-flex h-7 w-7 items-center justify-center rounded-full bg-sky-600"> <span className="mr-2 inline-flex h-8 w-8 items-center justify-center rounded-full bg-sky-600">
<span className="block h-3 w-3 rotate-45 border-2 border-white border-t-transparent border-l-transparent" /> <PhoneCall className="h-4 w-4" />
</span> </span>
Call Ghion Financial Call Ghion Financial
</a> </a>

View File

@ -3,7 +3,7 @@ import { Button } from "@/components/ui/button";
export function Hero() { export function Hero() {
return ( return (
<section className="bg-slate-900 py-12 sm:py-16 md:py-20"> <section className="bg-slate-900 py-12 sm:py-16 md:py-20 -mt-3 min-h-screen">
<div className="mx-auto flex max-w-6xl flex-col gap-10 px-4 md:flex-row md:items-center md:px-6"> <div className="mx-auto flex max-w-6xl flex-col gap-10 px-4 md:flex-row md:items-center md:px-6">
<div className="max-w-xl space-y-5"> <div className="max-w-xl space-y-5">
<p className="text-xs font-semibold uppercase tracking-[0.2em] text-sky-300"> <p className="text-xs font-semibold uppercase tracking-[0.2em] text-sky-300">

View File

@ -2,6 +2,7 @@
import Link from "next/link"; import Link from "next/link";
import { useState } from "react"; import { useState } from "react";
import { PhoneCall, Menu } from "lucide-react";
import { offices } from "@/lib/site-config"; import { offices } from "@/lib/site-config";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
@ -10,8 +11,8 @@ export function SiteHeader() {
const [open, setOpen] = useState(false); const [open, setOpen] = useState(false);
return ( return (
<header className="sticky top-0 z-40 border-b border-slate-200 bg-slate-50/90 backdrop-blur"> <header className="pointer-events-none sticky top-0 z-40 bg-transparent pb-2">
<div className="mx-auto flex max-w-6xl items-center justify-between rounded-b-3xl bg-white px-4 py-3 shadow-sm md:px-6"> <div className="pointer-events-auto mx-auto mt-3 flex max-w-6xl items-center justify-between rounded-full border border-slate-200 bg-white/95 px-4 py-2.5 shadow-md shadow-slate-900/5 backdrop-blur md:px-6">
<Link href="/" className="flex items-center gap-2"> <Link href="/" className="flex items-center gap-2">
<span className="flex h-8 w-8 items-center justify-center rounded-full border border-sky-400 bg-sky-100 text-xs font-semibold text-sky-800"> <span className="flex h-8 w-8 items-center justify-center rounded-full border border-sky-400 bg-sky-100 text-xs font-semibold text-sky-800">
GF GF
@ -47,14 +48,6 @@ export function SiteHeader() {
</Link> </Link>
</nav> </nav>
<div className="flex items-center gap-3"> <div className="flex items-center gap-3">
{vaOffice ? (
<a
href={vaOffice.phoneHref}
className="hidden text-[0.7rem] font-medium text-slate-600 md:inline"
>
Call {vaOffice.phone}
</a>
) : null}
<div className="hidden md:block"> <div className="hidden md:block">
<Button <Button
variant="outline" variant="outline"
@ -70,13 +63,12 @@ export function SiteHeader() {
aria-label="Toggle navigation" aria-label="Toggle navigation"
onClick={() => setOpen((prev) => !prev)} onClick={() => setOpen((prev) => !prev)}
> >
<span className="block h-0.5 w-4 rounded bg-slate-700" /> <Menu className="h-4 w-4" />
<span className="block h-0.5 w-4 rounded bg-slate-700" />
</button> </button>
</div> </div>
</div> </div>
{open && ( {open && (
<div className="border-t border-slate-200 bg-white md:hidden"> <div className="pointer-events-auto border-t border-slate-200 bg-white md:hidden">
<div className="mx-auto max-w-6xl px-4 py-3 text-sm text-slate-800"> <div className="mx-auto max-w-6xl px-4 py-3 text-sm text-slate-800">
<nav className="flex flex-col gap-3"> <nav className="flex flex-col gap-3">
<Link href="/" onClick={() => setOpen(false)}> <Link href="/" onClick={() => setOpen(false)}>