feat: change zinc theme
This commit is contained in:
parent
49e73308f6
commit
57fd8def59
9
README.md
Normal file
9
README.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
# 分析失败处理机制
|
||||
|
||||
- 分割阶段
|
||||
- 测量阶段
|
||||
|
||||
# 解剖结构 - 模型的关系 1:1 or 1:n
|
||||
|
||||
- 换版本重新测量
|
||||
-
|
|
@ -29,7 +29,7 @@ process.env.VITE_PUBLIC = VITE_DEV_SERVER_URL
|
|||
let win: BrowserWindow | null;
|
||||
let tray: Tray | null = null;
|
||||
let pythonManager: PythonManager | null;
|
||||
const theme: "dark" | "light" = "dark";
|
||||
const theme: "dark" | "light" = "light";
|
||||
|
||||
const themeTitleBarStyles = {
|
||||
dark: { color: "rgb(32,32,32)", symbolColor: "#fff" },
|
||||
|
|
|
@ -11,6 +11,7 @@ import {
|
|||
getSortedRowModel,
|
||||
useReactTable,
|
||||
} from "@tanstack/react-table";
|
||||
import { ArrowUpDown, ChevronDown, MoreHorizontal } from "lucide-react";
|
||||
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Checkbox } from "@/components/ui/checkbox";
|
||||
|
@ -18,6 +19,9 @@ import {
|
|||
DropdownMenu,
|
||||
DropdownMenuCheckboxItem,
|
||||
DropdownMenuContent,
|
||||
DropdownMenuItem,
|
||||
DropdownMenuLabel,
|
||||
DropdownMenuSeparator,
|
||||
DropdownMenuTrigger,
|
||||
} from "@/components/ui/dropdown-menu";
|
||||
import { Input } from "@/components/ui/input";
|
||||
|
@ -44,6 +48,16 @@ export type Series = {
|
|||
filePaths: string[];
|
||||
};
|
||||
|
||||
const columnsAlias: { [K in keyof Partial<Series>]: string } = {
|
||||
PatientName: "姓名",
|
||||
PatientAge: "年龄",
|
||||
PatientSex: "性别",
|
||||
SeriesInstanceUID: "序列UID",
|
||||
filePaths: "层数",
|
||||
createTime: "创建时间",
|
||||
updateTime: "修改时间",
|
||||
};
|
||||
|
||||
export const columns: ColumnDef<Series>[] = [
|
||||
{
|
||||
id: "select",
|
||||
|
@ -68,36 +82,41 @@ export const columns: ColumnDef<Series>[] = [
|
|||
enableHiding: false,
|
||||
},
|
||||
{
|
||||
id: "PatientName",
|
||||
accessorKey: "PatientName",
|
||||
header: "姓名",
|
||||
header: columnsAlias["PatientName"],
|
||||
cell: ({ row }) => (
|
||||
<div className="capitalize">{row.getValue("PatientName")}</div>
|
||||
),
|
||||
},
|
||||
{
|
||||
id: "PatientAge",
|
||||
accessorKey: "PatientAge",
|
||||
header: "年龄",
|
||||
header: columnsAlias["PatientAge"],
|
||||
cell: ({ row }) => (
|
||||
<div className="capitalize">{row.getValue("PatientAge")}</div>
|
||||
),
|
||||
},
|
||||
{
|
||||
id: "PatientSex",
|
||||
accessorKey: "PatientSex",
|
||||
header: "性别",
|
||||
header: columnsAlias["PatientSex"],
|
||||
cell: ({ row }) => (
|
||||
<div className="capitalize">{row.getValue("PatientSex")}</div>
|
||||
),
|
||||
},
|
||||
{
|
||||
id: "SeriesInstanceUID",
|
||||
accessorKey: "SeriesInstanceUID",
|
||||
header: "序列UID",
|
||||
header: columnsAlias["SeriesInstanceUID"],
|
||||
cell: ({ row }) => (
|
||||
<div className="capitalize">{row.getValue("SeriesInstanceUID")}</div>
|
||||
),
|
||||
},
|
||||
{
|
||||
id: "filePaths",
|
||||
accessorKey: "filePaths",
|
||||
header: "层数",
|
||||
header: columnsAlias["filePaths"],
|
||||
cell: ({ row }) => (
|
||||
<div className="capitalize">
|
||||
{(row.getValue("filePaths") as string[]).length}
|
||||
|
@ -105,8 +124,19 @@ export const columns: ColumnDef<Series>[] = [
|
|||
),
|
||||
},
|
||||
{
|
||||
id: "createTime",
|
||||
accessorKey: "createTime",
|
||||
header: "创建时间",
|
||||
header: ({ column }) => {
|
||||
return (
|
||||
<Button
|
||||
variant="ghost"
|
||||
onClick={() => column.toggleSorting(column.getIsSorted() === "asc")}
|
||||
>
|
||||
{columnsAlias["createTime"]}
|
||||
<ArrowUpDown className="ml-2 h-4 w-4" />
|
||||
</Button>
|
||||
);
|
||||
},
|
||||
cell: ({ row }) => (
|
||||
<div className="capitalize">
|
||||
{new Date(row.getValue("createTime")).toLocaleString()}
|
||||
|
@ -114,14 +144,45 @@ export const columns: ColumnDef<Series>[] = [
|
|||
),
|
||||
},
|
||||
{
|
||||
id: "updateTime",
|
||||
accessorKey: "updateTime",
|
||||
header: "修改时间",
|
||||
header: columnsAlias["updateTime"],
|
||||
cell: ({ row }) => (
|
||||
<div className="capitalize">
|
||||
{new Date(row.getValue("updateTime")).toLocaleString()}
|
||||
</div>
|
||||
),
|
||||
},
|
||||
{
|
||||
id: "actions",
|
||||
header: "操作",
|
||||
enableHiding: false,
|
||||
cell: ({ row }) => {
|
||||
const payment = row.original;
|
||||
|
||||
return (
|
||||
<DropdownMenu>
|
||||
<DropdownMenuTrigger asChild>
|
||||
<Button variant="ghost" className="h-8 w-8 p-0">
|
||||
<span className="sr-only">Open menu</span>
|
||||
<MoreHorizontal className="h-4 w-4" />
|
||||
</Button>
|
||||
</DropdownMenuTrigger>
|
||||
<DropdownMenuContent align="end">
|
||||
<DropdownMenuLabel>Actions</DropdownMenuLabel>
|
||||
<DropdownMenuItem
|
||||
onClick={() => navigator.clipboard.writeText(payment.id)}
|
||||
>
|
||||
Copy payment ID
|
||||
</DropdownMenuItem>
|
||||
<DropdownMenuSeparator />
|
||||
<DropdownMenuItem>View customer</DropdownMenuItem>
|
||||
<DropdownMenuItem>View payment details</DropdownMenuItem>
|
||||
</DropdownMenuContent>
|
||||
</DropdownMenu>
|
||||
);
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
export function SeriesTable() {
|
||||
|
@ -197,7 +258,7 @@ export function SeriesTable() {
|
|||
column.toggleVisibility(!!value)
|
||||
}
|
||||
>
|
||||
{column.columnDef.header}
|
||||
{columnsAlias[column.id]}
|
||||
</DropdownMenuCheckboxItem>
|
||||
);
|
||||
})}
|
||||
|
|
|
@ -12,27 +12,28 @@ body,
|
|||
|
||||
|
||||
|
||||
|
||||
@layer base {
|
||||
:root {
|
||||
--background: 0 0% 100%;
|
||||
--foreground: 240 10% 3.9%;
|
||||
--foreground: 222.2 84% 4.9%;
|
||||
--card: 0 0% 100%;
|
||||
--card-foreground: 240 10% 3.9%;
|
||||
--card-foreground: 222.2 84% 4.9%;
|
||||
--popover: 0 0% 100%;
|
||||
--popover-foreground: 240 10% 3.9%;
|
||||
--primary: 142.1 76.2% 36.3%;
|
||||
--primary-foreground: 355.7 100% 97.3%;
|
||||
--secondary: 240 4.8% 95.9%;
|
||||
--secondary-foreground: 240 5.9% 10%;
|
||||
--muted: 240 4.8% 95.9%;
|
||||
--muted-foreground: 240 3.8% 46.1%;
|
||||
--accent: 240 4.8% 95.9%;
|
||||
--accent-foreground: 240 5.9% 10%;
|
||||
--popover-foreground: 222.2 84% 4.9%;
|
||||
--primary: 222.2 47.4% 11.2%;
|
||||
--primary-foreground: 210 40% 98%;
|
||||
--secondary: 210 40% 96.1%;
|
||||
--secondary-foreground: 222.2 47.4% 11.2%;
|
||||
--muted: 210 40% 96.1%;
|
||||
--muted-foreground: 215.4 16.3% 46.9%;
|
||||
--accent: 210 40% 96.1%;
|
||||
--accent-foreground: 222.2 47.4% 11.2%;
|
||||
--destructive: 0 84.2% 60.2%;
|
||||
--destructive-foreground: 0 0% 98%;
|
||||
--border: 240 5.9% 90%;
|
||||
--input: 240 5.9% 90%;
|
||||
--ring: 142.1 76.2% 36.3%;
|
||||
--destructive-foreground: 210 40% 98%;
|
||||
--border: 214.3 31.8% 91.4%;
|
||||
--input: 214.3 31.8% 91.4%;
|
||||
--ring: 222.2 84% 4.9%;
|
||||
--radius: 0.5rem;
|
||||
--chart-1: 12 76% 61%;
|
||||
--chart-2: 173 58% 39%;
|
||||
|
@ -42,25 +43,25 @@ body,
|
|||
}
|
||||
|
||||
.dark {
|
||||
--background: 20 14.3% 4.1%;
|
||||
--foreground: 0 0% 95%;
|
||||
--card: 24 9.8% 10%;
|
||||
--card-foreground: 0 0% 95%;
|
||||
--popover: 0 0% 9%;
|
||||
--popover-foreground: 0 0% 95%;
|
||||
--primary: 142.1 70.6% 45.3%;
|
||||
--primary-foreground: 144.9 80.4% 10%;
|
||||
--secondary: 240 3.7% 15.9%;
|
||||
--secondary-foreground: 0 0% 98%;
|
||||
--muted: 0 0% 15%;
|
||||
--muted-foreground: 240 5% 64.9%;
|
||||
--accent: 12 6.5% 15.1%;
|
||||
--accent-foreground: 0 0% 98%;
|
||||
--background: 222.2 84% 4.9%;
|
||||
--foreground: 210 40% 98%;
|
||||
--card: 222.2 84% 4.9%;
|
||||
--card-foreground: 210 40% 98%;
|
||||
--popover: 222.2 84% 4.9%;
|
||||
--popover-foreground: 210 40% 98%;
|
||||
--primary: 210 40% 98%;
|
||||
--primary-foreground: 222.2 47.4% 11.2%;
|
||||
--secondary: 217.2 32.6% 17.5%;
|
||||
--secondary-foreground: 210 40% 98%;
|
||||
--muted: 217.2 32.6% 17.5%;
|
||||
--muted-foreground: 215 20.2% 65.1%;
|
||||
--accent: 217.2 32.6% 17.5%;
|
||||
--accent-foreground: 210 40% 98%;
|
||||
--destructive: 0 62.8% 30.6%;
|
||||
--destructive-foreground: 0 85.7% 97.3%;
|
||||
--border: 240 3.7% 15.9%;
|
||||
--input: 240 3.7% 15.9%;
|
||||
--ring: 142.4 71.8% 29.2%;
|
||||
--destructive-foreground: 210 40% 98%;
|
||||
--border: 217.2 32.6% 17.5%;
|
||||
--input: 217.2 32.6% 17.5%;
|
||||
--ring: 212.7 26.8% 83.9;
|
||||
--chart-1: 220 70% 50%;
|
||||
--chart-2: 160 60% 45%;
|
||||
--chart-3: 30 80% 55%;
|
||||
|
@ -70,6 +71,7 @@ body,
|
|||
}
|
||||
|
||||
|
||||
|
||||
@layer base {
|
||||
* {
|
||||
@apply border-border;
|
||||
|
|
Loading…
Reference in New Issue
Block a user