Files
BanGUI/frontend/src/components/config/index.ts
Lukas 1da38361a9 Merge Log tab into Server tab and remove Log tab
The Log tab provided a service health panel and log viewer. These are
consolidated into the Server tab with a new ServerHealthSection component
that encapsulates all log-related functionality.

- Extract service health panel and log viewer into ServerHealthSection component
- Add severity-based log line color coding (ERROR=red, WARNING=yellow, DEBUG=gray)
- Implement log filtering, line count selection, and auto-refresh controls
- Scroll to bottom when new log data arrives
- Render health metrics grid with version, jail count, bans, failures
- Show read-only log level and log target in health section
- Handle non-file targets with informational banner
- Import ServerHealthSection in ServerTab and render after map thresholds
- Remove LogTab component import from ConfigPage
- Remove 'log' from TabValue type
- Remove Log tab element from TabList
- Remove conditional render for LogTab
- Remove LogTab from barrel export (index.ts)
- Delete LogTab.tsx and LogTab.test.tsx files
- Update ConfigPage docstring

All 115 frontend tests pass (8 fewer due to deleted LogTab tests).
2026-03-14 21:58:34 +01:00

44 lines
2.1 KiB
TypeScript

/**
* Barrel export for all config page components.
*
* Import from this module to access any component in the config package:
* import { FiltersTab, RegexList } from "../components/config";
*/
export { ActionsTab } from "./ActionsTab";
export { ActionForm } from "./ActionForm";
export type { ActionFormProps } from "./ActionForm";
export { ActivateJailDialog } from "./ActivateJailDialog";
export type { ActivateJailDialogProps } from "./ActivateJailDialog";
export { AssignActionDialog } from "./AssignActionDialog";
export type { AssignActionDialogProps } from "./AssignActionDialog";
export { AssignFilterDialog } from "./AssignFilterDialog";
export type { AssignFilterDialogProps } from "./AssignFilterDialog";
export { AutoSaveIndicator } from "./AutoSaveIndicator";
export type { AutoSaveStatus, AutoSaveIndicatorProps } from "./AutoSaveIndicator";
export { ConfFilesTab } from "./ConfFilesTab";
export type { ConfFilesTabProps } from "./ConfFilesTab";
export { ConfigListDetail } from "./ConfigListDetail";
export type { ConfigListDetailProps } from "./ConfigListDetail";
export { CreateActionDialog } from "./CreateActionDialog";
export type { CreateActionDialogProps } from "./CreateActionDialog";
export { CreateFilterDialog } from "./CreateFilterDialog";
export type { CreateFilterDialogProps } from "./CreateFilterDialog";
export { CreateJailDialog } from "./CreateJailDialog";
export type { CreateJailDialogProps } from "./CreateJailDialog";
export { ExportTab } from "./ExportTab";
export { FilterForm } from "./FilterForm";
export type { FilterFormProps } from "./FilterForm";
export { FiltersTab } from "./FiltersTab";
export { JailFilesTab } from "./JailFilesTab";
export { JailFileForm } from "./JailFileForm";
export { JailsTab } from "./JailsTab";
export { RawConfigSection } from "./RawConfigSection";
export type { RawConfigSectionProps } from "./RawConfigSection";
export { RegexList } from "./RegexList";
export type { RegexListProps } from "./RegexList";
export { RegexTesterTab } from "./RegexTesterTab";
export { ServerTab } from "./ServerTab";
export { ServerHealthSection } from "./ServerHealthSection";
export { useConfigStyles } from "./configStyles";