import RatingModalView from "./RatingModalView.svelte"; import { App } from "obsidian"; import { SvelteModal } from "./SvelteModal"; export class RatingModal extends SvelteModal { constructor( app: App, spiceConfigured: boolean, onSubmit: (rating: number, spice: number) => void = () => {} ) { super(app, RatingModalView, { app, spiceConfigured, onSubmit }); } static createAndOpen( app: App, spiceConfigured: boolean ): Promise<{ rating: number; spice: number }> { return new Promise((resolve) => { const modal = new RatingModal( app, spiceConfigured, (rating, spice) => { modal.close(); resolve({ rating, spice }); } ); modal.open(); }); } }