feat(jobs): pas tijdvenster-filter toe in JobsColumn

Lees views.jobs.timeFilter uit de store en filter jobs op createdAt via isWithinTimeWindow, als eerste check vóór de bestaande kind/status-filters.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Scrum4Me Agent 2026-05-14 20:53:41 +02:00
parent f5b021bee5
commit f262080506

View file

@ -8,6 +8,7 @@ import JobCard from './job-card'
import { JOB_STATUS_LABELS } from '@/components/shared/job-status'
import { jobStatusToApi, type ClaudeJobStatusApi } from '@/lib/job-status'
import { useUserSettingsStore } from '@/stores/user-settings/store'
import { isWithinTimeWindow, DEFAULT_JOBS_TIME_FILTER } from '@/lib/jobs-time-filter'
import { cn } from '@/lib/utils'
import { debugProps } from '@/lib/debug'
import type { JobWithRelations } from '@/actions/jobs-page'
@ -112,6 +113,9 @@ export default function JobsColumn({
const colPrefs = useUserSettingsStore(
useShallow((s) => s.entities.settings.views?.jobsColumns?.[storageKeyPrefix]),
)
const timeFilter = useUserSettingsStore(
useShallow((s) => s.entities.settings.views?.jobs?.timeFilter),
) ?? DEFAULT_JOBS_TIME_FILTER
const setPref = useUserSettingsStore((s) => s.setPref)
const filterKinds = useMemo<Set<ClaudeJobKind>>(() => {
@ -152,6 +156,7 @@ export default function JobsColumn({
}
const filtered = jobs.filter((j) => {
if (!isWithinTimeWindow(j.createdAt, timeFilter)) return false
if (filterKinds.size > 0 && !filterKinds.has(j.kind)) return false
if (filterStatuses.size > 0 && !filterStatuses.has(jobStatusToApi(j.status))) return false
return true