Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(observatory): launch HTTP Observatory #10371

Merged
merged 333 commits into from
Jul 2, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
333 commits
Select commit Hold shift + click to select a range
2b0b589
Merge branch 'observatory' into MP-1154-observatory-lofi-ui
argl Jun 7, 2024
3a859ba
remove test sorting, remove table header boldness
argl Jun 7, 2024
c206e71
intermediate commit
argl Jun 7, 2024
6a04fb3
added css-based tabs
argl Jun 8, 2024
a908d17
Implemented a first cut of the benchmark chart.
argl Jun 11, 2024
64e135b
type fix
argl Jun 11, 2024
8b9bd18
some style tuning
argl Jun 11, 2024
8a0231c
styles
argl Jun 11, 2024
b3bae64
Merge branch 'main' into MP-1154-observatory-lofi-ui
argl Jun 12, 2024
6a6006a
added deploy env var, scoring docs
argl Jun 12, 2024
ba93d65
add observatory hosts to csp directives
argl Jun 12, 2024
2ca4b23
some csp analysis styling, added dummy pages for faq, tests, fixed a …
argl Jun 13, 2024
ac5b403
csp analysis, handle pass null values
argl Jun 13, 2024
a46a8d9
empty case for CSP
argl Jun 13, 2024
df1f79d
name it HTTP Observatory
argl Jun 13, 2024
2d2a96a
observatory update
argl Jun 13, 2024
b022883
intermediate commit
argl Jun 14, 2024
7bfbce2
fix build script error path
argl Jun 14, 2024
afe8d32
fix swr/immutable import
argl Jun 14, 2024
cce18ce
proper header links
argl Jun 14, 2024
a86718f
make url anchor links and history work
argl Jun 14, 2024
7abec4e
Merge branch 'main' into observatory2
caugner Jun 14, 2024
f739fa4
restyle chart
argl Jun 14, 2024
a474bf3
top section styled, rescan button logic + countdown
argl Jun 15, 2024
8b4ccdd
some landing page
argl Jun 15, 2024
2914fff
Merge branch 'main' into observatory
argl Jun 15, 2024
0d02ba3
landing page
argl Jun 15, 2024
e2b4b3b
tooltip for grade
argl Jun 16, 2024
5d79523
chore: update default observatory api url
caugner Jun 17, 2024
1b470d0
removed unused component
argl Jun 17, 2024
83d6e71
key the score table
argl Jun 17, 2024
372373b
refactor(observatory): extract --observatory-grade-{a,b,c,d,f}-{bg,bo…
caugner Jun 17, 2024
e8609f9
remove footer area from grid and styling
argl Jun 17, 2024
4d98bf2
Merge remote-tracking branch 'upstream/observatory' into observatory
argl Jun 17, 2024
214cf52
move landing page content into main grid area and place ad properly
argl Jun 17, 2024
e85fc9c
removed host name from scan summary h2
argl Jun 17, 2024
b54174e
test(observatory): add /grades test page
caugner Jun 17, 2024
5495d4e
properly uppercase header names in MDN links
argl Jun 17, 2024
224b058
fix(observatory): distribute tabs evenly with minimum gap
caugner Jun 17, 2024
97959b8
chore(observatory): underline "Scan another website" on hover
caugner Jun 17, 2024
e3a83be
fix(observatory): remove indent/lines from mobile "About"
caugner Jun 17, 2024
179bfbf
fix(observatory): make "Scan summary" responsive
caugner Jun 17, 2024
9a1315b
chore(observatory): update grade colors
caugner Jun 17, 2024
83dc1d9
chore(observatory): highlight current grade label in benchmark
caugner Jun 17, 2024
4bc00c9
links in scan summary, host displayed with redirect information
argl Jun 17, 2024
2fab431
Merge remote-tracking branch 'upstream/observatory' into observatory
argl Jun 17, 2024
c019845
enhance(observatory): distribute space between Scan summary columns
caugner Jun 17, 2024
ebdb17c
fix(observatory): scale landing illustration
caugner Jun 17, 2024
d2197c6
fixup! fix(observatory): scale landing illustration
caugner Jun 17, 2024
53bfb89
link tests from scan result, rescan wait progress experiment
argl Jun 17, 2024
ca11c43
fix(observatory): limit landing illustration width
caugner Jun 17, 2024
f10c591
fix(observatory): show ad on landing page
caugner Jun 17, 2024
5fb0d23
move h2 icons into css with ::before selectors
argl Jun 17, 2024
8bc8129
put error message under input field
argl Jun 17, 2024
64528f6
dark mode fixes, rescan button polish
argl Jun 18, 2024
593c7e6
chore(observatory): move host behind "Scan summary" header
caugner Jun 18, 2024
801d233
fix(observatory): remove top-right space on landing page (<xl screens)
caugner Jun 18, 2024
3dbd1b2
dark theme adjustments, remove table borders
argl Jun 18, 2024
e62144f
fix(observatory): scroll scan results tab list on overflow
LeoMcA Jun 18, 2024
f8ffee6
fix(observatory): placement overlaps scan results table
LeoMcA Jun 18, 2024
de06c1f
bar chart adjustments
argl Jun 18, 2024
f002811
score + pass/fail icon fixes for dark mode
argl Jun 18, 2024
2f4b3c5
Merge remote-tracking branch 'upstream/observatory' into observatory
argl Jun 18, 2024
e52421d
refactor(observatory): rename {Plus => Observatory}DocsNav
caugner Jun 18, 2024
569b741
feat(observatory): add breadcrumbs
caugner Jun 18, 2024
5c0c531
better empty error message
argl Jun 18, 2024
4332d1d
fixup! feat(observatory): add breadcrumbs
caugner Jun 18, 2024
e058018
chore(menu): move "New" from Curriculum to Tools
caugner Jun 18, 2024
a4fe018
chore(observatory): update faq copy
caugner Jun 18, 2024
4bd065d
fix(observatory): hide mobile sidebar for now
caugner Jun 18, 2024
29f2932
feat(observatory): add sidebar to Results page
caugner Jun 18, 2024
684fc50
chore(observatory): support new vertical ad format
caugner Jun 18, 2024
9bfd620
feat(observatory): progress bar
argl Jun 18, 2024
d702942
Merge remote-tracking branch 'upstream/observatory' into observatory
argl Jun 18, 2024
66c98d7
fix(observatory): doc pages menu layout, tests link to anchor in scor…
argl Jun 19, 2024
40786b7
fix(top-navigation): remove min-height from .menu-toggle
caugner Jun 19, 2024
9f81acc
fix(observatory): error handling & display
argl Jun 19, 2024
66c9cb8
fix(observatory): make scanning animation a bit slower, support reduc…
argl Jun 19, 2024
05df25e
wip(observatory): responsive scan results table, still with a few hacks
LeoMcA Jun 18, 2024
836b494
wip(observatory): improvements to responsive table
LeoMcA Jun 19, 2024
d00ed6c
Revert "fix(top-navigation): remove min-height from .menu-toggle"
caugner Jun 19, 2024
c1363d8
Revert "chore(menu): move "New" from Curriculum to Tools"
caugner Jun 19, 2024
776bf7d
chore(observatory): add blue dot to "Observatory" menu item
caugner Jun 19, 2024
8c3f1fa
Merge branch 'main' into observatory
caugner Jun 19, 2024
07d3483
feat(observatory): glean
argl Jun 19, 2024
822f4a2
feat(observatory): glean
argl Jun 20, 2024
1350020
Merge branch 'MP-1227-add-glean-to-observatory' into observatory
argl Jun 20, 2024
19aa56e
fix(observatory): style linter
argl Jun 20, 2024
f184cb6
fix(observatory): glean errors
argl Jun 20, 2024
a9d871e
fix(observatory): proper spa rendering, make host a query parameter i…
argl Jun 20, 2024
70d12e0
fix(observatory): removed unused temporary grades component, linter w…
argl Jun 20, 2024
9744b30
wip(observatory): new responsive table designs
LeoMcA Jun 20, 2024
69caca8
fix(observatory): revert description attempt
argl Jun 21, 2024
3cf5afd
Merge remote-tracking branch 'upstream/observatory' into observatory
argl Jun 21, 2024
f65d8f6
fix(observatory): style lint
argl Jun 21, 2024
06564a0
fix(observatory): use minus symbol instead of dash in grades and scor…
argl Jun 21, 2024
874705d
fix(observatory): add "aria-hidden" to pass/fail icons
argl Jun 21, 2024
1f3dbb5
fix(observatory): change menu item, sentence-case tab titles
argl Jun 21, 2024
96181ba
chore(menu): move AI Help into submenu
caugner Jun 21, 2024
ffe6a28
Reapply "chore(menu): move "New" from Curriculum to Tools"
caugner Jun 21, 2024
27082ef
Reapply "fix(top-navigation): remove min-height from .menu-toggle"
caugner Jun 21, 2024
b65bc5d
chore(observatory): reduce font-weight of hostname
caugner Jun 21, 2024
834087d
fix(observatory): replace history when tabbing
caugner Jun 21, 2024
9e880e9
fix(observatory): add query params to result breadcrumb
caugner Jun 21, 2024
e2969a7
fix(observatory): better glean action string structure
argl Jun 21, 2024
8e7cd1b
Merge remote-tracking branch 'upstream/observatory' into observatory
argl Jun 21, 2024
d9e9d18
chore(observatory): replace "mozilla.org" with "mdn.dev" in placeholder
caugner Jun 21, 2024
22c027b
feature(observatory): feedback links to observatory survey
argl Jun 21, 2024
0413991
Merge remote-tracking branch 'upstream/observatory' into observatory
argl Jun 21, 2024
a939b1a
feature(observatory): feedback links to observatory survey
argl Jun 21, 2024
45ee690
fix(observatory): minus-massage
argl Jun 21, 2024
9ce09ff
Merge branch 'main' into observatory
caugner Jun 21, 2024
66c7426
chore(macros/HTTPSidebar): update Observatory links (#11236)
chrisdavidmills Jun 21, 2024
a5c24db
Merge branch 'main' into observatory
caugner Jun 21, 2024
a4bd1dd
fixup! chore(menu): move AI Help into submenu
caugner Jun 21, 2024
ee79efa
Better results page title
argl Jun 22, 2024
200f416
Better docs page titles
argl Jun 22, 2024
f9e9d47
fix(observatory): add observatory api url to prod-build
argl Jun 22, 2024
f7050c1
fix(observatory) removed commented code
argl Jun 22, 2024
691e9cf
fix(observatory): rename scoring doc title
argl Jun 22, 2024
c81ca5f
fix(observatory): css refactoring
argl Jun 23, 2024
f9a0539
fix(observatory): more css refactoring
argl Jun 23, 2024
e205571
fix(observator)#: removed unused images
argl Jun 23, 2024
bc30bda
fix(observatory): reverting original tooltip css
argl Jun 23, 2024
ee249db
fix(observatory): re-sorting routes
argl Jun 23, 2024
7d36a60
fix(observatory): refactor handleResponse, re-sorting imports
argl Jun 23, 2024
40c7a05
fix(observatory): menu style fix
argl Jun 23, 2024
7514f5d
fix(observatory): rename utility function, un-inline icon svgs, fix d…
argl Jun 23, 2024
1a5dcd8
fix(observatory): style fix for icon bullets
argl Jun 23, 2024
8ddc04c
fix(observatory): rename and document axis range function for benchma…
argl Jun 23, 2024
14d848f
fix(observatory): rename and document axis range function for benchma…
argl Jun 23, 2024
020182e
fix(observatory): factored the benchmark svg component into its own f…
argl Jun 23, 2024
04df0b3
fix(observatory): lift tab contend components up two levels, refactor…
argl Jun 23, 2024
df371be
fix(observatory): doc urls, link to observatory home
argl Jun 23, 2024
76a1379
fix(observatory): moved utility functions into `utils.tsx`
argl Jun 23, 2024
28372b8
fix(observatory): fix menu headings
argl Jun 23, 2024
4a0ef65
fix(observatory): fix menu headings
argl Jun 23, 2024
2727975
Merge remote-tracking branch 'upstream/observatory' into observatory
argl Jun 23, 2024
0c9bacd
fix(observatory): spa prefix
argl Jun 23, 2024
21160d5
fix(observatory): factor observatory application title into constants
argl Jun 23, 2024
3337133
fix(observatory): form handling
argl Jun 23, 2024
350ca9b
fix(observatory): glean payload format
argl Jun 23, 2024
c7c41ee
fix(observatory): glean payload error format
argl Jun 23, 2024
eceb2d0
fix(observatory): import sorting
argl Jun 23, 2024
4a6e556
fix(observatory): role and aria-label for progress
argl Jun 23, 2024
c2a59ad
fix(observatory): glean payload format
argl Jun 23, 2024
5951afe
fix(observatory): accessible arrow hints on grade change
argl Jun 23, 2024
14f8e4b
fix(observatory): refactor grade change indicator
argl Jun 23, 2024
0066b1b
fix(observatory): refactor grade change indicator
argl Jun 23, 2024
75619bc
fix(observatory): colon outside of link
argl Jun 23, 2024
c59f88b
fix(observatory): move constant to its proper place
argl Jun 23, 2024
eca295a
fix(observatory): doc link fix, rename/refactor rescan button
argl Jun 23, 2024
793bbd0
fix(observatory): formatDateTime helper, import POST hook as useResca…
argl Jun 24, 2024
df984ba
fix(observatory): clickHandler type fix, remove host prop from rescan…
argl Jun 24, 2024
5357210
fix(observatory): updated FAQ doc
argl Jun 24, 2024
04e0aba
fix(observatory): moved individual tab components of results to their…
argl Jun 24, 2024
123084e
fix(observatory): tooltip css improvement
argl Jun 24, 2024
96bd5ec
fix(observatory): tooltip color fix, table background fix for dark mode
argl Jun 24, 2024
6c58566
fix(observatory): chart light colors and drawing order
argl Jun 24, 2024
2f62634
fix(observatory): landing illustration update, accent color update
argl Jun 24, 2024
e38ed5f
fix(observatory): voiceover - tooltip fix
argl Jun 24, 2024
724acc5
fix(observatory): chart colors dark mode
argl Jun 24, 2024
532b7ab
fix(observatory): align feedback link
argl Jun 25, 2024
1989da4
fix(observatory): add a thin space in `10 / 100`
argl Jun 25, 2024
3bc489f
fix(observatory): Rename chart marker
argl Jun 25, 2024
f7df0e9
fix(observatory): auto-focus inut field on landing page
argl Jun 25, 2024
3d9a772
fix(observatory): Show a 0 score modifier with asterisk and footnote …
argl Jun 25, 2024
6440a0c
feat(ssr): pass meta descriptions as context
caugner Jun 25, 2024
896de46
fix(seo): add meta description for Observatory
caugner Jun 25, 2024
864ce8c
fix(observatory): Cookie table display changes
argl Jun 25, 2024
87ecc4b
fix(observatory): rename tab overview -> scoring
argl Jun 25, 2024
903aec8
fix(observatory): rename pass -> result on csp tab
argl Jun 25, 2024
e93d256
fix(observatory): fix links in rating section on results
argl Jun 25, 2024
ee57be4
Merge remote-tracking branch 'upstream/observatory' into observatory
argl Jun 25, 2024
bb3a098
fix(observatory): landing page copy
argl Jun 25, 2024
c225b8e
fix(observatory): remove unused entry
argl Jun 25, 2024
32006f7
fix(observatory): display some csp policy pass flags negated
argl Jun 25, 2024
e427f4f
fix(observatory): docs links in top section fixed
argl Jun 26, 2024
9656843
fix(observatory): MP-1252 add history tab title
argl Jun 26, 2024
0872adb
fix(observatory): MP-1256 adding headers to test sections
argl Jun 26, 2024
5a16ab4
fix(observatory): MP-1247 rename scoring docs
argl Jun 26, 2024
d87cd43
fix(observatory): MP-1246 TOC renaming and positioning
argl Jun 26, 2024
f8d1b14
fix(observatory): MP-1260 HTTP Observatory naming fix, put names in c…
argl Jun 26, 2024
335f4a1
fix(observatory): MP-1256 renaming column
argl Jun 26, 2024
a2f193c
fix(observatory): move title constants to their proper place
argl Jun 26, 2024
38d9904
fix(observatory): move title constants to their proper place
argl Jun 26, 2024
4bef9bc
fix TITLE import
fiji-flo Jun 26, 2024
1f90f90
fix langding page on small screens
fiji-flo Jun 26, 2024
e04f21b
fix tab bar on small screens in webkit
fiji-flo Jun 26, 2024
fbecdc8
fix(observatory): updated FAQ
argl Jun 26, 2024
706d3a7
fix(observatory): MP-1269 fix test order stability
argl Jun 26, 2024
4a85db6
fix(observatory): MP-736 fix link to old observatory
argl Jun 26, 2024
914d43f
fix(observatory): MP-736 fix link to old observatory
argl Jun 26, 2024
37f801e
fix(observatory): MP-1275 display scan times in the near past as huma…
argl Jun 26, 2024
3737ea9
fix(observatory): updated FAQ
argl Jun 26, 2024
9ee992c
Update client/src/observatory/results.tsx
caugner Jun 26, 2024
098348a
fix(observatory): MP-1275 change to "1 minute" and wrap in time element
argl Jun 26, 2024
597b1f1
Merge remote-tracking branch 'upstream/observatory' into observatory
argl Jun 26, 2024
50a7517
chore(observatory): update title/description for SEO
caugner Jun 26, 2024
f972848
fix(observatory): MP-1284 fix cookie table
argl Jun 26, 2024
b8fc418
fix(observatory): MP-1282 striped tables
argl Jun 26, 2024
edfeaad
fix(observatory): MP-1284 correct matching for cookie prefix
argl Jun 26, 2024
e5da7c6
fix(observatory): MP-1257 Tabs role and aria-props
argl Jun 26, 2024
dbfd071
fix(observatory): MP-1284 adjust the viewbox of a landing page icon s…
argl Jun 26, 2024
09d051d
fix(observatory): small style adjustment for lines illustration on la…
argl Jun 26, 2024
9862abd
fix(observatory): removed paragraph from FAQ
argl Jun 27, 2024
2561c37
chore(spas): add HTTP Observatory launch blog to homepage
caugner Jun 27, 2024
175223b
fix(observatory): reduce FAQ heading level
caugner Jun 27, 2024
48c7de4
Merge branch 'main' into observatory
caugner Jun 27, 2024
b75491d
fix(observatory): tabs
fiji-flo Jun 27, 2024
e47db2f
fix MP-1262
fiji-flo Jun 27, 2024
58895b2
chore(observatory): apply meta description to all pages
caugner Jun 27, 2024
5be7a2b
fix(observatory): MP-1243 show the F grade in the chart
argl Jun 27, 2024
ff0d622
fix(obseratory): input placeholder cut off
fiji-flo Jun 27, 2024
b3b704e
fix grade change indicator
fiji-flo Jun 27, 2024
2415b87
fix grade change dependency
fiji-flo Jun 27, 2024
df71e5d
fix(observatory): latest FAQ doc
argl Jun 27, 2024
e7f40a9
Merge remote-tracking branch 'upstream/observatory' into observatory
argl Jun 27, 2024
7c8db33
fix(observatory): update Observatory -> content links
caugner Jun 27, 2024
c396ffd
fix(observatory): MP-1291 et al: sync up scoring table with docs.
argl Jun 27, 2024
d2ac8c1
fix(observatory): MP-1255 open footnote in new tab
argl Jun 27, 2024
9fd645b
fix(observatory): further fixes to scoring table/api consistency
LeoMcA Jun 28, 2024
1869a31
fix(observatory): MP-1275 show "just now" instead of explicit seconds…
argl Jun 28, 2024
6fa1752
fix(observatory): MP-1295 fix launch date
argl Jun 28, 2024
1aef162
fix(observatory): MP-1295 updated link to redirection docs
argl Jun 28, 2024
d6226a5
Merge remote-tracking branch 'upstream/main' into observatory
fiji-flo Jul 1, 2024
cec8b5d
make sidebar sticky
fiji-flo Jul 1, 2024
6e5deba
fix(observatory): make grade chart accessible
caugner Jul 1, 2024
e36556a
Merge branch 'main' into observatory
caugner Jul 1, 2024
895c4b2
fix(observatory): increase contrast of code blocks
caugner Jul 1, 2024
c3519ae
fix(observatory): MP-1299 trend indicator dependent on grade, not score
argl Jul 1, 2024
6faa503
Merge remote-tracking branch 'upstream/observatory' into observatory
argl Jul 1, 2024
771263b
fix(observatory): MP-1291 CORP description formatting
argl Jul 1, 2024
2e20245
fix(observatory): MP-1215 change launch date
argl Jul 1, 2024
552fafa
reuse docs sidebars for observatory
fiji-flo Jul 1, 2024
08b1a23
fix landing page placement
fiji-flo Jul 1, 2024
99f51c2
fix(observatory): Updated landing page copy, added FAQ link
argl Jul 1, 2024
394cb9c
fix(observatory): MP-1302 line length limit on medium screen sizes
argl Jul 1, 2024
74522e7
fix(observatory): linter
argl Jul 1, 2024
e27935b
feat(observatory): load content from api
fiji-flo Jul 1, 2024
445e48e
fix(observatory): linter
argl Jul 1, 2024
abbd46b
fix(observatory): replace {figure => div}
caugner Jul 1, 2024
dd9426a
chore(observatory): remove "?no-redirect" param from legacy link
caugner Jul 2, 2024
d6f80b5
feat(observatory): add message for csp-report-only
fiji-flo Jul 2, 2024
54f0ffc
refactor(observatory): rename {SORTED_TEST_NAMES => TEST_NAMES_IN_ORDER}
caugner Jul 2, 2024
e284872
refactor(observatory): check for number, not undefined
caugner Jul 2, 2024
78e65da
chore(observatory): change "{An => 1} hour ago"
caugner Jul 2, 2024
9a923ce
chore(observatory): change "{Yesterday => 1 day ago}"
caugner Jul 2, 2024
20a567d
chore(observatory): link to /en-US/observatory only
caugner Jul 2, 2024
4c348b3
Merge branch 'main' into observatory
caugner Jul 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions client/src/app.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ const Translations = React.lazy(() => import("./translations"));
const WritersHomepage = React.lazy(() => import("./writers-homepage"));
const Sitemap = React.lazy(() => import("./sitemap"));
const Playground = React.lazy(() => import("./playground"));
const Observatory = React.lazy(() => import("./observatory"));

function Layout({ pageType, children }) {
const { pathname } = useLocation();
Expand Down Expand Up @@ -246,6 +247,14 @@ export function App(appProps: HydrationData) {
</LazyStandardLayout>
}
/>
<Route
path="observatory/*"
element={
<LazyStandardLayout>
<Observatory />
</LazyStandardLayout>
}
/>
<Route
path="/search"
element={
Expand Down
1 change: 1 addition & 0 deletions client/src/assets/icons/alert-circle-check.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions client/src/assets/icons/alert-circle.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions client/src/assets/icons/check-circle.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
312 changes: 312 additions & 0 deletions client/src/observatory/index.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,312 @@
@use "../ui/vars" as *;

.observatory {
background: var(--observatory-bg);
min-height: 80vh;

.observatory-header {
background: var(--background-primary);
padding: 1.5rem 1rem;

.inner {
column-gap: 3rem;
display: grid;
grid-template-columns: minmax(min-content, 46rem) max-content;
justify-content: center;
margin: 0 auto;

* {
grid-column: 1;
}

section.place.side {
grid-column: 2;
grid-row: 1 / span 4;
margin: 0;

@media screen and (max-width: $screen-lg) {
grid-column: 1;
grid-row: auto;
justify-self: end;
}
}
}

h1 .accent {
color: var(--observatory-accent);
}

p {
color: var(--observatory-color-secondary);
}

form {
.progress,
.error {
align-items: center;
background: var(--observatory-alert);
display: flex;
height: 3rem;
justify-content: center;
}

.progress {
background: var(--observatory-bg-secondary);
color: var(--observatory-accent);
}

.input-group {
display: flex;
height: 3rem;

input {
background: var(--observatory-bg);
border: 1px solid var(--observatory-bg-secondary);
flex-grow: 1;
padding: 0 0.75rem;
}

button {
background: var(--button-primary-default);
color: var(--background-primary);
font: var(--type-emphasis-m);
padding: 0 2rem;

&:hover {
background: var(--button-primary-hover);
}

&:active {
background: var(--button-primary-active);
}
}
}

label {
align-items: center;
display: flex;
margin: 1.75rem 0;
}

input[type="checkbox"] {
height: 1.25rem;
margin: 0;
margin-right: 0.5rem;
width: 1.25rem;
}
}
}

.observatory-results {
column-gap: 3rem;
display: grid;
grid-template-columns: minmax(min-content, 64rem) max-content;
justify-content: center;
margin: 0 auto;
padding: 1.5rem 1rem;

* {
grid-column: 1;
}

section.place.side {
grid-column: 2;
grid-row: 1 / span 4;
margin: 0;

@media screen and (max-width: $screen-lg) {
grid-column: 1;
grid-row: auto;
justify-self: center;
}
}

h1 {
margin-bottom: 3rem;
}

h2 {
font-size: 1.375rem;
font-weight: 600;
letter-spacing: 0.03125rem;
margin-bottom: 1rem;
margin-top: 0;
}
}

table,
.box {
background: var(--observatory-table-bg);
border: 1px solid var(--observatory-border);
border-radius: 0.5rem;
margin-bottom: 3.75rem;
}

table {
border-collapse: separate;
border-spacing: 0;
overflow: hidden;

td {
overflow-wrap: anywhere;
}

th,
td {
border: none;
padding: 1.5rem;

:first-child {
margin-top: 0;
}

:last-child {
margin-bottom: 0;
}
}

&.overall {
th {
background: var(--observatory-table-bg);
color: var(--observatory-color-secondary);
padding-bottom: 0;
}
}

&.fancy {
th {
background: var(--observatory-bg-secondary);
color: var(--observatory-accent);
}

tr:nth-child(2n) {
background: var(--observatory-bg);
}
}

&.tests {
th,
td {
&:first-of-type {
width: 30%;
}

&:nth-of-type(n + 2):nth-of-type(-n + 3) {
text-align: center;
}
}

td:last-of-type {
font-size: 0.875rem;
}

a {
color: var(--observatory-color);
font-weight: 500;
text-decoration: underline;

&:hover,
&:active {
text-decoration: none;
}
}

.icon {
height: 1.4rem;
width: 1.4rem;
}

.icon-alert-circle {
background-color: var(--observatory-alert);
}

.icon-check-circle {
background-color: var(--observatory-check);
}
}

&.headers {
th,
td {
&:first-of-type {
width: 30%;
}
}
}
}

.box {
display: flex;
flex-direction: column;
gap: 1.5rem;
padding: 1.5rem;
}

#recommendations {
.recommendation {
display: none;

&:first-child {
display: block;
}

:first-child {
margin-top: 0;
}

:last-child {
margin-bottom: 0;
}
}

.rescan {
align-items: center;
display: flex;
gap: 1.5rem;

p {
margin: 0;
margin-right: auto;
}
}
}

.grade {
background: var(--grade-bg);
border: 1px solid var(--grade-border);
border-radius: 0.125em;
box-sizing: content-box;
color: #fff;
display: inline-block;
font-weight: 600;
line-height: 3;
text-align: center;
width: 3em;
}

.grade-a {
--grade-bg: rgb(45, 136, 45);
--grade-border: rgb(17, 102, 17);
}

.grade-b {
--grade-bg: rgb(170, 170, 57);
--grade-border: rgb(128, 128, 21);
}

.grade-c {
--grade-bg: rgb(170, 112, 57);
--grade-border: rgb(128, 73, 21);
}

.grade-d,
.grade-e {
--grade-bg: rgb(101, 39, 112);
--grade-border: rgb(74, 16, 84);
}

.grade-f {
--grade-bg: rgb(170, 57, 57);
--grade-border: rgb(128, 21, 21);
}
}
Loading
Loading