Clean up Config page: remove Export tab, add CreateJailDialog, fix UI details

- Remove Export tab and all its imports from ConfigPage.tsx
- Remove Refresh and Reload fail2ban buttons from JailsTab; clean up
  associated state (reloading, reloadMsg, deactivating) and handlers
- Add Create Config button to Jails tab list pane (listHeader pattern);
  create CreateJailDialog component that calls createJailConfigFile API
- Remove Active/Inactive and 'Has local override' badges from FilterDetail
  and ActionDetail; remove now-unused Badge imports
- Replace read-only log path spans with editable Input fields in JailConfigDetail
- Export CreateJailDialog from components/config/index.ts
- Mark all 5 tasks done in Docs/Tasks.md
This commit is contained in:
2026-03-14 08:33:46 +01:00
parent 6e4797d71e
commit 201cca8b66
7 changed files with 322 additions and 402 deletions

View File

@@ -17,10 +17,8 @@
import { useState } from "react";
import { Tab, TabList, Text, makeStyles, tokens } from "@fluentui/react-components";
import { DocumentArrowDown24Regular } from "@fluentui/react-icons";
import {
ActionsTab,
ExportTab,
FiltersTab,
GlobalTab,
JailsTab,
@@ -62,8 +60,7 @@ type TabValue =
| "global"
| "server"
| "map"
| "regex"
| "export";
| "regex";
export function ConfigPage(): React.JSX.Element {
const styles = useStyles();
@@ -94,7 +91,6 @@ export function ConfigPage(): React.JSX.Element {
<Tab value="server">Server</Tab>
<Tab value="map">Map</Tab>
<Tab value="regex">Regex Tester</Tab>
<Tab value="export" icon={<DocumentArrowDown24Regular />}>Export</Tab>
</TabList>
<div className={styles.tabContent} key={tab}>
@@ -105,7 +101,6 @@ export function ConfigPage(): React.JSX.Element {
{tab === "server" && <ServerTab />}
{tab === "map" && <MapTab />}
{tab === "regex" && <RegexTesterTab />}
{tab === "export" && <ExportTab />}
</div>
</div>
);