mirror of
https://github.com/prncc/obsidian-repeat-plugin.git
synced 2026-07-22 06:50:25 +00:00
* Add tag-based filtering to review interface Filter due notes using Dataview FROM expressions. Features: - Collapsible filter drawer with tag shortcuts showing counts - Custom query input supporting tags, folders, and complex expressions - Save/load/delete named filter presets - Filter state persists between sessions - Shows filtered vs total count in header * Limit tag display to 6 with expandable +N more button - Show only 6 tags by default in filter shortcuts - Add clickable '+N more' button that loads 6 more tags each click - Style the button with dashed border and hover effect - Reset displayed count when view refreshes - Show filter name in count when using saved filters * Document tag filtering feature in README * Make status bar clickable and load faster - Click status bar item to open Repeat view - Show 'Repeat' text immediately, update count when Dataview ready - Check if Dataview index already initialized to avoid waiting * Update README with new screenshots and documentation - Replace old screenshots with new webp images - Simplify and reorganize documentation - Add filtering feature documentation
35 lines
976 B
TypeScript
35 lines
976 B
TypeScript
import { Repeat } from "./repeat/repeatTypes";
|
|
|
|
export interface SavedFilter {
|
|
name: string;
|
|
query: string; // Dataview FROM expression, e.g. "#math" or "#math AND \"Courses\""
|
|
}
|
|
|
|
export interface RepeatPluginSettings {
|
|
showDueCountInStatusBar: boolean;
|
|
showRibbonIcon: boolean;
|
|
ignoreFolderPath: string;
|
|
morningReviewTime: string;
|
|
eveningReviewTime: string;
|
|
defaultRepeat: Repeat;
|
|
enqueueNonRepeatingNotes: boolean;
|
|
filterQuery: string; // Current Dataview FROM expression
|
|
savedFilters: SavedFilter[]; // Named filter presets
|
|
}
|
|
|
|
export const DEFAULT_SETTINGS: RepeatPluginSettings = {
|
|
showDueCountInStatusBar: true,
|
|
showRibbonIcon: true,
|
|
ignoreFolderPath: '',
|
|
morningReviewTime: '06:00',
|
|
eveningReviewTime: '18:00',
|
|
defaultRepeat: {
|
|
repeatStrategy: 'SPACED',
|
|
repeatPeriod: 1,
|
|
repeatPeriodUnit: 'DAY',
|
|
repeatTimeOfDay: 'AM',
|
|
},
|
|
enqueueNonRepeatingNotes: false,
|
|
filterQuery: '',
|
|
savedFilters: [],
|
|
};
|