From b87108d2d7f791cb0726c84afaf7e87c53ea1a75 Mon Sep 17 00:00:00 2001 From: kitt Date: Fri, 30 Dec 2022 23:01:45 -0500 Subject: [PATCH] Add Content Wrappers --- app/social/Status.mjs | 1 + app/social/clients/MastodonClient.mjs | 2 ++ app/social/generators/SplatfestResultsStatus.mjs | 10 ++++++++++ app/social/generators/StatusGenerator.mjs | 5 +++++ 4 files changed, 18 insertions(+) diff --git a/app/social/Status.mjs b/app/social/Status.mjs index db954c5..c124812 100644 --- a/app/social/Status.mjs +++ b/app/social/Status.mjs @@ -1,5 +1,6 @@ export default class Status { status = null; + contentWrapper = null; media = []; } diff --git a/app/social/clients/MastodonClient.mjs b/app/social/clients/MastodonClient.mjs index 8ceac8d..2d75841 100644 --- a/app/social/clients/MastodonClient.mjs +++ b/app/social/clients/MastodonClient.mjs @@ -42,6 +42,8 @@ export default class MastodonClient extends Client // Send status await masto.statuses.create({ status: status.status, + spoilerText: status.contentWrapper, + sensitive: !!status.contentWrapper, // Without the sensitive property the image is still visible mediaIds, }); } diff --git a/app/social/generators/SplatfestResultsStatus.mjs b/app/social/generators/SplatfestResultsStatus.mjs index 7333ee1..ec250a7 100644 --- a/app/social/generators/SplatfestResultsStatus.mjs +++ b/app/social/generators/SplatfestResultsStatus.mjs @@ -35,6 +35,16 @@ export default class SplatfestResultsStatus extends StatusGenerator return `Splatfest results: Team ${winningTeam.teamName} wins! #splatfest #splatoon3`; } + async _getContentWrapper() { + let festival = await this.getFestival(); + + if (!festival || !festival.hasResults) { + return false; + } + + return `${festival.title} Splatfest Results`; + } + /** @param {ScreenshotHelper} screenshotHelper */ async _getMedia(screenshotHelper) { let media = new Media; diff --git a/app/social/generators/StatusGenerator.mjs b/app/social/generators/StatusGenerator.mjs index 8f87a5a..f4a05c4 100644 --- a/app/social/generators/StatusGenerator.mjs +++ b/app/social/generators/StatusGenerator.mjs @@ -67,6 +67,7 @@ export default class StatusGenerator const status = new Status; status.status = await this._getStatus(); + status.contentWrapper = await this._getContentWrapper(); let media = await this.getMedia(screenshotHelper); if (media && !Array.isArray(media)) { @@ -87,6 +88,10 @@ export default class StatusGenerator // } + async _getContentWrapper() { + // + } + /** @param {ScreenshotHelper} screenshotHelper */ async getMedia(screenshotHelper) { await this._prepareScreenshotHelper(screenshotHelper);