feature: migrate to v3 badge, additional badge stories, re-useable documentation link badge and misc styling fixes/improvements

This commit is contained in:
Scott Wilson
2025-10-24 19:27:28 -07:00
parent 6c04dd1937
commit 01d6f5d35e
155 changed files with 1267 additions and 1740 deletions
@@ -7,10 +7,10 @@ import {
faXmark
} from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { ServerCogIcon } from "lucide-react";
import { createNotification } from "@app/components/notifications";
import {
Badge,
DeleteActionModal,
DropdownMenu,
DropdownMenuContent,
@@ -29,6 +29,7 @@ import {
THead,
Tr
} from "@app/components/v2";
import { Badge } from "@app/components/v3";
import {
getUserTablePreference,
PreferenceKey,
@@ -110,7 +111,8 @@ const IdentityPanelTable = ({
<Td>
{name}
{isInstanceAdmin && (
<Badge variant="primary" className="ml-2">
<Badge variant="info" className="ml-2">
<ServerCogIcon />
Server Admin
</Badge>
)}
@@ -3,7 +3,6 @@ import {
faArrowDown,
faArrowUp,
faBuilding,
faCircleQuestion,
faEllipsisV,
faEnvelope,
faEye,
@@ -19,11 +18,11 @@ import {
} from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { useNavigate } from "@tanstack/react-router";
import { CircleQuestionMarkIcon } from "lucide-react";
import { twMerge } from "tailwind-merge";
import { createNotification } from "@app/components/notifications";
import {
Badge,
Button,
DeleteActionModal,
DropdownMenu,
@@ -46,6 +45,7 @@ import {
Tooltip,
Tr
} from "@app/components/v2";
import { Badge } from "@app/components/v3";
import { useUser } from "@app/context";
import { OrgMembershipRole } from "@app/helpers/roles";
import {
@@ -295,15 +295,17 @@ const ViewMembersModalContent = ({
)}
</div>
</Td>
<Td className="max-w-0">
<Badge className="flex w-fit max-w-full items-center gap-x-1 bg-mineshaft-400/50 whitespace-nowrap text-bunker-200">
<p className="truncate capitalize">{member.role.replace("-", " ")}</p>
{Boolean(member.roleId) && (
<Tooltip content="This member has a custom role assigned.">
<FontAwesomeIcon icon={faCircleQuestion} className="w-3" />
</Tooltip>
)}
</Badge>
<Td>
<div className="flex max-w-32">
<Tooltip
content={member.roleId ? "This member has a custom role assigned." : ""}
>
<Badge isTruncatable variant="neutral">
<span className="capitalize">{member.role.replace("-", " ")}</span>
{Boolean(member.roleId) && <CircleQuestionMarkIcon />}
</Badge>
</Tooltip>
</div>
</Td>
<Td>
<div className="flex justify-end">
@@ -9,16 +9,15 @@ import {
faUsers,
faUserShield,
faUserXmark,
faWarning,
faXmark
} from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { AlertTriangleIcon, UserCogIcon } from "lucide-react";
import { twMerge } from "tailwind-merge";
import { UpgradePlanModal } from "@app/components/license/UpgradePlanModal";
import { createNotification } from "@app/components/notifications";
import {
Badge,
Button,
Checkbox,
DeleteActionModal,
@@ -41,6 +40,7 @@ import {
Tooltip,
Tr
} from "@app/components/v2";
import { Badge } from "@app/components/v3";
import { useSubscription, useUser } from "@app/context";
import {
getUserTablePreference,
@@ -218,7 +218,8 @@ const UserPanelTable = ({
{name ?? <span className="text-mineshaft-400">Not Set</span>}
</p>
{superAdmin && (
<Badge variant="primary" className="ml-2 whitespace-nowrap">
<Badge variant="info" className="ml-2">
<UserCogIcon />
Server Admin
</Badge>
)}
@@ -548,7 +549,7 @@ export const UserIdentitiesTable = () => {
const email = user.email ?? user.username;
return (
<li key={user.id}>
<div className="flex items-center">
<div className="flex items-center gap-x-1">
<p>
{user.firstName || user.lastName ? (
<>
@@ -561,15 +562,10 @@ export const UserIdentitiesTable = () => {
</p>
{userId === user.id && (
<Tooltip content="Are you sure you want to remove yourself from this instance?">
<div className="inline-block">
<Badge
variant="primary"
className="mt-[0.05rem] ml-1 inline-flex w-min items-center gap-1.5 whitespace-nowrap"
>
<FontAwesomeIcon icon={faWarning} />
<span>Deleting Yourself</span>
</Badge>
</div>
<Badge variant="danger">
<AlertTriangleIcon />
Deleting Yourself
</Badge>
</Tooltip>
)}
</div>