Move settings into ui directory

This commit is contained in:
Evan Fiordeliso 2025-06-29 19:45:27 -04:00
parent 259b939bbb
commit 42ba4c306f
12 changed files with 41 additions and 42 deletions

View File

@ -1,9 +1,9 @@
import { Notice, Plugin, requestUrl } from "obsidian"; import { Notice, Plugin, requestUrl } from "obsidian";
import { import {
type BookTrackerPluginSettings, type BookTrackerPluginSettings,
BookTrackerSettingTab,
DEFAULT_SETTINGS, DEFAULT_SETTINGS,
} from "./settings/settings"; BookTrackerSettingTab,
} from "@ui/settings";
import { getBookByLegacyId, type SearchResult } from "@data-sources/goodreads"; import { getBookByLegacyId, type SearchResult } from "@data-sources/goodreads";
import { Templater } from "@utils/templater"; import { Templater } from "@utils/templater";
import { import {

View File

@ -1,7 +1,7 @@
<script lang="ts"> <script lang="ts">
import type { ReadingLogEntry } from "@src/types"; import type { ReadingLogEntry } from "@src/types";
import type { App } from "obsidian"; import type { App } from "obsidian";
import { BookSuggest } from "@settings/suggesters/book"; import { BookSuggest } from "@ui/suggesters";
interface Props { interface Props {
app: App; app: App;
entry?: ReadingLogEntry; entry?: ReadingLogEntry;

View File

@ -1,40 +1,6 @@
import BookTrackerPlugin from "@src/main"; import BookTrackerPlugin from "@src/main";
import { App, PluginSettingTab, Setting } from "obsidian"; import { App, PluginSettingTab, Setting } from "obsidian";
import { FileSuggest } from "./suggesters/file"; import { FileSuggest, FolderSuggest, FieldSuggest } from "@ui/suggesters";
import { FolderSuggest } from "./suggesters/folder";
import { FieldSuggest } from "./suggesters/field";
export interface BookTrackerPluginSettings {
templateFile: string;
tbrDirectory: string;
fileNameFormat: string;
downloadCovers: boolean;
coverDirectory: string;
groupCoversByFirstLetter: boolean;
overwriteExistingCovers: boolean;
statusProperty: string;
startDateProperty: string;
endDateProperty: string;
ratingProperty: string;
pageLengthProperty: string;
readingLogDirectory: string;
}
export const DEFAULT_SETTINGS: BookTrackerPluginSettings = {
templateFile: "",
tbrDirectory: "books/tbr",
fileNameFormat: "{{title}} - {{authors}}",
downloadCovers: false,
coverDirectory: "images/covers",
groupCoversByFirstLetter: true,
overwriteExistingCovers: false,
statusProperty: "status",
startDateProperty: "startDate",
endDateProperty: "endDate",
ratingProperty: "rating",
pageLengthProperty: "pageLength",
readingLogDirectory: "reading-logs",
};
export class BookTrackerSettingTab extends PluginSettingTab { export class BookTrackerSettingTab extends PluginSettingTab {
constructor(app: App, private plugin: BookTrackerPlugin) { constructor(app: App, private plugin: BookTrackerPlugin) {

2
src/ui/settings/index.ts Normal file
View File

@ -0,0 +1,2 @@
export { BookTrackerSettingTab } from "./BookTrackerSettingTab";
export { type BookTrackerPluginSettings, DEFAULT_SETTINGS } from "./types";

31
src/ui/settings/types.ts Normal file
View File

@ -0,0 +1,31 @@
export interface BookTrackerPluginSettings {
templateFile: string;
tbrDirectory: string;
fileNameFormat: string;
downloadCovers: boolean;
coverDirectory: string;
groupCoversByFirstLetter: boolean;
overwriteExistingCovers: boolean;
statusProperty: string;
startDateProperty: string;
endDateProperty: string;
ratingProperty: string;
pageLengthProperty: string;
readingLogDirectory: string;
}
export const DEFAULT_SETTINGS: BookTrackerPluginSettings = {
templateFile: "",
tbrDirectory: "books/tbr",
fileNameFormat: "{{title}} - {{authors}}",
downloadCovers: false,
coverDirectory: "images/covers",
groupCoversByFirstLetter: true,
overwriteExistingCovers: false,
statusProperty: "status",
startDateProperty: "startDate",
endDateProperty: "endDate",
ratingProperty: "rating",
pageLengthProperty: "pageLength",
readingLogDirectory: "reading-logs",
};

View File

@ -1,5 +1,3 @@
// Credits go to Liam's Periodic Notes Plugin: https://github.com/liamcain/obsidian-periodic-notes
import { TAbstractFile, TFile } from "obsidian"; import { TAbstractFile, TFile } from "obsidian";
import { TextInputSuggest } from "./core"; import { TextInputSuggest } from "./core";

View File

@ -0,0 +1,4 @@
export { BookSuggest } from "./BookSuggest";
export { FieldSuggest } from "./FieldSuggest";
export { FileSuggest } from "./FileSuggest";
export { FolderSuggest } from "./FolderSuggest";

View File

@ -21,10 +21,8 @@
], ],
"paths": { "paths": {
"@data-sources/*": ["src/data-sources/*"], "@data-sources/*": ["src/data-sources/*"],
"@settings/*": ["src/settings/*"],
"@ui/*": ["src/ui/*"], "@ui/*": ["src/ui/*"],
"@utils/*": ["src/utils/*"], "@utils/*": ["src/utils/*"],
"@views/*": ["src/views/*"],
"@src/*": ["src/*"] "@src/*": ["src/*"]
} }
}, },