diff --git a/.firebase/hosting.YnVpbGQ.cache b/.firebase/hosting.YnVpbGQ.cache index 374c1ab..544d2e3 100644 --- a/.firebase/hosting.YnVpbGQ.cache +++ b/.firebase/hosting.YnVpbGQ.cache @@ -1,17 +1,17 @@ -index.html,1556176018433,aa46c4f598d9552e8f0873ab21ed7cbe12b2682bd7592543781dac7adf2a8149 -asset-manifest.json,1556176018433,33c8239e078b54bf504f4d145a05c8432557dd135d24c7d317f474674f62fc4d -icon.png,1555998067072,40bb863e95a5ea2c01be6eba0beb6801183746f99d40eb393a6b4776a11d8636 +asset-manifest.json,1556898463490,f723129505a2111ca263ef5479bd10b1f0efc470c951b596f13dcf48d8649c7e +index.html,1556898463490,d2791f63e8652b46a6a92df716e200ef6670799c079df85344ad44c0732a0338 +precache-manifest.a096a268b779b4480b9a46727f75551b.js,1556898463490,3ee2e9cfd0185210ebe9c8fe3dd342b86254c667c2e9b51369438728c9f7e324 manifest.json,1555998067072,20792c911b58103a520ddb6b0f7bcc7ce3bceaa15480cbfd913f8b3620864341 -precache-manifest.050522f6256dba7d132ae9fbbf4c773d.js,1556176018433,712d6d7119a4a4c58403d73287050b58310cff27faffc90454283650d8872df0 -service-worker.js,1556176018434,8da8661471cda8bea1cbbad86144237fee16795631c831798567df3151f3955a +icon.png,1555998067072,40bb863e95a5ea2c01be6eba0beb6801183746f99d40eb393a6b4776a11d8636 +service-worker.js,1556898463490,de05f8df6933f0d1ff232f36ce73e94b0faafe0ac3ce9882fbbacc7fc608fc2d reactfavicon.ico,1555998067072,b72f7455f00e4e58792d2bca892abb068e2213838c0316d6b7a0d6d16acd1955 -static/css/main.1716334c.chunk.css.map,1556176018457,c50d028b9046b1664c1a246227bee082eaf7a5f46f8857aad8963283c298dacd -static/css/main.1716334c.chunk.css,1556176018458,dadd472a021e6f3502d58df7b11455a233a9a25f87ce536e693c18db20036e09 -splash.png,1555998067072,e06cb28b9a2a8275ce53eb5eead2851f684f537a6a30f0f0bf360b8813fa273f +static/css/main.1716334c.chunk.css.map,1556898463519,c50d028b9046b1664c1a246227bee082eaf7a5f46f8857aad8963283c298dacd +static/css/main.1716334c.chunk.css,1556898463519,dadd472a021e6f3502d58df7b11455a233a9a25f87ce536e693c18db20036e09 favicon.ico,1555998067071,229055d54fe1f70f3d835e9d723ea2fef78f2af82ed7ce45efa2f4623c1c1131 -static/js/runtime~main.a8a9905a.js.map,1556176018457,c337bf8b58896da637a6e50ab8cfc779eb1ec42c55f8ec429030a03454a549db -static/js/runtime~main.a8a9905a.js,1556176018440,e1af5f94fdd13901b2e433d0d7607e27c01458151c35b1fe4b7feda2a32b7aa9 -static/js/main.6c2b0517.chunk.js,1556176018457,9cf8d9f154635af652e9ae2fc7e68a8757fa26df6a575f9a336cd4a391058438 -static/js/main.6c2b0517.chunk.js.map,1556176018458,966a4cb14716c05eadfc8a16b55ee0ea67330431927de0e2b75ab8ce1866de48 -static/js/2.7e4c3aa3.chunk.js,1556176018457,16b9d05993c4bc4b4561adaf175b3a7a20ab5afe1888cfec1fad729a22423030 -static/js/2.7e4c3aa3.chunk.js.map,1556176018458,071285cf9f31f233105eddb27e3e22b3873c1223229974a53c5fd0c4133bbec2 +static/js/runtime~main.a8a9905a.js,1556898463519,e1af5f94fdd13901b2e433d0d7607e27c01458151c35b1fe4b7feda2a32b7aa9 +static/js/runtime~main.a8a9905a.js.map,1556898463519,c337bf8b58896da637a6e50ab8cfc779eb1ec42c55f8ec429030a03454a549db +static/js/main.a10ab5ea.chunk.js,1556898463491,04608cac454dbaa153b80f00064f3cb33edc8aad4a2710d56a385fd8e86a3bc5 +splash.png,1555998067072,e06cb28b9a2a8275ce53eb5eead2851f684f537a6a30f0f0bf360b8813fa273f +static/js/main.a10ab5ea.chunk.js.map,1556898463521,777ecf9469d772313dec6ecc4b5d7de7425b13cf8529747c21e02254c9251081 +static/js/2.3f4eb03d.chunk.js,1556898463520,47a71ca572b94638afd405721c3ef6fb4aef5962dd0db71eb6ff9f284be1cd48 +static/js/2.3f4eb03d.chunk.js.map,1556898463521,79d34370558394348a525ac8b13043f85a4b8ba81ecc94a4d7ed54ebb1b33bcd diff --git a/src/App.js b/src/App.js index d234b0d..5c601ba 100644 --- a/src/App.js +++ b/src/App.js @@ -16,6 +16,8 @@ import Login from "./components/screens/Login" import Search from "./components/screens/Search" import Register from "./components/screens/Register" import Start from "./components/screens/Start" +import Terms from "./components/screens/Terms" +import Privacy from "./components/screens/Privacy" import PrivateRoute from "./components/PrivateRoute" import { OnlineContext } from "./components/context/online" @@ -117,9 +119,16 @@ class App extends Component { component={Search} exact /> - + + + diff --git a/src/components/screens/Privacy/Privacy.js b/src/components/screens/Privacy/Privacy.js new file mode 100644 index 0000000..5200423 --- /dev/null +++ b/src/components/screens/Privacy/Privacy.js @@ -0,0 +1,93 @@ +import React, { Component } from "react" +import { withRouter } from "react-router-dom" +import styled from "@emotion/styled" +import { compose } from "recompose" +import { format } from "date-fns" +import { withTheme } from "emotion-theming" + +import { Input, Button, P } from "../../elements" +import { SIZES } from "../../../styles/constants" +import { StyledLink as Link } from "../../elements" + +const Terms = ({}) => ( + <> +

Privacy Policy

+ Last update: April 30, 2019 +

+ Sol Journal supports the following browsers: Chrome (latest), Safari + (latest), Firefox (50+) +

+

Rights

+

+ You don't have to provide your real name when you register to an account, + but you need to use a valid/verifiable email address. +
+
+ You have the right to export your data at any time, in JSON format. +
+
+ Your data will not be intentionally shown to other users or shared with + third parties. +
+
+ Your personal data will not be shared with anyone without your consent. +
+
+ Data saved on the hosted version of Sol Journal is encrypted as it is + transmitted and stored. However, data is not salted or hashed when it is + stored on Google servers so database administrators (me) can view the data + as plaintext. I won't view or use the data of other users for any reason + but if you would like to have more ownership of your data you can setup + the code on your own. +
+
+ If the site ceases operation, you will receive an opportunity to export + all your data before the site dies. +
+
+ Any new features that affect privacy will be strictly opt-in. +

+

Responsibilites

+

+ You will not use the site to store illegal information or data under + United States law (or any law). +
+
+ You have to be at least 18+ to create an account and use the site. +
+
+ You must not abuse the site by knowingly posting malicious code that could + harm you or the other users. +
+
+ You may not make automated requests to the site. +
+
+ You may not abuse the registration system. +
+
+ You are responsible for keeping your account secure. +
+
I reserve the right to close accounts that abuse the system + (millions of entries or overloading services with requests) or use it in + an unreasonable manner. +

+

Other

+

+ Other important legal stuff Though I want to provide a great service, + there are certain things about the service I cannot promise. For example, + the services and software are provided “as-is”, at your own risk, without + express or implied warranty or condition of any kind. I also disclaim any + warranties of merchantability, fitness for a particular purpose or + non-infringement. Sol Journal will have no responsibility for any harm to + your computer system, loss or corruption of data, or other harm that + results from your access to or use of the Services or Software. +
+
+ These Terms can change at any time, but I'll try to be reasonable. This is + a service I've always and hope to be able to run it for a long time. +

+ +) + +export default withTheme(Terms) diff --git a/src/components/screens/Privacy/index.js b/src/components/screens/Privacy/index.js new file mode 100644 index 0000000..30919f7 --- /dev/null +++ b/src/components/screens/Privacy/index.js @@ -0,0 +1,2 @@ +import Privacy from "./Privacy" +export default Privacy diff --git a/src/components/screens/Search/Search.js b/src/components/screens/Search/Search.js index fde011a..fd1f6e3 100644 --- a/src/components/screens/Search/Search.js +++ b/src/components/screens/Search/Search.js @@ -17,6 +17,7 @@ const SearchGrid = styled.div` display: grid; grid-template-columns: 1fr; grid-gap: 10px; + margin-bottom: 60px; ` const SearchLayout = styled.div` width: 100%; @@ -123,33 +124,36 @@ class Search extends Component { /> ) : entries.length > 0 ? ( - entries.map((entry, index) => ( - - -
+ entry.text.length > 1 && ( + - {entry.day}/{entry.month}/{entry.year} -
-
- {entry.text.substring(0, 128)} - {entry.text.length >= 128 && "..."} -
-
- - )) + +
+ {entry.day}/{entry.month}/{entry.year} +
+
+ {entry.text.substring(0, 128)} + {entry.text.length >= 128 && "..."} +
+
+ + ) + ) ) : (
props.theme.colors.secondary}; ` -const FooterLink = styled.a` +const FooterLink = styled(Link)` cursor: pointer; + color: ${props => props.theme.colors.secondary}; + text-decoration: none; margin: 10px; &:hover { color: ${props => props.theme.colors.tertiary}; @@ -133,8 +135,8 @@ class Start extends Component {
View on GitHub - Terms of Service - Privacy Policy + Terms of Service + Privacy Policy
© 2019
diff --git a/src/components/screens/Terms/Terms.js b/src/components/screens/Terms/Terms.js new file mode 100644 index 0000000..b102b8e --- /dev/null +++ b/src/components/screens/Terms/Terms.js @@ -0,0 +1,80 @@ +import React from "react" + +import { P } from "../../elements" + +const Terms = () => ( + <> +

Terms of Service

+ Last update: April 30, 2019 +

Scope of Service

+

+ Sol Journal supports the following browsers: Chrome (latest), Safari + (latest), Firefox (50+) +

+

Rights

+

+ You don't have to provide your real name when you register to an account, + but you need to use a valid/verifiable email address. +
+
+ You have the right to export your data at any time, in JSON format. +
+
+ Your data will not be intentionally shown to other users or shared with + third parties. +
+
+ Your personal data will not be shared with anyone without your consent. +
+
+ We reserve the right to discontinue any feature of the service at any + time. If the site ceases operation, you will receive an opportunity to + export all your data before the site dies. +
+
+ Any new features that affect privacy will be strictly opt-in. +

+

Responsibilites

+

+ You will not use the site to store illegal information or data under + United States law (or any law). +
+
+ You have to be at least 18+ to create an account and use the site. +
+
+ You must not abuse the site by knowingly posting malicious code that could + harm you or the other users. +
+
+ You may not make automated requests to the site. +
+
+ You may not abuse the registration system. +
+
+ You are responsible for keeping your account secure. +
+
I reserve the right to close accounts that abuse the system + (millions of entries or overloading services with requests) or use it in + an unreasonable manner. +

+

Other

+

+ Other important legal stuff Though I want to provide a great service, + there are certain things about the service I cannot promise. For example, + the services and software are provided “as-is”, at your own risk, without + express or implied warranty or condition of any kind. I also disclaim any + warranties of merchantability, fitness for a particular purpose or + non-infringement. Sol Journal will have no responsibility for any harm to + your computer system, loss or corruption of data, or other harm that + results from your access to or use of the Services or Software. +
+
+ These Terms can change at any time, but I'll try to be reasonable. This is + a service I've always and hope to be able to run it for a long time. +

+ +) + +export default Terms diff --git a/src/components/screens/Terms/index.js b/src/components/screens/Terms/index.js new file mode 100644 index 0000000..a05ba9a --- /dev/null +++ b/src/components/screens/Terms/index.js @@ -0,0 +1,2 @@ +import Terms from "./Terms" +export default Terms