feat(modules): enhance ModuleKpiCards and add update functionality for modules
Updated the ModuleKpiCards component to improve the display of KPI metrics by introducing a new entries count prop and simplifying the logic for displaying community and DoH information. Added a new mutation hook for updating modules, which includes success and error handling with toast notifications. Enhanced the ModuleDetailComponent to support editing modules with a new dialog and integrated the entries count into the KPI display. Additionally, introduced a new helper function for generating short labels for DoH profiles, improving the overall user experience in module management.
This commit is contained in:
@@ -36,6 +36,19 @@ export function dohProfileLabel(id: string, dohProfiles: DohProfile[]): string {
|
||||
return p ? (p.name?.trim() ? `${p.name} (${p.url})` : p.url) : `${id.slice(0, 8)}…`
|
||||
}
|
||||
|
||||
/** Short label for forms / chips — name preferred, else hostname from URL. */
|
||||
export function dohProfileShortLabel(id: string, dohProfiles: DohProfile[]): string {
|
||||
const p = dohProfiles.find((d) => d.id === id)
|
||||
if (!p) return `${id.slice(0, 8)}…`
|
||||
const name = p.name?.trim()
|
||||
if (name) return name
|
||||
try {
|
||||
return new URL(p.url).hostname
|
||||
} catch {
|
||||
return p.url
|
||||
}
|
||||
}
|
||||
|
||||
export function normalizeCdnSourceKind(k: string): 'plaintext' | 'json' {
|
||||
return k.trim().toLowerCase() === 'json' ? 'json' : 'plaintext'
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user