From 3bff31c07a943eea69ddf1cbbc677eab2240b02a Mon Sep 17 00:00:00 2001 From: gibbyb Date: Wed, 17 Sep 2025 16:40:38 -0500 Subject: [PATCH] Fix more bugs with lunch reminder --- apps/next/src/app/layout.tsx | 2 +- .../src/components/layout/profile/user-info.tsx | 14 +++++++++----- .../providers/notification-permission.tsx | 6 ++++++ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/apps/next/src/app/layout.tsx b/apps/next/src/app/layout.tsx index 73ad7e7..9f48c6d 100644 --- a/apps/next/src/app/layout.tsx +++ b/apps/next/src/app/layout.tsx @@ -49,9 +49,9 @@ const RootLayout = async ({
{children} + - diff --git a/apps/next/src/components/layout/profile/user-info.tsx b/apps/next/src/components/layout/profile/user-info.tsx index c22b82a..7b7c07a 100644 --- a/apps/next/src/components/layout/profile/user-info.tsx +++ b/apps/next/src/components/layout/profile/user-info.tsx @@ -1,5 +1,5 @@ 'use client'; -import { useState } from 'react'; +import { useMemo, useState } from 'react'; import { type Preloaded, usePreloadedQuery, useMutation } from 'convex/react'; import { api } from '~/convex/_generated/api'; import { z } from 'zod'; @@ -50,13 +50,17 @@ export const UserInfoForm = ({ preloadedUser }: UserInfoFormProps) => { const updateUserEmail = useMutation(api.auth.updateUserEmail); const updateUserLunchtime = useMutation(api.auth.updateUserLunchtime); - const form = useForm>({ - resolver: zodResolver(formSchema), - defaultValues: { + const initialValues = useMemo>( + () => ({ name: user?.name ?? '', email: user?.email ?? '', lunchTime: user?.lunchTime ?? '', - }, + }), [user?.name, user?.email, user?.lunchTime] + ); + + const form = useForm>({ + resolver: zodResolver(formSchema), + values: initialValues, }); const handleSubmit = async (values: z.infer) => { diff --git a/apps/next/src/components/providers/notification-permission.tsx b/apps/next/src/components/providers/notification-permission.tsx index 539f58c..78941d3 100644 --- a/apps/next/src/components/providers/notification-permission.tsx +++ b/apps/next/src/components/providers/notification-permission.tsx @@ -1,5 +1,6 @@ 'use client'; +import { permission } from 'process'; import { useEffect } from 'react'; import { toast } from 'sonner'; @@ -12,6 +13,11 @@ export const NotificationsPermission = () => { // Only ask once; tweak logic to your taste. const prompted = localStorage.getItem(STORAGE_KEY) === '1'; + console.log('NotificationsPermission', { + supported: true, + permission: Notification.permission, + prompted, + }); if (prompted) return; if (Notification.permission === 'default') {