From db1ae3f2c79bc467986b4ae54b867d3c8e63d318 Mon Sep 17 00:00:00 2001 From: Brian Cao Date: Wed, 12 Oct 2022 15:35:33 -0700 Subject: [PATCH 1/2] add cloud_mode --- components/layout/Header.js | 12 +++++++----- components/layout/Layout.js | 10 ++++++++-- components/settings/UserButton.js | 8 ++++++-- pages/404.js | 12 ++++++++++-- pages/console/[[...id]].js | 4 ++-- pages/dashboard/[[...id]].js | 12 ++++++++++-- pages/login.js | 2 +- pages/realtime.js | 12 ++++++++++-- pages/settings/accounts.js | 8 ++++++++ pages/settings/index.js | 16 +++++++++++++--- pages/settings/profile.js | 8 ++++++++ pages/share/[...id].js | 12 ++++++++++-- pages/websites/[...id].js | 12 ++++++++++-- 13 files changed, 103 insertions(+), 25 deletions(-) diff --git a/components/layout/Header.js b/components/layout/Header.js index 84c3d88b..9e7dda3d 100644 --- a/components/layout/Header.js +++ b/components/layout/Header.js @@ -14,7 +14,7 @@ import useUser from 'hooks/useUser'; import Logo from 'assets/logo.svg'; import styles from './Header.module.css'; -export default function Header() { +export default function Header({ settingsDisabled }) { const { user } = useUser(); const { pathname } = useRouter(); const { updatesDisabled } = useConfig(); @@ -38,15 +38,17 @@ export default function Header() { - - - + {!settingsDisabled && ( + + + + )} )}
- {user && } + {user && }
diff --git a/components/layout/Layout.js b/components/layout/Layout.js index 2c097e41..51829dfd 100644 --- a/components/layout/Layout.js +++ b/components/layout/Layout.js @@ -4,7 +4,13 @@ import Header from 'components/layout/Header'; import Footer from 'components/layout/Footer'; import useLocale from 'hooks/useLocale'; -export default function Layout({ title, children, header = true, footer = true }) { +export default function Layout({ + title, + children, + header = true, + footer = true, + settingsDisabled = false, +}) { const { dir } = useLocale(); return ( @@ -13,7 +19,7 @@ export default function Layout({ title, children, header = true, footer = true } umami{title && ` - ${title}`} - {header &&
} + {header &&
}
{children}
{footer &&
}
diff --git a/components/settings/UserButton.js b/components/settings/UserButton.js index 8e0ee350..36c0a2e5 100644 --- a/components/settings/UserButton.js +++ b/components/settings/UserButton.js @@ -9,7 +9,7 @@ import styles from './UserButton.module.css'; import { AUTH_TOKEN } from 'lib/constants'; import useUser from 'hooks/useUser'; -export default function UserButton() { +export default function UserButton({ settingsDisabled }) { const { user } = useUser(); const router = useRouter(); @@ -25,7 +25,11 @@ export default function UserButton() { value: 'username', className: styles.username, }, - { label: , value: 'profile' }, + { + label: , + value: 'profile', + hidden: settingsDisabled, + }, { label: , value: 'logout' }, ]; diff --git a/pages/404.js b/pages/404.js index 4c85b10a..fd303bff 100644 --- a/pages/404.js +++ b/pages/404.js @@ -2,9 +2,9 @@ import React from 'react'; import Layout from 'components/layout/Layout'; import { FormattedMessage } from 'react-intl'; -export default function Custom404() { +export default function Custom404({ settingsDisabled }) { return ( - +

@@ -13,3 +13,11 @@ export default function Custom404() { ); } + +export async function getServerSideProps() { + return { + props: { + settingsDisabled: !!process.env.CLOUD_MODE, + }, + }; +} diff --git a/pages/console/[[...id]].js b/pages/console/[[...id]].js index a13537f8..3f1d8283 100644 --- a/pages/console/[[...id]].js +++ b/pages/console/[[...id]].js @@ -4,7 +4,7 @@ import TestConsole from 'components/pages/TestConsole'; import useRequireLogin from 'hooks/useRequireLogin'; import useUser from 'hooks/useUser'; -export default function ConsolePage({ enabled }) { +export default function ConsolePage({ enabled, settingsDisabled }) { const { loading } = useRequireLogin(); const { user } = useUser(); @@ -13,7 +13,7 @@ export default function ConsolePage({ enabled }) { } return ( - + ); diff --git a/pages/dashboard/[[...id]].js b/pages/dashboard/[[...id]].js index 452a425e..5a6024f4 100644 --- a/pages/dashboard/[[...id]].js +++ b/pages/dashboard/[[...id]].js @@ -3,7 +3,7 @@ import Layout from 'components/layout/Layout'; import Dashboard from 'components/pages/Dashboard'; import useRequireLogin from 'hooks/useRequireLogin'; -export default function DashboardPage() { +export default function DashboardPage({ settingsDisabled }) { const { loading } = useRequireLogin(); if (loading) { @@ -11,8 +11,16 @@ export default function DashboardPage() { } return ( - + ); } + +export async function getServerSideProps() { + return { + props: { + settingsDisabled: !!process.env.CLOUD_MODE, + }, + }; +} diff --git a/pages/login.js b/pages/login.js index 4856a772..7e815d53 100644 --- a/pages/login.js +++ b/pages/login.js @@ -16,6 +16,6 @@ export default function LoginPage({ loginDisabled }) { export async function getServerSideProps() { return { - props: { loginDisabled: !!process.env.DISABLE_LOGIN }, + props: { loginDisabled: !!process.env.DISABLE_LOGIN || process.env.CLOUD_MODE }, }; } diff --git a/pages/realtime.js b/pages/realtime.js index 9f1ebffa..2b96a8dd 100644 --- a/pages/realtime.js +++ b/pages/realtime.js @@ -3,7 +3,7 @@ import Layout from 'components/layout/Layout'; import RealtimeDashboard from 'components/pages/RealtimeDashboard'; import useRequireLogin from 'hooks/useRequireLogin'; -export default function RealtimePage() { +export default function RealtimePage({ settingsDisabled }) { const { loading } = useRequireLogin(); if (loading) { @@ -11,8 +11,16 @@ export default function RealtimePage() { } return ( - + ); } + +export async function getServerSideProps() { + return { + props: { + settingsDisabled: !!process.env.CLOUD_MODE, + }, + }; +} diff --git a/pages/settings/accounts.js b/pages/settings/accounts.js index 3426f4b8..f7ee46d3 100644 --- a/pages/settings/accounts.js +++ b/pages/settings/accounts.js @@ -1,3 +1,11 @@ import Index from './index'; export default Index; + +export async function getServerSideProps() { + return { + props: { + settingsDisabled: !!process.env.CLOUD_MODE, + }, + }; +} diff --git a/pages/settings/index.js b/pages/settings/index.js index b4bb2248..71c7bd73 100644 --- a/pages/settings/index.js +++ b/pages/settings/index.js @@ -3,16 +3,26 @@ import Layout from 'components/layout/Layout'; import Settings from 'components/pages/Settings'; import useRequireLogin from 'hooks/useRequireLogin'; -export default function SettingsPage() { +export default function SettingsPage({ settingsDisabled }) { const { loading } = useRequireLogin(); - if (loading) { + if (settingsDisabled || loading) { return null; } return ( - + + TEST TEST TEST + {settingsDisabled} ); } + +export async function getServerSideProps() { + return { + props: { + settingsDisabled: !!process.env.CLOUD_MODE, + }, + }; +} diff --git a/pages/settings/profile.js b/pages/settings/profile.js index 3426f4b8..f7ee46d3 100644 --- a/pages/settings/profile.js +++ b/pages/settings/profile.js @@ -1,3 +1,11 @@ import Index from './index'; export default Index; + +export async function getServerSideProps() { + return { + props: { + settingsDisabled: !!process.env.CLOUD_MODE, + }, + }; +} diff --git a/pages/share/[...id].js b/pages/share/[...id].js index ff5e4a6e..c1a534b9 100644 --- a/pages/share/[...id].js +++ b/pages/share/[...id].js @@ -4,7 +4,7 @@ import Layout from 'components/layout/Layout'; import WebsiteDetails from 'components/pages/WebsiteDetails'; import useShareToken from 'hooks/useShareToken'; -export default function SharePage() { +export default function SharePage({ settingsDisabled }) { const router = useRouter(); const { id } = router.query; const shareId = id?.[0]; @@ -17,8 +17,16 @@ export default function SharePage() { const { websiteId } = shareToken; return ( - + ); } + +export async function getServerSideProps() { + return { + props: { + settingsDisabled: !!process.env.CLOUD_MODE, + }, + }; +} diff --git a/pages/websites/[...id].js b/pages/websites/[...id].js index 90f4f492..f498987b 100644 --- a/pages/websites/[...id].js +++ b/pages/websites/[...id].js @@ -4,7 +4,7 @@ import Layout from 'components/layout/Layout'; import WebsiteDetails from 'components/pages/WebsiteDetails'; import useRequireLogin from 'hooks/useRequireLogin'; -export default function DetailsPage() { +export default function DetailsPage({ settingsDisabled }) { const { loading } = useRequireLogin(); const router = useRouter(); const { id } = router.query; @@ -16,8 +16,16 @@ export default function DetailsPage() { const [websiteId] = id; return ( - + ); } + +export async function getServerSideProps() { + return { + props: { + settingsDisabled: !!process.env.CLOUD_MODE, + }, + }; +} From 9e8748e2f3f62e820a6ad5f82e6c17c5e6c52b8a Mon Sep 17 00:00:00 2001 From: Brian Cao Date: Wed, 12 Oct 2022 16:29:44 -0700 Subject: [PATCH 2/2] checkpoint --- components/layout/Header.js | 6 +++--- components/layout/Layout.js | 10 ++-------- components/settings/UserButton.js | 4 ++-- next.config.js | 1 + pages/404.js | 12 ++---------- pages/console/[[...id]].js | 10 ++-------- pages/dashboard/[[...id]].js | 12 ++---------- pages/login.js | 2 +- pages/realtime.js | 12 ++---------- pages/settings/accounts.js | 8 -------- pages/settings/index.js | 16 +++------------- pages/settings/profile.js | 8 -------- pages/share/[...id].js | 12 ++---------- pages/websites/[...id].js | 12 ++---------- 14 files changed, 24 insertions(+), 101 deletions(-) diff --git a/components/layout/Header.js b/components/layout/Header.js index 9e7dda3d..a81e016c 100644 --- a/components/layout/Header.js +++ b/components/layout/Header.js @@ -14,7 +14,7 @@ import useUser from 'hooks/useUser'; import Logo from 'assets/logo.svg'; import styles from './Header.module.css'; -export default function Header({ settingsDisabled }) { +export default function Header() { const { user } = useUser(); const { pathname } = useRouter(); const { updatesDisabled } = useConfig(); @@ -38,7 +38,7 @@ export default function Header({ settingsDisabled }) { - {!settingsDisabled && ( + {!process.env.isCloudMode && ( @@ -48,7 +48,7 @@ export default function Header({ settingsDisabled }) {
- {user && } + {user && }

diff --git a/components/layout/Layout.js b/components/layout/Layout.js index 51829dfd..2c097e41 100644 --- a/components/layout/Layout.js +++ b/components/layout/Layout.js @@ -4,13 +4,7 @@ import Header from 'components/layout/Header'; import Footer from 'components/layout/Footer'; import useLocale from 'hooks/useLocale'; -export default function Layout({ - title, - children, - header = true, - footer = true, - settingsDisabled = false, -}) { +export default function Layout({ title, children, header = true, footer = true }) { const { dir } = useLocale(); return ( @@ -19,7 +13,7 @@ export default function Layout({ umami{title && ` - ${title}`} - {header &&
} + {header &&
}
{children}
{footer &&