Skip to content

Commit

Permalink
Fix layering on LinesExplorerMap
Browse files Browse the repository at this point in the history
  • Loading branch information
joao-vasconcelos committed Dec 12, 2023
1 parent 0f56f8d commit c01d021
Show file tree
Hide file tree
Showing 11 changed files with 206 additions and 132 deletions.
1 change: 1 addition & 0 deletions frontend/components/CopyBadge/CopyBadge.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
font-weight: 600;
letter-spacing: 0.5pt;
line-height: 1;
text-wrap: nowrap;
}

.container:hover {
Expand Down
47 changes: 42 additions & 5 deletions frontend/components/LinesExplorer/LinesExplorer.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,16 @@

/* * */

import styles from './LinesExplorer.module.css';
import useSWR from 'swr';
import Pannel from '@/components/Pannel/Pannel';
import { useEffect } from 'react';
import { useTranslations } from 'next-intl';
import Pannel from '@/components/Pannel/Pannel';
import LinesExplorerToolbar from '@/components/LinesExplorerToolbar/LinesExplorerToolbar';
import LinesExplorerContent from '@/components/LinesExplorerContent/LinesExplorerContent';
import BetaIcon from '@/components/BetaIcon/BetaIcon';
import { useAnalyticsContext } from '@/contexts/AnalyticsContext';
import { useLinesExplorerContext } from '@/contexts/LinesExplorerContext';

/* * */

Expand All @@ -19,17 +23,50 @@ export default function LinesExplorer() {

const t = useTranslations('LinesExplorer');

const analyticsContext = useAnalyticsContext();
const linesExplorerContext = useLinesExplorerContext();

//
// B. Fetch data
// B. Analytics

const { isLoading: allLinesLoading, error: allLinesError } = useSWR('https://api.carrismetropolitana.pt/lines');
useEffect(() => {
analyticsContext.capture('view_lines_explorer');
});

//
// C. Fetch data

const { data: allLinesData, isLoading: allLinesLoading, error: allLinesError } = useSWR('https://api.carrismetropolitana.pt/lines');
const { isLoading: allMunicipalitiesLoading, error: allMunicipalitiesError } = useSWR('https://api.carrismetropolitana.pt/municipalities/');
const { isValidating: allVehiclesValidating } = useSWR('https://api.carrismetropolitana.pt/vehicles');

//
// D. Handle actions

useEffect(() => {
const matchedLineIdFromUrl = window.location.pathname.match(/\/lines\/(.+)/);
if (matchedLineIdFromUrl && matchedLineIdFromUrl[1] !== 'all' && allLinesData && !linesExplorerContext.entities.line?.id) {
linesExplorerContext.selectLine(matchedLineIdFromUrl[1]);
}
});

//
// c. Render components
// E. Render components

return (
<Pannel type="A" title={t('pannel_title')} loading={allLinesLoading || allMunicipalitiesLoading} error={allLinesError || allMunicipalitiesError} rightSection={<BetaIcon />}>
<Pannel
type="A"
title={t('pannel_title')}
loading={allLinesLoading || allMunicipalitiesLoading}
error={allLinesError || allMunicipalitiesError}
validating={allVehiclesValidating}
rightSection={
<>
{allVehiclesValidating && <div className={styles.validating}>V</div>}
<BetaIcon />
</>
}
>
<LinesExplorerToolbar />
<LinesExplorerContent />
</Pannel>
Expand Down
8 changes: 8 additions & 0 deletions frontend/components/LinesExplorer/LinesExplorer.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,11 @@
.container {
display: flex;
}

/* * */
/* VALIDATING */

.validating {
font-weight: 800;
opacity: 0.5;
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@

import { useTranslations } from 'next-intl';
import styles from './LinesExplorerContent.module.css';
import { useDebugContext } from '@/contexts/DebugContext';
import { useLinesExplorerContext } from '@/contexts/LinesExplorerContext';
import LinesExplorerContentHeader from '@/components/LinesExplorerContentHeader/LinesExplorerContentHeader';
import LinesExplorerContentPatternPath from '@/components/LinesExplorerContentPatternPath/LinesExplorerContentPatternPath';
import LinesExplorerMap from '@/components/LinesExplorerMap/LinesExplorerMap';
import NoDataLabel from '@/components/NoDataLabel/NoDataLabel';
import LinesExplorerContentDebug from '@/components/LinesExplorerContentDebug/LinesExplorerContentDebug';

/* * */

Expand All @@ -19,6 +21,8 @@ export default function LinesExplorerContent() {
// A. Setup variables

const t = useTranslations('LinesExplorerContent');

const debugContext = useDebugContext();
const linesExplorerContext = useLinesExplorerContext();

//
Expand All @@ -33,6 +37,7 @@ export default function LinesExplorerContent() {
{linesExplorerContext?.entities?.line?.id ? (
<>
<LinesExplorerContentHeader />
{linesExplorerContext.entities.pattern?.id && debugContext.isDebug && <LinesExplorerContentDebug />}
{linesExplorerContext.entities.pattern?.id ? <LinesExplorerContentPatternPath /> : <NoDataLabel text={t('no_selection')} />}
</>
) : (
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
'use client';

/* * */

import styles from './LinesExplorerContentDebug.module.css';
import CopyBadge from '@/components/CopyBadge/CopyBadge';
import { useLinesExplorerContext } from '@/contexts/LinesExplorerContext';

/* * */

export default function LinesExplorerContentDebug() {
//

//
// A. Setup variables

const linesExplorerContext = useLinesExplorerContext();

//
// B. Render components

return (
<div className={styles.container}>
<CopyBadge label={`pattern_id: ${linesExplorerContext.entities.pattern?.id}`} value={linesExplorerContext.entities.pattern?.id} />
<CopyBadge label={`direction: ${linesExplorerContext.entities.pattern?.direction}`} value={linesExplorerContext.entities.pattern?.direction} />
<CopyBadge label={`headsign: ${linesExplorerContext.entities.pattern?.headsign}`} value={linesExplorerContext.entities.pattern?.headsign} />
<CopyBadge label={`line_color: ${linesExplorerContext.entities.line?.color}`} value={linesExplorerContext.entities.line?.color} />
<CopyBadge label={`total stops: ${linesExplorerContext.entities.pattern?.path?.length}`} value={linesExplorerContext.entities.pattern?.path?.length} />
</div>
);

//
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/* * */
/* CONTAINER */

.container {
display: flex;
flex-direction: column;
gap: 10px;
padding: var(--size-lg);
width: 100%;
border-bottom: 1px solid var(--gray3);
background-color: var(--reference-0);
align-items: flex-start;
}
Loading

0 comments on commit c01d021

Please sign in to comment.