diff --git a/apps/mail/actions/settings.ts b/apps/mail/actions/settings.ts index d04a91171..40c251cb9 100644 --- a/apps/mail/actions/settings.ts +++ b/apps/mail/actions/settings.ts @@ -22,12 +22,9 @@ export async function saveUserSettings(settings: UserSettings) { try { const userId = await getAuthenticatedUserId(); if (!userId) throw new Error('No user ID found'); - console.error(settings, 'before'); settings = validateSettings(settings); - console.error(settings, 'after'); - const timestamp = new Date(); const [existingSettings] = await db diff --git a/apps/mail/app/(routes)/settings/appearance/page.tsx b/apps/mail/app/(routes)/settings/appearance/page.tsx index f7083bf09..a81387e55 100644 --- a/apps/mail/app/(routes)/settings/appearance/page.tsx +++ b/apps/mail/app/(routes)/settings/appearance/page.tsx @@ -42,7 +42,7 @@ export default function AppearancePage() { const form = useForm>({ resolver: zodResolver(formSchema), defaultValues: { - colorTheme: settings?.colorTheme || '', + colorTheme: settings?.colorTheme || theme, }, }); @@ -55,6 +55,7 @@ export default function AppearancePage() { function update() { setTheme(newTheme); + form.setValue('colorTheme', newTheme as z.infer['colorTheme']); } if (document.startViewTransition && nextResolvedTheme !== resolvedTheme) { @@ -109,7 +110,7 @@ export default function AppearancePage() {
- {settings.colorTheme ? ( + {settings.colorTheme || theme ? ( { handleThemeChange(value); - field.onChange(value); }} - defaultValue={settings.colorTheme} + defaultValue={form.getValues().colorTheme} > diff --git a/apps/mail/app/api/auth/settings/route.ts b/apps/mail/app/api/auth/settings/route.ts index 467e1be72..775a5b2b3 100644 --- a/apps/mail/app/api/auth/settings/route.ts +++ b/apps/mail/app/api/auth/settings/route.ts @@ -31,8 +31,7 @@ export const GET = async (req: NextRequest) => { .where(eq(userSettings.userId, userId)) .limit(1); - // Returning null here when there are no settings so we can use the default settings with timezone from the browser - if (!result) return NextResponse.json({ settings: defaultUserSettings }, { status: 200 }); + if (!result) return NextResponse.json({ ...defaultUserSettings }, { status: 200 }); const settings = userSettingsSchema.parse(result.settings); diff --git a/apps/mail/components/mail/mail-iframe.tsx b/apps/mail/components/mail/mail-iframe.tsx index 937f370f0..916db4442 100644 --- a/apps/mail/components/mail/mail-iframe.tsx +++ b/apps/mail/components/mail/mail-iframe.tsx @@ -17,7 +17,7 @@ export function MailIframe({ html, senderEmail }: { html: string; senderEmail: s [settings, senderEmail], ); const [cspViolation, setCspViolation] = useState(false); - const [imagesEnabled, setImagesEnabled] = useState(false); + const [imagesEnabled, setImagesEnabled] = useState(settings?.externalImages || true); const iframeRef = useRef(null); const [height, setHeight] = useState(0); const { resolvedTheme } = useTheme(); diff --git a/apps/mail/components/ui/app-sidebar.tsx b/apps/mail/components/ui/app-sidebar.tsx index ff2dcac59..286a1e994 100644 --- a/apps/mail/components/ui/app-sidebar.tsx +++ b/apps/mail/components/ui/app-sidebar.tsx @@ -120,11 +120,9 @@ export function AppSidebar({ ...props }: React.ComponentProps) { className={`mt-auto flex w-full flex-col ${state !== 'collapsed' ? 'px-0 md:px-2' : ''}`} > - - - - - +
+ +
diff --git a/apps/mail/components/ui/nav-main.tsx b/apps/mail/components/ui/nav-main.tsx index bf6c9dc86..3cc1090b1 100644 --- a/apps/mail/components/ui/nav-main.tsx +++ b/apps/mail/components/ui/nav-main.tsx @@ -420,7 +420,7 @@ export function NavMain({ items }: NavMainProps) {
{labels.map((label) => ( diff --git a/apps/mail/components/ui/sidebar.tsx b/apps/mail/components/ui/sidebar.tsx index 9e7ab1330..3e13fb00a 100644 --- a/apps/mail/components/ui/sidebar.tsx +++ b/apps/mail/components/ui/sidebar.tsx @@ -278,7 +278,7 @@ const SidebarGroup = React.forwardRef ); diff --git a/packages/db/src/user_settings_default.ts b/packages/db/src/user_settings_default.ts index 492a432ed..35935e474 100644 --- a/packages/db/src/user_settings_default.ts +++ b/packages/db/src/user_settings_default.ts @@ -4,7 +4,7 @@ export const defaultUserSettings = { language: 'en', timezone: 'UTC', dynamicContent: false, - externalImages: false, + externalImages: true, customPrompt: '', trustedSenders: [], isOnboarded: false,