Fix CSS. Updated pages.

This commit is contained in:
Mike Cao 2023-09-29 19:18:44 -07:00
parent 0f12226401
commit 3720a5a2fc
12 changed files with 71 additions and 71 deletions

View file

@ -1,3 +1,4 @@
'use client';
import WebsiteSelect from 'components/input/WebsiteSelect';
import Page from 'components/layout/Page';
import PageHeader from 'components/layout/PageHeader';

View file

@ -10,7 +10,6 @@
width: 100vw;
grid-column: 1;
grid-row: 1 / 2;
z-index: var(--z-index-popup);
}
.body {

View file

@ -4,20 +4,20 @@ import '@fontsource/inter/400.css';
import '@fontsource/inter/700.css';
import '@fontsource/inter/800.css';
import 'react-basics/dist/styles.css';
import 'styles/variables.css';
import 'styles/locale.css';
import 'styles/index.css';
import 'styles/variables.css';
export default function RootLayout({ children }) {
return (
<html lang="en" data-scroll="0">
<head>
<link rel="icon" href={`favicon.ico`} />
<link rel="apple-touch-icon" sizes="180x180" href={`apple-touch-icon.png`} />
<link rel="icon" type="image/png" sizes="32x32" href={`favicon-32x32.png`} />
<link rel="icon" type="image/png" sizes="16x16" href={`favicon-16x16.png`} />
<link rel="manifest" href={`site.webmanifest`} />
<link rel="mask-icon" href={`safari-pinned-tab.svg`} color="#5bbad5" />
<link rel="icon" href={`/favicon.ico`} />
<link rel="apple-touch-icon" sizes="180x180" href={`/apple-touch-icon.png`} />
<link rel="icon" type="image/png" sizes="32x32" href={`/favicon-32x32.png`} />
<link rel="icon" type="image/png" sizes="16x16" href={`/favicon-16x16.png`} />
<link rel="manifest" href={`/site.webmanifest`} />
<link rel="mask-icon" href={`/safari-pinned-tab.svg`} color="#5bbad5" />
<meta name="msapplication-TileColor" content="#da532c" />
<meta name="theme-color" content="#fafafa" media="(prefers-color-scheme: light)" />
<meta name="theme-color" content="#2f2f2f" media="(prefers-color-scheme: dark)" />

32
src/app/logout/Logout.js Normal file
View file

@ -0,0 +1,32 @@
'use client';
import { useEffect } from 'react';
import { useRouter } from 'next/navigation';
import useApi from 'components/hooks/useApi';
import { setUser } from 'store/app';
import { removeClientAuthToken } from 'lib/client';
export function Logout() {
const disabled = !!(process.env.disableLogin || process.env.cloudMode);
const router = useRouter();
const { post } = useApi();
useEffect(() => {
async function logout() {
await post('/auth/logout');
}
if (!disabled) {
removeClientAuthToken();
logout();
router.push('/login');
return () => setUser(null);
}
}, [disabled, router, post]);
return null;
}
export default Logout;

View file

@ -1,34 +1,5 @@
'use client';
import { useEffect } from 'react';
import { useRouter } from 'next/router';
import useApi from 'components/hooks/useApi';
import { setUser } from 'store/app';
import { removeClientAuthToken } from 'lib/client';
import Logout from './Logout';
async function getDisabled() {
return !!(process.env.DISABLE_LOGIN || process.env.CLOUD_MODE);
}
export default async function LogoutPage() {
const disabled = await getDisabled();
const router = useRouter();
const { post } = useApi();
useEffect(() => {
async function logout() {
await post('/auth/logout');
}
if (!disabled) {
removeClientAuthToken();
logout();
router.push('/login');
return () => setUser(null);
}
}, [disabled, router, post]);
return null;
export default function () {
return <Logout />;
}

View file

@ -0,0 +1,13 @@
'use client';
import WebsiteDetails from 'app/(app)/websites/[id]/WebsiteDetails';
import useShareToken from 'components/hooks/useShareToken';
export default function ({ shareId }) {
const shareToken = useShareToken(shareId);
if (!shareToken) {
return null;
}
return <WebsiteDetails websiteId={shareToken.websiteId} />;
}

View file

@ -1,17 +1,9 @@
import Page from 'components/layout/Page';
import WebsiteDetails from 'app/(app)/websites/[id]/WebsiteDetails';
import useShareToken from 'components/hooks/useShareToken';
import Share from './Share';
export default function SharePage({ params }) {
const shareToken = useShareToken(params.id);
if (!shareToken) {
export default function ({ params: { id } }) {
if (!id) {
return null;
}
return (
<Page>
<WebsiteDetails websiteId={shareToken.websiteId} />
</Page>
);
return <Share shareId={id} />;
}