Replaced server action with api route.

This commit is contained in:
Mike Cao 2025-09-18 11:32:21 -07:00
parent 93e71d900f
commit 2a559aa661
2 changed files with 27 additions and 17 deletions

View file

@ -1,19 +1,14 @@
'use server';
import { parseRequest } from '@/lib/request';
import { json } from '@/lib/response';
export type Config = {
cloudMode: boolean;
cloudUrl?: string;
faviconUrl?: string;
linksUrl?: string;
pixelsUrl?: string;
privateMode: boolean;
telemetryDisabled: boolean;
trackerScriptName?: string;
updatesDisabled: boolean;
};
export async function GET(request: Request) {
const { error } = await parseRequest(request, null, { skipAuth: true });
export async function getConfig(): Promise<Config> {
return {
if (error) {
return error();
}
return json({
cloudMode: !!process.env.CLOUD_URL,
cloudUrl: process.env.CLOUD_URL,
faviconUrl: process.env.FAVICON_URL,
@ -23,5 +18,5 @@ export async function getConfig(): Promise<Config> {
telemetryDisabled: !!process.env.DISABLE_TELEMETRY,
trackerScriptName: process.env.TRACKER_SCRIPT_NAME,
updatesDisabled: !!process.env.DISABLE_UPDATES,
};
});
}

View file

@ -1,12 +1,27 @@
import { useEffect } from 'react';
import { useApp, setConfig } from '@/store/app';
import { getConfig, Config } from '@/app/actions/getConfig';
import { useApi } from '@/components/hooks/useApi';
export type Config = {
cloudMode: boolean;
cloudUrl?: string;
faviconUrl?: string;
linksUrl?: string;
pixelsUrl?: string;
privateMode: boolean;
telemetryDisabled: boolean;
trackerScriptName?: string;
updatesDisabled: boolean;
};
export function useConfig(): Config {
const { config } = useApp();
const { get } = useApi();
async function loadConfig() {
setConfig(await getConfig());
const { data } = await get(`/config`);
setConfig(data);
}
useEffect(() => {