diff --git a/src/pages/logs/Index.tsx b/src/pages/logs/Index.tsx index b73bf81..90159b2 100644 --- a/src/pages/logs/Index.tsx +++ b/src/pages/logs/Index.tsx @@ -1,3 +1,4 @@ +import { FilterState } from "@/stores/useLogIndexStore"; import { useMeterSettingsStore } from "@/stores/useMeterSettingsStore"; import { Log, LogSortType, SortDirection } from "@/types"; import { @@ -39,13 +40,9 @@ export const IndexPage = () => { confirmDeleteAll, handleSetPage, currentPage, - setEnemyIdFilter, - setQuestIdFilter, toggleSort, - sortType, - sortDirection, - questCompletedFilter, - setQuestCompletedFilter, + setFilters, + filters, } = useIndex(); const { streamer_mode, show_display_names } = useMeterSettingsStore( @@ -119,12 +116,9 @@ export const IndexPage = () => { - - - + + + {searchResult.logs.length === 0 && } {searchResult.logs.length > 0 && ( @@ -144,8 +138,8 @@ export const IndexPage = () => { toggleSort("time")} > {t("ui.logs.date")} @@ -157,8 +151,8 @@ export const IndexPage = () => { toggleSort("duration")} > {t("ui.logs.duration")} @@ -167,8 +161,8 @@ export const IndexPage = () => { toggleSort("quest-elapsed-time")} > {t("ui.logs.quest-elapsed-time")} @@ -298,10 +292,12 @@ function BlankTable() { function SelectableEnemy({ targetIds, - setSelectedTarget, + filters, + setFilters, }: { targetIds: number[]; - setSelectedTarget: (value: number | null) => void; + filters: FilterState; + setFilters: (filters: Partial) => void; }) { const { t } = useTranslation(); const targetOptions = useMemo( @@ -312,7 +308,8 @@ function SelectableEnemy({ return ( setSelectedQuest(value ? Number(value) : null)} + value={filters.filterByQuestId?.toString() ?? null} + onChange={(value) => setFilters({ filterByQuestId: value ? Number(value) : null })} placeholder={t("ui.select-quest")} searchable clearable @@ -345,11 +345,11 @@ function SelectableQuest({ } function SelectableQuestCompletion({ - questCompletedFilter, - setQuestCompletionFilter, + filters, + setFilters, }: { - questCompletedFilter: boolean | null; - setQuestCompletionFilter: (value: boolean | null) => void; + filters: FilterState; + setFilters: (filters: Partial) => void; }) { return (