Use Zustand store; modularize API & routes

Introduce a centralized Zustand store and refactor app state out of App.tsx into src/store/appStore.ts. Modularize API surface by moving media/cast/settings/converters/types into src/lib/api/* and re-exporting from src/api.ts for backward compatibility. Replace inline route helpers with dedicated route components (MediaDetailRoute, CastDetailRoute, CategoryBrowseRoute) and wire CATEGORY_PATHS/PATH_TO_CATEGORY constants. Update AddMediaView UI (icons, layout) and adjust settings/category handling to use DEFAULT_SETTINGS and the store. Add zustand to package.json/package-lock.json and include a new React SKILL.md. Overall changes improve state management, API organization, and route/component separation for better maintainability and code-splitting.
This commit is contained in:
Lars Behrends
2026-04-16 14:53:46 +02:00
parent a407b57006
commit 432416cfc5
22 changed files with 1843 additions and 1342 deletions
+7 -1
View File
@@ -127,7 +127,13 @@ export const MOCK_MEDIA: Media[] = [
studios: ['Example Studio'],
}
];
export const DETAIL_MEDIA: Media = {}
export const DETAIL_MEDIA: Media = {
id: '',
title: '',
year: '',
poster: '',
category: 'Movies'
}
/*
export const DETAIL_MEDIA: Media = {
id: 'mob-psycho',