feat: frontend Actions Tab with structured API, assign/create/remove dialogs (Task 3.3)

- ActionsTab rewritten with master/detail layout (mirrors FiltersTab)
- New AssignActionDialog and CreateActionDialog components
- ActionConfig type extended with active, used_by_jails, source_file, has_local_override
- New API functions: fetchActions, fetchAction, updateAction, createAction, deleteAction, assignActionToJail, removeActionFromJail
- useActionConfig updated to use new structured endpoints
- index.ts barrel exports updated
This commit is contained in:
2026-03-13 19:21:58 +01:00
parent f7cc130432
commit 6e35c5d269
9 changed files with 861 additions and 77 deletions

View File

@@ -91,6 +91,10 @@ export const ENDPOINTS = {
`/config/filters/${encodeURIComponent(name)}/parsed`,
configJailFilter: (name: string): string =>
`/config/jails/${encodeURIComponent(name)}/filter`,
configJailAction: (name: string): string =>
`/config/jails/${encodeURIComponent(name)}/action`,
configJailActionName: (jailName: string, actionName: string): string =>
`/config/jails/${encodeURIComponent(jailName)}/action/${encodeURIComponent(actionName)}`,
configActions: "/config/actions",
configAction: (name: string): string => `/config/actions/${encodeURIComponent(name)}`,
configActionParsed: (name: string): string =>