{ "version": 3, "sources": ["announcement_controller-e31e519f.js"], "sourcesContent": ["import { Controller } from \"@hotwired/stimulus\"\n\nconst CLOSED_ANNOUNCEMENTS_LOCAL_STORAGE_KEY = \"hiddenAnnouncements\"\nconst SEPARATOR = \",\"\n\nexport default class extends Controller {\n static values = {\n announcementKey: String\n }\n\n static classes = [\n \"hidden\"\n ]\n\n initialize() {\n const hasBeenClosed = this.#checkHasBeenClosed()\n const shouldShow = !hasBeenClosed\n\n if (shouldShow) {\n this.#show()\n }\n\n this.#migrateAnnouncementsStorage()\n }\n\n dismiss() {\n this.#markHasBeenClosed()\n this.#hide()\n }\n\n #hide() {\n this.element.classList.add(this.hiddenClass)\n }\n\n #show() {\n this.element.classList.remove(this.hiddenClass)\n }\n\n #getClosedAnnouncements() {\n const baseString = localStorage.getItem(CLOSED_ANNOUNCEMENTS_LOCAL_STORAGE_KEY) || \"\"\n return baseString.split(SEPARATOR)\n }\n\n #setClosedAnnouncements(newClosedAnnouncements) {\n const closedAnnouncementsString = newClosedAnnouncements.join(SEPARATOR)\n localStorage.setItem(CLOSED_ANNOUNCEMENTS_LOCAL_STORAGE_KEY, closedAnnouncementsString)\n }\n\n #markHasBeenClosed() {\n const newClosedAnnouncements = this.#getClosedAnnouncements()\n newClosedAnnouncements.push(this.announcementKeyValue)\n\n this.#setClosedAnnouncements(newClosedAnnouncements)\n }\n\n #checkHasBeenClosed() {\n const closedAnnouncements = this.#getClosedAnnouncements()\n return closedAnnouncements.includes(this.announcementKeyValue)\n }\n\n #migrateAnnouncementsStorage() {\n const [thisAnnouncementID] = this.announcementKeyValue.split(\":\")\n\n const existingHiddenAnnouncements = this.#getClosedAnnouncements()\n\n const revisedHiddenAnnouncements = existingHiddenAnnouncements.filter((hiddenAnnouncementKey) => {\n const [hiddenAnnouncementID] = hiddenAnnouncementKey.split(\":\")\n return !(hiddenAnnouncementID === thisAnnouncementID && hiddenAnnouncementKey !== this.announcementKeyValue)\n })\n\n this.#setClosedAnnouncements(revisedHiddenAnnouncements)\n }\n}\n"], "mappings": "4ZAAA,gFAEA,KAAM,GAAyC,sBACzC,EAAY,IAElB,qBAAO,SAAsB,EAAW,CAAxC,kCAyBE,UAIA,UAIA,UAKA,UAKA,UAOA,UAKA,UA9CA,YAAa,CAIX,AAAI,AAFe,CADG,OAAK,KAAL,YAIpB,OAAK,KAAL,WAGF,OAAK,KAAL,UACF,CAEA,SAAU,CACR,OAAK,KAAL,WACA,OAAK,KAAL,UACF,CA4CF,CA1CE,gBAAK,UAAG,CACN,KAAK,QAAQ,UAAU,IAAI,KAAK,WAAW,CAC7C,EAEA,gBAAK,UAAG,CACN,KAAK,QAAQ,UAAU,OAAO,KAAK,WAAW,CAChD,EAEA,gBAAuB,UAAG,CAExB,MAAO,AADY,cAAa,QAAQ,CAAsC,GAAK,IACjE,MAAM,CAAS,CACnC,EAEA,gBAAuB,SAAC,EAAwB,CAC9C,KAAM,GAA4B,EAAuB,KAAK,CAAS,EACvE,aAAa,QAAQ,EAAwC,CAAyB,CACxF,EAEA,gBAAkB,UAAG,CACnB,KAAM,GAAyB,OAAK,KAAL,WAC/B,EAAuB,KAAK,KAAK,oBAAoB,EAErD,OAAK,KAAL,UAA6B,EAC/B,EAEA,gBAAmB,UAAG,CAEpB,MAAO,AADqB,QAAK,KAAL,WACD,SAAS,KAAK,oBAAoB,CAC/D,EAEA,gBAA4B,UAAG,CAC7B,KAAM,CAAC,GAAsB,KAAK,qBAAqB,MAAM,GAAG,EAI1D,EAA6B,AAFC,OAAK,KAAL,WAE2B,OAAO,AAAC,GAA0B,CAC/F,KAAM,CAAC,GAAwB,EAAsB,MAAM,GAAG,EAC9D,MAAO,CAAE,KAAyB,GAAsB,IAA0B,KAAK,qBACzF,CAAC,EAED,OAAK,KAAL,UAA6B,EAC/B,EAjEO,EADT,EACS,SAAS,CACd,gBAAiB,MACnB,GAEO,EALT,EAKS,UAAU,CACf,QACF", "names": [] }