♻️ Improved code structure for layout, remove most settings components

This commit is contained in:
Meier Lukas
2023-08-01 15:23:31 +02:00
parent 6b8d94b6b5
commit 65d0b31a1a
48 changed files with 103 additions and 1575 deletions

View File

@@ -16,6 +16,7 @@ import { AppProps } from 'next/app';
import Head from 'next/head';
import { useEffect, useState } from 'react';
import 'video.js/dist/video-js.css';
import { CommonHead } from '~/components/layout/Meta/CommonHead';
import { env } from '~/env.js';
import { ColorSchemeProvider } from '~/hooks/use-colorscheme';
import { modals } from '~/modals/modals';
@@ -79,9 +80,7 @@ function App(
return (
<>
<Head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
</Head>
<CommonHead />
<SessionProvider session={pageProps.session}>
<PersistQueryClientProvider
client={queryClient}

View File

@@ -15,9 +15,9 @@ import { GetServerSideProps } from 'next';
import { signIn } from 'next-auth/react';
import { useTranslation } from 'next-i18next';
import { serverSideTranslations } from 'next-i18next/serverSideTranslations';
import Head from 'next/head';
import { useRouter } from 'next/router';
import { z } from 'zod';
import { CommonHeader } from '~/components/layout/common-header';
import { getServerAuthSession } from '~/server/auth';
import { useI18nZodResolver } from '~/utils/i18n-zod-resolver';
import { signInSchema } from '~/validations/user';
@@ -46,9 +46,9 @@ export default function LoginPage() {
return (
<Flex h="100dvh" display="flex" w="100%" direction="column" align="center" justify="center">
<CommonHeader>
<Head>
<title>Login Homarr</title>
</CommonHeader>
</Head>
<Card withBorder shadow="md" p="xl" radius="md" w="90%" maw={420}>
<Title align="center" weight={900}>
{t('title')}

View File

@@ -21,9 +21,9 @@ import {
IconPlus,
IconTrash,
} from '@tabler/icons-react';
import Head from 'next/head';
import Link from 'next/link';
import { ManageLayout } from '~/components/layout/Templates/ManageLayout';
import { CommonHeader } from '~/components/layout/common-header';
import { sleep } from '~/tools/client/time';
import { api } from '~/utils/api';
@@ -34,9 +34,9 @@ const BoardsPage = () => {
return (
<ManageLayout>
<CommonHeader>
<Head>
<title>Boards Homarr</title>
</CommonHeader>
</Head>
<Title mb="xl">Boards</Title>

View File

@@ -1,13 +1,13 @@
import { Text, Title } from '@mantine/core';
import Head from 'next/head';
import { ManageLayout } from '~/components/layout/Templates/ManageLayout';
import { CommonHeader } from '~/components/layout/common-header';
const SettingsPage = () => {
return (
<ManageLayout>
<CommonHeader>
<Head>
<title>Settings Homarr</title>
</CommonHeader>
</Head>
<Title>Settings</Title>
<Text>Coming soon!</Text>

View File

@@ -2,12 +2,12 @@ import { Button, Group, Select, Stack, Text, Title } from '@mantine/core';
import { createFormContext } from '@mantine/form';
import type { InferGetServerSidePropsType } from 'next';
import { GetServerSidePropsContext } from 'next';
import Head from 'next/head';
import { forwardRef } from 'react';
import { useTranslation } from 'react-i18next';
import { z } from 'zod';
import { AccessibilitySettings } from '~/components/Settings/Customization/Accessibility/AccessibilitySettings';
import { AccessibilitySettings } from '~/components/User/Preferences/AccessibilitySettings';
import { ManageLayout } from '~/components/layout/Templates/ManageLayout';
import { CommonHeader } from '~/components/layout/common-header';
import { languages } from '~/tools/language';
import { getServerSideTranslations } from '~/tools/server/getServerSideTranslations';
import { manageNamespaces } from '~/tools/server/translation-namespaces';
@@ -20,9 +20,9 @@ const PreferencesPage = ({ locale }: InferGetServerSidePropsType<typeof getServe
return (
<ManageLayout>
<CommonHeader>
<Head>
<title>Preferences Homarr</title>
</CommonHeader>
</Head>
<Title mb="xl">Preferences</Title>
{data && <SettingsComponent settings={data.settings} />}
@@ -141,7 +141,12 @@ const SelectItem = forwardRef<HTMLDivElement, ItemProps>(
);
export async function getServerSideProps({ req, res, locale }: GetServerSidePropsContext) {
const translations = await getServerSideTranslations(manageNamespaces, locale, undefined, undefined);
const translations = await getServerSideTranslations(
manageNamespaces,
locale,
undefined,
undefined
);
return {
props: {
...translations,