8ea40260ad
- The lane terminal (xterm) takes its palette from the selected DARK theme — it stays dark in light mode, as a terminal should — and repaints live when the theme changes (`client/src/lib/terminalTheme.ts`). - Charts on the Dashboard and Workflows pages draw their grid, axes, labels and tooltips from theme tokens instead of hardcoded near-black/white, and the activity heatmap ramps from the page surface to the accent, so it reads on every theme instead of going near-black on light ones. - Status/brand text that only worked on dark backgrounds (`text-*-300/400`) gets a darker light-mode shade (`text-*-700 dark:text-*-300`) across sessions, conversations, workflows, config and settings. Categorical chart colours are kept.
33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
/**
|
|
* @file ScopeBadge.tsx
|
|
* @description Small colored badge for a config artifact's scope (user /
|
|
* project / project-local). Tool-agnostic — takes a plain string so it works
|
|
* for Claude Code and Codex scopes alike.
|
|
* @author Nguyễn Ngọc Trí Vĩ <vinnt@smartgift.vn>
|
|
*/
|
|
|
|
import { useTranslation } from "react-i18next";
|
|
|
|
export function ScopeBadge({ scope }: { scope: string }) {
|
|
const { t } = useTranslation("ccConfig");
|
|
const color =
|
|
scope === "user"
|
|
? "bg-sky-500/10 text-sky-700 dark:text-sky-300 border-sky-500/30"
|
|
: scope === "project"
|
|
? "bg-status-success/10 text-status-success border-status-success/30"
|
|
: scope === "project-local"
|
|
? "bg-violet-500/10 text-violet-700 dark:text-violet-300 border-violet-500/30"
|
|
: "bg-surface-3 text-fg-secondary border-border";
|
|
const label =
|
|
scope === "project-local"
|
|
? t("scope.projectLocal")
|
|
: scope === "user"
|
|
? t("scope.user")
|
|
: scope === "project"
|
|
? t("scope.project")
|
|
: scope;
|
|
return (
|
|
<span className={`text-[10px] font-mono px-1.5 py-0.5 rounded border ${color}`}>{label}</span>
|
|
);
|
|
}
|