From 899086352df35848731047df6e0841b0bc1c08af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Wahlberg?= Date: Fri, 20 Nov 2020 16:18:48 +0100 Subject: [PATCH 01/15] Update app settings and parameters --- public/index.html | 28 +++++++--------------------- public/logo.png | Bin 0 -> 8300 bytes public/logo192.png | Bin 5347 -> 0 bytes public/logo512.png | Bin 9664 -> 0 bytes public/manifest.json | 25 ++++++++++--------------- 5 files changed, 17 insertions(+), 36 deletions(-) create mode 100644 public/logo.png delete mode 100644 public/logo192.png delete mode 100644 public/logo512.png diff --git a/public/index.html b/public/index.html index 2e82f81..b6ce43b 100644 --- a/public/index.html +++ b/public/index.html @@ -3,17 +3,13 @@ - - - - - + + + + + + + diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..534357fe11e5b3432d780c0082c23c27566aabd5 GIT binary patch literal 8300 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 literal 0 HcmV?d00001 diff --git a/public/logo192.png b/public/logo192.png deleted file mode 100644 index fc44b0a3796c0e0a64c3d858ca038bd4570465d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN diff --git a/public/manifest.json b/public/manifest.json index 080d6c7..e94ef15 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,25 +1,20 @@ { - "short_name": "React App", - "name": "Create React App Sample", + "short_name": "Västtrafik", + "name": "Störningar i kollektivtrafiken", "icons": [ { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" }, { - "src": "logo192.png", + "src": "logo.png", "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" + "sizes": "135x135" } ], "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" + "display": "fullscreen", + "theme_color": "#01aaeb", + "background_color": "#f0f8fa" } From cd467370b92ec7cb085bdbe70224b0225a9974c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Wahlberg?= Date: Fri, 20 Nov 2020 16:20:54 +0100 Subject: [PATCH 02/15] Add CSS color variables --- src/App.js | 1 + src/components/css/PageArea.css | 9 ++++++++- src/variables.css | 5 +++++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 src/variables.css diff --git a/src/App.js b/src/App.js index 4d2f271..75bc102 100644 --- a/src/App.js +++ b/src/App.js @@ -1,3 +1,4 @@ +import './variables.css'; import './App.css'; import React, { Component } from 'react'; import NavigationDrawer from './components/NavigationDrawer.js' diff --git a/src/components/css/PageArea.css b/src/components/css/PageArea.css index 9d54cb6..32504ee 100644 --- a/src/components/css/PageArea.css +++ b/src/components/css/PageArea.css @@ -1,4 +1,11 @@ -#pageArea { +main { width: 100vw; flex: 1 1 auto; + background: var(--colorBg); +} + +#topSection { + width: 100%; + height: 15vh; + background: linear-gradient(90deg, var(--colorVT1), var(--colorVT2)); } \ No newline at end of file diff --git a/src/variables.css b/src/variables.css new file mode 100644 index 0000000..20427b5 --- /dev/null +++ b/src/variables.css @@ -0,0 +1,5 @@ +:root { + --colorVT1: rgb(1, 170, 235); + --colorVT2: rgb(25, 212, 245); + --colorBg: rgb(240, 248, 250); +} \ No newline at end of file From f95d78721fa89cf71f671e4a4a5c6ff227eef421 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Wahlberg?= Date: Fri, 20 Nov 2020 16:22:37 +0100 Subject: [PATCH 03/15] Add Roboto Light font --- src/fonts/roboto-light.ttf | Bin 0 -> 162636 bytes src/index.css | 5 +++++ 2 files changed, 5 insertions(+) create mode 100644 src/fonts/roboto-light.ttf diff --git a/src/fonts/roboto-light.ttf b/src/fonts/roboto-light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d43e943312e0f2c653815dd791d93f94f0abd73f GIT binary patch literal 162636 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

v_-2rcF-PPXC&3E_Kh$ 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 XpLxoEqDV@O#}+R!3HI=xso?(riteo( literal 0 HcmV?d00001 diff --git a/src/index.css b/src/index.css index 1d0fe0a..d90fde9 100644 --- a/src/index.css +++ b/src/index.css @@ -3,6 +3,11 @@ src: url('fonts/roboto-regular.ttf') format('truetype'); /* Safari, Android, iOS */ } +@font-face { + font-family: 'Roboto Light'; + src: url('fonts/roboto-light.ttf') format('truetype'); /* Safari, Android, iOS */ +} + * { margin: 0; padding: 0; From 4bcd512374246b5ad258ee915e73b5ed39b6b422 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Wahlberg?= Date: Fri, 20 Nov 2020 16:24:36 +0100 Subject: [PATCH 04/15] Add basic VT UI design --- src/App.js | 4 +- src/components/BottomMenu.js | 12 ++++-- src/components/BottomMenuButton.js | 19 +++++++++ src/components/Header.js | 6 ++- src/components/PageArea.js | 4 +- src/components/css/BottomMenu.css | 22 ++++++++-- src/components/css/Header.css | 20 ++++++++- src/img/calendar.svg | 59 +++++++++++++++++++++++++++ src/img/clock.svg | 1 + src/img/menu.svg | 23 +++++++++++ src/img/redo.svg | 1 + src/img/tickets+.svg | 56 +++++++++++++++++++++++++ src/img/tickets.svg | 65 ++++++++++++++++++++++++++++++ src/img/tram.svg | 8 ++++ src/index.css | 5 +++ 15 files changed, 291 insertions(+), 14 deletions(-) create mode 100644 src/components/BottomMenuButton.js create mode 100644 src/img/calendar.svg create mode 100644 src/img/clock.svg create mode 100644 src/img/menu.svg create mode 100644 src/img/redo.svg create mode 100644 src/img/tickets+.svg create mode 100644 src/img/tickets.svg create mode 100644 src/img/tram.svg diff --git a/src/App.js b/src/App.js index 75bc102..756d5a6 100644 --- a/src/App.js +++ b/src/App.js @@ -1,6 +1,8 @@ import './variables.css'; import './App.css'; + import React, { Component } from 'react'; + import NavigationDrawer from './components/NavigationDrawer.js' import Header from './components/Header.js' import PageArea from './components/PageArea.js' @@ -17,7 +19,7 @@ class App extends Component { /> */} -

+
diff --git a/src/components/BottomMenu.js b/src/components/BottomMenu.js index aec7f52..0f98a17 100644 --- a/src/components/BottomMenu.js +++ b/src/components/BottomMenu.js @@ -1,13 +1,17 @@ -import './css/BottomMenu.css'; import React, { Component } from 'react'; +import './css/BottomMenu.css'; +import ticketsIcon from '../img/tickets.svg'; +import buyTicketsIcon from '../img/tickets+.svg'; +import travelIcon from '../img/tram.svg'; +import BottomMenuButton from './BottomMenuButton'; class BottomMenu extends Component { render() { return (
- - - + + +
); } diff --git a/src/components/BottomMenuButton.js b/src/components/BottomMenuButton.js new file mode 100644 index 0000000..04cf455 --- /dev/null +++ b/src/components/BottomMenuButton.js @@ -0,0 +1,19 @@ +import React, { Component } from 'react'; +import './css/BottomMenu.css'; + +class BottomMenuButton extends Component { + constructor(props) { + super(props); + } + + render(label, icon) { + return ( + + ); + } +} + +export default BottomMenuButton; \ No newline at end of file diff --git a/src/components/Header.js b/src/components/Header.js index ec3aae6..d27a838 100644 --- a/src/components/Header.js +++ b/src/components/Header.js @@ -1,11 +1,13 @@ -import './css/Header.css'; import React, { Component } from 'react'; +import './css/Header.css'; +import navIcon from '../img/menu.svg' class Header extends Component { render() { return (
- + +

{this.props.title}

); } diff --git a/src/components/PageArea.js b/src/components/PageArea.js index 6b25283..df7e58e 100644 --- a/src/components/PageArea.js +++ b/src/components/PageArea.js @@ -4,7 +4,9 @@ import React, { Component } from 'react'; class PageArea extends Component { render() { return ( -
+
+
+
); } } diff --git a/src/components/css/BottomMenu.css b/src/components/css/BottomMenu.css index e227caa..5aa7d54 100644 --- a/src/components/css/BottomMenu.css +++ b/src/components/css/BottomMenu.css @@ -1,18 +1,32 @@ #bottomMenu { width: 100%; - height: 8vh; - background: lightcoral; + height: 9vh; + min-height: 60px; + background: white; display: flex; justify-content: space-evenly; + border-top: 2px solid rgba(0, 0, 0, 0.05); } #bottomMenu button { background: none; border: none; font-size: 0.9em; - margin-bottom: 5px; flex-basis: calc(100%/3); display: flex; - align-items: flex-end; + flex-direction: column; + align-items: center; justify-content: space-evenly; +} + +#bottomMenu button:active { + background: rgba(0, 0, 0, 0.1); +} + +#bottomMenu button span { + color: black; +} + +#bottomMenu button img { + width: 25px; } \ No newline at end of file diff --git a/src/components/css/Header.css b/src/components/css/Header.css index 16482b5..0ffe297 100644 --- a/src/components/css/Header.css +++ b/src/components/css/Header.css @@ -1,5 +1,21 @@ header { width: 100vw; - height: 15vh; - background: burlywood; + display: flex; + flex-direction: row; + align-items: center; + padding: 15px; + position: fixed; + top: 0; +} + +#navBtn img { + height: 1.4em; +} + +#pageTitle { + font-size: 1.2em; + letter-spacing: 0.3px; + color: white; + font-family: 'Roboto Light', sans-serif; + padding: 0 0 0 25px; } \ No newline at end of file diff --git a/src/img/calendar.svg b/src/img/calendar.svg new file mode 100644 index 0000000..670873d --- /dev/null +++ b/src/img/calendar.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/img/clock.svg b/src/img/clock.svg new file mode 100644 index 0000000..5ee5644 --- /dev/null +++ b/src/img/clock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/img/menu.svg b/src/img/menu.svg new file mode 100644 index 0000000..416f1f9 --- /dev/null +++ b/src/img/menu.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/img/redo.svg b/src/img/redo.svg new file mode 100644 index 0000000..c68d924 --- /dev/null +++ b/src/img/redo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/img/tickets+.svg b/src/img/tickets+.svg new file mode 100644 index 0000000..fa9f687 --- /dev/null +++ b/src/img/tickets+.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/img/tickets.svg b/src/img/tickets.svg new file mode 100644 index 0000000..071a4c7 --- /dev/null +++ b/src/img/tickets.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/img/tram.svg b/src/img/tram.svg new file mode 100644 index 0000000..2d919e3 --- /dev/null +++ b/src/img/tram.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/index.css b/src/index.css index d90fde9..60de5e1 100644 --- a/src/index.css +++ b/src/index.css @@ -18,4 +18,9 @@ html, body, #root, #app { width: 100%; height: 100%; +} + +button { + background: none; + border: none; } \ No newline at end of file From 5f12f1ad5a493a76c34fadd405ff433fe0b5cbe0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Wahlberg?= Date: Fri, 20 Nov 2020 16:27:14 +0100 Subject: [PATCH 05/15] Add react-router-dom --- package-lock.json | 96 +++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 97 insertions(+) diff --git a/package-lock.json b/package-lock.json index 74b6a04..026a6f1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6969,6 +6969,19 @@ "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" }, + "history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -6979,6 +6992,14 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + }, "hoopy": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", @@ -9909,6 +9930,15 @@ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" }, + "mini-create-react-context": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz", + "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==", + "requires": { + "@babel/runtime": "^7.12.1", + "tiny-warning": "^1.0.3" + } + }, "mini-css-extract-plugin": { "version": "0.11.3", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.3.tgz", @@ -12327,6 +12357,52 @@ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz", "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==" }, + "react-router": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", + "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "mini-create-react-context": "^0.4.0", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "requires": { + "isarray": "0.0.1" + } + } + } + }, + "react-router-dom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", + "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.2.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + } + }, "react-scripts": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-4.0.0.tgz", @@ -12782,6 +12858,11 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, + "resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", @@ -14518,6 +14599,16 @@ "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" }, + "tiny-invariant": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", + "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" + }, + "tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -14976,6 +15067,11 @@ "spdx-expression-parse": "^3.0.0" } }, + "value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", diff --git a/package.json b/package.json index f7be157..006782f 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "@testing-library/user-event": "^12.2.2", "react": "^17.0.1", "react-dom": "^17.0.1", + "react-router-dom": "^5.2.0", "react-scripts": "4.0.0", "web-vitals": "^0.2.4" }, From ae8ef6fc575c687b5d18e1a534702badd798d7bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Wahlberg?= Date: Fri, 20 Nov 2020 17:51:59 +0100 Subject: [PATCH 06/15] Rename PageArea to MainArea --- src/components/{PageArea.js => MainArea.js} | 9 +++++---- src/components/css/{PageArea.css => MainArea.css} | 0 2 files changed, 5 insertions(+), 4 deletions(-) rename src/components/{PageArea.js => MainArea.js} (50%) rename src/components/css/{PageArea.css => MainArea.css} (100%) diff --git a/src/components/PageArea.js b/src/components/MainArea.js similarity index 50% rename from src/components/PageArea.js rename to src/components/MainArea.js index df7e58e..f5a3246 100644 --- a/src/components/PageArea.js +++ b/src/components/MainArea.js @@ -1,14 +1,15 @@ -import './css/PageArea.css'; import React, { Component } from 'react'; -class PageArea extends Component { +import './css/MainArea.css'; + +class MainArea extends Component { render() { return (
-
+
); } } -export default PageArea; \ No newline at end of file +export default MainArea; \ No newline at end of file diff --git a/src/components/css/PageArea.css b/src/components/css/MainArea.css similarity index 100% rename from src/components/css/PageArea.css rename to src/components/css/MainArea.css From a7e177905e818ac23027f3a7c1e66356a8b781b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Wahlberg?= Date: Fri, 20 Nov 2020 17:52:22 +0100 Subject: [PATCH 07/15] Add client-side routing --- src/App.js | 31 ++++++++++++++++-------------- src/components/BottomMenu.js | 21 +++++++++++++++----- src/components/css/BottomMenu.css | 5 +++++ src/components/pages/Tickets.js | 17 ++++++++++++++++ src/components/pages/TicketsBuy.js | 17 ++++++++++++++++ src/components/pages/Travel.js | 17 ++++++++++++++++ 6 files changed, 89 insertions(+), 19 deletions(-) create mode 100644 src/components/pages/Tickets.js create mode 100644 src/components/pages/TicketsBuy.js create mode 100644 src/components/pages/Travel.js diff --git a/src/App.js b/src/App.js index 756d5a6..81cfc52 100644 --- a/src/App.js +++ b/src/App.js @@ -2,27 +2,30 @@ import './variables.css'; import './App.css'; import React, { Component } from 'react'; +import { BrowserRouter as Router, Route } from 'react-router-dom'; import NavigationDrawer from './components/NavigationDrawer.js' -import Header from './components/Header.js' -import PageArea from './components/PageArea.js' import BottomMenu from './components/BottomMenu.js' +import Tickets from './components/pages/Tickets.js'; +import TicketsBuy from './components/pages/TicketsBuy.js'; +import Travel from './components/pages/Travel.js'; + class App extends Component { render() { return ( -
- {/* -
+ +
+ + + + + + + + +
+
); } } diff --git a/src/components/BottomMenu.js b/src/components/BottomMenu.js index 0f98a17..afdf4f9 100644 --- a/src/components/BottomMenu.js +++ b/src/components/BottomMenu.js @@ -1,17 +1,28 @@ import React, { Component } from 'react'; +import { Link } from 'react-router-dom'; + +import BottomMenuButton from './BottomMenuButton'; + import './css/BottomMenu.css'; import ticketsIcon from '../img/tickets.svg'; -import buyTicketsIcon from '../img/tickets+.svg'; +import ticketsBuyIcon from '../img/tickets+.svg'; import travelIcon from '../img/tram.svg'; -import BottomMenuButton from './BottomMenuButton'; class BottomMenu extends Component { render() { return (
- - - + + + + + + + + + + +
); } diff --git a/src/components/css/BottomMenu.css b/src/components/css/BottomMenu.css index 5aa7d54..baee283 100644 --- a/src/components/css/BottomMenu.css +++ b/src/components/css/BottomMenu.css @@ -8,6 +8,11 @@ border-top: 2px solid rgba(0, 0, 0, 0.05); } +#bottomMenu a { + display: contents; + text-decoration: none; +} + #bottomMenu button { background: none; border: none; diff --git a/src/components/pages/Tickets.js b/src/components/pages/Tickets.js new file mode 100644 index 0000000..3e14766 --- /dev/null +++ b/src/components/pages/Tickets.js @@ -0,0 +1,17 @@ +import React, { Component } from 'react'; + +import Header from '../Header.js' +import MainArea from '../MainArea.js' + +class Tickets extends Component { + render() { + return ( + <> +
+ + + ); + } +} + +export default Tickets; \ No newline at end of file diff --git a/src/components/pages/TicketsBuy.js b/src/components/pages/TicketsBuy.js new file mode 100644 index 0000000..6343e13 --- /dev/null +++ b/src/components/pages/TicketsBuy.js @@ -0,0 +1,17 @@ +import React, { Component } from 'react'; + +import Header from '../Header.js' +import MainArea from '../MainArea.js' + +class TicketsBuy extends Component { + render() { + return ( + <> +
+ + + ); + } +} + +export default TicketsBuy; \ No newline at end of file diff --git a/src/components/pages/Travel.js b/src/components/pages/Travel.js new file mode 100644 index 0000000..930c7bc --- /dev/null +++ b/src/components/pages/Travel.js @@ -0,0 +1,17 @@ +import React, { Component } from 'react'; + +import Header from '../Header.js' +import MainArea from '../MainArea.js' + +class Travel extends Component { + render() { + return ( + <> +
+ + + ); + } +} + +export default Travel; \ No newline at end of file From 9a8c9756a298a09161c9b158aa3a7d7af75dcf87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Wahlberg?= Date: Fri, 20 Nov 2020 18:01:36 +0100 Subject: [PATCH 08/15] Remove unnecessary constructor --- src/components/BottomMenuButton.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/components/BottomMenuButton.js b/src/components/BottomMenuButton.js index 04cf455..9ee3b47 100644 --- a/src/components/BottomMenuButton.js +++ b/src/components/BottomMenuButton.js @@ -2,10 +2,6 @@ import React, { Component } from 'react'; import './css/BottomMenu.css'; class BottomMenuButton extends Component { - constructor(props) { - super(props); - } - render(label, icon) { return ( - ); - } -} - -export default BottomMenuButton; \ No newline at end of file diff --git a/src/components/MainArea.js b/src/components/MainArea.js index f5a3246..2ad5f6c 100644 --- a/src/components/MainArea.js +++ b/src/components/MainArea.js @@ -6,7 +6,7 @@ class MainArea extends Component { render() { return (
-
+ {this.props.children}
); } diff --git a/src/components/MenuButton.js b/src/components/MenuButton.js new file mode 100644 index 0000000..5205da4 --- /dev/null +++ b/src/components/MenuButton.js @@ -0,0 +1,23 @@ +import React, { Component } from 'react'; + +class MenuButton extends Component { + render(label, icon, childOrderReverse) { + if (this.props.childOrderReverse) { + return ( + + ); + } else { + return ( + + ); + } + } +} + +export default MenuButton; \ No newline at end of file diff --git a/src/components/TopMenu.js b/src/components/TopMenu.js new file mode 100644 index 0000000..ce19f18 --- /dev/null +++ b/src/components/TopMenu.js @@ -0,0 +1,15 @@ +import React, { Component } from 'react'; + +import './css/TopMenu.css'; + +class TopMenu extends Component { + render() { + return ( +
+ {this.props.children} +
+ ); + } +} + +export default TopMenu; \ No newline at end of file diff --git a/src/components/TripSelector.js b/src/components/TripSelector.js new file mode 100644 index 0000000..838f1b5 --- /dev/null +++ b/src/components/TripSelector.js @@ -0,0 +1,17 @@ +import React, { Component } from 'react'; + +class TripSelector extends Component { + render() { + return ( +
+ + +
+ + +
+ ); + } +} + +export default TripSelector; \ No newline at end of file diff --git a/src/components/css/Header.css b/src/components/css/Header.css index 0ffe297..4672c4c 100644 --- a/src/components/css/Header.css +++ b/src/components/css/Header.css @@ -3,9 +3,9 @@ header { display: flex; flex-direction: row; align-items: center; - padding: 15px; - position: fixed; + padding: 15px 15px 15vh 15px; top: 0; + background: linear-gradient(90deg, var(--colorVT1), var(--colorVT2)); } #navBtn img { diff --git a/src/components/css/MainArea.css b/src/components/css/MainArea.css index 32504ee..8e74147 100644 --- a/src/components/css/MainArea.css +++ b/src/components/css/MainArea.css @@ -1,11 +1,7 @@ main { width: 100vw; flex: 1 1 auto; - background: var(--colorBg); -} - -#topSection { - width: 100%; - height: 15vh; - background: linear-gradient(90deg, var(--colorVT1), var(--colorVT2)); + display: flex; + flex-flow: column; + justify-content: space-evenly; } \ No newline at end of file diff --git a/src/components/css/TopMenu.css b/src/components/css/TopMenu.css new file mode 100644 index 0000000..74b52d0 --- /dev/null +++ b/src/components/css/TopMenu.css @@ -0,0 +1,32 @@ +#topMenu { + width: 100vw; + height: var(--topMenuHeight); + margin-top: calc(var(--topMenuHeight) / -2); + display: inline-flex; + justify-content: space-evenly; +} + +#topMenu button { + width: var(--topMenuHeight); + height: calc(var(--topMenuHeight) / 1.3); + display: flex; + flex-flow: column; + justify-content: space-evenly; + background: white; + border-radius: calc(var(--topMenuHeight) / 15); + box-shadow: var(--boxShadow); +} + +#topMenu button:active { + background: rgb(235, 235, 235); +} + +#topMenu img { + width: 100%; + height: 40%; +} + +#topMenu button span { + width: 100%; + font-size: calc(var(--topMenuHeight) / 7); +} \ No newline at end of file diff --git a/src/components/css/TripSelector.css b/src/components/css/TripSelector.css new file mode 100644 index 0000000..c760a1b --- /dev/null +++ b/src/components/css/TripSelector.css @@ -0,0 +1,32 @@ +form { + width: 65vw; + height: calc(var(--topMenuHeight)); + background: white; + display: flex; + flex-flow: row wrap; + justify-content: space-evenly; + align-items: center; + font-size: 15px; + padding: 1vw 2vw; + border-radius: var(--borderRadius); + box-shadow: var(--boxShadow); +} + +label { + flex-basis: 20%; + height: 15px; +} + +input { + flex-basis: 70%; + height: 15px; + border: none; +} + +hr { + --width: 90%; + + flex-basis: var(--width); + margin: 0 calc((100% - var(--width)) / 2); + opacity: 0.5; +} \ No newline at end of file diff --git a/src/components/pages/Tickets.js b/src/components/pages/Tickets.js index 3e14766..b79a73b 100644 --- a/src/components/pages/Tickets.js +++ b/src/components/pages/Tickets.js @@ -1,14 +1,16 @@ import React, { Component } from 'react'; -import Header from '../Header.js' -import MainArea from '../MainArea.js' +import Header from '../Header.js'; +import MainArea from '../MainArea.js'; class Tickets extends Component { render() { return ( <>
- + +

Du har inga biljetter

+
); } diff --git a/src/components/pages/TicketsBuy.js b/src/components/pages/TicketsBuy.js index 6343e13..db3e092 100644 --- a/src/components/pages/TicketsBuy.js +++ b/src/components/pages/TicketsBuy.js @@ -1,14 +1,27 @@ import React, { Component } from 'react'; -import Header from '../Header.js' -import MainArea from '../MainArea.js' +import Header from '../Header.js'; +import TopMenu from '../TopMenu.js'; +import MenuButton from '../MenuButton.js'; +import MainArea from '../MainArea.js'; + +import clockIcon from '../../img/clock.svg'; +import calendarIcon from '../../img/calendar.svg'; +import recurringIcon from '../../img/redo.svg'; class TicketsBuy extends Component { render() { - return ( + return ( <>
- + + + + + + +

Du har inga tidigare köp

+
); } diff --git a/src/components/pages/TrafficInfo.js b/src/components/pages/TrafficInfo.js index c393a62..284e9ad 100644 --- a/src/components/pages/TrafficInfo.js +++ b/src/components/pages/TrafficInfo.js @@ -1,7 +1,7 @@ import React, { Component } from 'react'; -import Header from '../Header.js' -import MainArea from '../MainArea.js' +import Header from '../Header.js'; +import MainArea from '../MainArea.js'; class TrafficInfo extends Component { render() { diff --git a/src/components/pages/Travel.js b/src/components/pages/Travel.js index 930c7bc..bf99ef9 100644 --- a/src/components/pages/Travel.js +++ b/src/components/pages/Travel.js @@ -1,14 +1,22 @@ import React, { Component } from 'react'; -import Header from '../Header.js' -import MainArea from '../MainArea.js' +import Header from '../Header.js'; +import TopMenu from '../TopMenu.js'; +import MainArea from '../MainArea.js'; +import TripSelector from '../TripSelector.js'; + +import '../css/TripSelector.css'; class Travel extends Component { render() { return ( <>
- + + + + + ); } diff --git a/src/variables.css b/src/variables.css index 20427b5..9867467 100644 --- a/src/variables.css +++ b/src/variables.css @@ -2,4 +2,8 @@ --colorVT1: rgb(1, 170, 235); --colorVT2: rgb(25, 212, 245); --colorBg: rgb(240, 248, 250); + + --topMenuHeight: 15vh; + --borderRadius: calc(var(--topMenuHeight) / 15); + --boxShadow: 0px 1px 5px -1px rgba(0, 0, 0, 0.3); } \ No newline at end of file From 025061693c9444fcaa6920482949a53bb650eb07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Wahlberg?= Date: Thu, 26 Nov 2020 19:43:10 +0100 Subject: [PATCH 11/15] Remove unnecessary parameters --- src/components/MenuButton.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/MenuButton.js b/src/components/MenuButton.js index 5205da4..6bda14c 100644 --- a/src/components/MenuButton.js +++ b/src/components/MenuButton.js @@ -1,7 +1,7 @@ import React, { Component } from 'react'; class MenuButton extends Component { - render(label, icon, childOrderReverse) { + render() { if (this.props.childOrderReverse) { return ( + + + ); + } +} + +export default StopTitle; \ No newline at end of file diff --git a/src/components/TrafficEntry.js b/src/components/TrafficEntry.js new file mode 100644 index 0000000..63829ea --- /dev/null +++ b/src/components/TrafficEntry.js @@ -0,0 +1,44 @@ +import React, { Component } from 'react'; + +import './css/TrafficInfo.css'; + +import busIcon from '../img/bus.svg'; +import warningIcon from '../img/warning.svg'; + +class TrafficEntry extends Component { + render() { + let trafficInfo = this.props.departure.info; + let lineInterference = trafficInfo != "" && trafficInfo != null; + let infoElem = <>; + + if (trafficInfo != "" && trafficInfo != null) + infoElem =

{trafficInfo} Visa mer

+ + return ( +
+
+
+ {this.props.departure.time} + {lineInterference && + + } +
+
+
+ {this.props.departure.lineName} + + {this.props.departure.destination} +
+ {infoElem} +
+
+ + {lineInterference && + + } +
+ ); + } +} + +export default TrafficEntry; \ No newline at end of file diff --git a/src/components/TrafficList.js b/src/components/TrafficList.js new file mode 100644 index 0000000..d96e079 --- /dev/null +++ b/src/components/TrafficList.js @@ -0,0 +1,34 @@ +import React, { Component } from 'react'; + +import TrafficEntry from './TrafficEntry.js'; + +import './css/TrafficInfo.css'; + +class TrafficList extends Component { + render() { + let entries = []; + + this.props.departures.forEach(departure => { + entries.push( + + ); + }); + + // Add separator between every element + const intersperse = (arr, sep) => arr.reduce((a,v)=>[...a,v,sep],[]).slice(0,-1); + entries = intersperse(entries, (
)); + + // Add separator after the last element + entries.push(
); + + return ( +
+ {entries.map(element => { + return element + })} +
+ ); + } +} + +export default TrafficList; \ No newline at end of file diff --git a/src/components/css/StopTitle.css b/src/components/css/StopTitle.css new file mode 100644 index 0000000..3c80e0d --- /dev/null +++ b/src/components/css/StopTitle.css @@ -0,0 +1,39 @@ +#stopTitle { + text-align: left; + background: white; + border-radius: var(--borderRadius); + box-shadow: var(--boxShadow); + display: flex; + flex-direction: column; + justify-content: space-evenly; + padding: 0 5vw; +} + +#stopTitle h1, #stopTitle h3 { + font-weight: 100; +} + +#stopTitle div { + display: flex; + flex-direction: row; +} + +#stopTitle h3 { + color: rgba(0, 0, 0, 0.4); +} + +#stopTitle button { + width: auto; + height: 100%; + box-shadow: none; + background: rgba(0, 0, 0, 0.2); + display: block; + flex-flow: row; + margin-left: 10px; + padding: 0 2.5vw; + border-radius: calc(var(--topMenuHeight) / 15); +} + +#stopTitle button:active { + background: rgba(0, 0, 0, 0.3); +} \ No newline at end of file diff --git a/src/components/css/TrafficInfo.css b/src/components/css/TrafficInfo.css new file mode 100644 index 0000000..088bc6c --- /dev/null +++ b/src/components/css/TrafficInfo.css @@ -0,0 +1,84 @@ +#trafficList { + height: 100%; + margin-top: 40px; + background: white; +} + +.trafficEntry { + display: flex; + flex-direction: column; + justify-content: space-evenly; + align-items: center; + width: 100vw; + padding: 6vw 0; + background: white; +} + +.trafficEntry div { + width: 90%; + display: flex; + flex-direction: row; + justify-content: space-evenly; + margin-bottom: 8px; +} + +.trafficEntry div p { + text-align: left; + font-size: 3.5vw; + padding: 3vw 0; +} + +.trafficEntry div div { + display: flex; + flex-direction: column; +} + +.timeColumn { + flex-basis: 15%; + justify-content: flex-start; + align-items: center; +} + +.timeColumn img { + width: 20px; +} + +.lineColumn { + flex-basis: 75%; +} + +.lineColumn img { + width: 30px; + margin-right: 10px; +} + +.trafficEntry div div div { + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: flex-end; +} + +.lineName { + background: var(--colorLine); + color: white; + font-size: 6vw; + font-weight: 100; + margin-right: 10px; + padding: 1vw 4vw; +} + +.destination { + font-size: 100%; + text-align: left; +} + +.trafficEntry button { + width: 90%; + font-size: 4vw; + font-weight: bold; + color: var(--colorVT1); + padding: 4vw 0; + border-radius: var(--borderRadius); + box-shadow: var(--boxShadow); +} \ No newline at end of file diff --git a/src/components/pages/TrafficInfo.js b/src/components/pages/TrafficInfo.js index 284e9ad..803d04e 100644 --- a/src/components/pages/TrafficInfo.js +++ b/src/components/pages/TrafficInfo.js @@ -1,14 +1,35 @@ import React, { Component } from 'react'; import Header from '../Header.js'; +import TopMenu from '../TopMenu.js'; import MainArea from '../MainArea.js'; +import StopTitle from '../StopTitle.js'; +import TrafficList from '../TrafficList.js'; + +import Stop from '../../classes/Stop.js'; +import Departure from '../../classes/Departure.js'; class TrafficInfo extends Component { render() { + let testStop = + new Stop( + "Lemmingsgatan", + ["Läge A", "Läge B", "Läge C"], + [ + new Departure("519", "Mot Heden", "11:59", "Trafikolycka vid Partille Centrum."), + new Departure("58", "Mot Västra Eriksberg", "12:07") + ], + ); + return ( <>
- + + + + + + ); } diff --git a/src/img/bus.svg b/src/img/bus.svg new file mode 100644 index 0000000..c2c841e --- /dev/null +++ b/src/img/bus.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/img/warning.svg b/src/img/warning.svg new file mode 100644 index 0000000..3395e7a --- /dev/null +++ b/src/img/warning.svg @@ -0,0 +1,15 @@ + + + + + + + + + +