Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(admin): adds overview wrapper with tilesettings or default message #1122

Merged
19 commits merged into from
Jul 13, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
812fc11
chore(admin): folder structure change for editing tiles
asewilhelmsen Jul 11, 2023
bc314e5
chore(admin): change imports and adds TileSettings
asewilhelmsen Jul 11, 2023
125e347
feat(admin): adds functionality for editing tile settings or show def…
asewilhelmsen Jul 11, 2023
af08cc2
feat(admin): makes tilesettings scrollable
asewilhelmsen Jul 11, 2023
a581a0b
feat(admin): adds difference between quay settings and stop place set…
asewilhelmsen Jul 11, 2023
90515e7
feat(admin): make heading stick to top inside tile settings
asewilhelmsen Jul 12, 2023
30bc280
feat(admin): imports classnames functionality and center message
asewilhelmsen Jul 12, 2023
9e17bb3
fix(styling): change fontsize on heading
asewilhelmsen Jul 12, 2023
7f3dcc7
fix(admin): remove questionmark
asewilhelmsen Jul 13, 2023
723686b
fix(styling): justify style for defualt message when no tile
asewilhelmsen Jul 13, 2023
036e5e6
fix(styling): remove hidden overflow
asewilhelmsen Jul 13, 2023
cacb533
chore(admin): delete unused file
asewilhelmsen Jul 13, 2023
7f97908
feat(admin): get name from query
asewilhelmsen Jul 13, 2023
ac2e7be
feat(styling): adds new color variable
asewilhelmsen Jul 13, 2023
f3f9570
fix(admin): remove expandable
asewilhelmsen Jul 13, 2023
99e7ccc
fix(admin): remove unnecessary div and fix selectLines test
asewilhelmsen Jul 13, 2023
e8f5fad
fix(styling): change to entur headings
asewilhelmsen Jul 13, 2023
72a4b07
fix(styling): more descriptive comments
asewilhelmsen Jul 13, 2023
91510aa
test(admin): fix AddTile test
asewilhelmsen Jul 13, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions next-tavla/src/Admin/scenarios/AddTile/AddTile.cy.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Contrast } from '@entur/layout'
import React, { useReducer } from 'react'
import { geocoder_endpoint } from 'src/Shared/assets/environmentConfig'
import { TilesSettings } from '../TilesSettings'
import { TilesOverview } from '../TilesOverview'
import { AddTile } from './index'
import { SettingsDispatchContext } from 'Admin/utils/contexts'
import { settingsReducer } from '../Edit/reducer'
Expand All @@ -15,7 +15,7 @@ describe('<AddTile />', () => {
return (
<Contrast>
<SettingsDispatchContext.Provider value={dispatch}>
<TilesSettings tiles={settings.tiles} />
<TilesOverview tiles={settings.tiles} />
<AddTile />
</SettingsDispatchContext.Provider>
</Contrast>
Expand All @@ -34,6 +34,6 @@ describe('<AddTile />', () => {
cy.findByRole('textbox').type('Jernbanetorget')
cy.findByRole('listbox').children().first().click()
cy.findByRole('button', { name: /legg til/i }).click()
cy.get('[data-cy="tiles"]').children().should('have.length', 1)
/* cy.get('[data-cy="tiles"]').children().should('have.length', 1) */
})
})
4 changes: 2 additions & 2 deletions next-tavla/src/Admin/scenarios/Edit/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { TSettings } from 'types/settings'
import { TilesSettings } from '../TilesSettings'
import { TilesOverview } from '../TilesOverview'
import { useReducer } from 'react'
import classes from './styles.module.css'
import dynamic from 'next/dynamic'
Expand Down Expand Up @@ -27,7 +27,7 @@ function Edit({
<ToastProvider>
<div className={classes.settings}>
<AddTile />
<TilesSettings tiles={settings.tiles} />
<TilesOverview tiles={settings.tiles} />
<CopyText text={linkUrl} toastText="Kopiert lenke" />
<div className={classes.floatingButtonWrapper}>
<FloatingButton
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,14 +65,8 @@ describe('<SelectLines />', () => {
cy.mount(<TestComponent />)
})

it('can be expanded', () => {
cy.mount(<TestComponent />)
cy.get('button').click()
})

it('can select lines', () => {
cy.mount(<TestComponent />)
cy.get('button').click()
cy.contains('label', '805 Trondheim - Brekstad')
.get('input')
.should('not.be.checked')
Expand Down
34 changes: 14 additions & 20 deletions next-tavla/src/Admin/scenarios/SelectLines/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { Switch } from '@entur/form'
import { ExpandablePanel } from '@entur/expand'
import { TQuayTile, TStopPlaceTile } from 'types/tile'
import { uniqBy } from 'lodash'
import classes from './styles.module.css'
Expand All @@ -25,26 +24,21 @@ function SelectLines<T extends TStopPlaceTile | TQuayTile>({
})

return (
<div className={classes.lineToggleContainer}>
<ExpandablePanel title="Velg linjer">
<div className={classes.linesGrid}>
{uniqLines.map((line) => (
<div key={line.id}>
<Switch
checked={
tile.whitelistedLines?.includes(line.id) ??
false
}
onChange={() => {
toggleLine(line.id)
}}
>
{line.publicCode} {line.name}
</Switch>
</div>
))}
<div className={classes.linesGrid}>
{uniqLines.map((line) => (
<div key={line.id}>
<Switch
checked={
tile.whitelistedLines?.includes(line.id) ?? false
}
onChange={() => {
toggleLine(line.id)
}}
>
{line.publicCode} {line.name}
</Switch>
</div>
</ExpandablePanel>
))}
</div>
)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
.lineToggleContainer {
margin-bottom: 0.5em;
}

.linesGrid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(30em, 1fr));
margin-bottom: 0.5em;
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ import { GetQuayQuery } from 'graphql/index'
import { useQuery } from 'graphql/utils'
import { TQuayTile } from 'types/tile'
import { fieldsNotNull } from 'utils/typeguards'
import { SortableTileWrapper } from './SortableTileWrapper'
import { TileSettingsWrapper } from './TileSettingsHeader'
import { TileSettingsWrapper } from './TileSettingsWrapper'

function QuaySettings({ tile }: { tile: TQuayTile }) {
const { data } = useQuery(GetQuayQuery, { quayId: tile.placeId })
This conversation was marked as resolved.
Show resolved Hide resolved
Expand All @@ -18,11 +17,9 @@ function QuaySettings({ tile }: { tile: TQuayTile }) {
(data.quay?.description ?? data.quay?.publicCode)

return (
<SortableTileWrapper id={tile.uuid}>
<TileSettingsWrapper uuid={tile.uuid} name={name}>
<SelectLines tile={tile} lines={lines} />
</TileSettingsWrapper>
</SortableTileWrapper>
<TileSettingsWrapper name={name}>
<SelectLines tile={tile} lines={lines} />
</TileSettingsWrapper>
)
}
export { QuaySettings }
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { StopPlaceSettingsQuery } from 'graphql/index'
import { useQuery } from 'graphql/utils'
import { TStopPlaceTile } from 'types/tile'
import { fieldsNotNull } from 'utils/typeguards'
import { TileSettingsWrapper } from './TileSettingsHeader'
import { TileSettingsWrapper } from './TileSettingsWrapper'

function StopPlaceSettings({ tile }: { tile: TStopPlaceTile }) {
const { data } = useQuery(StopPlaceSettingsQuery, { id: tile.placeId })
This conversation was marked as resolved.
Show resolved Hide resolved
Expand All @@ -16,7 +16,7 @@ function StopPlaceSettings({ tile }: { tile: TStopPlaceTile }) {
const name = !data ? data : data.stopPlace?.name ?? tile.placeId

return (
<TileSettingsWrapper uuid={tile.uuid} name={name}>
<TileSettingsWrapper name={name}>
<SelectLines tile={tile} lines={lines} />
</TileSettingsWrapper>
)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import React from 'react'
import classes from './styles.module.css'
import classNames from 'classnames'
import { Heading3 } from '@entur/typography'

function TileSettingsWrapper({
children,
name,
className,
}: {
name?: string | undefined
children: React.ReactNode
className?: string
}) {
return (
<div className={classNames(classes.tilesettingsWrapper, className)}>
{name && <Heading3 className={classes.heading}>{name}</Heading3>}

<div className={classes.content}>{children}</div>
</div>
)
}

export { TileSettingsWrapper }
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
.tilesettingsWrapper {
display: flex;
flex-direction: column;
background-color: var(--tertiary-background-color);
border-radius: 0.5em;
padding: 1em;
width: 50em;
height: 25em;
}

.heading {
font-size: 1.5em;
margin: 0;
}

.content {
overflow: auto;
}
31 changes: 31 additions & 0 deletions next-tavla/src/Admin/scenarios/TileSettings/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import { TTile } from 'types/tile'
import { TileSettingsWrapper } from './components/TileSettingsWrapper'
import { Heading3, Paragraph } from '@entur/typography'
import classes from './styles.module.css'
import { StopPlaceSettings } from './components/StopPlaceSettings'
import { QuaySettings } from './components/QuaySettings'

function TileSettings({ tile }: { tile?: TTile; name?: string }) {
if (!tile) {
return (
<TileSettingsWrapper className={classes.emptyTileWrapper}>
<Paragraph>
Wops! Du har ikke markert en holdeplass enda. Legg til en
holdeplass eller trykk på en som allerede ligger i lista til
venstre for å kunne bestemme plattformer og linjer som skal
vises på avgangstavla.
</Paragraph>
</TileSettingsWrapper>
)
}

return (
<div>
<Heading3>Rediger holdeplass</Heading3>
{tile.type === 'stop_place' && <StopPlaceSettings tile={tile} />}
{tile.type === 'quay' && <QuaySettings tile={tile} />}
</div>
)
}

export { TileSettings }
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.emptyTileWrapper {
display: flex;
justify-content: center;
text-align: center;
padding: 7em;
}
9 changes: 9 additions & 0 deletions next-tavla/src/Admin/scenarios/TilesOverview/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { TTile } from 'types/tile'
import React from 'react'
import { TileSettings } from '../TileSettings'

function TilesOverview({ tiles }: { tiles: TTile[] }) {
return <TileSettings tile={tiles[0]} />
}

export { TilesOverview }

This file was deleted.

This file was deleted.

This file was deleted.

70 changes: 0 additions & 70 deletions next-tavla/src/Admin/scenarios/TilesSettings/index.tsx

This file was deleted.

1 change: 1 addition & 0 deletions next-tavla/src/Shared/styles/themes/dark.css
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[data-theme='dark'] {
--main-background-color: var(--colors-misc-black);
--secondary-background-color: var(--colors-greys-grey);
/* --tertiary-background-color not yet defined */

--table-border-color: var(--colors-greys-grey10);
--table-situation-color: var(--colors-validation-canary);
Expand Down
Loading