Files
57ab344d-edde-4200-bd69-4e7…/src/app/admin/page.tsx
2026-03-16 22:06:02 +00:00

282 lines
11 KiB
TypeScript

"use client";
import Link from "next/link";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen";
import HeroBillboardRotatedCarousel from "@/components/sections/hero/HeroBillboardRotatedCarousel";
import FeatureCardSix from "@/components/sections/feature/FeatureCardSix";
import FaqBase from "@/components/sections/faq/FaqBase";
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
import FooterMedia from "@/components/sections/footer/FooterMedia";
import { Heart, Sparkles, HelpCircle } from "lucide-react";
export default function AdminPage() {
const navItems = [
{ name: "Home", id: "home" },
{ name: "Report Item", id: "report" },
{ name: "Browse Items", id: "browse" },
{ name: "Claim Item", id: "claim" },
{ name: "Admin", id: "admin" },
];
const footerColumns = [
{
title: "Quick Links",
items: [
{ label: "Home", href: "/" },
{ label: "Report Item", href: "/report" },
{ label: "Browse Items", href: "/browse" },
{ label: "Claim Item", href: "/claim" },
],
},
{
title: "Support",
items: [
{ label: "FAQ", href: "#faq" },
{ label: "Contact Us", href: "#contact" },
{ label: "Report a Bug", href: "#" },
{ label: "Feedback", href: "#" },
],
},
{
title: "Legal",
items: [
{ label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" },
{ label: "Accessibility", href: "#" },
{ label: "Contact Info", href: "#" },
],
},
];
return (
<ThemeProvider
defaultButtonVariant="bounce-effect"
defaultTextAnimation="reveal-blur"
borderRadius="pill"
contentWidth="medium"
sizing="largeSizeMediumTitles"
background="floatingGradient"
cardStyle="layered-gradient"
primaryButtonStyle="primary-glow"
secondaryButtonStyle="radial-glow"
headingFontWeight="semibold"
>
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={navItems}
brandName="Lost & Found"
bottomLeftText="High School Community"
bottomRightText="contact@lostfound.local"
/>
</div>
<div id="hero" data-section="hero">
<HeroBillboardRotatedCarousel
title="Admin Dashboard - Manage Your System"
description="Complete control over your lost and found system. Manage items, approve claims, track activity, and maintain the integrity of your school community platform."
background={{ variant: "plain" }}
tag="School Community"
tagIcon={Heart}
tagAnimation="slide-up"
buttons={[
{
text: "Manage Items",
href: "/admin/items",
},
{
text: "View Claims",
href: "/admin/claims",
},
]}
buttonAnimation="slide-up"
carouselItems={[
{
id: "carousel-1",
imageSrc: "http://img.b2bpic.net/free-photo/governmental-hacker-investigating-cyber-incidents-monitoring-security_482257-121501.jpg",
},
{
id: "carousel-2",
imageSrc: "http://img.b2bpic.net/free-photo/man-using-tablet-his-smart-home_23-2149036898.jpg",
},
{
id: "carousel-3",
imageSrc: "http://img.b2bpic.net/free-vector/flat-design-back-school-background_23-2148215478.jpg",
},
{
id: "carousel-4",
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-girl-checking-her-notes_23-2148294133.jpg",
},
{
id: "carousel-5",
imageSrc: "http://img.b2bpic.net/free-photo/still-life-beach-bag-ready-travel_23-2150440628.jpg",
},
{
id: "carousel-6",
imageSrc: "http://img.b2bpic.net/free-photo/student-very-concentrated_1098-840.jpg",
},
]}
autoPlay={true}
autoPlayInterval={4000}
ariaLabel="Admin dashboard hero carousel"
/>
</div>
<div id="features" data-section="features">
<FeatureCardSix
title="Admin Features"
description="Everything you need to efficiently manage lost and found items, user claims, and system activity with powerful administrative tools."
tag="Features"
tagIcon={Sparkles}
tagAnimation="slide-up"
buttons={[
{
text: "Learn More",
href: "/admin/help",
},
]}
buttonAnimation="slide-up"
features={[
{
id: 1,
title: "Item Management",
description: "Review, verify, and manage all reported found items. Edit details, update status, and organize items by category and location.",
imageSrc: "http://img.b2bpic.net/free-photo/still-life-beach-bag-ready-travel_23-2150440628.jpg",
imageAlt: "Item management dashboard",
},
{
id: 2,
title: "Claim Processing",
description: "Review and approve or reject claims submitted by students. Verify ownership information and process item handovers.",
imageSrc: "http://img.b2bpic.net/free-photo/student-very-concentrated_1098-840.jpg",
imageAlt: "Claim processing interface",
},
{
id: 3,
title: "User Management",
description: "Manage admin accounts, set permissions, and monitor user activity. Track who accessed what and when for security.",
imageSrc: "http://img.b2bpic.net/free-photo/man-using-tablet-his-smart-home_23-2149036898.jpg",
imageAlt: "User management panel",
},
{
id: 4,
title: "Analytics & Reports",
description: "View system statistics, track item recovery rates, and generate reports on lost and found activity over time.",
imageSrc: "http://img.b2bpic.net/free-photo/governmental-hacker-investigating-cyber-incidents-monitoring-security_482257-121501.jpg",
imageAlt: "Analytics dashboard",
},
]}
textboxLayout="default"
useInvertedBackground={false}
ariaLabel="Key admin features"
/>
</div>
<div id="faq" data-section="faq">
<FaqBase
title="Admin FAQ"
description="Common questions about admin panel functions, permissions, and best practices for managing the lost and found system."
faqs={[
{
id: "faq-1",
title: "How do I verify a claim?",
content: "Review the claim details, cross-reference with the item description, and check the ownership verification information provided by the student. Contact the student directly if clarification is needed before approving.",
},
{
id: "faq-2",
title: "Can I delete items from the system?",
content: "Items can be marked as 'Claimed' or 'Archived' rather than deleted. This maintains a complete history. Contact your system administrator to permanently remove items if necessary.",
},
{
id: "faq-3",
title: "How do I manage admin permissions?",
content: "Admin accounts can be created by the primary administrator. Different permission levels control who can approve claims, manage users, or access reports. Set appropriately based on role.",
},
{
id: "faq-4",
title: "What if I accidentally reject a valid claim?",
content: "Rejected claims can be re-opened by the student. As an admin, you can also send a message to the student explaining the rejection and offering to review again.",
},
{
id: "faq-5",
title: "How often should I review unclaimed items?",
content: "We recommend weekly reviews. Items older than 30 days should be archived. Communicate with students about unclaimed items before archival.",
},
{
id: "faq-6",
title: "How do I access system logs?",
content: "Logs are available in the Analytics section. Filter by date, user, or action type. Logs show all system changes for audit purposes.",
},
]}
tag="Support"
tagIcon={HelpCircle}
tagAnimation="slide-up"
buttons={[
{
text: "Contact Support",
href: "#contact",
},
]}
buttonAnimation="slide-up"
faqsAnimation="slide-up"
textboxLayout="default"
useInvertedBackground={false}
animationType="smooth"
showCard={true}
ariaLabel="Admin FAQ section"
/>
</div>
<div id="contact" data-section="contact">
<ContactSplitForm
title="Admin Support"
description="Need technical assistance or have questions about admin features? Contact our support team for help."
inputs={[
{
name: "name",
type: "text",
placeholder: "Your Full Name",
required: true,
},
{
name: "email",
type: "email",
placeholder: "Your Email Address",
required: true,
},
{
name: "subject",
type: "text",
placeholder: "Issue or Question",
required: true,
},
]}
textarea={{
name: "message",
placeholder: "Describe your issue in detail...",
rows: 5,
required: true,
}}
useInvertedBackground={false}
imageSrc="http://img.b2bpic.net/free-photo/man-using-tablet-his-smart-home_23-2149036898.jpg"
imageAlt="Admin support contact"
mediaAnimation="slide-up"
mediaPosition="right"
buttonText="Send Message"
ariaLabel="Admin support contact form"
/>
</div>
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-vector/flat-design-back-school-background_23-2148215478.jpg"
imageAlt="Lost and Found footer"
columns={footerColumns}
logoText="Lost & Found"
copyrightText="© 2025 High School Lost & Found System. All rights reserved."
ariaLabel="Site footer"
/>
</div>
</ThemeProvider>
);
}