improve AI

This commit is contained in:
Andras Schmelczer 2026-03-15 11:09:01 +00:00
parent daf830c5ed
commit b3a7ab40c8
7 changed files with 118 additions and 17 deletions

View file

@ -143,16 +143,29 @@ export default function MapPage({
});
const aiFilters = useAiFilters();
const travelTime = useTravelTime(initialTravelTime);
const handleAiFilterSubmit = useCallback(
async (query: string) => {
const result = await aiFilters.fetchAiFilters(query);
if (result) handleSetFilters(result.filters);
if (!result) return;
handleSetFilters(result.filters);
// Apply travel time filters from AI
if (result.travelTimeFilters.length > 0) {
const newEntries = result.travelTimeFilters.map((tt) => ({
mode: tt.mode,
slug: tt.slug,
label: tt.label,
timeRange: [tt.min ?? 0, tt.max ?? 120] as [number, number],
useBest: false,
}));
travelTime.handleSetEntries(newEntries);
}
},
[aiFilters.fetchAiFilters, handleSetFilters]
[aiFilters.fetchAiFilters, handleSetFilters, travelTime.handleSetEntries]
);
const travelTime = useTravelTime(initialTravelTime);
const handleTravelTimeSetDestination = useCallback(
(index: number, slug: string, label: string) => {
travelTime.handleSetDestination(index, slug, label);
@ -499,8 +512,11 @@ export default function MapPage({
onTravelTimeToggleBest={travelTime.handleToggleBest}
aiFilterLoading={aiFilters.loading}
aiFilterError={aiFilters.error}
aiFilterErrorType={aiFilters.errorType}
aiFilterNotes={aiFilters.notes}
onAiFilterSubmit={handleAiFilterSubmit}
isLoggedIn={!!user}
onLoginRequired={onRegisterClick ?? (() => {})}
isLicensed={user?.subscription === 'licensed'}
onUpgradeClick={() => onNavigateTo('pricing')}
onResetTutorial={tutorial.resetTutorial}