feat: improve design layout selector

This commit is contained in:
Manuel Ruwe
2022-12-06 21:33:12 +01:00
parent 4d45805bce
commit 3a5644341d
8 changed files with 26 additions and 24 deletions

View File

@@ -1,4 +1,5 @@
import {
ActionIcon,
Box,
Center,
Checkbox,
@@ -8,6 +9,7 @@ import {
Stack,
Text,
Title,
useMantineTheme,
} from '@mantine/core';
import { IconBrandDocker, IconLayout, IconSearch } from '@tabler/icons';
import { ChangeEvent, Dispatch, SetStateAction, useState } from 'react';
@@ -33,6 +35,8 @@ export const LayoutSelector = ({ defaultLayout }: LayoutSelectorProps) => {
const [ping, setPing] = useState(defaultLayout?.enabledPing ?? false);
const [searchBar, setSearchBar] = useState(defaultLayout?.enabledSearchbar ?? false);
const { colors, colorScheme } = useMantineTheme();
if (!configName) return null;
const handleChange = (
@@ -43,7 +47,7 @@ export const LayoutSelector = ({ defaultLayout }: LayoutSelectorProps) => {
const value = event.target.checked;
setState(value);
updateConfig(configName, (prev) => {
const layout = prev.settings.customization.layout;
const { layout } = prev.settings.customization;
layout[key] = value;
@@ -73,21 +77,21 @@ export const LayoutSelector = ({ defaultLayout }: LayoutSelectorProps) => {
turned on or off
</Text>
<Paper px="xs" py={2} withBorder>
<Paper px="xs" py={4} withBorder>
<Group position="apart">
<Logo size="xs" />
<Group spacing={4}>
<Group spacing={5}>
{searchBar ? (
<Paper withBorder p={2} w={60}>
<Group spacing={2} align="center">
<IconSearch size={8} />
<Text size={8} color="dimmed">
Search
</Text>
</Group>
</Paper>
<Paper
style={{
height: 10,
backgroundColor: colorScheme === 'dark' ? colors.gray[8] : colors.gray[1],
}}
p={2}
w={60}
/>
) : null}
{docker ? <IconBrandDocker size={18} color="#0db7ed" /> : null}
{docker ? <ActionIcon size={10} disabled /> : null}
</Group>
</Group>
</Paper>

View File

@@ -3,7 +3,7 @@ import { useConfigContext } from '../../config/provider';
import { Background } from './Background';
import { Footer } from './Footer';
import { Header } from './Header/Header';
import { Head } from './Head/Head';
import { Head } from './Header/Meta/Head';
const useStyles = createStyles(() => ({}));

View File

@@ -14,7 +14,7 @@ export function Logo({ size = 'md', withoutText = false }: LogoProps) {
return (
<Group spacing={size === 'md' ? 'xs' : 4} noWrap>
<Image
width={size === 'md' ? 50 : 20}
width={size === 'md' ? 50 : 12}
src={config?.settings.customization.logoImageUrl || '/imgs/logo/logo.png'}
style={{
position: 'relative',
@@ -22,7 +22,7 @@ export function Logo({ size = 'md', withoutText = false }: LogoProps) {
/>
{withoutText ? null : (
<Text
size={size === 'md' ? 22 : 'xs'}
size={size === 'md' ? 22 : 10}
weight="bold"
variant="gradient"
gradient={primaryGradient}

View File

@@ -1,7 +1,7 @@
import { ActionIcon, Menu, Text } from '@mantine/core';
import { IconAxe } from '@tabler/icons';
import { useTranslation } from 'next-i18next';
import DockerMenuButton from '../../../modules/docker/DockerModule';
import DockerMenuButton from '../../../../../modules/docker/DockerModule';
export const ToolsMenu = () => {
const { t } = useTranslation('layout/tools');

View File

@@ -1,14 +1,12 @@
import { Box, createStyles, Group, Header as MantineHeader, useMantineTheme } from '@mantine/core';
import { useViewportSize } from '@mantine/hooks';
import { Box, createStyles, Group, Header as MantineHeader } from '@mantine/core';
import { AddItemShelfButton } from '../../AppShelf/AddAppShelfItem';
import DockerMenuButton from '../../../modules/docker/DockerModule';
import { Search } from './Search';
import { Logo } from '../Logo';
import { useCardStyles } from '../useCardStyles';
import { SettingsMenu } from './SettingsMenu';
import { ToolsMenu } from './ToolsMenu';
import { AddElementAction } from './Actions/AddElementAction/AddElementAction';
import { ToolsMenu } from './Actions/RunToolAction/ToolsMenu';
import { Search } from './Search';
import { SettingsMenu } from './SettingsMenu';
export const HeaderHeight = 64;

View File

@@ -2,7 +2,7 @@
import React from 'react';
import NextHead from 'next/head';
import { SafariStatusBarStyle } from './SafariStatusBarStyle';
import { useConfigContext } from '../../../config/provider';
import { useConfigContext } from '../../../../config/provider';
export function Head() {
const { config } = useConfigContext();

View File

@@ -18,7 +18,7 @@ import { useTranslation } from 'next-i18next';
import React, { forwardRef, useEffect, useRef, useState } from 'react';
import SmallServiceItem from '../../AppShelf/SmallServiceItem';
import Tip from '../Tip';
import { searchUrls } from '../../Settings/Common/SearchEngineSelector';
import { searchUrls } from '../../Settings/Common/SearchEngine/SearchEngineSelector';
import { useConfigContext } from '../../../config/provider';
import { OverseerrMediaDisplay } from '../../../modules/common';
import { IModule } from '../../../modules/ModuleTypes';