Commit 8d68fb56 authored by Paul Colin Hennig's avatar Paul Colin Hennig
Browse files

add legal guidelines

parent 28a81952
Pipeline #634 failed with stages
in 1 minute and 37 seconds
image: node:latest
stages:
# - test
- build
- docker-build
# - test
- build
- docker-build
# - deploy
#test:
......@@ -13,27 +13,26 @@ stages:
# - CI=true yarn test --passWithNoTests
build:
stage: build
script:
- WEBORIGIN=dark-ages-dev.y.gy
- yarn
- sed -i "s|CI_COMMIT_SHORT_SHA|$CI_COMMIT_SHORT_SHA|g" ./public/index.html
- sed -i "s|http://localhost:3000|https://$WEBORIGIN|g" ./src/components/map/map-styles/default.json
- cat ./modified-modules/react-virtualized/detectElementResize.js > ./node_modules/react-virtualized/dist/es/vendor/detectElementResize.js
- yarn build
- yarn csp
artifacts:
expire_in: 1 hour
paths:
- build
- nginx
stage: build
script:
- WEBORIGIN=dark-ages-dev.y.gy
- yarn
- sed -i "s|CI_COMMIT_SHORT_SHA|$CI_COMMIT_SHORT_SHA|g" ./public/index.html
- sed -i "s|http://localhost:3000|https://$WEBORIGIN|g" ./src/components/map/map-styles/default.json
- cat ./modified-modules/react-virtualized/detectElementResize.js > ./node_modules/react-virtualized/dist/es/vendor/detectElementResize.js
- yarn build
artifacts:
expire_in: 1 hour
paths:
- build
- nginx
docker-build:
stage: docker-build
image: docker:latest
before_script:
- export CI_REGISTRY=hub.y.gy
- docker login -u "docker" -p "$CI_REGISTRY_PASSWORD" https://$CI_REGISTRY
script:
- docker build --pull -t "$CI_REGISTRY/$CI_PROJECT_NAME" .
- docker push "$CI_REGISTRY/$CI_PROJECT_NAME"
stage: docker-build
image: docker:latest
before_script:
- export CI_REGISTRY=hub.y.gy
- docker login -u "docker" -p "$CI_REGISTRY_PASSWORD" https://$CI_REGISTRY
script:
- docker build --pull -t "$CI_REGISTRY/$CI_PROJECT_NAME" .
- docker push "$CI_REGISTRY/$CI_PROJECT_NAME"
{
"name": "dark-ages",
"version": "0.1.0",
"private": true,
"proxy": "https://dark-ages-dev.y.gy/",
"dependencies": {
"@babel/core": "7.12.3",
"@babel/polyfill": "^7.12.1",
"@fortawesome/fontawesome": "^1.1.8",
"@fortawesome/fontawesome-svg-core": "^1.2.32",
"@fortawesome/free-regular-svg-icons": "^5.15.1",
"@fortawesome/free-solid-svg-icons": "^5.15.1",
"@fortawesome/react-fontawesome": "^0.1.12",
"@pmmmwh/react-refresh-webpack-plugin": "0.4.2",
"@svgr/webpack": "5.4.0",
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"@typescript-eslint/eslint-plugin": "^4.5.0",
"@typescript-eslint/parser": "^4.5.0",
"@webauthn/client": "^0.1.3",
"autosize": "^4.0.2",
"babel-eslint": "^10.1.0",
"babel-jest": "^26.6.0",
"babel-loader": "8.1.0",
"babel-plugin-named-asset-import": "^0.3.7",
"babel-preset-react-app": "^10.0.0",
"bfj": "^7.0.2",
"camelcase": "^6.1.0",
"case-sensitive-paths-webpack-plugin": "2.3.0",
"css-loader": "4.3.0",
"dexie": "^3.0.3",
"dotenv": "8.2.0",
"dotenv-expand": "5.1.0",
"eslint": "^7.11.0",
"eslint-config-react-app": "^6.0.0",
"eslint-plugin-flowtype": "^5.2.0",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-jest": "^24.1.0",
"eslint-plugin-jsx-a11y": "^6.3.1",
"eslint-plugin-react": "^7.21.5",
"eslint-plugin-react-hooks": "^4.2.0",
"eslint-plugin-testing-library": "^3.9.2",
"eslint-webpack-plugin": "^2.1.0",
"file-loader": "6.1.1",
"fs-extra": "^9.0.1",
"html-webpack-plugin": "4.5.0",
"identity-obj-proxy": "3.0.0",
"jest": "^26.6.3",
"jest-circus": "26.6.0",
"jest-resolve": "26.6.0",
"jest-watch-typeahead": "0.6.1",
"lodash": "^4.17.20",
"mapbox-gl": "1.13.0",
"mini-css-extract-plugin": "0.11.3",
"optimize-css-assets-webpack-plugin": "5.0.4",
"pnp-webpack-plugin": "1.6.4",
"postcss-flexbugs-fixes": "4.2.1",
"postcss-loader": "3.0.0",
"postcss-normalize": "8.0.1",
"postcss-preset-env": "6.7.0",
"postcss-safe-parser": "5.0.2",
"pouchdb-adapter-indexeddb": "^7.2.2",
"react": "^17.0.1",
"react-app-polyfill": "^2.0.0",
"react-dev-utils": "^11.0.0",
"react-dom": "^17.0.1",
"react-refresh": "^0.8.3",
"react-router-dom": "^5.2.0",
"react-virtualized": "^9.22.2",
"resolve": "1.18.1",
"resolve-url-loader": "^3.1.2",
"sass-loader": "8.0.2",
"semver": "7.3.2",
"source-map-explorer": "^2.5.1",
"style-loader": "1.3.0",
"terser-webpack-plugin": "4.2.3",
"ts-pnp": "1.2.0",
"url-loader": "4.1.1",
"web-vitals": "^0.2.4",
"webpack": "4.44.2",
"webpack-dev-server": "3.11.0",
"webpack-manifest-plugin": "2.2.0",
"webpack-subresource-integrity": "^1.5.2",
"workbox-webpack-plugin": "5.1.4"
},
"scripts": {
"start": "BROWSER=brave node scripts/start.js",
"build": "INLINE_RUNTIME_CHUNK=false GENERATE_SOURCEMAP=false node scripts/build.js",
"test": "node scripts/test.js",
"analyze": "source-map-explorer 'build/static/js/*.js'",
"csp": "node scripts/csp-integrity.js"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version"
]
},
"jest": {
"roots": [
"<rootDir>/src"
],
"collectCoverageFrom": [
"src/**/*.{js,jsx,ts,tsx}",
"!src/**/*.d.ts"
],
"setupFiles": [
"react-app-polyfill/jsdom"
],
"setupFilesAfterEnv": [
"<rootDir>/src/setupTests.js"
],
"testMatch": [
"<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
"<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"
],
"testEnvironment": "jsdom",
"testRunner": "/home/paul/Documents/dark-ages/node_modules/jest-circus/runner.js",
"transform": {
"^.+\\.(js|jsx|mjs|cjs|ts|tsx)$": "<rootDir>/node_modules/babel-jest",
"^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
"^(?!.*\\.(js|jsx|mjs|cjs|ts|tsx|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
"name": "dark-ages",
"version": "0.1.0",
"private": true,
"proxy": "https://dark-ages-dev.y.gy/",
"dependencies": {
"@babel/core": "7.12.3",
"@babel/polyfill": "^7.12.1",
"@fortawesome/fontawesome": "^1.1.8",
"@fortawesome/fontawesome-svg-core": "^1.2.32",
"@fortawesome/free-regular-svg-icons": "^5.15.1",
"@fortawesome/free-solid-svg-icons": "^5.15.1",
"@fortawesome/react-fontawesome": "^0.1.12",
"@pmmmwh/react-refresh-webpack-plugin": "0.4.2",
"@svgr/webpack": "5.4.0",
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"@typescript-eslint/eslint-plugin": "^4.5.0",
"@typescript-eslint/parser": "^4.5.0",
"@webauthn/client": "^0.1.3",
"autosize": "^4.0.2",
"babel-eslint": "^10.1.0",
"babel-jest": "^26.6.0",
"babel-loader": "8.1.0",
"babel-plugin-named-asset-import": "^0.3.7",
"babel-preset-react-app": "^10.0.0",
"bfj": "^7.0.2",
"camelcase": "^6.1.0",
"case-sensitive-paths-webpack-plugin": "2.3.0",
"css-loader": "4.3.0",
"dexie": "^3.0.3",
"dotenv": "8.2.0",
"dotenv-expand": "5.1.0",
"eslint": "^7.11.0",
"eslint-config-react-app": "^6.0.0",
"eslint-plugin-flowtype": "^5.2.0",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-jest": "^24.1.0",
"eslint-plugin-jsx-a11y": "^6.3.1",
"eslint-plugin-react": "^7.21.5",
"eslint-plugin-react-hooks": "^4.2.0",
"eslint-plugin-testing-library": "^3.9.2",
"eslint-webpack-plugin": "^2.1.0",
"file-loader": "6.1.1",
"fs-extra": "^9.0.1",
"html-webpack-plugin": "4.5.0",
"identity-obj-proxy": "3.0.0",
"jest": "^26.6.3",
"jest-circus": "26.6.0",
"jest-resolve": "26.6.0",
"jest-watch-typeahead": "0.6.1",
"lodash": "^4.17.20",
"mapbox-gl": "1.13.0",
"mini-css-extract-plugin": "0.11.3",
"optimize-css-assets-webpack-plugin": "5.0.4",
"pnp-webpack-plugin": "1.6.4",
"postcss-flexbugs-fixes": "4.2.1",
"postcss-loader": "3.0.0",
"postcss-normalize": "8.0.1",
"postcss-preset-env": "6.7.0",
"postcss-safe-parser": "5.0.2",
"pouchdb-adapter-indexeddb": "^7.2.2",
"react": "^17.0.1",
"react-app-polyfill": "^2.0.0",
"react-dev-utils": "^11.0.0",
"react-dom": "^17.0.1",
"react-refresh": "^0.8.3",
"react-router-dom": "^5.2.0",
"react-virtualized": "^9.22.2",
"resolve": "1.18.1",
"resolve-url-loader": "^3.1.2",
"sass-loader": "8.0.2",
"semver": "7.3.2",
"source-map-explorer": "^2.5.1",
"style-loader": "1.3.0",
"terser-webpack-plugin": "4.2.3",
"ts-pnp": "1.2.0",
"url-loader": "4.1.1",
"web-vitals": "^0.2.4",
"webpack": "4.44.2",
"webpack-dev-server": "3.11.0",
"webpack-manifest-plugin": "2.2.0",
"webpack-subresource-integrity": "^1.5.2",
"workbox-webpack-plugin": "5.1.4"
},
"transformIgnorePatterns": [
"[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs|cjs|ts|tsx)$",
"^.+\\.module\\.(css|sass|scss)$"
],
"modulePaths": [],
"moduleNameMapper": {
"^react-native$": "react-native-web",
"^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy"
"scripts": {
"start": "BROWSER=brave node scripts/start.js",
"build": "INLINE_RUNTIME_CHUNK=false GENERATE_SOURCEMAP=true node scripts/build.js",
"test": "node scripts/test.js",
"analyze": "source-map-explorer 'build/static/js/*.js' ",
"csp": "node scripts/csp-integrity.js"
},
"moduleFileExtensions": [
"web.js",
"js",
"web.ts",
"ts",
"web.tsx",
"tsx",
"json",
"web.jsx",
"jsx",
"node"
],
"watchPlugins": [
"jest-watch-typeahead/filename",
"jest-watch-typeahead/testname"
],
"resetMocks": true
},
"babel": {
"presets": [
"react-app"
]
},
"devDependencies": {
"babel-plugin-lodash": "^3.3.4",
"lodash-webpack-plugin": "^0.11.5",
"webpack-assets-manifest": "4.0.0"
}
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version"
]
},
"jest": {
"roots": [
"<rootDir>/src"
],
"collectCoverageFrom": [
"src/**/*.{js,jsx,ts,tsx}",
"!src/**/*.d.ts"
],
"setupFiles": [
"react-app-polyfill/jsdom"
],
"setupFilesAfterEnv": [
"<rootDir>/src/setupTests.js"
],
"testMatch": [
"<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
"<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"
],
"testEnvironment": "jsdom",
"testRunner": "/home/paul/Documents/dark-ages/node_modules/jest-circus/runner.js",
"transform": {
"^.+\\.(js|jsx|mjs|cjs|ts|tsx)$": "<rootDir>/node_modules/babel-jest",
"^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
"^(?!.*\\.(js|jsx|mjs|cjs|ts|tsx|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
},
"transformIgnorePatterns": [
"[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs|cjs|ts|tsx)$",
"^.+\\.module\\.(css|sass|scss)$"
],
"modulePaths": [],
"moduleNameMapper": {
"^react-native$": "react-native-web",
"^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy"
},
"moduleFileExtensions": [
"web.js",
"js",
"web.ts",
"ts",
"web.tsx",
"tsx",
"json",
"web.jsx",
"jsx",
"node"
],
"watchPlugins": [
"jest-watch-typeahead/filename",
"jest-watch-typeahead/testname"
],
"resetMocks": true
},
"babel": {
"presets": [
"react-app"
]
},
"devDependencies": {
"babel-plugin-lodash": "^3.3.4",
"lodash-webpack-plugin": "^0.11.5",
"webpack-assets-manifest": "4.0.0"
}
}
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 800;
font-display: swap;
src: local("Open Sans"),
url("./fonts/opensans-extra-bold.woff2") format("woff2");
font-family: "Open Sans";
font-style: normal;
font-weight: 800;
font-display: swap;
src: local("Open Sans"), url("./fonts/opensans-extra-bold.woff2") format("woff2");
}
@font-face {
font-family: "Montserrat";
font-style: normal;
font-weight: 400;
font-display: swap;
src: local("Montserrat"),
url("./fonts/montserrat-regular.woff2") format("woff2");
font-family: "Montserrat";
font-style: normal;
font-weight: 400;
font-display: swap;
src: local("Montserrat"), url("./fonts/montserrat-regular.woff2") format("woff2");
}
* {
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
user-select: none;
outline: none;
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
user-select: none;
outline: none;
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
font-family: "Montserrat", sans-serif;
}
*::-webkit-scrollbar {
display: none;
display: none;
}
html,
body {
overflow: hidden;
overflow: hidden;
}
button {
background: none;
border: none;
color: var(--f1);
background: none;
border: none;
color: var(--f1);
}
html,
body,
#root,
.App {
background: var(--background);
font-family: "Montserrat", sans-serif;
padding: 0;
margin: 0;
color: var(--f1);
width: 100%;
height: 100%;
display: block;
background: var(--background);
font-family: "Montserrat", sans-serif;
padding: 0;
margin: 0;
color: var(--f1);
width: 100%;
height: 100%;
display: block;
}
.s {
user-select: text;
user-select: text;
}
h1,
h2,
h3 {
font-family: "Open Sans", sans-serif;
font-weight: 800;
font-family: "Open Sans", sans-serif;
font-weight: 800;
}
h2 {
margin-bottom: 5px;
margin-top: 3px;
margin-bottom: 5px;
margin-top: 3px;
}
#root {
overflow: auto;
overflow: auto;
}
a {
text-decoration: none;
color: var(--f1);
text-decoration: none;
color: var(--f1);
}
li {
list-style: none;
list-style: none;
}
label,
.caps {
all: unset;
text-transform: uppercase;
font-size: 12px;
text-align: left;
padding-bottom: 5px;
display: block;
}
.caps {
font-weight: bold;
font-family: "Open Sans";
font-size: 18px;
display: block;
}
input,
select,
textarea,
.Settings button {
all: unset;
background: var(--b2);
font-size: 24px;
padding: 5px;
width: 100%;
max-width: 600px;
box-sizing: border-box;
border-bottom: var(--m) 2px solid;
display: block;
}
......@@ -24,6 +24,8 @@ import Login from "./components/login/Login";
import TwoFa from "./components/twoFa/TwoFa";
import TwoFaLogin from "./components/login/twoFa/TwoFaLogin";
import EditLocation from "./components/locations/edit/EditLocation";
import Privacy from "./components/privacy/Privacy";
import CommunityGuidelines from "./components/community-guidelines/CommunityGuidelines";
export default class App extends Component {
state = {
db: null,
......@@ -265,6 +267,9 @@ export default class App extends Component {
<Route exact path="/">
<Redirect to="/events" />
</Route>
<Route exact path="/privacy" component={Privacy} />
<Route exact path="/community-guidelines" component={CommunityGuidelines} />
<Route exact path="/profile" component={Profile} />
<Route exact path="/login" component={Login} />
......
import React, { Component } from "react";
import "./CommunityGuidelines.css";
export default class CommunityGuidelines extends Component {
render() {
return (
<div className="CommunityGuidelines">
<h1>Community Guidelines</h1>
<h2>Discrimination and Sexual Harassment </h2>
<p>Discrimination and sexual harassment are no joke. Any form of them will be hit hard resulting in a permanent ban from the platform and legal prosecution.</p>
<h2>Advertising</h2>
<p>Advertising commercial products (outside of events and locations) is prohibited.</p>
<h2>Intellectual Properties</h2>
<p>
You keep all rights on your uploaded pictures and all other intellectual properties you publish. You give permission to the plattform to publicly display and modify (compressing
and resizing images) your content until told otherwise.
</p>
<p>The download of IP outside of the normal use of the app/website is prohibited.</p>
<p>You're not allowed to use, upload or publish any intellectual properties of others without their explicit consent.</p>