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
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ } />
+ } />
+ } />
+ } />
+ } />
+
+
)
@@ -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