diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs
index 3efc984..fe14077 100644
--- a/src-tauri/src/main.rs
+++ b/src-tauri/src/main.rs
@@ -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()
+}
\ No newline at end of file
diff --git a/src/components/login/LoginScreen.tsx b/src/components/login/LoginScreen.tsx
index f78e4d7..773530a 100644
--- a/src/components/login/LoginScreen.tsx
+++ b/src/components/login/LoginScreen.tsx
@@ -36,6 +36,11 @@ export function LoginScreen({
setError('');
try {
+ console.log('LOGIN TRY', {
+ username: username.trim(),
+ passwordLength: password.length,
+ });
+
const response = await loginApi.login(
username.trim(),
password,
@@ -47,13 +52,12 @@ export function LoginScreen({
}
setError('Credenciais inválidas.');
- } catch {
- setError('Credenciais inválidas.');
+ } catch (error) {
+ setError(`Falha no login: ${String(error)}`);
} finally {
setSubmitting(false);
}
}
-
return (
diff --git a/src/services/apiClient.ts b/src/services/apiClient.ts
index 41bcfc5..fac75f2 100644
--- a/src/services/apiClient.ts
+++ b/src/services/apiClient.ts
@@ -1,21 +1,41 @@
import type { AppSettings } from '@/types/api';
const defaults: AppSettings = {
- backendUrl: 'http://localhost:8080',
- apiKey: 'dev-api-key',
+ backendUrl: 'http://146.59.230.190:8080',
+ apiKey:
+ 'b8184608fcab419da2ce9a220ee6017daaff637b627e43ebac31b6b7c3344349',
};
const SETTINGS_KEY =
'lr-openwrt-tool.settings';
+function joinUrl(
+ baseUrl: string,
+ path: string,
+) {
+ return `${baseUrl.replace(/\/+$/, '')}/${path.replace(
+ /^\/+/,
+ '',
+ )}`;
+}
+
export function getSettings(): AppSettings {
try {
const storedSettings =
localStorage.getItem(SETTINGS_KEY);
+ const parsed =
+ JSON.parse(storedSettings || '{}');
+
return {
...defaults,
- ...JSON.parse(storedSettings || '{}'),
+ ...parsed,
+ backendUrl:
+ parsed.backendUrl?.trim() ||
+ defaults.backendUrl,
+ apiKey:
+ parsed.apiKey?.trim() ||
+ defaults.apiKey,
};
} catch {
return defaults;
@@ -27,18 +47,32 @@ export function saveSettings(
) {
localStorage.setItem(
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
(
path: string,
init: RequestInit = {},
): Promise {
const settings = getSettings();
+ console.log(
+ '[API]',
+ joinUrl(settings.backendUrl, path),
+ );
+
const response = await fetch(
- `${settings.backendUrl}${path}`,
+ joinUrl(settings.backendUrl, path),
{
...init,
headers: {