style: floating navbar and call icon
Made-with: Cursor
This commit is contained in:
parent
29a76a17c8
commit
43b92408cb
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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">
|
||||||
|
|
|
||||||
|
|
@ -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)}>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user