Skip to content

Commit 2f26a95

Browse files
author
Bogdan Tsechoev
committed
Bot UI: Centring diagram on tablets and wider screens
1 parent 3002c3f commit 2f26a95

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

ui/packages/platform/src/pages/Bot/Messages/Message/MermaidDiagram.tsx

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,42 @@ type MermaidDiagramProps = {
88
chart: string
99
}
1010

11+
type DiagramPosition = {
12+
x: number,
13+
y: number
14+
}
15+
16+
type DiagramState = {
17+
scale: number,
18+
position: DiagramPosition,
19+
startPosition: DiagramPosition,
20+
dragging: boolean
21+
}
22+
1123
const useStyles = makeStyles(
12-
() => ({
24+
(theme) => ({
1325
container: {
1426
position: 'relative',
1527
width: '100%',
1628
overflow: 'hidden'
1729
},
1830
mermaid: {
19-
minHeight: 300,
31+
[theme.breakpoints.up('sm')]: {
32+
display: 'flex',
33+
justifyContent: 'center',
34+
}
2035
},
2136
}))
2237

23-
mermaid.initialize({ startOnLoad: true, er: { diagramPadding: 20, useMaxWidth: false } });
38+
mermaid.initialize({ startOnLoad: true, er: { useMaxWidth: false } });
2439

2540
export const MermaidDiagram = React.memo((props: MermaidDiagramProps) => {
2641
const { chart } = props;
2742

2843
const classes = useStyles();
2944

3045
// Consolidated state management
31-
const [diagramState, setDiagramState] = useState({
46+
const [diagramState, setDiagramState] = useState<DiagramState>({
3247
scale: 1,
3348
position: { x: 0, y: 0 },
3449
dragging: false,
@@ -134,7 +149,7 @@ export const MermaidDiagram = React.memo((props: MermaidDiagramProps) => {
134149
ref={diagramRef}
135150
style={{
136151
transform: `scale(${diagramState.scale}) translate(${diagramState.position.x}px, ${diagramState.position.y}px)`,
137-
transformOrigin: '0 0',
152+
transformOrigin: '50% 50%',
138153
cursor: diagramState.dragging ? 'grabbing' : 'grab',
139154
}}
140155
onMouseDown={handleMouseDown}

0 commit comments

Comments
 (0)