Skip to content

Commit ea12fab

Browse files
authored
[NTP 💅] Resolve theming around shared Button/Components (#1340)
* chore: Fix Release notes * chore: Fix css a bit * chore: update button * chore: Update special-error * chore: Update PIR and RMF backgrounds * fix: dark mode * fix: Lint n what not * chore: Add borders to RMF and PIR
1 parent eaac9c4 commit ea12fab

File tree

12 files changed

+148
-133
lines changed

12 files changed

+148
-133
lines changed

special-pages/pages/new-tab/app/freemium-pir-banner/components/FreemiumPIRBanner.module.css

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
.root {
2-
--ntp-freemiumPIR-surface-background-color: rgba(0, 0, 0, .06);
3-
background: var(--ntp-freemiumPIR-surface-background-color);
2+
background-color: var(--ntp-surface-background-color);
3+
backdrop-filter: blur(48px);
4+
border: 1px solid var(--ntp-surface-border-color);
45
padding: calc(14 * var(--px-in-rem)) var(--sp-8) calc(14 * var(--px-in-rem)) var(--sp-4);
56
border-radius: var(--border-radius-lg);
67
position: relative;
@@ -16,10 +17,6 @@
1617
&.icon {
1718
padding-left: var(--sp-2);
1819
}
19-
20-
[data-theme="dark"] & {
21-
background-color: var(--color-white-at-6);
22-
}
2320
}
2421

2522
.iconBlock {
@@ -66,12 +63,13 @@
6663

6764

6865
@keyframes animate-fade {
69-
0% {
70-
opacity: 0;
71-
scale: 0.98;
66+
0% {
67+
opacity: 0;
68+
scale: 0.98;
7269
}
73-
100% {
74-
opacity: 1;
70+
71+
100% {
72+
opacity: 1;
7573
scale: 1;
7674
}
77-
}
75+
}

special-pages/pages/new-tab/app/next-steps/components/NextSteps.module.css

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
.card {
22
background-color: var(--ntp-surface-background-color);
3+
backdrop-filter: blur(48px);
34
border: 1px solid var(--ntp-surface-border-color);
45
padding: var(--sp-2) var(--sp-4);
56
border-radius: var(--border-radius-lg);
@@ -9,7 +10,6 @@
910
justify-content: flex-start;
1011
align-items: center;
1112
text-align: center;
12-
backdrop-filter: blur(48px);
1313
max-width: calc(240 * var(--px-in-rem));
1414
min-height: calc(166 * var(--px-in-rem));
1515
font-size: var(--body-font-size);
@@ -48,7 +48,8 @@
4848
font-size: calc(11 * var(--px-in-rem));
4949
line-height: calc(14 * var(--px-in-rem));
5050
color: var(--ntp-color-primary);
51-
text-wrap: wrap; /* needed for some languages */
51+
/* needed for some languages */
52+
text-wrap: wrap;
5253

5354
/* the active state created an awkward flash, adding transition out */
5455
&.supressActiveStateForSwitchToConfirmationText {
@@ -91,6 +92,7 @@
9192
background-color: var(--color-black-at-9);
9293
}
9394
}
95+
9496
&:hover:not(:active) {
9597
background-color: var(--color-black-at-9);
9698
}
@@ -188,6 +190,7 @@
188190

189191
.cardGroup {
190192
transition: opacity .2s;
193+
191194
&:hover {
192195
.showhide [aria-controls] {
193196
opacity: 1;

special-pages/pages/new-tab/app/remote-messaging-framework/components/RemoteMessagingFramework.module.css

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
.root {
2-
--ntp-rmf-surface-background-color: rgba(0, 0, 0, .06);
3-
background: var(--ntp-rmf-surface-background-color);
2+
background-color: var(--ntp-surface-background-color);
3+
backdrop-filter: blur(48px);
4+
border: 1px solid var(--ntp-surface-border-color);
45
padding: calc(14 * var(--px-in-rem)) var(--sp-8) calc(14 * var(--px-in-rem)) var(--sp-4);
56
border-radius: var(--border-radius-lg);
67
position: relative;
@@ -17,10 +18,6 @@
1718
&.icon {
1819
padding-left: var(--sp-2);
1920
}
20-
21-
[data-theme=dark] & {
22-
background-color: var(--color-white-at-6);
23-
}
2421
}
2522

2623
.iconBlock {
@@ -69,8 +66,9 @@
6966
opacity: 0;
7067
scale: 0.98;
7168
}
69+
7270
100% {
7371
opacity: 1;
7472
scale: 1;
7573
}
76-
}
74+
}

special-pages/pages/release-notes/app/Components.js

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
11
import { h } from 'preact';
2+
import { useEffect, useState } from 'preact/hooks';
3+
import { Button } from '../../../shared/components/Button/Button';
4+
import { Card } from '../../../shared/components/Card/Card';
25
import { DuckDuckGoLogo } from '../../../shared/components/DuckDuckGoLogo/DuckDuckGoLogo';
6+
import { useEnv } from '../../../shared/components/EnvironmentProvider';
7+
import { useTypedTranslation } from '../app/types';
8+
import styles from './Components.module.css';
9+
import { ContentPlaceholder } from './components/ContentPlaceholder';
310
import {
411
PageTitle,
5-
UpdateStatus,
12+
ReleaseNotes,
13+
ReleaseNotesContent,
614
ReleaseNotesHeading,
7-
ReleaseNotesSubheading,
815
ReleaseNotesList,
9-
ReleaseNotesContent,
10-
ReleaseNotes,
16+
ReleaseNotesSubheading,
17+
UpdateStatus,
1118
} from './components/ReleaseNotes';
12-
import { Button } from '../../../shared/components/Button/Button';
13-
import { Card } from '../../../shared/components/Card/Card';
14-
import { ContentPlaceholder } from './components/ContentPlaceholder';
15-
import { useTypedTranslation } from '../app/types';
16-
17-
import styles from './Components.module.css';
1819
import { sampleData } from './sampleData.js';
19-
import { useEffect, useState } from 'preact/hooks';
2020

2121
export function Components() {
2222
const { t } = useTypedTranslation();
23+
const { isDarkMode } = useEnv();
2324
const todayInMilliseconds = Date.now();
2425
const yesterdayInMilliseconds = new Date(todayInMilliseconds - 24 * 60 * 60 * 1000).getTime();
2526

@@ -46,7 +47,7 @@ export function Components() {
4647
];
4748

4849
return (
49-
<main className={styles.main}>
50+
<main className={styles.main} data-theme={isDarkMode ? 'dark' : 'light'}>
5051
<h1>Release Notes Components</h1>
5152

5253
<h2>DuckDuckGo Logo</h2>

special-pages/pages/release-notes/app/Components.module.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
border-bottom: 1px solid black;
99
width: 100%;
1010

11-
@media (prefers-color-scheme: dark) {
11+
[data-theme=dark] & {
1212
border-bottom: 1px solid white;
1313
}
1414
}

special-pages/pages/release-notes/app/components/App.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { h } from 'preact';
22
import { useEffect, useState } from 'preact/hooks';
3-
import { useMessaging } from '../index';
3+
import { DuckDuckGoLogo } from '../../../../shared/components/DuckDuckGoLogo/DuckDuckGoLogo';
4+
import { useEnv } from '../../../../shared/components/EnvironmentProvider';
45
import { ErrorBoundary } from '../../../../shared/components/ErrorBoundary';
6+
import { useMessaging } from '../index';
7+
import styles from './App.module.css';
58
import { ErrorFallback } from './ErrorFallback';
6-
import { useEnv } from '../../../../shared/components/EnvironmentProvider';
7-
import { DuckDuckGoLogo } from '../../../../shared/components/DuckDuckGoLogo/DuckDuckGoLogo';
89
import { ReleaseNotes } from './ReleaseNotes';
9-
import styles from './App.module.css';
1010

1111
/**
1212
* @typedef {import('../../types/release-notes.js').UpdateMessage} UpdateMessage
@@ -18,6 +18,7 @@ import styles from './App.module.css';
1818
*/
1919
export function App({ children }) {
2020
const { messages } = useMessaging();
21+
const { isDarkMode } = useEnv();
2122
/** @type {ReturnType<typeof useState<UpdateMessage>>} */
2223
const [releaseData, setReleaseData] = useState();
2324

@@ -37,7 +38,7 @@ export function App({ children }) {
3738
messages?.reportPageException({ message });
3839
}
3940
return (
40-
<main className={styles.main}>
41+
<main className={styles.main} data-theme={isDarkMode ? 'dark' : 'light'}>
4142
<ErrorBoundary didCatch={didCatch} fallback={<ErrorFallback />}>
4243
<header className={styles.header}>
4344
<DuckDuckGoLogo />

special-pages/pages/release-notes/app/components/App.module.css

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
:root {
2-
--sp-145: calc(580 * var(--px-in-rem));; /* 580px */
2+
--sp-145: calc(580 * var(--px-in-rem));
3+
/* 580px */
34
}
45

56
body {

special-pages/pages/release-notes/app/components/ContentPlaceholder.module.css

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
.contentPlaceholder {
2+
23
& h2,
34
& p {
45
background: var(--color-black-at-6);
56

6-
@media (prefers-color-scheme: dark) {
7+
}
8+
9+
[data-theme=dark] & {
10+
11+
& h2,
12+
& p {
13+
714
background: var(--color-white-at-6);
815
}
916
}
@@ -43,11 +50,6 @@
4350
left: 0;
4451
}
4552

46-
@media (prefers-color-scheme: dark) {
47-
&::before {
48-
background: var(--color-white-at-6);
49-
}
50-
}
5153

5254

5355
p {
@@ -58,4 +60,11 @@
5860
}
5961
}
6062
}
61-
}
63+
64+
[data-theme=dark] & {
65+
li::before {
66+
background: var(--color-white-at-6);
67+
}
68+
}
69+
70+
}

special-pages/pages/release-notes/app/components/ReleaseNotes.module.css

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
1-
/* Component-specific variables */
2-
:root {
1+
.article {
2+
/* Component-specific variables */
33
--bullet-color: rgba(57, 105, 239, 0.24);
4-
--sp-4_5: calc(18 * var(--px-in-rem)); /* 18px */
5-
--sp-2_5: calc(10 * var(--px-in-rem)); /* 10px */
6-
--sp-1_5: calc(6 * var(--px-in-rem)); /* 6px */
7-
8-
@media (prefers-color-scheme: dark) {
4+
/* 18px */
5+
--sp-4_5: calc(18 * var(--px-in-rem));
6+
/* 10px */
7+
--sp-2_5: calc(10 * var(--px-in-rem));
8+
/* 6px */
9+
--sp-1_5: calc(6 * var(--px-in-rem));
10+
11+
[data-theme="dark"] & {
912
--bullet-color: var(--color-blue-20);
1013
}
11-
}
1214

13-
.article {
1415
margin: 0 auto;
1516
width: 100%;
1617
display: grid;
@@ -75,10 +76,11 @@
7576

7677
@keyframes spinner {
7778
0% {
78-
transform: rotate(0deg);
79+
transform: rotate(0deg);
7980
}
81+
8082
100% {
81-
transform: rotate(360deg);
83+
transform: rotate(360deg);
8284
}
8385
}
8486

special-pages/pages/special-error/app/components/App.jsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
import { h } from 'preact';
22
import { useEffect, useState } from 'preact/hooks';
33
import { useEnv } from '../../../../shared/components/EnvironmentProvider';
4-
import { useMessaging } from '../providers/MessagingProvider';
54
import { ErrorBoundary } from '../../../../shared/components/ErrorBoundary';
6-
import { ErrorFallback } from './ErrorFallback';
7-
import { useTypedTranslation } from '../types';
5+
import { useMessaging } from '../providers/MessagingProvider';
86
import { useErrorData } from '../providers/SpecialErrorProvider';
9-
import { Warning } from './Warning';
7+
import { useTypedTranslation } from '../types';
108
import { AdvancedInfo } from './AdvancedInfo';
11-
129
import styles from './App.module.css';
10+
import { ErrorFallback } from './ErrorFallback';
11+
import { Warning } from './Warning';
1312

1413
export function SpecialErrorView() {
1514
const [advancedInfoVisible, setAdvancedInfoVisible] = useState(false);
@@ -50,6 +49,7 @@ function PageTitle() {
5049

5150
export function App() {
5251
const { messaging } = useMessaging();
52+
const { isDarkMode } = useEnv();
5353

5454
/**
5555
* @param {Error} error
@@ -61,7 +61,7 @@ export function App() {
6161
}
6262

6363
return (
64-
<main className={styles.main}>
64+
<main className={styles.main} data-theme={isDarkMode ? 'dark' : 'light'}>
6565
<PageTitle />
6666
<ErrorBoundary didCatch={didCatch} fallback={<ErrorFallback />}>
6767
<SpecialErrorView />

0 commit comments

Comments
 (0)