{"version":3,"sources":["webpack:///./app/javascript/utilities/getUserDataAndCsrfToken.js","webpack:///./app/javascript/packs/hideBookmarkButtons.js"],"names":["getWaitOnUserDataHandler","_ref","resolve","reject","_ref$safe","safe","_ref$waitTime","waitTime","totalTimeWaiting","waitingOnUserData","user","csrfToken","Error","element","document","querySelector","content","undefined","body","dataset","currentUser","JSON","parse","setTimeout","getUserDataAndCsrfTokenSafely","Promise","getUserDataAndCsrfToken","then","currentUserId","id","querySelectorAll","forEach","button","articleAuthorId","classList","add"],"mappings":"2FAAA,oEAMA,IAAMA,EAA2B,SAAHC,GAKvB,IAJLC,EAAOD,EAAPC,QACAC,EAAMF,EAANE,OAAMC,EAAAH,EACNI,YAAI,IAAAD,GAAQA,EAAAE,EAAAL,EACZM,gBAAQ,IAAAD,EAAG,GAAEA,EAETE,EAAmB,EAEvB,OAAO,SAASC,IACd,GAAyB,MAArBD,EACF,OAAKH,OAIHH,EAAQ,CAAEQ,OAAMC,mBAHhBR,EAAO,IAAIS,MAAM,qCAQrB,IAxBIC,EAwBEF,GAAyBG,SAtBd,QAFbD,EAAUC,SAASC,cAAc,4BAEbF,EAAQG,aAAUC,GAuBlCP,EAASI,SAASI,KAAKC,QAAvBT,KAER,GAAIA,QAAsBO,IAAdN,EAAZ,CACE,IAAMS,EAAcC,KAAKC,MAAMZ,GAE/BR,EAAQ,CAAEkB,cAAaT,aAEzB,MAEAH,GAAoBD,EACpBgB,WAAWd,EAAmBF,EAChC,CACF,EAEO,SAASiB,IACd,OAAO,IAAIC,SAAQ,SAACvB,EAASC,GAE3BH,EAAyB,CAAEE,UAASC,SAAQE,MAD/B,GACbL,EACF,GACF,CAEO,SAAS0B,IACd,OAAO,IAAID,SAAQ,SAACvB,EAASC,GAC3BH,EAAyB,CAAEE,UAASC,UAApCH,EACF,GACF,C,mCCnDA,oBAEAwB,cAAgCG,MAAK,SAAA1B,GAAsB,IAAnBmB,EAAWnB,EAAXmB,YAChCQ,EAAgBR,GAAeA,EAAYS,GAEjDf,SAASgB,iBAAiB,oBAAoBC,SAAQ,SAACC,GACrD,IAAQC,EAAoBD,EAAOb,QAA3Bc,gBACJL,GAAiBK,GAAmBL,GACtCI,EAAOE,UAAUC,IAAI,SAEzB,GACF,G","file":"js/hideBookmarkButtons-24f292e650419f10f092.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 = ({\n resolve,\n reject,\n safe = false,\n waitTime = 20,\n}) => {\n let totalTimeWaiting = 0;\n\n return function waitingOnUserData() {\n if (totalTimeWaiting === 3000) {\n if (!safe) {\n reject(new Error(\"Couldn't find user data on page.\"));\n return;\n } \n resolve({ user, csrfToken });\n return;\n \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 getUserDataAndCsrfTokenSafely() {\n return new Promise((resolve, reject) => {\n const safe = true;\n getWaitOnUserDataHandler({ resolve, reject, safe })();\n });\n}\n\nexport function getUserDataAndCsrfToken() {\n return new Promise((resolve, reject) => {\n getWaitOnUserDataHandler({ resolve, reject })();\n });\n}\n","import { getUserDataAndCsrfTokenSafely } from '@utilities/getUserDataAndCsrfToken';\n\ngetUserDataAndCsrfTokenSafely().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":""}