From bc5f1f13f03e23f5afd45a51b64a6d9ef0c5a33a Mon Sep 17 00:00:00 2001 From: jeffvli Date: Thu, 30 Mar 2023 03:01:31 -0700 Subject: [PATCH] Move settings to route instead of modal --- src/renderer/components/tabs/index.tsx | 30 ++++--- .../settings/components/general-tab.tsx | 8 +- .../settings/components/playback-tab.tsx | 87 +++++++++---------- .../settings/components/settings-content.tsx | 48 ++++++++++ .../settings/components/settings-header.tsx | 14 +++ .../settings/components/settings-option.tsx | 2 +- .../features/settings/components/settings.tsx | 72 --------------- .../settings/routes/settings-route.tsx | 21 +++++ .../features/titlebar/components/app-menu.tsx | 20 +---- src/renderer/router/app-router.tsx | 7 ++ src/renderer/router/routes.ts | 1 + 11 files changed, 159 insertions(+), 151 deletions(-) create mode 100644 src/renderer/features/settings/components/settings-content.tsx create mode 100644 src/renderer/features/settings/components/settings-header.tsx delete mode 100644 src/renderer/features/settings/components/settings.tsx create mode 100644 src/renderer/features/settings/routes/settings-route.tsx diff --git a/src/renderer/components/tabs/index.tsx b/src/renderer/components/tabs/index.tsx index e45cb285..4199a124 100644 --- a/src/renderer/components/tabs/index.tsx +++ b/src/renderer/components/tabs/index.tsx @@ -1,5 +1,5 @@ -import type { TabsProps as MantineTabsProps } from '@mantine/core'; -import { Tabs as MantineTabs } from '@mantine/core'; +import { Suspense } from 'react'; +import { TabsPanelProps, TabsProps as MantineTabsProps, Tabs as MantineTabs } from '@mantine/core'; import styled from 'styled-components'; type TabsProps = MantineTabsProps; @@ -12,11 +12,14 @@ const StyledTabs = styled(MantineTabs)` } &.mantine-Tabs-tab { + padding: 0.5rem 1rem; + font-weight: 600; + font-size: 1rem; background-color: var(--main-bg); } & .mantine-Tabs-panel { - padding: 0 1rem; + padding: 1.5rem 0.5rem; } button { @@ -35,27 +38,26 @@ const StyledTabs = styled(MantineTabs)` button[data-active] { color: var(--btn-subtle-fg); background: none; - box-shadow: 2px 0 0 var(--primary-color) inset; + border-color: var(--primary-color); &:hover { background: none; } } - - /* button[data-active]::before { - content: ''; - border-left: 2px solid var(--primary-color); - position: absolute; - left: 0; - right: 0; - bottom: 0; - } */ `; export const Tabs = ({ children, ...props }: TabsProps) => { return {children}; }; +const Panel = ({ children, ...props }: TabsPanelProps) => { + return ( + + }>{children} + + ); +}; + Tabs.List = StyledTabs.List; -Tabs.Panel = StyledTabs.Panel; +Tabs.Panel = Panel; Tabs.Tab = StyledTabs.Tab; diff --git a/src/renderer/features/settings/components/general-tab.tsx b/src/renderer/features/settings/components/general-tab.tsx index c7a3c87f..ceb3c636 100644 --- a/src/renderer/features/settings/components/general-tab.tsx +++ b/src/renderer/features/settings/components/general-tab.tsx @@ -27,7 +27,7 @@ const SIDE_QUEUE_OPTIONS = [ { label: 'Floating', value: 'sideDrawerQueue' }, ]; -const WINDOWBAR_OPTIONS = [ +const WINDOW_BAR_OPTIONS = [ { label: 'Web (hidden)', value: Platform.WEB }, { label: 'Windows', value: Platform.WINDOWS }, { label: 'macOS', value: Platform.MACOS }, @@ -41,7 +41,7 @@ export const GeneralTab = () => { { control: (