-
Open Assistant
+
Open Assistant
Conversational AI for everyone.
diff --git a/website/src/pages/_app.tsx b/website/src/pages/_app.tsx
index c820f27c..806aaa38 100644
--- a/website/src/pages/_app.tsx
+++ b/website/src/pages/_app.tsx
@@ -5,7 +5,7 @@ import { getDefaultLayout, NextPageWithLayout } from "src/components/Layout";
import "../styles/globals.css";
import "focus-visible";
-import { Chakra, getServerSideProps } from "../styles/Theme";
+import { Chakra, getServerSideProps } from "../styles/Chakra";
type AppPropsWithLayout = AppProps & {
Component: NextPageWithLayout;
diff --git a/website/src/pages/index.tsx b/website/src/pages/index.tsx
index 61dea8e9..2860aec9 100644
--- a/website/src/pages/index.tsx
+++ b/website/src/pages/index.tsx
@@ -7,6 +7,7 @@ import { Hero } from "src/components/Hero";
import { TaskSelection } from "src/components/TaskSelection";
import { Header } from "src/components/Header";
import { Footer } from "src/components/Footer";
+import { Box, Container } from "@chakra-ui/react";
const Home = () => {
const { data: session } = useSession();
@@ -21,16 +22,15 @@ const Home = () => {
/>
{session ? (
-
+
-
+
) : (
-
+
-
-
+
)}
>
);
diff --git a/website/src/styles/Chakra.tsx b/website/src/styles/Chakra.tsx
new file mode 100644
index 00000000..e87e73ed
--- /dev/null
+++ b/website/src/styles/Chakra.tsx
@@ -0,0 +1,23 @@
+import { ChakraProvider, cookieStorageManagerSSR, localStorageManager } from "@chakra-ui/react";
+import { theme } from "./Theme";
+
+export function Chakra({ cookies, children }) {
+ const colorModeManager = typeof cookies === "string" ? cookieStorageManagerSSR(cookies) : localStorageManager;
+
+ return (
+
+ {children}
+
+ );
+}
+
+// also export a reusable function getServerSideProps
+export function getServerSideProps({ req }) {
+ return {
+ props: {
+ // first time users will not have any cookies and you may not return
+ // undefined here, hence ?? is necessary
+ cookies: req.headers.cookie ?? "",
+ },
+ };
+}
diff --git a/website/src/styles/Theme.tsx b/website/src/styles/Theme.tsx
deleted file mode 100644
index 02728b59..00000000
--- a/website/src/styles/Theme.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import {
- extendTheme,
- type ThemeConfig,
- ChakraProvider,
- cookieStorageManagerSSR,
- localStorageManager,
-} from "@chakra-ui/react";
-
-const config: ThemeConfig = {
- initialColorMode: "light",
- useSystemColorMode: true,
- disableTransitionOnChange: false,
-};
-
-const styles = {
- global: {
- body: {
- bg: "white",
- },
- main: {
- fontFamily: "Inter",
- },
- header: {
- fontFamily: "Inter",
- },
- },
-};
-const theme = extendTheme({ config, styles });
-
-
-export function Chakra({ cookies, children }) {
- const colorModeManager = typeof cookies === "string" ? cookieStorageManagerSSR(cookies) : localStorageManager;
-
- return
{children};
-}
-
-// also export a reusable function getServerSideProps
-export function getServerSideProps({ req }) {
- return {
- props: {
- // first time users will not have any cookies and you may not return
- // undefined here, hence ?? is necessary
- cookies: req.headers.cookie ?? "",
- },
- };
-}
-
-export default theme;
diff --git a/website/src/styles/Theme/colors.ts b/website/src/styles/Theme/colors.ts
new file mode 100644
index 00000000..d1c0913a
--- /dev/null
+++ b/website/src/styles/Theme/colors.ts
@@ -0,0 +1,8 @@
+export const colors = {
+ light: {
+ bg: "gray.100"
+ },
+ dark: {
+ bg: "gray.900"
+ },
+};
diff --git a/website/src/styles/Theme/components/Container.ts b/website/src/styles/Theme/components/Container.ts
new file mode 100644
index 00000000..5071334f
--- /dev/null
+++ b/website/src/styles/Theme/components/Container.ts
@@ -0,0 +1,12 @@
+import { color, defineStyle, defineStyleConfig, transition } from "@chakra-ui/styled-system"
+import { colors } from "../colors"
+
+const baseStyle = defineStyle(({colorMode}) => ({
+ minWidth: "100%",
+ bg: colorMode === "light" ? colors.light.bg : colors.dark.bg,
+ transition: "background-color 250ms ease-in"
+}))
+
+export const containerTheme = defineStyleConfig({
+ baseStyle,
+})
\ No newline at end of file
diff --git a/website/src/styles/Theme/index.ts b/website/src/styles/Theme/index.ts
new file mode 100644
index 00000000..3219cdc4
--- /dev/null
+++ b/website/src/styles/Theme/index.ts
@@ -0,0 +1,29 @@
+import { extendTheme, type ThemeConfig } from "@chakra-ui/react";
+import { containerTheme } from "./components/Container";
+import { Styles, mode } from "@chakra-ui/theme-tools";
+
+const config: ThemeConfig = {
+ initialColorMode: "light",
+ useSystemColorMode: true,
+ disableTransitionOnChange: false,
+};
+
+const components = {
+ Container: containerTheme,
+};
+
+const styles: Styles = {
+ global: {
+ body: {
+ bg: "white",
+ },
+ main: {
+ fontFamily: "Inter",
+ },
+ header: {
+ fontFamily: "Inter",
+ },
+ },
+};
+
+export const theme = extendTheme({ config, styles, components });