From 091e85529f0cec5be3b16b490630cfca0b2bc1cf Mon Sep 17 00:00:00 2001 From: minORC Date: Tue, 16 Apr 2024 16:22:57 -0700 Subject: [PATCH 1/3] DBC22-2012: Added exit survey notification --- src/frontend/src/App.scss | 6 +- src/frontend/src/Components/Map.js | 14 +++- src/frontend/src/Components/Map.scss | 4 +- .../advisories/AdvisoriesOnMap.scss | 13 ++-- .../src/Components/advisories/ExitSurvey.js | 49 ++++++++++++ .../src/Components/advisories/ExitSurvey.scss | 77 +++++++++++++++++++ src/frontend/src/pages/CamerasListPage.scss | 8 +- src/frontend/src/pages/EventsListPage.scss | 8 +- src/frontend/src/styles/typography.scss | 4 + 9 files changed, 161 insertions(+), 22 deletions(-) create mode 100644 src/frontend/src/Components/advisories/ExitSurvey.js create mode 100644 src/frontend/src/Components/advisories/ExitSurvey.scss diff --git a/src/frontend/src/App.scss b/src/frontend/src/App.scss index ec39ed437..b18dc571e 100644 --- a/src/frontend/src/App.scss +++ b/src/frontend/src/App.scss @@ -153,11 +153,9 @@ a[target="_blank"] { &:not(.social-icon):after { position: absolute; - top: 0; - right: -18px; - //content: url("data:image/svg+xml,%3Csvg aria-hidden='true' focusable='false' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' alt='external link'%3E%3Cpath fill='%23474543' d='M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.7L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z'%3E%3C/path%3E%3C/svg%3E"); + margin-top: 1px; + margin-left: 4px; content: url("data:image/svg+xml,%3Csvg aria-hidden='true' focusable='false' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' alt='external link'%3E%3Cpath fill='%23474543' d='M336 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H457.4L212.7 276.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L480 54.6V176c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16H336zM64 32C28.7 32 0 60.7 0 96V448c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V304c0-8.8-7.2-16-16-16s-16 7.2-16 16V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H64z'/%3E%3C/svg%3E"); - display: inline-block; text-rendering: auto; -webkit-font-smoothing: antialiased; diff --git a/src/frontend/src/Components/Map.js b/src/frontend/src/Components/Map.js index ccce89320..a2dd5adf2 100644 --- a/src/frontend/src/Components/Map.js +++ b/src/frontend/src/Components/Map.js @@ -31,6 +31,7 @@ import { faLocationCrosshairs, faXmark, } from '@fortawesome/pro-solid-svg-icons'; +import {useMediaQuery} from '@uidotdev/usehooks'; // Components and functions import CamPopup from './map/camPopup.js'; @@ -72,6 +73,7 @@ import AdvisoriesOnMap from './advisories/AdvisoriesOnMap'; import CurrentCameraIcon from './CurrentCameraIcon'; import Filters from './Filters.js'; import RouteSearch from './map/RouteSearch.js'; +import ExitSurvey from './advisories/ExitSurvey.js'; // Map & geospatial imports import { applyStyle } from 'ol-mapbox-style'; @@ -1251,6 +1253,8 @@ export default function MapWrapper({ clickedRestStop ); + const smallScreen = useMediaQuery('only screen and (max-width: 767px)'); + return (
+
+ {smallScreen && ( + + )}
)} + {(!isPreview && !smallScreen) && ( + + )} + {!isPreview && ( )} +
diff --git a/src/frontend/src/Components/Map.scss b/src/frontend/src/Components/Map.scss index 71eb4affb..58ab2d702 100644 --- a/src/frontend/src/Components/Map.scss +++ b/src/frontend/src/Components/Map.scss @@ -242,7 +242,7 @@ margin-right: 8px; } } - &.map-view, &.my-location, &.open-filters { + &.map-view, &.my-location { svg { margin-right: 8px; } diff --git a/src/frontend/src/pages/EventsListPage.js b/src/frontend/src/pages/EventsListPage.js index 18c331240..c4582be6f 100644 --- a/src/frontend/src/pages/EventsListPage.js +++ b/src/frontend/src/pages/EventsListPage.js @@ -301,7 +301,7 @@ export default function EventsListPage() { toggleHandler={eventCategoryFilterHandler} disableFeatures={true} enableRoadConditions={false} - textOverride={'List Filters'} + textOverride={'List filters'} />
From 834c644559b53e19200a54643345c4ba0b6ff394 Mon Sep 17 00:00:00 2001 From: minORC Date: Wed, 17 Apr 2024 16:40:25 -0700 Subject: [PATCH 3/3] DBC22-2012: Dismissing exit survey notification once per session --- src/frontend/src/Components/advisories/ExitSurvey.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/frontend/src/Components/advisories/ExitSurvey.js b/src/frontend/src/Components/advisories/ExitSurvey.js index 28922f4b7..4b7092877 100644 --- a/src/frontend/src/Components/advisories/ExitSurvey.js +++ b/src/frontend/src/Components/advisories/ExitSurvey.js @@ -15,16 +15,17 @@ import './ExitSurvey.scss'; export default function ExitSurvey({ mobile=false }) { // States - const [open, setOpen] = useState(true); + const [show, setShow] = useState(true); // Rendering - return (open) ? ( + return (show && (sessionStorage.getItem('exit-survey') === null)) ? (