Spaces:
Sleeping
Sleeping
Florin Bobiș
commited on
Commit
•
62fd2ea
1
Parent(s):
54e846d
modified footer
Browse files- src/components/footer.tsx +13 -2
- src/components/logo.tsx +48 -0
- src/components/navbar.tsx +2 -17
src/components/footer.tsx
CHANGED
@@ -1,7 +1,18 @@
|
|
|
|
|
|
|
|
1 |
const Footer = () => {
|
2 |
return (
|
3 |
-
<footer className="sticky bottom-0 flex h-12 items-center justify-center border-t gap-4 bg-background/50 backdrop-blur px-4 mt-10 md:px-6 z-30">
|
4 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
</footer>
|
6 |
);
|
7 |
};
|
|
|
1 |
+
import Logo from "./logo";
|
2 |
+
import { Button } from "./ui/button";
|
3 |
+
|
4 |
const Footer = () => {
|
5 |
return (
|
6 |
+
<footer className="sticky bottom-0 flex h-12 items-center justify-center border-t gap-4 bg-background/50 backdrop-blur px-4 mt-10 md:px-6 z-30 border-zinc-200 dark:border-zinc-800">
|
7 |
+
<Logo showText={false} showCopyright />
|
8 |
+
<div className="md:ml-auto w-full justify-between md:justify-end flex items-center gap-x-2 text-muted-foreground">
|
9 |
+
<Button variant="ghost" size="sm">
|
10 |
+
Privacy Policy
|
11 |
+
</Button>
|
12 |
+
<Button variant="ghost" size="sm">
|
13 |
+
Terms & Conditions
|
14 |
+
</Button>
|
15 |
+
</div>
|
16 |
</footer>
|
17 |
);
|
18 |
};
|
src/components/logo.tsx
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import Image from "next/image";
|
2 |
+
import { Poppins } from "next/font/google";
|
3 |
+
|
4 |
+
import { cn } from "@/lib/utils";
|
5 |
+
|
6 |
+
const font = Poppins({
|
7 |
+
subsets: ["latin"],
|
8 |
+
weight: ["400", "600"],
|
9 |
+
});
|
10 |
+
|
11 |
+
interface LogoProps {
|
12 |
+
text?: string;
|
13 |
+
showText?: boolean;
|
14 |
+
showCopyright?: boolean;
|
15 |
+
}
|
16 |
+
|
17 |
+
const Logo = ({ text, showText, showCopyright }: LogoProps) => {
|
18 |
+
return (
|
19 |
+
<div className="flex items-center gap-x-2">
|
20 |
+
<Image
|
21 |
+
src="/logo.png"
|
22 |
+
height="40"
|
23 |
+
width="40"
|
24 |
+
alt="Logo"
|
25 |
+
className="dark:hidden"
|
26 |
+
/>
|
27 |
+
<Image
|
28 |
+
src="/logo-white.png"
|
29 |
+
height="40"
|
30 |
+
width="40"
|
31 |
+
alt="Logo"
|
32 |
+
className="hidden dark:block"
|
33 |
+
/>
|
34 |
+
{showText && (
|
35 |
+
<p className={cn("font-semibold invisible md:visible", font.className)}>
|
36 |
+
{text}
|
37 |
+
</p>
|
38 |
+
)}
|
39 |
+
{showCopyright && (
|
40 |
+
<div className="w-24 text-sm font-medium text-muted-foreground">
|
41 |
+
© {new Date().getFullYear()}
|
42 |
+
</div>
|
43 |
+
)}
|
44 |
+
</div>
|
45 |
+
);
|
46 |
+
};
|
47 |
+
|
48 |
+
export default Logo;
|
src/components/navbar.tsx
CHANGED
@@ -1,11 +1,7 @@
|
|
1 |
-
"use client";
|
2 |
-
|
3 |
-
import { useTheme } from "next-themes";
|
4 |
-
import Image from "next/image";
|
5 |
import Link from "next/link";
|
|
|
6 |
|
7 |
const Navbar = () => {
|
8 |
-
const { theme } = useTheme();
|
9 |
const links = [
|
10 |
{ name: "About", href: "#about" },
|
11 |
{ name: "Clients", href: "#clients" },
|
@@ -14,18 +10,7 @@ const Navbar = () => {
|
|
14 |
];
|
15 |
return (
|
16 |
<nav className="hidden flex-col gap-6 w-full text-lg font-medium md:flex md:flex-row md:items-center md:gap-5 md:text-sm lg:gap-6">
|
17 |
-
<
|
18 |
-
href="#"
|
19 |
-
className="flex items-center justify-start gap-2 text-lg h-12 w-12"
|
20 |
-
>
|
21 |
-
<Image
|
22 |
-
src={theme === "dark" ? "/logo-white.png" : "/logo.png"}
|
23 |
-
width={48}
|
24 |
-
height={48}
|
25 |
-
alt="logo"
|
26 |
-
/>
|
27 |
-
<span className="sr-only">ATOM</span>
|
28 |
-
</Link>
|
29 |
<div className="flex items-center justify-center gap-2 w-full">
|
30 |
{links.map((link) => (
|
31 |
<Link
|
|
|
|
|
|
|
|
|
|
|
1 |
import Link from "next/link";
|
2 |
+
import Logo from "./logo";
|
3 |
|
4 |
const Navbar = () => {
|
|
|
5 |
const links = [
|
6 |
{ name: "About", href: "#about" },
|
7 |
{ name: "Clients", href: "#clients" },
|
|
|
10 |
];
|
11 |
return (
|
12 |
<nav className="hidden flex-col gap-6 w-full text-lg font-medium md:flex md:flex-row md:items-center md:gap-5 md:text-sm lg:gap-6">
|
13 |
+
<Logo text="ATOM" showText />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
<div className="flex items-center justify-center gap-2 w-full">
|
15 |
{links.map((link) => (
|
16 |
<Link
|