2 lines
18 KiB
JSON
2 lines
18 KiB
JSON
{"id":"chatcmpl-a0ebd0bb4ba59824","object":"chat.completion","created":1774201534,"model":"NousResearch\/Hermes-3-Llama-3.2-3B","choices":[{"index":0,"message":{"role":"assistant","content":"Here is the complete ThemeProvider.tsx component:\n\n```typescript\n\/\/ src\/components\/ThemeProvider.tsx\nimport React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { ThemeProvider as MuiThemeProvider, createMuiTheme } from '@material-ui\/core\/styles';\nimport { useTheme } from '..\/context';\nimport { useAuth } from '..\/context\/AuthContext';\nimport { useNotifications } from '..\/context\/NotificationsContext';\n\nconst ThemeProvider: React.FC = () => {\n const { theme, updateTheme } = useTheme();\n const { user } = useAuth();\n const notifications = useNotifications();\n const themeRef = useRef(null);\n\n const handleToggleTheme = () => {\n updateTheme(!theme.isDark);\n notifications.addNotification('info', `Theme toggled to ${theme.isDark ? 'Dark' : 'Light'}`);\n };\n\n useEffect(() => {\n if (themeRef.current) {\n themeRef.current.clear();\n }\n }, [theme]);\n\n return (\n <MuiThemeProvider theme={createMuiTheme(theme.toTheme())} ref={themeRef}>\n {\/* Theme provider will be displayed here *\/}\n {theme.isDark ? (\n <div className={theme.darkModeStyles}>\n <IconButton onClick={handleToggleTheme}>\n <Typography>Toggle Light\/Dark Mode<\/Typography>\n <\/IconButton>\n <\/div>\n ) : (\n <div className={theme.lightModeStyles}>\n <IconButton onClick={handleToggleTheme}>\n <Typography>Toggle Light\/Dark Mode<\/Typography>\n <\/IconButton>\n <\/div>\n )}\n <\/MuiThemeProvider>\n );\n};\n\nexport default ThemeProvider;\n```\n\nHere is the complete theme system with all MUI theme overrides:\n\n```typescript\n\/\/ src\/styles\/theme.js\nimport { createMuiTheme, Theme, createMuiTheme as createMuiThemeDark } from '@material-ui\/core\/styles';\n\nconst theme = createMuiTheme({\n palette: {\n type: 'dark',\n primary: {\n main: '#ff5722',\n },\n secondary: {\n main: '#2196f3',\n },\n error: {\n main: '#f44336',\n },\n warning: {\n main: '#ffc107',\n },\n info: {\n main: '#2196f3',\n },\n success: {\n main: '#4caf50',\n },\n },\n typography: {\n fontFamily: [\n '-apple-system',\n 'BlinkMacSystemFont',\n '\"Segoe UI\"',\n 'Roboto',\n '\"Helvetica Neue\"',\n 'Arial',\n 'sans-serif',\n ].join(','),\n h1: {\n fontSize: '2.6rem',\n marginBottom: 0.5,\n },\n h2: {\n fontSize: '2.2rem',\n marginBottom: 0.5,\n },\n h3: {\n fontSize: '1.8rem',\n marginBottom: 0.5,\n },\n h4: {\n fontSize: '1.5rem',\n marginBottom: 0.5,\n },\n h5: {\n fontSize: '1.3rem',\n marginBottom: 0.5,\n },\n h6: {\n fontSize: '1.2rem',\n marginBottom: 0.5,\n },\n },\n overrides: {\n MuiButton: {\n root: {\n textTransform: 'none',\n fontSize: '1rem',\n padding: '0.5rem 1rem',\n borderRadius: '4px',\n boxShadow: 'none',\n textTransform: 'capitalize',\n fontFamily: [\n '-apple-system',\n 'BlinkMacSystemFont',\n '\"Segoe UI\"',\n 'Roboto',\n '\"Helvetica Neue\"',\n 'Arial',\n 'sans-serif',\n ].join(','),\n },\n containedPrimary: {\n backgroundColor: '#ff5722',\n '&:hover': {\n backgroundColor: '#ff7842',\n },\n },\n containedSecondary: {\n backgroundColor: '#2196f3',\n '&:hover': {\n backgroundColor: '#1e88e5',\n },\n },\n containedOutlined: {\n border: '1px solid #ff5722',\n backgroundColor: 'transparent',\n '&:hover': {\n backgroundColor: '#ff7842',\n },\n },\n },\n MuiTextField: {\n root: {\n width: '100%',\n marginBottom: '1rem',\n padding: '0.5rem',\n borderRadius: '4px',\n boxShadow: 'none',\n textTransform: 'capitalize',\n fontFamily: [\n '-apple-system',\n 'BlinkMacSystemFont',\n '\"Segoe UI\"',\n 'Roboto',\n '\"Helvetica Neue\"',\n 'Arial',\n 'sans-serif',\n ].join(','),\n },\n outlined: {\n '& fieldset': {\n borderColor: '#ff5722',\n },\n '&:hover fieldset': {\n borderColor: '#ff7842',\n },\n },\n },\n MuiIconButton: {\n root: {\n padding: '0.5rem',\n borderRadius: '4px',\n boxShadow: 'none',\n textTransform: 'capitalize',\n fontFamily: [\n '-apple-system',\n 'BlinkMacSystemFont',\n '\"Segoe UI\"',\n 'Roboto',\n '\"Helvetica Neue\"',\n 'Arial',\n 'sans-serif',\n ].join(','),\n },\n },\n MuiChip: {\n root: {\n fontSize: '0.9rem',\n padding: '0.2rem 0.5rem',\n borderRadius: '4px',\n boxShadow: 'none',\n textTransform: 'capitalize',\n fontFamily: [\n '-apple-system',\n 'BlinkMacSystemFont',\n '\"Segoe UI\"',\n 'Roboto',\n '\"Helvetica Neue\"',\n 'Arial',\n 'sans-serif',\n ].join(','),\n },\n outlined: {\n backgroundColor: 'transparent',\n border: '1px solid #ff5722',\n '&:hover': {\n backgroundColor: '#ff7842',\n },\n },\n },\n MuiTypography: {\n root: {\n fontSize: '1rem',\n marginBottom: '1rem',\n fontFamily: [\n '-apple-system',\n 'BlinkMacSystemFont',\n '\"Segoe UI\"',\n 'Roboto',\n '\"Helvetica Neue\"',\n 'Arial',\n 'sans-serif',\n ].join(','),\n },\n h1: {\n fontSize: '2.6rem',\n marginBottom: 0.5,\n },\n h2: {\n fontSize: '2.2rem',\n marginBottom: 0.5,\n },\n h3: {\n fontSize: '1.8rem',\n marginBottom: 0.5,\n },\n h4: {\n fontSize: '1.5rem',\n marginBottom: 0.5,\n },\n h5: {\n fontSize: '1.3rem',\n marginBottom: 0.5,\n },\n h6: {\n fontSize: '1.2rem',\n marginBottom: 0.5,\n },\n },\n MuiButtonBase: {\n root: {\n '&:hover': {\n boxShadow: '0 3px 5px -2px rgba(0, 0, 0, 0.2)',\n },\n },\n },\n MuiSnackbarContent: {\n root: {\n backgroundColor: '#ff5722',\n color: '#ffffff',\n },\n },\n MuiSnackbarContentWrapper: {\n root: {\n width: '100%',\n },\n },\n MuiAppBar: {\n root: {\n boxShadow: 'none',\n },\n colorPrimary: {\n backgroundColor: '#ff5722',\n color: '#ffffff',\n },\n },\n MuiAppBarColorPrimary: {\n root: {\n boxShadow: 'none',\n },\n },\n MuiAppBarIconMargin: {\n root: {\n marginLeft: '16px',\n },\n },\n MuiAppBarColorPrimaryIconMargin: {\n root: {\n marginLeft: '16px',\n },\n },\n MuiAppBarPositionFixed: {\n root: {\n boxShadow: '0 3px 5px -2px rgba(0, 0, 0, 0.2)',\n },\n },\n MuiAppBarColorPrimaryPositionFixed: {\n root: {\n boxShadow: '0 3px 5px -2px rgba(0, 0, 0, 0.2)',\n },\n },\n MuiToolbar: {\n root: {\n boxShadow: 'none',\n },\n },\n MuiToolbarColorPrimary: {\n root: {\n boxShadow: 'none',\n },\n },\n MuiToolbarColorPrimaryGutters: {\n root: {\n boxShadow: 'none',\n },\n },\n MuiToolbarColorPrimaryGuttersMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingMargin: {\n root: {\n marginLeft: '-15px',\n marginRight: '-15px',\n padding: '0 15px',\n },\n },\n MuiToolbarColorPrimaryGuttersMarginPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPaddingPadding: {\n root: {\n marginLeft: '-15px',\n marginRight: '-","refusal":null,"annotations":null,"audio":null,"function_call":null,"tool_calls":[],"reasoning":null},"logprobs":null,"finish_reason":"length","token_ids":null}],"service_tier":null,"system_fingerprint":null,"usage":{"prompt_tokens":26286,"total_tokens":30382,"completion_tokens":4096,"prompt_tokens_details":null},"prompt_token_ids":null,"kv_transfer_params":null}
|