From c68dcf41ae6d52459e91fd08d0dab4d970a7a327 Mon Sep 17 00:00:00 2001 From: fuomag9 <1580624+fuomag9@users.noreply.github.com> Date: Mon, 23 Mar 2026 14:16:21 +0100 Subject: [PATCH] feat: add feature badges for WAF, Geo, LB, mTLS, Authentik, Redirects, and Rewrite in proxy hosts table Co-Authored-By: Claude Sonnet 4.6 --- .../proxy-hosts/ProxyHostsClient.tsx | 65 +++++++++++++++---- 1 file changed, 51 insertions(+), 14 deletions(-) diff --git a/app/(dashboard)/proxy-hosts/ProxyHostsClient.tsx b/app/(dashboard)/proxy-hosts/ProxyHostsClient.tsx index 6ac0069a..b3b741a2 100644 --- a/app/(dashboard)/proxy-hosts/ProxyHostsClient.tsx +++ b/app/(dashboard)/proxy-hosts/ProxyHostsClient.tsx @@ -2,7 +2,7 @@ import { useEffect, useRef, useState } from "react"; import { useRouter, usePathname, useSearchParams } from "next/navigation"; -import { Globe, MoreHorizontal, ArrowRight, Shield } from "lucide-react"; +import { Globe, MoreHorizontal, ArrowRight, Shield, Bug, MapPin, Scale, KeyRound, UserCheck, CornerRightDown, Replace } from "lucide-react"; import type { AccessList } from "@/lib/models/access-lists"; import type { Certificate } from "@/lib/models/certificates"; import type { ProxyHost } from "@/lib/models/proxy-hosts"; @@ -118,21 +118,58 @@ export default function ProxyHostsClient({ hosts, certificates, accessLists, caC { id: "features", label: "Features", - render: (host: ProxyHost) => ( -
- {host.certificate_id && ( - TLS - )} - {host.access_list_id && ( - + render: (host: ProxyHost) => { + const badges = [ + host.certificate_id && ( + TLS + ), + host.access_list_id && ( + Auth - )} - {!host.certificate_id && !host.access_list_id && ( - - )} -
- ), + ), + host.authentik?.enabled && ( + + Authentik + + ), + host.waf?.enabled && ( + + WAF + + ), + host.geoblock?.enabled && ( + + Geo + + ), + host.load_balancer?.enabled && ( + + LB + + ), + host.mtls?.enabled && ( + + mTLS + + ), + host.redirects?.length > 0 && ( + + Redirects + + ), + host.rewrite && ( + + Rewrite + + ), + ].filter(Boolean); + return ( +
+ {badges.length > 0 ? badges : } +
+ ); + }, }, { id: "status",