Some checks failed
Sync dev → Gitea / Mirror dev to Gitea (push) Has been cancelled
Commits merged: - feat(FN-192): complete Step 8 — Documentation & Delivery - feat(FN-192): complete Step 7 — Testing & Verification - feat(FN-192): complete Step 6 — i18n keys replace stage with changeType - feat(FN-192): complete Step 5 — ChangelogTab rename stage to changeType - feat(FN-192): complete Step 4 — Badge component rename stage to changeType - feat(FN-192): complete Step 3 — API Service + Controller Spec - feat(FN-192): complete Step 2 — Shared Zod schemas + type exports + DTO - feat(FN-192): complete Step 1 — DB schema + Migration Files changed: apps/api/drizzle/0001_charming_quicksand.sql | 2 + apps/api/drizzle/meta/0001_snapshot.json | 5167 ++++++++++++++++++++ apps/api/drizzle/meta/_journal.json | 9 +- .../api/src/changelog/changelog.controller.spec.ts | 2 +- apps/api/src/changelog/changelog.dto.ts | 2 +- apps/api/src/changelog/changelog.service.spec.ts | 4 +- apps/api/src/changelog/changelog.service.ts | 4 +- apps/api/src/database/schema/core.ts | 2 +- apps/web/src/components/settings/changelog-tab.tsx | 11 +- apps/web/src/messages/en.json | 8 +- apps/web/src/messages/tr.json | 8 +- docs/INDEX.md | 4 +- packages/shared/src/index.ts | 4 +- packages/shared/src/schemas/changelog.ts | 8 +- packages/shared/src/types/changelog.ts | 2 +- packages/ui/src/badge.tsx | 12 +- 16 files changed, 5215 insertions(+), 34 deletions(-) Fusion-Task-Id: FN-192
36 lines
1.4 KiB
TypeScript
36 lines
1.4 KiB
TypeScript
import { type VariantProps, cva } from "class-variance-authority";
|
|
import type * as React from "react";
|
|
import { cn } from "./utils";
|
|
|
|
const badgeVariants = cva(
|
|
"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
{
|
|
variants: {
|
|
variant: {
|
|
default: "border-transparent bg-primary text-primary-foreground shadow",
|
|
secondary: "border-transparent bg-secondary text-secondary-foreground",
|
|
destructive: "border-transparent bg-destructive text-destructive-foreground shadow",
|
|
outline: "text-foreground",
|
|
},
|
|
changeType: {
|
|
fix: "border-transparent bg-red-500/15 text-red-600 dark:bg-red-500/20 dark:text-red-400",
|
|
feature: "border-transparent bg-emerald-500/15 text-emerald-600 dark:bg-emerald-500/20 dark:text-emerald-400",
|
|
improvement: "border-transparent bg-blue-500/15 text-blue-600 dark:bg-blue-500/20 dark:text-blue-400",
|
|
},
|
|
},
|
|
defaultVariants: {
|
|
variant: "default",
|
|
},
|
|
},
|
|
);
|
|
|
|
export interface BadgeProps
|
|
extends React.HTMLAttributes<HTMLDivElement>,
|
|
VariantProps<typeof badgeVariants> {}
|
|
|
|
function Badge({ className, variant, changeType, ...props }: BadgeProps) {
|
|
return <div className={cn(badgeVariants({ variant, changeType }), className)} {...props} />;
|
|
}
|
|
|
|
export { Badge, badgeVariants };
|