{"version":3,"sources":["webpack:///./app/javascript/utilities/getUserDataAndCsrfToken.js","webpack:///./app/javascript/packs/hideBookmarkButtons.js"],"names":["getWaitOnUserDataHandler","resolve","reject","waitTime","totalTimeWaiting","waitingOnUserData","element","csrfToken","document","querySelector","content","undefined","user","body","dataset","currentUser","JSON","parse","setTimeout","Error","getUserDataAndCsrfToken","Promise","then","currentUserId","id","querySelectorAll","forEach","button","articleAuthorId","classList","add"],"mappings":"2FAAA,kCAMA,IAAMA,EAA2B,SAAH,GAA4C,IAAtCC,EAAO,EAAPA,QAASC,EAAM,EAANA,OAAO,EAAD,EAAEC,gBAAQ,MAAG,GAAE,EAC5DC,EAAmB,EAEvB,OAAO,SAASC,IACd,GAAyB,MAArBD,EAAJ,CAKA,IAdIE,EAcEC,GAAyBC,SAZd,QAFbF,EAAUE,SAASC,cAAc,4BAEbH,EAAQI,aAAUC,GAalCC,EAASJ,SAASK,KAAKC,QAAvBF,KAER,GAAIA,QAAsBD,IAAdJ,EAAZ,CACE,IAAMQ,EAAcC,KAAKC,MAAML,GAE/BX,EAAQ,CAAEc,cAAaR,aAEzB,MAEAH,GAAoBD,EACpBe,WAAWb,EAAmBF,EAb9B,MAFED,EAAO,IAAIiB,MAAM,oCAgBrB,CACF,EAEO,SAASC,IACd,OAAO,IAAIC,SAAQ,SAACpB,EAASC,GAC3BF,EAAyB,CAAEC,UAASC,UAApCF,EACF,GACF,C,mCClCA,oBAEAoB,cAA0BE,MAAK,YAAsB,IAAnBP,EAAW,EAAXA,YAC1BQ,EAAgBR,GAAeA,EAAYS,GAEjDhB,SAASiB,iBAAiB,oBAAoBC,SAAQ,SAACC,GACrD,IAAQC,EAAoBD,EAAOb,QAA3Bc,gBACJL,GAAiBK,GAAmBL,GACtCI,EAAOE,UAAUC,IAAI,SAEzB,GACF,G","file":"js/hideBookmarkButtons-06a7efc2057cf3815673.chunk.js","sourcesContent":["export function getCsrfToken() {\n const element = document.querySelector(`meta[name='csrf-token']`);\n\n return element !== null ? element.content : undefined;\n}\n\nconst getWaitOnUserDataHandler = ({ resolve, reject, waitTime = 20 }) => {\n let totalTimeWaiting = 0;\n\n return function waitingOnUserData() {\n if (totalTimeWaiting === 3000) {\n reject(new Error(\"Couldn't find user data on page.\"));\n return;\n }\n\n const csrfToken = getCsrfToken(document);\n const { user } = document.body.dataset;\n\n if (user && csrfToken !== undefined) {\n const currentUser = JSON.parse(user);\n\n resolve({ currentUser, csrfToken });\n return;\n }\n\n totalTimeWaiting += waitTime;\n setTimeout(waitingOnUserData, waitTime);\n };\n};\n\nexport function getUserDataAndCsrfToken() {\n return new Promise((resolve, reject) => {\n getWaitOnUserDataHandler({ resolve, reject })();\n });\n}\n","import { getUserDataAndCsrfToken } from '@utilities/getUserDataAndCsrfToken';\n\ngetUserDataAndCsrfToken().then(({ currentUser }) => {\n const currentUserId = currentUser && currentUser.id;\n\n document.querySelectorAll('.bookmark-button').forEach((button) => {\n const { articleAuthorId } = button.dataset;\n if (currentUserId && articleAuthorId == currentUserId) {\n button.classList.add('hidden');\n }\n });\n});\n"],"sourceRoot":""}