Files
ttstd-infinite-canvas/web/src/components/layout/identity-provider-badge.tsx
T
ddcat666andddCat d2fbc413b3 feat: 完成短剧项目空间与结构化资产创作闭环 (#38)
* feat(canvas): 短剧项目空间 - 建立项目章节与画布关联 MVP

* feat(canvas): 短剧项目空间 - 完善项目资产、镜头与流程闭环

Refs #30

* fix(deploy): 本地部署 - 修复前端构建并忽略本地 PostgreSQL 配置

* feat(*): 短剧项目空间 - 完成项目、章节、资产、角色与画布创作闭环

Refs #30

---------

Co-authored-by: ddCat <ddcat666@88.com>
2026-07-27 10:45:11 +08:00

24 lines
972 B
TypeScript

import { cn } from "@/lib/utils";
type IdentityUser = { identityProvider?: string; identityUsername?: string };
export function isLinuxDOIdentity(user?: IdentityUser | null) {
return user?.identityProvider?.trim().toLowerCase() === "linuxdo";
}
export function IdentityProviderBadge({ user, compact = false, className }: { user: IdentityUser; compact?: boolean; className?: string }) {
if (!isLinuxDOIdentity(user)) return null;
return (
<span
className={cn(
"inline-flex shrink-0 items-center justify-center border border-border bg-background font-semibold text-foreground/65",
compact ? "size-3.5 rounded-full text-[8px] leading-none" : "h-4 rounded px-1 text-[9px] leading-none",
className,
)}
title={user.identityUsername ? `Linux.do · @${user.identityUsername}` : "Linux.do 用户"}
>
{compact ? "L" : "Linux.do"}
</span>
);
}