diff --git a/components/layout/Header.js b/components/layout/Header.js
index 81c4e710..02a2e081 100644
--- a/components/layout/Header.js
+++ b/components/layout/Header.js
@@ -17,7 +17,7 @@ import styles from './Header.module.css';
export default function Header() {
const { user } = useUser();
const { pathname } = useRouter();
- const { updatesDisabled } = useConfig();
+ const { updatesDisabled, adminDisabled } = useConfig();
const isSharePage = pathname.includes('/share/');
const allowUpdate = user?.isAdmin && !updatesDisabled && !isSharePage;
@@ -38,7 +38,7 @@ export default function Header() {
- {!process.env.isAdminDisabled && (
+ {!adminDisabled && (
diff --git a/components/settings/UserButton.js b/components/settings/UserButton.js
index d1a8b4ca..1d002c4b 100644
--- a/components/settings/UserButton.js
+++ b/components/settings/UserButton.js
@@ -8,10 +8,12 @@ import User from 'assets/user.svg';
import styles from './UserButton.module.css';
import { AUTH_TOKEN } from 'lib/constants';
import useUser from 'hooks/useUser';
+import useConfig from 'hooks/useConfig';
export default function UserButton() {
const { user } = useUser();
const router = useRouter();
+ const { adminDisabled } = useConfig();
const menuOptions = [
{
@@ -28,7 +30,7 @@ export default function UserButton() {
{
label: ,
value: 'profile',
- hidden: process.env.isAdminDisabled,
+ hidden: adminDisabled,
},
{ label: , value: 'logout' },
];
diff --git a/next.config.js b/next.config.js
index 3e649d2f..0401516c 100644
--- a/next.config.js
+++ b/next.config.js
@@ -36,7 +36,6 @@ module.exports = {
env: {
currentVersion: pkg.version,
isProduction: process.env.NODE_ENV === 'production',
- isAdminDisabled: process.env.DISABLE_ADMIN,
},
basePath: process.env.BASE_PATH,
output: 'standalone',
diff --git a/pages/_app.js b/pages/_app.js
index b8653113..655f9fad 100644
--- a/pages/_app.js
+++ b/pages/_app.js
@@ -2,6 +2,7 @@ import Head from 'next/head';
import { useRouter } from 'next/router';
import { IntlProvider } from 'react-intl';
import useLocale from 'hooks/useLocale';
+import useConfig from 'hooks/useConfig';
import 'styles/variables.css';
import 'styles/bootstrap-grid.css';
import 'styles/index.css';
@@ -23,6 +24,11 @@ const Intl = ({ children }) => {
export default function App({ Component, pageProps }) {
const { basePath } = useRouter();
const { dir } = useLocale();
+ const { uiDisabled } = useConfig();
+
+ if (uiDisabled) {
+ return null;
+ }
return (
diff --git a/pages/api/config.js b/pages/api/config.js
index 27a04eaa..1facd45d 100644
--- a/pages/api/config.js
+++ b/pages/api/config.js
@@ -7,6 +7,9 @@ export default async (req, res) => {
trackerScriptName: process.env.TRACKER_SCRIPT_NAME,
updatesDisabled: !!process.env.DISABLE_UPDATES,
telemetryDisabled: !!process.env.DISABLE_TELEMETRY,
+ loginDisabled: !!process.env.DISABLE_LOGIN,
+ adminDisabled: !!process.env.DISABLE_ADMIN,
+ uiDisabled: !!process.env.DISABLE_UI,
});
}
diff --git a/pages/console/[[...id]].js b/pages/console/[[...id]].js
index 0fd816b1..270a81df 100644
--- a/pages/console/[[...id]].js
+++ b/pages/console/[[...id]].js
@@ -4,11 +4,11 @@ import TestConsole from 'components/pages/TestConsole';
import useRequireLogin from 'hooks/useRequireLogin';
import useUser from 'hooks/useUser';
-export default function ConsolePage({ enabled, pageDisabled }) {
+export default function ConsolePage({ pageDisabled }) {
const { loading } = useRequireLogin();
const { user } = useUser();
- if (pageDisabled || loading || !enabled || !user?.isAdmin) {
+ if (pageDisabled || loading || !user?.isAdmin) {
return null;
}
@@ -22,8 +22,7 @@ export default function ConsolePage({ enabled, pageDisabled }) {
export async function getServerSideProps() {
return {
props: {
- pageDisabled: !!process.env.DISABLE_UI,
- enabled: !!process.env.ENABLE_TEST_CONSOLE,
+ pageDisabled: !process.env.ENABLE_TEST_CONSOLE,
},
};
}
diff --git a/pages/dashboard/[[...id]].js b/pages/dashboard/[[...id]].js
index 0959fd0e..7c762097 100644
--- a/pages/dashboard/[[...id]].js
+++ b/pages/dashboard/[[...id]].js
@@ -5,7 +5,7 @@ import useRequireLogin from 'hooks/useRequireLogin';
import { useRouter } from 'next/router';
import useUser from 'hooks/useUser';
-export default function DashboardPage({ pageDisabled }) {
+export default function DashboardPage() {
const {
query: { id },
isReady,
@@ -14,7 +14,7 @@ export default function DashboardPage({ pageDisabled }) {
const { loading } = useRequireLogin();
const user = useUser();
- if (pageDisabled || !user || !isReady || loading) {
+ if (!user || !isReady || loading) {
return null;
}
@@ -26,11 +26,3 @@ export default function DashboardPage({ pageDisabled }) {
);
}
-
-export async function getServerSideProps() {
- return {
- props: {
- pageDisabled: !!process.env.DISABLE_UI,
- },
- };
-}
diff --git a/pages/login.js b/pages/login.js
index 29e9624f..55b10427 100644
--- a/pages/login.js
+++ b/pages/login.js
@@ -17,8 +17,7 @@ export default function LoginPage({ pageDisabled }) {
export async function getServerSideProps() {
return {
props: {
- pageDisabled:
- !!process.env.DISABLE_LOGIN || !!process.env.DISABLE_UI || !!process.env.isAdminDisabled,
+ pageDisabled: !!(process.env.DISABLE_LOGIN || process.env.DISABLE_ADMIN),
},
};
}
diff --git a/pages/realtime.js b/pages/realtime.js
index 30dc1467..9f1ebffa 100644
--- a/pages/realtime.js
+++ b/pages/realtime.js
@@ -3,10 +3,10 @@ import Layout from 'components/layout/Layout';
import RealtimeDashboard from 'components/pages/RealtimeDashboard';
import useRequireLogin from 'hooks/useRequireLogin';
-export default function RealtimePage({ pageDisabled }) {
+export default function RealtimePage() {
const { loading } = useRequireLogin();
- if (pageDisabled || loading) {
+ if (loading) {
return null;
}
@@ -16,11 +16,3 @@ export default function RealtimePage({ pageDisabled }) {
);
}
-
-export async function getServerSideProps() {
- return {
- props: {
- pageDisabled: !!process.env.DISABLE_UI,
- },
- };
-}
diff --git a/pages/settings/accounts.js b/pages/settings/accounts.js
index c46f179a..3426f4b8 100644
--- a/pages/settings/accounts.js
+++ b/pages/settings/accounts.js
@@ -1,11 +1,3 @@
import Index from './index';
export default Index;
-
-export async function getServerSideProps() {
- return {
- props: {
- pageDisabled: !!process.env.DISABLE_UI,
- },
- };
-}
diff --git a/pages/settings/index.js b/pages/settings/index.js
index 9bb1b0fa..02e89cea 100644
--- a/pages/settings/index.js
+++ b/pages/settings/index.js
@@ -2,11 +2,13 @@ import React from 'react';
import Layout from 'components/layout/Layout';
import Settings from 'components/pages/Settings';
import useRequireLogin from 'hooks/useRequireLogin';
+import useConfig from 'hooks/useConfig';
-export default function SettingsPage({ pageDisabled }) {
+export default function SettingsPage() {
const { loading } = useRequireLogin();
+ const { adminDisabled } = useConfig();
- if (pageDisabled || loading) {
+ if (adminDisabled || loading) {
return null;
}
@@ -16,11 +18,3 @@ export default function SettingsPage({ pageDisabled }) {
);
}
-
-export async function getServerSideProps() {
- return {
- props: {
- pageDisabled: !!process.env.DISABLE_UI || !!process.env.isAdminDisabled,
- },
- };
-}
diff --git a/pages/settings/profile.js b/pages/settings/profile.js
index c46f179a..3426f4b8 100644
--- a/pages/settings/profile.js
+++ b/pages/settings/profile.js
@@ -1,11 +1,3 @@
import Index from './index';
export default Index;
-
-export async function getServerSideProps() {
- return {
- props: {
- pageDisabled: !!process.env.DISABLE_UI,
- },
- };
-}
diff --git a/pages/share/[...id].js b/pages/share/[...id].js
index 6c81a67a..d449afa5 100644
--- a/pages/share/[...id].js
+++ b/pages/share/[...id].js
@@ -4,13 +4,13 @@ import Layout from 'components/layout/Layout';
import WebsiteDetails from 'components/pages/WebsiteDetails';
import useShareToken from 'hooks/useShareToken';
-export default function SharePage({ pageDisabled }) {
+export default function SharePage() {
const router = useRouter();
const { id } = router.query;
const shareId = id?.[0];
const shareToken = useShareToken(shareId);
- if (pageDisabled || !shareToken) {
+ if (!shareToken) {
return null;
}
@@ -20,11 +20,3 @@ export default function SharePage({ pageDisabled }) {
);
}
-
-export async function getServerSideProps() {
- return {
- props: {
- pageDisabled: !!process.env.DISABLE_UI,
- },
- };
-}
diff --git a/pages/websites/[...id].js b/pages/websites/[...id].js
index 7d068d3d..90f4f492 100644
--- a/pages/websites/[...id].js
+++ b/pages/websites/[...id].js
@@ -4,12 +4,12 @@ import Layout from 'components/layout/Layout';
import WebsiteDetails from 'components/pages/WebsiteDetails';
import useRequireLogin from 'hooks/useRequireLogin';
-export default function DetailsPage({ pageDisabled }) {
+export default function DetailsPage() {
const { loading } = useRequireLogin();
const router = useRouter();
const { id } = router.query;
- if (pageDisabled || !id || loading) {
+ if (!id || loading) {
return null;
}
@@ -21,11 +21,3 @@ export default function DetailsPage({ pageDisabled }) {
);
}
-
-export async function getServerSideProps() {
- return {
- props: {
- pageDisabled: !!process.env.DISABLE_UI,
- },
- };
-}