File tree Expand file tree Collapse file tree 5 files changed +44
-7
lines changed Expand file tree Collapse file tree 5 files changed +44
-7
lines changed Original file line number Diff line number Diff line change @@ -4,13 +4,15 @@ volumes:
4
4
services :
5
5
langgraph-redis :
6
6
image : docker.io/redis:6
7
+ container_name : langgraph-redis
7
8
healthcheck :
8
9
test : redis-cli ping
9
10
interval : 5s
10
11
timeout : 1s
11
12
retries : 5
12
13
langgraph-postgres :
13
14
image : docker.io/postgres:16
15
+ container_name : langgraph-postgres
14
16
ports :
15
17
- " 5433:5432"
16
18
environment :
@@ -27,6 +29,7 @@ services:
27
29
interval : 5s
28
30
langgraph-api :
29
31
image : gemini-fullstack-langgraph
32
+ container_name : langgraph-api
30
33
ports :
31
34
- " 8123:8000"
32
35
depends_on :
Original file line number Diff line number Diff line change @@ -252,9 +252,9 @@ export function ChatMessagesView({
252
252
} ;
253
253
254
254
return (
255
- < div className = "flex flex-col h-full" >
256
- < ScrollArea className = "flex-grow " ref = { scrollAreaRef } >
257
- < div className = "p-4 md:p-6 space-y-2 max-w-4xl mx-auto pt-16 " >
255
+ < div className = "flex flex-col h-full overflow-hidden " >
256
+ < ScrollArea className = "flex-1 min-h-0 " ref = { scrollAreaRef } >
257
+ < div className = "p-4 md:p-6 pb-2 space-y-2 max-w-4xl mx-auto" >
258
258
{ messages . map ( ( message , index ) => {
259
259
const isLast = index === messages . length - 1 ;
260
260
return (
Original file line number Diff line number Diff line change @@ -49,7 +49,7 @@ export const InputForm: React.FC<InputFormProps> = ({
49
49
return (
50
50
< form
51
51
onSubmit = { handleInternalSubmit }
52
- className = { `flex flex-col gap-2 p-3 ` }
52
+ className = { `flex flex-col gap-2 p-3 pb-4 ` }
53
53
>
54
54
< div
55
55
className = { `flex flex-row items-center justify-between text-white rounded-3xl rounded-bl-sm ${
Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ function ScrollArea({
17
17
< ScrollAreaPrimitive . Viewport
18
18
data-slot = "scroll-area-viewport"
19
19
className = "focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1"
20
+ style = { { overscrollBehavior : 'none' } }
20
21
>
21
22
{ children }
22
23
</ ScrollAreaPrimitive . Viewport >
@@ -38,16 +39,16 @@ function ScrollBar({
38
39
className = { cn (
39
40
"flex touch-none p-px transition-colors select-none" ,
40
41
orientation === "vertical" &&
41
- "h-full w-2 .5 border-l border-l-transparent" ,
42
+ "h-full w-1 .5 border-l border-l-transparent" ,
42
43
orientation === "horizontal" &&
43
- "h-2 .5 flex-col border-t border-t-transparent" ,
44
+ "h-1 .5 flex-col border-t border-t-transparent" ,
44
45
className
45
46
) }
46
47
{ ...props }
47
48
>
48
49
< ScrollAreaPrimitive . ScrollAreaThumb
49
50
data-slot = "scroll-area-thumb"
50
- className = "bg-border relative flex-1 rounded-full"
51
+ className = "bg-neutral-600/30 relative flex-1 rounded-full"
51
52
/>
52
53
</ ScrollAreaPrimitive . ScrollAreaScrollbar >
53
54
)
Original file line number Diff line number Diff line change 116
116
}
117
117
body {
118
118
@apply bg-background text-foreground;
119
+ /* Prevent scroll bounce/overscroll on mobile */
120
+ overscroll-behavior : none;
121
+ -webkit-overflow-scrolling : touch;
122
+ }
123
+ html {
124
+ /* Prevent scroll bounce on the entire page */
125
+ overscroll-behavior : none;
119
126
}
120
127
}
121
128
150
157
animation : fadeInUpSmooth 0.3s ease-out forwards;
151
158
}
152
159
160
+ /* Prevent scroll bounce on scroll areas */
161
+ [data-radix-scroll-area-viewport ] {
162
+ overscroll-behavior : none !important ;
163
+ -webkit-overflow-scrolling : touch;
164
+ }
165
+
166
+ /* Hide any white space that might appear during scroll bounce */
167
+ [data-radix-scroll-area-viewport ]::-webkit-scrollbar {
168
+ width : 0px ;
169
+ background : transparent;
170
+ }
171
+
172
+ /* Subtle scroll bar styling */
173
+ [data-slot = "scroll-area-scrollbar" ] {
174
+ opacity : 0.3 ;
175
+ transition : opacity 0.2s ease;
176
+ }
177
+
178
+ [data-slot = "scroll-area" ]: hover [data-slot = "scroll-area-scrollbar" ] {
179
+ opacity : 0.6 ;
180
+ }
181
+
182
+ [data-slot = "scroll-area-thumb" ] {
183
+ background-color : rgb (115 115 115 / 0.2 ) !important ;
184
+ }
185
+
153
186
/* Ensure your body or html has a dark background if not already set, e.g.: */
154
187
/* body { background-color: #0c0c0d; } */ /* This is similar to neutral-950 */
You can’t perform that action at this time.
0 commit comments