Skip to content

Commit 748f4b6

Browse files
committed
Web app improvements.
1 parent a6f1a60 commit 748f4b6

15 files changed

Lines changed: 1824 additions & 129 deletions

core/App.css

Lines changed: 188 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,22 @@ html[data-codiff-platform='darwin'] .plan-header {
318318
--mdx-editor-font-size: 14px;
319319
--mdx-editor-line-height: 1.55;
320320
--mdx-editor-padding: 8px 12px;
321+
--plan-comment-highlight-0: light-dark(rgb(198 125 0 / 0.24), rgb(245 190 66 / 0.24));
322+
--plan-comment-highlight-0-active: light-dark(rgb(198 125 0 / 0.4), rgb(245 190 66 / 0.4));
323+
--plan-comment-highlight-1: light-dark(rgb(40 112 205 / 0.22), rgb(91 166 255 / 0.24));
324+
--plan-comment-highlight-1-active: light-dark(rgb(40 112 205 / 0.38), rgb(91 166 255 / 0.4));
325+
--plan-comment-highlight-2: light-dark(rgb(29 135 71 / 0.22), rgb(80 200 120 / 0.22));
326+
--plan-comment-highlight-2-active: light-dark(rgb(29 135 71 / 0.38), rgb(80 200 120 / 0.38));
327+
--plan-comment-highlight-3: light-dark(rgb(190 48 104 / 0.2), rgb(244 114 182 / 0.22));
328+
--plan-comment-highlight-3-active: light-dark(rgb(190 48 104 / 0.36), rgb(244 114 182 / 0.38));
329+
--plan-comment-highlight-4: light-dark(rgb(112 70 184 / 0.2), rgb(190 140 255 / 0.22));
330+
--plan-comment-highlight-4-active: light-dark(rgb(112 70 184 / 0.36), rgb(190 140 255 / 0.38));
331+
--plan-comment-highlight-5: light-dark(rgb(204 73 34 / 0.2), rgb(255 132 92 / 0.22));
332+
--plan-comment-highlight-5-active: light-dark(rgb(204 73 34 / 0.36), rgb(255 132 92 / 0.38));
333+
--plan-comment-highlight-6: light-dark(rgb(13 130 133 / 0.22), rgb(65 205 200 / 0.22));
334+
--plan-comment-highlight-6-active: light-dark(rgb(13 130 133 / 0.38), rgb(65 205 200 / 0.38));
335+
--plan-comment-highlight-7: light-dark(rgb(101 113 24 / 0.22), rgb(190 205 80 / 0.22));
336+
--plan-comment-highlight-7-active: light-dark(rgb(101 113 24 / 0.38), rgb(190 205 80 / 0.38));
321337
display: block;
322338
}
323339

@@ -327,6 +343,11 @@ html[data-codiff-platform='darwin'] .plan-header {
327343
border-radius: 0 0 var(--codiff-diff-radius) var(--codiff-diff-radius);
328344
}
329345

