From a788e542090d4b4bb3eab892f44230c171b2d772 Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Sat, 13 Dec 2025 14:34:32 +0100 Subject: [PATCH 1/3] svelte: Import global styles --- svelte/src/lib/css/global.css | 205 +++++++++++++ svelte/src/lib/css/normalize.css | 353 +++++++++++++++++++++++ svelte/src/lib/css/shared/a11y.css | 12 + svelte/src/lib/css/shared/buttons.css | 109 +++++++ svelte/src/lib/css/shared/forms.css | 27 ++ svelte/src/lib/css/shared/sort-by.css | 9 + svelte/src/lib/css/shared/typography.css | 24 ++ svelte/src/routes/+layout.svelte | 1 + 8 files changed, 740 insertions(+) create mode 100644 svelte/src/lib/css/global.css create mode 100644 svelte/src/lib/css/normalize.css create mode 100644 svelte/src/lib/css/shared/a11y.css create mode 100644 svelte/src/lib/css/shared/buttons.css create mode 100644 svelte/src/lib/css/shared/forms.css create mode 100644 svelte/src/lib/css/shared/sort-by.css create mode 100644 svelte/src/lib/css/shared/typography.css diff --git a/svelte/src/lib/css/global.css b/svelte/src/lib/css/global.css new file mode 100644 index 00000000000..44d6ae47605 --- /dev/null +++ b/svelte/src/lib/css/global.css @@ -0,0 +1,205 @@ +@import './shared/a11y.css'; +@import './shared/buttons.css'; +@import './shared/forms.css'; +@import './shared/sort-by.css'; +@import './shared/typography.css'; + +/* + * The `normalize.css` file does not use CSS layers, so we need to vendor it + * with a layer to ensure it is applied before our global styles. + */ +@import './normalize.css'; + +@layer global { + :root { + --violet800: hsl(252, 44%, 24%); + --grey900: hsl(200, 15%, 19%); + --grey700: hsl(200, 11%, 43%); + --grey600: hsl(200, 13%, 60%); + --grey200: hsl(200, 17%, 96%); + --green800: hsl(115, 31%, 31%); + --green900: hsl(115, 31%, 21%); + + --orange-50: #fff7ed; + --orange-100: #ffedd5; + --orange-200: #fed7aa; + --orange-300: #fdba74; + --orange-400: #fb923c; + --orange-500: #f97316; + --orange-600: #ea580c; + --orange-700: #c2410c; + --orange-800: #9a3412; + --orange-900: #7c2d12; + + --yellow100: hsl(44, 100%, 90%); + --yellow500: hsl(44, 100%, 60%); + --yellow700: hsl(44, 67%, 50%); + --yellow800: hsl(44, 67%, 20%); + --yellow900: hsl(44, 30%, 23%); + + --header-bg-color: light-dark(hsl(115, 31%, 20%), #141413); + + --transition-x-slow: 1000ms; + --transition-slow: 500ms; + --transition-medium: 250ms; + --transition-fast: 150ms; + --transition-x-fast: 50ms; + --transition-instant: 0ms; + + --font-heading: 'Fira Sans', sans-serif; + --font-body: var(--font-heading); + --font-monospace: + 'Fira Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; + + --main-color: light-dark(#383838, #f9f7ec); + --main-color-light: light-dark(#858585, #a6a6a6); + --main-shadow-color: light-dark(var(--green900), hsl(111, 10%, 8%)); + --main-bg: light-dark(#f9f7ec, hsl(0, 1%, 19%)); + --main-bg-dark: light-dark(#edebdd, #141413); + --gray-border: light-dark(#d5d3cb, #666561); + --link-color: light-dark(#00ac5b, #04da75); + --link-hover-color: light-dark(#007940, #00f27f); + + --placeholder-bg: hsl(212, 7%, 57%); + --placeholder-bg2: hsl(213, 16%, 75%); + + /* see https://utopia.fyi/space/calculator?c=320,14,1.2,1140,18,1.25,5,2,&s=0.75|0.5|0.25|0.125,1.5|2|3|4|6,s-l */ + + --space-4xs: clamp(0.13rem, calc(0.13rem + 0vw), 0.13rem); + --space-3xs: clamp(0.25rem, calc(0.23rem + 0.12vw), 0.31rem); + --space-2xs: clamp(0.44rem, calc(0.39rem + 0.24vw), 0.56rem); + --space-xs: clamp(0.69rem, calc(0.61rem + 0.37vw), 0.88rem); + --space-s: clamp(0.88rem, calc(0.78rem + 0.49vw), 1.13rem); + --space-m: clamp(1.31rem, calc(1.17rem + 0.73vw), 1.69rem); + --space-l: clamp(1.75rem, calc(1.55rem + 0.98vw), 2.25rem); + --space-xl: clamp(2.63rem, calc(2.33rem + 1.46vw), 3.38rem); + --space-2xl: clamp(3.5rem, calc(3.11rem + 1.95vw), 4.5rem); + --space-3xl: clamp(5.25rem, calc(4.66rem + 2.93vw), 6.75rem); + + /* One-up pairs */ + --space-4xs-3xs: clamp(0.13rem, calc(0.05rem + 0.37vw), 0.31rem); + --space-3xs-2xs: clamp(0.25rem, calc(0.13rem + 0.61vw), 0.56rem); + --space-2xs-xs: clamp(0.44rem, calc(0.27rem + 0.85vw), 0.88rem); + --space-xs-s: clamp(0.69rem, calc(0.52rem + 0.85vw), 1.13rem); + --space-s-m: clamp(0.88rem, calc(0.56rem + 1.59vw), 1.69rem); + --space-m-l: clamp(1.31rem, calc(0.95rem + 1.83vw), 2.25rem); + --space-l-xl: clamp(1.75rem, calc(1.12rem + 3.17vw), 3.38rem); + --space-xl-2xl: clamp(2.63rem, calc(1.89rem + 3.66vw), 4.5rem); + --space-2xl-3xl: clamp(3.5rem, calc(2.23rem + 6.34vw), 6.75rem); + + /* Custom pairs */ + --space-s-l: clamp(0.88rem, calc(0.34rem + 2.68vw), 2.25rem); + + color-scheme: light dark; + } + + [data-color-scheme='light'] { + color-scheme: light; + } + + [data-color-scheme='dark'] { + color-scheme: dark; + } + + * { + box-sizing: border-box; + } + + html, + body { + margin: 0; + scroll-behavior: smooth; + } + + body { + background-color: var(--header-bg-color); + font-family: var(--font-body); + font-size: 16px; + display: flex; + flex-direction: column; + min-height: 100vh; + } + + h1, + h2, + h3, + h4 { + font-family: var(--font-heading); + } + + h1 { + @media only screen and (max-width: 400px) { + font-size: 1.5em; + } + } + + a, + .link, + .text--link { + color: var(--link-color); + text-decoration: none; + cursor: pointer; + + &:hover { + color: var(--link-hover-color); + } + } + + /* Using `:not(...)` here for specificity reasons */ + a:not([href]) { + color: unset; + cursor: initial; + } + + pre.terminal { + background: var(--main-color); + color: white; + padding: var(--space-s); + font-family: var(--font-monospace); + } + + abbr[title] { + text-decoration: none; + border-bottom: 1px dotted; + } + + noscript { + display: grid; + justify-items: center; + padding: var(--space-m); + color: white; + } + + /* see https://github.com/twbs/bootstrap/pull/30269 */ + ::-webkit-datetime-edit, + ::-webkit-datetime-edit-fields-wrapper, + ::-webkit-datetime-edit-text, + ::-webkit-datetime-edit-minute, + ::-webkit-datetime-edit-hour-field, + ::-webkit-datetime-edit-day-field, + ::-webkit-datetime-edit-month-field, + ::-webkit-datetime-edit-year-field { + padding: 0; + } + + ::-webkit-calendar-picker-indicator { + font-size: 0.9em; + } + + .c-notification__icon { + display: flex; + justify-content: center; + align-items: center; + } + + .c-notification__content { + line-height: 1.5; + } + + .width-limit { + width: 960px; + @media only screen and (max-width: 960px) { + width: 100%; + } + } +} diff --git a/svelte/src/lib/css/normalize.css b/svelte/src/lib/css/normalize.css new file mode 100644 index 00000000000..75f0e188c7f --- /dev/null +++ b/svelte/src/lib/css/normalize.css @@ -0,0 +1,353 @@ +@layer global.normalize { + /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + + /* Document + ========================================================================== */ + + /** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + + html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + } + + /* Sections + ========================================================================== */ + + /** + * Remove the margin in all browsers. + */ + + body { + margin: 0; + } + + /** + * Render the `main` element consistently in IE. + */ + + main { + display: block; + } + + /** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + + h1 { + font-size: 2em; + margin: 0.67em 0; + } + + /* Grouping content + ========================================================================== */ + + /** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + + hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ + } + + /** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + + pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ + } + + /* Text-level semantics + ========================================================================== */ + + /** + * Remove the gray background on active links in IE 10. + */ + + a { + background-color: transparent; + } + + /** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + + abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ + } + + /** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + + b, + strong { + font-weight: bolder; + } + + /** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + + code, + kbd, + samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ + } + + /** + * Add the correct font size in all browsers. + */ + + small { + font-size: 80%; + } + + /** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + + sub, + sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } + + sub { + bottom: -0.25em; + } + + sup { + top: -0.5em; + } + + /* Embedded content + ========================================================================== */ + + /** + * Remove the border on images inside links in IE 10. + */ + + img { + border-style: none; + } + + /* Forms + ========================================================================== */ + + /** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + + button, + input, + optgroup, + select, + textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ + } + + /** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + + button, + input { + /* 1 */ + overflow: visible; + } + + /** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + + button, + select { + /* 1 */ + text-transform: none; + } + + /** + * Correct the inability to style clickable types in iOS and Safari. + */ + + button, + [type='button'], + [type='reset'], + [type='submit'] { + -webkit-appearance: button; + } + + /** + * Remove the inner border and padding in Firefox. + */ + + button::-moz-focus-inner, + [type='button']::-moz-focus-inner, + [type='reset']::-moz-focus-inner, + [type='submit']::-moz-focus-inner { + border-style: none; + padding: 0; + } + + /** + * Restore the focus styles unset by the previous rule. + */ + + button:-moz-focusring, + [type='button']:-moz-focusring, + [type='reset']:-moz-focusring, + [type='submit']:-moz-focusring { + outline: 1px dotted ButtonText; + } + + /** + * Correct the padding in Firefox. + */ + + fieldset { + padding: 0.35em 0.75em 0.625em; + } + + /** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + + legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ + } + + /** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + + progress { + vertical-align: baseline; + } + + /** + * Remove the default vertical scrollbar in IE 10+. + */ + + textarea { + overflow: auto; + } + + /** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + + [type='checkbox'], + [type='radio'] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ + } + + /** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + + [type='number']::-webkit-inner-spin-button, + [type='number']::-webkit-outer-spin-button { + height: auto; + } + + /** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + + [type='search'] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ + } + + /** + * Remove the inner padding in Chrome and Safari on macOS. + */ + + [type='search']::-webkit-search-decoration { + -webkit-appearance: none; + } + + /** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + + ::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ + } + + /* Interactive + ========================================================================== */ + + /* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + + details { + display: block; + } + + /* + * Add the correct display in all browsers. + */ + + summary { + display: list-item; + } + + /* Misc + ========================================================================== */ + + /** + * Add the correct display in IE 10+. + */ + + template { + display: none; + } + + /** + * Add the correct display in IE 10. + */ + + [hidden] { + display: none; + } +} diff --git a/svelte/src/lib/css/shared/a11y.css b/svelte/src/lib/css/shared/a11y.css new file mode 100644 index 00000000000..45142091f82 --- /dev/null +++ b/svelte/src/lib/css/shared/a11y.css @@ -0,0 +1,12 @@ +@layer global { + .sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; + } +} diff --git a/svelte/src/lib/css/shared/buttons.css b/svelte/src/lib/css/shared/buttons.css new file mode 100644 index 00000000000..e91c8fb8d04 --- /dev/null +++ b/svelte/src/lib/css/shared/buttons.css @@ -0,0 +1,109 @@ +@layer global { + .button-reset { + padding: 0; + border: none; + outline: none; + font: inherit; + color: inherit; + background: none; + } + + .button { + --text-color: #383838; + --disabled-text-color: #858585; + + --bg-color-top: #fede9e; + --bg-color-bottom: #fdc452; + + --bg-color-top-light: #fee7b7; + --bg-color-bottom-light: #fdcd6b; + + --bg-color-top-dark: #fed585; + --bg-color-bottom-dark: #fdbb39; + + padding: var(--space-xs) var(--space-m-l); + display: inline-flex; + align-items: center; + justify-content: center; + color: var(--text-color); + text-decoration: none; + font-weight: bold; + border: none; + outline: 0; + border-radius: 5000px; + background: linear-gradient(to bottom, var(--bg-color-top) 0%, var(--bg-color-bottom) 100%); + cursor: pointer; + + &:hover, + &:active, + &:visited { + /* + * This is using `important` to override the `a:hover` declaration which + * appears to have higher specificity than the `button:hover` declaration. + */ + color: var(--text-color) !important; + } + + img, + svg { + float: left; + display: inline-block; + margin-right: var(--space-2xs); + } + + &:hover, + &:focus, + &.active { + background: linear-gradient(to bottom, var(--bg-color-top-dark) 0%, var(--bg-color-bottom-dark) 100%); + outline: 0; + } + + &[disabled] { + background: linear-gradient(to bottom, var(--bg-color-top-light) 0%, var(--bg-color-bottom-light) 100%); + color: var(--disabled-text-color) !important; + cursor: not-allowed; + } + } + + .button--tan { + --bg-color-top: #e8e3c7; + --bg-color-bottom: #d6cd99; + + --bg-color-top-light: #efecd9; + --bg-color-bottom-light: #ddd6ab; + + --bg-color-top-dark: #e1dab5; + --bg-color-bottom-dark: #cfc487; + } + + .button--red { + --bg-color-top: #ffb8b8; + --bg-color-bottom: #f78888; + + --bg-color-top-light: #ffcccc; + --bg-color-bottom-light: #f7adad; + + --bg-color-top-dark: #fab4b4; + --bg-color-bottom-dark: #ed6b6b; + } + + .button--small { + padding: var(--space-2xs) var(--space-s); + } + + .load-more-button { + display: block; + text-align: center; + width: 100%; + padding: var(--space-2xs); + outline: 0; + border: 0; + background-color: light-dark(#dbd9cf, #202023); + color: light-dark(#525252, #f9f7ec); + + &:hover, + &:focus { + background-color: light-dark(#c5c2b2, #26262b); + } + } +} diff --git a/svelte/src/lib/css/shared/forms.css b/svelte/src/lib/css/shared/forms.css new file mode 100644 index 00000000000..e3ffe21be01 --- /dev/null +++ b/svelte/src/lib/css/shared/forms.css @@ -0,0 +1,27 @@ +@layer global { + .form-group-name { + display: flex; + gap: var(--space-2xs); + margin-bottom: var(--space-2xs); + font-weight: 600; + } + + .form-group-error { + display: block; + color: red; + font-size: 0.9em; + margin-top: var(--space-2xs); + } + + .base-input { + padding: var(--space-2xs); + background-color: light-dark(white, #141413); + border: 1px solid var(--gray-border); + border-radius: var(--space-3xs); + + &[aria-invalid='true'] { + background: light-dark(#fff2f2, #170808); + border-color: red; + } + } +} diff --git a/svelte/src/lib/css/shared/sort-by.css b/svelte/src/lib/css/shared/sort-by.css new file mode 100644 index 00000000000..71a1bb0f4a3 --- /dev/null +++ b/svelte/src/lib/css/shared/sort-by.css @@ -0,0 +1,9 @@ +@layer global { + .sort-by-v-center { + display: flex; + align-items: center; + flex-wrap: wrap; + + gap: 5px; + } +} diff --git a/svelte/src/lib/css/shared/typography.css b/svelte/src/lib/css/shared/typography.css new file mode 100644 index 00000000000..0203d97e80d --- /dev/null +++ b/svelte/src/lib/css/shared/typography.css @@ -0,0 +1,24 @@ +@layer global { + .small, + .text--small { + color: var(--main-color-light); + font-size: 80%; + + strong { + color: var(--main-color); + } + } + + .small a, + .text--small a, + a.small, + a.text--small { + color: var(--main-color-light); + text-decoration: underline; + font-weight: normal; + + &:hover { + color: #6b6b6b; + } + } +} diff --git a/svelte/src/routes/+layout.svelte b/svelte/src/routes/+layout.svelte index cba194029ea..d0b1299b417 100644 --- a/svelte/src/routes/+layout.svelte +++ b/svelte/src/routes/+layout.svelte @@ -1,4 +1,5 @@ + crates.io: Rust Package Registry -{@render children()} + + +
+ + + +
+
+ {@render children()} +
+
+ + + + From f88f5ef42c8cbbe9c30f2bb099a428456e46bf8d Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Sat, 13 Dec 2025 15:07:06 +0100 Subject: [PATCH 3/3] svelte: Migrate `Header` component --- svelte/src/lib/assets/cargo.png | Bin 0 -> 60046 bytes svelte/src/lib/components/Header.svelte | 311 ++++++++++++++++++++++++ svelte/src/routes/+layout.svelte | 6 +- 3 files changed, 315 insertions(+), 2 deletions(-) create mode 100644 svelte/src/lib/assets/cargo.png create mode 100644 svelte/src/lib/components/Header.svelte diff --git a/svelte/src/lib/assets/cargo.png b/svelte/src/lib/assets/cargo.png new file mode 100644 index 0000000000000000000000000000000000000000..eaa250e634ca12273d94f1563adeae4f898e28c2 GIT binary patch literal 60046 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 + import { resolve } from '$app/paths'; + + import logo from '$lib/assets/cargo.png'; + + // TODO: import ColorSchemeMenu from './ColorSchemeMenu.svelte'; + // TODO: import Dropdown from './Dropdown.svelte'; + // TODO: import LoadingSpinner from './LoadingSpinner.svelte'; + // TODO: import SearchForm from './SearchForm.svelte'; + // TODO: import UserAvatar from './UserAvatar.svelte'; + + // TODO: import session service + // TODO: import lock icon SVG + + interface Props { + hero?: boolean; + } + + let { hero = false }: Props = $props(); + + // TODO: implement session state + // let currentUser = $derived(session.currentUser); + // let isAdmin = $derived(session.isAdmin); + // let isSudoEnabled = $derived(session.isSudoEnabled); + // let sudoEnabledUntil = $derived(session.sudoEnabledUntil); + + // TODO: implement sudo actions + // const SUDO_SESSION_DURATION_MS = 6 * 60 * 60 * 1000; + // function enableSudo() { session.setSudo(SUDO_SESSION_DURATION_MS); } + // function disableSudo() { session.setSudo(0); } + + +
+
+ + +

crates.io

+
+ +
+

The Rust community's crate registry

+ + +
+ + + + +
+
+ + diff --git a/svelte/src/routes/+layout.svelte b/svelte/src/routes/+layout.svelte index 8a1d90b1282..422b46f4990 100644 --- a/svelte/src/routes/+layout.svelte +++ b/svelte/src/routes/+layout.svelte @@ -2,8 +2,9 @@ import '$lib/css/global.css'; import favicon from '$lib/assets/favicon.svg'; + import Header from '$lib/components/Header.svelte'; + // TODO: import ProgressBar from '$lib/components/ProgressBar.svelte'; - // TODO: import Header from '$lib/components/Header.svelte'; // TODO: import Footer from '$lib/components/Footer.svelte'; let { children } = $props(); @@ -21,7 +22,8 @@
- + +