60 lines
2 KiB
Text
60 lines
2 KiB
Text
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"
|
|
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"
|
|
import { Badge } from "@/components/ui/badge"
|
|
import { Input } from "@/components/ui/input"
|
|
import {
|
|
Select,
|
|
SelectContent,
|
|
SelectItem,
|
|
SelectTrigger,
|
|
SelectValue,
|
|
} from "@/components/ui/select"
|
|
import {
|
|
Dialog,
|
|
DialogContent,
|
|
DialogDescription,
|
|
DialogFooter,
|
|
DialogHeader,
|
|
DialogTitle,
|
|
DialogTrigger,
|
|
} from "@/components/ui/dialog"
|
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"
|
|
import { Label } from "@/components/ui/label"
|
|
import { Textarea } from "@/components/ui/textarea"
|
|
import {
|
|
adminAccessApi,
|
|
adminAuditApi,
|
|
adminCompaniesApi,
|
|
adminJobsApi,
|
|
adminTagsApi,
|
|
backofficeApi,
|
|
plansApi,
|
|
type AdminCompany,
|
|
type AdminJob,
|
|
type AdminLoginAudit,
|
|
type AdminRoleAccess,
|
|
type AdminTag,
|
|
} from "@/lib/api"
|
|
import { getCurrentUser, isAdminUser } from "@/lib/auth"
|
|
import { toast } from "sonner"
|
|
import { Archive, CheckCircle, Copy, ExternalLink, PauseCircle, Plus, RefreshCw, XCircle } from "lucide-react"
|
|
import { ConfirmModal } from "@/components/confirm-modal"
|
|
|
|
const auditDateFormatter = new Intl.DateTimeFormat("pt-BR", {
|
|
dateStyle: "short",
|
|
timeStyle: "short",
|
|
timeZone: "America/Sao_Paulo",
|
|
})
|
|
|
|
const jobStatusBadge: Record<string, { label: string; variant: "default" | "secondary" | "destructive" | "outline" }> = {
|
|
draft: { label: "Draft", variant: "outline" },
|
|
review: { label: "Review", variant: "secondary" },
|
|
published: { label: "Published", variant: "default" },
|
|
paused: { label: "Paused", variant: "outline" },
|
|
expired: { label: "Expired", variant: "destructive" },
|
|
archived: { label: "Archived", variant: "outline" },
|
|
reported: { label: "Reported", variant: "destructive" },
|
|
open: { label: "Open", variant: "default" },
|
|
closed: { label: "Closed", variant: "outline" },
|
|
}
|
|
|