your personal website on atproto - mirror
blento.app
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}