Merge pull request #7645 from scratchfoundation/feature/color-contrast

Feature/color contrast
This commit is contained in:
Andy O'Neill 2023-06-08 12:44:39 -04:00 committed by GitHub
commit 9c605f6a91
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 35 additions and 11 deletions

14
package-lock.json generated
View file

@ -101,7 +101,7 @@
"regenerator-runtime": "0.13.9", "regenerator-runtime": "0.13.9",
"sass": "1.49.7", "sass": "1.49.7",
"sass-loader": "10.2.1", "sass-loader": "10.2.1",
"scratch-gui": "2.0.0-beta.4", "scratch-gui": "2.0.0-beta.5",
"scratch-l10n": "3.15.20230524032205", "scratch-l10n": "3.15.20230524032205",
"selenium-webdriver": "4.1.0", "selenium-webdriver": "4.1.0",
"slick-carousel": "1.6.0", "slick-carousel": "1.6.0",
@ -23495,9 +23495,9 @@
} }
}, },
"node_modules/scratch-gui": { "node_modules/scratch-gui": {
"version": "2.0.0-beta.4", "version": "2.0.0-beta.5",
"resolved": "https://registry.npmjs.org/scratch-gui/-/scratch-gui-2.0.0-beta.4.tgz", "resolved": "https://registry.npmjs.org/scratch-gui/-/scratch-gui-2.0.0-beta.5.tgz",
"integrity": "sha512-kEMKniFEHG+RAKJx+0hTYal+gAFUwWvdVmB/q+QeGXBpEUg27MrgSm+ECqMnEA0Rvbt4/PHtoStdKtZcLn4Phw==", "integrity": "sha512-dPo66EwZwXIAutoGCrfxpJFX9ghV+WnNHHn0P6vRempOYw6e3MBnT6hEWjSoa7ZhYH3mQe5Bbpx/wosPJRdelg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"arraybuffer-loader": "^1.0.6", "arraybuffer-loader": "^1.0.6",
@ -52004,9 +52004,9 @@
} }
}, },
"scratch-gui": { "scratch-gui": {
"version": "2.0.0-beta.4", "version": "2.0.0-beta.5",
"resolved": "https://registry.npmjs.org/scratch-gui/-/scratch-gui-2.0.0-beta.4.tgz", "resolved": "https://registry.npmjs.org/scratch-gui/-/scratch-gui-2.0.0-beta.5.tgz",
"integrity": "sha512-kEMKniFEHG+RAKJx+0hTYal+gAFUwWvdVmB/q+QeGXBpEUg27MrgSm+ECqMnEA0Rvbt4/PHtoStdKtZcLn4Phw==", "integrity": "sha512-dPo66EwZwXIAutoGCrfxpJFX9ghV+WnNHHn0P6vRempOYw6e3MBnT6hEWjSoa7ZhYH3mQe5Bbpx/wosPJRdelg==",
"dev": true, "dev": true,
"requires": { "requires": {
"arraybuffer-loader": "^1.0.6", "arraybuffer-loader": "^1.0.6",

View file

@ -136,7 +136,7 @@
"regenerator-runtime": "0.13.9", "regenerator-runtime": "0.13.9",
"sass": "1.49.7", "sass": "1.49.7",
"sass-loader": "10.2.1", "sass-loader": "10.2.1",
"scratch-gui": "2.0.0-beta.4", "scratch-gui": "2.0.0-beta.5",
"scratch-l10n": "3.15.20230524032205", "scratch-l10n": "3.15.20230524032205",
"selenium-webdriver": "4.1.0", "selenium-webdriver": "4.1.0",
"slick-carousel": "1.6.0", "slick-carousel": "1.6.0",

View file

@ -12,6 +12,8 @@ const privacyPolicyLink = chunks => <a href="/privacy_policy">{chunks}</a>;
const manageLink = chunks => <a href="http://www.allaboutcookies.org/manage-cookies">{chunks}</a>; const manageLink = chunks => <a href="http://www.allaboutcookies.org/manage-cookies">{chunks}</a>;
const googlePoliciesLink = chunks => <a href="https://www.google.com/policies/privacy/partners">{chunks}</a>; const googlePoliciesLink = chunks => <a href="https://www.google.com/policies/privacy/partners">{chunks}</a>;
const optOutLink = chunks => <a href="https://tools.google.com/dlpage/gaoptout">{chunks}</a>; const optOutLink = chunks => <a href="https://tools.google.com/dlpage/gaoptout">{chunks}</a>;
// When this page was last updated. See 'click Cookies link' in footer-links.test.js if you update this value.
const updated = new Date('2023-06-28T12:00:00.000-04:00');
require('./cookies.scss'); require('./cookies.scss');
@ -25,7 +27,10 @@ const Cookies = injectIntl(() => (
<section> <section>
<p className="lastupdate"> <p className="lastupdate">
<i> <i>
<FormattedMessage id="cookies.lastUpdated" /> <FormattedMessage
id="cookies.lastUpdatedFormat"
values={{updated}}
/>
</i> </i>
</p> </p>
<p className="intro"> <p className="intro">
@ -121,6 +126,12 @@ const Cookies = injectIntl(() => (
<td><FormattedMessage id="cookies.functional.scratchPolicySeen" /></td> <td><FormattedMessage id="cookies.functional.scratchPolicySeen" /></td>
<td><FormattedMessage id="cookies.table.weeks.3" /></td> <td><FormattedMessage id="cookies.table.weeks.3" /></td>
</tr> </tr>
<tr>
<td>scratchtheme</td>
<td><a href="/privacy_policy">Scratch</a></td>
<td><FormattedMessage id="cookies.functional.scratchTheme" /></td>
<td><FormattedMessage id="cookies.table.years.1" /></td>
</tr>
<tr> <tr>
<td>wistia-video-progress-#</td> <td>wistia-video-progress-#</td>
<td><a href="https://wistia.com/privacy">Wistia</a></td> <td><a href="https://wistia.com/privacy">Wistia</a></td>

View file

@ -3,7 +3,7 @@
"cookies.nav.types": "Types of Cookies", "cookies.nav.types": "Types of Cookies",
"cookies.nav.manage": "Manage Cookies", "cookies.nav.manage": "Manage Cookies",
"cookies.nav.contact": "Contact Us", "cookies.nav.contact": "Contact Us",
"cookies.lastUpdated": "The Scratch Cookie Policy was last updated May 25, 2023", "cookies.lastUpdatedFormat": "The Scratch Cookie Policy was last updated {updated, date, long}",
"cookies.intro1": "This Cookie Policy (the <b>“Cookie Policy”</b>) is provided by Scratch Foundation (<b>“Scratch”</b>, <b>“we”</b> or <b>“us”</b>). It supplements the information and disclosures included in our <privacy>Privacy Policy</privacy>, and explains how Scratch uses Cookies on its website scratch.mit.edu (the <b>“Scratch Website”</b>) to its visitors (<b>“you”</b>, <b>“user”</b>). For the purpose of this Cookie Policy, <b>“Personal Information”</b> means any information relating to an identified or identifiable individual.", "cookies.intro1": "This Cookie Policy (the <b>“Cookie Policy”</b>) is provided by Scratch Foundation (<b>“Scratch”</b>, <b>“we”</b> or <b>“us”</b>). It supplements the information and disclosures included in our <privacy>Privacy Policy</privacy>, and explains how Scratch uses Cookies on its website scratch.mit.edu (the <b>“Scratch Website”</b>) to its visitors (<b>“you”</b>, <b>“user”</b>). For the purpose of this Cookie Policy, <b>“Personal Information”</b> means any information relating to an identified or identifiable individual.",
"cookies.intro2": "When you use the Scratch Website, we use cookies, beacons, invisible tags, unique IDs and similar technologies (collectively <b>“Cookies”</b>) to automatically record certain Personal Information from your browser or device.", "cookies.intro2": "When you use the Scratch Website, we use cookies, beacons, invisible tags, unique IDs and similar technologies (collectively <b>“Cookies”</b>) to automatically record certain Personal Information from your browser or device.",
"cookies.table.name": "Name", "cookies.table.name": "Name",
@ -29,6 +29,7 @@
"cookies.functional.permissions": "Used to track which features of the service a logged in user is able to access.", "cookies.functional.permissions": "Used to track which features of the service a logged in user is able to access.",
"cookies.functional.exploreBy": "Used to save the users current search preference.", "cookies.functional.exploreBy": "Used to save the users current search preference.",
"cookies.functional.scratchLanguage": "Used to save information about the users preferred language.", "cookies.functional.scratchLanguage": "Used to save information about the users preferred language.",
"cookies.functional.scratchTheme": "Used to save information about the users preferred color mode.",
"cookies.functional.scratchPolicySeen": "Used to track if the user has seen a privacy policy update notification", "cookies.functional.scratchPolicySeen": "Used to track if the user has seen a privacy policy update notification",
"cookies.functional.wistia": "Contains a timestamp for the Scratch Websites video-content. This allows the user to resume watching without having to start over, if the user leaves the video or Scratch Website.", "cookies.functional.wistia": "Contains a timestamp for the Scratch Websites video-content. This allows the user to resume watching without having to start over, if the user leaves the video or Scratch Website.",
"cookies.functional.minilogSettings": "Unclassified", "cookies.functional.minilogSettings": "Unclassified",

View file

@ -125,6 +125,18 @@ describe('www-integration footer links', () => {
expect(pathname).toMatch(/^\/privacy_policy\/?$/); expect(pathname).toMatch(/^\/privacy_policy\/?$/);
}); });
test('click Cookies link', async () => {
await clickText('Cookies');
let url = await driver.getCurrentUrl();
let pathname = (new URL(url)).pathname;
expect(pathname).toMatch(/^\/cookies\/?$/);
// Verify localization of last updated message
let lastUpdated = await findText('The Scratch Cookie Policy was last updated June 28, 2023');
let lastUpdatedVisible = await lastUpdated.isDisplayed();
await expect(lastUpdatedVisible).toBe(true);
});
test('click DMCA link', async () => { test('click DMCA link', async () => {
await clickText('DMCA'); await clickText('DMCA');
let url = await driver.getCurrentUrl(); let url = await driver.getCurrentUrl();