Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
math_tutor_dev
public_math_tutor
Commits
0ba824d9
Commit
0ba824d9
authored
Jan 19, 2026
by
Kantz
Browse files
chat hat eigene Scrollbar
parent
dbf6c396
Changes
3
Hide whitespace changes
Inline
Side-by-side
math-tutor/frontend/src/components/Chat/MessageInput.tsx
View file @
0ba824d9
...
@@ -34,6 +34,12 @@ export default function MessageInput({
...
@@ -34,6 +34,12 @@ export default function MessageInput({
rows
=
{
3
}
rows
=
{
3
}
value
=
{
value
}
value
=
{
value
}
onChange
=
{
(
event
)
=>
onChange
(
event
.
target
.
value
)
}
onChange
=
{
(
event
)
=>
onChange
(
event
.
target
.
value
)
}
onKeyDown
=
{
(
event
)
=>
{
if
(
event
.
key
===
"
Enter
"
&&
event
.
ctrlKey
)
{
event
.
preventDefault
();
onSend
();
}
}
}
/>
/>
</
div
>
</
div
>
);
);
...
...
math-tutor/frontend/src/pages/App.tsx
View file @
0ba824d9
...
@@ -31,7 +31,7 @@ const mockDocs: RetrievedDoc[] = [
...
@@ -31,7 +31,7 @@ const mockDocs: RetrievedDoc[] = [
export
default
function
App
()
{
export
default
function
App
()
{
const
[
messages
,
setMessages
]
=
useState
<
ChatMessage
[]
>
(
initialMessages
);
const
[
messages
,
setMessages
]
=
useState
<
ChatMessage
[]
>
(
initialMessages
);
const
[
draft
,
setDraft
]
=
useState
(
""
);
const
[
draft
,
setDraft
]
=
useState
(
""
);
const
[
isCanvasVisible
,
setIsCanvasVisible
]
=
useState
(
tru
e
);
const
[
isCanvasVisible
,
setIsCanvasVisible
]
=
useState
(
fals
e
);
const
handleSend
=
async
()
=>
{
const
handleSend
=
async
()
=>
{
const
trimmed
=
draft
.
trim
();
const
trimmed
=
draft
.
trim
();
...
...
math-tutor/frontend/src/styles/theme.css
View file @
0ba824d9
...
@@ -13,10 +13,16 @@ body {
...
@@ -13,10 +13,16 @@ body {
margin
:
0
;
margin
:
0
;
}
}
.app-shell
{
#root
{
min-height
:
100vh
;
min-height
:
100vh
;
}
.app-shell
{
height
:
100vh
;
padding
:
24px
;
padding
:
24px
;
background
:
radial-gradient
(
circle
at
top
left
,
#fff7e6
,
#f4f1ea
);
background
:
radial-gradient
(
circle
at
top
left
,
#fff7e6
,
#f4f1ea
);
display
:
flex
;
flex-direction
:
column
;
}
}
.app-header
{
.app-header
{
...
@@ -73,12 +79,16 @@ body {
...
@@ -73,12 +79,16 @@ body {
display
:
grid
;
display
:
grid
;
grid-template-columns
:
minmax
(
0
,
2
fr
)
minmax
(
0
,
1
fr
);
grid-template-columns
:
minmax
(
0
,
2
fr
)
minmax
(
0
,
1
fr
);
gap
:
24px
;
gap
:
24px
;
flex
:
1
;
min-height
:
0
;
overflow
:
hidden
;
}
}
.chat-column
{
.chat-column
{
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
gap
:
16px
;
gap
:
16px
;
min-height
:
0
;
}
}
.chat-window
{
.chat-window
{
...
@@ -89,7 +99,8 @@ body {
...
@@ -89,7 +99,8 @@ body {
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
gap
:
16px
;
gap
:
16px
;
min-height
:
420px
;
min-height
:
0
;
flex
:
1
;
}
}
.chat-title
{
.chat-title
{
...
@@ -102,6 +113,7 @@ body {
...
@@ -102,6 +113,7 @@ body {
flex-direction
:
column
;
flex-direction
:
column
;
gap
:
12px
;
gap
:
12px
;
overflow-y
:
auto
;
overflow-y
:
auto
;
min-height
:
0
;
}
}
.message-bubble
{
.message-bubble
{
...
@@ -135,6 +147,10 @@ body {
...
@@ -135,6 +147,10 @@ body {
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
}
}
.composer-row
.btn.primary
{
margin-left
:
auto
;
}
.composer-input
{
.composer-input
{
width
:
100%
;
width
:
100%
;
resize
:
vertical
;
resize
:
vertical
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment