-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
diff --git a/frontend/src/app/dashboard/tickets/page.tsx b/frontend/src/app/dashboard/tickets/page.tsx
index e8ea3fd..e00cde7 100644
--- a/frontend/src/app/dashboard/tickets/page.tsx
+++ b/frontend/src/app/dashboard/tickets/page.tsx
@@ -312,23 +312,41 @@ export default function AdminTicketsPage() {
placeholder={t("ticketsPage.createDialog.subjectPlaceholder")}
/>
-
-
-
+
+
+
+
+
+
+
+
+
@@ -340,22 +358,6 @@ export default function AdminTicketsPage() {
rows={4}
/>
-
-
-
-
diff --git a/frontend/src/components/dashboard-contents/admin-dashboard.tsx b/frontend/src/components/dashboard-contents/admin-dashboard.tsx
index 308a8fa..88e2e42 100644
--- a/frontend/src/components/dashboard-contents/admin-dashboard.tsx
+++ b/frontend/src/components/dashboard-contents/admin-dashboard.tsx
@@ -1,24 +1,12 @@
"use client"
import { useEffect, useState } from "react"
+import Link from "next/link"
import { StatsCard } from "@/components/stats-card"
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
import { Button } from "@/components/ui/button"
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"
import { Badge } from "@/components/ui/badge"
-import {
- Dialog,
- DialogContent,
- DialogDescription,
- DialogFooter,
- DialogHeader,
- DialogTitle,
- DialogTrigger,
-} from "@/components/ui/dialog"
-import { Label } from "@/components/ui/label"
-import { Textarea } from "@/components/ui/textarea"
-import { Input } from "@/components/ui/input"
-import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
import { Briefcase, Users, TrendingUp, FileText, Plus, MoreHorizontal, Loader2 } from "lucide-react"
import { motion } from "framer-motion"
import { adminJobsApi, adminCandidatesApi, type AdminJob, type AdminCandidate, type AdminCandidateStats } from "@/lib/api"
@@ -26,7 +14,6 @@ import { toast } from "sonner"
import { useTranslation } from "@/lib/i18n"
export function AdminDashboardContent() {
- const [isDialogOpen, setIsDialogOpen] = useState(false)
const [isLoading, setIsLoading] = useState(true)
const { t } = useTranslation()
@@ -39,11 +26,6 @@ export function AdminDashboardContent() {
const [recentJobs, setRecentJobs] = useState([])
const [recentCandidates, setRecentCandidates] = useState([])
- // Fallback company options for the create job dialog (still static or needs Company API,
- // keeping static list for now as "Add Job" on dashboard is a quick action, user specified fixing dashboard DATA)
- // Actually, I should probably fetch companies too if I want this dialog to work, but let's focus on dashboard VIEW first as requested.
- const companyOptions = ["TechCorp", "DesignHub", "DataFlow", "InnovateLab", "AppMakers"]
-
useEffect(() => {
const loadDashboardData = async () => {
try {
@@ -148,50 +130,12 @@ export function AdminDashboardContent() {
{t('admin.dashboard.jobs.title')}
-
+
+
+
diff --git a/frontend/src/i18n/en.json b/frontend/src/i18n/en.json
index 8361456..4295198 100644
--- a/frontend/src/i18n/en.json
+++ b/frontend/src/i18n/en.json
@@ -1189,15 +1189,15 @@
"created": "Created",
"actions": "Actions",
"empty": "No companies found",
- "showing": "Showing {{from}}-{{to}} of {{total}}"
+ "showing": "Showing {from}-{to} of {total}"
},
"searchPlaceholder": "Search companies by name or email...",
- "deleteConfirm": "Are you sure you want to delete {{name}}? This action cannot be undone.",
+ "deleteConfirm": "Are you sure you want to delete {name}? This action cannot be undone.",
"success": {
"created": "Company created successfully!",
"deleted": "Company deleted successfully",
"updated": "Company updated successfully",
- "statusUpdated": "Company {{field}} updated"
+ "statusUpdated": "Company {field} updated"
},
"fields": {
"active": "Active",
@@ -1309,7 +1309,7 @@
"low": "Low"
},
"pagination": {
- "showing": "Showing {{start}} to {{end}} of {{total}} tickets"
+ "showing": "Showing {start} to {end} of {total} tickets"
},
"deleteDialog": {
"title": "Delete Ticket",