From a5b8bf6f60841c2c84956e83df2aaaf4e6d16073 Mon Sep 17 00:00:00 2001
From: KiwiGaze <1244666638@qq.com>
Date: Tue, 3 Mar 2026 21:08:53 +0800
Subject: [PATCH 1/5] fix: improve mobile overflow handling in settings layout
and navigation components
---
apps/web/app/(protected)/settings/layout.tsx | 4 +-
.../integrations/integration-row.tsx | 12 ++--
.../primary-calendar-selector.tsx | 10 +--
.../primary-task-list-selector.tsx | 10 +--
apps/web/components/settings/settings-nav.tsx | 66 ++++++++++---------
5 files changed, 52 insertions(+), 50 deletions(-)
diff --git a/apps/web/app/(protected)/settings/layout.tsx b/apps/web/app/(protected)/settings/layout.tsx
index 489dcd83..e35b5073 100644
--- a/apps/web/app/(protected)/settings/layout.tsx
+++ b/apps/web/app/(protected)/settings/layout.tsx
@@ -6,11 +6,11 @@ interface SettingsLayoutProps {
export default function SettingsLayout({ children }: SettingsLayoutProps) {
return (
-
+
-
{children}
+
{children}
);
}
diff --git a/apps/web/components/integrations/integration-row.tsx b/apps/web/components/integrations/integration-row.tsx
index ee756f75..91f22c7b 100644
--- a/apps/web/components/integrations/integration-row.tsx
+++ b/apps/web/components/integrations/integration-row.tsx
@@ -31,13 +31,13 @@ export function IntegrationRow({
}: IntegrationRowProps) {
return (
-
-
+
+
{icon}
-
-
+
+
{title}
{isConnected && !isInvalid && isPrimaryProvider && (
-
+
{isConnected && !isInvalid && (
Connected
)}
{action}
- {children &&
{children}
}
+ {children &&
{children}
}
);
}
diff --git a/apps/web/components/integrations/primary-calendar-selector.tsx b/apps/web/components/integrations/primary-calendar-selector.tsx
index afe6d7e7..6fe26cd4 100644
--- a/apps/web/components/integrations/primary-calendar-selector.tsx
+++ b/apps/web/components/integrations/primary-calendar-selector.tsx
@@ -90,8 +90,8 @@ export function PrimaryCalendarSelector({
};
return (
-
-
+
+
{selectedProvider === "GOOGLE_CALENDAR" ? (
@@ -101,7 +101,7 @@ export function PrimaryCalendarSelector({
)}
-
+
Primary Calendar
@@ -110,7 +110,7 @@ export function PrimaryCalendarSelector({
-
+
{(isPending || parentLoading) && (
)}
@@ -119,7 +119,7 @@ export function PrimaryCalendarSelector({
onValueChange={(value) => void handleSelect(value)}
disabled={isPending || parentLoading || calendars.length === 0}
>
-
+
diff --git a/apps/web/components/integrations/primary-task-list-selector.tsx b/apps/web/components/integrations/primary-task-list-selector.tsx
index 8a10e734..39bd4280 100644
--- a/apps/web/components/integrations/primary-task-list-selector.tsx
+++ b/apps/web/components/integrations/primary-task-list-selector.tsx
@@ -85,8 +85,8 @@ export function PrimaryTaskListSelector({
};
return (
-
-
+
+
{selectedProvider === "GOOGLE_TASKS" ? (
@@ -96,7 +96,7 @@ export function PrimaryTaskListSelector({
)}
-
+
Primary Task List
@@ -105,7 +105,7 @@ export function PrimaryTaskListSelector({
-
+
{(isPending || parentLoading) && (
)}
@@ -114,7 +114,7 @@ export function PrimaryTaskListSelector({
onValueChange={(value) => void handleSelect(value)}
disabled={isPending || parentLoading || taskLists.length === 0}
>
-
+
diff --git a/apps/web/components/settings/settings-nav.tsx b/apps/web/components/settings/settings-nav.tsx
index f1bfbf81..fbf07cb0 100644
--- a/apps/web/components/settings/settings-nav.tsx
+++ b/apps/web/components/settings/settings-nav.tsx
@@ -49,40 +49,42 @@ export function SettingsNav() {
{/* Mobile top nav */}
-
- {settingsSections.map((item) => {
- const isActive = pathname === item.href;
- const Icon = item.icon ? Icons[item.icon] : null;
+
+
+ {settingsSections.map((item) => {
+ const isActive = pathname === item.href;
+ const Icon = item.icon ? Icons[item.icon] : null;
- return (
-
- {isActive && (
-
- )}
- {Icon ? (
-
-
+ return (
+
+ {isActive && (
+
+ )}
+ {Icon ? (
+
+
+
+ ) : null}
+
+ {item.title}
- ) : null}
-
- {item.title}
-
-
- );
- })}
+
+ );
+ })}
+
From 4b291a18cdc3f871f3e2e42c1ad642fa01236387 Mon Sep 17 00:00:00 2001
From: KiwiGaze <1244666638@qq.com>
Date: Tue, 3 Mar 2026 21:29:39 +0800
Subject: [PATCH 2/5] fix: update mobile active settings nav transition for
improved styling
---
apps/web/components/settings/settings-nav.tsx | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/apps/web/components/settings/settings-nav.tsx b/apps/web/components/settings/settings-nav.tsx
index fbf07cb0..79bd82fa 100644
--- a/apps/web/components/settings/settings-nav.tsx
+++ b/apps/web/components/settings/settings-nav.tsx
@@ -70,7 +70,11 @@ export function SettingsNav() {
)}
{Icon ? (
From 9024a785ae2fea4081b9ac4e4423219ef3feebfc Mon Sep 17 00:00:00 2001
From: KiwiGaze <1244666638@qq.com>
Date: Tue, 3 Mar 2026 22:04:39 +0800
Subject: [PATCH 3/5] fix: add viewport meta tag and improve layout overflow
handling for mobile
---
apps/web/app/head.tsx | 10 ++++++++++
apps/web/app/layout.tsx | 3 +--
2 files changed, 11 insertions(+), 2 deletions(-)
create mode 100644 apps/web/app/head.tsx
diff --git a/apps/web/app/head.tsx b/apps/web/app/head.tsx
new file mode 100644
index 00000000..48d1e23c
--- /dev/null
+++ b/apps/web/app/head.tsx
@@ -0,0 +1,10 @@
+export default function Head() {
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx
index 352b07ae..4a86d05f 100644
--- a/apps/web/app/layout.tsx
+++ b/apps/web/app/layout.tsx
@@ -82,10 +82,9 @@ export function generateMetadata(): Metadata {
export default function RootLayout({ children }: RootLayoutProps) {
return (
-
Date: Tue, 3 Mar 2026 22:05:24 +0800
Subject: [PATCH 4/5] fix: simplify viewport meta tag structure in Head
component
---
apps/web/app/head.tsx | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/apps/web/app/head.tsx b/apps/web/app/head.tsx
index 48d1e23c..12d7f039 100644
--- a/apps/web/app/head.tsx
+++ b/apps/web/app/head.tsx
@@ -1,10 +1,8 @@
export default function Head() {
return (
- <>
-
- >
+
);
}
From 88835db37c6e22fcafc59c644fd87e2992b8a86e Mon Sep 17 00:00:00 2001
From: KiwiGaze <1244666638@qq.com>
Date: Tue, 3 Mar 2026 22:10:27 +0800
Subject: [PATCH 5/5] fix: add aria-current attribute to mobile navigation
links for accessibility
---
apps/web/components/settings/settings-nav.tsx | 2 ++
1 file changed, 2 insertions(+)
diff --git a/apps/web/components/settings/settings-nav.tsx b/apps/web/components/settings/settings-nav.tsx
index 79bd82fa..88b6d056 100644
--- a/apps/web/components/settings/settings-nav.tsx
+++ b/apps/web/components/settings/settings-nav.tsx
@@ -24,6 +24,7 @@ export function SettingsNav() {