diff --git a/src/main/index.js b/src/main/index.js index 1688313..6362996 100644 --- a/src/main/index.js +++ b/src/main/index.js @@ -210,6 +210,17 @@ const createAboutWindow = () => { return window; }; +const createPrivacyWindow = () => { + const window = createWindow({ + width: _windows.main.width * 0.8, + height: _windows.main.height * 0.8, + parent: _windows.main, + search: 'route=privacy', + title: 'Scratch Desktop Privacy Policy' + }); + return window; +}; + const getIsProjectSave = downloadItem => { switch (downloadItem.getMimeType()) { case 'application/x.scratch.sb3': @@ -371,6 +382,11 @@ app.on('ready', () => { event.preventDefault(); _windows.about.hide(); }); + _windows.privacy = createPrivacyWindow(); + _windows.privacy.on('close', event => { + event.preventDefault(); + _windows.privacy.hide(); + }); }); ipcMain.on('open-about-window', () => { diff --git a/src/renderer/about.css b/src/renderer/about.css index b804c78..68b55f4 100644 --- a/src/renderer/about.css +++ b/src/renderer/about.css @@ -1,4 +1,5 @@ html, body { + background-color: #4D97FF; color: white; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bolder; diff --git a/src/renderer/index.js b/src/renderer/index.js index 49915ad..abca150 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -9,4 +9,7 @@ case 'app': case 'about': import('./about.jsx'); // eslint-disable-line no-unused-expressions break; +case 'privacy': + import('./privacy.jsx'); + break; } diff --git a/src/renderer/privacy.css b/src/renderer/privacy.css new file mode 100644 index 0000000..a40fb4f --- /dev/null +++ b/src/renderer/privacy.css @@ -0,0 +1,14 @@ +html, body { + background-color: #4D97FF; + color: white; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-weight: normal; + line-height: 150%; +} + +.privacyBox { + background-color: white; + color: #575e75; + margin: 3rem; + padding: 2rem 3rem; +} diff --git a/src/renderer/privacy.jsx b/src/renderer/privacy.jsx new file mode 100644 index 0000000..52e9901 --- /dev/null +++ b/src/renderer/privacy.jsx @@ -0,0 +1,59 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; + +import styles from './privacy.css'; + +// TODO: localization? +const PrivacyElement = () => ( +
+

Privacy Policy

+

+ We understand how important privacy is to our community, especially children and their parents. We wrote + this privacy policy to explain what information we collect through the Scratch application (the + “App”), how we use it, and what we're doing to keep it safe. If you have any questions + regarding this privacy policy, you can contact us. +

+

What information does the App collect?

+

+ The Scratch Team is always looking to better understand how Scratch is used around the world. To help + support this effort, Scratch only collects anonymous usage information from the Scratch App. This + information does not include any Personal Information. For purposes of this Privacy Policy, “Personal + Information” means any information relating to an identified or identifiable individual. +

+

+ The anonymous usage information we collect includes data about what parts of the app you use and basic + information about your network that allows us to roughly estimate what part of the world you are located + in. We also may collect general information about the device that you are using, such as make, model, + operating system and screen resolution. We do not collect device identifiers, such as advertising IDs, MAC + addresses, or IP addresses. We do not associate any of this information with an identified or identifiable + individual. +

+

How does the Scratch Team use the information it collects?

+ +
+); + +const appTarget = document.getElementById('app'); +ReactDOM.render(, appTarget);