From 847513ebdd61d88d051c6f4a8070dac4e3b2d021 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Krzy=C5=BCanowski?= Date: Mon, 27 Feb 2023 16:13:56 +0100 Subject: [PATCH 01/20] Changed the way osp units can be searched Now parameter name is not locality-prefix, but locality. Provided string is searched at any place of OSP name or locality, not only at the beginning. --- app.js | 8 ++++---- skrytka_create_utils.sql | 9 ++++++--- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/app.js b/app.js index 0c52da1..c2eb199 100644 --- a/app.js +++ b/app.js @@ -84,13 +84,13 @@ app.get('/ping', (req, res) => { * e.g. https://skrytka.app/osp-units?prefix=Gda * Returns 3 matching results sorted by locality, name.*/ app.get('/osp-units', async (req, res) => { - const localityPrefix = req.query['locality-prefix']; + const locality = req.query['locality']; - if(!localityPrefix) { + if(!locality) { res.status(400); res.json({ queryErrors: { - 'locality-prefix': ['Nie podano parametru!'] + 'locality': ['Nie podano parametru!'] }, otherErrors: [] }); @@ -101,7 +101,7 @@ app.get('/osp-units', async (req, res) => { // Also are these database constraints reasonable? try { - const unitsList = await db.any('SELECT id AS "ID", name, locality FROM get_units_list($1)', [localityPrefix]); + const unitsList = await db.any('SELECT id AS "ID", name, locality FROM get_units_list($1)', [locality]); res.status(200); res.json(unitsList); } catch(error) { diff --git a/skrytka_create_utils.sql b/skrytka_create_utils.sql index 32c5856..2e8c9b1 100644 --- a/skrytka_create_utils.sql +++ b/skrytka_create_utils.sql @@ -1,12 +1,15 @@ DROP VIEW IF EXISTS units_list; CREATE VIEW units_list AS SELECT id, name, locality FROM osp_unit; - + DROP FUNCTION IF EXISTS get_units_list; CREATE FUNCTION get_units_list(prefix VARCHAR) RETURNS TABLE (id INTEGER, name VARCHAR, locality VARCHAR) AS $func$ - SELECT * FROM units_list WHERE locality LIKE prefix || '%' OR name LIKE prefix || '%' ORDER BY locality, name LIMIT 3; + SELECT * FROM units_list + WHERE LOWER(locality) LIKE LOWER('%' || prefix || '%') + OR LOWER(name) LIKE LOWER('%' || prefix || '%') + ORDER BY locality, name LIMIT 3; $func$ LANGUAGE SQL; @@ -62,4 +65,4 @@ LANGUAGE SQL; DROP VIEW IF EXISTS trucks_list; CREATE VIEW trucks_list AS - SELECT id, name, image_path FROM fire_truck; \ No newline at end of file + SELECT id, name, image_path FROM fire_truck; From 89e4492a632da607185e4a3fc1cbf371968cf162 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Krzy=C5=BCanowski?= Date: Mon, 27 Feb 2023 16:43:25 +0100 Subject: [PATCH 02/20] Now loading sensitive data from .env file --- .env | 8 ++++++++ app.js | 9 +++++---- package-lock.json | 9 +++++++++ package.json | 3 ++- 4 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 .env diff --git a/.env b/.env new file mode 100644 index 0000000..3c742af --- /dev/null +++ b/.env @@ -0,0 +1,8 @@ +# These variables should be set before running app (for PostgreSQL database) +# otherwise app will fail connecting to the database. + +# DB_USER=xyz +# DB_PASS=1234 +DB_HOST=localhost +DB_PORT=5432 +DB_NAME=skrytka diff --git a/app.js b/app.js index c2eb199..7408cf0 100644 --- a/app.js +++ b/app.js @@ -5,11 +5,10 @@ const responseTime = require('response-time'); const types = require('pg').types; const validator = require('validator'); +require('dotenv').config(); + const app = express(); - -// TODO: Replace with some environmental variables which store real password / host / database name -const db = pgp('postgres://postgres:99postgres11@localhost:5432/skrytka'); - +const db = pgp(`postgres://${process.env.DB_USER}:${process.env.DB_PASS}@${process.env.DB_HOST}:${process.env.DB_PORT}/${process.env.DB_NAME}`); const port = 3001; class Point { @@ -59,6 +58,8 @@ app.use(session({ } })); +console.log(process.env.DB_NAME); + let latencies = [0]; const MAX_LATENCIES = 25; diff --git a/package-lock.json b/package-lock.json index 596ade8..d368fd8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "license": "ISC", "dependencies": { "connect-pg-simple": "^8.0.0", + "dotenv": "^16.0.3", "express": "^4.18.2", "express-session": "^1.17.3", "pg": "^8.9.0", @@ -178,6 +179,14 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "engines": { + "node": ">=12" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", diff --git a/package.json b/package.json index 6474fd7..2a3b7f8 100644 --- a/package.json +++ b/package.json @@ -1,4 +1,4 @@ -{ +{ "name": "skrytka", "version": "0.0.1", "description": "Potężna aplikacja Skrytka.App!", @@ -10,6 +10,7 @@ "license": "ISC", "dependencies": { "connect-pg-simple": "^8.0.0", + "dotenv": "^16.0.3", "express": "^4.18.2", "express-session": "^1.17.3", "pg": "^8.9.0", From d92c4eb039a20479650fa71bbd7531d28ff02157 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Krzy=C5=BCanowski?= Date: Mon, 27 Feb 2023 16:45:26 +0100 Subject: [PATCH 03/20] Removed .env from tracked files --- .env | 8 -------- .gitignore | 1 + 2 files changed, 1 insertion(+), 8 deletions(-) delete mode 100644 .env diff --git a/.env b/.env deleted file mode 100644 index 3c742af..0000000 --- a/.env +++ /dev/null @@ -1,8 +0,0 @@ -# These variables should be set before running app (for PostgreSQL database) -# otherwise app will fail connecting to the database. - -# DB_USER=xyz -# DB_PASS=1234 -DB_HOST=localhost -DB_PORT=5432 -DB_NAME=skrytka diff --git a/.gitignore b/.gitignore index c2658d7..713d500 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ node_modules/ +.env From d3cb42001802abc042afe6cee17339d8e00f6e47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Krzy=C5=BCanowski?= Date: Mon, 27 Feb 2023 16:55:58 +0100 Subject: [PATCH 04/20] Added example of how .env should look like --- .env.example | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .env.example diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..3c742af --- /dev/null +++ b/.env.example @@ -0,0 +1,8 @@ +# These variables should be set before running app (for PostgreSQL database) +# otherwise app will fail connecting to the database. + +# DB_USER=xyz +# DB_PASS=1234 +DB_HOST=localhost +DB_PORT=5432 +DB_NAME=skrytka From 16825071b3625b4d66539c0d8bcd3cd13256dbaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Krzy=C5=BCanowski?= Date: Mon, 27 Feb 2023 16:56:13 +0100 Subject: [PATCH 05/20] Added README.md --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..d282f66 --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +# skrytka.app +To start this application you need to: +1. Configure database + - Install PostgreSQL DBMS + - Setup some database and user with permissions to it + - Create .env file in the main directory and fill it in with fields DB_USER, DB_PASS, DB_HOST, DB_PORT and DB_NAME. In case of confusion you may check exemplary .env file saved as .env.example in the root directory of this repository. +2. Run both SQL scripts, which are located in the main directory. For app to be usable it is also recommended to insert some data to the database. +3. Run `npm start` in the main directory +4. Run `npm start` in the client/ directory +5. App will run on localhost:3000 From e9ad514166ec77193741eaa852cf6f86c43c8a86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Krzy=C5=BCanowski?= Date: Tue, 28 Feb 2023 19:18:48 +0100 Subject: [PATCH 06/20] Changed the way app is run Now Express serves React client/build directory as static files. All unmatched requests are answered with index.html file. --- README.md | 7 ++++--- app.js | 12 +++++++++++- client/package.json | 2 +- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index d282f66..17aa6b8 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ To start this application you need to: - Setup some database and user with permissions to it - Create .env file in the main directory and fill it in with fields DB_USER, DB_PASS, DB_HOST, DB_PORT and DB_NAME. In case of confusion you may check exemplary .env file saved as .env.example in the root directory of this repository. 2. Run both SQL scripts, which are located in the main directory. For app to be usable it is also recommended to insert some data to the database. -3. Run `npm start` in the main directory -4. Run `npm start` in the client/ directory -5. App will run on localhost:3000 +3. Run `npm build` in the client directory. +4. Run `npm start` in the main directory +5. App will run on localhost:5000 +Note: pm2 or/and nginx may be used to run this app for production diff --git a/app.js b/app.js index 7408cf0..27aab22 100644 --- a/app.js +++ b/app.js @@ -4,12 +4,13 @@ const session = require('express-session'); const responseTime = require('response-time'); const types = require('pg').types; const validator = require('validator'); +const path = require('path'); require('dotenv').config(); const app = express(); const db = pgp(`postgres://${process.env.DB_USER}:${process.env.DB_PASS}@${process.env.DB_HOST}:${process.env.DB_PORT}/${process.env.DB_NAME}`); -const port = 3001; +const port = 5000; class Point { x; @@ -43,6 +44,9 @@ types.setTypeParser(603, function(rectangleStr) { return new Rectangle(lowerBottomPoint, size); }); +// Frontend hosting: +app.use(express.static(path.join(__dirname, 'client/build'))); + app.use(session({ store: new (require('connect-pg-simple')(session))({ pgPromise: db, @@ -593,6 +597,12 @@ app.get('/simulate-logout', (req, res) => { res.send(`Logged out!`); }); +// This should remain at the end of all routes +// It will direct every not matched route to index.html file +app.get('/*', function (req, res) { + res.sendFile(path.join(__dirname, 'client/build', 'index.html')); +}); + app.listen(port, () => { console.log(`Skrytka.app słucha na porcie ${port}...`); }); diff --git a/client/package.json b/client/package.json index a595d41..e0fc6f0 100644 --- a/client/package.json +++ b/client/package.json @@ -25,7 +25,7 @@ "test": "react-scripts test", "eject": "react-scripts eject" }, - "proxy": "http://localhost:3001", + "proxy": "http://localhost:5000", "browserslist": { "production": [ ">0.2%", From f504d2d7db9b8b83dd20af9dc4836493b079389a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Krzy=C5=BCanowski?= Date: Tue, 28 Feb 2023 19:54:33 +0100 Subject: [PATCH 07/20] Created media directory and hosting it as static --- app.js | 5 ++++- media/images/skrytka.png | Bin 0 -> 165815 bytes 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 media/images/skrytka.png diff --git a/app.js b/app.js index 27aab22..f106a4b 100644 --- a/app.js +++ b/app.js @@ -44,9 +44,12 @@ types.setTypeParser(603, function(rectangleStr) { return new Rectangle(lowerBottomPoint, size); }); -// Frontend hosting: +// Hosting frontend: app.use(express.static(path.join(__dirname, 'client/build'))); +// Hosting images (trucks etc): +app.use(express.static(path.join(__dirname, 'media'))); + app.use(session({ store: new (require('connect-pg-simple')(session))({ pgPromise: db, diff --git a/media/images/skrytka.png b/media/images/skrytka.png new file mode 100644 index 0000000000000000000000000000000000000000..d786fb5671ea1dfd1110929fed61142819a916a8 GIT binary patch literal 165815 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

Z$gQEJ7W!q$hOijLa37xN@ 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%0D}{ePt=;x|C$s1? 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

l{4`J|Q9V*?Fra)LKGuyj+? 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 z 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 S-c3XE&&jKvNjYu&$NvYMv6is_ literal 0 HcmV?d00001 From 7bba0ac40496cdfbbfc1655656d71b39f4ec5060 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Krzy=C5=BCanowski?= Date: Tue, 28 Feb 2023 20:11:59 +0100 Subject: [PATCH 08/20] Updated README instructions --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 17aa6b8..f31598d 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,9 @@ To start this application you need to: - Setup some database and user with permissions to it - Create .env file in the main directory and fill it in with fields DB_USER, DB_PASS, DB_HOST, DB_PORT and DB_NAME. In case of confusion you may check exemplary .env file saved as .env.example in the root directory of this repository. 2. Run both SQL scripts, which are located in the main directory. For app to be usable it is also recommended to insert some data to the database. -3. Run `npm build` in the client directory. -4. Run `npm start` in the main directory -5. App will run on localhost:5000 +3. Run `npm install` in the main directory. +4. Run `npm install` in the client directory. +5. Run `npm build` in the client directory. +6. Run `npm start` in the main directory +7. App will run on localhost:5000 Note: pm2 or/and nginx may be used to run this app for production From e3b918550de6cbc5b2a19e2cd2ce6fb833bd5362 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Krzy=C5=BCanowski?= Date: Tue, 28 Feb 2023 23:55:05 +0100 Subject: [PATCH 09/20] Added missing table to create SQL script --- app.js | 1 + skrytka_create_db.sql | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/app.js b/app.js index f106a4b..b1f17ad 100644 --- a/app.js +++ b/app.js @@ -10,6 +10,7 @@ require('dotenv').config(); const app = express(); const db = pgp(`postgres://${process.env.DB_USER}:${process.env.DB_PASS}@${process.env.DB_HOST}:${process.env.DB_PORT}/${process.env.DB_NAME}`); + const port = 5000; class Point { diff --git a/skrytka_create_db.sql b/skrytka_create_db.sql index eef6c14..a02abd9 100644 --- a/skrytka_create_db.sql +++ b/skrytka_create_db.sql @@ -87,3 +87,15 @@ CREATE TABLE event ( account_nickname VARCHAR(32) REFERENCES account ON DELETE SET NULL ON UPDATE CASCADE, osp_unit_id INTEGER REFERENCES osp_unit ON DELETE CASCADE ON UPDATE CASCADE ); + +DROP TABLE IF EXISTS user_session CASCADE; +CREATE TABLE user_session ( + "sid" varchar NOT NULL COLLATE "default", + "sess" json NOT NULL, + "expire" timestamp(6) NOT NULL +) +WITH (OIDS=FALSE); + +ALTER TABLE user_session ADD CONSTRAINT "session_pkey" PRIMARY KEY ("sid") NOT DEFERRABLE INITIALLY IMMEDIATE; + +CREATE INDEX "IDX_session_expire" ON user_session ("expire"); From e8cc4e29d7d7b06e60de861290301fc21fe1c86c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Krzy=C5=BCanowski?= Date: Wed, 1 Mar 2023 18:06:47 +0100 Subject: [PATCH 10/20] Dropping tables at the beginning of script Dropping done before each CREATE TABLE may have resulted in dropping newly created tables --- skrytka_create_db.sql | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/skrytka_create_db.sql b/skrytka_create_db.sql index a02abd9..595a971 100644 --- a/skrytka_create_db.sql +++ b/skrytka_create_db.sql @@ -1,11 +1,21 @@ DROP TABLE IF EXISTS osp_unit CASCADE; +DROP TABLE IF EXISTS fire_truck CASCADE; +DROP TABLE IF EXISTS truck_side CASCADE; +DROP TABLE IF EXISTS cache CASCADE; +DROP TABLE IF EXISTS account CASCADE; +DROP TABLE IF EXISTS equipment CASCADE; +DROP TABLE IF EXISTS score CASCADE; +DROP TABLE IF EXISTS permission CASCADE; +DROP TABLE IF EXISTS accounts_permissions CASCADE; +DROP TABLE IF EXISTS event CASCADE; +DROP TABLE IF EXISTS user_session; + CREATE TABLE osp_unit ( id SERIAL PRIMARY KEY, name VARCHAR(128) NOT NULL, locality VARCHAR(64) NOT NULL CHECK(locality SIMILAR TO '[A-ZĄĆĘŁŃÓŚŹŻ][A-zĄĆĘŁŃÓŚŹŻząćęłńóśźż. ]+') ); -DROP TABLE IF EXISTS fire_truck CASCADE; CREATE TABLE fire_truck ( id SERIAL PRIMARY KEY, name VARCHAR(64) NOT NULL, @@ -13,7 +23,6 @@ CREATE TABLE fire_truck ( osp_unit_id INTEGER NOT NULL REFERENCES osp_unit ON DELETE CASCADE ON UPDATE CASCADE ); -DROP TABLE IF EXISTS truck_side CASCADE; CREATE TABLE truck_side ( id SERIAL PRIMARY KEY, image_path VARCHAR(128) NOT NULL CHECK(image_path ~ '^([0-9a-z_]+/?)*[0-9a-z_]+\.((png)|(jpg)|(jpeg)|(webp))$'), @@ -21,7 +30,6 @@ CREATE TABLE truck_side ( fire_truck_id INTEGER REFERENCES fire_truck ON DELETE CASCADE ON UPDATE CASCADE ); -DROP TABLE IF EXISTS cache CASCADE; CREATE TABLE cache ( id SERIAL PRIMARY KEY, name VARCHAR(64), @@ -34,7 +42,6 @@ CREATE TABLE cache ( truck_side INTEGER NOT NULL REFERENCES truck_side ON DELETE CASCADE ON UPDATE CASCADE ); -DROP TABLE IF EXISTS account CASCADE; CREATE TABLE account ( nickname VARCHAR(32) CHECK(nickname SIMILAR TO '[0-9A-z_żółćęśąźńŻÓŁĆĘŚĄŹŃ]{3,}') PRIMARY KEY, name VARCHAR(32) CHECK(name SIMILAR TO '[A-ZŻÓŁĆĘŚĄŹŃ][a-zżółćęśąźń]+'), @@ -43,14 +50,12 @@ CREATE TABLE account ( default_osp INTEGER REFERENCES osp_unit ON DELETE SET NULL ON UPDATE CASCADE ); -DROP TABLE IF EXISTS equipment CASCADE; CREATE TABLE equipment ( id SERIAL PRIMARY KEY, name VARCHAR(64) NOT NULL CHECK(LENGTH(name) > 0), cache_id INTEGER NOT NULL REFERENCES cache ON DELETE CASCADE ON UPDATE CASCADE ); -DROP TABLE IF EXISTS score; CREATE TABLE score ( id SERIAL PRIMARY KEY, account_nickname VARCHAR(32) REFERENCES account ON DELETE CASCADE ON UPDATE CASCADE, @@ -60,7 +65,6 @@ CREATE TABLE score ( seconds INTEGER NOT NULL CHECK(seconds > 0) ); -DROP TABLE IF EXISTS permission CASCADE; CREATE TABLE permission ( code VARCHAR(64) CHECK(code ~ '^[0-9A-Z_]{3,}$') PRIMARY KEY, name VARCHAR(64) CHECK(LENGTH(name) >= 3), @@ -68,7 +72,6 @@ CREATE TABLE permission ( ); -- PYTANIE: Czy aktualizować permission code przy zmianie czy na NULL? -DROP TABLE IF EXISTS accounts_permissions CASCADE; CREATE TABLE accounts_permissions ( account_nickname VARCHAR(32) REFERENCES account ON DELETE CASCADE ON UPDATE CASCADE, permission_code VARCHAR(64) REFERENCES permission ON DELETE CASCADE ON UPDATE CASCADE, @@ -76,7 +79,6 @@ CREATE TABLE accounts_permissions ( CONSTRAINT pk_users_permissions PRIMARY KEY (account_nickname, permission_code, osp_unit_id) ); -DROP TABLE IF EXISTS event CASCADE; CREATE TABLE event ( id SERIAL PRIMARY KEY, name VARCHAR(64) NOT NULL CHECK(LENGTH(name) >= 3), @@ -88,7 +90,6 @@ CREATE TABLE event ( osp_unit_id INTEGER REFERENCES osp_unit ON DELETE CASCADE ON UPDATE CASCADE ); -DROP TABLE IF EXISTS user_session CASCADE; CREATE TABLE user_session ( "sid" varchar NOT NULL COLLATE "default", "sess" json NOT NULL, From cb46fbd289ef0a5b500745d058b33d182eacae95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Krzy=C5=BCanowski?= Date: Wed, 1 Mar 2023 18:30:34 +0100 Subject: [PATCH 11/20] Set encoding before doing queries --- skrytka_create_db.sql | 2 ++ 1 file changed, 2 insertions(+) diff --git a/skrytka_create_db.sql b/skrytka_create_db.sql index 595a971..a6aa9e0 100644 --- a/skrytka_create_db.sql +++ b/skrytka_create_db.sql @@ -1,3 +1,5 @@ +SET client_encoding TO 'UTF8'; + DROP TABLE IF EXISTS osp_unit CASCADE; DROP TABLE IF EXISTS fire_truck CASCADE; DROP TABLE IF EXISTS truck_side CASCADE; From 0dafde41c01a268131fef0679b540753cb5f6954 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20I=C5=82owski?= Date: Wed, 1 Mar 2023 20:09:47 +0100 Subject: [PATCH 12/20] Add a fallback font --- client/src/style/_Variables.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/src/style/_Variables.scss b/client/src/style/_Variables.scss index da3025a..ed9da38 100644 --- a/client/src/style/_Variables.scss +++ b/client/src/style/_Variables.scss @@ -1,3 +1,3 @@ -$priamry-font-family: "Segoe UI"; +$priamry-font-family: Segoe UI, sans-serif; $primary-color-button: rgba(186,25,26,255); -$width-footer-icon: 300px; \ No newline at end of file +$width-footer-icon: 300px; From ca57cebc74ff721cd58d80092d1c1649f757a4f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20I=C5=82owski?= Date: Wed, 1 Mar 2023 20:47:04 +0100 Subject: [PATCH 13/20] Change license information in the first footer --- client/src/App.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/App.js b/client/src/App.js index c4372ea..f40bf66 100644 --- a/client/src/App.js +++ b/client/src/App.js @@ -24,7 +24,7 @@ function App() { - +

Skrytka 2023

Affero General Public License v3.0
); From 3f8f83c3056b4f0131437d194841d48a849d346a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20I=C5=82owski?= Date: Wed, 1 Mar 2023 20:48:22 +0100 Subject: [PATCH 14/20] Remove trailing whitespace --- client/src/components/BottomFPage.jsx | 3 +-- client/src/components/FooterQuiz.jsx | 2 +- client/src/components/Truck.jsx | 2 +- client/src/style/App.scss | 3 --- client/src/style/_BottomFPage.scss | 1 - 5 files changed, 3 insertions(+), 8 deletions(-) diff --git a/client/src/components/BottomFPage.jsx b/client/src/components/BottomFPage.jsx index 6648033..4d27078 100644 --- a/client/src/components/BottomFPage.jsx +++ b/client/src/components/BottomFPage.jsx @@ -1,4 +1,3 @@ - import React, {useContext} from 'react'; import { AppContext } from './AppContext'; @@ -55,4 +54,4 @@ const BottomFPage = () => { ) } -export default BottomFPage; \ No newline at end of file +export default BottomFPage; diff --git a/client/src/components/FooterQuiz.jsx b/client/src/components/FooterQuiz.jsx index b059b23..a7838cc 100644 --- a/client/src/components/FooterQuiz.jsx +++ b/client/src/components/FooterQuiz.jsx @@ -46,4 +46,4 @@ const FooterQuiz = () => ( ) -export default FooterQuiz; \ No newline at end of file +export default FooterQuiz; diff --git a/client/src/components/Truck.jsx b/client/src/components/Truck.jsx index b4c2411..cc4b657 100644 --- a/client/src/components/Truck.jsx +++ b/client/src/components/Truck.jsx @@ -132,4 +132,4 @@ const Truck = () => { ) } -export default Truck; \ No newline at end of file +export default Truck; diff --git a/client/src/style/App.scss b/client/src/style/App.scss index b199b77..220f2e6 100644 --- a/client/src/style/App.scss +++ b/client/src/style/App.scss @@ -8,18 +8,15 @@ margin: 0; padding: 0; box-sizing: border-box; - } ::-webkit-scrollbar { width: 1.5em; - } ::-webkit-scrollbar-track { background-color: rgb(17,17,17); - } ::-webkit-scrollbar-thumb { diff --git a/client/src/style/_BottomFPage.scss b/client/src/style/_BottomFPage.scss index 32790f6..5d0cddc 100644 --- a/client/src/style/_BottomFPage.scss +++ b/client/src/style/_BottomFPage.scss @@ -7,7 +7,6 @@ font-size: 15px; position: absolute; top: 86%; - } .a-write-to-us { From 1c7cafe976c8f48c0fc95991f88a8af4dfa4263a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20I=C5=82owski?= Date: Wed, 1 Mar 2023 20:49:08 +0100 Subject: [PATCH 15/20] Replace blank links with a real 'mailto:' link in the firstFooter --- client/src/components/BottomFPage.jsx | 4 +--- client/src/components/Truck.jsx | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/client/src/components/BottomFPage.jsx b/client/src/components/BottomFPage.jsx index 4d27078..973f46b 100644 --- a/client/src/components/BottomFPage.jsx +++ b/client/src/components/BottomFPage.jsx @@ -44,9 +44,7 @@ const BottomFPage = () => { -
Nie widzisz swojej jednostki?
  • Napisz do nas!
  • -
    @Wszelkie prawa zastrzeżone 2023 Skrytka.app

    Skrytka 2023

    - +
    Nie widzisz swojej jednostki?
  • Napisz do nas!
  • diff --git a/client/src/components/Truck.jsx b/client/src/components/Truck.jsx index cc4b657..8ff43b7 100644 --- a/client/src/components/Truck.jsx +++ b/client/src/components/Truck.jsx @@ -120,7 +120,7 @@ const Truck = () => {
    - Zgłoś błąd lub pomysł ulepszenia aplikacji! + Zgłoś błąd lub pomysł ulepszenia aplikacji!
    General Public License

    Skrytka 2023

    From 1d502e235cf82dabda424e193418b4455248a24c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20I=C5=82owski?= Date: Wed, 1 Mar 2023 20:57:22 +0100 Subject: [PATCH 16/20] Update FooterSecondSite with new license and mail info --- client/src/components/FooterQuiz.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/src/components/FooterQuiz.jsx b/client/src/components/FooterQuiz.jsx index a7838cc..82e6aed 100644 --- a/client/src/components/FooterQuiz.jsx +++ b/client/src/components/FooterQuiz.jsx @@ -1,14 +1,14 @@ const FooterQuiz = () => (
    - Zgłoś błąd lub pomysł ulepszenia aplikacji! + Zgłoś błąd lub pomysł ulepszenia aplikacji! -