diff --git a/src/renderer/src/App.tsx b/src/renderer/src/App.tsx index 9dd53f38..49b37330 100644 --- a/src/renderer/src/App.tsx +++ b/src/renderer/src/App.tsx @@ -15,7 +15,7 @@ function App(): JSX.Element { } /> } /> - } /> + } /> diff --git a/src/renderer/src/components/app/Sidebar.tsx b/src/renderer/src/components/app/Sidebar.tsx index 62f26288..45d629d0 100644 --- a/src/renderer/src/components/app/Sidebar.tsx +++ b/src/renderer/src/components/app/Sidebar.tsx @@ -28,8 +28,8 @@ const Sidebar: FC = () => { - - + + diff --git a/src/renderer/src/pages/settings/AboutSetting.tsx b/src/renderer/src/pages/settings/AboutSetting.tsx new file mode 100644 index 00000000..da4fef8f --- /dev/null +++ b/src/renderer/src/pages/settings/AboutSetting.tsx @@ -0,0 +1,10 @@ +import { FC } from 'react' +import styled from 'styled-components' + +const AboutSetting: FC = () => { + return About +} + +const Container = styled.div`` + +export default AboutSetting diff --git a/src/renderer/src/pages/settings/DefaultAgentSetting.tsx b/src/renderer/src/pages/settings/DefaultAgentSetting.tsx new file mode 100644 index 00000000..3870b5cc --- /dev/null +++ b/src/renderer/src/pages/settings/DefaultAgentSetting.tsx @@ -0,0 +1,10 @@ +import { FC } from 'react' +import styled from 'styled-components' + +const DefaultAgentSetting: FC = () => { + return Default Agent +} + +const Container = styled.div`` + +export default DefaultAgentSetting diff --git a/src/renderer/src/pages/settings/DeveloperSetting.tsx b/src/renderer/src/pages/settings/DeveloperSetting.tsx new file mode 100644 index 00000000..f4e3ca90 --- /dev/null +++ b/src/renderer/src/pages/settings/DeveloperSetting.tsx @@ -0,0 +1,10 @@ +import { FC } from 'react' +import styled from 'styled-components' + +const DeveloperSetting: FC = () => { + return Developer +} + +const Container = styled.div`` + +export default DeveloperSetting diff --git a/src/renderer/src/pages/settings/GeneralSetting.tsx b/src/renderer/src/pages/settings/GeneralSetting.tsx new file mode 100644 index 00000000..c959116b --- /dev/null +++ b/src/renderer/src/pages/settings/GeneralSetting.tsx @@ -0,0 +1,10 @@ +import { FC } from 'react' +import styled from 'styled-components' + +const GeneralSetting: FC = () => { + return General Settings +} + +const Container = styled.div`` + +export default GeneralSetting diff --git a/src/renderer/src/pages/settings/ModelsSetting.tsx b/src/renderer/src/pages/settings/ModelsSetting.tsx new file mode 100644 index 00000000..7001fa5e --- /dev/null +++ b/src/renderer/src/pages/settings/ModelsSetting.tsx @@ -0,0 +1,10 @@ +import { FC } from 'react' +import styled from 'styled-components' + +const ModelsSetting: FC = () => { + return Models +} + +const Container = styled.div`` + +export default ModelsSetting diff --git a/src/renderer/src/pages/settings/SettingsPage.tsx b/src/renderer/src/pages/settings/SettingsPage.tsx index d6a23667..84998eb3 100644 --- a/src/renderer/src/pages/settings/SettingsPage.tsx +++ b/src/renderer/src/pages/settings/SettingsPage.tsx @@ -1,15 +1,50 @@ import { Navbar, NavbarCenter } from '@renderer/components/app/Navbar' import { FC } from 'react' +import { Link, Route, Routes, useLocation } from 'react-router-dom' import styled from 'styled-components' +import SettingsHomePage from './GeneralSetting' +import SettingsDeveloperPage from './DeveloperSetting' +import SettingsAboutPage from './AboutSetting' +import SettingsModelsPage from './ModelsSetting' +import SettingsDefaultAgent from './DefaultAgentSetting' const SettingsPage: FC = () => { + const { pathname } = useLocation() + + const isRoute = (path: string): string => (pathname === path ? 'active' : '') + return ( Settings - + + + General + + + Language Model + + + Default Agent + + + About + + + Developer + + + + + } /> + } /> + } /> + } /> + } /> + + ) @@ -27,12 +62,41 @@ const ContentContainer = styled.div` flex-direction: row; ` -const SettingMenus = styled.div` +const SettingMenus = styled.ul` display: flex; + flex-direction: column; min-width: var(--conversations-width); border-right: 1px solid #ffffff20; - height: 100%; padding: 10px; ` +const MenuItemLink = styled(Link)` + text-decoration: none; + color: var(--color-text-1); + margin-bottom: 5px; +` + +const MenuItem = styled.li` + padding: 6px 10px; + width: 100%; + cursor: pointer; + border-radius: 5px; + font-size: 14px; + transition: all 0.2s ease-in-out; + &:hover { + background: #213675; + } + &.active { + background: #213675; + } +` + +const SettingContent = styled.div` + display: flex; + height: 100%; + flex: 1; + border-right: 1px solid #ffffff20; + padding: 20px; +` + export default SettingsPage