From 34fec579cb21e427bc831972e3ef036c14387f23 Mon Sep 17 00:00:00 2001 From: Jacobtread Date: Mon, 30 Mar 2026 15:32:56 +1300 Subject: [PATCH] refactor: remove index.ts from timekeep directory and use imports directly --- src/components/pdf/renderer.ts | 2 +- src/components/timesheetCounters.ts | 7 ++++++- src/components/timesheetRowContent.ts | 10 +++------ src/components/timesheetRowContentEditing.ts | 2 +- src/components/timesheetRowDuration.ts | 2 +- src/components/timesheetStart.ts | 3 ++- src/components/timesheetStartEditing.ts | 3 ++- src/components/timesheetStartRunning.ts | 3 ++- src/components/timesheetTable.ts | 2 +- src/export/index.ts | 3 ++- src/export/markdown-table.ts | 2 +- src/main.ts | 7 ++++--- src/timekeep/index.ts | 22 -------------------- src/timekeep/stopFileTimekeeps.ts | 3 ++- src/views/timekeep-locator-modal.ts | 2 +- src/views/timekeep-status-bar-view.ts | 3 ++- 16 files changed, 31 insertions(+), 45 deletions(-) delete mode 100644 src/timekeep/index.ts diff --git a/src/components/pdf/renderer.ts b/src/components/pdf/renderer.ts index be6b47f..ef79140 100644 --- a/src/components/pdf/renderer.ts +++ b/src/components/pdf/renderer.ts @@ -11,7 +11,7 @@ import pdfMake from "pdfmake"; import type { TimekeepSettings } from "@/settings"; import type { TimeEntry, Timekeep } from "@/timekeep/schema"; -import { getEntryDuration, getTotalDuration } from "@/timekeep"; +import { getEntryDuration, getTotalDuration } from "@/timekeep/queries"; import { formatDurationLong, formatDurationShort, diff --git a/src/components/timesheetCounters.ts b/src/components/timesheetCounters.ts index 40d9a22..fda22ab 100644 --- a/src/components/timesheetCounters.ts +++ b/src/components/timesheetCounters.ts @@ -5,7 +5,12 @@ import type { TimekeepSettings } from "@/settings"; import type { Store } from "@/store"; import type { Timekeep } from "@/timekeep/schema"; -import { getEntryDuration, getRunningEntry, getTotalDuration, isKeepRunning } from "@/timekeep"; +import { + getEntryDuration, + getRunningEntry, + getTotalDuration, + isKeepRunning, +} from "@/timekeep/queries"; import { formatDuration } from "@/utils/time"; import { TimesheetTimer } from "./timesheetTimer"; diff --git a/src/components/timesheetRowContent.ts b/src/components/timesheetRowContent.ts index eccb542..1a9b022 100644 --- a/src/components/timesheetRowContent.ts +++ b/src/components/timesheetRowContent.ts @@ -3,14 +3,10 @@ import { App, Component } from "obsidian"; import { TimekeepSettings } from "@/settings"; import { Store } from "@/store"; -import { - getRunningEntry, - isEntryRunning, - setEntryCollapsed, - startNewNestedEntry, - updateEntry, -} from "@/timekeep"; +import { getRunningEntry, isEntryRunning } from "@/timekeep/queries"; import { TimeEntry, Timekeep } from "@/timekeep/schema"; +import { startNewNestedEntry } from "@/timekeep/start"; +import { setEntryCollapsed, updateEntry } from "@/timekeep/update"; import { formatTimestamp } from "@/utils/time"; import { createObsidianIcon } from "./obsidianIcon"; diff --git a/src/components/timesheetRowContentEditing.ts b/src/components/timesheetRowContentEditing.ts index 12c844b..bc1d8fd 100644 --- a/src/components/timesheetRowContentEditing.ts +++ b/src/components/timesheetRowContentEditing.ts @@ -2,8 +2,8 @@ import { App, Component } from "obsidian"; import { TimekeepSettings } from "@/settings"; import { Store } from "@/store"; -import { removeEntry, updateEntry } from "@/timekeep"; import { TimeEntry, Timekeep } from "@/timekeep/schema"; +import { removeEntry, updateEntry } from "@/timekeep/update"; import { formatEditableTimestamp, parseEditableTimestamp } from "@/utils/time"; import { ConfirmModal } from "@/views/confirm-modal"; diff --git a/src/components/timesheetRowDuration.ts b/src/components/timesheetRowDuration.ts index 989a773..1285da5 100644 --- a/src/components/timesheetRowDuration.ts +++ b/src/components/timesheetRowDuration.ts @@ -1,7 +1,7 @@ import moment from "moment"; import { Component } from "obsidian"; -import { getEntryDuration, isEntryRunning } from "@/timekeep"; +import { getEntryDuration, isEntryRunning } from "@/timekeep/queries"; import { TimeEntry } from "@/timekeep/schema"; import { formatDurationLong } from "@/utils/time"; diff --git a/src/components/timesheetStart.ts b/src/components/timesheetStart.ts index 2af250f..898cddb 100644 --- a/src/components/timesheetStart.ts +++ b/src/components/timesheetStart.ts @@ -6,7 +6,8 @@ import type { Store } from "@/store"; import type { Timekeep } from "@/timekeep/schema"; import { TimekeepAutocomplete } from "@/service/autocomplete"; -import { getRunningEntry, startNewEntry } from "@/timekeep"; +import { getRunningEntry } from "@/timekeep/queries"; +import { startNewEntry } from "@/timekeep/start"; import { createObsidianIcon } from "./obsidianIcon"; import { TimesheetNameInput } from "./timesheetNameInput"; diff --git a/src/components/timesheetStartEditing.ts b/src/components/timesheetStartEditing.ts index f2a9dba..a8aaad9 100644 --- a/src/components/timesheetStartEditing.ts +++ b/src/components/timesheetStartEditing.ts @@ -4,7 +4,8 @@ import type { TimekeepSettings } from "@/settings"; import type { Store } from "@/store"; import type { Timekeep } from "@/timekeep/schema"; -import { getRunningEntry, updateEntry } from "@/timekeep"; +import { getRunningEntry } from "@/timekeep/queries"; +import { updateEntry } from "@/timekeep/update"; import { createObsidianIcon } from "./obsidianIcon"; diff --git a/src/components/timesheetStartRunning.ts b/src/components/timesheetStartRunning.ts index 3f4c4e5..d7ea177 100644 --- a/src/components/timesheetStartRunning.ts +++ b/src/components/timesheetStartRunning.ts @@ -5,7 +5,8 @@ import type { TimekeepSettings } from "@/settings"; import type { Store } from "@/store"; import type { TimeEntry, Timekeep } from "@/timekeep/schema"; -import { getPathToEntry, stopRunningEntries } from "@/timekeep"; +import { getPathToEntry } from "@/timekeep/queries"; +import { stopRunningEntries } from "@/timekeep/update"; import { formatTimestamp } from "@/utils/time"; import { createObsidianIcon } from "./obsidianIcon"; diff --git a/src/components/timesheetTable.ts b/src/components/timesheetTable.ts index 8142c6d..8c52830 100644 --- a/src/components/timesheetTable.ts +++ b/src/components/timesheetTable.ts @@ -4,7 +4,7 @@ import type { TimekeepSettings } from "@/settings"; import type { Store } from "@/store"; import type { Timekeep } from "@/timekeep/schema"; -import { getEntriesSorted } from "@/timekeep"; +import { getEntriesSorted } from "@/timekeep/sort"; import { TimesheetRowContainer } from "./timesheetRowContainer"; diff --git a/src/export/index.ts b/src/export/index.ts index dcf7caf..808c3e4 100644 --- a/src/export/index.ts +++ b/src/export/index.ts @@ -1,8 +1,9 @@ import type { Moment } from "moment"; import { TimekeepSettings } from "@/settings"; -import { getEntryDuration, getEntriesSorted } from "@/timekeep"; +import { getEntryDuration } from "@/timekeep/queries"; import { TimeEntry } from "@/timekeep/schema"; +import { getEntriesSorted } from "@/timekeep/sort"; import { formatDuration, formatTimestamp } from "@/utils/time"; export { createCSV } from "./csv"; diff --git a/src/export/markdown-table.ts b/src/export/markdown-table.ts index 67002d5..ed3fcd4 100644 --- a/src/export/markdown-table.ts +++ b/src/export/markdown-table.ts @@ -2,7 +2,7 @@ import type { Moment } from "moment"; import { RawTableRow, TOTAL_COLUMNS, createRawTable } from "@/export"; import { DurationFormat, TimekeepSettings } from "@/settings"; -import { getTotalDuration } from "@/timekeep"; +import { getTotalDuration } from "@/timekeep/queries"; import { Timekeep, TimeEntry } from "@/timekeep/schema"; import { formatDuration } from "@/utils/time"; diff --git a/src/main.ts b/src/main.ts index 47d89bb..a7a9fb1 100644 --- a/src/main.ts +++ b/src/main.ts @@ -4,6 +4,7 @@ import type { Vault, TFile, PluginManifest, App } from "obsidian"; import { Plugin } from "obsidian"; import type { CustomOutputFormat } from "@/output"; +import type { Store } from "@/store"; import type { Timekeep, TimeEntry } from "@/timekeep/schema"; import createMerged from "@/commands/createMerged"; @@ -16,15 +17,15 @@ import { TimekeepAutocomplete } from "@/service/autocomplete"; import { TimekeepRegistry } from "@/service/registry"; import { defaultSettings, TimekeepSettings, legacySettingsCompatibility } from "@/settings"; import { TimekeepSettingsTab } from "@/settings-tab"; -import { type Store, createStore } from "@/store"; +import { createStore } from "@/store"; +import { replaceTimekeepCodeblock, extractTimekeepCodeblocks } from "@/timekeep/parser"; import { isKeepRunning, isEntryRunning, getRunningEntry, getEntryDuration, getTotalDuration, -} from "@/timekeep"; -import { replaceTimekeepCodeblock, extractTimekeepCodeblocks } from "@/timekeep/parser"; +} from "@/timekeep/queries"; import { stopAllTimekeeps } from "@/timekeep/stopAllTimekeeps"; import { stopFileTimekeeps } from "@/timekeep/stopFileTimekeeps"; import { TimekeepMarkdownView } from "@/views/timekeep-markdown-view"; diff --git a/src/timekeep/index.ts b/src/timekeep/index.ts deleted file mode 100644 index d81647d..0000000 --- a/src/timekeep/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -export { getEntriesSorted } from "./sort"; -export { startNewEntry, startNewNestedEntry } from "./start"; -export { withEntry, createEntry, withSubEntry } from "./create"; - -export { - removeEntry, - updateEntry, - removeSubEntry, - setEntryCollapsed, - stopRunningEntries, -} from "./update"; - -export { - getEntryById, - getStartTime, - isKeepRunning, - getPathToEntry, - isEntryRunning, - getRunningEntry, - getEntryDuration, - getTotalDuration, -} from "./queries"; diff --git a/src/timekeep/stopFileTimekeeps.ts b/src/timekeep/stopFileTimekeeps.ts index e726d8d..0124407 100644 --- a/src/timekeep/stopFileTimekeeps.ts +++ b/src/timekeep/stopFileTimekeeps.ts @@ -3,8 +3,9 @@ import type { TFile, Vault } from "obsidian"; import type { Timekeep } from "@/timekeep/schema"; -import { getRunningEntry, stopRunningEntries } from "@/timekeep"; import { replaceTimekeepCodeblock, extractTimekeepCodeblocksWithPosition } from "@/timekeep/parser"; +import { getRunningEntry } from "@/timekeep/queries"; +import { stopRunningEntries } from "@/timekeep/update"; /** * Stops all timekeeps in the provided file if there are any running. diff --git a/src/views/timekeep-locator-modal.ts b/src/views/timekeep-locator-modal.ts index 4099857..c0b8474 100644 --- a/src/views/timekeep-locator-modal.ts +++ b/src/views/timekeep-locator-modal.ts @@ -1,7 +1,7 @@ import { App, TFile, SuggestModal } from "obsidian"; -import { getRunningEntry } from "@/timekeep"; import { extractTimekeepCodeblocks } from "@/timekeep/parser"; +import { getRunningEntry } from "@/timekeep/queries"; import { Timekeep, TimeEntry } from "@/timekeep/schema"; interface TimekeepResult { diff --git a/src/views/timekeep-status-bar-view.ts b/src/views/timekeep-status-bar-view.ts index b4c185e..d8804ba 100644 --- a/src/views/timekeep-status-bar-view.ts +++ b/src/views/timekeep-status-bar-view.ts @@ -3,12 +3,13 @@ import { App, Component, MarkdownView, Notice } from "obsidian"; import { TimesheetStatusBarItem } from "@/components/timesheetStatusBarItem"; import { TimekeepRegistry, TimekeepRegistryEntry } from "@/service/registry"; -import { getRunningEntry, stopRunningEntries } from "@/timekeep"; import { extractTimekeepCodeblocksWithPosition, replaceTimekeepCodeblock, TimekeepWithPosition, } from "@/timekeep/parser"; +import { getRunningEntry } from "@/timekeep/queries"; +import { stopRunningEntries } from "@/timekeep/update"; export class TimekeepStatusBarView extends Component { /** Parent container element */