12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982 |
- exports.id = 39508;
- exports.ids = [39508,9581,4461,92799,38646];
- exports.modules = {
- /***/ 69457:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- var _path, _path2;
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
- var SvgBook = function SvgBook(props) {
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
- xmlns: "http://www.w3.org/2000/svg",
- width: 24,
- height: 24,
- viewBox: "0 0 24 24",
- fill: "none",
- stroke: "currentColor",
- strokeWidth: 2,
- strokeLinecap: "round",
- strokeLinejoin: "round",
- className: "feather feather-book"
- }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
- d: "M4 19.5A2.5 2.5 0 0 1 6.5 17H20"
- })), _path2 || (_path2 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
- d: "M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"
- })));
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgBook);
- /***/ }),
- /***/ 99241:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- var _path;
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
- var SvgBookmark = function SvgBookmark(props) {
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
- xmlns: "http://www.w3.org/2000/svg",
- width: 24,
- height: 24,
- viewBox: "0 0 24 24",
- fill: "currentColor",
- stroke: "currentColor",
- strokeWidth: 2,
- strokeLinecap: "round",
- strokeLinejoin: "round",
- className: "feather feather-bookmark"
- }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
- d: "m19 21-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"
- })));
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgBookmark);
- /***/ }),
- /***/ 23359:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- var _path;
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
- var SvgInfo = function SvgInfo(props) {
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
- width: 24,
- height: 24,
- viewBox: "0 0 24 24",
- fill: "none",
- xmlns: "http://www.w3.org/2000/svg"
- }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
- d: "M11.625 0C5.208 0 0 5.208 0 11.625S5.208 23.25 11.625 23.25 23.25 18.042 23.25 11.625 18.042 0 11.625 0Zm1.162 17.438h-2.325v-6.975h2.325v6.975Zm0-9.3h-2.325V5.812h2.325v2.324Z",
- fill: "currentColor"
- })));
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgInfo);
- /***/ }),
- /***/ 52150:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- var _path;
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
- var SvgNotesEmpty = function SvgNotesEmpty(props) {
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
- width: 15,
- height: 15,
- viewBox: "0 0 15 15",
- fill: "none",
- xmlns: "http://www.w3.org/2000/svg"
- }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
- d: "M3 2.5a.5.5 0 0 1 .5-.5h5.586a.5.5 0 0 1 .353.146l2.415 2.415a.5.5 0 0 1 .146.353V12.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-10ZM3.5 1A1.5 1.5 0 0 0 2 2.5v10A1.5 1.5 0 0 0 3.5 14h8a1.5 1.5 0 0 0 1.5-1.5V4.914a1.5 1.5 0 0 0-.44-1.06l-2.414-2.415A1.5 1.5 0 0 0 9.086 1H3.5Zm1 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3Zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z",
- fill: "currentColor",
- fillRule: "evenodd",
- clipRule: "evenodd"
- })));
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgNotesEmpty);
- /***/ }),
- /***/ 38293:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- var _path, _path2;
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
- var SvgNotesFilled = function SvgNotesFilled(props) {
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
- viewBox: "1.928 0.875 11.023 13.01",
- width: 11.023,
- height: 13.01,
- xmlns: "http://www.w3.org/2000/svg"
- }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
- d: "M3.451.875a1.5 1.5 0 0 0-1.5 1.5v10a1.5 1.5 0 0 0 1.5 1.5h8a1.5 1.5 0 0 0 1.5-1.5V4.789c0-.398-.158-.779-.439-1.061l-2.414-2.414A1.5 1.5 0 0 0 9.037.875H3.451Z",
- fill: "#00abff",
- fillRule: "evenodd",
- clipRule: "evenodd"
- })), _path2 || (_path2 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
- d: "M2.928 2.385a.5.5 0 0 1 .5-.5h5.586a.5.5 0 0 1 .354.146l2.414 2.414a.5.5 0 0 1 .146.354v7.586a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-10Zm.5-1.5a1.5 1.5 0 0 0-1.5 1.5v10a1.5 1.5 0 0 0 1.5 1.5h8a1.5 1.5 0 0 0 1.5-1.5V4.799c0-.398-.158-.779-.439-1.061l-2.414-2.414A1.5 1.5 0 0 0 9.014.885H3.428Zm1 3a.5.5 0 0 0 0 1h3a.5.5 0 1 0 0-1h-3Zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6Z",
- fillRule: "evenodd",
- clipRule: "evenodd"
- })));
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgNotesFilled);
- /***/ }),
- /***/ 51512:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- var _path;
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
- var SvgPause = function SvgPause(props) {
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
- width: 24,
- height: 24,
- viewBox: "0 0 24 24",
- fill: "none",
- xmlns: "http://www.w3.org/2000/svg"
- }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
- d: "M5 20h4.571V4H5v16Zm9.143-16v16h4.571V4h-4.571Z",
- fill: "currentColor"
- })));
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgPause);
- /***/ }),
- /***/ 27333:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- var _path;
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
- var SvgPlayArrow = function SvgPlayArrow(props) {
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
- width: 24,
- height: 24,
- viewBox: "0 0 24 24",
- fill: "none",
- xmlns: "http://www.w3.org/2000/svg"
- }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
- d: "M4 2v20.364l16-10.182L4 2Z",
- fill: "currentColor"
- })));
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgPlayArrow);
- /***/ }),
- /***/ 45446:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- var _path;
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
- var SvgReader = function SvgReader(props) {
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
- width: 24,
- height: 24,
- viewBox: "0 0 24 24",
- fill: "currentColor",
- xmlns: "http://www.w3.org/2000/svg"
- }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
- d: "M3 .623v22.004c0 .165.067.324.186.44a.64.64 0 0 0 .448.183h17.332a.64.64 0 0 0 .448-.182.617.617 0 0 0 .186-.44V.622a.617.617 0 0 0-.186-.44.64.64 0 0 0-.448-.183H3.634a.64.64 0 0 0-.448.182.617.617 0 0 0-.186.44Zm10.146 13.493H7.227v-1.66h5.918v1.66Zm4.227-4.152H7.227v-1.66h10.146v1.66Zm0-4.152H7.227v-1.66h10.146v1.66Z"
- })));
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgReader);
- /***/ }),
- /***/ 85822:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "container": "ContextMenu_container__M7_N3",
- "hide": "ContextMenu_hide__l1kVd",
- "visibleContainer": "ContextMenu_visibleContainer__KnWDa",
- "withVisibleBanner": "ContextMenu_withVisibleBanner__0U0w_",
- "expandedContainer": "ContextMenu_expandedContainer__W_YZP",
- "withVisibleSideBar": "ContextMenu_withVisibleSideBar__8iHQu",
- "chapter": "ContextMenu_chapter__VKK2w",
- "bold": "ContextMenu_bold__jqCU4",
- "sectionsContainer": "ContextMenu_sectionsContainer__x91pr",
- "halfSection": "ContextMenu_halfSection__vu5Iq",
- "section": "ContextMenu_section__hi_wD",
- "alignStart": "ContextMenu_alignStart__D4EZD",
- "alignEnd": "ContextMenu_alignEnd__4YQyB",
- "row": "ContextMenu_row__3Hf3R",
- "primaryInfo": "ContextMenu_primaryInfo__QL1fr",
- "secondaryInfo": "ContextMenu_secondaryInfo__FEnWx",
- "surahName": "ContextMenu_surahName__9ovH0",
- "chevronIconContainer": "ContextMenu_chevronIconContainer__Bfc57",
- "rotate180": "ContextMenu_rotate180__ar3NZ",
- "rotateAuto": "ContextMenu_rotateAuto__xUm9n",
- "disabledOnMobile": "ContextMenu_disabledOnMobile__Pjaj9"
- };
- /***/ }),
- /***/ 11726:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "container": "ObserverWindow_container__yPD6c",
- "readingMode": "ObserverWindow_readingMode__fiRzr"
- };
- /***/ }),
- /***/ 71910:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "container": "Notes_container__P4U6p",
- "visibleContainer": "Notes_visibleContainer__8hC3J"
- };
- /***/ }),
- /***/ 1889:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "container": "PlayButton_container__CTTxf"
- };
- /***/ }),
- /***/ 10994:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "container": "QueryParamMessage_container__qZWgn",
- "link": "QueryParamMessage_link__apDAP"
- };
- /***/ }),
- /***/ 53543:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "infiniteScroll": "QuranReader_infiniteScroll__IAfrZ",
- "readingView": "QuranReader_readingView__gmING",
- "loading": "QuranReader_loading__Wo_w6",
- "container": "QuranReader_container__8c0FU",
- "withVisibleSideBar": "QuranReader_withVisibleSideBar__STTiz",
- "withSidebarNavigationOpenOrAuto": "QuranReader_withSidebarNavigationOpenOrAuto__s2YDZ",
- "playButton": "QuranReader_playButton__dVd11"
- };
- /***/ }),
- /***/ 82541:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "container": "ReadingPreference_container__bK6Hm",
- "spinner": "ReadingPreference_spinner__DAbUN",
- "preferenceTextContainer": "ReadingPreference_preferenceTextContainer___J7Dx",
- "iconContainer": "ReadingPreference_iconContainer__Jk5Rm"
- };
- /***/ }),
- /***/ 70406:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "container": "ReadingPreferenceSwitcher_container__0Dzn6",
- "surahHeaderContainer": "ReadingPreferenceSwitcher_surahHeaderContainer__L6XJx",
- "contextMenuContainer": "ReadingPreferenceSwitcher_contextMenuContainer__RALtU"
- };
- /***/ }),
- /***/ 53831:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "sideDrawerViewContainer": "RevelationOrderNavigationNotice_sideDrawerViewContainer__R0aka",
- "endOfScrollingViewContainer": "RevelationOrderNavigationNotice_endOfScrollingViewContainer__moJQq",
- "link": "RevelationOrderNavigationNotice_link__NY714"
- };
- /***/ }),
- /***/ 45515:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "container": "SidebarNavigation_container__IooCv",
- "visibleContainer": "SidebarNavigation_visibleContainer__Y6E1c",
- "containerAuto": "SidebarNavigation_containerAuto__WRE2m",
- "header": "SidebarNavigation_header__fqOtn",
- "switchContainer": "SidebarNavigation_switchContainer__DU_JH",
- "contentContainer": "SidebarNavigation_contentContainer__FeDCs",
- "surahBodyContainer": "SidebarNavigation_surahBodyContainer__bZs9R",
- "verseListContainer": "SidebarNavigation_verseListContainer__tE5ut",
- "scrollableSectionContainer": "SidebarNavigation_scrollableSectionContainer__DEA47",
- "listContainer": "SidebarNavigation_listContainer__Z4xaB",
- "list": "SidebarNavigation_list__5GJEm",
- "listItem": "SidebarNavigation_listItem__geBUW",
- "selectedItem": "SidebarNavigation_selectedItem__swGQH",
- "surahListContainer": "SidebarNavigation_surahListContainer__IYouq",
- "searchInput": "SidebarNavigation_searchInput__vhw5Z",
- "spaceOnTop": "SidebarNavigation_spaceOnTop__VHaMe",
- "chapterNumber": "SidebarNavigation_chapterNumber__39NUY",
- "tip": "SidebarNavigation_tip__g4nzj",
- "revelationOrderHeader": "SidebarNavigation_revelationOrderHeader___cG5Q"
- };
- /***/ }),
- /***/ 29654:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "skeletonContainer": "SidebarSelectionSkeleton_skeletonContainer__Pl7tL",
- "row": "SidebarSelectionSkeleton_row__AF4Qi"
- };
- /***/ }),
- /***/ 78789:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "container": "TranslationView_container__M0fhJ",
- "wrapper": "TranslationView_wrapper__C8vfW"
- };
- /***/ }),
- /***/ 18355:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "container": "Notes_container__IGuVA",
- "newLabel": "Notes_newLabel__mLbXd",
- "newLabelContainer": "Notes_newLabelContainer__kHpCe"
- };
- /***/ }),
- /***/ 57303:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "verseLink": "VerseLink_verseLink__m_uNh"
- };
- /***/ }),
- /***/ 28946:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "container": "ChapterHeader_container__UANyL",
- "left": "ChapterHeader_left__9GlxX",
- "right": "ChapterHeader_right__IcBU9",
- "chapterId": "ChapterHeader_chapterId__Z_Pey",
- "bismillahContainer": "ChapterHeader_bismillahContainer__EXMlw",
- "translatedName": "ChapterHeader_translatedName__2sqjR",
- "arabicSurahNameContainer": "ChapterHeader_arabicSurahNameContainer__xn14U",
- "transliteratedName": "ChapterHeader_transliteratedName__V9dup",
- "actionContainer": "ChapterHeader_actionContainer__tbdf_",
- "translation": "ChapterHeader_translation__ERRFK",
- "translationBy": "ChapterHeader_translationBy__DDZAE",
- "changeTranslation": "ChapterHeader_changeTranslation__UlDJ5",
- "header": "ChapterHeader_header__kguEh",
- "chapterIconContainer": "ChapterHeader_chapterIconContainer__CJN7h"
- };
- /***/ }),
- /***/ 77928:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "iconContainer": "ChapterIconContainer_iconContainer__5umYV",
- "iconContainerSmall": "ChapterIconContainer_iconContainerSmall__gvmyy",
- "iconContainerLarge": "ChapterIconContainer_iconContainerLarge__z49r_",
- "iconContainerMega": "ChapterIconContainer_iconContainerMega__rKWtt"
- };
- /***/ }),
- /***/ 19182:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "container": "Badge_container__GXfIf",
- "content": "Badge_content__Ue8Y7",
- "positionBottomRight": "Badge_positionBottomRight__1JJDw"
- };
- /***/ }),
- /***/ 25746:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "label": "NewLabel_label__azDvj"
- };
- /***/ }),
- /***/ 56419:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "container": "KeyboardInput_container__Zwe4F",
- "invertedColors": "KeyboardInput_invertedColors__2s3F3"
- };
- /***/ }),
- /***/ 86193:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(40968);
- /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_head__WEBPACK_IMPORTED_MODULE_2__);
- const DEFAULT_LOCALE = "en";
- const SURAH_NAMES_FONT = {
- type: "font/woff2",
- location: "/fonts/quran/surah-names/v1/sura_names.woff2"
- };
- const LOCALE_PRELOADED_FONTS = {
- [DEFAULT_LOCALE]: [
- {
- type: "font/woff2",
- location: "/fonts/lang/ProximaVara/ProximaVara.woff2"
- },
- {
- ...SURAH_NAMES_FONT
- },
- ],
- ar: [
- {
- type: "font/woff2",
- location: "/fonts/lang/arabic/NotoNaskhArabic-Regular.woff2"
- },
- {
- ...SURAH_NAMES_FONT
- },
- ],
- bn: [
- {
- type: "font/woff2",
- location: "/fonts/lang/bengali/NotoSerifBengali-Regular.woff2"
- },
- {
- ...SURAH_NAMES_FONT
- },
- ],
- ur: [
- {
- type: "font/woff2",
- location: "/fonts/lang/urdu/MehrNastaliqWeb.woff2"
- },
- {
- ...SURAH_NAMES_FONT
- },
- ]
- };
- const INDOPAK = {
- type: "font/woff2",
- location: "/fonts/quran/hafs/nastaleeq/indopak/indopak-nastaleeq-waqf-lazim-v4.2.1.woff2"
- };
- const QURAN_READER_LOCALE_PRELOADED_FONTS = {
- [DEFAULT_LOCALE]: [
- {
- type: "font/woff2",
- location: "/fonts/quran/hafs/uthmanic_hafs/UthmanicHafs1Ver18.woff2"
- },
- ],
- bn: [
- INDOPAK
- ],
- ur: [
- INDOPAK
- ],
- id: [
- INDOPAK
- ]
- };
- const getToBePreLoadedFonts = (locale, isQuranReader)=>{
- if (!isQuranReader) {
- return LOCALE_PRELOADED_FONTS[locale] || LOCALE_PRELOADED_FONTS[DEFAULT_LOCALE];
- }
- return QURAN_READER_LOCALE_PRELOADED_FONTS[locale] || QURAN_READER_LOCALE_PRELOADED_FONTS[DEFAULT_LOCALE];
- };
- const FontPreLoader = ({ locale , isQuranReader =false })=>{
- const toBePreLoadedFonts = getToBePreLoadedFonts(locale, isQuranReader);
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx((next_head__WEBPACK_IMPORTED_MODULE_2___default()), {
- children: toBePreLoadedFonts.map((fontDetails)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("link", {
- rel: "preload",
- as: "font",
- type: fontDetails.type,
- href: fontDetails.location,
- crossOrigin: "anonymous"
- }, fontDetails.location))
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FontPreLoader);
- /***/ }),
- /***/ 11877:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_4__);
- /* harmony import */ var _ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(85822);
- /* harmony import */ var _ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20__);
- /* harmony import */ var _ReadingPreferenceSwitcher__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(87272);
- /* harmony import */ var _components_Onboarding_OnboardingProvider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(51879);
- /* harmony import */ var _dls_Switch_Switch__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(66025);
- /* harmony import */ var _icons_chevron_down_svg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(24868);
- /* harmony import */ var _redux_slices_navbar__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(44177);
- /* harmony import */ var _redux_slices_QuranReader_contextMenu__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(3638);
- /* harmony import */ var _redux_slices_QuranReader_notes__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(66093);
- /* harmony import */ var _redux_slices_QuranReader_readingTracker__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(16143);
- /* harmony import */ var _redux_slices_QuranReader_sidebarNavigation__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(12547);
- /* harmony import */ var _utils_chapter__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(95892);
- /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(55943);
- /* harmony import */ var _utils_juz__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(28156);
- /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(24709);
- /* harmony import */ var _utils_responsive__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(6902);
- /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(44519);
- /* harmony import */ var src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(70813);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_ReadingPreferenceSwitcher__WEBPACK_IMPORTED_MODULE_5__, _components_Onboarding_OnboardingProvider__WEBPACK_IMPORTED_MODULE_6__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__]);
- ([_ReadingPreferenceSwitcher__WEBPACK_IMPORTED_MODULE_5__, _components_Onboarding_OnboardingProvider__WEBPACK_IMPORTED_MODULE_6__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */ /* eslint-disable jsx-a11y/click-events-have-key-events */
- const ContextMenu = ()=>{
- const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useDispatch)();
- const chaptersData = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_19__/* ["default"] */ .Z);
- const isSidebarNavigationVisible = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_sidebarNavigation__WEBPACK_IMPORTED_MODULE_13__/* .selectIsSidebarNavigationVisible */ .rS);
- const { t , lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()("common");
- const isSideBarVisible = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_notes__WEBPACK_IMPORTED_MODULE_11__/* .selectNotes */ .$p, react_redux__WEBPACK_IMPORTED_MODULE_4__.shallowEqual).isVisible;
- const { isExpanded , showReadingPreferenceSwitcher: isReadingPreferenceSwitcherVisible } = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_contextMenu__WEBPACK_IMPORTED_MODULE_10__/* .selectContextMenu */ .nl, react_redux__WEBPACK_IMPORTED_MODULE_4__.shallowEqual);
- const { isActive } = (0,_components_Onboarding_OnboardingProvider__WEBPACK_IMPORTED_MODULE_6__/* .useOnboarding */ .P)();
- const { isVisible: isNavbarVisible } = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_navbar__WEBPACK_IMPORTED_MODULE_9__/* .selectNavbar */ .wK, react_redux__WEBPACK_IMPORTED_MODULE_4__.shallowEqual);
- const showNavbar = isNavbarVisible || isActive;
- const showReadingPreferenceSwitcher = isReadingPreferenceSwitcherVisible && !isActive;
- const { verseKey , chapterId , page , hizb } = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_readingTracker__WEBPACK_IMPORTED_MODULE_12__/* .selectLastReadVerseKey */ .eQ, react_redux__WEBPACK_IMPORTED_MODULE_4__.shallowEqual);
- const chapterData = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{
- return chapterId ? (0,_utils_chapter__WEBPACK_IMPORTED_MODULE_14__/* .getChapterData */ .dy)(chaptersData, chapterId) : null;
- }, [
- chapterId,
- chaptersData
- ]);
- const juzNumber = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{
- return hizb ? (0,_utils_locale__WEBPACK_IMPORTED_MODULE_17__/* .toLocalizedNumber */ .rQ)((0,_utils_juz__WEBPACK_IMPORTED_MODULE_16__/* .getJuzNumberByHizb */ .yd)(Number(hizb)), lang) : null;
- }, [
- hizb,
- lang
- ]);
- const localizedHizb = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{
- return (0,_utils_locale__WEBPACK_IMPORTED_MODULE_17__/* .toLocalizedNumber */ .rQ)(Number(hizb), lang);
- }, [
- hizb,
- lang
- ]);
- const localizedPageNumber = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{
- return (0,_utils_locale__WEBPACK_IMPORTED_MODULE_17__/* .toLocalizedNumber */ .rQ)(Number(page), lang);
- }, [
- page,
- lang
- ]);
- // if it's SSR or the first time we render this
- if (!verseKey) {
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {});
- }
- const verse = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_18__/* .getVerseNumberFromKey */ .tR)(verseKey);
- const progress = (0,_utils_chapter__WEBPACK_IMPORTED_MODULE_14__/* .getChapterReadingProgress */ ._L)(verse, chapterData.versesCount);
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().container), {
- [(_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().visibleContainer)]: showNavbar,
- [(_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().expandedContainer)]: isExpanded,
- [(_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().withVisibleSideBar)]: isSideBarVisible
- }),
- // @ts-ignore
- // eslint-disable-next-line @typescript-eslint/naming-convention
- style: {
- "--progress": `${progress}%`
- },
- children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: (_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().sectionsContainer),
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: showReadingPreferenceSwitcher ? (_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().section) : (_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().halfSection),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().row)),
- children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("p", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().bold), (_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().alignStart), (_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().surahName), {
- [(_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().disabledOnMobile)]: isSidebarNavigationVisible
- }),
- onClick: (e)=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__/* .logEvent */ .Kz)(`sidebar_navigation_${isSidebarNavigationVisible ? "close" : "open"}_trigger`);
- e.stopPropagation();
- if (isSidebarNavigationVisible === "auto") {
- // eslint-disable-next-line no-unneeded-ternary
- const shouldBeVisible = (0,_utils_responsive__WEBPACK_IMPORTED_MODULE_21__/* .isMobile */ .t)() ? true : false;
- dispatch((0,_redux_slices_QuranReader_sidebarNavigation__WEBPACK_IMPORTED_MODULE_13__/* .setIsVisible */ .u)(shouldBeVisible));
- } else {
- dispatch((0,_redux_slices_QuranReader_sidebarNavigation__WEBPACK_IMPORTED_MODULE_13__/* .setIsVisible */ .u)(!isSidebarNavigationVisible));
- }
- },
- children: [
- chapterData.transliteratedName,
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().chevronIconContainer), {
- [(_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().rotate180)]: isSidebarNavigationVisible === true,
- [(_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().rotateAuto)]: isSidebarNavigationVisible === "auto"
- }),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_chevron_down_svg__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {})
- })
- ]
- })
- })
- }),
- showReadingPreferenceSwitcher && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().halfSection),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_ReadingPreferenceSwitcher__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
- size: _dls_Switch_Switch__WEBPACK_IMPORTED_MODULE_7__/* .SwitchSize.XSmall */ .E.XSmall,
- isIconsOnly: true,
- type: _ReadingPreferenceSwitcher__WEBPACK_IMPORTED_MODULE_5__/* .ReadingPreferenceSwitcherType.ContextMenu */ .q.ContextMenu
- })
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: showReadingPreferenceSwitcher ? (_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().section) : (_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().halfSection),
- children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().row)),
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().alignEnd), {
- [(_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().hide)]: !isExpanded
- })
- }),
- /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("p", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().alignEnd)),
- children: [
- isExpanded && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("span", {
- className: (_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().secondaryInfo),
- children: [
- t("juz"),
- " ",
- juzNumber,
- " / ",
- t("hizb"),
- " ",
- localizedHizb,
- " -",
- " "
- ]
- }),
- /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("span", {
- className: (_ContextMenu_module_scss__WEBPACK_IMPORTED_MODULE_20___default().primaryInfo),
- children: [
- t("page"),
- " ",
- localizedPageNumber
- ]
- })
- ]
- })
- ]
- })
- })
- ]
- })
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ContextMenu);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 43598:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var _ObserverWindow_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(11726);
- /* harmony import */ var _ObserverWindow_module_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_ObserverWindow_module_scss__WEBPACK_IMPORTED_MODULE_3__);
- const DebuggingObserverWindow = ({ isReadingMode })=>{
- if (process.env.NEXT_PUBLIC_DEBUG_OBSERVER_WINDOW !== "true") {
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {});
- }
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_ObserverWindow_module_scss__WEBPACK_IMPORTED_MODULE_3___default().container), {
- [(_ObserverWindow_module_scss__WEBPACK_IMPORTED_MODULE_3___default().readingMode)]: isReadingMode
- })
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DebuggingObserverWindow);
- /***/ }),
- /***/ 28800:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var _Notes_module_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(71910);
- /* harmony import */ var _Notes_module_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Notes_module_scss__WEBPACK_IMPORTED_MODULE_5__);
- /* harmony import */ var _redux_slices_QuranReader_notes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(66093);
- /* eslint-disable i18next/no-literal-string */
- const Notes = ()=>{
- const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useDispatch)();
- const { isVisible } = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(_redux_slices_QuranReader_notes__WEBPACK_IMPORTED_MODULE_4__/* .selectNotes */ .$p, react_redux__WEBPACK_IMPORTED_MODULE_3__.shallowEqual);
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Notes_module_scss__WEBPACK_IMPORTED_MODULE_5___default().container), {
- [(_Notes_module_scss__WEBPACK_IMPORTED_MODULE_5___default().visibleContainer)]: isVisible
- }),
- children: [
- "Notes placeholders",
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("br", {}),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("button", {
- type: "button",
- onClick: ()=>dispatch({
- type: _redux_slices_QuranReader_notes__WEBPACK_IMPORTED_MODULE_4__/* .setIsVisible.type */ .u.type,
- payload: false
- }),
- children: "close"
- })
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Notes);
- /***/ }),
- /***/ 39323:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var _xstate_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59456);
- /* harmony import */ var _xstate_react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_xstate_react__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var _dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7190);
- /* harmony import */ var _PlayButton_module_scss__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(1889);
- /* harmony import */ var _PlayButton_module_scss__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_PlayButton_module_scss__WEBPACK_IMPORTED_MODULE_15__);
- /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(50497);
- /* harmony import */ var _hooks_useGetQueryParamOrXstateValue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(93134);
- /* harmony import */ var _icons_pause_svg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(51512);
- /* harmony import */ var _icons_play_arrow_svg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(27333);
- /* harmony import */ var _types_QueryParam__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(11721);
- /* harmony import */ var _utils_chapter__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(95892);
- /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(55943);
- /* harmony import */ var src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(70813);
- /* harmony import */ var src_xstate_actors_audioPlayer_selectors__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(16119);
- /* harmony import */ var src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(64564);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__, _hooks_useGetQueryParamOrXstateValue__WEBPACK_IMPORTED_MODULE_6__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_11__, src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_14__]);
- ([_dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__, _hooks_useGetQueryParamOrXstateValue__WEBPACK_IMPORTED_MODULE_6__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_11__, src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_14__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- const PlayChapterAudioButton = ({ chapterId })=>{
- const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()("common");
- const chaptersData = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z);
- const chapterData = (0,_utils_chapter__WEBPACK_IMPORTED_MODULE_10__/* .getChapterData */ .dy)(chaptersData, chapterId.toString());
- const audioService = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_14__/* .AudioPlayerMachineContext */ .c);
- const isLoadingCurrentChapter = (0,_xstate_react__WEBPACK_IMPORTED_MODULE_2__.useSelector)(audioService, (state)=>(0,src_xstate_actors_audioPlayer_selectors__WEBPACK_IMPORTED_MODULE_13__/* .selectIsLoadingCurrentChapter */ .XL)(state, chapterId));
- const isPlayingCurrentChapter = (0,_xstate_react__WEBPACK_IMPORTED_MODULE_2__.useSelector)(audioService, (state)=>(0,src_xstate_actors_audioPlayer_selectors__WEBPACK_IMPORTED_MODULE_13__/* .selectIsPlayingCurrentChapter */ .sI)(state, chapterId));
- const { value: reciterId , isQueryParamDifferent: reciterQueryParamDifferent , } = (0,_hooks_useGetQueryParamOrXstateValue__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(_types_QueryParam__WEBPACK_IMPORTED_MODULE_9__/* ["default"].Reciter */ .Z.Reciter);
- const play = ()=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_11__/* .logButtonClick */ .MY)("chapter_header_play_audio");
- audioService.send({
- type: "PLAY_SURAH",
- surah: chapterId,
- reciterId: reciterQueryParamDifferent ? reciterId : undefined
- });
- };
- const pause = ()=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_11__/* .logButtonClick */ .MY)("chapter_header_pause_audio");
- audioService.send({
- type: "TOGGLE"
- });
- };
- if (isLoadingCurrentChapter) {
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_PlayButton_module_scss__WEBPACK_IMPORTED_MODULE_15___default().container),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .ZP, {
- variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonVariant.Ghost */ .Wu.Ghost,
- type: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonType.Success */ .L$.Success,
- size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonSize.Small */ .qE.Small,
- prefix: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {}),
- hasSidePadding: false,
- shouldFlipOnRTL: false,
- isDisabled: true,
- children: t("loading")
- })
- });
- }
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_PlayButton_module_scss__WEBPACK_IMPORTED_MODULE_15___default().container),
- children: isPlayingCurrentChapter ? /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .ZP, {
- variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonVariant.Ghost */ .Wu.Ghost,
- type: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonType.Success */ .L$.Success,
- size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonSize.Small */ .qE.Small,
- prefix: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_pause_svg__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {}),
- onClick: pause,
- hasSidePadding: false,
- shouldFlipOnRTL: false,
- children: t("audio.player.pause-audio")
- }) : /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .ZP, {
- variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonVariant.Ghost */ .Wu.Ghost,
- type: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonType.Success */ .L$.Success,
- size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonSize.Small */ .qE.Small,
- prefix: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_play_arrow_svg__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {}),
- onClick: play,
- hasSidePadding: false,
- shouldFlipOnRTL: false,
- ariaLabel: t("aria.play-surah", {
- surahName: chapterData.transliteratedName
- }),
- children: t("audio.play")
- })
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlayChapterAudioButton);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 61269:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var _xstate_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59456);
- /* harmony import */ var _xstate_react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_xstate_react__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(71853);
- /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var next_translate_Trans__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(74137);
- /* harmony import */ var next_translate_Trans__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_translate_Trans__WEBPACK_IMPORTED_MODULE_4__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_5__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_6__);
- /* harmony import */ var _QueryParamMessage_module_scss__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(10994);
- /* harmony import */ var _QueryParamMessage_module_scss__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_QueryParamMessage_module_scss__WEBPACK_IMPORTED_MODULE_16__);
- /* harmony import */ var _hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(19583);
- /* harmony import */ var _redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(90264);
- /* harmony import */ var _redux_slices_QuranReader_translations__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(88548);
- /* harmony import */ var _types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(13591);
- /* harmony import */ var _types_QuranReader__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(50467);
- /* harmony import */ var _utils_array__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(5639);
- /* harmony import */ var _utils_queryParamValidator__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(88584);
- /* harmony import */ var src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(64564);
- /* harmony import */ var types_QueryParam__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(11721);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_7__, src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_12__]);
- ([_hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_7__, src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_12__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- /* eslint-disable react-func/max-lines-per-function */ /* eslint-disable jsx-a11y/click-events-have-key-events */ /* eslint-disable jsx-a11y/no-static-element-interactions */
- const QueryParamMessage = ({ translationsQueryParamDifferent , reciterQueryParamDifferent , wordByWordLocaleQueryParamDifferent , })=>{
- const { lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_5___default()("common");
- const router = (0,next_router__WEBPACK_IMPORTED_MODULE_3__.useRouter)();
- const audioService = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_12__/* .AudioPlayerMachineContext */ .c);
- const selectedTranslations = (0,react_redux__WEBPACK_IMPORTED_MODULE_6__.useSelector)(_redux_slices_QuranReader_translations__WEBPACK_IMPORTED_MODULE_9__/* .selectSelectedTranslations */ .qw, _utils_array__WEBPACK_IMPORTED_MODULE_14__/* .areArraysEqual */ .Hj);
- const selectedReciterId = (0,_xstate_react__WEBPACK_IMPORTED_MODULE_2__.useSelector)(audioService, (state)=>state.context.reciterId);
- const selectedWordByWordLocale = (0,react_redux__WEBPACK_IMPORTED_MODULE_6__.useSelector)(_redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_8__/* .selectWordByWordLocale */ .lt, react_redux__WEBPACK_IMPORTED_MODULE_6__.shallowEqual);
- const { actions: { onSettingsChange , onXstateSettingsChange } , } = (0,_hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z)();
- /**
- * When the use clicks on use Redux, we will import the values from redux and
- * push them into the url params so that the useGetQueryParamOrReduxValue hook
- * picks and applies them.
- */ const onResetToReduxStateClicked = ()=>{
- if (translationsQueryParamDifferent) {
- router.query[types_QueryParam__WEBPACK_IMPORTED_MODULE_13__/* ["default"].Translations */ .Z.Translations] = selectedTranslations.join(",");
- }
- if (reciterQueryParamDifferent) {
- router.query[types_QueryParam__WEBPACK_IMPORTED_MODULE_13__/* ["default"].Reciter */ .Z.Reciter] = String(selectedReciterId);
- }
- if (wordByWordLocaleQueryParamDifferent) {
- router.query[types_QueryParam__WEBPACK_IMPORTED_MODULE_13__/* ["default"].WBW_LOCALE */ .Z.WBW_LOCALE] = selectedWordByWordLocale;
- }
- // if is in Quranic Calendar flow, remove the flow query param
- if (router.query[types_QueryParam__WEBPACK_IMPORTED_MODULE_13__/* ["default"].FLOW */ .Z.FLOW] === _types_QuranReader__WEBPACK_IMPORTED_MODULE_11__/* .QuranReaderFlow.QURANIC_CALENDER */ .Bc.QURANIC_CALENDER) {
- delete router.query[types_QueryParam__WEBPACK_IMPORTED_MODULE_13__/* ["default"].FLOW */ .Z.FLOW];
- // if hide arabic is true, remove it so that the arabic text get shown again
- if (router.query[types_QueryParam__WEBPACK_IMPORTED_MODULE_13__/* ["default"].HIDE_ARABIC */ .Z.HIDE_ARABIC] === "true") {
- delete router.query[types_QueryParam__WEBPACK_IMPORTED_MODULE_13__/* ["default"].HIDE_ARABIC */ .Z.HIDE_ARABIC];
- }
- }
- router.push(router, undefined, {
- shallow: true
- });
- };
- /**
- * When the use clicks on persist query params, we will persist the values
- * from the query params into Redux.
- */ const onPersistQueryParamsClicked = ()=>{
- if (translationsQueryParamDifferent && (0,_utils_queryParamValidator__WEBPACK_IMPORTED_MODULE_15__/* .isValidTranslationsQueryParamValue */ .W)(router.query[types_QueryParam__WEBPACK_IMPORTED_MODULE_13__/* ["default"].Translations */ .Z.Translations])) {
- const nextTranslations = router.query[types_QueryParam__WEBPACK_IMPORTED_MODULE_13__/* ["default"].Translations */ .Z.Translations].split(",").map((stringValue)=>Number(stringValue));
- onSettingsChange("selectedTranslations", nextTranslations, (0,_redux_slices_QuranReader_translations__WEBPACK_IMPORTED_MODULE_9__/* .setSelectedTranslations */ .uz)({
- translations: nextTranslations,
- locale: lang
- }), (0,_redux_slices_QuranReader_translations__WEBPACK_IMPORTED_MODULE_9__/* .setSelectedTranslations */ .uz)({
- translations: selectedTranslations,
- locale: lang
- }), _types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_10__/* ["default"].TRANSLATIONS */ .Z.TRANSLATIONS);
- }
- if (wordByWordLocaleQueryParamDifferent) {
- const nextWordByWord = router.query[types_QueryParam__WEBPACK_IMPORTED_MODULE_13__/* ["default"].WBW_LOCALE */ .Z.WBW_LOCALE];
- onSettingsChange("selectedWordByWordLocale", nextWordByWord, (0,_redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_8__/* .setSelectedWordByWordLocale */ .Ud)({
- value: nextWordByWord,
- locale: lang
- }), (0,_redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_8__/* .setSelectedWordByWordLocale */ .Ud)({
- value: selectedWordByWordLocale,
- locale: lang
- }), _types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_10__/* ["default"].READING */ .Z.READING);
- }
- if (reciterQueryParamDifferent) {
- const nextReciterId = Number(router.query[types_QueryParam__WEBPACK_IMPORTED_MODULE_13__/* ["default"].Reciter */ .Z.Reciter]);
- onXstateSettingsChange("reciter", nextReciterId, ()=>audioService.send({
- type: "CHANGE_RECITER",
- reciterId: nextReciterId
- }), ()=>audioService.send({
- type: "CHANGE_RECITER",
- reciterId: selectedReciterId
- }), _types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_10__/* ["default"].AUDIO */ .Z.AUDIO);
- }
- };
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_QueryParamMessage_module_scss__WEBPACK_IMPORTED_MODULE_16___default().container),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx((next_translate_Trans__WEBPACK_IMPORTED_MODULE_4___default()), {
- i18nKey: "quran-reader:query-param-message",
- components: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- onClick: onResetToReduxStateClicked,
- className: (_QueryParamMessage_module_scss__WEBPACK_IMPORTED_MODULE_16___default().link)
- }, 0),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- onClick: onPersistQueryParamsClicked,
- className: (_QueryParamMessage_module_scss__WEBPACK_IMPORTED_MODULE_16___default().link)
- }, 1),
- ]
- })
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (QueryParamMessage);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 6846:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(96954);
- /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dynamic__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var _hooks_useSyncReadingProgress__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5766);
- /* harmony import */ var _ReadingPreferenceSwitcher__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(87272);
- /* harmony import */ var _TranslationView__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(55413);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_hooks_useSyncReadingProgress__WEBPACK_IMPORTED_MODULE_3__, _ReadingPreferenceSwitcher__WEBPACK_IMPORTED_MODULE_4__, _TranslationView__WEBPACK_IMPORTED_MODULE_5__]);
- ([_hooks_useSyncReadingProgress__WEBPACK_IMPORTED_MODULE_3__, _ReadingPreferenceSwitcher__WEBPACK_IMPORTED_MODULE_4__, _TranslationView__WEBPACK_IMPORTED_MODULE_5__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- /* eslint-disable react/no-multi-comp */
- const ReadingView = next_dynamic__WEBPACK_IMPORTED_MODULE_2___default()(()=>__webpack_require__.e(/* import() */ 29078).then(__webpack_require__.bind(__webpack_require__, 29078)), {
- loadableGenerated: {
- modules: [
- "../components/QuranReader/QuranReaderView.tsx -> " + "./ReadingView"
- ]
- }
- });
- const QuranReaderView = ({ isReadingPreference , quranReaderStyles , quranReaderDataType , initialData , resourceId , })=>{
- (0,_hooks_useSyncReadingProgress__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)({
- isReadingPreference
- });
- if (isReadingPreference) {
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_ReadingPreferenceSwitcher__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {}),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(ReadingView, {
- quranReaderStyles: quranReaderStyles,
- quranReaderDataType: quranReaderDataType,
- initialData: initialData,
- resourceId: resourceId
- })
- ]
- });
- }
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_ReadingPreferenceSwitcher__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {}),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TranslationView__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
- quranReaderStyles: quranReaderStyles,
- quranReaderDataType: quranReaderDataType,
- initialData: initialData,
- resourceId: resourceId
- })
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (QuranReaderView);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 13256:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* unused harmony export readingPreferenceIcons */
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var _components_QuranReader_ReadingPreferenceSwitcher_ReadingPreference_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(82541);
- /* harmony import */ var _components_QuranReader_ReadingPreferenceSwitcher_ReadingPreference_module_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_components_QuranReader_ReadingPreferenceSwitcher_ReadingPreference_module_scss__WEBPACK_IMPORTED_MODULE_8__);
- /* harmony import */ var _dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7190);
- /* harmony import */ var _icons_book_svg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(69457);
- /* harmony import */ var _icons_reader_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(45446);
- /* harmony import */ var types_QuranReader__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(50467);
- const readingPreferenceIcons = {
- [types_QuranReader__WEBPACK_IMPORTED_MODULE_7__/* .ReadingPreference.Reading */ .m3.Reading]: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_reader_svg__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {}),
- [types_QuranReader__WEBPACK_IMPORTED_MODULE_7__/* .ReadingPreference.Translation */ .m3.Translation]: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_book_svg__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {})
- };
- const LoadingSwitcher = ({ readingPreference , selectedReadingPreference , isIconsOnly =false , isLoading , })=>{
- const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()("common");
- return isLoading && readingPreference === selectedReadingPreference ? /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: (_components_QuranReader_ReadingPreferenceSwitcher_ReadingPreference_module_scss__WEBPACK_IMPORTED_MODULE_8___default().container),
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
- className: (_components_QuranReader_ReadingPreferenceSwitcher_ReadingPreference_module_scss__WEBPACK_IMPORTED_MODULE_8___default().spinner)
- })
- }),
- !isIconsOnly && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- className: (_components_QuranReader_ReadingPreferenceSwitcher_ReadingPreference_module_scss__WEBPACK_IMPORTED_MODULE_8___default().preferenceTextContainer),
- children: t(`reading-preference.${selectedReadingPreference}`)
- })
- ]
- }) : /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: (_components_QuranReader_ReadingPreferenceSwitcher_ReadingPreference_module_scss__WEBPACK_IMPORTED_MODULE_8___default().container),
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_components_QuranReader_ReadingPreferenceSwitcher_ReadingPreference_module_scss__WEBPACK_IMPORTED_MODULE_8___default().iconContainer), isIconsOnly && (_components_QuranReader_ReadingPreferenceSwitcher_ReadingPreference_module_scss__WEBPACK_IMPORTED_MODULE_8___default().iconsCenter)),
- children: readingPreferenceIcons[selectedReadingPreference]
- }),
- !isIconsOnly && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- className: (_components_QuranReader_ReadingPreferenceSwitcher_ReadingPreference_module_scss__WEBPACK_IMPORTED_MODULE_8___default().preferenceTextContainer),
- children: t(`reading-preference.${selectedReadingPreference}`)
- })
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (LoadingSwitcher);
- /***/ }),
- /***/ 87272:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__),
- /* harmony export */ "q": () => (/* binding */ ReadingPreferenceSwitcherType)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(71853);
- /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var _ReadingPreferenceOption__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(13256);
- /* harmony import */ var _ReadingPreferenceSwitcher_module_scss__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(70406);
- /* harmony import */ var _ReadingPreferenceSwitcher_module_scss__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_ReadingPreferenceSwitcher_module_scss__WEBPACK_IMPORTED_MODULE_12__);
- /* harmony import */ var _dls_Switch_Switch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(66025);
- /* harmony import */ var _hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(19583);
- /* harmony import */ var _redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(90264);
- /* harmony import */ var _redux_slices_QuranReader_readingTracker__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(16143);
- /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(55943);
- /* harmony import */ var types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(13591);
- /* harmony import */ var types_QuranReader__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(50467);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_6__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__]);
- ([_hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_6__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- var ReadingPreferenceSwitcherType;
- (function(ReadingPreferenceSwitcherType) {
- ReadingPreferenceSwitcherType["SurahHeader"] = "surah_header";
- ReadingPreferenceSwitcherType["ContextMenu"] = "context_menu";
- })(ReadingPreferenceSwitcherType || (ReadingPreferenceSwitcherType = {}));
- const ReadingPreferenceSwitcher = ({ size , isIconsOnly =false , type =ReadingPreferenceSwitcherType.SurahHeader , })=>{
- const readingPreferences = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(_redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_7__/* .selectReadingPreferences */ .Xg);
- const lastReadVerseKey = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(_redux_slices_QuranReader_readingTracker__WEBPACK_IMPORTED_MODULE_8__/* .selectLastReadVerseKey */ .eQ);
- const lastReadVerse = lastReadVerseKey.verseKey?.split(":")[1];
- const { readingPreference } = readingPreferences;
- const { actions: { onSettingsChange } , isLoading , } = (0,_hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)();
- const router = (0,next_router__WEBPACK_IMPORTED_MODULE_2__.useRouter)();
- const readingPreferencesOptions = [
- {
- name: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_ReadingPreferenceOption__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
- readingPreference: readingPreference,
- selectedReadingPreference: types_QuranReader__WEBPACK_IMPORTED_MODULE_11__/* .ReadingPreference.Translation */ .m3.Translation,
- isLoading: isLoading,
- isIconsOnly: isIconsOnly
- }),
- value: types_QuranReader__WEBPACK_IMPORTED_MODULE_11__/* .ReadingPreference.Translation */ .m3.Translation
- },
- {
- name: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_ReadingPreferenceOption__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
- readingPreference: readingPreference,
- selectedReadingPreference: types_QuranReader__WEBPACK_IMPORTED_MODULE_11__/* .ReadingPreference.Reading */ .m3.Reading,
- isLoading: isLoading,
- isIconsOnly: isIconsOnly
- }),
- value: types_QuranReader__WEBPACK_IMPORTED_MODULE_11__/* .ReadingPreference.Reading */ .m3.Reading
- },
- ];
- const onViewSwitched = (view)=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__/* .logValueChange */ .Q8)(`${type}_reading_preference`, readingPreference, view);
- const newQueryParams = {
- ...router.query
- };
- // Track `startingVerse` once we're past the start of the page so we can
- // continue from the same ayah when switching views. Without the > 1 check,
- // switching views at the start of the page causes unnecessary scrolls
- if (type === ReadingPreferenceSwitcherType.SurahHeader) {
- delete newQueryParams.startingVerse;
- } else if (parseInt(lastReadVerse, 10) > 1) {
- newQueryParams.startingVerse = lastReadVerse;
- }
- const newUrlObject = {
- pathname: router.pathname,
- query: newQueryParams
- };
- router.replace(newUrlObject, null, {
- shallow: true
- }).then(()=>{
- onSettingsChange("readingPreference", view, (0,_redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_7__/* .setReadingPreference */ .GW)(view), (0,_redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_7__/* .setReadingPreference */ .GW)(readingPreference), types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_10__/* ["default"].READING */ .Z.READING);
- });
- };
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_ReadingPreferenceSwitcher_module_scss__WEBPACK_IMPORTED_MODULE_12___default().container), {
- [(_ReadingPreferenceSwitcher_module_scss__WEBPACK_IMPORTED_MODULE_12___default().surahHeaderContainer)]: type === ReadingPreferenceSwitcherType.SurahHeader,
- [(_ReadingPreferenceSwitcher_module_scss__WEBPACK_IMPORTED_MODULE_12___default().contextMenuContainer)]: type === ReadingPreferenceSwitcherType.ContextMenu
- }),
- id: "reading-preference-switcher",
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Switch_Switch__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
- items: readingPreferencesOptions,
- selected: readingPreference,
- onSelect: onViewSwitched,
- size: size
- })
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReadingPreferenceSwitcher);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 48588:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "E": () => (/* binding */ RevelationOrderNavigationNoticeView),
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var next_translate_Trans__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(74137);
- /* harmony import */ var next_translate_Trans__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_translate_Trans__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var _RevelationOrderNavigationNotice_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(53831);
- /* harmony import */ var _RevelationOrderNavigationNotice_module_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_RevelationOrderNavigationNotice_module_scss__WEBPACK_IMPORTED_MODULE_8__);
- /* harmony import */ var _dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7190);
- /* harmony import */ var _hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(19583);
- /* harmony import */ var _redux_slices_revelationOrder__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(88795);
- /* harmony import */ var _types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(13591);
- /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(55943);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_4__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_7__]);
- ([_hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_4__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- var RevelationOrderNavigationNoticeView;
- (function(RevelationOrderNavigationNoticeView) {
- RevelationOrderNavigationNoticeView["SideDrawer"] = "side-drawer";
- RevelationOrderNavigationNoticeView["EndOfScrollingControls"] = "end-of-scrolling-controls";
- })(RevelationOrderNavigationNoticeView || (RevelationOrderNavigationNoticeView = {}));
- // A notice that lets users know that the ordering and navigation are not the default ones.
- const RevelationOrderNavigationNotice = ({ view })=>{
- const { actions: { onSettingsChange } , isLoading , } = (0,_hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)();
- const revertToDefaultOrdering = ()=>{
- onSettingsChange("isReadingByRevelationOrder", false, (0,_redux_slices_revelationOrder__WEBPACK_IMPORTED_MODULE_5__/* .setIsReadingByRevelationOrder */ .N4)(false), (0,_redux_slices_revelationOrder__WEBPACK_IMPORTED_MODULE_5__/* .setIsReadingByRevelationOrder */ .N4)(true), _types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_6__/* ["default"].READING */ .Z.READING);
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_7__/* .logButtonClick */ .MY)(`revert_to_default_ordering_${view}`);
- };
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_1___default()({
- [(_RevelationOrderNavigationNotice_module_scss__WEBPACK_IMPORTED_MODULE_8___default().sideDrawerViewContainer)]: view === RevelationOrderNavigationNoticeView.SideDrawer,
- [(_RevelationOrderNavigationNotice_module_scss__WEBPACK_IMPORTED_MODULE_8___default().endOfScrollingViewContainer)]: view === RevelationOrderNavigationNoticeView.EndOfScrollingControls
- }),
- children: [
- isLoading && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {}),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx((next_translate_Trans__WEBPACK_IMPORTED_MODULE_2___default()), {
- components: {
- link: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- className: (_RevelationOrderNavigationNotice_module_scss__WEBPACK_IMPORTED_MODULE_8___default().link),
- onClick: revertToDefaultOrdering,
- "aria-hidden": "true"
- })
- },
- i18nKey: "quran-reader:revelation-order-notice"
- })
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (RevelationOrderNavigationNotice);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 53980:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_4__);
- /* harmony import */ var _SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(45515);
- /* harmony import */ var _SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_17__);
- /* harmony import */ var _SidebarNavigationSelections__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(27234);
- /* harmony import */ var _components_QuranReader_RevelationOrderNavigationNotice__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(48588);
- /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(50497);
- /* harmony import */ var _dls_KeyboardInput__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(55557);
- /* harmony import */ var _dls_Switch_Switch__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(66025);
- /* harmony import */ var _hooks_useOutsideClickDetector__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(38646);
- /* harmony import */ var _icons_close_svg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(51053);
- /* harmony import */ var _redux_slices_QuranReader_contextMenu__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(3638);
- /* harmony import */ var _redux_slices_QuranReader_sidebarNavigation__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(12547);
- /* harmony import */ var _redux_slices_revelationOrder__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(88795);
- /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(55943);
- /* harmony import */ var _utils_responsive__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(6902);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_components_QuranReader_RevelationOrderNavigationNotice__WEBPACK_IMPORTED_MODULE_6__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__]);
- ([_components_QuranReader_RevelationOrderNavigationNotice__WEBPACK_IMPORTED_MODULE_6__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- /* eslint-disable react/no-multi-comp */
- const SidebarNavigation = ()=>{
- const { isExpanded: isContextMenuExpanded } = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_contextMenu__WEBPACK_IMPORTED_MODULE_12__/* .selectContextMenu */ .nl, react_redux__WEBPACK_IMPORTED_MODULE_4__.shallowEqual);
- const isVisible = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_sidebarNavigation__WEBPACK_IMPORTED_MODULE_13__/* .selectIsSidebarNavigationVisible */ .rS);
- const selectedNavigationItem = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_sidebarNavigation__WEBPACK_IMPORTED_MODULE_13__/* .selectSelectedNavigationItem */ .tD);
- const isReadingByRevelationOrder = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_revelationOrder__WEBPACK_IMPORTED_MODULE_14__/* .selectIsReadingByRevelationOrder */ .kW);
- const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useDispatch)();
- const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()("common");
- const sidebarRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)();
- (0,_hooks_useOutsideClickDetector__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z)(sidebarRef, ()=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__/* .logEvent */ .Kz)("sidebar_navigation_close_outside_click");
- dispatch((0,_redux_slices_QuranReader_sidebarNavigation__WEBPACK_IMPORTED_MODULE_13__/* .setIsVisible */ .u)(false));
- }, isVisible && (0,_utils_responsive__WEBPACK_IMPORTED_MODULE_16__/* .isMobile */ .t)());
- const navigationItems = [
- {
- name: t("surah"),
- value: _redux_slices_QuranReader_sidebarNavigation__WEBPACK_IMPORTED_MODULE_13__/* .NavigationItem.Surah */ .Dx.Surah
- },
- {
- name: t("juz"),
- value: _redux_slices_QuranReader_sidebarNavigation__WEBPACK_IMPORTED_MODULE_13__/* .NavigationItem.Juz */ .Dx.Juz
- },
- // {
- // name: t('hizb'),
- // value: NavigationItem.Hizb,
- // },
- {
- name: t("page"),
- value: _redux_slices_QuranReader_sidebarNavigation__WEBPACK_IMPORTED_MODULE_13__/* .NavigationItem.Page */ .Dx.Page
- },
- ];
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- ref: sidebarRef,
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_17___default().container), {
- [(_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_17___default().visibleContainer)]: isVisible === true,
- [(_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_17___default().containerAuto)]: isVisible === "auto",
- [(_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_17___default().spaceOnTop)]: isContextMenuExpanded
- }),
- children: !isReadingByRevelationOrder ? // Default ordering
- /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
- children: [
- /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: (_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_17___default().header),
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_17___default().switchContainer),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Switch_Switch__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
- items: navigationItems,
- selected: selectedNavigationItem,
- onSelect: (value)=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__/* .logValueChange */ .Q8)("sidebar_navigation_view", selectedNavigationItem, value);
- dispatch((0,_redux_slices_QuranReader_sidebarNavigation__WEBPACK_IMPORTED_MODULE_13__/* .selectNavigationItem */ .eY)(value));
- }
- })
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP, {
- tooltip: t("close"),
- shape: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__/* .ButtonShape.Circle */ .jL.Circle,
- size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__/* .ButtonSize.Small */ .qE.Small,
- variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__/* .ButtonVariant.Ghost */ .Wu.Ghost,
- onClick: ()=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__/* .logButtonClick */ .MY)("sidebar_navigation_close");
- dispatch((0,_redux_slices_QuranReader_sidebarNavigation__WEBPACK_IMPORTED_MODULE_13__/* .setIsVisible */ .u)(false));
- },
- ariaLabel: t("aria.sidebar-nav-close"),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_close_svg__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {})
- })
- ]
- }),
- /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("p", {
- className: (_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_17___default().tip),
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- children: t("sidebar.try-navigating-with")
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_KeyboardInput__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
- meta: true,
- keyboardKey: "K"
- })
- ]
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_17___default().contentContainer),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_SidebarNavigationSelections__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
- isVisible: isVisible,
- selectedNavigationItem: selectedNavigationItem
- })
- })
- ]
- }) : // Revelation ordering
- /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_SidebarNavigation_module_scss__WEBPACK_IMPORTED_MODULE_17___default().revelationOrderHeader),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP, {
- tooltip: t("close"),
- shape: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__/* .ButtonShape.Circle */ .jL.Circle,
- size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__/* .ButtonSize.Small */ .qE.Small,
- variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__/* .ButtonVariant.Ghost */ .Wu.Ghost,
- onClick: ()=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__/* .logButtonClick */ .MY)("sidebar_navigation_close");
- dispatch((0,_redux_slices_QuranReader_sidebarNavigation__WEBPACK_IMPORTED_MODULE_13__/* .setIsVisible */ .u)(false));
- },
- ariaLabel: t("aria.sidebar-nav-close"),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_close_svg__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {})
- })
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_RevelationOrderNavigationNotice__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
- view: _components_QuranReader_RevelationOrderNavigationNotice__WEBPACK_IMPORTED_MODULE_6__/* .RevelationOrderNavigationNoticeView.SideDrawer */ .E.SideDrawer
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_SidebarNavigationSelections__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
- isVisible: isVisible,
- selectedNavigationItem: _redux_slices_QuranReader_sidebarNavigation__WEBPACK_IMPORTED_MODULE_13__/* .NavigationItem.Surah */ .Dx.Surah
- }),
- " "
- ]
- })
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SidebarNavigation);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 27234:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- // EXPORTS
- __webpack_require__.d(__webpack_exports__, {
- "Z": () => (/* binding */ SidebarNavigation_SidebarNavigationSelections)
- });
- // EXTERNAL MODULE: external "react/jsx-runtime"
- var jsx_runtime_ = __webpack_require__(20997);
- // EXTERNAL MODULE: external "react"
- var external_react_ = __webpack_require__(16689);
- // EXTERNAL MODULE: ./node_modules/next/dynamic.js
- var dynamic = __webpack_require__(96954);
- var dynamic_default = /*#__PURE__*/__webpack_require__.n(dynamic);
- // EXTERNAL MODULE: ./src/components/QuranReader/SidebarNavigation/SidebarSelectionSkeleton.module.scss
- var SidebarSelectionSkeleton_module = __webpack_require__(29654);
- var SidebarSelectionSkeleton_module_default = /*#__PURE__*/__webpack_require__.n(SidebarSelectionSkeleton_module);
- // EXTERNAL MODULE: ./src/components/dls/Skeleton/Skeleton.tsx
- var Skeleton = __webpack_require__(77048);
- ;// CONCATENATED MODULE: ./src/components/QuranReader/SidebarNavigation/SidebarSelectionSkeleton.tsx
- const ROWS_COUNT = 12;
- const rowsArr = Array(ROWS_COUNT).fill(null);
- const SidebarSelectionSkeleton = ()=>{
- return /*#__PURE__*/ jsx_runtime_.jsx("div", {
- className: (SidebarSelectionSkeleton_module_default()).skeletonContainer,
- children: rowsArr.map((k, i)=>// eslint-disable-next-line react/no-array-index-key
- /*#__PURE__*/ jsx_runtime_.jsx(Skeleton/* default */.Z, {
- isActive: true,
- isSquared: true,
- className: (SidebarSelectionSkeleton_module_default()).row
- }, `skeleton_${i}`))
- });
- };
- /* harmony default export */ const SidebarNavigation_SidebarSelectionSkeleton = (SidebarSelectionSkeleton);
- // EXTERNAL MODULE: ./src/redux/slices/QuranReader/sidebarNavigation.ts
- var sidebarNavigation = __webpack_require__(12547);
- ;// CONCATENATED MODULE: ./src/components/QuranReader/SidebarNavigation/SidebarNavigationSelections.tsx
- const PageSelection = dynamic_default()(()=>Promise.all(/* import() */[__webpack_require__.e(92631), __webpack_require__.e(66192)]).then(__webpack_require__.bind(__webpack_require__, 66192)), {
- loadableGenerated: {
- modules: [
- "../components/QuranReader/SidebarNavigation/SidebarNavigationSelections.tsx -> " + "./PageSelection"
- ]
- },
- loading: SidebarNavigation_SidebarSelectionSkeleton
- });
- const SurahSelection = dynamic_default()(()=>__webpack_require__.e(/* import() */ 99741).then(__webpack_require__.bind(__webpack_require__, 99741)), {
- loadableGenerated: {
- modules: [
- "../components/QuranReader/SidebarNavigation/SidebarNavigationSelections.tsx -> " + "./SurahSelection"
- ]
- },
- loading: SidebarNavigation_SidebarSelectionSkeleton
- });
- const JuzSelection = dynamic_default()(()=>Promise.all(/* import() */[__webpack_require__.e(92631), __webpack_require__.e(73540)]).then(__webpack_require__.bind(__webpack_require__, 73540)), {
- loadableGenerated: {
- modules: [
- "../components/QuranReader/SidebarNavigation/SidebarNavigationSelections.tsx -> " + "./JuzSelection"
- ]
- },
- loading: SidebarNavigation_SidebarSelectionSkeleton
- });
- const SidebarNavigationSelections = ({ isVisible , selectedNavigationItem })=>{
- // we skip requesting any selection list if the drawer is not open.
- if (!isVisible) return /*#__PURE__*/ jsx_runtime_.jsx(jsx_runtime_.Fragment, {});
- if (selectedNavigationItem === sidebarNavigation/* NavigationItem.Surah */.Dx.Surah) return /*#__PURE__*/ jsx_runtime_.jsx(SurahSelection, {});
- if (selectedNavigationItem === sidebarNavigation/* NavigationItem.Juz */.Dx.Juz) return /*#__PURE__*/ jsx_runtime_.jsx(JuzSelection, {});
- // if (selectedNavigationItem === NavigationItem.Hizb) return <HizbSelection />;
- return /*#__PURE__*/ jsx_runtime_.jsx(PageSelection, {});
- };
- /* harmony default export */ const SidebarNavigation_SidebarNavigationSelections = (SidebarNavigationSelections);
- /***/ }),
- /***/ 38416:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_4__);
- /* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(15941);
- /* harmony import */ var _TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(40608);
- /* harmony import */ var _TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_17__);
- /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(50497);
- /* harmony import */ var _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(79717);
- /* harmony import */ var _icons_bookmark_svg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(99241);
- /* harmony import */ var _redux_slices_QuranReader_bookmarks__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(24213);
- /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(62093);
- /* harmony import */ var _utils_api__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(4917);
- /* harmony import */ var _utils_auth_api__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(37883);
- /* harmony import */ var _utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(13830);
- /* harmony import */ var _utils_auth_login__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(22197);
- /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(55943);
- /* harmony import */ var types_BookmarkType__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(45788);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr__WEBPACK_IMPORTED_MODULE_5__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_6__, _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_7__, _utils_auth_login__WEBPACK_IMPORTED_MODULE_14__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__]);
- ([swr__WEBPACK_IMPORTED_MODULE_5__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_6__, _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_7__, _utils_auth_login__WEBPACK_IMPORTED_MODULE_14__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- /* eslint-disable react-func/max-lines-per-function */
- const BookmarkIcon = ({ verse , pageBookmarks , bookmarksRangeUrl })=>{
- const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()("quran-reader");
- const quranReaderStyles = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_10__/* .selectQuranReaderStyles */ .Pt, react_redux__WEBPACK_IMPORTED_MODULE_4__.shallowEqual);
- const bookmarkedVerses = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_bookmarks__WEBPACK_IMPORTED_MODULE_9__/* .selectBookmarks */ .it, react_redux__WEBPACK_IMPORTED_MODULE_4__.shallowEqual);
- const { cache , mutate } = (0,swr__WEBPACK_IMPORTED_MODULE_5__.useSWRConfig)();
- const toast = (0,_dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_7__/* .useToast */ .pm)();
- const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useDispatch)();
- const isVerseBookmarked = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{
- const isUserLoggedIn = (0,_utils_auth_login__WEBPACK_IMPORTED_MODULE_14__/* .isLoggedIn */ .jl)();
- if (isUserLoggedIn && pageBookmarks) {
- return !!pageBookmarks[verse.verseKey];
- }
- return !!bookmarkedVerses[verse.verseKey];
- }, [
- bookmarkedVerses,
- pageBookmarks,
- verse.verseKey
- ]);
- if (!isVerseBookmarked) return null;
- const mushafId = (0,_utils_api__WEBPACK_IMPORTED_MODULE_11__/* .getMushafId */ .$P)(quranReaderStyles.quranFont, quranReaderStyles.mushafLines).mushaf;
- const onClick = ()=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__/* .logButtonClick */ .MY)("translation_view_un_bookmark_verse");
- if ((0,_utils_auth_login__WEBPACK_IMPORTED_MODULE_14__/* .isLoggedIn */ .jl)()) {
- const bookmarkedVersesRange = cache.get(bookmarksRangeUrl);
- const nextBookmarkedVersesRange = {
- ...bookmarkedVersesRange,
- [verse.verseKey]: !isVerseBookmarked
- };
- mutate(bookmarksRangeUrl, nextBookmarkedVersesRange, {
- revalidate: false
- });
- cache.delete((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_13__/* .makeBookmarkUrl */ .Wn)(mushafId, Number(verse.chapterId), types_BookmarkType__WEBPACK_IMPORTED_MODULE_16__/* ["default"].Ayah */ .Z.Ayah, Number(verse.verseNumber)));
- const bookmarkId = pageBookmarks[verse.verseKey].id;
- if (bookmarkId) {
- (0,_utils_auth_api__WEBPACK_IMPORTED_MODULE_12__/* .deleteBookmarkById */ .ez)(bookmarkId).catch((err)=>{
- if (err.status === 400) {
- toast(t("common:error.bookmark-sync"), {
- status: _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_7__/* .ToastStatus.Error */ .YZ.Error
- });
- return;
- }
- toast(t("common:error.general"), {
- status: _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_7__/* .ToastStatus.Error */ .YZ.Error
- });
- });
- }
- } else {
- dispatch((0,_redux_slices_QuranReader_bookmarks__WEBPACK_IMPORTED_MODULE_9__/* .toggleVerseBookmark */ .b2)(verse.verseKey));
- }
- };
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .ZP, {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_17___default().iconContainer), (_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_17___default().verseAction)),
- onClick: onClick,
- tooltip: t("remove-bookmark"),
- variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_6__/* .ButtonVariant.Ghost */ .Wu.Ghost,
- size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_6__/* .ButtonSize.Small */ .qE.Small,
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_bookmark_svg__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {})
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (BookmarkIcon);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 69033:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var _xstate_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59456);
- /* harmony import */ var _xstate_react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_xstate_react__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(71853);
- /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_4__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_5__);
- /* harmony import */ var _utils_memoization__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(52544);
- /* harmony import */ var _BookmarkIcon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(38416);
- /* harmony import */ var _TranslationText__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(18809);
- /* harmony import */ var _TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(40608);
- /* harmony import */ var _TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21__);
- /* harmony import */ var _components_Onboarding_OnboardingProvider__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(51879);
- /* harmony import */ var _components_QuranReader_QuranReflectButton__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(87920);
- /* harmony import */ var _components_QuranReader_TafsirButton__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(5369);
- /* harmony import */ var _components_Verse_Notes__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(2401);
- /* harmony import */ var _components_Verse_OverflowVerseActionsMenu__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(35527);
- /* harmony import */ var _components_Verse_PlayVerseAudioButton__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(70256);
- /* harmony import */ var _components_Verse_VerseLink__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(16413);
- /* harmony import */ var _components_Verse_VerseText__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(36716);
- /* harmony import */ var _dls_Separator_Separator__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(94400);
- /* harmony import */ var _hooks_useScrollToElement__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(56748);
- /* harmony import */ var _redux_slices_AudioPlayer_state__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(53800);
- /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(44519);
- /* harmony import */ var src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(64564);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_BookmarkIcon__WEBPACK_IMPORTED_MODULE_6__, _TranslationText__WEBPACK_IMPORTED_MODULE_7__, _components_Onboarding_OnboardingProvider__WEBPACK_IMPORTED_MODULE_8__, _components_QuranReader_QuranReflectButton__WEBPACK_IMPORTED_MODULE_9__, _components_QuranReader_TafsirButton__WEBPACK_IMPORTED_MODULE_10__, _components_Verse_Notes__WEBPACK_IMPORTED_MODULE_11__, _components_Verse_OverflowVerseActionsMenu__WEBPACK_IMPORTED_MODULE_12__, _components_Verse_PlayVerseAudioButton__WEBPACK_IMPORTED_MODULE_13__, _components_Verse_VerseLink__WEBPACK_IMPORTED_MODULE_14__, _components_Verse_VerseText__WEBPACK_IMPORTED_MODULE_15__, _dls_Separator_Separator__WEBPACK_IMPORTED_MODULE_16__, src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_20__]);
- ([_BookmarkIcon__WEBPACK_IMPORTED_MODULE_6__, _TranslationText__WEBPACK_IMPORTED_MODULE_7__, _components_Onboarding_OnboardingProvider__WEBPACK_IMPORTED_MODULE_8__, _components_QuranReader_QuranReflectButton__WEBPACK_IMPORTED_MODULE_9__, _components_QuranReader_TafsirButton__WEBPACK_IMPORTED_MODULE_10__, _components_Verse_Notes__WEBPACK_IMPORTED_MODULE_11__, _components_Verse_OverflowVerseActionsMenu__WEBPACK_IMPORTED_MODULE_12__, _components_Verse_PlayVerseAudioButton__WEBPACK_IMPORTED_MODULE_13__, _components_Verse_VerseLink__WEBPACK_IMPORTED_MODULE_14__, _components_Verse_VerseText__WEBPACK_IMPORTED_MODULE_15__, _dls_Separator_Separator__WEBPACK_IMPORTED_MODULE_16__, src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_20__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- const TranslationViewCell = ({ verse , quranReaderStyles , verseIndex , pageBookmarks , bookmarksRangeUrl , hasNotes , })=>{
- const router = (0,next_router__WEBPACK_IMPORTED_MODULE_4__.useRouter)();
- const { startingVerse } = router.query;
- const audioService = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_20__/* .AudioPlayerMachineContext */ .c);
- const isHighlighted = (0,_xstate_react__WEBPACK_IMPORTED_MODULE_2__.useSelector)(audioService, (state)=>{
- const { ayahNumber , surah } = state.context;
- return (0,_utils_verse__WEBPACK_IMPORTED_MODULE_19__/* .makeVerseKey */ .u)(surah, ayahNumber) === verse.verseKey;
- });
- const { isActive } = (0,_components_Onboarding_OnboardingProvider__WEBPACK_IMPORTED_MODULE_8__/* .useOnboarding */ .P)();
- // disable auto scrolling when the user is onboarding
- const enableAutoScrolling = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useSelector)(_redux_slices_AudioPlayer_state__WEBPACK_IMPORTED_MODULE_18__/* .selectEnableAutoScrolling */ .Mj) && !isActive;
- const [scrollToSelectedItem, selectedItemRef] = (0,_hooks_useScrollToElement__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .ZP)(_hooks_useScrollToElement__WEBPACK_IMPORTED_MODULE_17__/* .SMOOTH_SCROLL_TO_TOP */ .gZ);
- (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{
- if (isHighlighted && enableAutoScrolling || Number(startingVerse) === verseIndex + 1) {
- scrollToSelectedItem();
- }
- }, [
- isHighlighted,
- scrollToSelectedItem,
- enableAutoScrolling,
- startingVerse,
- verseIndex
- ]);
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- ref: selectedItemRef,
- children: [
- /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21___default().cellContainer), {
- [(_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21___default().highlightedContainer)]: isHighlighted
- }),
- children: [
- /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: (_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21___default().actionContainer),
- children: [
- /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: (_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21___default().actionContainerLeft),
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21___default().actionItem),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_Verse_VerseLink__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
- verseKey: verse.verseKey
- })
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21___default().actionItem),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_BookmarkIcon__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
- verse: verse,
- pageBookmarks: pageBookmarks,
- bookmarksRangeUrl: bookmarksRangeUrl
- })
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21___default().actionItem),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_Verse_Notes__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
- verseKey: verse.verseKey,
- isTranslationView: true,
- hasNotes: hasNotes
- })
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21___default().actionItem), (_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21___default().priorityAction)),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_Verse_PlayVerseAudioButton__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
- verseKey: verse.verseKey
- })
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21___default().actionItem)),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_TafsirButton__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
- verseKey: verse.verseKey
- })
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21___default().actionItem)),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_QuranReflectButton__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
- verseKey: verse.verseKey
- })
- })
- ]
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21___default().actionContainerRight),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21___default().actionItem),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_Verse_OverflowVerseActionsMenu__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
- bookmarksRangeUrl: bookmarksRangeUrl,
- verse: verse
- })
- })
- })
- ]
- }),
- /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21___default().contentContainer)),
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21___default().arabicVerseContainer),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_Verse_VerseText__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {
- words: (0,_utils_verse__WEBPACK_IMPORTED_MODULE_19__/* .getVerseWords */ .LQ)(verse),
- shouldShowH1ForSEO: verseIndex === 0
- })
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21___default().verseTranslationsContainer),
- children: verse.translations?.map((translation)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_21___default().verseTranslationContainer),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TranslationText__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
- translationFontScale: quranReaderStyles.translationFontScale,
- text: translation.text,
- languageId: translation.languageId,
- resourceName: verse.translations?.length > 1 ? translation.resourceName : null
- })
- }, translation.id))
- })
- ]
- })
- ]
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Separator_Separator__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z, {})
- ]
- });
- };
- /**
- * Since we are passing verse and it's an object
- * even if the same verse is passed, its reference will change
- * on fetching a new page and since Memo only does shallow comparison,
- * we need to use custom comparing logic:
- *
- * 1. Check if the verse id is the same.
- * 2. Check if the font changed.
- * 3. Check if number of translations are the same since on translation change, it should change.
- *
- * If the above condition is met, it's safe to assume that the result
- * of both renders are the same.
- *
- * @param {TranslationViewCellProps} prevProps
- * @param {TranslationViewCellProps} nextProps
- * @returns {boolean}
- */ const areVersesEqual = (prevProps, nextProps)=>prevProps.verse.id === nextProps.verse.id && prevProps.hasNotes === nextProps.hasNotes && !(0,_utils_memoization__WEBPACK_IMPORTED_MODULE_22__/* .verseFontChanged */ .RG)(prevProps.quranReaderStyles, nextProps.quranReaderStyles, prevProps.verse.words, nextProps.verse.words) && !(0,_utils_memoization__WEBPACK_IMPORTED_MODULE_22__/* .verseTranslationChanged */ .UH)(prevProps.verse, nextProps.verse) && !(0,_utils_memoization__WEBPACK_IMPORTED_MODULE_22__/* .verseTranslationFontChanged */ .r4)(prevProps.quranReaderStyles, nextProps.quranReaderStyles) && JSON.stringify(prevProps.pageBookmarks) === JSON.stringify(nextProps.pageBookmarks) && prevProps.bookmarksRangeUrl === nextProps.bookmarksRangeUrl;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.memo)(TranslationViewCell, areVersesEqual));
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 16706:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var swr_immutable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(79847);
- /* harmony import */ var _contexts_VerseTrackerContext__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(94921);
- /* harmony import */ var _TranslationViewCell__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(69033);
- /* harmony import */ var _components_chapters_ChapterHeader__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(59459);
- /* harmony import */ var _hooks_auth_useCountRangeNotes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(54934);
- /* harmony import */ var _utils_auth_api__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(37883);
- /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(24709);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr_immutable__WEBPACK_IMPORTED_MODULE_3__, _TranslationViewCell__WEBPACK_IMPORTED_MODULE_5__, _components_chapters_ChapterHeader__WEBPACK_IMPORTED_MODULE_6__, _hooks_auth_useCountRangeNotes__WEBPACK_IMPORTED_MODULE_7__]);
- ([swr_immutable__WEBPACK_IMPORTED_MODULE_3__, _TranslationViewCell__WEBPACK_IMPORTED_MODULE_5__, _components_chapters_ChapterHeader__WEBPACK_IMPORTED_MODULE_6__, _hooks_auth_useCountRangeNotes__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- const TranslationPageVerse = ({ verse , selectedTranslations , bookmarksRangeUrl , mushafId , verseIdx , quranReaderStyles , initialData , firstVerseInPage , isLastVerseInView , notesRange , })=>{
- const { t , lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default()("common");
- const containerRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
- const { verseKeysQueue } = (0,_contexts_VerseTrackerContext__WEBPACK_IMPORTED_MODULE_4__/* .useVerseTrackerContext */ .h)();
- const { data: pageBookmarks } = (0,swr_immutable__WEBPACK_IMPORTED_MODULE_3__["default"])(bookmarksRangeUrl, async ()=>{
- const response = await (0,_utils_auth_api__WEBPACK_IMPORTED_MODULE_8__/* .getPageBookmarks */ .W7)(mushafId, Number(firstVerseInPage.chapterId), Number(firstVerseInPage.verseNumber), initialData.pagination.perPage);
- return response;
- });
- const { data: notesCount } = (0,_hooks_auth_useCountRangeNotes__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z)(notesRange);
- const getTranslationNameString = (translations)=>{
- let translationName = t("settings.no-translation-selected");
- if (translations?.length === 1) translationName = translations?.[0].resourceName;
- if (translations?.length === 2) {
- translationName = t("settings.value-and-other", {
- value: translations?.[0].resourceName,
- othersCount: (0,_utils_locale__WEBPACK_IMPORTED_MODULE_9__/* .toLocalizedNumber */ .rQ)(translations.length - 1, lang)
- });
- }
- if (translations?.length > 2) {
- translationName = t("settings.value-and-others", {
- value: translations?.[0].resourceName,
- othersCount: (0,_utils_locale__WEBPACK_IMPORTED_MODULE_9__/* .toLocalizedNumber */ .rQ)(translations.length - 1, lang)
- });
- }
- return translationName;
- };
- (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{
- let observer = null;
- if (containerRef.current) {
- observer = new IntersectionObserver((entries)=>{
- if (entries[0].isIntersecting) {
- verseKeysQueue.current.add(verse.verseKey);
- }
- }, {
- root: null,
- rootMargin: "0px",
- threshold: 0.5
- });
- observer.observe(containerRef.current);
- }
- return ()=>{
- observer?.disconnect();
- };
- }, [
- isLastVerseInView,
- verse,
- verseKeysQueue
- ]);
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- ref: isLastVerseInView ? containerRef : undefined,
- children: [
- verse.verseNumber === 1 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_chapters_ChapterHeader__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
- translationName: getTranslationNameString(verse.translations),
- chapterId: String(verse.chapterId),
- pageNumber: verse.pageNumber,
- hizbNumber: verse.hizbNumber,
- isTranslationSelected: selectedTranslations?.length > 0
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TranslationViewCell__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
- verseIndex: verseIdx,
- verse: verse,
- quranReaderStyles: quranReaderStyles,
- pageBookmarks: pageBookmarks,
- bookmarksRangeUrl: bookmarksRangeUrl,
- hasNotes: notesCount && notesCount[verse.verseKey] > 0
- }, verse.id)
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TranslationPageVerse);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 94031:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71853);
- /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var swr_immutable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(79847);
- /* harmony import */ var _components_QuranReader_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(96435);
- /* harmony import */ var _hooks_useIsUsingDefaultSettings__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(35507);
- /* harmony import */ var _types_QuranReader__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(50467);
- /* harmony import */ var _utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(13830);
- /* harmony import */ var _utils_auth_login__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(22197);
- /* harmony import */ var _utils_number__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(19303);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr_immutable__WEBPACK_IMPORTED_MODULE_3__, _hooks_useIsUsingDefaultSettings__WEBPACK_IMPORTED_MODULE_5__, _utils_auth_login__WEBPACK_IMPORTED_MODULE_8__]);
- ([swr_immutable__WEBPACK_IMPORTED_MODULE_3__, _hooks_useIsUsingDefaultSettings__WEBPACK_IMPORTED_MODULE_5__, _utils_auth_login__WEBPACK_IMPORTED_MODULE_8__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- /**
- * This hook fetches the verse of the given `verseIdx` and dedupes the data based on their page number.
- *
- * For an example, passing `verseIdx` of `0 | 1 | 2 | 3 | 4` should only trigger one API request because they are all in the same page.
- *
- * @param {QuranReaderParams} params
- * @returns {UseDedupedFetchVerseResult}
- */ const useDedupedFetchVerse = ({ quranReaderDataType , quranReaderStyles , wordByWordLocale , reciterId , resourceId , selectedTranslations , initialData , setApiPageToVersesMap , mushafId , verseIdx })=>{
- const router = (0,next_router__WEBPACK_IMPORTED_MODULE_1__.useRouter)();
- const { lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default()();
- const translationParams = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>router.query.translations?.split(",")?.map((translation)=>Number(translation)), [
- router.query.translations
- ]);
- const pageNumber = (0,_utils_number__WEBPACK_IMPORTED_MODULE_9__/* .getPageNumberFromIndexAndPerPage */ .XN)(verseIdx, initialData.pagination.perPage);
- const idxInPage = verseIdx % initialData.pagination.perPage;
- const isUsingDefaultSettings = (0,_hooks_useIsUsingDefaultSettings__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)({
- translationParams,
- selectedTranslations
- });
- const shouldUseInitialData = pageNumber === 1 && isUsingDefaultSettings;
- const { data: verses } = (0,swr_immutable__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_components_QuranReader_api__WEBPACK_IMPORTED_MODULE_4__/* .getTranslationViewRequestKey */ .rB)({
- quranReaderDataType,
- pageNumber,
- initialData,
- quranReaderStyles,
- selectedTranslations,
- isVerseData: quranReaderDataType === _types_QuranReader__WEBPACK_IMPORTED_MODULE_6__/* .QuranReaderDataType.Verse */ .Qi.Verse,
- id: resourceId,
- reciter: reciterId,
- locale: lang,
- wordByWordLocale
- }), _components_QuranReader_api__WEBPACK_IMPORTED_MODULE_4__/* .verseFetcher */ .f3, {
- fallbackData: shouldUseInitialData ? initialData.verses : undefined
- });
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
- if (verses) {
- // @ts-ignore
- setApiPageToVersesMap((prevMushafPageToVersesMap)=>({
- ...prevMushafPageToVersesMap,
- [pageNumber]: verses
- }));
- }
- }, [
- pageNumber,
- setApiPageToVersesMap,
- verses
- ]);
- const bookmarksRangeUrl = verses && verses.length && (0,_utils_auth_login__WEBPACK_IMPORTED_MODULE_8__/* .isLoggedIn */ .jl)() ? (0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_7__/* .makeBookmarksRangeUrl */ .SH)(mushafId, Number(verses?.[0].chapterId), Number(verses?.[0].verseNumber), initialData.pagination.perPage) : null;
- const verse = verses ? verses[idxInPage] : null;
- // This part handles an edge case where the user has no selected translations but the `initialData` sent from server-side rendering has a default translation.
- // So, we need to remove the translations from the verse if the user has no selected translations.
- if (verse && selectedTranslations.length === 0) {
- verse.translations = [];
- }
- return {
- verse,
- firstVerseInPage: verses ? verses[0] : null,
- bookmarksRangeUrl,
- notesRange: verses && verses.length > 0 ? {
- from: verses?.[0].verseKey,
- to: verses?.[verses.length - 1].verseKey
- } : null
- };
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useDedupedFetchVerse);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 68249:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var _TranslationView_module_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(78789);
- /* harmony import */ var _TranslationView_module_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_TranslationView_module_scss__WEBPACK_IMPORTED_MODULE_6__);
- /* harmony import */ var _TranslationViewCellSkeleton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(80587);
- /* harmony import */ var _hooks_useDedupedFetchVerse__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(94031);
- /* harmony import */ var _TranslationPageVerse__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(16706);
- /* harmony import */ var _utils_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4917);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_TranslationViewCellSkeleton__WEBPACK_IMPORTED_MODULE_2__, _hooks_useDedupedFetchVerse__WEBPACK_IMPORTED_MODULE_3__, _TranslationPageVerse__WEBPACK_IMPORTED_MODULE_4__]);
- ([_TranslationViewCellSkeleton__WEBPACK_IMPORTED_MODULE_2__, _hooks_useDedupedFetchVerse__WEBPACK_IMPORTED_MODULE_3__, _TranslationPageVerse__WEBPACK_IMPORTED_MODULE_4__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- /* eslint-disable max-lines */
- const TranslationViewVerse = ({ quranReaderDataType , wordByWordLocale , reciterId , resourceId , setApiPageToVersesMap , initialData , quranReaderStyles , selectedTranslations , verseIdx , totalVerses , })=>{
- const mushafId = (0,_utils_api__WEBPACK_IMPORTED_MODULE_5__/* .getMushafId */ .$P)(quranReaderStyles.quranFont, quranReaderStyles.mushafLines).mushaf;
- const { verse , firstVerseInPage , bookmarksRangeUrl , notesRange } = (0,_hooks_useDedupedFetchVerse__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)({
- verseIdx,
- quranReaderDataType,
- quranReaderStyles,
- wordByWordLocale,
- reciterId,
- resourceId,
- selectedTranslations,
- initialData,
- setApiPageToVersesMap,
- mushafId
- });
- if (!verse) {
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_TranslationView_module_scss__WEBPACK_IMPORTED_MODULE_6___default().container),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TranslationViewCellSkeleton__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {})
- });
- }
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_TranslationView_module_scss__WEBPACK_IMPORTED_MODULE_6___default().container),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TranslationPageVerse__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
- isLastVerseInView: verseIdx + 1 === totalVerses,
- verse: verse,
- verseIdx: verseIdx,
- mushafId: mushafId,
- quranReaderStyles: quranReaderStyles,
- selectedTranslations: selectedTranslations,
- bookmarksRangeUrl: bookmarksRangeUrl,
- initialData: initialData,
- firstVerseInPage: firstVerseInPage,
- notesRange: notesRange
- })
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TranslationViewVerse);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 23712:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var _components_QuranReader_hooks_useFetchPagesLookup__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24881);
- /* harmony import */ var _contexts_DataContext__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(70813);
- /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(62093);
- /* harmony import */ var _utils_verseKeys__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(36495);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_components_QuranReader_hooks_useFetchPagesLookup__WEBPACK_IMPORTED_MODULE_2__]);
- _components_QuranReader_hooks_useFetchPagesLookup__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
- /**
- * This hooks calculates the total number of verses based on the verses range
- * and the current Mushaf settings
- *
- * @param {number|string} resourceId
- * @param {QuranReaderDataType} quranReaderDataType
- * @param {VersesResponse} initialData
- * @param {QuranReaderStyles} quranReaderStyles
- *
- * @returns {number} versesCount
- */ const useGetVersesCount = ({ resourceId , quranReaderDataType , initialData , quranReaderStyles , })=>{
- const isUsingDefaultFont = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_4__/* .selectIsUsingDefaultFont */ .i9);
- const { lookupRange } = (0,_components_QuranReader_hooks_useFetchPagesLookup__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(resourceId, quranReaderDataType, initialData, quranReaderStyles, isUsingDefaultFont);
- const chaptersData = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_contexts_DataContext__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z);
- const versesCount = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>{
- return (0,_utils_verseKeys__WEBPACK_IMPORTED_MODULE_5__/* .generateVerseKeysBetweenTwoVerseKeys */ .h)(chaptersData, lookupRange.from, lookupRange.to).length;
- }, [
- chaptersData,
- lookupRange.from,
- lookupRange.to
- ]);
- return versesCount;
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useGetVersesCount);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 38945:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71853);
- /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var _contexts_VerseTrackerContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(94921);
- /* harmony import */ var _contexts_DataContext__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(70813);
- /* harmony import */ var _utils_number__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(19303);
- /* harmony import */ var _utils_validator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(41051);
- /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(44519);
- /* harmony import */ var types_QuranReader__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(50467);
- /* harmony import */ var types_ScrollAlign__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(57070);
- /**
- * This hook listens to startingVerse query param and navigate to
- * the location where the verse is in the virtualized list.
- *
- * [NOTE]: This is meant to be used for TranslationView only.
- *
- * @param {QuranReaderDataType} quranReaderDataType
- * @param {React.MutableRefObject<VirtuosoHandle>} virtuosoRef
- * @param {Record<number, Verse[]>} apiPageToVersesMap
- * @param {string} chapterId
- * @param {number} versesPerPage
- */ const useScrollToVirtualizedTranslationView = (quranReaderDataType, virtuosoRef, apiPageToVersesMap, chapterId, versesPerPage)=>{
- const router = (0,next_router__WEBPACK_IMPORTED_MODULE_1__.useRouter)();
- const chaptersData = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_contexts_DataContext__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z);
- const { 0: shouldReadjustScroll , 1: setShouldReadjustScroll } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
- const timeoutId = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
- const { verseKeysQueue , shouldTrackObservedVerses } = (0,_contexts_VerseTrackerContext__WEBPACK_IMPORTED_MODULE_2__/* .useVerseTrackerContext */ .h)();
- const { startingVerse } = router.query;
- const startingVerseNumber = Number(startingVerse);
- const isValidStartingVerse = startingVerse && (0,_utils_validator__WEBPACK_IMPORTED_MODULE_4__/* .isValidVerseId */ .tW)(chaptersData, chapterId, String(startingVerse));
- const scrollToBeginningOfVerseCell = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((verseNumber)=>{
- const verseIndex = verseNumber - 1;
- virtuosoRef.current.scrollToIndex({
- index: verseIndex,
- align: types_ScrollAlign__WEBPACK_IMPORTED_MODULE_7__/* ["default"].Start */ .Z.Start,
- // this offset is to push the scroll a little bit down so that the context menu doesn't cover the verse
- offset: -70
- });
- }, [
- virtuosoRef
- ]);
- // this effect runs when there is initially a `startingVerse` in the url or when the user navigates to a new verse
- // it scrolls to the beginning of the verse cell and we set `shouldReadjustScroll` to true so that the other effect
- // adjusts the scroll to the correct position
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
- if (quranReaderDataType === types_QuranReader__WEBPACK_IMPORTED_MODULE_6__/* .QuranReaderDataType.Chapter */ .Qi.Chapter && isValidStartingVerse) {
- scrollToBeginningOfVerseCell(startingVerseNumber);
- setShouldReadjustScroll(true);
- }
- }, [
- quranReaderDataType,
- startingVerseNumber,
- isValidStartingVerse,
- scrollToBeginningOfVerseCell,
- ]);
- // this effect handles the case when the user navigates to a verse that is not yet loaded
- // we need to wait for the verse to be loaded and then scroll to it
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
- if (quranReaderDataType === types_QuranReader__WEBPACK_IMPORTED_MODULE_6__/* .QuranReaderDataType.Chapter */ .Qi.Chapter && isValidStartingVerse && // we only want to run this effect when the user navigates to a new verse
- // and not when the user is scrolling through the verses while apiPageToVersesMap is being populated
- shouldReadjustScroll) {
- shouldTrackObservedVerses.current = false;
- const pageNumber = (0,_utils_number__WEBPACK_IMPORTED_MODULE_8__/* .getPageNumberFromIndexAndPerPage */ .XN)(startingVerseNumber - 1, versesPerPage);
- const isFirstVerseInPage = startingVerseNumber % versesPerPage === 1;
- const isBeforeDoneLoading = pageNumber > 1 && isFirstVerseInPage ? !!apiPageToVersesMap[pageNumber - 1] : true;
- const isDoneLoading = !!apiPageToVersesMap[pageNumber] && isBeforeDoneLoading;
- // if the verse finished loading, or the one right before, we `setTimeout` and scroll to the beginning of the verse cell (this is a hacky solution so that the verse renders before we scroll to it)
- // and set `shouldReadjustScroll` to false so that this effect doesn't run again
- //
- // otherwise, we use `scrollToBeginningOfVerseCell` to scroll near the beginning of the verse cell without setting `shouldReadjustScroll` to false so that this effect runs again when the data loads
- if (isDoneLoading) {
- if (timeoutId.current !== null) {
- clearTimeout(timeoutId.current);
- }
- timeoutId.current = setTimeout(()=>{
- scrollToBeginningOfVerseCell(startingVerseNumber);
- shouldTrackObservedVerses.current = true;
- // we need to add the verse we scrolled to to the queue
- verseKeysQueue.current.add((0,_utils_verse__WEBPACK_IMPORTED_MODULE_5__/* .makeVerseKey */ .u)(chapterId, startingVerseNumber));
- }, 1000);
- setShouldReadjustScroll(false);
- } else {
- scrollToBeginningOfVerseCell(startingVerseNumber);
- }
- }
- }, [
- shouldReadjustScroll,
- startingVerseNumber,
- isValidStartingVerse,
- apiPageToVersesMap,
- quranReaderDataType,
- versesPerPage,
- scrollToBeginningOfVerseCell,
- virtuosoRef,
- shouldTrackObservedVerses,
- verseKeysQueue,
- chapterId,
- ]);
- // this effect clears the timeout when the component unmounts
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
- return ()=>{
- if (timeoutId.current !== null) {
- clearTimeout(timeoutId.current);
- }
- };
- }, []);
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useScrollToVirtualizedTranslationView);
- /***/ }),
- /***/ 55413:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(96954);
- /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dynamic__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var react_virtuoso__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(78404);
- /* harmony import */ var react_virtuoso__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_virtuoso__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var _onCopyQuranWords__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(12383);
- /* harmony import */ var _QueryParamMessage__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(61269);
- /* harmony import */ var _hooks_useGetVersesCount__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(23712);
- /* harmony import */ var _hooks_useScrollToVirtualizedVerse__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(38945);
- /* harmony import */ var _TranslationView_module_scss__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(78789);
- /* harmony import */ var _TranslationView_module_scss__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_TranslationView_module_scss__WEBPACK_IMPORTED_MODULE_14__);
- /* harmony import */ var _TranslationViewVerse__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(68249);
- /* harmony import */ var _dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(7190);
- /* harmony import */ var _hooks_useGetQueryParamOrReduxValue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(80211);
- /* harmony import */ var _hooks_useGetQueryParamOrXstateValue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(93134);
- /* harmony import */ var _hooks_useQcfFont__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(38102);
- /* harmony import */ var types_QueryParam__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(11721);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_onCopyQuranWords__WEBPACK_IMPORTED_MODULE_4__, _QueryParamMessage__WEBPACK_IMPORTED_MODULE_5__, _hooks_useGetVersesCount__WEBPACK_IMPORTED_MODULE_6__, _TranslationViewVerse__WEBPACK_IMPORTED_MODULE_8__, _hooks_useGetQueryParamOrXstateValue__WEBPACK_IMPORTED_MODULE_11__]);
- ([_onCopyQuranWords__WEBPACK_IMPORTED_MODULE_4__, _QueryParamMessage__WEBPACK_IMPORTED_MODULE_5__, _hooks_useGetVersesCount__WEBPACK_IMPORTED_MODULE_6__, _TranslationViewVerse__WEBPACK_IMPORTED_MODULE_8__, _hooks_useGetQueryParamOrXstateValue__WEBPACK_IMPORTED_MODULE_11__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- /* eslint-disable max-lines */ /* eslint-disable react/no-multi-comp */
- const EndOfScrollingControls = next_dynamic__WEBPACK_IMPORTED_MODULE_2___default()(null, {
- loadableGenerated: {
- modules: [
- "../components/QuranReader/TranslationView/index.tsx -> " + "../EndOfScrollingControls"
- ]
- },
- ssr: false,
- loading: ()=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {})
- });
- const INCREASE_VIEWPORT_BY_PIXELS = 1000;
- const TranslationView = ({ quranReaderStyles , quranReaderDataType , initialData , resourceId })=>{
- const { 0: apiPageToVersesMap , 1: setApiPageToVersesMap } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({
- 1: initialData.verses
- });
- const { value: reciterId , isQueryParamDifferent: reciterQueryParamDifferent , } = (0,_hooks_useGetQueryParamOrXstateValue__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z)(types_QueryParam__WEBPACK_IMPORTED_MODULE_13__/* ["default"].Reciter */ .Z.Reciter);
- const { value: selectedTranslations , isQueryParamDifferent: translationsQueryParamDifferent , } = (0,_hooks_useGetQueryParamOrReduxValue__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z)(types_QueryParam__WEBPACK_IMPORTED_MODULE_13__/* ["default"].Translations */ .Z.Translations);
- const { value: wordByWordLocale , isQueryParamDifferent: wordByWordLocaleQueryParamDifferent , } = (0,_hooks_useGetQueryParamOrReduxValue__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z)(types_QueryParam__WEBPACK_IMPORTED_MODULE_13__/* ["default"].WBW_LOCALE */ .Z.WBW_LOCALE);
- const versesCount = (0,_hooks_useGetVersesCount__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)({
- resourceId,
- quranReaderDataType,
- initialData,
- quranReaderStyles
- });
- const virtuosoRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
- (0,_hooks_useScrollToVirtualizedVerse__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z)(quranReaderDataType, virtuosoRef, apiPageToVersesMap, String(resourceId), initialData.pagination.perPage);
- const verses = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>Object.values(apiPageToVersesMap).flat(), [
- apiPageToVersesMap
- ]);
- (0,_hooks_useQcfFont__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z)(quranReaderStyles.quranFont, verses);
- const itemContentRenderer = (verseIdx)=>{
- if (verseIdx === versesCount) {
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(EndOfScrollingControls, {
- quranReaderDataType: quranReaderDataType,
- lastVerse: verses[verses.length - 1],
- initialData: initialData
- });
- }
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TranslationViewVerse__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
- verseIdx: verseIdx,
- totalVerses: versesCount,
- quranReaderDataType: quranReaderDataType,
- quranReaderStyles: quranReaderStyles,
- setApiPageToVersesMap: setApiPageToVersesMap,
- selectedTranslations: selectedTranslations,
- wordByWordLocale: wordByWordLocale,
- reciterId: reciterId,
- initialData: initialData,
- resourceId: resourceId
- });
- };
- const shouldShowQueryParamMessage = translationsQueryParamDifferent || reciterQueryParamDifferent || wordByWordLocaleQueryParamDifferent;
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
- children: [
- shouldShowQueryParamMessage && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_QueryParamMessage__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
- translationsQueryParamDifferent: translationsQueryParamDifferent,
- reciterQueryParamDifferent: reciterQueryParamDifferent,
- wordByWordLocaleQueryParamDifferent: wordByWordLocaleQueryParamDifferent
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_TranslationView_module_scss__WEBPACK_IMPORTED_MODULE_14___default().wrapper),
- onCopy: (event)=>(0,_onCopyQuranWords__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(event, verses, quranReaderStyles.quranFont),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_virtuoso__WEBPACK_IMPORTED_MODULE_3__.Virtuoso, {
- ref: virtuosoRef,
- useWindowScroll: true,
- totalCount: versesCount + 1,
- increaseViewportBy: INCREASE_VIEWPORT_BY_PIXELS,
- initialItemCount: 1,
- itemContent: itemContentRenderer
- })
- })
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TranslationView);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 96435:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "MD": () => (/* binding */ getPagesLookupParams),
- /* harmony export */ "f3": () => (/* binding */ verseFetcher),
- /* harmony export */ "oA": () => (/* binding */ getReaderViewRequestKey),
- /* harmony export */ "rB": () => (/* binding */ getTranslationViewRequestKey)
- /* harmony export */ });
- /* harmony import */ var _utils_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4917);
- /* harmony import */ var _utils_apiPaths__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(46127);
- /* harmony import */ var src_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(92684);
- /* harmony import */ var types_QuranReader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(50467);
- /* eslint-disable max-lines */ /* eslint-disable react-func/max-lines-per-function */
- /**
- * Generate the request key (the API url based on the params)
- * which will be used by useSwr to determine whether to call BE
- * again or return the cached response.
- *
- * @returns {string}
- */ const getTranslationViewRequestKey = ({ id , isVerseData , initialData , pageNumber , quranReaderStyles , quranReaderDataType , selectedTranslations , reciter , locale , wordByWordLocale })=>{
- // if the response has only 1 verse it means we should set the page to that verse this will be combined with perPage which will be set to only 1.
- const page = isVerseData ? initialData.verses[0].verseNumber : pageNumber;
- const commonParams = {
- page,
- reciter,
- wordTranslationLanguage: wordByWordLocale,
- translations: selectedTranslations.join(","),
- ...(0,_utils_api__WEBPACK_IMPORTED_MODULE_0__/* .getDefaultWordFields */ .hD)(quranReaderStyles.quranFont),
- ...(0,_utils_api__WEBPACK_IMPORTED_MODULE_0__/* .getMushafId */ .$P)(quranReaderStyles.quranFont, quranReaderStyles.mushafLines)
- };
- if (quranReaderDataType === types_QuranReader__WEBPACK_IMPORTED_MODULE_3__/* .QuranReaderDataType.Juz */ .Qi.Juz) {
- return (0,_utils_apiPaths__WEBPACK_IMPORTED_MODULE_1__/* .makeJuzVersesUrl */ .IC)(id, locale, {
- ...commonParams,
- perPage: initialData.pagination.perPage
- });
- }
- if (quranReaderDataType === types_QuranReader__WEBPACK_IMPORTED_MODULE_3__/* .QuranReaderDataType.Hizb */ .Qi.Hizb) {
- return (0,_utils_apiPaths__WEBPACK_IMPORTED_MODULE_1__/* .makeHizbVersesUrl */ .Y8)(id, locale, {
- ...commonParams,
- perPage: initialData.pagination.perPage
- });
- }
- if (quranReaderDataType === types_QuranReader__WEBPACK_IMPORTED_MODULE_3__/* .QuranReaderDataType.Page */ .Qi.Page) {
- return (0,_utils_apiPaths__WEBPACK_IMPORTED_MODULE_1__/* .makePageVersesUrl */ .K2)(id, locale, {
- perPage: "all",
- ...commonParams
- });
- }
- if (quranReaderDataType === types_QuranReader__WEBPACK_IMPORTED_MODULE_3__/* .QuranReaderDataType.Rub */ .Qi.Rub) {
- return (0,_utils_apiPaths__WEBPACK_IMPORTED_MODULE_1__/* .makeRubVersesUrl */ .Im)(id, locale, {
- from: initialData.metaData.from,
- perPage: initialData.pagination.perPage,
- to: initialData.metaData.to,
- ...commonParams
- });
- }
- if (quranReaderDataType === types_QuranReader__WEBPACK_IMPORTED_MODULE_3__/* .QuranReaderDataType.ChapterVerseRanges */ .Qi.ChapterVerseRanges) {
- return (0,_utils_apiPaths__WEBPACK_IMPORTED_MODULE_1__/* .makeVersesUrl */ .ML)(id, locale, {
- from: initialData.metaData.from,
- perPage: initialData.pagination.perPage,
- to: initialData.metaData.to,
- ...commonParams
- });
- }
- if (quranReaderDataType === types_QuranReader__WEBPACK_IMPORTED_MODULE_3__/* .QuranReaderDataType.Ranges */ .Qi.Ranges) {
- return (0,_utils_apiPaths__WEBPACK_IMPORTED_MODULE_1__/* .makeByRangeVersesUrl */ .Eo)(locale, {
- from: initialData.pagesLookup.lookupRange.from,
- perPage: initialData.pagination.perPage,
- to: initialData.pagesLookup.lookupRange.to,
- ...commonParams
- });
- }
- return (0,_utils_apiPaths__WEBPACK_IMPORTED_MODULE_1__/* .makeVersesUrl */ .ML)(id, locale, {
- perPage: isVerseData ? 1 : initialData.pagination.perPage,
- ...commonParams
- });
- };
- const getReaderViewRequestKey = ({ pageNumber , locale , quranReaderStyles , reciter , wordByWordLocale , pageVersesRange })=>{
- return (0,_utils_apiPaths__WEBPACK_IMPORTED_MODULE_1__/* .makePageVersesUrl */ .K2)(pageNumber, locale, {
- ...(0,_utils_api__WEBPACK_IMPORTED_MODULE_0__/* .getDefaultWordFields */ .hD)(quranReaderStyles.quranFont),
- ...(0,_utils_api__WEBPACK_IMPORTED_MODULE_0__/* .getMushafId */ .$P)(quranReaderStyles.quranFont, quranReaderStyles.mushafLines),
- reciter,
- perPage: "all",
- wordTranslationLanguage: wordByWordLocale,
- filterPageWords: true,
- ...pageVersesRange && {
- ...pageVersesRange
- }
- }, false);
- };
- const getPagesLookupParams = (resourceId, quranReaderDataType, mushafId, initialData)=>{
- const params = {
- mushaf: mushafId
- };
- const resourceIdNumber = Number(resourceId);
- switch(quranReaderDataType){
- case types_QuranReader__WEBPACK_IMPORTED_MODULE_3__/* .QuranReaderDataType.Chapter */ .Qi.Chapter:
- params.chapterNumber = resourceIdNumber;
- break;
- case types_QuranReader__WEBPACK_IMPORTED_MODULE_3__/* .QuranReaderDataType.Hizb */ .Qi.Hizb:
- params.hizbNumber = resourceIdNumber;
- break;
- case types_QuranReader__WEBPACK_IMPORTED_MODULE_3__/* .QuranReaderDataType.Juz */ .Qi.Juz:
- params.juzNumber = resourceIdNumber;
- break;
- case types_QuranReader__WEBPACK_IMPORTED_MODULE_3__/* .QuranReaderDataType.Page */ .Qi.Page:
- params.pageNumber = resourceIdNumber;
- break;
- case types_QuranReader__WEBPACK_IMPORTED_MODULE_3__/* .QuranReaderDataType.Rub */ .Qi.Rub:
- params.rubElHizbNumber = resourceIdNumber;
- break;
- case types_QuranReader__WEBPACK_IMPORTED_MODULE_3__/* .QuranReaderDataType.Verse */ .Qi.Verse:
- params.chapterNumber = resourceIdNumber;
- params.from = initialData.verses[0].verseKey;
- params.to = initialData.verses[0].verseKey;
- break;
- case types_QuranReader__WEBPACK_IMPORTED_MODULE_3__/* .QuranReaderDataType.ChapterVerseRanges */ .Qi.ChapterVerseRanges:
- params.chapterNumber = resourceIdNumber;
- params.from = initialData.metaData.from;
- params.to = initialData.metaData.to;
- break;
- case types_QuranReader__WEBPACK_IMPORTED_MODULE_3__/* .QuranReaderDataType.Ranges */ .Qi.Ranges:
- params.from = initialData.pagesLookup.lookupRange.from;
- params.to = initialData.pagesLookup.lookupRange.to;
- break;
- default:
- break;
- }
- return params;
- };
- /**
- * A custom fetcher that returns the verses array from the api result.
- * We need this workaround as useSWRInfinite requires the data from the api
- * to be an array, while the result we get is formatted as {meta: {}, verses: Verse[]}
- *
- * @returns {Promise<Verse[]>}
- */ const verseFetcher = async (input, init)=>{
- const res = await (0,src_api__WEBPACK_IMPORTED_MODULE_2__/* .fetcher */ ._i)(input, init);
- // @ts-ignore ignore this typing for now, we'll get back into this when we fix the "initial data not being used" issue
- return res.verses;
- };
- /***/ }),
- /***/ 94921:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "N": () => (/* binding */ VerseTrackerContextProvider),
- /* harmony export */ "h": () => (/* binding */ useVerseTrackerContext)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- const VerseTrackerContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(null);
- const VerseTrackerContextProvider = ({ children })=>{
- const verseKeysQueue = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(new Set());
- const shouldTrackObservedVerses = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(true);
- const value = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>({
- verseKeysQueue,
- shouldTrackObservedVerses
- }), []);
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(VerseTrackerContext.Provider, {
- value: value,
- children: children
- });
- };
- const useVerseTrackerContext = ()=>(0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(VerseTrackerContext);
- /***/ }),
- /***/ 24881:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var swr_immutable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(79847);
- /* harmony import */ var _components_QuranReader_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(96435);
- /* harmony import */ var _utils_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4917);
- /* harmony import */ var _utils_apiPaths__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(46127);
- /* harmony import */ var src_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(92684);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr_immutable__WEBPACK_IMPORTED_MODULE_0__]);
- swr_immutable__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
- /**
- * This hooks fetches the total number of pages of a specific Mushaf of
- * a resource e.g. a page/juz/verse/range/hiz etc.
- *
- * @param {number|string} resourceId
- * @param {QuranReaderDataType} quranReaderDataType
- * @param {VersesResponse} initialData
- * @param {QuranReaderStyles} quranReaderStyles
- *
- * @returns {{ pagesCount: number; hasError: boolean }}
- */ const useFetchPagesLookup = (resourceId, quranReaderDataType, initialData, quranReaderStyles, isUsingDefaultFont)=>{
- const { data , error , isValidating } = (0,swr_immutable__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_utils_apiPaths__WEBPACK_IMPORTED_MODULE_3__/* .makePagesLookupUrl */ .I$)((0,_components_QuranReader_api__WEBPACK_IMPORTED_MODULE_1__/* .getPagesLookupParams */ .MD)(resourceId, quranReaderDataType, (0,_utils_api__WEBPACK_IMPORTED_MODULE_2__/* .getMushafId */ .$P)(quranReaderStyles.quranFont, quranReaderStyles.mushafLines).mushaf, initialData)), src_api__WEBPACK_IMPORTED_MODULE_4__/* .fetcher */ ._i, {
- fallbackData: initialData.pagesLookup,
- revalidateOnMount: !isUsingDefaultFont
- });
- return {
- data,
- pagesCount: data.totalPage,
- pagesVersesRange: data.pages,
- lookupRange: data.lookupRange,
- hasError: !!error,
- isLoading: isValidating && !data
- };
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useFetchPagesLookup);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 5766:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93908);
- /* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(15941);
- /* harmony import */ var _contexts_VerseTrackerContext__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(94921);
- /* harmony import */ var _observer__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(94082);
- /* harmony import */ var _contexts_DataContext__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(70813);
- /* harmony import */ var _hooks_useGlobalIntersectionObserver__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(97678);
- /* harmony import */ var _redux_slices_QuranReader_readingTracker__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(16143);
- /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(62093);
- /* harmony import */ var _types_auth_ActivityDay__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(97043);
- /* harmony import */ var _utils_activity_day__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(26332);
- /* harmony import */ var _utils_api__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(4917);
- /* harmony import */ var _utils_auth_api__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(37883);
- /* harmony import */ var _utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(13830);
- /* harmony import */ var _utils_auth_login__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(22197);
- /* harmony import */ var _utils_mergeVerseKeys__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(26498);
- /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(44519);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr__WEBPACK_IMPORTED_MODULE_3__, _utils_auth_login__WEBPACK_IMPORTED_MODULE_14__]);
- ([swr__WEBPACK_IMPORTED_MODULE_3__, _utils_auth_login__WEBPACK_IMPORTED_MODULE_14__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- /* eslint-disable react-func/max-lines-per-function */
- const READING_DAY_SYNC_TIME_MS = 5000; // 5 seconds
- const READING_SESSION_DEBOUNCE_WAIT_TIME = 2000; // 5 seconds
- /**
- * This hook is responsible for syncing the user's reading progress with the backend.
- *
- * @param {UseSyncReadingProgressProps} options
- */ const useSyncReadingProgress = ({ isReadingPreference })=>{
- const chaptersData = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_contexts_DataContext__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z);
- const quranFont = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_8__/* .selectQuranFont */ .Ho, react_redux__WEBPACK_IMPORTED_MODULE_2__.shallowEqual);
- const mushafLines = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_8__/* .selectQuranMushafLines */ .z$, react_redux__WEBPACK_IMPORTED_MODULE_2__.shallowEqual);
- const { mushaf } = (0,_utils_api__WEBPACK_IMPORTED_MODULE_11__/* .getMushafId */ .$P)(quranFont, mushafLines);
- /**
- * `verseKeysQueue` is a queue of verse keys that we need to send to the backend
- * we will clear the queue every {READING_DAY_SYNC_TIME} milliseconds after sending the data to the backend
- * it is also a Set not an array to avoid duplicate verse keys
- */ const { verseKeysQueue , shouldTrackObservedVerses } = (0,_contexts_VerseTrackerContext__WEBPACK_IMPORTED_MODULE_4__/* .useVerseTrackerContext */ .h)();
- const elapsedReadingTimeInSeconds = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);
- const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useDispatch)();
- const { cache , mutate } = (0,swr__WEBPACK_IMPORTED_MODULE_3__.useSWRConfig)();
- const addReadingSessionAndClearCache = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((chapterNumber, verseNumber)=>{
- (0,_utils_auth_api__WEBPACK_IMPORTED_MODULE_12__/* .addReadingSession */ .c7)(chapterNumber, verseNumber).then(()=>{
- cache.delete((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_13__/* .makeReadingSessionsUrl */ .Tj)());
- });
- }, [
- cache
- ]);
- const debouncedAddReadingSession = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>lodash_debounce__WEBPACK_IMPORTED_MODULE_1___default()(addReadingSessionAndClearCache, READING_SESSION_DEBOUNCE_WAIT_TIME), [
- addReadingSessionAndClearCache
- ]);
- // send the data to the backend and clear the SWR cache
- const updateReadingDayAndClearCache = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((body)=>{
- (0,_utils_auth_api__WEBPACK_IMPORTED_MODULE_12__/* .updateActivityDay */ .i1)(body).then(()=>{
- // invalidate the current month's history cache to refetch the data if we navigated to it
- const currentMonthHistoryUrl = (0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_13__/* .makeFilterActivityDaysUrl */ .W_)((0,_utils_activity_day__WEBPACK_IMPORTED_MODULE_10__/* .getFilterActivityDaysParamsOfCurrentMonth */ .F)());
- cache.delete(currentMonthHistoryUrl);
- mutate((0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_13__/* .makeStreakUrl */ .G_)());
- });
- }, [
- mutate,
- cache
- ]);
- // this function will be called when an element is triggered by the intersection observer
- const onElementVisible = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((element)=>{
- const lastReadVerse = (0,_observer__WEBPACK_IMPORTED_MODULE_17__/* .getObservedVersePayload */ .s$)(element);
- dispatch((0,_redux_slices_QuranReader_readingTracker__WEBPACK_IMPORTED_MODULE_7__/* .setLastReadVerse */ .ge)({
- lastReadVerse,
- chaptersData
- }));
- if ((0,_utils_auth_login__WEBPACK_IMPORTED_MODULE_14__/* .isLoggedIn */ .jl)() && shouldTrackObservedVerses.current) {
- /**
- * Add the verse key to the queue.
- * We make sure the user is logged-in first so that we don't add it to the queue and never clear it (which causes a memory leak).
- */ verseKeysQueue.current.add(lastReadVerse.verseKey);
- const [chapterNumber, verseNumber] = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_16__/* .getVerseAndChapterNumbersFromKey */ .bV)(lastReadVerse.verseKey);
- debouncedAddReadingSession(Number(chapterNumber), Number(verseNumber));
- }
- }, [
- chaptersData,
- debouncedAddReadingSession,
- dispatch,
- verseKeysQueue,
- shouldTrackObservedVerses
- ]);
- // eslint-disable-next-line consistent-return
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
- // if the user is not logged in, we don't need to sync the reading day
- // TODO: maybe we can save this in the local storage and sync it when the user logs in?
- if (!(0,_utils_auth_login__WEBPACK_IMPORTED_MODULE_14__/* .isLoggedIn */ .jl)()) {
- return ()=>null;
- }
- const interval = setInterval(()=>{
- // nothing to send
- if (verseKeysQueue.current.size === 0 && elapsedReadingTimeInSeconds.current === 0) {
- return;
- }
- // an array of verse ranges that we will send to the backend
- // we will get them by merging the verse keys in the queue
- let verseRanges = null;
- if (verseKeysQueue.current.size > 0) {
- // merge the verse keys and clear the queue
- verseRanges = Array.from((0,_utils_mergeVerseKeys__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z)(verseKeysQueue.current));
- verseKeysQueue.current.clear();
- }
- let seconds = null;
- if (elapsedReadingTimeInSeconds.current > 0) {
- seconds = elapsedReadingTimeInSeconds.current;
- elapsedReadingTimeInSeconds.current = 0;
- }
- const body = {
- mushafId: mushaf,
- type: _types_auth_ActivityDay__WEBPACK_IMPORTED_MODULE_9__/* .ActivityDayType.QURAN */ .t.QURAN
- };
- if (verseRanges) {
- body.ranges = verseRanges;
- }
- if (seconds) {
- body.seconds = seconds;
- }
- updateReadingDayAndClearCache(body);
- }, READING_DAY_SYNC_TIME_MS);
- return ()=>{
- clearInterval(interval);
- };
- }, [
- chaptersData,
- updateReadingDayAndClearCache,
- verseKeysQueue,
- mushaf
- ]);
- // this will track user's reading time
- // also, if the user is not on the same tab, we will pause the timer
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
- if (!(0,_utils_auth_login__WEBPACK_IMPORTED_MODULE_14__/* .isLoggedIn */ .jl)()) {
- return ()=>null;
- }
- let interval = null;
- const handleFocus = ()=>{
- if (interval) clearInterval(interval);
- interval = setInterval(()=>{
- elapsedReadingTimeInSeconds.current += 1;
- }, 1000);
- };
- const handleBlur = ()=>{
- clearInterval(interval);
- };
- window.addEventListener("focus", handleFocus);
- window.addEventListener("blur", handleBlur);
- handleFocus();
- return ()=>{
- window.removeEventListener("focus", handleFocus);
- window.removeEventListener("blur", handleBlur);
- };
- }, []);
- (0,_hooks_useGlobalIntersectionObserver__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)((0,_observer__WEBPACK_IMPORTED_MODULE_17__/* .getOptions */ .FW)(isReadingPreference), onElementVisible, _observer__WEBPACK_IMPORTED_MODULE_17__/* .QURAN_READER_OBSERVER_ID */ .NM);
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useSyncReadingProgress);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 14116:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_4__);
- /* harmony import */ var _ContextMenu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(11877);
- /* harmony import */ var _contexts_VerseTrackerContext__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(94921);
- /* harmony import */ var _DebuggingObserverWindow__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(43598);
- /* harmony import */ var _Notes_Notes__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(28800);
- /* harmony import */ var _QuranReader_module_scss__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(53543);
- /* harmony import */ var _QuranReader_module_scss__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_QuranReader_module_scss__WEBPACK_IMPORTED_MODULE_17__);
- /* harmony import */ var _QuranReaderView__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(6846);
- /* harmony import */ var _SidebarNavigation_SidebarNavigation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(53980);
- /* harmony import */ var _components_Fonts_FontPreLoader__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(86193);
- /* harmony import */ var _redux_slices_QuranReader_notes__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(66093);
- /* harmony import */ var _redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(90264);
- /* harmony import */ var _redux_slices_QuranReader_sidebarNavigation__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(12547);
- /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(62093);
- /* harmony import */ var types_QuranReader__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(50467);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_ContextMenu__WEBPACK_IMPORTED_MODULE_5__, _QuranReaderView__WEBPACK_IMPORTED_MODULE_9__, _SidebarNavigation_SidebarNavigation__WEBPACK_IMPORTED_MODULE_10__]);
- ([_ContextMenu__WEBPACK_IMPORTED_MODULE_5__, _QuranReaderView__WEBPACK_IMPORTED_MODULE_9__, _SidebarNavigation_SidebarNavigation__WEBPACK_IMPORTED_MODULE_10__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- /* eslint-disable react/no-multi-comp */
- const QuranReader = ({ initialData , id , quranReaderDataType =types_QuranReader__WEBPACK_IMPORTED_MODULE_16__/* .QuranReaderDataType.Chapter */ .Qi.Chapter })=>{
- const { lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()();
- const isSideBarVisible = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_notes__WEBPACK_IMPORTED_MODULE_12__/* .selectNotes */ .$p, react_redux__WEBPACK_IMPORTED_MODULE_4__.shallowEqual).isVisible;
- const quranReaderStyles = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_15__/* .selectQuranReaderStyles */ .Pt, react_redux__WEBPACK_IMPORTED_MODULE_4__.shallowEqual);
- const isSidebarNavigationVisible = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_sidebarNavigation__WEBPACK_IMPORTED_MODULE_14__/* .selectIsSidebarNavigationVisible */ .rS);
- const readingPreference = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_13__/* .selectReadingPreference */ .EA);
- const isReadingPreference = readingPreference === types_QuranReader__WEBPACK_IMPORTED_MODULE_16__/* .ReadingPreference.Reading */ .m3.Reading;
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_Fonts_FontPreLoader__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
- isQuranReader: true,
- locale: lang
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_ContextMenu__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {}),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_DebuggingObserverWindow__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
- isReadingMode: isReadingPreference
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_QuranReader_module_scss__WEBPACK_IMPORTED_MODULE_17___default().container), {
- [(_QuranReader_module_scss__WEBPACK_IMPORTED_MODULE_17___default().withVisibleSideBar)]: isSideBarVisible,
- [(_QuranReader_module_scss__WEBPACK_IMPORTED_MODULE_17___default().withSidebarNavigationOpenOrAuto)]: isSidebarNavigationVisible
- }),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_QuranReader_module_scss__WEBPACK_IMPORTED_MODULE_17___default().infiniteScroll), {
- [(_QuranReader_module_scss__WEBPACK_IMPORTED_MODULE_17___default().readingView)]: isReadingPreference
- }),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_contexts_VerseTrackerContext__WEBPACK_IMPORTED_MODULE_6__/* .VerseTrackerContextProvider */ .N, {
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_QuranReaderView__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
- isReadingPreference: isReadingPreference,
- quranReaderStyles: quranReaderStyles,
- initialData: initialData,
- quranReaderDataType: quranReaderDataType,
- resourceId: id
- })
- })
- })
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_SidebarNavigation_SidebarNavigation__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {}),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Notes_Notes__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {})
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (QuranReader);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 12383:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var clipboard_copy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(34741);
- /* harmony import */ var clipboard_copy__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(clipboard_copy__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var _dls_QuranWord_QuranWord__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17543);
- /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44519);
- /* harmony import */ var _utils_word__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(94675);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_dls_QuranWord_QuranWord__WEBPACK_IMPORTED_MODULE_1__]);
- _dls_QuranWord_QuranWord__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
- /**
- * 1) select all DOM nodes that contain data attribute `data-word-location`
- * 2) see if those nodes are within `selection`
- * 3) extract uthmani_text for those nodes
- * 4) copy those uthmani_text to clipboard
- *
- * We need to use uthmani_text instead of the rendered text to support unicode based fonts like v1 and v2.
- *
- * @param {React.ClipboardEvent<HTMLDivElement>} event
- * @param {Verse[]} verses all verses to scan for `data-word-location`
- * @param {QuranFont} quranFont font to copy, if not `text_indopak` or `text_uthmani` then will use `text_uthmani` to support unicode based fonts
- */ const onCopyQuranWords = (event, verses, quranFont)=>{
- const selection = document.getSelection();
- const quranWordsToCopy = Array.from(document.querySelectorAll(`[${_dls_QuranWord_QuranWord__WEBPACK_IMPORTED_MODULE_1__/* .DATA_ATTRIBUTE_WORD_LOCATION */ .q}]`)).filter((node)=>selection.containsNode(node, true)).map((node)=>{
- const wordLocation = node.getAttribute(_dls_QuranWord_QuranWord__WEBPACK_IMPORTED_MODULE_1__/* .DATA_ATTRIBUTE_WORD_LOCATION */ .q);
- return extractText(wordLocation, verses, quranFont);
- });
- if (quranWordsToCopy.length > 0) {
- // only do prevent default & call clipboardCopy when there are quran words to copy
- // otherwise, user can't copy the translation text
- event.preventDefault();
- clipboard_copy__WEBPACK_IMPORTED_MODULE_0___default()(quranWordsToCopy.join(" "));
- }
- };
- /**
- *
- * @param {string} wordLocation example: "1:1:1" (chapter 1, verse 1, word position 1)
- * @param {Verse[]} verses list of verses to search for wordLocation
- * @param {QuranFont} quranFont font to copy, if not `text_indopak` or `text_uthmani` then will use `text_uthmani` to support unicode based fonts
- * @returns {string} text of the wordLocation. example "ٱلْحَمْدُ"
- */ const extractText = (wordLocation, verses, quranFont)=>{
- const [chapter, verse, location] = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_2__/* .getWordDataByLocation */ .TO)(wordLocation);
- // find the verse
- const selectedVerse = verses.find((v)=>v.verseKey === `${chapter}:${verse}`);
- if (!selectedVerse) {
- return "";
- }
- // find the word
- const selectedWord = selectedVerse.words.find((word)=>Number(word.position) === Number(location));
- if (!selectedWord) {
- return "";
- }
- return selectedWord[(0,_utils_word__WEBPACK_IMPORTED_MODULE_3__/* .getWordTextFieldNameByFont */ .U)(quranFont)];
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (onCopyQuranWords);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 52544:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "RG": () => (/* binding */ verseFontChanged),
- /* harmony export */ "UH": () => (/* binding */ verseTranslationChanged),
- /* harmony export */ "r4": () => (/* binding */ verseTranslationFontChanged)
- /* harmony export */ });
- /**
- * If the number of translations has changed between 2 renders it's due to the
- * user choosing/un-choosing a translation.
- *
- * @param {Verse} prevVerse
- * @param {Verse} nextVerse
- * @returns {boolean}
- */ const verseTranslationChanged = (prevVerse, nextVerse)=>prevVerse?.translations?.length !== nextVerse?.translations?.length;
- /**
- * Checks whether the translation font styles has changed between the re-renders
- *
- * @param {QuranReaderStyles} prevQuranStyles
- * @param {QuranReaderStyles} nextQuranStyles
- * @returns {boolean}
- */ const verseTranslationFontChanged = (prevQuranStyles, nextQuranStyles)=>prevQuranStyles.translationFontScale !== nextQuranStyles.translationFontScale;
- /**
- * Check whether the font has changed or not between 2 renders. We consider the font
- * has changed also when the number of lines in indopak has changed or when the word
- * by word tooltip locale has changed.
- *
- * @param {QuranReaderStyles} prevQuranStyles
- * @param {QuranReaderStyles} nextQuranStyles
- * @param {Word[]} prevWords
- * @param {Word[]} nextWords
- * @returns {boolean}
- */ const verseFontChanged = (prevQuranStyles, nextQuranStyles, prevWords, nextWords)=>prevQuranStyles.mushafLines !== nextQuranStyles.mushafLines || prevWords.length !== nextWords.length || prevWords[0].text !== nextWords[0].text || prevWords[0].translation.languageName !== nextWords[0].translation.languageName;
- /***/ }),
- /***/ 2401:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* unused harmony export VerseNotesTrigger */
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(71853);
- /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4__);
- /* harmony import */ var swr_immutable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(79847);
- /* harmony import */ var _Notes_module_scss__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(18355);
- /* harmony import */ var _Notes_module_scss__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_Notes_module_scss__WEBPACK_IMPORTED_MODULE_20__);
- /* harmony import */ var _components_Notes_NoteModal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(93636);
- /* harmony import */ var _components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(40608);
- /* harmony import */ var _components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_18__);
- /* harmony import */ var _components_Wrapper_Wrapper__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(41701);
- /* harmony import */ var _dls_Badge_Badge__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(80729);
- /* harmony import */ var _dls_Badge_NewLabel__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(62703);
- /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(50497);
- /* harmony import */ var _icons_notes_empty_svg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(52150);
- /* harmony import */ var _icons_notes_filled_svg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(38293);
- /* harmony import */ var _types_auth_ConsentType__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(39433);
- /* harmony import */ var _utils_auth_api__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(37883);
- /* harmony import */ var _utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(13830);
- /* harmony import */ var _utils_auth_login__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(22197);
- /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(55943);
- /* harmony import */ var _utils_navigation__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(57933);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr_immutable__WEBPACK_IMPORTED_MODULE_5__, _components_Notes_NoteModal__WEBPACK_IMPORTED_MODULE_6__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_9__, _utils_auth_login__WEBPACK_IMPORTED_MODULE_15__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_16__, _utils_navigation__WEBPACK_IMPORTED_MODULE_17__]);
- ([swr_immutable__WEBPACK_IMPORTED_MODULE_5__, _components_Notes_NoteModal__WEBPACK_IMPORTED_MODULE_6__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_9__, _utils_auth_login__WEBPACK_IMPORTED_MODULE_15__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_16__, _utils_navigation__WEBPACK_IMPORTED_MODULE_17__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- var VerseNotesTrigger;
- (function(VerseNotesTrigger) {
- VerseNotesTrigger["IconButton"] = "button";
- VerseNotesTrigger["PopoverItem"] = "popoverItem";
- })(VerseNotesTrigger || (VerseNotesTrigger = {}));
- const VerseNotes = ({ verseKey , isTranslationView , hasNotes })=>{
- const { 0: isModalOpen , 1: setIsModalOpen } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
- const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4___default()("common");
- const router = (0,next_router__WEBPACK_IMPORTED_MODULE_3__.useRouter)();
- const { data: userData } = (0,swr_immutable__WEBPACK_IMPORTED_MODULE_5__["default"])((0,_utils_auth_login__WEBPACK_IMPORTED_MODULE_15__/* .isLoggedIn */ .jl)() ? (0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_14__/* .makeUserProfileUrl */ .bo)() : null, _utils_auth_api__WEBPACK_IMPORTED_MODULE_13__/* .getUserProfile */ .et);
- const onItemClicked = ()=>{
- const isUserLoggedIn = (0,_utils_auth_login__WEBPACK_IMPORTED_MODULE_15__/* .isLoggedIn */ .jl)();
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_16__/* .logButtonClick */ .MY)("verse_actions_menu_note", {
- isTranslationView,
- isLoggedIn: _utils_auth_login__WEBPACK_IMPORTED_MODULE_15__/* .isLoggedIn */ .jl
- });
- if (!isUserLoggedIn) {
- router.push((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_17__/* .getLoginNavigationUrl */ .gk)((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_17__/* .getChapterWithStartingVerseUrl */ .P6)(verseKey)));
- } else {
- setIsModalOpen(true);
- }
- };
- const onClose = ()=>{
- setIsModalOpen(false);
- };
- // TODO: consents is used as a temporary solution until we have a proper way to check if the user has notes
- const shouldShowNewLabel = !userData?.consents?.[_types_auth_ConsentType__WEBPACK_IMPORTED_MODULE_12__/* ["default"].HAS_NOTES */ .Z.HAS_NOTES];
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_Notes_NoteModal__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
- isOpen: isModalOpen,
- onClose: onClose,
- verseKey: verseKey
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .ZP, {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_18___default().iconContainer), (_components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_18___default().verseAction), (_components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_18___default().fadedVerseAction)),
- onClick: onItemClicked,
- tooltip: t("notes.title"),
- type: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_9__/* .ButtonType.Primary */ .L$.Primary,
- shape: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_9__/* .ButtonShape.Circle */ .jL.Circle,
- variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_9__/* .ButtonVariant.Ghost */ .Wu.Ghost,
- size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_9__/* .ButtonSize.Small */ .qE.Small,
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- className: (_components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_18___default().icon),
- children: hasNotes ? /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_notes_filled_svg__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {}) : /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_Wrapper_Wrapper__WEBPACK_IMPORTED_MODULE_19__/* ["default"] */ .Z, {
- shouldWrap: shouldShowNewLabel,
- wrapper: (children)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Badge_Badge__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
- className: (_Notes_module_scss__WEBPACK_IMPORTED_MODULE_20___default().newLabelContainer),
- contentClassName: (_Notes_module_scss__WEBPACK_IMPORTED_MODULE_20___default().newLabel),
- content: shouldShowNewLabel && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Badge_NewLabel__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {}),
- children: children
- }),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_notes_empty_svg__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {})
- })
- })
- })
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VerseNotes);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 16413:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var _VerseLink_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(57303);
- /* harmony import */ var _VerseLink_module_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_VerseLink_module_scss__WEBPACK_IMPORTED_MODULE_7__);
- /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(50497);
- /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(55943);
- /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(24709);
- /* harmony import */ var _utils_navigation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(57933);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_4__, _utils_navigation__WEBPACK_IMPORTED_MODULE_6__]);
- ([_dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_4__, _utils_navigation__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- const VerseLink = ({ verseKey })=>{
- const { lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default()("");
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP, {
- className: (_VerseLink_module_scss__WEBPACK_IMPORTED_MODULE_7___default().verseLink),
- size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__/* .ButtonSize.Small */ .qE.Small,
- shape: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__/* .ButtonShape.Circle */ .jL.Circle,
- href: (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_6__/* .getChapterWithStartingVerseUrl */ .P6)(verseKey),
- shouldShallowRoute: true,
- variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__/* .ButtonVariant.Ghost */ .Wu.Ghost,
- shouldPrefetch: false,
- onClick: ()=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_4__/* .logButtonClick */ .MY)("translation_view_verse_link");
- },
- children: (0,_utils_locale__WEBPACK_IMPORTED_MODULE_5__/* .toLocalizedVerseKey */ .Tj)(verseKey, lang)
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VerseLink);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 36716:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(71853);
- /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_4__);
- /* harmony import */ var _QuranReader_observer__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(94082);
- /* harmony import */ var _pageUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(76345);
- /* harmony import */ var _VerseText_module_scss__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(29702);
- /* harmony import */ var _VerseText_module_scss__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_VerseText_module_scss__WEBPACK_IMPORTED_MODULE_17__);
- /* harmony import */ var _components_QuranReader_hooks_useIsFontLoaded__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(97226);
- /* harmony import */ var _dls_QuranWord_QuranWord__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(17543);
- /* harmony import */ var _hooks_useObserveElement__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(13758);
- /* harmony import */ var _redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(90264);
- /* harmony import */ var _redux_slices_QuranReader_readingViewVerse__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(31922);
- /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(62093);
- /* harmony import */ var _types_QueryParam__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(11721);
- /* harmony import */ var _utils_fontFaceHelper__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(64198);
- /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(44519);
- /* harmony import */ var types_QuranReader__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(50467);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_dls_QuranWord_QuranWord__WEBPACK_IMPORTED_MODULE_7__]);
- _dls_QuranWord_QuranWord__WEBPACK_IMPORTED_MODULE_7__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
- const VerseText = ({ words , isReadingMode =false , isHighlighted , shouldShowH1ForSEO =false })=>{
- const router = (0,next_router__WEBPACK_IMPORTED_MODULE_3__.useRouter)();
- const textRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
- (0,_hooks_useObserveElement__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z)(textRef, _QuranReader_observer__WEBPACK_IMPORTED_MODULE_16__/* .QURAN_READER_OBSERVER_ID */ .NM);
- const { quranFont , quranTextFontScale , mushafLines } = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_11__/* .selectQuranReaderStyles */ .Pt, react_redux__WEBPACK_IMPORTED_MODULE_4__.shallowEqual);
- const [firstWord] = words;
- const { lineNumber , pageNumber , location , verseKey , hizbNumber } = firstWord;
- const isFontLoaded = (0,_components_QuranReader_hooks_useIsFontLoaded__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(firstWord.pageNumber, quranFont);
- const { showWordByWordTranslation , showWordByWordTransliteration } = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_9__/* .selectInlineDisplayWordByWordPreferences */ .eB, react_redux__WEBPACK_IMPORTED_MODULE_4__.shallowEqual);
- const selectedVerseKey = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_readingViewVerse__WEBPACK_IMPORTED_MODULE_10__/* .selectReadingViewSelectedVerseKey */ .AV, react_redux__WEBPACK_IMPORTED_MODULE_4__.shallowEqual);
- const hoveredVerseKey = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_readingViewVerse__WEBPACK_IMPORTED_MODULE_10__/* .selectReadingViewHoveredVerseKey */ ._H, react_redux__WEBPACK_IMPORTED_MODULE_4__.shallowEqual);
- const centerAlignPage = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>(0,_pageUtils__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)(pageNumber, lineNumber, quranFont), [
- pageNumber,
- lineNumber,
- quranFont
- ]);
- // if it's translation mode and hideArabic query param is true, don't show the verse text
- if (isReadingMode === false && router?.query?.[_types_QueryParam__WEBPACK_IMPORTED_MODULE_12__/* ["default"].HIDE_ARABIC */ .Z.HIDE_ARABIC] === "true") {
- return null;
- }
- const firstWordData = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_14__/* .getFirstWordOfSurah */ .ZZ)(location);
- const isTajweedFont = quranFont === types_QuranReader__WEBPACK_IMPORTED_MODULE_15__/* .QuranFont.Tajweed */ .fr.Tajweed;
- const isBigTextLayout = isReadingMode && (quranTextFontScale > 3 || showWordByWordTranslation || showWordByWordTransliteration) || isTajweedFont;
- const { chapterId } = firstWordData;
- const VerseTextContainer = shouldShowH1ForSEO ? "h1" : "div";
- const fontClassName = isFontLoaded ? (0,_utils_fontFaceHelper__WEBPACK_IMPORTED_MODULE_13__/* .getFontClassName */ .bZ)(quranFont, quranTextFontScale, mushafLines) : (0,_utils_fontFaceHelper__WEBPACK_IMPORTED_MODULE_13__/* .getFontClassName */ .bZ)(types_QuranReader__WEBPACK_IMPORTED_MODULE_15__/* .FALLBACK_FONT */ .v3, quranTextFontScale, mushafLines, true);
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(VerseTextContainer, {
- ref: textRef,
- "data-verse-key": verseKey,
- "data-page": pageNumber,
- "data-chapter-id": chapterId,
- "data-hizb": hizbNumber,
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_VerseText_module_scss__WEBPACK_IMPORTED_MODULE_17___default().verseTextContainer), {
- [(_VerseText_module_scss__WEBPACK_IMPORTED_MODULE_17___default().largeQuranTextLayoutContainer)]: isBigTextLayout,
- [(_VerseText_module_scss__WEBPACK_IMPORTED_MODULE_17___default().highlighted)]: isHighlighted,
- [(_VerseText_module_scss__WEBPACK_IMPORTED_MODULE_17___default())[fontClassName]]: !isTajweedFont,
- [(_VerseText_module_scss__WEBPACK_IMPORTED_MODULE_17___default().tafsirOrTranslationMode)]: !isReadingMode
- }),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- translate: "no",
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_VerseText_module_scss__WEBPACK_IMPORTED_MODULE_17___default().verseText), {
- [(_VerseText_module_scss__WEBPACK_IMPORTED_MODULE_17___default().verseTextWrap)]: !isReadingMode,
- [(_VerseText_module_scss__WEBPACK_IMPORTED_MODULE_17___default().largeQuranTextLayout)]: isBigTextLayout,
- [(_VerseText_module_scss__WEBPACK_IMPORTED_MODULE_17___default().verseTextCenterAlign)]: isReadingMode && centerAlignPage,
- [(_VerseText_module_scss__WEBPACK_IMPORTED_MODULE_17___default().verseTextSpaceBetween)]: isReadingMode && !centerAlignPage
- }),
- children: words?.map((word)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_QuranWord_QuranWord__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
- word: word,
- font: quranFont,
- isFontLoaded: isFontLoaded,
- isHighlighted: word.verseKey === selectedVerseKey,
- shouldShowSecondaryHighlight: word.verseKey === hoveredVerseKey
- }, word.location))
- })
- })
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().memo(VerseText));
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 76345:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var types_QuranReader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50467);
- // Pages where we want to have center align text to resemble the Madani Mushaf
- const CENTER_ALIGNED_PAGES = [
- 1,
- 2
- ];
- // Lines that need to be center aligned
- const CENTER_ALIGNED_PAGE_LINES = {
- 255: [
- 2
- ],
- 528: [
- 9
- ],
- 534: [
- 6
- ],
- 545: [
- 6
- ],
- 586: [
- 1
- ],
- 593: [
- 2
- ],
- 594: [
- 5
- ],
- 600: [
- 10
- ],
- 602: [
- 5,
- 15
- ],
- 603: [
- 10,
- 15
- ],
- 604: [
- 4,
- 9,
- 14,
- 15
- ]
- };
- /**
- * Util function to check if page or specific line should be center aligned to
- * resemble the printed Madani Mushaf.
- *
- * @param {number} pageNumber
- * @param {number} lineNumber
- * @param {QuranFont} quranFont
- * @returns {boolean}
- */ const isCenterAlignedPage = (pageNumber, lineNumber, quranFont)=>{
- if (quranFont === types_QuranReader__WEBPACK_IMPORTED_MODULE_0__/* .QuranFont.IndoPak */ .fr.IndoPak) {
- return false;
- }
- const centerAlignedLines = CENTER_ALIGNED_PAGE_LINES[pageNumber] || [];
- return CENTER_ALIGNED_PAGES.includes(pageNumber) || centerAlignedLines.includes(lineNumber);
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isCenterAlignedPage);
- /***/ }),
- /***/ 59459:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var _ChapterHeader_module_scss__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(28946);
- /* harmony import */ var _ChapterHeader_module_scss__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_ChapterHeader_module_scss__WEBPACK_IMPORTED_MODULE_14__);
- /* harmony import */ var _components_chapters_ChapterIcon_ChapterIconContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(92799);
- /* harmony import */ var _components_QuranReader_observer__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(94082);
- /* harmony import */ var _components_QuranReader_PlayChapterAudioButton__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(39323);
- /* harmony import */ var _dls_Bismillah_Bismillah__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(17172);
- /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(50497);
- /* harmony import */ var _hooks_useObserveElement__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(13758);
- /* harmony import */ var _icons_info_svg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(23359);
- /* harmony import */ var _redux_slices_navbar__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(44177);
- /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(55943);
- /* harmony import */ var _utils_navigation__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(57933);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_components_QuranReader_PlayChapterAudioButton__WEBPACK_IMPORTED_MODULE_5__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_11__, _utils_navigation__WEBPACK_IMPORTED_MODULE_12__]);
- ([_components_QuranReader_PlayChapterAudioButton__WEBPACK_IMPORTED_MODULE_5__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_11__, _utils_navigation__WEBPACK_IMPORTED_MODULE_12__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- /* eslint-disable i18next/no-literal-string */
- const CHAPTERS_WITHOUT_BISMILLAH = [
- "1",
- "9"
- ];
- const ChapterHeader = ({ chapterId , pageNumber , hizbNumber , translationName , isTranslationSelected , })=>{
- const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useDispatch)();
- const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default()("common");
- const headerRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
- /**
- * the intersection observer is needed so that we know that the first verse
- * of the current chapter is being read when the ChapterHeader appears within
- * the intersection observer root's borders.
- */ (0,_hooks_useObserveElement__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z)(headerRef, _components_QuranReader_observer__WEBPACK_IMPORTED_MODULE_13__/* .QURAN_READER_OBSERVER_ID */ .NM);
- const onChangeTranslationClicked = ()=>{
- dispatch((0,_redux_slices_navbar__WEBPACK_IMPORTED_MODULE_10__/* .setIsSettingsDrawerOpen */ .ZY)(true));
- dispatch((0,_redux_slices_navbar__WEBPACK_IMPORTED_MODULE_10__/* .setSettingsView */ .Mi)(_redux_slices_navbar__WEBPACK_IMPORTED_MODULE_10__/* .SettingsView.Translation */ .US.Translation));
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_11__/* .logButtonClick */ .MY)("change_translation");
- };
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- ref: headerRef,
- "data-verse-key": `${chapterId}:1`,
- "data-page": pageNumber,
- "data-chapter-id": chapterId,
- "data-hizb": hizbNumber,
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_ChapterHeader_module_scss__WEBPACK_IMPORTED_MODULE_14___default().header),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_ChapterHeader_module_scss__WEBPACK_IMPORTED_MODULE_14___default().chapterIconContainer),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_chapters_ChapterIcon_ChapterIconContainer__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
- chapterId: chapterId,
- size: _components_chapters_ChapterIcon_ChapterIconContainer__WEBPACK_IMPORTED_MODULE_4__/* .ChapterIconsSize.Mega */ ._.Mega
- })
- })
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_ChapterHeader_module_scss__WEBPACK_IMPORTED_MODULE_14___default().bismillahContainer),
- children: !CHAPTERS_WITHOUT_BISMILLAH.includes(chapterId) && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Bismillah_Bismillah__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {})
- }),
- /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: (_ChapterHeader_module_scss__WEBPACK_IMPORTED_MODULE_14___default().container),
- children: [
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_ChapterHeader_module_scss__WEBPACK_IMPORTED_MODULE_14___default().left),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_ChapterHeader_module_scss__WEBPACK_IMPORTED_MODULE_14___default().infoContainer),
- children: translationName ? /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: (_ChapterHeader_module_scss__WEBPACK_IMPORTED_MODULE_14___default().translation),
- children: [
- isTranslationSelected && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_ChapterHeader_module_scss__WEBPACK_IMPORTED_MODULE_14___default().translationBy),
- children: t("quran-reader:translation-by")
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- children: translationName
- }),
- " ",
- /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("span", {
- onKeyPress: onChangeTranslationClicked,
- tabIndex: 0,
- role: "button",
- onClick: onChangeTranslationClicked,
- className: (_ChapterHeader_module_scss__WEBPACK_IMPORTED_MODULE_14___default().changeTranslation),
- children: [
- "(",
- t("quran-reader:trans-change"),
- ")"
- ]
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- className: (_ChapterHeader_module_scss__WEBPACK_IMPORTED_MODULE_14___default().changeTranslation)
- })
- ]
- }) : /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP, {
- size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__/* .ButtonSize.Small */ .qE.Small,
- variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__/* .ButtonVariant.Ghost */ .Wu.Ghost,
- prefix: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_info_svg__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {}),
- href: (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_12__/* .getSurahInfoNavigationUrl */ .Zm)(chapterId),
- shouldPrefetch: false,
- hasSidePadding: false,
- onClick: ()=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_11__/* .logButtonClick */ .MY)("chapter_header_info");
- },
- id: "surah-info-button",
- children: t("quran-reader:surah-info")
- })
- })
- }),
- /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: (_ChapterHeader_module_scss__WEBPACK_IMPORTED_MODULE_14___default().right),
- children: [
- translationName && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP, {
- size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__/* .ButtonSize.Small */ .qE.Small,
- variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__/* .ButtonVariant.Ghost */ .Wu.Ghost,
- prefix: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_info_svg__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {}),
- href: (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_12__/* .getSurahInfoNavigationUrl */ .Zm)(chapterId),
- shouldPrefetch: false,
- hasSidePadding: false,
- onClick: ()=>{
- (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_11__/* .logButtonClick */ .MY)("chapter_header_info");
- },
- id: "surah-info-button",
- children: t("quran-reader:surah-info")
- }),
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: (_ChapterHeader_module_scss__WEBPACK_IMPORTED_MODULE_14___default().actionContainer),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_PlayChapterAudioButton__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
- chapterId: Number(chapterId)
- })
- })
- ]
- })
- ]
- })
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ChapterHeader);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 92799:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- // EXPORTS
- __webpack_require__.d(__webpack_exports__, {
- "_": () => (/* binding */ ChapterIconsSize),
- "Z": () => (/* binding */ ChapterIconContainer)
- });
- // EXTERNAL MODULE: external "react/jsx-runtime"
- var jsx_runtime_ = __webpack_require__(20997);
- // EXTERNAL MODULE: external "react"
- var external_react_ = __webpack_require__(16689);
- // EXTERNAL MODULE: external "classnames"
- var external_classnames_ = __webpack_require__(59003);
- var external_classnames_default = /*#__PURE__*/__webpack_require__.n(external_classnames_);
- // EXTERNAL MODULE: ./src/components/chapters/ChapterIcon/ChapterIconContainer.module.scss
- var ChapterIconContainer_module = __webpack_require__(77928);
- var ChapterIconContainer_module_default = /*#__PURE__*/__webpack_require__.n(ChapterIconContainer_module);
- ;// CONCATENATED MODULE: ./src/components/chapters/ChapterIcon/index.tsx
- const ChapterIcon = ({ id })=>/*#__PURE__*/ jsx_runtime_.jsx("span", {
- translate: "no",
- children: id.padStart(3, "0")
- });
- /* harmony default export */ const chapters_ChapterIcon = (ChapterIcon);
- ;// CONCATENATED MODULE: ./src/components/chapters/ChapterIcon/ChapterIconContainer.tsx
- var ChapterIconsSize;
- (function(ChapterIconsSize) {
- ChapterIconsSize["Small"] = "small";
- ChapterIconsSize["Medium"] = "medium";
- ChapterIconsSize["Large"] = "large";
- ChapterIconsSize["Mega"] = "mega";
- })(ChapterIconsSize || (ChapterIconsSize = {}));
- const IconContainer = ({ chapterId , size =ChapterIconsSize.Medium , hasSurahPrefix =true , })=>/*#__PURE__*/ (0,jsx_runtime_.jsxs)("span", {
- className: external_classnames_default()((ChapterIconContainer_module_default()).iconContainer, {
- [(ChapterIconContainer_module_default()).iconContainerSmall]: size === ChapterIconsSize.Small,
- [(ChapterIconContainer_module_default()).iconContainerLarge]: size === ChapterIconsSize.Large,
- [(ChapterIconContainer_module_default()).iconContainerMega]: size === ChapterIconsSize.Mega
- }),
- children: [
- /*#__PURE__*/ jsx_runtime_.jsx(chapters_ChapterIcon, {
- id: chapterId
- }),
- hasSurahPrefix && /*#__PURE__*/ jsx_runtime_.jsx(chapters_ChapterIcon, {
- id: "surah"
- })
- ]
- });
- /* harmony default export */ const ChapterIconContainer = (IconContainer);
- /***/ }),
- /***/ 80729:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var _Badge_module_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19182);
- /* harmony import */ var _Badge_module_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Badge_module_scss__WEBPACK_IMPORTED_MODULE_2__);
- const Badge = ({ content , children , contentClassName , className })=>{
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Badge_module_scss__WEBPACK_IMPORTED_MODULE_2___default().container), className),
- children: [
- children,
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
- className: classnames__WEBPACK_IMPORTED_MODULE_1___default()(contentClassName, (_Badge_module_scss__WEBPACK_IMPORTED_MODULE_2___default().content), (_Badge_module_scss__WEBPACK_IMPORTED_MODULE_2___default().positionBottomRight)),
- children: content
- })
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Badge);
- /***/ }),
- /***/ 62703:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var _NewLabel_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(25746);
- /* harmony import */ var _NewLabel_module_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_NewLabel_module_scss__WEBPACK_IMPORTED_MODULE_3__);
- const NewLabel = ()=>{
- const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default()("common");
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
- className: (_NewLabel_module_scss__WEBPACK_IMPORTED_MODULE_3___default().label),
- children: t("new")
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NewLabel);
- /***/ }),
- /***/ 17172:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- // EXPORTS
- __webpack_require__.d(__webpack_exports__, {
- "Z": () => (/* binding */ Bismillah_Bismillah)
- });
- // EXTERNAL MODULE: external "react/jsx-runtime"
- var jsx_runtime_ = __webpack_require__(20997);
- // EXTERNAL MODULE: external "react"
- var external_react_ = __webpack_require__(16689);
- ;// CONCATENATED MODULE: ./public/bismillah.svg
- var _switch;
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
- var SvgBismillah = function SvgBismillah(props) {
- return /*#__PURE__*/external_react_.createElement("svg", _extends({
- baseProfile: "tiny",
- xmlns: "http://www.w3.org/2000/svg",
- width: 220,
- height: 45,
- viewBox: "0 0 176 36",
- overflow: "inherit",
- xmlSpace: "preserve"
- }, props), _switch || (_switch = /*#__PURE__*/external_react_.createElement("switch", null, /*#__PURE__*/external_react_.createElement("g", null, /*#__PURE__*/external_react_.createElement("path", {
- fill: "currentColor",
- d: "M165.716 11.67c-.586-.089-1.021-.134-1.306-.134-.277 0-.644.273-1.099.818-.391.472-.586.781-.586.928a.217.217 0 0 0 .03.061c.012.016.03.024.055.024.008 0 .09-.063.244-.189s.301-.189.439-.189c.969 0 1.64.094 2.014.281-.357.26-.943.521-1.757.781-.659.211-.981.354-.965.427.024.081.366.094 1.025.037.651-.057 1.099-.143 1.343-.256.31-.146.667-.464 1.074-.952.439-.521.659-.932.659-1.233.002-.148-.389-.282-1.17-.404zm1.953 6.835c-.024 0-.092.13-.201.391-.11.26-.279.391-.507.391-.334 0-.501-.203-.501-.611 0-.179.051-.429.153-.75.102-.321.152-.535.152-.641 0-.065-.021-.105-.062-.122-.138-.073-.321.191-.549.793-.22.57-.329.989-.329 1.257 0 .277.081.546.243.807.188.284.411.427.672.427.342 0 .614-.179.817-.537.171-.301.257-.639.257-1.013.001-.277-.047-.408-.145-.392zm4.571 9.026c-.533-.271-.856-.408-.971-.408-.057 0-.207.258-.451.775-.244.516-.366.836-.366.958 0 .057.262.235.787.537.524.301.84.451.946.451.089 0 .254-.269.494-.806.239-.537.359-.879.359-1.025.001-.048-.266-.208-.798-.482zm2.203 3.449c-.058-.025-.92.346-2.588 1.11-1.701.781-2.648 1.257-2.844 1.429-.163.138-.362.361-.599.671-.284.366-.427.614-.427.745 0 .016.008.027.024.036-.073 0 .765-.411 2.515-1.233.919-.432 1.814-.846 2.685-1.244.163-.106.407-.338.732-.696.351-.391.525-.651.525-.781.002-.017-.007-.029-.023-.037zm-1.025-13.061c-1.074-2.034-1.733-3.051-1.978-3.051-.236 0-.354.504-.354 1.514 0 .35.04.785.122 1.306.089.545.166.818.231.818.122 0 .184-.403.184-1.208.398.529.956 1.489 1.672 2.881.789 1.529 1.184 2.502 1.184 2.917 0 .285-.211.428-.635.428-.301 0-.667-.062-1.099-.184-.488-.13-.817-.28-.988-.451.073-.488.041-.749-.098-.781-.114-.024-.293.265-.537.866-.244.603-.443.903-.598.903-.586 0-1.07-.142-1.453-.427.154-.521.244-.83.269-.928 0-.098-.028-.167-.085-.208-.106-.032-.257.114-.452.44-.261.438-.513.752-.757.939-.333.26-.813.391-1.44.391-.724 0-1.114-.057-1.171-.172.122-.072.237-.235.348-.488.109-.252.164-.459.164-.622 0-.098-.028-.15-.085-.158-.073-.017-.188.069-.342.256a2.502 2.502 0 0 1-.684.586c-.911.521-4.374 1.11-10.388 1.771-2.913.316-6.615.598-11.107.842-4.825.26-9.085.391-12.779.391-7.683 0-14.961-.342-21.837-1.025-2.971-.293-4.932-.537-5.884-.732-2.449-.496-4.142-1.266-5.078-2.307-.431-.48-.748-.717-.951-.708-.424.017-.854.415-1.294 1.196-.407.707-.61 1.298-.61 1.77 0 .326.187.659.562 1.001-2.222 1.603-3.942 2.815-5.163 3.638-.334.22-.484.357-.452.415.008.024.037.036.086.036.366 0 1.172-.252 2.416-.756 1.245-.506 2.011-.888 2.295-1.148.488-.447.903-1.082 1.245-1.904.269.18.738.362 1.41.55.671.187 1.166.272 1.482.257.098-.009.229-.257.391-.745 2.312.554 5.619 1.038 9.924 1.452 2.922.285 6.689.525 11.303.721 4.158.179 7.52.269 10.083.269 3.011 0 7.12-.163 12.328-.488 4.979-.31 9-.64 12.06-.989 4.833-.553 7.999-1.191 9.496-1.916a1.735 1.735 0 0 0-.085.439c0 .326.618.488 1.854.488.854 0 1.575-.342 2.161-1.025.586.473 1.232.708 1.94.708.398 0 .798-.603 1.196-1.807.212.188.582.432 1.11.732.627.358 1.059.537 1.294.537.236 0 .493-.179.77-.537.357-.472.537-1.082.537-1.831 0-1.052-.578-2.673-1.733-4.862zM96.61 4.59c-.109-.122-.229-.183-.359-.183-.847 0-1.567.635-2.161 1.904-.139-.008-.313-.063-.524-.165-.212-.102-.366-.152-.464-.152-.317 0-.647.22-.988.659-.31.399-.465.72-.465.964 0 .082.033.122.098.122.033 0 .161-.132.385-.397.224-.264.417-.396.58-.396.13 0 .34.071.629.213.288.143.563.214.823.214.684 0 1.29-.232 1.819-.696.528-.464.793-1.033.793-1.709a.566.566 0 0 0-.166-.378zm-1.788 10.669a1763.66 1763.66 0 0 0-.977-4.492c-.252-1.253-.406-1.879-.464-1.879-.235 0-.354.85-.354 2.551l.744 3.271c.529 2.278.858 3.812.989 4.601l.293 2.063c.105.7.183 1.05.231 1.05.236 0 .354-.766.354-2.295.003-.708-.271-2.332-.816-4.87zM85.998 6.91a7.41 7.41 0 0 0-.391 1.135c.879.968 1.363 2.079 1.453 3.332.024.366.061.549.109.549.18 0 .269-.435.269-1.306 0-1.383-.48-2.62-1.44-3.71zm2.514 6.298c-.081-.504-.188-.752-.317-.745-.105 0-.146.138-.122.415.032.326.024.529-.024.61a.632.632 0 0 1-.366.159c-.162.017-.276-.024-.342-.122-.032-.057-.057-.228-.073-.513-.008-.228-.053-.342-.134-.342-.082.017-.139.159-.171.427-.041.35-.077.562-.11.635-.105.236-.321.378-.646.427-.244 0-.395-.143-.452-.427 0-.089.028-.222.085-.397.057-.175.085-.303.085-.384 0-.065-.024-.11-.073-.134-.008-.008-.021-.012-.037-.012-.098 0-.236.24-.415.72-.13.342-.179.635-.146.879.073.578.391.838.952.781.293-.024.59-.228.891-.61.122.114.293.171.513.171.627 0 .94-.375.94-1.123a2.7 2.7 0 0 0-.038-.415zm-10.4-8.911c-.854 0-1.583.635-2.185 1.904-.114-.016-.279-.08-.494-.189-.216-.11-.38-.165-.495-.165-.301 0-.626.228-.977.684-.317.415-.476.741-.476.977 0 .089.032.134.098.134.041 0 .175-.134.402-.403.228-.269.427-.403.598-.403.123 0 .33.065.623.195s.559.196.794.196c.684 0 1.282-.22 1.794-.659.545-.472.818-1.042.818-1.709.001-.374-.166-.562-.5-.562zm13.793 16.82-1.953-5.053c-.057-.139-.114-.208-.171-.208-.017.008-.041.114-.073.317-.098.602-.146.976-.146 1.123 0 .391.336 1.402 1.007 3.033.672 1.632 1.008 2.565 1.008 2.802 0 .163-.139.244-.415.244a2 2 0 0 1-.317.024 1.862 1.862 0 0 1-1.526-.732c-.285-.358-.603-1.258-.952-2.697a485.636 485.636 0 0 1-.671-2.918c-.122-.521-.229-.781-.317-.781-.285.537-.428 1.046-.428 1.526 0 .114.062.407.184.879.423 1.644.635 2.707.635 3.186 0 .603-.24 1.074-.721 1.415-.423.302-.948.452-1.574.452-.977 0-1.53-.472-1.66-1.416-.049-.35-.073-1.126-.073-2.331 0-.659-.024-.989-.073-.989-.139 0-.269.273-.391.818a2.77 2.77 0 0 0-.073.599c0 .049-.354.24-1.062.573-.854.407-1.513.851-1.977 1.33-.277.285-.533.725-.769 1.318-.155.374-.057.655.293.843.26.139.598.207 1.013.207.903 0 1.501-.199 1.794-.598.024-.025.122-.191.293-.501.114-.212.232-.35.354-.415.033.773.183 1.339.452 1.697.439.586 1.042.879 1.807.879.806 0 1.465-.33 1.978-.989.276-.35.483-.769.622-1.257.098-.326.171-.518.22-.574.024.017.077.188.159.513.105.415.244.761.415 1.038.146.236.402.445.769.629.366.183.696.273.989.273.626 0 1.078-.346 1.354-1.037.138-.342.208-.875.208-1.599-.004-.715-.074-1.256-.212-1.623zm-10.247-7.665c-.542-.496-1.121-.745-1.739-.745-.261 0-.391.167-.391.5 0 .301.093.513.281.635-.09.236-.134.553-.134.952 0 .472.269.752.806.842-.285.407-.753.842-1.404 1.306a86.19 86.19 0 0 1-1.367.928c-.497.334-.724.545-.684.635.016.041.061.061.134.061.22 0 .626-.163 1.221-.488.562-.309 1.005-.59 1.331-.842.513-.398.984-.919 1.416-1.562.106 0 .271.047.495.14.224.094.376.14.458.14.261 0 .391-.28.391-.842-.002-.61-.273-1.163-.814-1.66zm15.679 16.075c-.203 0-.899.285-2.087.854-1.156.554-1.859.928-2.112 1.123-.398.399-.646.659-.744.781-.261.325-.366.524-.317.599.008.008.024.012.049.012a69.57 69.57 0 0 0 1.465-.793 95.53 95.53 0 0 1 2.941-1.404c.105-.081.269-.271.488-.567.22-.298.33-.494.33-.592 0-.009-.005-.013-.013-.013zM75.781 12.952c-.415-2.278-.639-3.548-.671-3.808-.073-.57-.154-.854-.244-.854-.041 0-.14.476-.299 1.428-.159.952-.222 1.514-.189 1.685.643 3.678 1.099 6.27 1.367 7.775.179 1.05.346 2.579.5 4.589.016.213.073.318.171.318.122 0 .183-.069.183-.208.154-.813.204-1.993.146-3.54-.057-1.701-.378-4.163-.964-7.385zm-5.859-7.556c-.049-.016-1.086.439-3.112 1.367-2.059.944-3.21 1.509-3.455 1.697-.146.114-.342.333-.586.659-.269.35-.403.59-.403.72 0 .024.008.037.024.037-.114 0 .712-.411 2.478-1.233 1.505-.7 2.775-1.278 3.808-1.733.163-.098.413-.336.751-.714.337-.378.506-.636.506-.775.001-.008-.003-.017-.011-.025zm-1.38 5.761c-.106-.569-.236-.842-.39-.818-.082.017-.123.085-.123.208 0 .082.012.202.037.36.024.159.037.279.037.36 0 .407-.171.61-.513.61a.33.33 0 0 1-.317-.195c-.024-.049-.062-.248-.11-.598-.041-.276-.102-.407-.183-.391-.09.017-.151.171-.183.464a8.914 8.914 0 0 1-.098.708c-.082.261-.305.411-.671.452-.261.065-.423-.077-.488-.427a1.056 1.056 0 0 1 .037-.403 2.17 2.17 0 0 0 .073-.415c0-.089-.024-.146-.073-.171-.017 0-.029-.004-.037-.012-.09 0-.232.265-.427.793-.09.391-.114.708-.073.952a.936.936 0 0 0 .366.623.842.842 0 0 0 .696.159c.447-.082.752-.305.916-.671a.788.788 0 0 0 .634.293c.635 0 .952-.427.952-1.282 0-.179-.021-.379-.062-.599zm11.536 16.4c-1.18.573-1.88.958-2.1 1.153-.448.398-.708.647-.781.744-.26.334-.354.537-.281.61a.052.052 0 0 0 .037.013c.049 0 .224-.09.525-.269.423-.252.732-.428.928-.525a216.721 216.721 0 0 1 2.966-1.416c.26-.195.5-.427.72-.695.269-.317.297-.477.085-.477-.22 0-.92.287-2.099.862zM59.547 7.3c-.586-.089-1.025-.134-1.318-.134-.277 0-.643.276-1.099.83-.399.48-.598.785-.598.916a.194.194 0 0 0 .037.048.08.08 0 0 0 .061.024c.016 0 .1-.062.25-.189.15-.126.291-.189.421-.189.195 0 .545.037 1.05.11.545.081.867.15.964.208-.358.244-.94.496-1.746.757-.659.211-.985.35-.977.415.024.057.167.085.427.085.83 0 1.477-.102 1.941-.305.301-.13.663-.444 1.086-.94.456-.521.684-.924.684-1.208.001-.164-.394-.306-1.183-.428zM72.4 16.271c-.57-3.222-.854-4.858-.854-4.907.26-.781.391-1.204.391-1.27-.008-.032-.082-.098-.22-.195-.383-.269-.598-.7-.647-1.294-.024-.261-.065-.391-.122-.391-.114 0-.252.293-.415.879-.146.529-.22.907-.22 1.135 0 .342.094.639.281.891l1.001 5.419c.651 3.516.977 5.525.977 6.03 0 .553-.464.83-1.392.83-.212 0-.362-.021-.452-.062a6.783 6.783 0 0 1-.769-.769c-.211.61-.403 1.232-.574 1.867.497.334.745.725.745 1.172 0 .285-.309.732-.928 1.343-1.286 1.27-2.754 1.904-4.406 1.904-.26 0-.647-.036-1.16-.11a8.954 8.954 0 0 0-1.147-.109c-.122 0-.183.032-.183.098 0 .146.277.361.83.646a8.06 8.06 0 0 0 1.233.537c.952.326 1.624.488 2.014.488.683 0 1.518-.464 2.502-1.391 1.123-1.059 1.798-2.242 2.026-3.553.781 0 1.375-.357 1.782-1.074.342-.586.513-1.298.513-2.136 0-.948-.269-2.942-.806-5.978zm-19.261-8.47c-.155.35-.285.724-.391 1.123.545.594.932 1.229 1.159 1.904.13.399.22.875.269 1.428.032.375.073.562.122.562.188 0 .281-.435.281-1.306 0-1.384-.48-2.621-1.44-3.711zM50.38 4.334c-.822 0-1.542.635-2.16 1.904-.146-.008-.324-.069-.531-.183-.208-.114-.36-.171-.458-.171-.317 0-.647.224-.989.671-.31.399-.464.729-.464.989 0 .089.037.134.11.134.041 0 .171-.134.391-.403s.407-.403.562-.403c.138 0 .352.065.641.195.289.13.56.195.812.195.692 0 1.3-.226 1.825-.678.525-.451.787-1.015.787-1.69-.001-.373-.177-.56-.526-.56zm2.325 10.791c-.525-.293-.84-.439-.946-.439-.082 0-.208.24-.378.72-.171.48-.256.793-.256.939 0 .122.23.33.69.623.459.292.758.439.897.439.081 0 .232-.264.452-.793s.33-.854.33-.976c-.001-.05-.264-.221-.789-.513zm-4.095-2.1c-.383-1.847-.631-3.121-.745-3.821-.089-.537-.183-.805-.281-.805-.041 0-.13.478-.268 1.434-.139.956-.191 1.516-.159 1.678a860.271 860.271 0 0 0 1.379 7.031c.211 1.14.403 2.669.574 4.59.049.212.118.317.208.317.065 0 .122-.082.171-.244.13-.847.155-2.014.073-3.504-.098-1.83-.415-4.056-.952-6.676zm-8.129-1.55c-.106-.569-.236-.842-.391-.818-.082.017-.122.085-.122.208 0 .082.014.202.042.36s.043.279.043.36c0 .407-.175.61-.525.61-.139 0-.244-.065-.317-.195a12.877 12.877 0 0 1-.085-.476l-.012-.122c-.041-.269-.102-.398-.183-.391-.098.017-.163.171-.195.464-.041.432-.069.667-.085.708-.082.261-.305.411-.671.452-.261.065-.427-.073-.5-.415-.017-.081-.002-.226.043-.433.044-.208.067-.344.067-.409 0-.089-.024-.15-.073-.183-.09-.049-.244.22-.464.806-.09.35-.11.667-.061.952.081.529.362.793.842.793.529 0 .907-.228 1.135-.684a.753.753 0 0 0 .623.293c.635 0 .952-.427.952-1.282a3.583 3.583 0 0 0-.063-.598zm15.422 17.552c-1.176.562-1.874.939-2.093 1.135a7.49 7.49 0 0 0-.745.781c-.277.334-.383.533-.317.598.008 0 .513-.26 1.514-.781a94.169 94.169 0 0 1 2.941-1.402c.285-.229.525-.461.72-.696.26-.317.289-.476.085-.476-.227 0-.929.28-2.105.841zM44.667 13.708c-.659-3.613-1.079-5.383-1.257-5.31-.22.089-.395.691-.525 1.806a17.57 17.57 0 0 0-.146 2.039c0 1.359.065 2.576.195 3.65.114.96.228 1.44.342 1.44.057 0 .085-.24.085-.72l-.073-2.587c-.024-1.196-.004-2.095.061-2.698l.891 4.651c.513 2.685.769 4.281.769 4.785 0 .252-.261.428-.781.525-.472.089-.802.094-.989.012-.309-.229-.533-.419-.671-.574-.269-.179-.48.033-.635.635-.163.595-.126 1.01.11 1.246.537.422.806.821.806 1.195 0 .619-.496 1.335-1.489 2.148-1.042.854-2.018 1.281-2.929 1.281-.912 0-1.546-.293-1.904-.879-.179-.293-.297-.756-.354-1.391-.049-.537-.106-.807-.171-.807-.171 0-.256.334-.256 1.002 0 .635.118 1.221.354 1.758.594 1.342 1.57 2.014 2.93 2.014 1.123 0 2.177-.68 3.161-2.039.928-1.277 1.371-2.461 1.331-3.552.83-.073 1.412-.407 1.746-1.001.252-.455.378-1.143.378-2.062-.002-.83-.328-3.019-.979-6.567zm-14.452-6.2c-6.274 1.57-10.225 2.75-11.852 3.54-.79.383-1.433.863-1.929 1.44-.399.464-.598.814-.598 1.05 0 .049.021.073.061.073-.016-.008.171-.142.562-.403.545-.366 1.298-.732 2.258-1.099 2.596-.993 5.989-1.994 10.18-3.002 4.28-1.034 8.78-2.071 13.5-3.113.529-.545.985-1.042 1.367-1.489-3.214.545-7.73 1.546-13.549 3.003zm35.325 8.593c-.407-.163-1.249-.578-2.527-1.245-.675-.35-1.293-.525-1.855-.525-1.058 0-1.791.5-2.197 1.501-.049.171-.094.342-.134.512a23.147 23.147 0 0 1 1.575-.061c.586 0 1.062.032 1.428.098.439.122 1.038.333 1.794.634-2.628.35-4.357.916-5.188 1.697-.204.188-.497.586-.879 1.196-.366.569-.627.915-.781 1.038-.358.284-.903.427-1.636.427-.333 0-.563-.047-.689-.141-.126-.093-.285-.308-.476-.641s-.352-.558-.482-.671c-.065-.058-.214.199-.446.769s-.262.973-.091 1.208c.496.66.745 1.294.745 1.904 0 1.855-2.673 3.801-8.02 5.835-4.378 1.668-9.313 2.502-14.806 2.502-5.477 0-10.306-1.106-14.489-3.319a18.333 18.333 0 0 1-3.039-2.027 24.436 24.436 0 0 1-1.831-1.696c-.448-.456-.7-.663-.757-.622-.008.008-.012.028-.012.061 0 .342.452 1.188 1.355 2.539 1.001 1.497 1.908 2.539 2.722 3.125 1.53 1.098 3.593 2.01 6.188 2.734 2.995.838 6.189 1.257 9.582 1.257 5.696 0 11.197-1.119 16.503-3.356 4.605-1.938 7.087-4.48 7.445-7.629.122.008.236.012.342.012 1.05 0 1.843-.557 2.38-1.672.789.96 1.782 1.44 2.979 1.44.333 0 .63-.302.891-.903.228-.521.341-.973.341-1.355 0-.602-.297-1.154-.891-1.66.391-.17 1.074-.354 2.05-.549 1.09-.22 2.01-.33 2.759-.33 1.204 0 2.547.249 4.028.745.822-.968 1.212-1.453 1.172-1.453-2.254-.472-3.938-.932-5.053-1.379zm-49.618-9.02c-.578-.089-1.013-.134-1.306-.134-.285 0-.655.276-1.11.83-.383.472-.574.777-.574.916 0 .057.024.085.073.085.016 0 .1-.063.25-.189s.287-.189.409-.189c.212 0 .566.032 1.062.098.537.081.867.155.989.22-.358.244-.944.496-1.757.756-.667.212-.989.346-.964.403.006.064.153.096.438.096.822 0 1.465-.089 1.929-.268.301-.155.659-.48 1.074-.977.439-.529.659-.936.659-1.221 0-.162-.391-.304-1.172-.426zm6.042 8.495a11.1 11.1 0 0 0-.11.549c-.073.334-.248.501-.525.501-.512 0-.769-.399-.769-1.196 0-.073.004-.183.012-.33.008-.146.012-.256.012-.33 0-.163-.024-.248-.073-.256-.106-.016-.204.228-.293.732a5.963 5.963 0 0 0-.122 1.025c0 .383.089.737.269 1.062.211.383.496.574.854.574.325 0 .582-.175.769-.525.146-.285.22-.606.22-.964 0-.626-.081-.907-.244-.842zm7.25 7.738c-.016-.016-.083.137-.201.458-.118.321-.177.519-.177.592 0 .024.008.049.024.073.838.92 1.314 2.03 1.428 3.332.032.375.073.562.122.562.163 0 .244-.428.244-1.282.001-1.399-.479-2.644-1.44-3.735zm8.899-6.078c-.797-.203-1.77-.525-2.917-.964-.854-.325-1.367-.488-1.538-.488-.7 0-1.257.313-1.672.939-.301.456-.452.854-.452 1.196 0 .024.004.041.012.049.358-.032.716-.049 1.074-.049 1.44 0 2.791.252 4.052.757-1.603.855-2.832 1.282-3.686 1.282-.48 0-.863-.118-1.147-.354-.195-.162-.293-.305-.293-.427 0 .058.02-.053.061-.33.024-.154-.008-.244-.098-.269-.057-.016-.188.09-.391.317-.277.317-.643.574-1.099.769-.968.415-2.437.785-4.406 1.11-2.238.367-4.492.55-6.762.55-4.134 0-6.958-.834-8.471-2.502-.439-.48-.749-.716-.928-.708-.448.017-.887.411-1.318 1.184-.39.7-.585 1.294-.585 1.782 0 .325.187.655.561.989-2.14 1.545-3.857 2.75-5.151 3.612-.342.228-.497.378-.464.452.008.023.041.036.098.036.358 0 1.166-.254 2.423-.763 1.257-.509 2.021-.889 2.289-1.142.48-.439.891-1.078 1.233-1.916.277.171.753.354 1.428.549s1.164.285 1.465.269c.203-.064.358-.338.464-.817 1.131.569 3.121.854 5.969.854 2.954 0 5.7-.261 8.239-.781 2.832-.578 4.447-1.33 4.846-2.258.496.968 1.038 1.452 1.624 1.452.415 0 1.615-.407 3.601-1.221s3.41-1.221 4.272-1.221c.667 0 1.293.081 1.879.244.065.017.256-.265.574-.842.26-.48.391-.757.391-.83 0-.016-.004-.024-.012-.024-2.183.002-3.904-.16-5.165-.486zm-15.118 7.116c-.565-.268-.885-.391-.958-.365-.26.455-.472.891-.635 1.306l-1.05-.464c-.431-.188-.683-.269-.756-.244-.082.024-.214.301-.397.83s-.262.842-.238.939c.016.065.293.223.83.471.537.248.863.372.977.372.098 0 .31-.436.635-1.306.977.545 1.554.793 1.733.744.073-.024.224-.303.452-.836s.325-.844.293-.934c-.025-.074-.32-.244-.886-.513zm-14.72 4.822c-1.176.562-1.882.943-2.118 1.147-.896.765-1.245 1.208-1.05 1.33.008.009.024.013.049.013.122-.09.614-.354 1.477-.794a180.24 180.24 0 0 1 2.93-1.416c.244-.146.488-.362.732-.646.269-.317.297-.476.085-.476-.228 0-.929.28-2.105.842zM95.494 6.238c-.375.122-.7.171-.977.146.431-.781.842-1.172 1.232-1.172.285 0 .428.143.428.427.001.245-.228.445-.683.599zm.61 17.284c0-.106.081-.251.244-.434.162-.183.293-.274.391-.274.081-.008.231.188.451.586.276.504.517.85.721 1.037-1.205-.251-1.807-.556-1.807-.915zM77.331 6.128c-.375.122-.7.171-.977.146.415-.797.826-1.196 1.233-1.196.285 0 .427.151.427.452.001.244-.227.444-.683.598zm4.663 8.935c-.13 0-.35-.053-.66-.159.041-.171.062-.322.062-.452a.74.74 0 0 0-.062-.33c.114.016.285.146.513.391.187.204.28.35.28.439a.114.114 0 0 1-.012.049c-.008.042-.048.062-.121.062zm-1.196-.231c-.448 0-.671-.085-.671-.256 0-.374.13-.562.391-.562.236 0 .354.143.354.427a1.287 1.287 0 0 1-.074.391zm2.306 7.628a3.531 3.531 0 0 1-1.916.366c-.375-.032-.562-.085-.562-.158 0-.154.838-.659 2.514-1.514-.023.211-.036.647-.036 1.306zM49.623 6.153c-.382.13-.708.183-.977.159.432-.781.842-1.172 1.233-1.172.285 0 .427.143.427.427.001.236-.227.432-.683.586zm10.705 15.05c-.358 0-.777-.135-1.257-.402a2.052 2.052 0 0 1-.5-.391c-.195-.204-.252-.367-.171-.488.057-.074.208-.102.452-.086.269.024.496.086.684.184.643.342.964.699.964 1.074-.001.072-.058.109-.172.109zM8.745 19.922c0-.105.082-.252.244-.439s.297-.289.403-.306c.073 0 .22.204.439.61.269.505.509.854.72 1.05-1.204-.252-1.806-.558-1.806-.915z"
- })))));
- };
- /* harmony default export */ const bismillah = (SvgBismillah);
- ;// CONCATENATED MODULE: ./src/components/dls/Bismillah/Bismillah.tsx
- const Bismillah = ()=>/*#__PURE__*/ jsx_runtime_.jsx(bismillah, {});
- /* harmony default export */ const Bismillah_Bismillah = (Bismillah);
- /***/ }),
- /***/ 55557:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var _KeyboardInput_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(56419);
- /* harmony import */ var _KeyboardInput_module_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_KeyboardInput_module_scss__WEBPACK_IMPORTED_MODULE_3__);
- /* eslint-disable i18next/no-literal-string */
- const KeyboardInput = ({ keyboardKey , meta , shift , alt , ctrl , invertColors =false , })=>{
- const isMacOs = false && 0;
- return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("kbd", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_KeyboardInput_module_scss__WEBPACK_IMPORTED_MODULE_3___default().container), {
- [(_KeyboardInput_module_scss__WEBPACK_IMPORTED_MODULE_3___default().invertedColors)]: invertColors
- }),
- children: [
- meta && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- children: isMacOs ? "⌘" : "ctrl"
- }),
- shift && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- children: "⇧"
- }),
- alt && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- children: "⌥"
- }),
- ctrl && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- children: "⌃"
- }),
- keyboardKey && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- children: keyboardKey
- })
- ]
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (KeyboardInput);
- /***/ }),
- /***/ 54934:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var swr_immutable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(79847);
- /* harmony import */ var _utils_auth_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(37883);
- /* harmony import */ var _utils_auth_login__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22197);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr_immutable__WEBPACK_IMPORTED_MODULE_0__, _utils_auth_login__WEBPACK_IMPORTED_MODULE_2__]);
- ([swr_immutable__WEBPACK_IMPORTED_MODULE_0__, _utils_auth_login__WEBPACK_IMPORTED_MODULE_2__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
- const useCountRangeNotes = (notesRange)=>{
- const { data , isValidating , error } = (0,swr_immutable__WEBPACK_IMPORTED_MODULE_0__["default"])(notesRange && (0,_utils_auth_login__WEBPACK_IMPORTED_MODULE_2__/* .isLoggedIn */ .jl)() ? `countNotes/${notesRange.from}-${notesRange.to}` : null, async ()=>{
- return (0,_utils_auth_api__WEBPACK_IMPORTED_MODULE_1__/* .countNotesWithinRange */ .jm)(notesRange.from, notesRange.to);
- });
- return {
- data,
- isLoading: isValidating && !data,
- error
- };
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useCountRangeNotes);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 97678:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var _hooks_useBrowserLayoutEffect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(44063);
- /**
- * A hook that will create a global observer and inject it into window so that it's
- * globally available. Once it's created, it can be used by any element that would like
- * to be observed using that observer using {@see useObserverElement} hook.
- *
- * @param {IntersectionObserverInit} options
- * @param {(element:Element)=>void} onElementVisible
- * @param {string} observerId the name of the observer
- */ const useGlobalIntersectionObserver = ({ threshold =1 , root =null , rootMargin ="0%" }, onElementVisible, observerId)=>{
- const updateEntry = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((entries)=>{
- entries.filter((entry)=>entry.isIntersecting).forEach((visibleEntry)=>{
- onElementVisible(visibleEntry.target);
- });
- }, [
- onElementVisible
- ]);
- /**
- * We need to assign to window before render is done since we want to the observer to be available by the time rendering is done so that the elements to be observed can use it.
- * {@see https://kentcdodds.com/blog/useeffect-vs-uselayouteffect}
- */ (0,_hooks_useBrowserLayoutEffect__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(()=>{
- const hasIOSupport = !!window.IntersectionObserver;
- if (!hasIOSupport) return undefined;
- // no need to create a new observer if it already exists.
- if (!window[observerId]) {
- window[observerId] = new IntersectionObserver(updateEntry, {
- threshold,
- root,
- rootMargin
- });
- }
- return ()=>{
- window[observerId].disconnect();
- window[observerId] = undefined;
- };
- }, [
- root,
- rootMargin,
- threshold,
- updateEntry,
- observerId
- ]);
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useGlobalIntersectionObserver);
- /***/ }),
- /***/ 35507:
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var _xstate_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59456);
- /* harmony import */ var _xstate_react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_xstate_react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60866);
- /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var _redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(17241);
- /* harmony import */ var _redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(90264);
- /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(62093);
- /* harmony import */ var _redux_slices_QuranReader_translations__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(88548);
- /* harmony import */ var _utils_array__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(5639);
- /* harmony import */ var _xstate_actors_audioPlayer_selectors__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(16119);
- /* harmony import */ var _xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(64564);
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_9__]);
- _xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_9__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
- const useIsUsingDefaultSettings = ({ translationParams , selectedTranslations } = {})=>{
- const { lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default()();
- const audioService = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_9__/* .AudioPlayerMachineContext */ .c);
- const isUsingDefaultReciter = (0,_xstate_react__WEBPACK_IMPORTED_MODULE_1__.useSelector)(audioService, (state)=>(0,_xstate_actors_audioPlayer_selectors__WEBPACK_IMPORTED_MODULE_8__/* .selectIsUsingDefaultReciter */ .iX)(state));
- const isUsingDefaultWordByWordLocale = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(_redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_5__/* .selectIsUsingDefaultWordByWordLocale */ .SL);
- const isUsingDefaultTranslations = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(_redux_slices_QuranReader_translations__WEBPACK_IMPORTED_MODULE_7__/* .selectIsUsingDefaultTranslations */ .z2);
- const quranFont = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__/* .selectQuranFont */ .Ho);
- const mushafLines = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__/* .selectQuranMushafLines */ .z$);
- const defaultState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>{
- return {
- quranReaderStyles: (0,_redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_4__/* .getQuranReaderStylesInitialState */ .kq)(lang),
- translations: (0,_redux_defaultSettings_util__WEBPACK_IMPORTED_MODULE_4__/* .getTranslationsInitialState */ .h0)(lang)
- };
- }, [
- lang
- ]);
- const isUsingDefaultFont = defaultState.quranReaderStyles.quranFont === quranFont && defaultState.quranReaderStyles.mushafLines === mushafLines;
- const areTranslationsEqual = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>{
- if (!translationParams && !selectedTranslations) {
- return false;
- }
- const translations = (0,_utils_array__WEBPACK_IMPORTED_MODULE_10__/* .mergeTwoArraysUniquely */ .sp)(translationParams ?? [], selectedTranslations ?? []);
- return (0,_utils_array__WEBPACK_IMPORTED_MODULE_10__/* .areArraysEqual */ .Hj)(defaultState.translations.selectedTranslations, translations);
- }, [
- translationParams,
- selectedTranslations,
- defaultState.translations.selectedTranslations
- ]);
- const isUsingDefaultSettings = isUsingDefaultFont && isUsingDefaultReciter && isUsingDefaultWordByWordLocale;
- if (translationParams || selectedTranslations) {
- return isUsingDefaultSettings && isUsingDefaultTranslations && areTranslationsEqual;
- }
- return isUsingDefaultSettings;
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useIsUsingDefaultSettings);
- __webpack_async_result__();
- } catch(e) { __webpack_async_result__(e); } });
- /***/ }),
- /***/ 13758:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- /**
- * This is a hook that is mean to be used in combination with {@see useGlobalIntersectionObserver}
- * that will use the global observer that had been created by the above hook to observe an element.
- *
- * @param {RefObject<Element>} elementRef the ref of the object that will be observed.
- * @param {string} observerId the name of the global observer that the element wants to use.
- */ const useObserveElement = (elementRef, observerId)=>{
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
- const node = elementRef?.current; // DOM Ref
- const hasIOSupport = !!window.IntersectionObserver;
- if (!hasIOSupport || !node) return undefined;
- // in-case useGlobalIntersectionObserver hasn't been used.
- if (window[observerId]) {
- window[observerId].observe(node);
- }
- return ()=>{
- if (window[observerId]) {
- window[observerId].unobserve(node);
- }
- };
- }, [
- elementRef,
- observerId
- ]);
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useObserveElement);
- /***/ }),
- /***/ 38646:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- /**
- * A hook that detects clicking outside an element.
- *
- * @param {React.RefObject<HTMLElement>} ref
- * @param {()=> void} onClickOutsideDetected
- * @param {boolean} enableDetection
- */ const useOutsideClickDetector = (ref, onClickOutsideDetected, enableDetection)=>{
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
- const handleClickOutside = (event)=>{
- // if we click on an element inside the document that is not an inclusive descendant of the ref node.
- if (ref.current && !ref.current.contains(event.target)) {
- onClickOutsideDetected();
- }
- };
- // no need to attach the listener if the parent component's visibility is controlled.
- if (enableDetection) {
- // Bind the event listener
- document.addEventListener("mousedown", handleClickOutside);
- }
- return ()=>{
- // Unbind the event listener on clean up
- document.removeEventListener("mousedown", handleClickOutside);
- };
- }, [
- ref,
- onClickOutsideDetected,
- enableDetection
- ]);
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useOutsideClickDetector);
- /***/ }),
- /***/ 56748:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Oz": () => (/* binding */ useScrollToElement),
- /* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__),
- /* harmony export */ "gZ": () => (/* binding */ SMOOTH_SCROLL_TO_TOP),
- /* harmony export */ "lT": () => (/* binding */ SCROLL_TO_NEAREST_ELEMENT),
- /* harmony export */ "nv": () => (/* binding */ SMOOTH_SCROLL_TO_CENTER)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- /**
- * A hook that scrolls to a specific element in the DOM.
- * The scrolling will only happen when executeScroll function
- * is invoked.
- *
- * @param {ScrollIntoViewOptions} options
- * @returns {[() => void, RefObject<T>]}
- */ const useScrollToElement = (options)=>{
- const elementRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
- // a function that will be invoked by the component using this hook to scroll to the element being referenced (if found).
- const executeScroll = ()=>{
- // only scroll when the ref has a value
- if (elementRef.current) {
- elementRef.current.scrollIntoView(options);
- }
- };
- return [
- executeScroll,
- elementRef
- ];
- };
- const SMOOTH_SCROLL_TO_CENTER = {
- block: "center",
- behavior: "smooth"
- };
- const SMOOTH_SCROLL_TO_TOP = {
- block: "start",
- behavior: "smooth"
- };
- const SCROLL_TO_NEAREST_ELEMENT = {
- block: "nearest"
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useScrollToElement);
- /***/ }),
- /***/ 11670:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "KT": () => (/* binding */ getAboutTheQuranImageUrl),
- /* harmony export */ "dJ": () => (/* binding */ getLearningPlansImageUrl),
- /* harmony export */ "oJ": () => (/* binding */ getChapterOgImageUrl),
- /* harmony export */ "qW": () => (/* binding */ getDefaultOgImageUrl)
- /* harmony export */ });
- const BASE_OG_URL = "https://og.qurancdn.com";
- const getDefaultOgImageUrl = ({ locale })=>`${BASE_OG_URL}/api/og?lang=${locale}`;
- const getAboutTheQuranImageUrl = ({ locale })=>`${BASE_OG_URL}/api/og/about-the-quran?lang=${locale}`;
- const getLearningPlansImageUrl = ({ locale })=>`${BASE_OG_URL}/api/og/learning-plans?lang=${locale}`;
- const getChapterOgImageUrl = ({ chapterId , locale , verseNumber })=>{
- const url = `${BASE_OG_URL}/api/og/chapter/${chapterId}?lang=${locale}`;
- if (!verseNumber) return url;
- return `${url}&verse=${verseNumber}`;
- };
- /***/ }),
- /***/ 24213:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__),
- /* harmony export */ "b2": () => (/* binding */ toggleVerseBookmark),
- /* harmony export */ "it": () => (/* binding */ selectBookmarks)
- /* harmony export */ });
- /* unused harmony exports bookmarksSlice, selectOrderedBookmarkedVerses */
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75184);
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__);
- const initialState = {
- bookmarkedVerses: {}
- };
- const bookmarksSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({
- name: "bookmarks",
- initialState,
- reducers: {
- toggleVerseBookmark: (state, action)=>{
- const verseKey = action.payload;
- // if the verseKey exists, we should remove it.
- if (state.bookmarkedVerses[verseKey]) {
- const newBookmarkedVerses = {
- ...state.bookmarkedVerses
- };
- delete newBookmarkedVerses[verseKey];
- return {
- ...state,
- bookmarkedVerses: newBookmarkedVerses
- };
- }
- return {
- ...state,
- // inserting the new pair at beginning of the object will make it sorted by the date verses were bookmarked
- // +new Date() gets the timestamp that we bookmarked the verse at.
- bookmarkedVerses: {
- [verseKey]: +new Date(),
- ...state.bookmarkedVerses
- }
- };
- }
- }
- });
- const { toggleVerseBookmark } = bookmarksSlice.actions;
- const selectBookmarks = (state)=>state.bookmarks.bookmarkedVerses;
- const selectOrderedBookmarkedVerses = (state)=>// sort the bookmarked verses by the order they appear in the Mushaf.
- Object.fromEntries(Object.entries(state.bookmarks.bookmarkedVerses).sort());
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (bookmarksSlice.reducer);
- /***/ }),
- /***/ 3638:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Q7": () => (/* binding */ setIsExpanded),
- /* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__),
- /* harmony export */ "nl": () => (/* binding */ selectContextMenu),
- /* harmony export */ "qk": () => (/* binding */ setShowReadingPreferenceSwitcher)
- /* harmony export */ });
- /* unused harmony export contextMenuSlice */
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75184);
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(61243);
- const initialState = {
- isExpanded: true,
- showReadingPreferenceSwitcher: false
- };
- const contextMenuSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({
- name: _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_1__/* ["default"].CONTEXT_MENU */ .Z.CONTEXT_MENU,
- initialState,
- reducers: {
- setIsExpanded: (state, action)=>({
- ...state,
- isExpanded: action.payload
- }),
- setShowReadingPreferenceSwitcher: (state, action)=>({
- ...state,
- showReadingPreferenceSwitcher: action.payload
- })
- }
- });
- const { setIsExpanded , setShowReadingPreferenceSwitcher } = contextMenuSlice.actions;
- const selectContextMenu = (state)=>state.contextMenu;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (contextMenuSlice.reducer);
- /***/ }),
- /***/ 66093:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "$p": () => (/* binding */ selectNotes),
- /* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__),
- /* harmony export */ "u": () => (/* binding */ setIsVisible)
- /* harmony export */ });
- /* unused harmony export notesSlice */
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75184);
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(61243);
- const initialState = {
- isVisible: false
- };
- const notesSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({
- name: _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_1__/* ["default"].NOTES */ .Z.NOTES,
- initialState,
- reducers: {
- setIsVisible: (state, action)=>({
- ...state,
- isVisible: action.payload
- })
- }
- });
- const { setIsVisible } = notesSlice.actions;
- const selectNotes = (state)=>state.notes;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (notesSlice.reducer);
- /***/ }),
- /***/ 16143:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "E9": () => (/* binding */ selectedLastReadPage),
- /* harmony export */ "GF": () => (/* binding */ selectRecentReadingSessions),
- /* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__),
- /* harmony export */ "eQ": () => (/* binding */ selectLastReadVerseKey),
- /* harmony export */ "ge": () => (/* binding */ setLastReadVerse),
- /* harmony export */ "jM": () => (/* binding */ selectIsVerseKeySelected)
- /* harmony export */ });
- /* unused harmony export readingTrackerSlice */
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75184);
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(61243);
- /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44519);
- /* eslint-disable react-func/max-lines-per-function */
- const initialState = {
- lastReadVerse: {
- verseKey: null,
- chapterId: null,
- page: null,
- hizb: null
- },
- recentReadingSessions: {}
- };
- const NEW_SESSION_BOUNDARY = 20;
- const MAXIMUM_NUMBER_OF_SESSIONS = 10;
- const readingTrackerSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({
- name: _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_1__/* ["default"].READING_TRACKER */ .Z.READING_TRACKER,
- initialState,
- reducers: {
- setLastReadVerse: (state, action)=>{
- const { lastReadVerse , chaptersData } = action.payload;
- let newRecentReadingSessions = {
- ...state.recentReadingSessions
- };
- // if the verse key already exists, and he re-visited it again, we need to mark it as the latest session.
- if (newRecentReadingSessions[lastReadVerse.verseKey]) {
- // delete the old entry
- delete newRecentReadingSessions[lastReadVerse.verseKey];
- // insert the same entry again but at the beginning
- newRecentReadingSessions = {
- [lastReadVerse.verseKey]: +new Date(),
- ...newRecentReadingSessions
- };
- return generateNewState(state, lastReadVerse, newRecentReadingSessions);
- }
- const sessionsVerseKeys = Object.keys(newRecentReadingSessions);
- const numberOfSessions = sessionsVerseKeys.length;
- const [lastReadingSessionVerseKey] = sessionsVerseKeys;
- // if there are some last read sessions already and the new verse key is not far enough to be considered a new session
- if (numberOfSessions && (0,_utils_verse__WEBPACK_IMPORTED_MODULE_2__/* .getDistanceBetweenVerses */ .Bo)(chaptersData, lastReadingSessionVerseKey, lastReadVerse.verseKey) <= NEW_SESSION_BOUNDARY) {
- delete newRecentReadingSessions[lastReadingSessionVerseKey];
- newRecentReadingSessions = {
- [lastReadVerse.verseKey]: +new Date(),
- ...newRecentReadingSessions
- };
- return generateNewState(state, lastReadVerse, newRecentReadingSessions);
- }
- const earliestSession = sessionsVerseKeys[numberOfSessions - 1];
- // insert a new entry at the beginning
- newRecentReadingSessions = {
- [lastReadVerse.verseKey]: +new Date(),
- ...newRecentReadingSessions
- };
- // if the number of sessions already exceeded the maximum, delete the latest session
- if (numberOfSessions + 1 > MAXIMUM_NUMBER_OF_SESSIONS) {
- delete newRecentReadingSessions[earliestSession];
- }
- return generateNewState(state, lastReadVerse, newRecentReadingSessions);
- }
- }
- });
- /**
- * Generate the new state.
- *
- * @param {ReadingTracker} state
- * @param {LastReadVerse} lastReadVerse
- * @param {Record<string, boolean>} newRecentReadingSessions
- * @returns {ReadingTracker}
- */ const generateNewState = (state, lastReadVerse, newRecentReadingSessions)=>{
- return {
- ...state,
- lastReadVerse,
- recentReadingSessions: newRecentReadingSessions
- };
- };
- const { setLastReadVerse } = readingTrackerSlice.actions;
- const selectLastReadVerseKey = (state)=>state.readingTracker.lastReadVerse;
- const selectRecentReadingSessions = (state)=>state.readingTracker.recentReadingSessions;
- const selectedLastReadPage = (state)=>state.readingTracker.lastReadVerse.page;
- const selectIsVerseKeySelected = (verseKey)=>(state)=>{
- const lastReadVerseKey = selectLastReadVerseKey(state);
- return verseKey === lastReadVerseKey.verseKey;
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (readingTrackerSlice.reducer);
- /***/ }),
- /***/ 12547:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Dx": () => (/* binding */ NavigationItem),
- /* harmony export */ "X1": () => (/* binding */ initialSidebarIsVisible),
- /* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__),
- /* harmony export */ "eY": () => (/* binding */ selectNavigationItem),
- /* harmony export */ "rS": () => (/* binding */ selectIsSidebarNavigationVisible),
- /* harmony export */ "tD": () => (/* binding */ selectSelectedNavigationItem),
- /* harmony export */ "u": () => (/* binding */ setIsVisible)
- /* harmony export */ });
- /* unused harmony export sidebarNavigationSlice */
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75184);
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(61243);
- var NavigationItem;
- (function(NavigationItem) {
- NavigationItem["Surah"] = "surah";
- NavigationItem["Juz"] = "juz";
- NavigationItem["Page"] = "page";
- NavigationItem["RubElHizb"] = "rub_el_hizb";
- NavigationItem["Hizb"] = "hizb";
- })(NavigationItem || (NavigationItem = {}));
- const initialSidebarIsVisible = "auto"; // sidebar will be open on desktop and closed on mobile
- const initialState = {
- isVisible: initialSidebarIsVisible,
- selectedNavigationItem: NavigationItem.Surah
- };
- const sidebarNavigationSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({
- name: _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_1__/* ["default"].SIDEBAR_NAVIGATION */ .Z.SIDEBAR_NAVIGATION,
- initialState,
- reducers: {
- setIsVisible: (state, action)=>({
- ...state,
- isVisible: action.payload
- }),
- selectNavigationItem: (state, action)=>({
- ...state,
- selectedNavigationItem: action.payload
- })
- }
- });
- const { setIsVisible , selectNavigationItem } = sidebarNavigationSlice.actions;
- const selectIsSidebarNavigationVisible = (state)=>state.sidebarNavigation.isVisible;
- const selectSelectedNavigationItem = (state)=>state.sidebarNavigation.selectedNavigationItem;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (sidebarNavigationSlice.reducer);
- /***/ }),
- /***/ 88795:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "N4": () => (/* binding */ setIsReadingByRevelationOrder),
- /* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__),
- /* harmony export */ "kW": () => (/* binding */ selectIsReadingByRevelationOrder)
- /* harmony export */ });
- /* unused harmony exports initialState, revelationOrderSlice */
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75184);
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var _actions_sync_user_preferences__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(91767);
- /* harmony import */ var _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(61243);
- /* harmony import */ var _types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(13591);
- const initialState = {
- isReadingByRevelationOrder: false
- };
- const revelationOrderSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({
- name: _redux_types_SliceName__WEBPACK_IMPORTED_MODULE_2__/* ["default"].REVELATION_ORDER */ .Z.REVELATION_ORDER,
- initialState,
- reducers: {
- setIsReadingByRevelationOrder: (state, action)=>({
- ...state,
- isReadingByRevelationOrder: action.payload
- })
- },
- extraReducers: (builder)=>{
- builder.addCase(_actions_sync_user_preferences__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, (state, action)=>{
- const { payload: { userPreferences } , } = action;
- const remoteReadingPreferences = userPreferences[_types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_3__/* ["default"].READING */ .Z.READING];
- // if there are any reading preferences stored in the DB.
- if (remoteReadingPreferences) {
- return {
- ...state,
- isReadingByRevelationOrder: !!remoteReadingPreferences.isReadingByRevelationOrder
- };
- }
- return state;
- });
- }
- });
- const selectIsReadingByRevelationOrder = (state)=>state.revelationOrder.isReadingByRevelationOrder;
- const { setIsReadingByRevelationOrder } = revelationOrderSlice.actions;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (revelationOrderSlice.reducer);
- /***/ }),
- /***/ 26332:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "F": () => (/* binding */ getFilterActivityDaysParamsOfCurrentMonth),
- /* harmony export */ "o": () => (/* binding */ getFilterActivityDaysParams)
- /* harmony export */ });
- /* harmony import */ var _datetime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(76410);
- /* harmony import */ var _types_auth_ActivityDay__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(97043);
- const getFilterActivityDaysParamsOfCurrentMonth = ()=>{
- const currentMonth = (0,_datetime__WEBPACK_IMPORTED_MODULE_0__/* .getCurrentMonth */ .Cl)();
- const currentYear = new Date().getFullYear();
- return getFilterActivityDaysParams(currentMonth, currentYear);
- };
- const getFilterActivityDaysParams = (month, year)=>{
- const { from , to } = (0,_datetime__WEBPACK_IMPORTED_MODULE_0__/* .makeDateRangeFromMonth */ .fR)(month, year);
- const params = {
- from,
- to,
- limit: 31,
- type: _types_auth_ActivityDay__WEBPACK_IMPORTED_MODULE_1__/* .ActivityDayType.QURAN */ .t.QURAN
- };
- return params;
- };
- /***/ }),
- /***/ 28156:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "WZ": () => (/* binding */ getJuzIds),
- /* harmony export */ "yd": () => (/* binding */ getJuzNumberByHizb)
- /* harmony export */ });
- /* unused harmony exports isFirstJuz, isLastJuz */
- /* harmony import */ var _locale__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24709);
- /**
- * Get the juz number by the hiz number. One hizb is half a Juz.
- *
- * @param {number} hizb
- * @returns {number}
- */ const getJuzNumberByHizb = (hizb)=>Math.ceil(hizb / 2);
- /**
- * Whether the current juz is the first surah.
- *
- * @param {number} juzNumber
- * @returns {boolean}
- */ const isFirstJuz = (juzNumber)=>juzNumber === 1;
- /**
- * Whether the current juz is the last surah.
- *
- * @param {number} juzNumber
- * @returns {boolean}
- */ const isLastJuz = (juzNumber)=>juzNumber === 30;
- const TOTAL_QURAN_JUZ = 30;
- const getJuzIds = (lang)=>{
- return [
- ...Array(TOTAL_QURAN_JUZ)
- ].map((n, index)=>{
- const juz = index + 1;
- return {
- value: juz,
- label: (0,_locale__WEBPACK_IMPORTED_MODULE_0__/* .toLocalizedNumber */ .rQ)(juz, lang)
- };
- });
- };
- /***/ }),
- /***/ 26498:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(44519);
- // given an array of verse keys, merge back to back verses into a single range like this:
- // ['1:1', '1:2', '1:3', '1:7'] will be ['1:1-1:3', '1:7-1:7']
- function mergeVerseKeys(verses) {
- const combinedVerses = new Set();
- const verseMap = {};
- // Create a map of chapter to verse numbers
- verses.forEach((verseKey)=>{
- const [chapter, verseNumber] = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_0__/* .getVerseAndChapterNumbersFromKey */ .bV)(verseKey);
- if (!verseMap[chapter]) verseMap[chapter] = [];
- verseMap[chapter].push(Number(verseNumber));
- });
- // Merge the verse numbers for each chapter
- const entries = Object.entries(verseMap);
- for(let i = 0; i < entries.length; i += 1){
- // eslint-disable-next-line prefer-const
- const [chapter, verseNumbers] = entries[i];
- verseNumbers.sort((a, b)=>a - b);
- let start = verseNumbers[0];
- let end = start;
- for(let j = 1; j < verseNumbers.length; j += 1){
- // merge back to back verses into a single range
- // OR
- // merge verses into a single range if they are not back to back but the distance is 1
- // e.g. 1:1, 1:2, 1:3, 1:5 will be merged into 1:1-1:5
- if (verseNumbers[j] - end > 0 && verseNumbers[j] - end <= 5) {
- end = verseNumbers[j];
- } else {
- combinedVerses.add(`${chapter}:${start}-${chapter}:${end}`);
- start = verseNumbers[j];
- end = start;
- }
- }
- combinedVerses.add(`${chapter}:${start}-${chapter}:${end}`);
- }
- return combinedVerses;
- }
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (mergeVerseKeys);
- /***/ }),
- /***/ 45137:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Dp": () => (/* binding */ ONE_WEEK_REVALIDATION_PERIOD_SECONDS),
- /* harmony export */ "eW": () => (/* binding */ REVALIDATION_PERIOD_ON_ERROR_SECONDS),
- /* harmony export */ "gi": () => (/* binding */ ONE_MONTH_REVALIDATION_PERIOD_SECONDS)
- /* harmony export */ });
- /* unused harmony export ONE_DAY_REVALIDATION_PERIOD_SECONDS */
- const REVALIDATION_PERIOD_ON_ERROR_SECONDS = 604800; // 7 days. TODO: @osama update the naming + value when we revert this back
- const ONE_DAY_REVALIDATION_PERIOD_SECONDS = 86400; // 1 day
- const ONE_WEEK_REVALIDATION_PERIOD_SECONDS = 604800; // 7 days
- const ONE_MONTH_REVALIDATION_PERIOD_SECONDS = 2592000; // 30 days
- /***/ }),
- /***/ 94675:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "U": () => (/* binding */ getWordTextFieldNameByFont)
- /* harmony export */ });
- /* unused harmony export getVerseTextByWords */
- /* harmony import */ var types_QuranReader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50467);
- /* harmony import */ var types_Word__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42217);
- /* eslint-disable import/prefer-default-export */
- /**
- * Construct the verse text given an array of words.
- *
- * @param {Verse} verse
- * @returns {string}
- */ const getVerseTextByWords = (verse)=>{
- let verseText = "";
- verse.words.forEach((word)=>{
- if (word.charTypeName !== CharType.End) {
- verseText = `${verseText} ${word.text}`;
- }
- });
- return verseText;
- };
- /**
- * Get the text field name based on the currently
- * selected quranFont.
- *
- * @param {QuranFont} quranFont
- * @returns {string}
- */ const getWordTextFieldNameByFont = (quranFont)=>{
- switch(quranFont){
- case types_QuranReader__WEBPACK_IMPORTED_MODULE_0__/* .QuranFont.IndoPak */ .fr.IndoPak:
- return "textIndopak";
- default:
- return "textUthmani";
- }
- };
- /***/ }),
- /***/ 45788:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- var BookmarkType;
- (function(BookmarkType) {
- BookmarkType["Page"] = "page";
- BookmarkType["Juz"] = "juz";
- BookmarkType["Surah"] = "surah";
- BookmarkType["Ayah"] = "ayah";
- })(BookmarkType || (BookmarkType = {}));
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (BookmarkType);
- /***/ }),
- /***/ 57070:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- var ScrollAlign;
- (function(ScrollAlign) {
- ScrollAlign["Start"] = "start";
- ScrollAlign["Center"] = "center";
- ScrollAlign["End"] = "end";
- })(ScrollAlign || (ScrollAlign = {}));
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ScrollAlign);
- /***/ })
- };
- ;
- //# sourceMappingURL=39508.js.map
|