1- import { useCallback , type SetStateAction } from "react" ;
21import { JobsFiltersCard } from "@/components/JobsFiltersCard" ;
32import { JobsHeaderCard } from "@/components/JobsHeaderCard" ;
43import { JobsTableCard } from "@/components/JobsTableCard" ;
4+ import { ThemeToggle } from "@/components/ui/theme-toggle" ;
55import { useJobsData } from "@/hooks/useJobsData" ;
66import { useJobsFiltering } from "@/hooks/useJobsFiltering" ;
77import { useJobsPagination } from "@/hooks/useJobsPagination" ;
8+ import { useTheme } from "@/hooks/useTheme" ;
89import type { JobsMeta } from "@/types/jobs" ;
10+ import { useCallback , type SetStateAction } from "react" ;
911
1012function formatDate ( timestamp : JobsMeta [ "modifiedAt" ] ) : string {
1113 if ( ! timestamp ) {
@@ -15,6 +17,8 @@ function formatDate(timestamp: JobsMeta["modifiedAt"]): string {
1517}
1618
1719function App ( ) {
20+ const { resolvedTheme, toggleTheme } = useTheme ( ) ;
21+
1822 const { files, selectedFile, setSelectedFile, jobs, meta, loading, error, loadJobs } = useJobsData ( ) ;
1923
2024 const { search, setSearch, keywordFilter, setKeywordFilter, keywords, filteredJobs } = useJobsFiltering ( jobs ) ;
@@ -57,11 +61,11 @@ function App() {
5761 ) ;
5862
5963 return (
60- < main className = "relative min-h-screen overflow-hidden bg-background px-4 py-8 md:px-8" >
61- < div className = "pointer-events-none absolute inset-0 -z-10 bg-[radial-gradient(circle_at_20%_15%,rgba(236,195,117,0.35),transparent_30%),radial-gradient(circle_at_80%_10%,rgba(92,151,191,0.28),transparent_35%),radial-gradient(circle_at_50%_95%,rgba(201,120,99,0.22),transparent_40%)]" />
64+ < main className = "relative min-h-screen overflow-hidden bg-background px-4 py-8 transition-colors duration-300 md:px-8" >
65+ < div className = "pointer-events-none absolute inset-0 -z-10 bg-[radial-gradient(circle_at_20%_15%,rgba(236,195,117,0.35),transparent_30%),radial-gradient(circle_at_80%_10%,rgba(92,151,191,0.28),transparent_35%),radial-gradient(circle_at_50%_95%,rgba(201,120,99,0.22),transparent_40%)] dark:bg-[radial-gradient(circle_at_20%_15%,rgba(240,180,95,0.18),transparent_30%),radial-gradient(circle_at_80%_10%,rgba(92,151,191,0.18),transparent_35%),radial-gradient(circle_at_50%_95%,rgba(201,120,99,0.15),transparent_40%)] " />
6266
6367 < section className = "mx-auto flex w-full max-w-7xl flex-col gap-6" >
64- < JobsHeaderCard meta = { meta } />
68+ < JobsHeaderCard meta = { meta } actions = { < ThemeToggle theme = { resolvedTheme } onToggle = { toggleTheme } /> } />
6569
6670 < JobsFiltersCard
6771 search = { search }
0 commit comments