fixes the cmd prompt on start + api key defaults

This commit is contained in:
litoral05
2026-05-12 14:06:10 +01:00
parent 17364e23d3
commit 7e1eeba970
3 changed files with 51 additions and 9 deletions
+5 -1
View File
@@ -1 +1,5 @@
fn main() { lr_openwrt_tool_lib::run() } #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
fn main() {
lr_openwrt_tool_lib::run()
}
+7 -3
View File
@@ -36,6 +36,11 @@ export function LoginScreen({
setError(''); setError('');
try { try {
console.log('LOGIN TRY', {
username: username.trim(),
passwordLength: password.length,
});
const response = await loginApi.login( const response = await loginApi.login(
username.trim(), username.trim(),
password, password,
@@ -47,13 +52,12 @@ export function LoginScreen({
} }
setError('Credenciais inválidas.'); setError('Credenciais inválidas.');
} catch { } catch (error) {
setError('Credenciais inválidas.'); setError(`Falha no login: ${String(error)}`);
} finally { } finally {
setSubmitting(false); setSubmitting(false);
} }
} }
return ( return (
<div className="relative flex min-h-screen items-center justify-center overflow-hidden bg-ink-950 px-6 text-white"> <div className="relative flex min-h-screen items-center justify-center overflow-hidden bg-ink-950 px-6 text-white">
<div className="pointer-events-none absolute -left-32 top-10 h-96 w-96 rounded-full bg-blue-500/20 blur-3xl" /> <div className="pointer-events-none absolute -left-32 top-10 h-96 w-96 rounded-full bg-blue-500/20 blur-3xl" />
+39 -5
View File
@@ -1,21 +1,41 @@
import type { AppSettings } from '@/types/api'; import type { AppSettings } from '@/types/api';
const defaults: AppSettings = { const defaults: AppSettings = {
backendUrl: 'http://localhost:8080', backendUrl: 'http://146.59.230.190:8080',
apiKey: 'dev-api-key', apiKey:
'b8184608fcab419da2ce9a220ee6017daaff637b627e43ebac31b6b7c3344349',
}; };
const SETTINGS_KEY = const SETTINGS_KEY =
'lr-openwrt-tool.settings'; 'lr-openwrt-tool.settings';
function joinUrl(
baseUrl: string,
path: string,
) {
return `${baseUrl.replace(/\/+$/, '')}/${path.replace(
/^\/+/,
'',
)}`;
}
export function getSettings(): AppSettings { export function getSettings(): AppSettings {
try { try {
const storedSettings = const storedSettings =
localStorage.getItem(SETTINGS_KEY); localStorage.getItem(SETTINGS_KEY);
const parsed =
JSON.parse(storedSettings || '{}');
return { return {
...defaults, ...defaults,
...JSON.parse(storedSettings || '{}'), ...parsed,
backendUrl:
parsed.backendUrl?.trim() ||
defaults.backendUrl,
apiKey:
parsed.apiKey?.trim() ||
defaults.apiKey,
}; };
} catch { } catch {
return defaults; return defaults;
@@ -27,18 +47,32 @@ export function saveSettings(
) { ) {
localStorage.setItem( localStorage.setItem(
SETTINGS_KEY, SETTINGS_KEY,
JSON.stringify(settings), JSON.stringify({
...settings,
backendUrl:
settings.backendUrl.trim(),
apiKey: settings.apiKey.trim(),
}),
); );
} }
export function resetSettings() {
localStorage.removeItem(SETTINGS_KEY);
}
export async function apiRequest<T>( export async function apiRequest<T>(
path: string, path: string,
init: RequestInit = {}, init: RequestInit = {},
): Promise<T> { ): Promise<T> {
const settings = getSettings(); const settings = getSettings();
console.log(
'[API]',
joinUrl(settings.backendUrl, path),
);
const response = await fetch( const response = await fetch(
`${settings.backendUrl}${path}`, joinUrl(settings.backendUrl, path),
{ {
...init, ...init,
headers: { headers: {