From 3aba425345bcbf608dbe6e5ec1a09707be9f66c8 Mon Sep 17 00:00:00 2001 From: Roie Natan Date: Sun, 5 Nov 2023 18:02:29 -0500 Subject: [PATCH] support dark mode init --- src/shared/icons/theme.icon.tsx | 30 +++++++++++++++++++ .../MultipleSpacesLayout.module.scss | 2 +- .../components/Header/Header.module.scss | 2 +- .../components/MenuItems/MenuItems.tsx | 9 ++++++ src/shared/ui-kit/Sidenav/Sidenav.module.scss | 2 +- src/shared/ui-kit/Theme/Theme.tsx | 5 +--- src/styles/theme.scss | 4 +++ 7 files changed, 47 insertions(+), 7 deletions(-) create mode 100644 src/shared/icons/theme.icon.tsx diff --git a/src/shared/icons/theme.icon.tsx b/src/shared/icons/theme.icon.tsx new file mode 100644 index 0000000000..7933acf1aa --- /dev/null +++ b/src/shared/icons/theme.icon.tsx @@ -0,0 +1,30 @@ +import React, { FC } from "react"; + +interface ThemeIconProps { + className?: string; +} + +const ThemeIcon: FC = ({ className }) => { + const color = "currentColor"; + + return ( + + + + ); +}; + +export default ThemeIcon; diff --git a/src/shared/layouts/MultipleSpacesLayout/MultipleSpacesLayout.module.scss b/src/shared/layouts/MultipleSpacesLayout/MultipleSpacesLayout.module.scss index 64b3e94956..844f6ddd0c 100644 --- a/src/shared/layouts/MultipleSpacesLayout/MultipleSpacesLayout.module.scss +++ b/src/shared/layouts/MultipleSpacesLayout/MultipleSpacesLayout.module.scss @@ -66,7 +66,7 @@ padding-left: var(--main-pl); display: flex; flex-direction: column; - background-color: var(--page-bg-color); + background-color: var(--primary-background); box-sizing: border-box; } diff --git a/src/shared/layouts/MultipleSpacesLayout/components/Header/Header.module.scss b/src/shared/layouts/MultipleSpacesLayout/components/Header/Header.module.scss index 2aa9e2df5e..6461d9be01 100644 --- a/src/shared/layouts/MultipleSpacesLayout/components/Header/Header.module.scss +++ b/src/shared/layouts/MultipleSpacesLayout/components/Header/Header.module.scss @@ -12,7 +12,7 @@ display: flex; justify-content: space-between; align-items: center; - background-color: $c-light-gray-2; + background-color: var(--secondary-background); box-sizing: border-box; } diff --git a/src/shared/layouts/SidenavLayout/components/SidenavContent/components/UserInfo/components/MenuItems/MenuItems.tsx b/src/shared/layouts/SidenavLayout/components/SidenavContent/components/UserInfo/components/MenuItems/MenuItems.tsx index 78b6884971..5b49ddce33 100644 --- a/src/shared/layouts/SidenavLayout/components/SidenavContent/components/UserInfo/components/MenuItems/MenuItems.tsx +++ b/src/shared/layouts/SidenavLayout/components/SidenavContent/components/UserInfo/components/MenuItems/MenuItems.tsx @@ -10,6 +10,8 @@ import { LogoutIcon, SettingsIcon, } from "@/shared/icons"; +import ThemeIcon from "@/shared/icons/theme.icon"; +import { Theme } from "@/shared/ui-kit/Theme"; import { MenuItem } from "./components"; import { Item, ItemType } from "./types"; import styles from "./MenuItems.module.scss"; @@ -52,6 +54,13 @@ const MenuItems: FC = (props) => { icon: , to: getBillingPagePath(), }, + { + key: "theme", + type: ItemType.Button, + text: , + icon: , + onClick: () => {}, + }, { key: "log-out", type: ItemType.Button, diff --git a/src/shared/ui-kit/Sidenav/Sidenav.module.scss b/src/shared/ui-kit/Sidenav/Sidenav.module.scss index fbe0603aa8..b2ae8e08fd 100644 --- a/src/shared/ui-kit/Sidenav/Sidenav.module.scss +++ b/src/shared/ui-kit/Sidenav/Sidenav.module.scss @@ -42,7 +42,7 @@ padding-bottom: var(--sb-content-pb); display: flex; flex-direction: column; - background-color: var(--sb-bg-color); + background-color: var(--primary-background); box-shadow: var(--sb-shadow); overflow: hidden; box-sizing: border-box; diff --git a/src/shared/ui-kit/Theme/Theme.tsx b/src/shared/ui-kit/Theme/Theme.tsx index bf1aaa5a88..11c750b010 100644 --- a/src/shared/ui-kit/Theme/Theme.tsx +++ b/src/shared/ui-kit/Theme/Theme.tsx @@ -12,10 +12,7 @@ const Theme = () => { dispatch(changeTheme(theme === Themes.Dark ? Themes.Light : Themes.Dark)); }; - /** - * Need design. For now 'Light' theme is the default. - */ - return
Toggle Theme
; + return
Light/Dark mode
; }; export default Theme; diff --git a/src/styles/theme.scss b/src/styles/theme.scss index 80287cb5d7..3e605af426 100644 --- a/src/styles/theme.scss +++ b/src/styles/theme.scss @@ -1,4 +1,6 @@ :root[data-theme="light"] { + --primary-background: #ffffff; + --secondary-background: #f8f8f5; --primary-fill: #c32ea3; --secondary-fill: #a75a93; --gentle-fill: #f3d4eb; @@ -13,4 +15,6 @@ } :root[data-theme="dark"] { + --primary-background: #1f2535; + --secondary-background: #2e3452; }