import type { DatasetCreateResponse } from '../types' const DATASET_LABEL_BY_LAYER: Record = { buildings: 'Bebouwing', roads: 'Wegen', water: 'Water', parcels: 'Percelen', population: 'Bevolking', forest: 'Bos en groen', nature_value: 'Natuurwaarde', agriculture: 'Landbouwgebruikspercelen', elevation: 'Hoogte en reliëf', building_registry: 'Gebouwenregister', regional_boundary: 'Grens vervoerregio Kempen', municipality_boundaries: 'Gemeentegrenzen Kempen', } const DATASET_SOURCE_LABELS: Record = { department_omgeving_land_use: 'Departement Omgeving', agentschap_landbouw_zeevisserij_agricultural_parcels: 'Agentschap Landbouw en Zeevisserij', digitaal_vlaanderen_orthophoto: 'Digitaal Vlaanderen', digitaal_vlaanderen_buildings_addresses_register: 'Digitaal Vlaanderen', digitaal_vlaanderen_dhmv: 'Digitaal Vlaanderen', grb: 'GRB', historical_landuse: 'Digitaal Vlaanderen', inbo_bwk_natura2000: 'INBO', statbel: 'Statbel', vrbg: 'Digitaal Vlaanderen', waterinfo: 'Waterinfo Vlaanderen', } export function getDatasetSourceDisplayName(dataset: DatasetCreateResponse): string { const source = (dataset.source_name ?? dataset.source).toLowerCase() return DATASET_SOURCE_LABELS[source] ?? dataset.source_name ?? dataset.source } export function getDatasetDisplayName(dataset: DatasetCreateResponse): string { if (dataset.source_name === 'digitaal_vlaanderen_dhmv') { const productName = dataset.source_metadata?.['product_display_name'] return typeof productName === 'string' && productName.trim() ? productName : 'DHMV II hoogtemodel' } const layer = (dataset.reference_layer_name ?? dataset.source_metadata?.layer_name ?? dataset.source_metadata?.layer_type ?? '') .toString() .toLowerCase() const label = DATASET_LABEL_BY_LAYER[layer] if (!label) { return dataset.name } const source = getDatasetSourceDisplayName(dataset) return `${label} · ${source}` }