feat: enable proxy toggle on quick deploy, event log clearing, and UX fixes

- Add enable_proxy toggle to Quick Deploy form (defaults to on)
- Add DELETE /api/events/log/{id} and DELETE /api/events/log endpoints
- Add Clear All button with confirmation on Events page
- Rename "NPM Proxy" to "Enable Proxy" on stage form (provider-agnostic)
- Fix polling interval validation (min 60s) and number input trim errors
- Fix domain field no longer required in settings
This commit is contained in:
2026-04-05 01:50:19 +03:00
parent 61febefca9
commit c26c41e6a1
10 changed files with 134 additions and 13 deletions
+9
View File
@@ -215,6 +215,7 @@ export function quickDeploy(data: {
registry?: string;
port?: number;
force?: boolean;
enable_proxy?: boolean;
}): Promise<{ project: Project; status: string }> {
return post<{ project: Project; status: string }>('/api/deploy/quick', data);
}
@@ -540,6 +541,14 @@ export function fetchEventLogStats(): Promise<EventLogStats> {
return get<EventLogStats>('/api/events/log/stats');
}
export function deleteEvent(id: number): Promise<{ status: string }> {
return del<{ status: string }>(`/api/events/log/${id}`);
}
export function clearAllEvents(): Promise<{ status: string; count: number }> {
return del<{ status: string; count: number }>('/api/events/log');
}
// ── Stale Containers ────────────────────────────────────────────────
export function fetchStaleContainers(): Promise<StaleContainer[]> {
+6
View File
@@ -102,6 +102,7 @@
"tagPatternHelp": "Glob pattern (e.g., dev-*, v*)",
"maxInstances": "Max Instances",
"autoDeployLabel": "Auto Deploy",
"enableProxy": "Enable Proxy",
"npmProxy": "NPM Proxy",
"creating": "Creating...",
"createStage": "Create Stage",
@@ -658,6 +659,11 @@
"noEventsDesc": "Events will appear here as they occur.",
"loadMore": "Load more",
"newEvents": "new events",
"clearAll": "Clear All",
"clearAllTitle": "Clear Event Log",
"clearAllMessage": "This will permanently delete all event log entries. This cannot be undone.",
"cleared": "Cleared {count} events",
"clearFailed": "Failed to clear events",
"filter": {
"severity": "Severity",
"source": "Source",
+6
View File
@@ -102,6 +102,7 @@
"tagPatternHelp": "Glob-шаблон (напр., dev-*, v*)",
"maxInstances": "Макс. экземпляров",
"autoDeployLabel": "Авто-деплой",
"enableProxy": "Включить прокси",
"npmProxy": "NPM прокси",
"creating": "Создание...",
"createStage": "Создать стадию",
@@ -658,6 +659,11 @@
"noEventsDesc": "События будут отображаться здесь по мере их возникновения.",
"loadMore": "Загрузить ещё",
"newEvents": "новых событий",
"clearAll": "Очистить всё",
"clearAllTitle": "Очистить журнал событий",
"clearAllMessage": "Все записи журнала событий будут удалены безвозвратно.",
"cleared": "Удалено {count} событий",
"clearFailed": "Не удалось очистить события",
"filter": {
"severity": "Уровень",
"source": "Источник",