diff --git a/app/screenshots/ScreenshotHelper.mjs b/app/screenshots/ScreenshotHelper.mjs index 934a6b9..6acac0c 100644 --- a/app/screenshots/ScreenshotHelper.mjs +++ b/app/screenshots/ScreenshotHelper.mjs @@ -20,6 +20,8 @@ export default class ScreenshotHelper /** @type {puppeteer.Viewport} */ #viewport = null; + defaultParams = null; + get isOpen() { return !!this.#browser; } @@ -67,6 +69,13 @@ export default class ScreenshotHelper // Navigate to the URL let url = new URL(`http://localhost:${this.#httpServer.port}/screenshots/`); url.hash = path; + + if (this.defaultParams) { + for (let key in this.defaultParams) { + url.searchParams.set(key, this.defaultParams[key]); + } + } + await this.#page.goto(url, { waitUntil: 'networkidle0', // Wait until the network is idle }); diff --git a/app/twitter/generators/TweetGenerator.mjs b/app/twitter/generators/TweetGenerator.mjs index 8cc12ff..4c72c1c 100644 --- a/app/twitter/generators/TweetGenerator.mjs +++ b/app/twitter/generators/TweetGenerator.mjs @@ -78,6 +78,7 @@ export default class TweetGenerator const tweet = new Tweet; tweet.status = await this._getStatus(); + await this._prepareScreenshotHelper(screenshotHelper); let media = await this._getMedia(screenshotHelper); if (media && !Array.isArray(media)) { media = [media]; @@ -87,6 +88,12 @@ export default class TweetGenerator return tweet; } + async _prepareScreenshotHelper(screenshotHelper) { + await this.preparePinia(); + let time = useTimeStore().now; + screenshotHelper.defaultParams = { time }; + } + async _getStatus () { // }