From 93e71d900f67bde9c0cd8d0ea9ef03fe07cd1f94 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 18 Sep 2025 10:37:42 -0700 Subject: [PATCH 1/3] Updated settings button. --- src/components/input/SettingsButton.tsx | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/src/components/input/SettingsButton.tsx b/src/components/input/SettingsButton.tsx index 3536d1d5..a1980821 100644 --- a/src/components/input/SettingsButton.tsx +++ b/src/components/input/SettingsButton.tsx @@ -8,12 +8,9 @@ import { MenuItem, MenuSeparator, MenuSection, - Dialog, - SubMenuTrigger, } from '@umami/react-zen'; import { useMessages, useLoginQuery, useNavigation, useConfig } from '@/components/hooks'; -import { LogOut, LockKeyhole, Settings, Knobs } from '@/components/icons'; -import { PreferenceSettings } from '@/app/(main)/settings/preferences/PreferenceSettings'; +import { LogOut, LockKeyhole, Settings } from '@/components/icons'; export function SettingsButton() { const { formatMessage, labels } = useMessages(); @@ -44,20 +41,6 @@ export function SettingsButton() { } label={formatMessage(labels.settings)} /> - {cloudMode && ( - - } - label={formatMessage(labels.preferences)} - showSubMenuIcon - /> - - - - - - - )} {!cloudMode && user.isAdmin && ( } label={formatMessage(labels.admin)} /> )} From 2a559aa6617ee2a50a2e5253cfa92aaf9d0c3b9c Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 18 Sep 2025 11:32:21 -0700 Subject: [PATCH 2/3] Replaced server action with api route. --- .../getConfig.ts => api/config/route.ts} | 25 ++++++++----------- src/components/hooks/useConfig.ts | 19 ++++++++++++-- 2 files changed, 27 insertions(+), 17 deletions(-) rename src/app/{actions/getConfig.ts => api/config/route.ts} (55%) diff --git a/src/app/actions/getConfig.ts b/src/app/api/config/route.ts similarity index 55% rename from src/app/actions/getConfig.ts rename to src/app/api/config/route.ts index 534c008e..7fa9ce8e 100644 --- a/src/app/actions/getConfig.ts +++ b/src/app/api/config/route.ts @@ -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 { - 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 { telemetryDisabled: !!process.env.DISABLE_TELEMETRY, trackerScriptName: process.env.TRACKER_SCRIPT_NAME, updatesDisabled: !!process.env.DISABLE_UPDATES, - }; + }); } diff --git a/src/components/hooks/useConfig.ts b/src/components/hooks/useConfig.ts index 46c815d6..3fff832f 100644 --- a/src/components/hooks/useConfig.ts +++ b/src/components/hooks/useConfig.ts @@ -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(() => { From ffc8f6faaeb5363f6bfb24c3f5dbff6ec667f216 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Thu, 18 Sep 2025 15:38:55 -0700 Subject: [PATCH 3/3] Fixed config fetch. --- src/components/hooks/useConfig.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/hooks/useConfig.ts b/src/components/hooks/useConfig.ts index 3fff832f..17013643 100644 --- a/src/components/hooks/useConfig.ts +++ b/src/components/hooks/useConfig.ts @@ -19,7 +19,7 @@ export function useConfig(): Config { const { get } = useApi(); async function loadConfig() { - const { data } = await get(`/config`); + const data = await get(`/config`); setConfig(data); }