diff --git a/warehouse/locale/messages.pot b/warehouse/locale/messages.pot index 8fdbd270e5e3..deede883dd24 100644 --- a/warehouse/locale/messages.pot +++ b/warehouse/locale/messages.pot @@ -977,14 +977,14 @@ msgstr "" #: warehouse/templates/404.html:30 warehouse/templates/500.html:18 #: warehouse/templates/accounts/two-factor.html:35 -#: warehouse/templates/base.html:342 warehouse/templates/base.html:348 -#: warehouse/templates/base.html:354 warehouse/templates/base.html:360 -#: warehouse/templates/base.html:376 warehouse/templates/base.html:382 -#: warehouse/templates/base.html:407 warehouse/templates/base.html:413 -#: warehouse/templates/base.html:422 warehouse/templates/base.html:435 -#: warehouse/templates/base.html:444 warehouse/templates/base.html:450 -#: warehouse/templates/base.html:456 warehouse/templates/base.html:469 -#: warehouse/templates/base.html:486 +#: warehouse/templates/base.html:343 warehouse/templates/base.html:349 +#: warehouse/templates/base.html:355 warehouse/templates/base.html:361 +#: warehouse/templates/base.html:377 warehouse/templates/base.html:383 +#: warehouse/templates/base.html:408 warehouse/templates/base.html:414 +#: warehouse/templates/base.html:423 warehouse/templates/base.html:436 +#: warehouse/templates/base.html:445 warehouse/templates/base.html:451 +#: warehouse/templates/base.html:457 warehouse/templates/base.html:470 +#: warehouse/templates/base.html:487 #: warehouse/templates/includes/accounts/profile-callout.html:17 #: warehouse/templates/includes/file-details.html:129 #: warehouse/templates/index.html:98 warehouse/templates/index.html:105 @@ -1138,7 +1138,7 @@ msgid "Main navigation" msgstr "" #: warehouse/templates/base.html:33 warehouse/templates/base.html:68 -#: warehouse/templates/base.html:337 +#: warehouse/templates/base.html:338 #: warehouse/templates/includes/current-user-indicator.html:77 #: warehouse/templates/pages/help.html:209 #: warehouse/templates/pages/sitemap.html:19 @@ -1214,16 +1214,16 @@ msgstr "" msgid "RSS: 40 newest packages" msgstr "" -#: warehouse/templates/base.html:208 +#: warehouse/templates/base.html:209 msgid "Skip to main content" msgstr "" -#: warehouse/templates/base.html:212 +#: warehouse/templates/base.html:213 msgid "Switch to mobile version" msgstr "" -#: warehouse/templates/base.html:219 warehouse/templates/base.html:228 -#: warehouse/templates/base.html:238 +#: warehouse/templates/base.html:220 warehouse/templates/base.html:229 +#: warehouse/templates/base.html:239 #: warehouse/templates/includes/flash-messages.html:41 #: warehouse/templates/includes/session-notifications.html:19 #: warehouse/templates/manage/account.html:845 @@ -1240,177 +1240,177 @@ msgstr "" msgid "Warning" msgstr "" -#: warehouse/templates/base.html:221 +#: warehouse/templates/base.html:222 msgid "You are using an unsupported browser, upgrade to a newer version." msgstr "" -#: warehouse/templates/base.html:230 +#: warehouse/templates/base.html:231 msgid "" "You are using TestPyPI – a separate instance of the Python Package Index " "that allows you to try distribution tools and processes without affecting" " the real index." msgstr "" -#: warehouse/templates/base.html:240 +#: warehouse/templates/base.html:241 msgid "" "Some features may not work without JavaScript. Please try enabling it if " "you encounter problems." msgstr "" -#: warehouse/templates/base.html:275 warehouse/templates/base.html:307 +#: warehouse/templates/base.html:276 warehouse/templates/base.html:308 #: warehouse/templates/error-base-with-search.html:8 #: warehouse/templates/index.html:29 msgid "Search PyPI" msgstr "" -#: warehouse/templates/base.html:280 warehouse/templates/index.html:35 +#: warehouse/templates/base.html:281 warehouse/templates/index.html:35 msgid "Type '/' to search projects" msgstr "" -#: warehouse/templates/base.html:291 warehouse/templates/base.html:320 +#: warehouse/templates/base.html:292 warehouse/templates/base.html:321 #: warehouse/templates/error-base-with-search.html:19 #: warehouse/templates/index.html:44 msgid "Search" msgstr "" -#: warehouse/templates/base.html:312 +#: warehouse/templates/base.html:313 #: warehouse/templates/error-base-with-search.html:13 msgid "Search projects" msgstr "" -#: warehouse/templates/base.html:338 +#: warehouse/templates/base.html:339 msgid "Help navigation" msgstr "" -#: warehouse/templates/base.html:344 +#: warehouse/templates/base.html:345 msgid "Installing packages" msgstr "" -#: warehouse/templates/base.html:350 +#: warehouse/templates/base.html:351 msgid "Uploading packages" msgstr "" -#: warehouse/templates/base.html:356 +#: warehouse/templates/base.html:357 msgid "User guide" msgstr "" -#: warehouse/templates/base.html:362 +#: warehouse/templates/base.html:363 msgid "Project name retention" msgstr "" -#: warehouse/templates/base.html:365 +#: warehouse/templates/base.html:366 msgid "FAQs" msgstr "" -#: warehouse/templates/base.html:371 warehouse/templates/pages/sitemap.html:34 +#: warehouse/templates/base.html:372 warehouse/templates/pages/sitemap.html:34 msgid "About PyPI" msgstr "" -#: warehouse/templates/base.html:372 +#: warehouse/templates/base.html:373 msgid "About PyPI navigation" msgstr "" -#: warehouse/templates/base.html:378 +#: warehouse/templates/base.html:379 msgid "PyPI Blog" msgstr "" -#: warehouse/templates/base.html:384 +#: warehouse/templates/base.html:385 msgid "Infrastructure dashboard" msgstr "" -#: warehouse/templates/base.html:387 warehouse/templates/pages/sitemap.html:40 +#: warehouse/templates/base.html:388 warehouse/templates/pages/sitemap.html:40 #: warehouse/templates/pages/stats.html:4 msgid "Statistics" msgstr "" -#: warehouse/templates/base.html:390 +#: warehouse/templates/base.html:391 msgid "Logos & trademarks" msgstr "" -#: warehouse/templates/base.html:393 +#: warehouse/templates/base.html:394 msgid "Our sponsors" msgstr "" -#: warehouse/templates/base.html:399 +#: warehouse/templates/base.html:400 msgid "Contributing to PyPI" msgstr "" -#: warehouse/templates/base.html:400 +#: warehouse/templates/base.html:401 msgid "How to contribute navigation" msgstr "" -#: warehouse/templates/base.html:403 +#: warehouse/templates/base.html:404 msgid "Bugs and feedback" msgstr "" -#: warehouse/templates/base.html:409 +#: warehouse/templates/base.html:410 msgid "Contribute on GitHub" msgstr "" -#: warehouse/templates/base.html:415 +#: warehouse/templates/base.html:416 msgid "Translate PyPI" msgstr "" -#: warehouse/templates/base.html:418 +#: warehouse/templates/base.html:419 msgid "Sponsor PyPI" msgstr "" -#: warehouse/templates/base.html:424 +#: warehouse/templates/base.html:425 msgid "Development credits" msgstr "" -#: warehouse/templates/base.html:430 warehouse/templates/pages/sitemap.html:10 +#: warehouse/templates/base.html:431 warehouse/templates/pages/sitemap.html:10 msgid "Using PyPI" msgstr "" -#: warehouse/templates/base.html:431 +#: warehouse/templates/base.html:432 msgid "Using PyPI navigation" msgstr "" -#: warehouse/templates/base.html:437 +#: warehouse/templates/base.html:438 #: warehouse/templates/manage/organization/activate_subscription.html:21 msgid "Terms of Service" msgstr "" -#: warehouse/templates/base.html:440 +#: warehouse/templates/base.html:441 msgid "Report security issue" msgstr "" -#: warehouse/templates/base.html:446 +#: warehouse/templates/base.html:447 msgid "Code of conduct" msgstr "" -#: warehouse/templates/base.html:452 +#: warehouse/templates/base.html:453 msgid "Privacy Notice" msgstr "" -#: warehouse/templates/base.html:458 +#: warehouse/templates/base.html:459 msgid "Acceptable Use Policy" msgstr "" -#: warehouse/templates/base.html:468 +#: warehouse/templates/base.html:469 msgid "Status:" msgstr "" -#: warehouse/templates/base.html:472 +#: warehouse/templates/base.html:473 msgid "all systems operational" msgstr "" -#: warehouse/templates/base.html:476 +#: warehouse/templates/base.html:477 msgid "" "Developed and maintained by the Python community, for the Python " "community." msgstr "" -#: warehouse/templates/base.html:478 +#: warehouse/templates/base.html:479 msgid "Donate today!" msgstr "" -#: warehouse/templates/base.html:490 warehouse/templates/pages/sitemap.html:4 +#: warehouse/templates/base.html:491 warehouse/templates/pages/sitemap.html:4 msgid "Site map" msgstr "" -#: warehouse/templates/base.html:497 +#: warehouse/templates/base.html:498 msgid "Switch to desktop version" msgstr "" diff --git a/warehouse/static/js/warehouse/index.js b/warehouse/static/js/warehouse/index.js index 78e5f7e9f6b6..eca594fe5af0 100644 --- a/warehouse/static/js/warehouse/index.js +++ b/warehouse/static/js/warehouse/index.js @@ -5,11 +5,6 @@ import { Application } from "@hotwired/stimulus"; import { definitionsFromContext } from "@hotwired/stimulus-webpack-helpers"; import { Autocomplete } from "stimulus-autocomplete"; -// We'll use docReady as a modern replacement for $(document).ready() which -// does not require all of jQuery to use. This will let us use it without -// having to load all of jQuery, which will make things faster. -import docReady from "warehouse/utils/doc-ready"; - // Import our utility functions import HTMLInclude from "warehouse/utils/html-include"; import * as formUtils from "warehouse/utils/forms"; @@ -23,63 +18,51 @@ import {GuardWebAuthn, AuthenticateWebAuthn, ProvisionWebAuthn} from "warehouse/ import checkProxyProtection from "warehouse/utils/proxy-protection"; // Show unsupported browser warning if necessary -docReady(() => { - if (navigator.appVersion.includes("MSIE 10")) { - if (document.getElementById("unsupported-browser") !== null) return; - +if (navigator.appVersion.includes("MSIE 10")) { + if (document.getElementById("unsupported-browser") === null) { let warning_div = document.createElement("div"); warning_div.innerHTML = "
"; document.getElementById("sticky-notifications").appendChild(warning_div); } -}); +} // Human-readable timestamps for project histories -docReady(() => { - timeAgo(); -}); +timeAgo(); // toggle search panel behavior -docReady(() => { - if (document.querySelector(".-js-add-filter")) searchFilterToggle(); -}); +if (document.querySelector(".-js-add-filter")) searchFilterToggle(); // Kick off the client side HTML includes. -docReady(HTMLInclude); +HTMLInclude(); // Handle the JS based automatic form submission. -docReady(formUtils.submitTriggers); -docReady(formUtils.registerFormValidation); +formUtils.submitTriggers(); +formUtils.registerFormValidation(); -docReady(Statuspage); +Statuspage(); // Close modals when escape button is pressed -docReady(() => { - document.addEventListener("keydown", event => { - // Only handle the escape key press when a modal is open - if (document.querySelector(".modal:target") && event.keyCode === 27) { - for (let element of document.querySelectorAll(".modal")) { - application - .getControllerForElementAndIdentifier(element, "confirm") - .cancel(); - } +document.addEventListener("keydown", event => { + // Only handle the escape key press when a modal is open + if (document.querySelector(".modal:target") && event.keyCode === 27) { + for (let element of document.querySelectorAll(".modal")) { + application + .getControllerForElementAndIdentifier(element, "confirm") + .cancel(); } - }); + } }); // Position sticky bar -docReady(() => { - setTimeout(PositionWarning, 200); -}); +setTimeout(PositionWarning, 200); -docReady(() => { - let resizeTimer; - const onResize = () => { - clearTimeout(resizeTimer); - resizeTimer = setTimeout(PositionWarning, 200); - }; - window.addEventListener("resize", onResize, false); -}); +let resizeTimer; +const onResize = () => { + clearTimeout(resizeTimer); + resizeTimer = setTimeout(PositionWarning, 200); +}; +window.addEventListener("resize", onResize, false); let bindDropdowns = function () { // Bind click handlers to dropdowns for keyboard users @@ -137,33 +120,29 @@ let bindDropdowns = function () { }; // Bind the dropdowns when the page is ready -docReady(bindDropdowns); +bindDropdowns(); // Get modal keypress event listeners ready -docReady(BindModalKeys); +BindModalKeys(); // Get filter pane keypress event listeners ready -docReady(BindFilterKeys); +BindFilterKeys(); // Get WebAuthn compatibility checks ready -docReady(GuardWebAuthn); +GuardWebAuthn(); // Get WebAuthn provisioning ready -docReady(ProvisionWebAuthn); +ProvisionWebAuthn(); // Get WebAuthn authentication ready -docReady(AuthenticateWebAuthn); +AuthenticateWebAuthn(); // Initialize proxy protection -docReady(checkProxyProtection); +checkProxyProtection(); -docReady(() => { - const tokenSelect = document.getElementById("token_scope"); - - if (tokenSelect === null) { - return; - } +const tokenSelect = document.getElementById("token_scope"); +if (tokenSelect !== null) { tokenSelect.addEventListener("change", () => { const tokenScopeWarning = document.getElementById("api-token-scope-warning"); if (tokenScopeWarning === null) { @@ -173,7 +152,7 @@ docReady(() => { const tokenScope = tokenSelect.options[tokenSelect.selectedIndex].value; tokenScopeWarning.hidden = (tokenScope !== "scope:user"); }); -}); +} // Bind again when client-side includes have been loaded (for the logged-in // user dropdown) diff --git a/warehouse/static/js/warehouse/utils/doc-ready.js b/warehouse/static/js/warehouse/utils/doc-ready.js deleted file mode 100644 index d57e7f07a5ec..000000000000 --- a/warehouse/static/js/warehouse/utils/doc-ready.js +++ /dev/null @@ -1,6 +0,0 @@ -/* SPDX-License-Identifier: Apache-2.0 */ - -export default (fn) => { - if (document.readyState != "loading") { fn(); } - else { document.addEventListener("DOMContentLoaded", fn); } -}; diff --git a/warehouse/templates/accounts/register.html b/warehouse/templates/accounts/register.html index 01ba7e684147..d2c62dfa7a44 100644 --- a/warehouse/templates/accounts/register.html +++ b/warehouse/templates/accounts/register.html @@ -220,6 +220,6 @@