fixes the cmd prompt on start + api key defaults
This commit is contained in:
@@ -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()
|
||||||
|
}
|
||||||
@@ -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" />
|
||||||
|
|||||||
@@ -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: {
|
||||||
|
|||||||
Reference in New Issue
Block a user