mirror of
https://github.com/scratchfoundation/scratch-www.git
synced 2024-11-27 09:35:56 -05:00
feat(cookie policy): basic table styling; start bringing in cookie info
This commit is contained in:
parent
d238aa8201
commit
0076113d8a
4 changed files with 210 additions and 2 deletions
|
@ -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/?$",
|
||||
|
|
175
src/views/cookies/cookies.jsx
Normal file
175
src/views/cookies/cookies.jsx
Normal file
|
@ -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 => <b>{chunks}</b>;
|
||||
const privacyPolicyLink = chunks => <a href="/privacy_policy">{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 optOutLink = chunks => <a href="https://tools.google.com/dlpage/gaoptout">{chunks}</a>;
|
||||
|
||||
require('./cookies.scss');
|
||||
|
||||
const Cookies = injectIntl(() => (
|
||||
<InformationPage
|
||||
title={
|
||||
<FormattedMessage id="cookies.title" />
|
||||
}
|
||||
>
|
||||
<div className="inner info-inner">
|
||||
<section>
|
||||
<p className="lastupdate">
|
||||
<i>
|
||||
<FormattedMessage id="cookies.lastUpdated" />
|
||||
</i>
|
||||
</p>
|
||||
<p className="intro">
|
||||
<FormattedMessage
|
||||
id="cookies.intro1"
|
||||
values={{
|
||||
b: bold,
|
||||
privacy: privacyPolicyLink
|
||||
}}
|
||||
/>
|
||||
</p>
|
||||
<p className="intro">
|
||||
<FormattedMessage
|
||||
id="cookies.intro2"
|
||||
values={{
|
||||
b: bold
|
||||
}}
|
||||
/>
|
||||
</p>
|
||||
</section>
|
||||
<section id="types">
|
||||
<dl>
|
||||
<span className="nav-spacer" />
|
||||
<h2><FormattedMessage id="cookies.types.title" /></h2>
|
||||
<dt><FormattedMessage id="cookies.types.essentialTitle" /></dt>
|
||||
<dd><FormattedMessage id="cookies.types.essentialIntro" /></dd>
|
||||
<dd>
|
||||
<table className="cookies-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><FormattedMessage id="cookies.table.name" /></th>
|
||||
<th><FormattedMessage id="cookies.table.provider" /></th>
|
||||
<th><FormattedMessage id="cookies.table.purpose" /></th>
|
||||
<th><FormattedMessage id="cookies.table.expiration" /></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>scratchcsrftoken</td>
|
||||
<td><a href="/privacy_policy">Scratch</a></td>
|
||||
<td><FormattedMessage id="cookies.essential.csrf" /></td>
|
||||
<td>1 year</td>
|
||||
{/* how to get this localized? */}
|
||||
</tr>
|
||||
<tr>
|
||||
<td>scratchsessionid</td>
|
||||
<td><a href="/privacy_policy">Scratch</a></td>
|
||||
<td><FormattedMessage id="cookies.essential.sessionID" /></td>
|
||||
<td>Session</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</dd>
|
||||
<dt><FormattedMessage id="cookies.types.functionalTitle" /></dt>
|
||||
<dd><FormattedMessage id="cookies.types.functionalIntro" /></dd>
|
||||
<dd>
|
||||
<table className="cookies-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><FormattedMessage id="cookies.table.name" /></th>
|
||||
<th><FormattedMessage id="cookies.table.provider" /></th>
|
||||
<th><FormattedMessage id="cookies.table.purpose" /></th>
|
||||
<th><FormattedMessage id="cookies.table.expiration" /></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>permissions</td>
|
||||
<td><a href="/privacy_policy">Scratch</a></td>
|
||||
<td><FormattedMessage id="cookies.functional.permissions" /></td>
|
||||
<td>1 year</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>explore_by</td>
|
||||
<td><a href="/privacy_policy">Scratch</a></td>
|
||||
<td><FormattedMessage id="cookies.functional.exploreBy" /></td>
|
||||
<td>Session</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>minilogSettings</td>
|
||||
<td><a href="/privacy_policy">Scratch</a></td>
|
||||
<td><FormattedMessage id="cookies.functional.minilogSettings" /></td>
|
||||
<td>Persistent</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>scratchlanguage</td>
|
||||
<td><a href="/privacy_policy">Scratch</a></td>
|
||||
<td><FormattedMessage id="cookies.functional.scratchLanguage" /></td>
|
||||
<td>1 year</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>wistia-video-progress-#</td>
|
||||
<td><a href="https://wistia.com/privacy">Wistia</a></td>
|
||||
<td><FormattedMessage id="cookies.functional.wistia" /></td>
|
||||
<td>Persistent</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</dd>
|
||||
<dt><FormattedMessage id="cookies.types.analyticsTitle" /></dt>
|
||||
<dd>
|
||||
<FormattedMessage
|
||||
id="cookies.types.analyticsIntro"
|
||||
values={{
|
||||
policies: googlePoliciesLink,
|
||||
optout: optOutLink
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
</dl>
|
||||
</section>
|
||||
<section id="manage">
|
||||
<span className="nav-spacer" />
|
||||
<h2><FormattedMessage id="cookies.manageTitle" /></h2>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id="cookies.manageBody"
|
||||
values={{
|
||||
a: manageLink
|
||||
}}
|
||||
/>
|
||||
</p>
|
||||
</section>
|
||||
<section id="contact">
|
||||
<span className="nav-spacer" />
|
||||
<h2><FormattedMessage id="cookies.contactTitle" /></h2>
|
||||
<p><FormattedMessage id="cookies.contactIntro" /></p>
|
||||
<p>
|
||||
Scratch Foundation<br />
|
||||
ATTN: Cookie Policy<br />
|
||||
201 South Street<br />
|
||||
Suite 102<br />
|
||||
Boston, MA 02111<br />
|
||||
</p>
|
||||
</section>
|
||||
</div>
|
||||
<nav>
|
||||
<ol>
|
||||
<li><a href="#types"><FormattedMessage id="cookies.nav.types" /></a></li>
|
||||
<li><a href="#manage"><FormattedMessage id="cookies.nav.manage" /></a></li>
|
||||
<li><a href="#contact"><FormattedMessage id="cookies.nav.contact" /></a></li>
|
||||
</ol>
|
||||
</nav>
|
||||
</InformationPage>
|
||||
));
|
||||
|
||||
render(<Page><Cookies /></Page>, document.getElementById('app'));
|
12
src/views/cookies/cookies.scss
Normal file
12
src/views/cookies/cookies.scss
Normal file
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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 <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.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 <optout>https://tools.google.com/dlpage/gaoptout</optout>. 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 <policies>https://www.google.com/policies/privacy/partners</policies> and opt out of them by downloading the Google Analytics opt-out browser add-on, available at <optout>https://tools.google.com/dlpage/gaoptout</optout>. 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 <a>http://www.allaboutcookies.org/manage-cookies/index.html</a>.",
|
||||
"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 <a>http://www.allaboutcookies.org/manage-cookies</a>.",
|
||||
"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:"
|
||||
}
|
Loading…
Reference in a new issue