diff --git a/src/App.tsx b/src/App.tsx index 513d96c..76b6cc0 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -4,6 +4,9 @@ import { App as ContainerApp } from './pages/container'; import { App as PanelApp } from './pages/panel'; import { App as PublishApp } from './pages/publish'; import { App as CodeEditorApp } from './pages/code-editor'; +import { App as MapApp } from './pages/map'; +import { App as PromptApp } from './pages/prompt'; + import '@abearxiong/container/dist/container.css'; export const App = () => { @@ -20,6 +23,8 @@ export const App = () => { } /> } /> } /> + } /> + } /> 404} /> 404} /> diff --git a/src/assets/fonts/D-DIN/D-DIN-Bold.woff b/src/assets/fonts/D-DIN/D-DIN-Bold.woff new file mode 100644 index 0000000..76f2a31 Binary files /dev/null and b/src/assets/fonts/D-DIN/D-DIN-Bold.woff differ diff --git a/src/assets/fonts/D-DIN/D-DIN-Italic.woff b/src/assets/fonts/D-DIN/D-DIN-Italic.woff new file mode 100644 index 0000000..c39c2d4 Binary files /dev/null and b/src/assets/fonts/D-DIN/D-DIN-Italic.woff differ diff --git a/src/assets/fonts/D-DIN/D-DIN.woff b/src/assets/fonts/D-DIN/D-DIN.woff new file mode 100644 index 0000000..f6d6a19 Binary files /dev/null and b/src/assets/fonts/D-DIN/D-DIN.woff differ diff --git a/src/assets/fonts/D-DIN/D-DINCondensed-Bold.woff b/src/assets/fonts/D-DIN/D-DINCondensed-Bold.woff new file mode 100644 index 0000000..612769d Binary files /dev/null and b/src/assets/fonts/D-DIN/D-DINCondensed-Bold.woff differ diff --git a/src/assets/fonts/D-DIN/D-DINCondensed.woff b/src/assets/fonts/D-DIN/D-DINCondensed.woff new file mode 100644 index 0000000..8645fc5 Binary files /dev/null and b/src/assets/fonts/D-DIN/D-DINCondensed.woff differ diff --git a/src/assets/fonts/D-DIN/D-DINExp-Bold.woff b/src/assets/fonts/D-DIN/D-DINExp-Bold.woff new file mode 100644 index 0000000..04ea67e Binary files /dev/null and b/src/assets/fonts/D-DIN/D-DINExp-Bold.woff differ diff --git a/src/assets/fonts/D-DIN/D-DINExp-Italic.woff b/src/assets/fonts/D-DIN/D-DINExp-Italic.woff new file mode 100644 index 0000000..50d5dc2 Binary files /dev/null and b/src/assets/fonts/D-DIN/D-DINExp-Italic.woff differ diff --git a/src/assets/fonts/D-DIN/D-DINExp.woff b/src/assets/fonts/D-DIN/D-DINExp.woff new file mode 100644 index 0000000..bbed2dc Binary files /dev/null and b/src/assets/fonts/D-DIN/D-DINExp.woff differ diff --git a/src/assets/fonts/D-DIN/font.css b/src/assets/fonts/D-DIN/font.css new file mode 100644 index 0000000..a2dd48b --- /dev/null +++ b/src/assets/fonts/D-DIN/font.css @@ -0,0 +1,64 @@ +/* #### Generated By: http://www.cufonfonts.com #### */ + +@font-face { + font-family: 'D-DIN'; + font-style: normal; + font-weight: normal; + src: url('D-DIN.woff') format('woff'); +} + + +@font-face { + font-family: 'D-DIN-Italic'; + font-style: italic; + font-weight: normal; + src: url('D-DIN-Italic.woff') format('woff'); +} + + +@font-face { + font-family: 'D-DIN-Bold'; + font-style: normal; + font-weight: bold; + src: url('D-DIN-Bold.woff') format('woff'); +} + + +@font-face { + font-family: 'D-DIN Condensed'; + font-style: normal; + font-weight: normal; + src: url('D-DINCondensed.woff') format('woff'); +} + + +@font-face { + font-family: 'D-DIN Exp'; + font-style: normal; + font-weight: normal; + src: url('D-DINExp.woff') format('woff'); +} + + +@font-face { + font-family: 'D-DIN Exp-Italic'; + font-style: italic; + font-weight: normal; + src: url('D-DINExp-Italic.woff') format('woff'); +} + + +@font-face { + font-family: 'D-DIN Condensed-Bold'; + font-style: normal; + font-weight: bold; + src: url('D-DINCondensed-Bold.woff') format('woff'); +} + + +@font-face { + font-family: 'D-DIN Exp-Bold'; + font-style: normal; + font-weight: bold; + src: url('D-DINExp-Bold.woff') format('woff'); +} \ No newline at end of file diff --git a/src/assets/fonts/Montserrat/Montserrat-Italic-VariableFont_wght.ttf b/src/assets/fonts/Montserrat/Montserrat-Italic-VariableFont_wght.ttf new file mode 100644 index 0000000..b6ac9f5 Binary files /dev/null and b/src/assets/fonts/Montserrat/Montserrat-Italic-VariableFont_wght.ttf differ diff --git a/src/assets/fonts/Montserrat/Montserrat-VariableFont_wght.ttf b/src/assets/fonts/Montserrat/Montserrat-VariableFont_wght.ttf new file mode 100644 index 0000000..f0b2cb3 Binary files /dev/null and b/src/assets/fonts/Montserrat/Montserrat-VariableFont_wght.ttf differ diff --git a/src/assets/fonts/Montserrat/font.css b/src/assets/fonts/Montserrat/font.css new file mode 100644 index 0000000..e19c5dd --- /dev/null +++ b/src/assets/fonts/Montserrat/font.css @@ -0,0 +1,16 @@ +/* #### Generated By: http://www.cufonfonts.com #### */ + +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 100 900; + src: url('Montserrat-VariableFont_wght.ttf') format('truetype'); +} + + +@font-face { + font-family: 'Montserrat-Italic'; + font-style: italic; + font-weight: 100 900; + src: url('Montserrat-Italic-VariableFont_wght.ttf') format('truetype'); +} \ No newline at end of file diff --git a/src/assets/fonts/Orbitron/Orbitron-VariableFont_wght.ttf b/src/assets/fonts/Orbitron/Orbitron-VariableFont_wght.ttf new file mode 100644 index 0000000..ac224a5 Binary files /dev/null and b/src/assets/fonts/Orbitron/Orbitron-VariableFont_wght.ttf differ diff --git a/src/assets/fonts/Orbitron/font.css b/src/assets/fonts/Orbitron/font.css new file mode 100644 index 0000000..1f868b1 --- /dev/null +++ b/src/assets/fonts/Orbitron/font.css @@ -0,0 +1,6 @@ +@font-face { + font-family: 'Orbitron'; + font-style: normal; + font-weight: 400 900; + src: url('Orbitron-VariableFont_wght.ttf') format('truetype'); +} \ No newline at end of file diff --git a/src/assets/fonts/font.css b/src/assets/fonts/font.css new file mode 100644 index 0000000..c170944 --- /dev/null +++ b/src/assets/fonts/font.css @@ -0,0 +1,3 @@ +@import "./D-DIN/font.css"; +@import "./Montserrat/font.css"; +@import "./Orbitron/font.css"; diff --git a/src/assets/styles.css b/src/assets/styles.css index 1ee0fef..f7aed2c 100644 --- a/src/assets/styles.css +++ b/src/assets/styles.css @@ -1,3 +1,5 @@ +@import './fonts/font.css'; + .scrollbar { /* 整个滚动条 */ &::-webkit-scrollbar { @@ -14,7 +16,7 @@ /* 滚动条滑块(竖向:vertical 横向:horizontal) */ &::-webkit-scrollbar-thumb { cursor: pointer; - background-color: black; + background-color: #c1c1c1; border-radius: 5px; } diff --git a/src/globals.css b/src/globals.css index d1c5da9..1ad8d9b 100644 --- a/src/globals.css +++ b/src/globals.css @@ -12,4 +12,7 @@ h3 { @apply text-lg font-bold; } + .layout-menu { + @apply bg-gray-900 p-2 text-white flex justify-between h-12; + } } diff --git a/src/index.css b/src/index.css index 4baf54d..766953e 100644 --- a/src/index.css +++ b/src/index.css @@ -9,4 +9,35 @@ body { #root { width: 100%; height: 100%; +} + +.w-tc-editor, .w-tc-editor > textarea { + /* 整个滚动条 */ + &::-webkit-scrollbar { + width: 3px; + height: 3px; + } + + /* 滚动条有滑块的轨道部分 */ + &::-webkit-scrollbar-track-piece { + background-color: transparent; + border-radius: 1px; + } + + /* 滚动条滑块(竖向:vertical 横向:horizontal) */ + &::-webkit-scrollbar-thumb { + cursor: pointer; + background-color: #c1c1c1; + border-radius: 5px; + } + + /* 滚动条滑块hover */ + &::-webkit-scrollbar-thumb:hover { + background-color: #999999; + } + + /* 同时有垂直和水平滚动条时交汇的部分 */ + &::-webkit-scrollbar-corner { + display: block; /* 修复交汇时出现的白块 */ + } } \ No newline at end of file diff --git a/src/pages/container/components/TextArea.tsx b/src/pages/container/components/TextArea.tsx index 41caa19..3f320eb 100644 --- a/src/pages/container/components/TextArea.tsx +++ b/src/pages/container/components/TextArea.tsx @@ -1,4 +1,5 @@ import CodeEditor from '@uiw/react-textarea-code-editor'; + import { useEffect, useState } from 'react'; import { clsx } from 'clsx'; @@ -7,29 +8,35 @@ type Props = { onChange?: (data: string) => void; readonly?: boolean; className?: string; + style?: React.CSSProperties; + language?: string; + listen?: boolean; }; export const TextArea = (props: Props) => { const [code, setCode] = useState(''); useEffect(() => { setCode(props.value || ''); - }, []); + }, [props.value]); const _onChange = (value: string) => { setCode(value); - props.onChange && props.onChange(value); + if (props.onChange) { + props.onChange(value); + } }; return ( -
+
_onChange(evn.target.value)} padding={10} style={{ - backgroundColor: '#f5f5f5', + // backgroundColor: '#f5f5f5', fontFamily: 'ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace', + ...props.style, }} />
diff --git a/src/pages/container/edit/List.tsx b/src/pages/container/edit/List.tsx index d1cf760..1b77c52 100644 --- a/src/pages/container/edit/List.tsx +++ b/src/pages/container/edit/List.tsx @@ -1,11 +1,13 @@ import { Button, Input, message, Modal, Table } from 'antd'; -import { useEffect, useState } from 'react'; +import { Fragment, useEffect, useMemo, useState } from 'react'; import { TextArea } from '../components/TextArea'; import { useContainerStore } from '../store'; import { useShallow } from 'zustand/react/shallow'; import { Form } from 'antd'; import copy from 'copy-to-clipboard'; import { useNavigate } from 'react-router'; +import { EditOutlined, SettingOutlined, LinkOutlined, SaveOutlined, DeleteOutlined, LeftOutlined } from '@ant-design/icons'; +import clsx from 'clsx'; const FormModal = () => { const [form] = Form.useForm(); const containerStore = useContainerStore( @@ -22,8 +24,6 @@ const FormModal = () => { const open = containerStore.showEdit; if (open) { form.setFieldsValue(containerStore.formData || {}); - } else { - form.resetFields(); } }, [containerStore.showEdit]); const onFinish = async (values: any) => { @@ -59,7 +59,12 @@ const FormModal = () => { -