From feab19913bf5f1a37047684524375f18af785463 Mon Sep 17 00:00:00 2001
From: Yao Changyi <89594808+yang-summer@users.noreply.github.com>
Date: Wed, 11 Mar 2026 05:58:56 +0800
Subject: [PATCH] feat: Allow sidebar button list to scroll internally on
overflow (#2791)
---
.../builder/$resumeId/-components/edge.tsx | 2 +-
.../builder/$resumeId/-sidebar/left/index.tsx | 50 ++++++++++---------
.../$resumeId/-sidebar/right/index.tsx | 8 ++-
src/styles/globals.css | 8 +++
4 files changed, 38 insertions(+), 30 deletions(-)
diff --git a/src/routes/builder/$resumeId/-components/edge.tsx b/src/routes/builder/$resumeId/-components/edge.tsx
index 1c3318aec..f9a4e34b9 100644
--- a/src/routes/builder/$resumeId/-components/edge.tsx
+++ b/src/routes/builder/$resumeId/-components/edge.tsx
@@ -9,7 +9,7 @@ export function BuilderSidebarEdge({ side, children }: Props) {
return (
diff --git a/src/routes/builder/$resumeId/-sidebar/left/index.tsx b/src/routes/builder/$resumeId/-sidebar/left/index.tsx
index 4436e0fcf..b62313edf 100644
--- a/src/routes/builder/$resumeId/-sidebar/left/index.tsx
+++ b/src/routes/builder/$resumeId/-sidebar/left/index.tsx
@@ -88,32 +88,34 @@ function SidebarEdge({ scrollAreaRef }: SidebarEdgeProps) {
return (
-
+
+
+
+ {leftSidebarSections.map((section) => (
+
+ ))}
+
+
-
- {leftSidebarSections.map((section) => (
-
- ))}
+
+ {({ session }) => (
+
+ )}
+
-
-
- {({ session }) => (
-
- )}
-
);
}
diff --git a/src/routes/builder/$resumeId/-sidebar/right/index.tsx b/src/routes/builder/$resumeId/-sidebar/right/index.tsx
index bb260a3a7..8158021bf 100644
--- a/src/routes/builder/$resumeId/-sidebar/right/index.tsx
+++ b/src/routes/builder/$resumeId/-sidebar/right/index.tsx
@@ -83,9 +83,8 @@ function SidebarEdge({ scrollAreaRef }: SidebarEdgeProps) {
return (
-
-
-
+
+
{rightSidebarSections.map((section) => (
-
-
+
);
}
diff --git a/src/styles/globals.css b/src/styles/globals.css
index a6e5be3ab..36b57ae1f 100644
--- a/src/styles/globals.css
+++ b/src/styles/globals.css
@@ -131,6 +131,14 @@
aspect-ratio: 1 / 1.4142;
}
+@utility no-scrollbar {
+ scrollbar-width: none;
+
+ &::-webkit-scrollbar {
+ display: none;
+ }
+}
+
@layer base {
* {
@apply border-border outline-ring/50 min-w-0;