File size: 3,559 Bytes
6739f59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
import dash
import dash_mantine_components as dmc
from dash import dcc, html
from dash_iconify import DashIconify

dash.register_page(
    __name__,
    class_icon="fa-solid fa-chart-column",
    order=1,
    path="/",
    name="Store Copilot",
    title="ChartGPT",
)


layout = dmc.Stack(
    [
        dcc.Store(id="history", data=[], storage_type="local"),
        dmc.TextInput(
            styles={
                "input": {
                    "fontSize": 15,
                    "boxShadow": "rgba(99, 99, 99, 0.2) 0px 2px 8px 0px",
                    "border": "none",
                },
            },
            id="prompt",
            placeholder="What do you want to know about your business?",
            icon=DashIconify(icon="ic:round-search"),
            radius="lg",
            size="lg",
            w="80%",
            m="auto",
            rightSection=dmc.ActionIcon(
                DashIconify(icon="ic:round-send", width=20),
                id="button",
                radius="md",
                size="lg",
                mr=17,
            ),
        ),
        dmc.Grid(
            children=[
                dmc.Col(
                    dmc.Card(
                        dmc.Stack(
                            [
                                dmc.Title(
                                    "Generated chart", order=3, mb=4, align="center",
                                ),
                                html.Div(id="container"),
                            ]
                        )
                    ),
                    span=8,
                ),
                dmc.Col(
                    dmc.Card(
                        [
                            dmc.Title("History", order=3, mb=4, align="center"),
                            dmc.Accordion(
                                id="history-list",
                                children=[],
                                radius="md",
                                chevron=DashIconify(
                                    icon="ic:round-history",
                                    width=15,
                                ),
                                chevronPosition="left",
                                variant="contained",
                                styles={
                                    "item": {
                                        "backgroundColor": dmc.theme.DEFAULT_COLORS[
                                            "gray"
                                        ][0],
                                        "transition": "transform 150ms ease",
                                        "&[data-active]": {
                                            "transform": "scale(1.03)",
                                            "backgroundColor": "",
                                            "boxShadow": 5,
                                            "borderRadius": 5,
                                        },
                                    },
                                    "chevron": {
                                        "&[data-rotate]": {
                                            "transform": "rotate(-180deg)",
                                        },
                                    },
                                },
                            ),
                        ],
                        id="history-container",
                    ),
                    span=4,
                ),
            ],
            gutter="xl",
        ),
    ],
    spacing="xl",
)