From 0076113d8a300e717cfc664926898c9a3af15544 Mon Sep 17 00:00:00 2001 From: cori hudson Date: Wed, 5 Apr 2023 17:20:53 -0400 Subject: [PATCH] feat(cookie policy): basic table styling; start bringing in cookie info --- src/routes.json | 7 ++ src/views/cookies/cookies.jsx | 175 +++++++++++++++++++++++++++++++++ src/views/cookies/cookies.scss | 12 +++ src/views/cookies/l10n.json | 18 +++- 4 files changed, 210 insertions(+), 2 deletions(-) create mode 100644 src/views/cookies/cookies.jsx create mode 100644 src/views/cookies/cookies.scss diff --git a/src/routes.json b/src/routes.json index 8120449db..06e47904d 100644 --- a/src/routes.json +++ b/src/routes.json @@ -138,6 +138,13 @@ "title": "Contact Us", "viewportWidth": "device-width" }, + { + "name": "cookies", + "pattern": "^/cookies/?$", + "routeAlias": "/cookies/?", + "view": "cookies/cookies", + "title": "Cookie Policy" + }, { "name": "credits", "pattern": "^/credits/?$", diff --git a/src/views/cookies/cookies.jsx b/src/views/cookies/cookies.jsx new file mode 100644 index 000000000..ecf5587ee --- /dev/null +++ b/src/views/cookies/cookies.jsx @@ -0,0 +1,175 @@ +const React = require('react'); +const injectIntl = require('react-intl').injectIntl; +const FormattedMessage = require('react-intl').FormattedMessage; + +const Page = require('../../components/page/www/page.jsx'); +const render = require('../../lib/render.jsx'); + +const InformationPage = require('../../components/informationpage/informationpage.jsx'); + +const bold = chunks => {chunks}; +const privacyPolicyLink = chunks => {chunks}; +const manageLink = chunks => {chunks}; +const googlePoliciesLink = chunks => {chunks}; +const optOutLink = chunks => {chunks}; + +require('./cookies.scss'); + +const Cookies = injectIntl(() => ( + + } + > +
+
+

+ + + +

+

+ +

+

+ +

+
+
+
+ +

+
+
+
+ + + + + + + + + + + + + + + + {/* how to get this localized? */} + + + + + + + + +
scratchcsrftokenScratch1 year
scratchsessionidScratchSession
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
permissionsScratch1 year
explore_byScratchSession
minilogSettingsScratchPersistent
scratchlanguageScratch1 year
wistia-video-progress-#WistiaPersistent
+
+
+
+ +
+
+
+
+ +

+

+ +

+
+
+ +

+

+

+ Scratch Foundation
+ ATTN: Cookie Policy
+ 201 South Street
+ Suite 102
+ Boston, MA 02111
+

+
+
+ +
+)); + +render(, document.getElementById('app')); diff --git a/src/views/cookies/cookies.scss b/src/views/cookies/cookies.scss new file mode 100644 index 000000000..2786d42a8 --- /dev/null +++ b/src/views/cookies/cookies.scss @@ -0,0 +1,12 @@ +@import "../../colors"; + +.cookies-table { + border: 1px solid $ui-border; + border-collapse: collapse; + + td, th { + padding: .7 5rem; + border: 1px solid $ui-border; + text-align: left; + } +} \ No newline at end of file diff --git a/src/views/cookies/l10n.json b/src/views/cookies/l10n.json index 5313b80ef..8a6407bc3 100644 --- a/src/views/cookies/l10n.json +++ b/src/views/cookies/l10n.json @@ -1,16 +1,30 @@ { "cookies.title": "Cookie Policy", + "cookies.nav.types": "Types of Cookies", + "cookies.nav.manage": "Manage Cookies", + "cookies.nav.contact": "Contact Us", + "cookies.lastUpdated": "The Scratch Cookie Policy was last updated April 5, 2023", "cookies.intro1": "This Cookie Policy (the “Cookie Policy”) is provided by Scratch Foundation (“Scratch”, “we” or “us”). It supplements the information and disclosures included in our Privacy Policy, and explains how Scratch uses Cookies on its website scratch.mit.edu (the “Scratch Website”) to its visitors (“you”, “user”). For the purpose of this Cookie Policy, “Personal Information” 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 “Cookies”) to automatically record certain Personal Information from your browser or device.", + "cookies.table.name": "Name", + "cookies.table.provider": "Provider", + "cookies.table.purpose": "Purpose", + "cookies.table.expiration": "Expiration", "cookies.types.title": "What types of Cookies are used on the Scratch Website?", "cookies.types.essentialTitle": "Essential Cookies", "cookies.types.essentialIntro": "These are Cookies that are necessary to make the Scratch Website available to the user or ensure security. We use this Personal Information, for example, to ensure that the Scratch Website functions properly, or to prevent fraud. We use the following essential Cookies:", + "cookies.essential.csrf": "Used as a security measure to prevent cross site request forgery.", + "cookies.essential.sessionID": "Used for authenticating you on the Scratch Website so we can provide you the services you requested.", "cookies.types.functionalTitle": "Functional Cookies", "cookies.types.functionalIntro": "We use these cookies to recognize the user when they return to the Scratch Website, and for beneficial, but non-essential functionality. For example, Cookies to remember users’ settings (e.g., retaining language settings) and content preferences when they return to the Scratch Website, or that allow videos to play. Disabling functional Cookies will typically result in limited functionality of the site and a less personalized experience, but the user will still be able to use the site as such. We use the following functional Cookies:", + "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 user’s current search preference.", + "cookies.functional.scratchLanguage": "Used to save information about the user’s preferred language.", + "cookies.functional.wistia": "Contains a timestamp for the Scratch Website’s video-content. This allows the user to resume watching without having to start over, if the user leaves the video or Scratch Website.", "cookies.types.analyticsTitle": "Analytical or Performance Cookies", - "cookies.types.analyticsIntro": "We use Cookies to generally help us better understand how the Scratch Website is being used (e.g., determining which pages are popular based on how many users have visited certain pages). We also work with analytics providers, such as Google Analytics, which use Cookies to collect and analyze information about use of the Scratch Website and report on activities and trends. You can learn more about Google’s practices by going to https://www.google.com/policies/privacy/partners/ and opt out of them by downloading the Google Analytics opt-out browser add-on, available at https://tools.google.com/dlpage/gaoptout. We use the following analytical and performance Cookies:", + "cookies.types.analyticsIntro": "We use Cookies to generally help us better understand how the Scratch Website is being used (e.g., determining which pages are popular based on how many users have visited certain pages). We also work with analytics providers, such as Google Analytics, which use Cookies to collect and analyze information about use of the Scratch Website and report on activities and trends. You can learn more about Google’s practices by going to https://www.google.com/policies/privacy/partners and opt out of them by downloading the Google Analytics opt-out browser add-on, available at https://tools.google.com/dlpage/gaoptout. We use the following analytical and performance Cookies:", "cookies.manageTitle": "How can you manage Cookies?", - "cookies.manageBody": "If you do not want your Personal Information to be collected through the use of Cookies, most browsers allow you to manage your Cookie preferences. You can set your browser to automatically decline Cookies or to request you to accept or decline Cookies for each site. You can find more information about Cookies at http://www.allaboutcookies.org/manage-cookies/index.html.", + "cookies.manageBody": "If you do not want your Personal Information to be collected through the use of Cookies, most browsers allow you to manage your Cookie preferences. You can set your browser to automatically decline Cookies or to request you to accept or decline Cookies for each site. You can find more information about Cookies at http://www.allaboutcookies.org/manage-cookies.", "cookies.contactTitle": "Contact Us", "cookies.contactIntro": "If you have any questions about this Cookie Policy please contact us at privacy@scratch.mit.edu or via mail at:" } \ No newline at end of file