From 4ba0c8119388b06ed809016ad5113e9502bd7cbb Mon Sep 17 00:00:00 2001 From: bender Date: Sun, 8 Mar 2026 22:19:41 +0000 Subject: [PATCH] Update src/app/applications/page.tsx --- src/app/applications/page.tsx | 304 +++++++--------------------------- 1 file changed, 64 insertions(+), 240 deletions(-) diff --git a/src/app/applications/page.tsx b/src/app/applications/page.tsx index 17ee7e8..5177ce4 100644 --- a/src/app/applications/page.tsx +++ b/src/app/applications/page.tsx @@ -2,161 +2,43 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered"; -import FeatureCardEight from "@/components/sections/feature/FeatureCardEight"; -import CardStack from "@/components/cardStack/CardStack"; -import ContactCenter from "@/components/sections/contact/ContactCenter"; +import MetricCardTen from "@/components/sections/metrics/MetricCardTen"; +import FeatureBento from "@/components/sections/feature/FeatureBento"; import FooterBase from "@/components/sections/footer/FooterBase"; -import { CheckCircle, Clock, AlertCircle, Mail } from "lucide-react"; -import { useState } from "react"; +import { + Users, + BarChart3, + Shield, + Activity, + TrendingUp, +} from "lucide-react"; const navItems = [ - { name: "Search Jobs", id: "search" }, - { name: "Post a Job", id: "post-job" }, - { name: "Admin", id: "admin-login" }, - { name: "Browse", id: "browse" }, - { name: "Applications", id: "/applications" }, - { name: "Contact", id: "contact" }, + { name: "Dashboard", id: "/admin" }, + { name: "Jobs", id: "/admin#jobs" }, + { name: "Users", id: "/admin#users" }, + { name: "Moderation", id: "/admin#moderation" }, + { name: "Analytics", id: "/admin#analytics" }, ]; const footerColumns = [ { - title: "Product", items: [ - { label: "Search Jobs", href: "/search" }, - { label: "Post a Job", href: "/post-job" }, - { label: "Browse by Province", href: "#provinces" }, - { label: "For Employers", href: "#" }, + title: "Admin", items: [ + { label: "Dashboard", href: "/admin" }, + { label: "Settings", href: "/admin#settings" }, + { label: "Reports", href: "/admin#reports" }, ], }, { - title: "Company", items: [ - { label: "About Jobee", href: "#about" }, - { label: "Careers", href: "#" }, - { label: "Contact Us", href: "#contact" }, - { label: "Blog", href: "#" }, - ], - }, - { - title: "Resources", items: [ - { label: "Privacy Policy", href: "#" }, - { label: "Terms of Service", href: "#" }, - { label: "FAQ", href: "#" }, + title: "Quick Links", items: [ + { label: "Help", href: "#" }, { label: "Support", href: "#" }, + { label: "Documentation", href: "#" }, ], }, ]; -interface Application { - id: string; - jobTitle: string; - company: string; - status: "pending" | "accepted" | "rejected" | "interviewing"; - appliedDate: string; - lastUpdated: string; - description: string; -} - export default function ApplicationsPage() { - const [applications] = useState([ - { - id: "1", jobTitle: "Senior Frontend Developer", company: "Tech Innovations Amsterdam", status: "interviewing", appliedDate: "2025-01-10", lastUpdated: "2025-01-15", description: - "You've been selected for the interview round. Check your email for scheduling details and prepare for a technical assessment."}, - { - id: "2", jobTitle: "UX/UI Designer", company: "Creative Studio Rotterdam", status: "accepted", appliedDate: "2025-01-08", lastUpdated: "2025-01-16", description: - "Congratulations! Your application has been accepted. Please review the job offer details and respond within 5 business days."}, - { - id: "3", jobTitle: "Data Analyst", company: "Analytics Corp Utrecht", status: "pending", appliedDate: "2025-01-12", lastUpdated: "2025-01-12", description: - "Your application is being reviewed by the hiring team. You'll receive an update within 7-10 business days."}, - { - id: "4", jobTitle: "Marketing Manager", company: "Brand Solutions Hague", status: "rejected", appliedDate: "2025-01-05", lastUpdated: "2025-01-14", description: - "Thank you for your application. We've decided to move forward with other candidates but encourage you to apply for future opportunities."}, - { - id: "5", jobTitle: "Full Stack Developer", company: "Web Tech Solutions", status: "interviewing", appliedDate: "2025-01-11", lastUpdated: "2025-01-16", description: - "First round interview scheduled for January 20, 2025 at 14:00 CET. Confirmation link sent to your email."}, - { - id: "6", jobTitle: "Content Writer", company: "Digital Media Groningen", status: "pending", appliedDate: "2025-01-13", lastUpdated: "2025-01-13", description: - "Your portfolio and writing samples are being evaluated. We'll contact you soon with next steps."}, - ]); - - const getStatusIcon = (status: string) => { - switch (status) { - case "accepted": - return CheckCircle; - case "interviewing": - return Clock; - case "rejected": - return AlertCircle; - default: - return Clock; - } - }; - - const getStatusColor = (status: string): string => { - switch (status) { - case "accepted": - return "success"; - case "interviewing": - return "info"; - case "rejected": - return "error"; - default: - return "warning"; - } - }; - - const applicationCards = applications.map((app) => ( -
-
-
-

