your personal website on atproto - mirror blento.app
at card-label 37 lines 1.0 kB view raw
1import type { CardDefinition } from '../types'; 2import CreateMapCardModal from './CreateMapCardModal.svelte'; 3import MapCard from './MapCard.svelte'; 4import MapCardSettings from './MapCardSettings.svelte'; 5import SidebarItemMapCard from './SidebarItemMapCard.svelte'; 6 7export const MapCardDefinition = { 8 type: 'mapLocation', 9 contentComponent: MapCard, 10 sidebarButtonText: 'map', 11 createNew: (item) => { 12 item.w = 4; 13 item.h = 4; 14 item.mobileH = 8; 15 item.mobileW = 8; 16 }, 17 18 sidebarComponent: SidebarItemMapCard, 19 creationModalComponent: CreateMapCardModal, 20 allowSetColor: false, 21 canHaveLabel: true, 22 settingsComponent: MapCardSettings 23} as CardDefinition & { type: 'mapLocation' }; 24 25export function getZoomLevel(type: string | undefined): number { 26 if ( 27 ['house', 'building', 'address', 'street', 'road', 'residential', 'highway'].includes( 28 type || '' 29 ) 30 ) { 31 return 13; 32 } 33 if (['neighbourhood', 'suburb', 'quarter', 'district', 'postcode'].includes(type || '')) { 34 return 12; 35 } 36 return 1; 37}