diff --git a/AgentCompany-New/src/renderer/src/main.tsx b/AgentCompany-New/src/renderer/src/main.tsx index 1601748a..f65ac1d1 100644 --- a/AgentCompany-New/src/renderer/src/main.tsx +++ b/AgentCompany-New/src/renderer/src/main.tsx @@ -2,6 +2,7 @@ import React from "react"; import ReactDOM from "react-dom/client"; import { App } from "./app/App"; import "./styles.css"; +import "./styles/components.css"; import "./overlays.css"; ReactDOM.createRoot(document.getElementById("root")!).render( diff --git a/AgentCompany-New/src/renderer/src/styles.css b/AgentCompany-New/src/renderer/src/styles.css index fd976e6e..54d776a5 100644 --- a/AgentCompany-New/src/renderer/src/styles.css +++ b/AgentCompany-New/src/renderer/src/styles.css @@ -349,189 +349,6 @@ a { color: inherit; } .row { display: flex; align-items: center; gap: 10px; min-width: 0; } .col { display: flex; flex-direction: column; min-width: 0; } -.card { - background: var(--panel); - border: 1px solid var(--border); - border-radius: var(--r-lg); - padding: 16px; -} -.card-label { - color: var(--text-3); - font-size: 11px; - font-weight: 540; - letter-spacing: 0.02em; -} - -.button { - height: 28px; - display: inline-flex; - align-items: center; - gap: 6px; - padding: 0 10px; - border-radius: var(--r-md); - border: 1px solid var(--border-strong); - background: var(--panel); - color: var(--text-1); - font-size: 12.5px; - font-weight: 500; - white-space: nowrap; -} -.button:hover { background: var(--panel-2); } -.button.primary { background: var(--text-1); color: #fff; border-color: var(--text-1); } -.button.primary:hover { background: #27272a; } -.button.ghost { border-color: transparent; background: transparent; color: var(--text-2); } -.button.ghost:hover { background: var(--hover); color: var(--text-1); } -.button.small { height: 24px; padding: 0 8px; font-size: 12px; } -.button:disabled { opacity: 0.45; cursor: default; } - -.icon-button { - width: 28px; - height: 28px; - display: grid; - place-items: center; - border-radius: var(--r-md); - border: 1px solid var(--border); - background: var(--panel); - color: var(--text-2); - flex-shrink: 0; -} -.icon-button:hover { background: var(--panel-2); color: var(--text-1); } -.icon-button.ghost { border-color: transparent; background: transparent; } -.icon-button.ghost:hover { background: var(--hover); color: var(--text-1); } -.icon-button:disabled { opacity: 0.4; cursor: default; } -.icon-button:disabled:hover { background: transparent; color: var(--text-2); } - -.segmented { - display: inline-flex; - align-items: center; - gap: 2px; - padding: 2px; - border: 1px solid var(--border); - border-radius: 8px; - background: var(--panel); -} -.segmented .segment { - height: 22px; - padding: 0 8px; - border-radius: 6px; - border: 0; - background: transparent; - color: var(--text-2); - font-size: 12px; - font-weight: 500; -} -.segmented .segment.active { background: var(--panel-3); color: var(--text-1); font-weight: 540; } - -.pill { - display: inline-flex; - align-items: center; - gap: 5px; - height: 20px; - padding: 0 7px; - border-radius: 999px; - background: var(--panel-2); - color: var(--text-2); - border: 1px solid var(--border); - font-size: 11px; - font-weight: 500; - white-space: nowrap; -} -.pill .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--text-3); } -.pill.amber { background: var(--amber-soft); color: var(--amber); border-color: transparent; } -.pill.amber .dot { background: var(--amber); } -.pill.green { background: var(--green-soft); color: var(--green); border-color: transparent; } -.pill.green .dot { background: var(--green); } -.pill.violet { background: var(--accent-soft); color: var(--accent); border-color: transparent; } -.pill.violet .dot { background: var(--accent); } -.pill.red { background: rgba(210, 59, 59, 0.1); color: var(--red); border-color: transparent; } -.pill.red .dot { background: var(--red); } - -.avatar { - width: 28px; - height: 28px; - flex-shrink: 0; - display: grid; - place-items: center; - border-radius: 50%; - color: #fff; - font-size: 11px; - font-weight: 600; - letter-spacing: -0.01em; -} -.avatar.bot { border-radius: 8px; } -.avatar.sm { width: 22px; height: 22px; font-size: 10px; } -.avatar.lg { width: 36px; height: 36px; font-size: 13px; } -.avatar.xl { width: 48px; height: 48px; font-size: 16px; } -.avatar-stack { display: inline-flex; } -.avatar-stack > .avatar-ring { margin-left: -6px; border: 2px solid var(--panel); border-radius: 50%; } -.avatar-stack > .avatar-ring:first-child { margin-left: 0; } - -.num { font-variant-numeric: tabular-nums; letter-spacing: -0.02em; } -.mono { font-family: var(--font-mono); } - -.input { - width: 100%; - border: 1px solid var(--border-strong); - border-radius: var(--r-md); - background: var(--panel); - color: var(--text-1); - padding: 8px 10px; - outline: none; - font-size: 13px; -} -.input:focus { border-color: var(--text-1); } -textarea.input { min-height: 84px; resize: vertical; line-height: 1.5; } -.field { - display: flex; - flex-direction: column; - gap: 6px; - color: var(--text-2); - font-size: 12px; -} -.field > span { color: var(--text-2); font-weight: 500; } -.checkbox-row { - display: flex; - align-items: center; - gap: 8px; - color: var(--text-2); - font-size: 12.5px; -} - -.divider { height: 1px; background: var(--border-soft); margin: 16px 0; } - -.table-row { - display: grid; - gap: 12px; - align-items: center; - padding: 12px 18px; - border-bottom: 1px solid var(--border-soft); - font-size: 13px; -} -.table-row.head { - padding: 10px 18px; - font-size: 11px; - color: var(--text-3); - font-weight: 540; - letter-spacing: 0.02em; - background: var(--panel-2); - border-bottom: 1px solid var(--border-soft); -} -.table-row:last-child { border-bottom: 0; } -.table-row.clickable { cursor: pointer; } -.table-row.clickable:hover { background: var(--hover); } -.clickable-card { transition: border-color 0.1s ease; } -.clickable-card:hover { border-color: var(--border-strong); } - -.link-button { - border: 0; - background: transparent; - padding: 0; - cursor: pointer; - font: inherit; - color: var(--text-3); -} -.link-button:hover { color: var(--text-1); } - .split-main { display: flex; flex-direction: row; min-height: 0; flex: 1; } .secondary-pane { width: 240px; diff --git a/AgentCompany-New/src/renderer/src/styles/components.css b/AgentCompany-New/src/renderer/src/styles/components.css new file mode 100644 index 00000000..e636e7ef --- /dev/null +++ b/AgentCompany-New/src/renderer/src/styles/components.css @@ -0,0 +1,182 @@ +.card { + background: var(--panel); + border: 1px solid var(--border); + border-radius: var(--r-lg); + padding: 16px; +} +.card-label { + color: var(--text-3); + font-size: 11px; + font-weight: 540; + letter-spacing: 0.02em; +} + +.button { + height: 28px; + display: inline-flex; + align-items: center; + gap: 6px; + padding: 0 10px; + border-radius: var(--r-md); + border: 1px solid var(--border-strong); + background: var(--panel); + color: var(--text-1); + font-size: 12.5px; + font-weight: 500; + white-space: nowrap; +} +.button:hover { background: var(--panel-2); } +.button.primary { background: var(--text-1); color: #fff; border-color: var(--text-1); } +.button.primary:hover { background: #27272a; } +.button.ghost { border-color: transparent; background: transparent; color: var(--text-2); } +.button.ghost:hover { background: var(--hover); color: var(--text-1); } +.button.small { height: 24px; padding: 0 8px; font-size: 12px; } +.button:disabled { opacity: 0.45; cursor: default; } + +.icon-button { + width: 28px; + height: 28px; + display: grid; + place-items: center; + border-radius: var(--r-md); + border: 1px solid var(--border); + background: var(--panel); + color: var(--text-2); + flex-shrink: 0; +} +.icon-button:hover { background: var(--panel-2); color: var(--text-1); } +.icon-button.ghost { border-color: transparent; background: transparent; } +.icon-button.ghost:hover { background: var(--hover); color: var(--text-1); } +.icon-button:disabled { opacity: 0.4; cursor: default; } +.icon-button:disabled:hover { background: transparent; color: var(--text-2); } + +.segmented { + display: inline-flex; + align-items: center; + gap: 2px; + padding: 2px; + border: 1px solid var(--border); + border-radius: 8px; + background: var(--panel); +} +.segmented .segment { + height: 22px; + padding: 0 8px; + border-radius: 6px; + border: 0; + background: transparent; + color: var(--text-2); + font-size: 12px; + font-weight: 500; +} +.segmented .segment.active { background: var(--panel-3); color: var(--text-1); font-weight: 540; } + +.pill { + display: inline-flex; + align-items: center; + gap: 5px; + height: 20px; + padding: 0 7px; + border-radius: 999px; + background: var(--panel-2); + color: var(--text-2); + border: 1px solid var(--border); + font-size: 11px; + font-weight: 500; + white-space: nowrap; +} +.pill .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--text-3); } +.pill.amber { background: var(--amber-soft); color: var(--amber); border-color: transparent; } +.pill.amber .dot { background: var(--amber); } +.pill.green { background: var(--green-soft); color: var(--green); border-color: transparent; } +.pill.green .dot { background: var(--green); } +.pill.violet { background: var(--accent-soft); color: var(--accent); border-color: transparent; } +.pill.violet .dot { background: var(--accent); } +.pill.red { background: rgba(210, 59, 59, 0.1); color: var(--red); border-color: transparent; } +.pill.red .dot { background: var(--red); } + +.avatar { + width: 28px; + height: 28px; + flex-shrink: 0; + display: grid; + place-items: center; + border-radius: 50%; + color: #fff; + font-size: 11px; + font-weight: 600; + letter-spacing: -0.01em; +} +.avatar.bot { border-radius: 8px; } +.avatar.sm { width: 22px; height: 22px; font-size: 10px; } +.avatar.lg { width: 36px; height: 36px; font-size: 13px; } +.avatar.xl { width: 48px; height: 48px; font-size: 16px; } +.avatar-stack { display: inline-flex; } +.avatar-stack > .avatar-ring { margin-left: -6px; border: 2px solid var(--panel); border-radius: 50%; } +.avatar-stack > .avatar-ring:first-child { margin-left: 0; } + +.num { font-variant-numeric: tabular-nums; letter-spacing: -0.02em; } +.mono { font-family: var(--font-mono); } + +.input { + width: 100%; + border: 1px solid var(--border-strong); + border-radius: var(--r-md); + background: var(--panel); + color: var(--text-1); + padding: 8px 10px; + outline: none; + font-size: 13px; +} +.input:focus { border-color: var(--text-1); } +textarea.input { min-height: 84px; resize: vertical; line-height: 1.5; } +.field { + display: flex; + flex-direction: column; + gap: 6px; + color: var(--text-2); + font-size: 12px; +} +.field > span { color: var(--text-2); font-weight: 500; } +.checkbox-row { + display: flex; + align-items: center; + gap: 8px; + color: var(--text-2); + font-size: 12.5px; +} + +.divider { height: 1px; background: var(--border-soft); margin: 16px 0; } + +.table-row { + display: grid; + gap: 12px; + align-items: center; + padding: 12px 18px; + border-bottom: 1px solid var(--border-soft); + font-size: 13px; +} +.table-row.head { + padding: 10px 18px; + font-size: 11px; + color: var(--text-3); + font-weight: 540; + letter-spacing: 0.02em; + background: var(--panel-2); + border-bottom: 1px solid var(--border-soft); +} +.table-row:last-child { border-bottom: 0; } +.table-row.clickable { cursor: pointer; } +.table-row.clickable:hover { background: var(--hover); } +.clickable-card { transition: border-color 0.1s ease; } +.clickable-card:hover { border-color: var(--border-strong); } + +.link-button { + border: 0; + background: transparent; + padding: 0; + cursor: pointer; + font: inherit; + color: var(--text-3); +} +.link-button:hover { color: var(--text-1); }