feat(app,server): add pull request pane to the workspace sidebar
Introduce a PR tab in the explorer sidebar that shows status checks, reviews, and the merged timeline for the current branch's pull request. Extend checkout PR status with number, draft flag, repo identity, and per-check workflow/duration; add a new pull_request_timeline request/response pair backed by a GraphQL query; enrich the workspace git snapshot to carry the fields through to the client; and extend the checkout-git-actions store so timeline queries are invalidated alongside status when mutations land.
This commit is contained in:
@@ -117,6 +117,23 @@ const darkDiffColors = {
|
||||
diffDeletion: "#ef4444", // red-500
|
||||
};
|
||||
|
||||
// Status colors — semantic signals for success/danger/warning/merged. Used by
|
||||
// check statuses, PR states, and review decisions. Kept a step darker than the
|
||||
// raw palette so they read as signals, not neon.
|
||||
const lightStatusColors = {
|
||||
statusSuccess: "#15803d", // green-700
|
||||
statusDanger: "#b91c1c", // red-700
|
||||
statusWarning: "#d97706", // amber-600
|
||||
statusMerged: "#7c3aed", // purple-600
|
||||
};
|
||||
|
||||
const darkStatusColors = {
|
||||
statusSuccess: "#16a34a", // green-600
|
||||
statusDanger: "#dc2626", // red-600
|
||||
statusWarning: "#f59e0b", // amber-500
|
||||
statusMerged: "#9333ea", // purple-600
|
||||
};
|
||||
|
||||
// Semantic color tokens - Layer-based system
|
||||
const lightSemanticColors = {
|
||||
// Surfaces (layers) - shifted one step lighter
|
||||
@@ -167,6 +184,7 @@ const lightSemanticColors = {
|
||||
ring: "#18181b",
|
||||
|
||||
...lightDiffColors,
|
||||
...lightStatusColors,
|
||||
|
||||
terminal: {
|
||||
background: "#ffffff",
|
||||
@@ -278,6 +296,7 @@ function buildDarkSemanticColors(tint: DarkThemeConfig) {
|
||||
ring: "#d4d4d8",
|
||||
|
||||
...darkDiffColors,
|
||||
...darkStatusColors,
|
||||
|
||||
terminal: {
|
||||
background: tint.surface0,
|
||||
|
||||
Reference in New Issue
Block a user