mirror of
https://github.com/duckietm/Nitro-V3.git
synced 2026-06-19 23:16:21 +00:00
Document secure runtime configuration
This commit is contained in:
@@ -16,6 +16,30 @@ const setBootDebug = (message: string) =>
|
||||
|
||||
setBootDebug('boot: secure fetch installed');
|
||||
|
||||
const loadClientMode = async () =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if((window as any).__nitroClientMode) return;
|
||||
|
||||
const url = new URL('configuration/client-mode.json', `${ window.location.origin }/`);
|
||||
url.searchParams.set('v', Date.now().toString(36));
|
||||
|
||||
const response = await fetch(url.toString());
|
||||
|
||||
if(!response.ok) throw new Error(`HTTP ${ response.status }`);
|
||||
|
||||
(window as any).__nitroClientMode = await response.json();
|
||||
setBootDebug('boot: client-mode loaded');
|
||||
}
|
||||
catch(error)
|
||||
{
|
||||
setBootDebug(`boot: client-mode fallback ${ error?.message || error }`);
|
||||
}
|
||||
};
|
||||
|
||||
await loadClientMode();
|
||||
|
||||
const search = new URLSearchParams(window.location.search);
|
||||
const clientMode = getClientMode();
|
||||
const cacheBustUrl = (path: string): string =>
|
||||
|
||||
@@ -13,6 +13,7 @@ import flagNl from '../../assets/images/flag_icon/flag_icon_nl.png';
|
||||
import flagSelected from '../../assets/images/flag_icon/flag_icon_selected.png';
|
||||
import flagTr from '../../assets/images/flag_icon/flag_icon_tr.png';
|
||||
import { applyTextTranslationLocale } from '../../hooks/translation/useTranslation';
|
||||
import { NewsWindow } from './components/NewsWindow';
|
||||
import { TurnstileWidget } from './TurnstileWidget';
|
||||
|
||||
type DialogMode = 'login' | 'register' | 'forgot';
|
||||
@@ -229,6 +230,7 @@ export const LoginView: FC<LoginViewProps> = ({ onAuthenticated, isEntering = fa
|
||||
const loginUrl = GetConfigurationValue<string>('login.endpoint', '/api/auth/login');
|
||||
const registerUrl = GetConfigurationValue<string>('login.register.endpoint', '/api/auth/register');
|
||||
const forgotUrl = GetConfigurationValue<string>('login.forgot.endpoint', '/api/auth/forgot-password');
|
||||
const newsUrl = interpolate(GetConfigurationValue<string>('login.news.url', ''));
|
||||
const turnstileSiteKey = GetConfigurationValue<string>('login.turnstile.sitekey', '');
|
||||
const rawTurnstileEnabled = GetConfigurationValue<unknown>('login.turnstile.enabled', false);
|
||||
const turnstileEnabled = (rawTurnstileEnabled === true
|
||||
@@ -678,6 +680,8 @@ export const LoginView: FC<LoginViewProps> = ({ onAuthenticated, isEntering = fa
|
||||
}) }
|
||||
</div> }
|
||||
|
||||
{ newsUrl && <NewsWindow newsUrl={ newsUrl } /> }
|
||||
|
||||
<div className="login-stack">
|
||||
<div className="nitro-login-card login-language-card">
|
||||
<div className="card-title">Choose your language</div>
|
||||
|
||||
Reference in New Issue
Block a user