mirror of
https://github.com/umami-software/umami.git
synced 2026-02-15 18:15:35 +01:00
Moved env checks to server pages.
This commit is contained in:
parent
5b6292dd11
commit
784677e180
7 changed files with 18 additions and 18 deletions
|
|
@ -22,10 +22,6 @@ export function App({ children }) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config.uiDisabled) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{children}
|
{children}
|
||||||
|
|
|
||||||
|
|
@ -2,22 +2,18 @@
|
||||||
|
|
||||||
export type Config = {
|
export type Config = {
|
||||||
faviconUrl: string | undefined;
|
faviconUrl: string | undefined;
|
||||||
loginDisabled: boolean;
|
|
||||||
privateMode: boolean;
|
privateMode: boolean;
|
||||||
telemetryDisabled: boolean;
|
telemetryDisabled: boolean;
|
||||||
trackerScriptName: string | undefined;
|
trackerScriptName: string | undefined;
|
||||||
uiDisabled: boolean;
|
|
||||||
updatesDisabled: boolean;
|
updatesDisabled: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
export async function getConfig(): Promise<Config> {
|
export async function getConfig(): Promise<Config> {
|
||||||
return {
|
return {
|
||||||
faviconUrl: process.env.FAVICON_URL,
|
faviconUrl: process.env.FAVICON_URL,
|
||||||
loginDisabled: !!process.env.DISABLE_LOGIN,
|
|
||||||
privateMode: !!process.env.PRIVATE_MODE,
|
privateMode: !!process.env.PRIVATE_MODE,
|
||||||
telemetryDisabled: !!process.env.DISABLE_TELEMETRY,
|
telemetryDisabled: !!process.env.DISABLE_TELEMETRY,
|
||||||
trackerScriptName: process.env.TRACKER_SCRIPT_NAME,
|
trackerScriptName: process.env.TRACKER_SCRIPT_NAME,
|
||||||
uiDisabled: !!process.env.DISABLE_UI,
|
|
||||||
updatesDisabled: !!process.env.DISABLE_UPDATES,
|
updatesDisabled: !!process.env.DISABLE_UPDATES,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,14 @@ import '@/styles/index.css';
|
||||||
import '@/styles/variables.css';
|
import '@/styles/variables.css';
|
||||||
|
|
||||||
export default function ({ children }) {
|
export default function ({ children }) {
|
||||||
|
if (process.env.DISABLE_UI) {
|
||||||
|
return (
|
||||||
|
<html>
|
||||||
|
<body></body>
|
||||||
|
</html>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<html lang="en" data-scroll="0">
|
<html lang="en" data-scroll="0">
|
||||||
<head>
|
<head>
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,8 @@
|
||||||
'use client';
|
'use client';
|
||||||
import { useConfig } from '@/components/hooks';
|
|
||||||
import LoginForm from './LoginForm';
|
import LoginForm from './LoginForm';
|
||||||
import styles from './LoginPage.module.css';
|
import styles from './LoginPage.module.css';
|
||||||
|
|
||||||
export function LoginPage() {
|
export function LoginPage() {
|
||||||
const config = useConfig();
|
|
||||||
|
|
||||||
if (config?.loginDisabled) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={styles.page}>
|
<div className={styles.page}>
|
||||||
<LoginForm />
|
<LoginForm />
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,10 @@ import { Metadata } from 'next';
|
||||||
import LoginPage from './LoginPage';
|
import LoginPage from './LoginPage';
|
||||||
|
|
||||||
export default async function () {
|
export default async function () {
|
||||||
|
if (process.env.DISABLE_LOGIN) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
return <LoginPage />;
|
return <LoginPage />;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,14 @@
|
||||||
'use client';
|
'use client';
|
||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
import { useRouter } from 'next/navigation';
|
import { useRouter } from 'next/navigation';
|
||||||
import { useApi, useConfig } from '@/components/hooks';
|
import { useApi } from '@/components/hooks';
|
||||||
import { setUser } from '@/store/app';
|
import { setUser } from '@/store/app';
|
||||||
import { removeClientAuthToken } from '@/lib/client';
|
import { removeClientAuthToken } from '@/lib/client';
|
||||||
|
|
||||||
export function LogoutPage() {
|
export function LogoutPage() {
|
||||||
const config = useConfig();
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { post } = useApi();
|
const { post } = useApi();
|
||||||
const disabled = !!(config?.loginDisabled || process.env.cloudMode);
|
const disabled = process.env.cloudMode;
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
async function logout() {
|
async function logout() {
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,10 @@ import LogoutPage from './LogoutPage';
|
||||||
import { Metadata } from 'next';
|
import { Metadata } from 'next';
|
||||||
|
|
||||||
export default function () {
|
export default function () {
|
||||||
|
if (process.env.DISABLE_LOGIN) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
return <LogoutPage />;
|
return <LogoutPage />;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue