first commit
This commit is contained in:
22
src/ui/Card.tsx
Normal file
22
src/ui/Card.tsx
Normal file
@@ -0,0 +1,22 @@
|
||||
import React from "react";
|
||||
import clsx from "clsx";
|
||||
|
||||
type CardProps = {
|
||||
children: React.ReactNode;
|
||||
className?: string;
|
||||
};
|
||||
|
||||
const Card = ({ children, className }: CardProps) => {
|
||||
return (
|
||||
<div
|
||||
className={clsx(
|
||||
"bg-[#253445] rounded-lg mt-4 mx-2 shadow-2xl overflow-x-hidden md:row-span-1 px-2 border border-gray-600 ",
|
||||
className,
|
||||
)}
|
||||
>
|
||||
{children}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default Card;
|
||||
21
src/ui/CardHeader.tsx
Normal file
21
src/ui/CardHeader.tsx
Normal file
@@ -0,0 +1,21 @@
|
||||
import clsx from "clsx";
|
||||
|
||||
type CameraOverviewHeaderProps = {
|
||||
title?: string;
|
||||
};
|
||||
const CardHeader = ({ title }: CameraOverviewHeaderProps) => {
|
||||
return (
|
||||
<div
|
||||
className={clsx(
|
||||
"w-full border-b border-gray-600 flex flex-row items-center space-x-2 mb-6 relative justify-between",
|
||||
)}
|
||||
>
|
||||
<div className="flex items-center space-x-2">
|
||||
{/* {icon && <FontAwesomeIcon icon={icon} className="size-4" />} */}
|
||||
<h2 className="text-xl">{title}</h2>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default CardHeader;
|
||||
12
src/ui/Footer.tsx
Normal file
12
src/ui/Footer.tsx
Normal file
@@ -0,0 +1,12 @@
|
||||
import Logo from "/MAV.svg";
|
||||
|
||||
const Footer = () => {
|
||||
return (
|
||||
<footer className="bg-gray-900 border-t border-gray-700 text-white py-5 text-left p-8 h-30 mt-5 flex flex-col space-y-4 ">
|
||||
<img src={Logo} alt="Logo" width={100} height={100} />
|
||||
<p className="text-sm">{new Date().getFullYear()} MAV Systems © All rights reserved.</p>
|
||||
</footer>
|
||||
);
|
||||
};
|
||||
|
||||
export default Footer;
|
||||
34
src/ui/Header.tsx
Normal file
34
src/ui/Header.tsx
Normal file
@@ -0,0 +1,34 @@
|
||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
import { faGaugeHigh } from "@fortawesome/free-solid-svg-icons";
|
||||
import { Link } from "@tanstack/react-router";
|
||||
import Logo from "/MAV.svg";
|
||||
|
||||
const Header = () => {
|
||||
return (
|
||||
<header className="bg-[#253445] p-4 flex border-b border-gray-500 justify-between">
|
||||
<div className="w-28">
|
||||
<Link to={"/"}>
|
||||
<img src={Logo} alt="Logo" width={150} height={150} />
|
||||
</Link>
|
||||
</div>
|
||||
<div className="flex gap-4">
|
||||
<Link to="/" className="[&.active]:font-bold">
|
||||
<FontAwesomeIcon icon={faGaugeHigh} />
|
||||
Dashboard
|
||||
</Link>
|
||||
|
||||
<Link to="/baywatch" className="[&.active]:font-bold">
|
||||
Baywatch
|
||||
</Link>
|
||||
<Link to="/output" className="[&.active]:font-bold">
|
||||
Output
|
||||
</Link>
|
||||
<Link to="/settings" className="[&.active]:font-bold">
|
||||
Settings
|
||||
</Link>
|
||||
</div>
|
||||
</header>
|
||||
);
|
||||
};
|
||||
|
||||
export default Header;
|
||||
Reference in New Issue
Block a user