282 lines
11 KiB
TypeScript
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>
|
|
);
|
|
} |