Skip to content

Commit 948ee22

Browse files
fix(checkout v3): Improve dark mode + remove unnecessary scroll bar (#102135)
Improves dark mode in cart diff + only show scroll bar when necessary. # before <img width="422" height="138" alt="Screenshot 2025-10-27 at 11 00 05 AM" src="https://github.com/user-attachments/assets/3d9d117e-aa53-4351-8c64-b479e3c6733e" /> # after <img width="416" height="135" alt="Screenshot 2025-10-27 at 10 59 40 AM" src="https://github.com/user-attachments/assets/f6f7d8e6-89c4-4001-8439-77e7ec250d82" />
1 parent 1117167 commit 948ee22

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

static/gsApp/views/amCheckout/cartDiff.tsx

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
import React, {Fragment, useCallback, useMemo} from 'react';
22
import styled from '@emotion/styled';
3+
import Color from 'color';
34
import isEqual from 'lodash/isEqual';
45

56
import {Button} from 'sentry/components/core/button';
67
import {Flex} from 'sentry/components/core/layout';
78
import {IconChevron} from 'sentry/icons';
89
import {t, tct} from 'sentry/locale';
10+
import ConfigStore from 'sentry/stores/configStore';
11+
import {useLegacyStore} from 'sentry/stores/useLegacyStore';
912
import type {DataCategory} from 'sentry/types/core';
1013
import type {Organization} from 'sentry/types/organization';
1114
import {capitalize} from 'sentry/utils/string/capitalize';
@@ -51,16 +54,18 @@ type SharedOnDemandChange = CheckoutChange<'sharedMaxBudget', number>;
5154
type PerCategoryOnDemandChange = CheckoutChange<DataCategory, number | null>;
5255

5356
function AddedHighlight({value}: {value: string}) {
57+
const prefersDarkMode = useLegacyStore(ConfigStore).theme === 'dark';
5458
return (
55-
<Added>
59+
<Added prefersDarkMode={prefersDarkMode}>
5660
<span>{value}</span>
5761
</Added>
5862
);
5963
}
6064

6165
function RemovedHighlight({value}: {value: string}) {
66+
const prefersDarkMode = useLegacyStore(ConfigStore).theme === 'dark';
6267
return (
63-
<Removed>
68+
<Removed prefersDarkMode={prefersDarkMode}>
6469
<span>{value}</span>
6570
</Removed>
6671
);
@@ -593,7 +598,7 @@ const ChangesContainer = styled('div')`
593598
border-bottom: 1px solid ${p => p.theme.border};
594599
}
595600
max-height: 300px;
596-
overflow-y: scroll;
601+
overflow-y: auto;
597602
`;
598603

599604
const Title = styled('h1')`
@@ -615,23 +620,26 @@ const Change = styled('div')`
615620
}
616621
`;
617622

618-
const Added = styled(Change)`
619-
background: #e0ffe3;
623+
const Added = styled(Change)<{prefersDarkMode?: boolean}>`
624+
background: ${p => p.theme.green200};
620625
621626
&::before {
622627
content: '+';
623628
}
624629
625630
span {
626-
background: #a8ecaa;
631+
background: ${p =>
632+
p.prefersDarkMode
633+
? Color(p.theme.green400).lighten(0.08).alpha(0.5).string()
634+
: '#a8ecaa'};
627635
}
628636
`;
629637

630-
const Removed = styled(Change)`
638+
const Removed = styled(Change)<{prefersDarkMode?: boolean}>`
631639
background: ${p => p.theme.red100};
632640
633641
span {
634-
background: #f7d4d3;
642+
background: ${p => (p.prefersDarkMode ? p.theme.red400 : '#f7d4d3')};
635643
}
636644
`;
637645

0 commit comments

Comments
 (0)