- {app.jobTitle} -

-

{app.company}

-
-
- {getStatusIcon(app.status) && - (() => { - const Icon = getStatusIcon(app.status); - return ( - - ); - })()} - - {app.status} - -
-
-

{app.description}

-
- Applied: {new Date(app.appliedDate).toLocaleDateString()} - Updated: {new Date(app.lastUpdated).toLocaleDateString()} -
-
- )); - return ( -
- + -
- -
- - {applicationCards} - -
- -
- a.status !== "pending").length / applications.length) * 100)}% of your applications have received responses from employers.`, - imageSrc: - "http://img.b2bpic.net/free-photo/corporate-workers-brainstorming-together_23-2148804568.jpg?_wi=1", imageAlt: "Response rate"}, + id: "2", title: "Product Manager, Enterprise", subtitle: "Rotterdam, Netherlands · Full-time", category: "Product", value: "Posted 5 days ago", buttons: [ + { text: "View", href: "#" }, + { text: "Manage", href: "#" }, + ], + }, { - id: 3, - title: "Interviews Scheduled", description: `You have ${applications.filter((a) => a.status === "interviewing").length} interviews currently in the process or scheduled. Prepare and shine!",`, - imageSrc: - "http://img.b2bpic.net/free-photo/personal-information-form-identity-concept_53876-137622.jpg?_wi=1", imageAlt: "Interviews"}, + id: "3", title: "UX Designer, B2B", subtitle: "Utrecht, Netherlands · Full-time", category: "Design", value: "Posted 1 week ago", buttons: [ + { text: "View", href: "#" }, + { text: "Manage", href: "#" }, + ], + }, { - id: 4, - title: "Success Stories", description: `Congratulations! You have ${applications.filter((a) => a.status === "accepted").length} job offers. Review and respond to secure your next opportunity!`, - imageSrc: - "http://img.b2bpic.net/free-vector/professional-recruitment-plan-diversity-general-infographic-template_23-2148947635.jpg?_wi=1", imageAlt: "Accepted offers"}, + id: "4", title: "Data Scientist, ML Platform", subtitle: "Remote · Full-time", category: "Data", value: "Posted 10 days ago", buttons: [ + { text: "View", href: "#" }, + { text: "Manage", href: "#" }, + ], + }, + { + id: "5", title: "DevOps Engineer, Infrastructure", subtitle: "Amsterdam, Netherlands · Full-time · Remote", category: "Infrastructure", value: "Posted 3 weeks ago", buttons: [ + { text: "View", href: "#" }, + { text: "Manage", href: "#" }, + ], + }, + { + id: "6", title: "Marketing Manager, Growth", subtitle: "The Hague, Netherlands · Full-time", category: "Marketing", value: "Posted 1 month ago", buttons: [ + { text: "View", href: "#" }, + { text: "Manage", href: "#" }, + ], + }, ]} - buttons={[ - { - text: "Continue Searching", href: "/search"}, - ]} - buttonAnimation="slide-up" - /> -
- -
-