346+
.codiff-plan-editor .mdx-editor-content::selection,
347+
.codiff-plan-editor .mdx-editor-content *::selection {
348+
background-color: var(--plan-comment-selection, var(--mdx-editor-selection));
349+
}
350+
330351
.plan-comment-affordance {
331352
background: transparent;
332353
height: 24px;
@@ -400,6 +421,24 @@ html[data-codiff-platform='darwin'] .plan-header {
400421
padding: 0;
401422
}
402423

424+
.plan-comment-composer {
425+
overflow: visible;
426+
}
427+
428+
.plan-comment-thread > .plan-comment-composer.review-comment-thread {
429+
padding: 0;
430+
}
431+
432+
.plan-comment-composer .review-comment-body,
433+
.plan-comment-composer .review-comment-input {
434+
min-inline-size: 0;
435+
width: 100%;
436+
}
437+
438+
.plan-comment-input.review-comment-input {
439+
padding: 8px 12px;
440+
}
441+
403442
.plan-comment-thread .review-comment-body {
404443
background: var(--code-bg);
405444
}
@@ -409,6 +448,11 @@ html[data-codiff-platform='darwin'] .plan-header {
409448
box-shadow: 0 0 0 1px color-mix(in srgb, var(--sidebar-ref) 18%, transparent);
410449
}
411450

451+
.plan-comment-message.editing > .review-comment-body {
452+
border-color: color-mix(in srgb, var(--sidebar-ref) 48%, var(--file-border));
453+
box-shadow: 0 0 0 1px color-mix(in srgb, var(--sidebar-ref) 18%, transparent);
454+
}
455+
412456
.plan-comment-thread.resolved {
413457
color: var(--muted);
414458
opacity: 0.72;
@@ -428,6 +472,10 @@ html[data-codiff-platform='darwin'] .plan-header {
428472
padding-right: 0;
429473
}
430474

475+
.plan-comment-header .review-comment-action {
476+
height: 26px;
477+
}
478+
431479
.plan-comment-heading {
432480
align-items: baseline;
433481
display: flex;
@@ -1109,6 +1157,11 @@ html[data-codiff-platform='darwin'] .sidebar {
11091157
padding: 4px 8px;
11101158
}
11111159

1160+
.sidebar-settings-line-count {
1161+
font: 600 11px/1 var(--font-mono);
1162+
margin-left: auto;
1163+
}
1164+
11121165
.sidebar-search {
11131166
-webkit-app-region: no-drag;
11141167
background: rgb(127 127 127 / 0.1);
@@ -1855,6 +1908,12 @@ html[data-codiff-platform='darwin'] .sidebar {
18551908
min-width: 0;
18561909
}
18571910

1911+
.general-comment-sign-in {
1912+
display: flex;
1913+
justify-content: center;
1914+
padding: 12px;
1915+
}
1916+
18581917
.general-comment-card.review-comment,
18591918
.general-comment-composer .review-comment {
18601919
padding-right: min(48px, 4vw);
@@ -2540,6 +2599,12 @@ html[data-codiff-platform='darwin'] .sidebar {
25402599
color: var(--viewed);
25412600
}
25422601

2602+
.codiff-open-button.plan-download-button {
2603+
height: 30px;
2604+
padding: 0;
2605+
width: 30px;
2606+
}
2607+
25432608
.codiff-copy-path-icon {
25442609
display: block;
25452610
flex: none;
@@ -2749,7 +2814,7 @@ html[data-codiff-platform='darwin'] .sidebar {
27492814
transform: scale(1.05);
27502815
}
27512816

2752-
.codiff-open-button:active:not(:disabled) {
2817+
.codiff-open-button:active:not(:disabled):not(:has(.review-submit-toggle:active)) {
27532818
transform: scale(0.95);
27542819
}
27552820

@@ -3257,6 +3322,88 @@ diffs-container .review-comment-thread {
32573322
color: var(--text);
32583323
}
32593324

3325+
.review-submit-action {
3326+
flex: none;
3327+
position: relative;
3328+
}
3329+
3330+
.codiff-source-description-header:has(.review-submit-popover) {
3331+
position: relative;
3332+
z-index: 13;
3333+
}
3334+
3335+
.review-submit-button:not(.close) {
3336+
cursor: default;
3337+
gap: 0;
3338+
padding: 0;
3339+
}
3340+
3341+
.review-submit-primary,
3342+
.review-submit-toggle {
3343+
align-items: center;
3344+
align-self: stretch;
3345+
background: transparent;
3346+
border: 0;
3347+
color: inherit;
3348+
cursor: pointer;
3349+
display: inline-flex;
3350+
font: inherit;
3351+
justify-content: center;
3352+
min-height: 28px;
3353+
padding: 0;
3354+
}
3355+
3356+
.review-submit-primary {
3357+
gap: 7px;
3358+
padding: 0 9px 0 11px;
3359+
}
3360+
3361+
.review-submit-toggle {
3362+
width: 28px;
3363+
}
3364+
3365+
.review-submit-primary:focus-visible,
3366+
.review-submit-toggle:focus-visible {
3367+
outline: 2px solid color-mix(in srgb, var(--tree-selection-focus) 70%, transparent);
3368+
outline-offset: -2px;
3369+
}
3370+
3371+
.review-submit-divider {
3372+
color: color-mix(in srgb, currentColor 32%, transparent);
3373+
display: block;
3374+
font-weight: 400;
3375+
line-height: 1;
3376+
user-select: none;
3377+
}
3378+
3379+
.review-submit-chevron {
3380+
display: block;
3381+
transition: transform 160ms ease;
3382+
}
3383+
3384+
.review-submit-chevron.expanded {
3385+
transform: rotate(180deg);
3386+
}
3387+
3388+
.review-submit-button[data-disabled='true'] {
3389+
cursor: default;
3390+
opacity: 0.58;
3391+
}
3392+
3393+
.review-submit-button[data-disabled='true']:hover {
3394+
background: transparent;
3395+
box-shadow:
3396+
0 0 0 1px rgb(255 255 255 / 0) inset,
3397+
0 10px 32px -24px rgb(0 0 0 / 0),
3398+
0 8px 20px -16px rgb(0 0 0 / 0);
3399+
transform: none;
3400+
}
3401+
3402+
.review-submit-primary:disabled,
3403+
.review-submit-toggle:disabled {
3404+
cursor: default;
3405+
}
3406+
32603407
.review-submit-button.approve {
32613408
color: var(--viewed);
32623409
}
@@ -3265,6 +3412,46 @@ diffs-container .review-comment-thread {
32653412
color: var(--text);
32663413
}
32673414

3415+
.review-submit-popover {
3416+
background: var(--code-bg);
3417+
border: 1px solid var(--file-border);
3418+
border-radius: 18px;
3419+
box-shadow:
3420+
0 24px 72px -34px rgb(0 0 0 / 0.72),
3421+
0 12px 28px -18px rgb(0 0 0 / 0.54);
3422+
color: var(--text);
3423+
corner-shape: squircle;
3424+
display: flex;
3425+
flex-direction: column;
3426+
overflow: hidden;
3427+
position: absolute;
3428+
right: 0;
3429+
top: calc(100% + 8px);
3430+
width: min(380px, calc(100vw - 24px));
3431+
z-index: 80;
3432+
}
3433+
3434+
.review-submit-popover-editor.review-comment-markdown-editor,
3435+
.review-submit-popover-editor.review-comment-markdown-editor .mdx-editor-content {
3436+
min-height: 116px;
3437+
}
3438+
3439+
.review-submit-popover-editor .review-comment-input {
3440+
padding: 12px;
3441+
}
3442+
3443+
.review-submit-popover-footer {
3444+
align-items: center;
3445+
border-top: 1px solid var(--file-border);
3446+
display: flex;
3447+
justify-content: flex-end;
3448+
padding: 8px;
3449+
}
3450+
3451+
.review-submit-popover-submit.approve {
3452+
color: var(--viewed);
3453+
}
3454+
32683455
.copy-comments-button:hover {
32693456
box-shadow:
32703457
0 0 0 1px var(--file-border),

core/App.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2306,7 +2306,7 @@ export default function App() {
23062306
);
23072307

23082308
const submitPullRequestReview = useCallback(
2309-
(event: PullRequestReviewEvent) => {
2309+
(event: PullRequestReviewEvent, body?: string) => {
23102310
const currentState = stateRef.current;
23112311
if (
23122312
currentState?.source.type !== 'pull-request' ||
@@ -2323,6 +2323,7 @@ export default function App() {
23232323
setPullRequestReviewSubmitting(event);
23242324
void window.codiff
23252325
.submitPullRequestReview({
2326+
...(body ? { body } : {}),
23262327
comments: pendingComments.map(toPullRequestReviewComment),
23272328
event,
23282329
source: currentState.source,

0 commit comments

Comments
 (0)