Make navbar responsive
This commit is contained in:
parent
dfe48ef560
commit
0b1a6d2eae
88
src/components/Navbar.jsx
Normal file
88
src/components/Navbar.jsx
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
import React, { useState } from "react";
|
||||||
|
import { Link } from "react-router-dom";
|
||||||
|
import logo from "../assets/logo_light_46.png";
|
||||||
|
import { SideSheet } from "@douyinfe/semi-ui";
|
||||||
|
import { IconMenu } from "@douyinfe/semi-icons";
|
||||||
|
|
||||||
|
export default function Navbar() {
|
||||||
|
const [openMenu, setOpenMenu] = useState(false);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="py-5 px-6 sm:px-4 flex justify-between items-center">
|
||||||
|
<div className="flex items-center justify-start">
|
||||||
|
<Link to="/">
|
||||||
|
<img src={logo} alt="logo" className="me-2 sm:h-[32px]" />
|
||||||
|
</Link>
|
||||||
|
<div className="md:hidden">
|
||||||
|
<Link className="ms-4 text-lg font-semibold hover:text-indigo-700">
|
||||||
|
Features
|
||||||
|
</Link>
|
||||||
|
<Link
|
||||||
|
to="/editor"
|
||||||
|
className="ms-4 text-lg font-semibold hover:text-indigo-700"
|
||||||
|
>
|
||||||
|
Editor
|
||||||
|
</Link>
|
||||||
|
<Link className="ms-4 text-lg font-semibold hover:text-indigo-700">
|
||||||
|
Templates
|
||||||
|
</Link>
|
||||||
|
<Link className="ms-4 text-lg font-semibold hover:text-indigo-700">
|
||||||
|
Download
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="md:hidden">
|
||||||
|
<Link to="/login" className="me-5 font-semibold">
|
||||||
|
Log in
|
||||||
|
</Link>
|
||||||
|
<Link
|
||||||
|
to="/signup"
|
||||||
|
className="px-6 py-3 bg-[#386b8f] hover:bg-[#4e8bb6] text-white font-semibold rounded-md"
|
||||||
|
>
|
||||||
|
Sign up
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
<button
|
||||||
|
onClick={() => setOpenMenu((prev) => !prev)}
|
||||||
|
className="hidden md:inline-block h-[24px]"
|
||||||
|
>
|
||||||
|
<IconMenu size="extra-large" />
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
<SideSheet
|
||||||
|
title={<img src={logo} alt="logo" className="sm:h-[32px]" />}
|
||||||
|
visible={openMenu}
|
||||||
|
onCancel={() => setOpenMenu(false)}
|
||||||
|
width={window.innerWidth}
|
||||||
|
>
|
||||||
|
<Link className="hover:bg-zinc-100 block p-3 text-lg font-semibold">
|
||||||
|
Features
|
||||||
|
</Link>
|
||||||
|
<hr />
|
||||||
|
<Link
|
||||||
|
to="/editor"
|
||||||
|
className="hover:bg-zinc-100 block p-3 text-lg font-semibold"
|
||||||
|
>
|
||||||
|
Editor
|
||||||
|
</Link>
|
||||||
|
<hr />
|
||||||
|
<Link className="hover:bg-zinc-100 block p-3 text-lg font-semibold">
|
||||||
|
Templates
|
||||||
|
</Link>
|
||||||
|
<hr />
|
||||||
|
<Link className="hover:bg-zinc-100 block p-3 text-lg font-semibold">
|
||||||
|
Download
|
||||||
|
</Link>
|
||||||
|
<hr />
|
||||||
|
<Link
|
||||||
|
to="/login"
|
||||||
|
className="hover:bg-zinc-100 block p-3 text-lg font-semibold text-indigo-700"
|
||||||
|
>
|
||||||
|
Log in
|
||||||
|
</Link>
|
||||||
|
</SideSheet>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
@ -1,14 +1,16 @@
|
|||||||
import React, { useState, useEffect } from "react";
|
import React, { useState, useEffect } from "react";
|
||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
import { IconCrossStroked } from "@douyinfe/semi-icons";
|
import { IconCrossStroked } from "@douyinfe/semi-icons";
|
||||||
import logo from "../assets/logo_light_46.png";
|
import Navbar from "../components/Navbar";
|
||||||
|
|
||||||
export default function LandingPage() {
|
export default function LandingPage() {
|
||||||
const [showSurvey, setShowSurvey] = useState(true);
|
const [showSurvey, setShowSurvey] = useState(true);
|
||||||
|
|
||||||
useEffect(()=>{
|
useEffect(() => {
|
||||||
document.title = "drawDB | Online database diagram editor and SQL generator"
|
document.body.setAttribute("theme-mode", "light");
|
||||||
})
|
document.title =
|
||||||
|
"drawDB | Online database diagram editor and SQL generator";
|
||||||
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
@ -24,42 +26,7 @@ export default function LandingPage() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div>
|
<Navbar />
|
||||||
<div className="py-5 px-6 flex justify-between items-center">
|
|
||||||
<div className="flex items-center justify-start">
|
|
||||||
<Link to="/">
|
|
||||||
<img src={logo} alt="logo" className="me-2" />
|
|
||||||
</Link>
|
|
||||||
<Link className="ms-4 text-lg font-semibold hover:text-indigo-700">
|
|
||||||
Features
|
|
||||||
</Link>
|
|
||||||
<Link
|
|
||||||
to="/editor"
|
|
||||||
className="ms-4 text-lg font-semibold hover:text-indigo-700"
|
|
||||||
>
|
|
||||||
Editor
|
|
||||||
</Link>
|
|
||||||
<Link className="ms-4 text-lg font-semibold hover:text-indigo-700">
|
|
||||||
Templates
|
|
||||||
</Link>
|
|
||||||
<Link className="ms-4 text-lg font-semibold hover:text-indigo-700">
|
|
||||||
Download
|
|
||||||
</Link>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<Link to="/login" className="me-5 font-semibold">
|
|
||||||
Log in
|
|
||||||
</Link>
|
|
||||||
<Link
|
|
||||||
to="/signup"
|
|
||||||
className="px-6 py-3 bg-[#386b8f] hover:bg-[#4e8bb6] text-white font-semibold rounded-md"
|
|
||||||
>
|
|
||||||
Sign up
|
|
||||||
</Link>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<hr />
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user