Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 1 addition & 4 deletions tavla/app/(admin)/hooks/useSaveDemoBoardInLocalStorage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,7 @@ export function useSaveDemoBoardInLocalStorage(): {
hideClock,
hideLogo,
footer: footerHasText ? { footer } : undefined,
combinedTiles:
viewType === 'separate'
? undefined
: [{ ids: prev.tiles.map((tile) => tile.uuid) }],
isCombinedTiles: viewType === 'combined',
tiles: updatedTiles,
}))
},
Expand Down
15 changes: 0 additions & 15 deletions tavla/app/(admin)/tavler/[id]/rediger/actions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,24 +34,9 @@ export async function addTiles(bid: BoardDB['id'], tiles: BoardTileDB[]) {
tiles: FieldValue
'meta.dateModified': number
transportPalette?: TransportPalette
combinedTiles?: BoardDB['combinedTiles'] | FieldValue
} = {
tiles: FieldValue.arrayUnion(...tiles),
'meta.dateModified': Date.now(),
combinedTiles:
currentBoard?.combinedTiles &&
currentBoard.combinedTiles.length > 0
? [
{
ids: [
...tiles.map((tile) => tile.uuid),
...currentBoard.combinedTiles.flatMap(
(ct) => ct.ids,
),
],
},
]
: FieldValue.delete(),
}

if (!currentBoard?.tiles || currentBoard.tiles.length === 0) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -168,13 +168,6 @@ async function setViewType(board: BoardDB, viewType: string) {
.collection('boards')
.doc(board.id ?? '')
.update({
combinedTiles: isSeparateTiles
? FieldValue.delete()
: [
{
ids: board.tiles.map((tile) => tile.uuid),
},
],
isCombinedTiles: !isSeparateTiles,
'meta.dateModified': Date.now(),
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,7 @@ function SettingsForm({
<Heading3 margin="bottom">Tavlevisning</Heading3>
<div className="flex flex-col gap-4">
<ViewType
hasCombinedTiles={
board.combinedTiles ? true : false
}
isCombinedTiles={board.combinedTiles ? true : false}
onChange={handleChange}
/>
<ThemeSelect
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ import { usePosthogTracking } from 'app/posthog/usePosthogTracking'
import { useState } from 'react'

function ViewType({
hasCombinedTiles,
isCombinedTiles,
onChange,
}: {
hasCombinedTiles: boolean
isCombinedTiles: boolean
onChange: () => void
}) {
const posthog = usePosthogTracking()
const [value, setValue] = useState(
hasCombinedTiles ? 'combined' : 'separate',
isCombinedTiles ? 'combined' : 'separate',
)

return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import {
userCanEditBoard,
} from 'app/(admin)/utils/firebase'
import { FieldValue, getFirestore } from 'firebase-admin/firestore'
import { isEmpty } from 'lodash'
import { revalidatePath } from 'next/cache'
import { redirect } from 'next/navigation'
import { getBoard } from 'src/firebase'
Expand All @@ -24,12 +23,6 @@ export async function deleteTile(boardId: string, tile: BoardTileDB) {
const board = await getBoard(boardId)
const tileToDelete = board?.tiles.find((t) => t.uuid === tile.uuid)

const updatedCombinedTiles = board?.combinedTiles?.map((t) => {
return {
ids: t.ids.filter((id) => id !== tile.uuid),
}
})

const remainingTiles = board?.tiles.filter((t) => t.uuid !== tile.uuid)
const remainingCounties = new Set<string>()

Expand All @@ -54,9 +47,6 @@ export async function deleteTile(boardId: string, tile: BoardTileDB) {
)

const updatePayload: Record<string, unknown> = {
combinedTiles: isEmpty(updatedCombinedTiles)
? FieldValue.delete()
: updatedCombinedTiles,
tiles: FieldValue.arrayRemove(tileToDelete),
'meta.dateModified': Date.now(),
}
Expand Down
42 changes: 0 additions & 42 deletions tavla/src/types/db-types/boards.ts
Original file line number Diff line number Diff line change
@@ -1,25 +1,5 @@
import { TTransportMode } from 'src/types/graphql-schema'
import { z } from 'zod'

const transportModeValues: TTransportMode[] = [
'air',
'bus',
'cableway',
'coach',
'funicular',
'lift',
'metro',
'monorail',
'rail',
'taxi',
'tram',
'trolleybus',
'unknown',
'water',
] as const

const transportModeSchema = z.enum(transportModeValues)

const coordinateSchema = z.object({
lat: z.number(),
lng: z.number(),
Expand Down Expand Up @@ -63,17 +43,8 @@ const boardTileSchema = z.object({
columns: z.array(tileColumnSchema).optional(),
county: z.string().optional(),

/** @deprecated Only kept for backward-compat with unmigrated DB docs */
placeId: z.string().optional(),

/** @deprecated Only kept for backward-compat with unmigrated DB docs */
type: z.enum(['stop_place', 'quay']).optional(),

/** @deprecated Only kept for backward-compat with unmigrated DB docs */
whitelistedLines: z.array(z.string()).optional(),

/** @deprecated Only kept for backward-compat with unmigrated DB docs */
whitelistedTransportModes: z.array(transportModeSchema).optional(),
})

const boardFontSizeSchema = z.enum(['small', 'medium', 'large'])
Expand All @@ -87,10 +58,6 @@ const boardMetaSchema = z.object({
location: locationSchema.optional(),
})

const combinedTilesSchema = z.object({
ids: z.array(z.string()),
})

const boardThemeSchema = z.enum(['dark', 'light'])

const boardFooterSchema = z.object({
Expand All @@ -110,7 +77,6 @@ export const BoardDBSchema = z.object({
id: z.string(),
meta: boardMetaSchema,
tiles: z.array(boardTileSchema),
combinedTiles: z.array(combinedTilesSchema).optional(),
isCombinedTiles: z.boolean().optional(),
theme: boardThemeSchema.optional(),
footer: boardFooterSchema.optional(),
Expand All @@ -123,22 +89,16 @@ export type BoardDB = z.infer<typeof BoardDBSchema>

export type BoardFooter = z.infer<typeof boardFooterSchema>

export type CombinedTilesDB = z.infer<typeof combinedTilesSchema>

export type BoardTheme = z.infer<typeof boardThemeSchema>

export type TransportPalette = z.infer<typeof transportPaletteSchema>

export type BoardMetaDB = z.infer<typeof boardMetaSchema>

export type BoardFontSize = z.infer<typeof boardFontSizeSchema>

export type Coordinate = z.infer<typeof coordinateSchema>

export type LocationDB = z.infer<typeof locationSchema>

export type BaseTileDB = z.infer<typeof boardTileSchema>

export type TileColumnDB = z.infer<typeof tileColumnSchema>

export const TileColumns: Record<TileColumnDB, string> = {
Expand All @@ -152,5 +112,3 @@ export const TileColumns: Record<TileColumnDB, string> = {
} as const

export type BoardTileDB = z.infer<typeof boardTileSchema>

export type BoardWalkingDistanceDB = z.infer<typeof boardWalkingDistanceSchema>
Loading