Modern Navbar
แถบลอยมุมโค้ง มีปุ่ม Contact และเมนูพับบนมือถือ
วิธีใช้
สร้างไฟล์แล้ววางโค้ด
ใน Portfolio Starter สร้างไฟล์
components/NavbarModern.tsxกด Copy code ด้านบน แล้ววางทั้งหมดImport มาใช้
เปิด
app/page.tsxเพิ่มบรรทัด import ไว้บนสุด แล้ววาง component ในreturnimport NavbarModern from "@/components/NavbarModern"; export default function Home() { return ( <main> <NavbarModern /> </main> ); }ใส่ข้อมูลของคุณผ่าน props
ไม่ใส่ props ก็แสดงข้อมูลตัวอย่างได้ พอพร้อมแล้วส่งข้อมูลของคุณเข้าไปแบบนี้
<NavbarModern name="Mint" ctaLabel="Say hi" ctaHref="mailto:mint@example.com" accent="#16a34a" />
Props
| Prop | Type | ใช้ทำอะไร |
|---|---|---|
name | string | ชื่อ ตัวอักษรแรกจะเป็นโลโก้ |
links | { label: string; href: string }[] | ลิงก์ในเมนู ใส่ #id เพื่อเลื่อนไปที่ section นั้น |
ctaLabel | string | ข้อความบนปุ่มด้านขวา |
ctaHref | string | ลิงก์ของปุ่ม เช่น mailto: หรือ Instagram |
accent | string | สีหลัก เป็นรหัสสี เช่น "#4f46e5" |
ทุก prop ไม่บังคับ (มี ? ในโค้ด) ถ้าไม่ใส่จะใช้ค่าตัวอย่างในวงเล็บ = … ของ function
Dependencies
ไม่ต้องติดตั้งอะไรเพิ่ม ใช้ได้กับ Portfolio Starter ทันที (Next.js + React + Tailwind CSS)
ทำไมมี "use client"component นี้ใช้ useState จำค่าที่เปลี่ยนเมื่อกดปุ่ม ซึ่งต้องทำงานในเบราว์เซอร์ จึงต้องมี "use client" เป็นบรรทัดแรกของไฟล์ ห้ามลบ