ux
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -3,6 +3,7 @@ import type {
|
||||
AuthStatus,
|
||||
AuthUsersPayload,
|
||||
DashboardConfig,
|
||||
DiagnosticsPayload,
|
||||
KioskSettingsPayload,
|
||||
DistributionPayload,
|
||||
HistoryPayload,
|
||||
@@ -127,6 +128,47 @@ export const api = {
|
||||
DEMO_MODE
|
||||
? demoResponse(() => ({ ...demoHistoricalStatus, running: false, state: "cancelled", message: "Tryb demo: anulowano" }))
|
||||
: request<HistoricalStatus>("/historical/cancel", { method: "POST", body: JSON.stringify({}) }),
|
||||
getDiagnostics: (): Promise<DiagnosticsPayload> => (
|
||||
DEMO_MODE
|
||||
? demoResponse<DiagnosticsPayload>(() => ({
|
||||
app: {
|
||||
name: demoConfig.app.name,
|
||||
version: demoConfig.app.version,
|
||||
debug: true,
|
||||
timezone: demoConfig.app.timezone,
|
||||
site_name: demoConfig.app.site_name,
|
||||
installed_power_kwp: demoConfig.app.installed_power_kwp,
|
||||
auth_enabled: true,
|
||||
started_at: new Date(Date.now() - 1000 * 60 * 42).toISOString(),
|
||||
uptime_seconds: 1000 * 60 * 42,
|
||||
python_version: "demo",
|
||||
pid: 1,
|
||||
},
|
||||
api: {
|
||||
status: "ok",
|
||||
prefix: "/api/v1",
|
||||
cors_origins_count: 2,
|
||||
},
|
||||
influx: {
|
||||
status: "connected",
|
||||
reachable: true,
|
||||
database_exists: true,
|
||||
url: "http://127.0.0.1:8086",
|
||||
database: "ha",
|
||||
username_masked: "demo",
|
||||
verify_ssl: false,
|
||||
timeout_seconds: 15,
|
||||
error: null,
|
||||
},
|
||||
storage: {
|
||||
sqlite_path: "/data/pv_insight.sqlite3",
|
||||
historical_import_enabled: true,
|
||||
auto_sync_enabled: true,
|
||||
default_chunk_days: 7,
|
||||
},
|
||||
}))
|
||||
: request<DiagnosticsPayload>("/dashboard/diagnostics")
|
||||
),
|
||||
getUsers: () => (DEMO_MODE ? demoResponse(() => ({ items: [] })) : request<AuthUsersPayload>("/auth/users")),
|
||||
createUser: (payload: { username: string; password: string; role: string; display_name?: string }) =>
|
||||
DEMO_MODE ? demoResponse(() => payload) : request("/auth/users", { method: "POST", body: JSON.stringify(payload) }),
|
||||
|
||||
@@ -200,3 +200,12 @@ body {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.pv-card .btn.text-start {
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.text-break {
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
@@ -273,3 +273,42 @@ export interface KioskSettingsPayload {
|
||||
updated_at?: string | null;
|
||||
updated_by?: string | null;
|
||||
}
|
||||
|
||||
|
||||
export interface DiagnosticsPayload {
|
||||
app: {
|
||||
name: string;
|
||||
version: string;
|
||||
debug: boolean;
|
||||
timezone: string;
|
||||
site_name: string;
|
||||
installed_power_kwp: number;
|
||||
auth_enabled: boolean;
|
||||
started_at: string;
|
||||
uptime_seconds: number;
|
||||
python_version: string;
|
||||
pid: number;
|
||||
};
|
||||
api: {
|
||||
status: string;
|
||||
prefix: string;
|
||||
cors_origins_count: number;
|
||||
};
|
||||
influx: {
|
||||
status: "connected" | "error";
|
||||
reachable: boolean;
|
||||
database_exists: boolean;
|
||||
url: string;
|
||||
database: string;
|
||||
username_masked: string;
|
||||
verify_ssl: boolean;
|
||||
timeout_seconds: number;
|
||||
error?: string | null;
|
||||
};
|
||||
storage: {
|
||||
sqlite_path: string;
|
||||
historical_import_enabled: boolean;
|
||||
auto_sync_enabled: boolean;
|
||||
default_chunk_days: number;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user