{"version":3,"file":"index-49dc698d.js","sources":["../../../FE_DEV/src/containers/Heading/index.tsx"],"sourcesContent":["import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faBookmark } from '@fortawesome/free-regular-svg-icons'\nimport { Tooltip } from 'react-tooltip'\nimport { IHeader } from '@/models/IHeader'\nimport { useEffect, useState } from 'react'\nimport { IBookmark } from '@/models/IBookmark'\nimport { isPageBookmarked } from '@/utils/bookmark-checker'\nimport { bookmarksApiService } from '@/services/bookmarks-api.services'\nimport { LocalStorageHelper } from '@/utils/local-storage-helper'\n\ninterface IProps {\n\theading: string\n\tsubheading?: string\n\tshowBookmark?: boolean\n\tpageId?: number\n}\n\nexport default function Heading(props: IProps) {\n\tconst { heading, subheading, showBookmark, pageId } = props\n\tconst [isBookmarked, setIsBookmarked] = useState(false)\n\tconst [addtoBookmarkLabel, setAddtoBookmarkLabel] = useState('Add to bookmarks')\n\tconst [isOpen, setIsOpen] = useState(false)\n\n\tconst header = JSON.parse(\n\t\tlocalStorage.getItem('header-info') as string,\n\t) as IHeader\n\n\tconst onBookmarkClick = async () => {\n\t\tsetIsOpen(false)\n\t\tif (header) {\n\t\t\tconst { memberId } = header\n\t\t\tif (!isBookmarked) {\n\t\t\t\tawait bookmarksApiService.addBookmark(memberId, pageId ?? 0)\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tsetIsBookmarked(true)\n\t\t\t\t\tsetIsOpen(false)\n\t\t\t\t}, 2000)\n\t\t\t\tsetAddtoBookmarkLabel('Added to bookmarks')\n\t\t\t\tsetIsOpen(true)\n\t\t\t} else {\n\t\t\t\tawait bookmarksApiService.deleteBookmark(memberId, pageId ?? 0)\n\t\t\t\tsetIsBookmarked(false)\n\t\t\t\tsetAddtoBookmarkLabel('Add to bookmarks')\n\t\t\t}\n\t\t} else {\n\t\t\t// TODO: handle error\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif (header) {\n\t\t\tconst bookmarks = LocalStorageHelper.getItem(`bookmarks-${header.memberId}`);\n\t\t\tif (bookmarks) {\n\t\t\t\tsetIsBookmarked(isPageBookmarked(pageId ?? 0))\n\t\t\t}\n\t\t}\n\t}, [isBookmarked])\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{heading}\n\t\t\t\t\t\t

\n\t\t\t\t\t\t{subheading && (\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t{subheading}\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t\t{showBookmark && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t setIsOpen(true)}\n\t\t\t\t\t\t\t\tonMouseLeave={() => setIsOpen(false)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t)\n}\n"],"names":["Heading","props","heading","subheading","showBookmark","pageId","isBookmarked","setIsBookmarked","useState","addtoBookmarkLabel","setAddtoBookmarkLabel","isOpen","setIsOpen","header","onBookmarkClick","memberId","bookmarksApiService","useEffect","LocalStorageHelper","isPageBookmarked","jsx","jsxs","Fragment","FontAwesomeIcon","faBookmark","Tooltip"],"mappings":"keAiBA,SAAwBA,EAAQC,EAAe,CAC9C,KAAM,CAAE,QAAAC,EAAS,WAAAC,EAAY,aAAAC,EAAc,OAAAC,GAAWJ,EAChD,CAACK,EAAcC,CAAe,EAAIC,WAAkB,EAAK,EACzD,CAACC,EAAoBC,CAAqB,EAAIF,WAAiB,kBAAkB,EACjF,CAACG,EAAQC,CAAS,EAAIJ,WAAS,EAAK,EAEpCK,EAAS,KAAK,MACnB,aAAa,QAAQ,aAAa,CAAA,EAG7BC,EAAkB,SAAY,CAEnC,GADAF,EAAU,EAAK,EACXC,EAAQ,CACL,KAAA,CAAE,SAAAE,CAAa,EAAAF,EAChBP,GASJ,MAAMU,EAAoB,eAAeD,EAAUV,GAAU,CAAC,EAC9DE,EAAgB,EAAK,EACrBG,EAAsB,kBAAkB,IAVxC,MAAMM,EAAoB,YAAYD,EAAUV,GAAU,CAAC,EAC3D,WAAW,IAAM,CAChBE,EAAgB,EAAI,EACpBK,EAAU,EAAK,GACb,GAAI,EACPF,EAAsB,oBAAoB,EAC1CE,EAAU,EAAI,EAQhB,CAAA,EAGDK,OAAAA,EAAAA,UAAU,IAAM,CACXJ,GACeK,EAAmB,QAAqB,aAAaL,EAAO,QAAQ,EAAE,GAEvEN,EAAAY,EAAiBd,GAAU,CAAC,CAAC,CAE/C,EACE,CAACC,CAAY,CAAC,EAGhBc,EAAC,MAAI,CAAA,UAAU,sEACd,SAAAA,EAAC,MAAI,CAAA,UAAU,4FACd,SAAAC,EAAC,MAAI,CAAA,UAAU,8DACd,SAAA,CAACA,EAAA,MAAA,CAAI,UAAU,mBACd,SAAA,CAACD,EAAA,KAAA,CAAG,UAAU,sGACZ,SACFlB,EAAA,EACCC,GACAiB,EAAC,IAAE,CAAA,UAAU,sEACX,SACFjB,EAAA,CAAA,EAEF,EACCC,GAECiB,EAAAC,EAAA,CAAA,SAAA,CAAAF,EAAC,SAAA,CACA,QAASN,EACT,UACCR,EACG,8HACA,kHAEJ,kBAAgB,wBAChB,uBAAsB,GAAGA,EAAe,kBAAoBG,CAAkB,GAC9E,qBAAmB,SACnB,0BAAwB,8CACxB,aAAc,IAAMG,EAAU,EAAI,EAClC,aAAc,IAAMA,EAAU,EAAK,EAEnC,SAAAQ,EAACG,EAAA,CACA,KAAMC,EACN,UAAW,mBAAA,CACZ,CAAA,CACD,EACAJ,EAACK,EAAA,CACA,GAAG,wBACH,OAAAd,CAAA,CACD,CAAA,EACD,CAAA,EAGF,EACD,CACD,CAAA,CAEF"}