- Implemented `getAppConfig` and `upsertAppConfig` functions in `config.ts` for managing application settings in the database. - Updated `mod.ts` to export the new configuration functions. - Refactored `ComicConfig.ts` to load and update comic watch paths using the new configuration functions. - Modified `comic_watcher.ts` to accept paths as parameters for creating watchers. - Created a new settings router in `settings.ts` for managing application settings via HTTP requests. - Integrated the settings router into the main server in `server.ts`. - Updated the settings management to use the new database-backed configuration. - Removed legacy configuration management code from `configRW.ts`. - Added integration tests for the settings router and error handling. - Updated `vitest` configuration for testing. - Cleaned up unused type definitions in `pnpm-lock.yaml`.
10 lines
320 B
TypeScript
10 lines
320 B
TypeScript
import useSWR from "swr";
|
|
import { fetcher } from "./fetcher";
|
|
import type { ServerSettingResponse } from "dbtype/mod.ts";
|
|
|
|
export function useServerSettings(enabled: boolean) {
|
|
return useSWR<ServerSettingResponse>(
|
|
enabled ? "/api/settings" : null,
|
|
(url: string) => fetcher(url, { credentials: "include" }),
|
|
);
|
|
}
|