first commit

This commit is contained in:
2025-11-20 19:09:43 +00:00
parent b296fe227e
commit 8284b1dd11
38 changed files with 3043 additions and 0 deletions

22
src/ui/Card.tsx Normal file
View 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
View 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
View 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 &copy; All rights reserved.</p>
</footer>
);
};
export default Footer;

34
src/ui/Header.tsx Normal file
View 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;