You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

23 lines
761 B
TypeScript

// frontend/components/notify/SrcIcon.tsx — 알림 소스 아이콘 (mail/cal/chat/fin/app)
"use client";
import { Icon } from "@/components/Icon";
import type { IconName } from "@/components/icons/paths";
import type { NotifySource } from "@/lib/types";
const NT_SRC: Record<NotifySource, { d: IconName; tone: string }> = {
mail: { d: "mail", tone: "var(--blue)" },
cal: { d: "cal", tone: "var(--violet)" },
chat: { d: "msg", tone: "var(--violet)" },
fin: { d: "card", tone: "var(--green)" },
app: { d: "grid", tone: "var(--ink-2)" },
};
export function SrcIcon({ src }: { src: NotifySource }) {
const s = NT_SRC[src] || NT_SRC.app;
return (
<span className="nt-ic" style={{ color: s.tone }}>
<Icon name={s.d} />
</span>
);
}