From 0aa296a07459918810ef5abdbebc1ab89c4280cb Mon Sep 17 00:00:00 2001 From: ccmdi Date: Mon, 13 Oct 2025 16:08:47 -0400 Subject: [PATCH 1/2] Remove leftover early return --- src/views/map-bases-view.ts | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/views/map-bases-view.ts b/src/views/map-bases-view.ts index 343113f..f51188b 100644 --- a/src/views/map-bases-view.ts +++ b/src/views/map-bases-view.ts @@ -148,7 +148,7 @@ export class MapBasesView extends BasesView { this.containerEl.removeClass('is-loading'); return; } - + const loadingOverlay = this.containerEl.createDiv({ cls: 'map-loading-overlay' }); const spinner = loadingOverlay.createDiv(); @@ -186,13 +186,6 @@ export class MapBasesView extends BasesView { const points = this.extractPointsFromData(); - if (points.length === 0) { - this.mapEl.empty(); - const emptyState = this.mapEl.createDiv({ cls: 'map-empty-state' }); - emptyState.textContent = 'No entries with valid coordinates found'; - return; - } - const isEmbedded = this.isEmbedded(); const height = isEmbedded ? `${this.mapHeight}px` : '100%'; From a312ea5c81eebb4cac21fff29d44aa5d4ba403d1 Mon Sep 17 00:00:00 2001 From: ccmdi Date: Mon, 13 Oct 2025 16:14:13 -0400 Subject: [PATCH 2/2] Settable transition duration --- manifest.json | 2 +- src/main.ts | 20 +------------------- src/map-renderer.ts | 2 +- src/settings/map-settings.ts | 34 +++++++++++++++++++++++++++++++++- versions.json | 3 ++- 5 files changed, 38 insertions(+), 23 deletions(-) diff --git a/manifest.json b/manifest.json index 17552ef..6faa9d2 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "mapplus", "name": "Map+", - "version": "1.0.1", + "version": "1.0.2", "minAppVersion": "1.10.0", "description": "A performant and customizable map inside Bases", "author": "ccmdi", diff --git a/src/main.ts b/src/main.ts index 46936a5..d3596c6 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,25 +1,7 @@ import { Plugin } from 'obsidian'; import { MapBasesView } from './views/map-bases-view'; import { MapTagSettings, DEFAULT_MAP_TAG_SETTINGS } from './settings/map-tag-settings'; -import { MapSettingTab } from './settings/map-settings'; - -interface MapPluginSettings { - latKey: string; - lngKey: string; - strokeWidth: number; - iconFill: boolean; - autoCenter: boolean; - tagSettings: MapTagSettings; -} - -const DEFAULT_SETTINGS: MapPluginSettings = { - latKey: '', - lngKey: '', - strokeWidth: 2.5, - iconFill: false, - autoCenter: true, - tagSettings: DEFAULT_MAP_TAG_SETTINGS -}; +import { MapSettingTab, MapPluginSettings, DEFAULT_SETTINGS } from './settings/map-settings'; export default class MapPlugin extends Plugin { settings: MapPluginSettings; diff --git a/src/map-renderer.ts b/src/map-renderer.ts index f6302d2..80ad7cf 100644 --- a/src/map-renderer.ts +++ b/src/map-renderer.ts @@ -342,7 +342,7 @@ export function updateMapPoints(deck: Deck, points: MapPoint[], c initialViewState: { MapView: { ...targetViewState, - transitionDuration: 800, + transitionDuration: settings.transitionDuration, transitionInterpolator: new FlyToInterpolator(), transitionEasing: easeCubic, } diff --git a/src/settings/map-settings.ts b/src/settings/map-settings.ts index 15aba61..f013378 100644 --- a/src/settings/map-settings.ts +++ b/src/settings/map-settings.ts @@ -1,6 +1,26 @@ import { PluginSettingTab, App, Setting } from "obsidian"; import MapPlugin from "../main"; -import { renderTagCustomizations } from "./map-tag-settings"; +import { DEFAULT_MAP_TAG_SETTINGS, MapTagSettings, renderTagCustomizations } from "./map-tag-settings"; + +export interface MapPluginSettings { + latKey: string; + lngKey: string; + strokeWidth: number; + iconFill: boolean; + autoCenter: boolean; + transitionDuration: number; + tagSettings: MapTagSettings; +} + +export const DEFAULT_SETTINGS: MapPluginSettings = { + latKey: '', + lngKey: '', + strokeWidth: 2.5, + iconFill: false, + autoCenter: true, + transitionDuration: 1000, + tagSettings: DEFAULT_MAP_TAG_SETTINGS +}; export class MapSettingTab extends PluginSettingTab { plugin: MapPlugin; @@ -70,6 +90,18 @@ export class MapSettingTab extends PluginSettingTab { this.plugin.settings.autoCenter = value; await this.plugin.saveSettings(); })); + + new Setting(containerEl) + .setName('Transition duration') + .setDesc('Duration of the transition when changing view state') + .addSlider(slider => slider + .setLimits(0, 2000, 100) + .setValue(this.plugin.settings.transitionDuration) + .setDynamicTooltip() + .onChange(async (value) => { + this.plugin.settings.transitionDuration = value; + await this.plugin.saveSettings(); + })); renderTagCustomizations(containerEl, this.app, this.plugin); } diff --git a/versions.json b/versions.json index 78932a2..7d0c02a 100644 --- a/versions.json +++ b/versions.json @@ -1,4 +1,5 @@ { "1.0.0": "1.10.0", - "1.0.1": "1.10.0" + "1.0.1": "1.10.0", + "1.0.2": "1.10.0" }