1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7775],{41820:function(t,e,r){r.d(e,{Uo:function(){return o}});var l=r(6934),s=r(38303),a=r(43274),n=r(97521);let i=null,d=null,u="chapters:all";async function y(){let t=s.O.NEXT_PUBLIC_QURAN_DATA_BASE_URL,e=await (0,n.Cx)("".concat(t,"/chapters.json.gz"));return(0,l.camelizeKeys)(e).chapters}async function o(){return(arguments.length>0&&void 0!==arguments[0]&&arguments[0],i)?i:d||(d=(async()=>{try{{let t=await (0,a._u)(u);if(t)return i=t,t}let t=await y();return i=t,(0,a.Kq)(u,t,a.OD.FOREVER).catch(()=>{}),t}finally{d=null}})())}},97907:function(t,e,r){r.d(e,{Ev:function(){return u},es:function(){return n},lw:function(){return a}});var l=r(3011),s=r(89134);let a=["emerald","blue","purple","orange","red","yellow","cyan","pink"];function n(t){switch(t){case"emerald":default:return{bg:"bg-emerald-500",bgHover:"hover:bg-emerald-600",text:"text-emerald-500",border:"border-emerald-500"};case"blue":return{bg:"bg-blue-500",bgHover:"hover:bg-blue-600",text:"text-blue-500",border:"border-blue-500"};case"purple":return{bg:"bg-purple-500",bgHover:"hover:bg-purple-600",text:"text-purple-500",border:"border-purple-500"};case"orange":return{bg:"bg-orange-500",bgHover:"hover:bg-orange-600",text:"text-orange-500",border:"border-orange-500"};case"red":return{bg:"bg-red-500",bgHover:"hover:bg-red-600",text:"text-red-500",border:"border-red-500"};case"yellow":return{bg:"bg-yellow-500",bgHover:"hover:bg-yellow-600",text:"text-yellow-500",border:"border-yellow-500"};case"cyan":return{bg:"bg-cyan-500",bgHover:"hover:bg-cyan-600",text:"text-cyan-500",border:"border-cyan-500"};case"pink":return{bg:"bg-pink-500",bgHover:"hover:bg-pink-600",text:"text-pink-500",border:"border-pink-500"}}}let i=0;function d(){return"item_".concat(Date.now(),"_").concat(++i)}let u=(0,l.U)()((0,s.tJ)((t,e)=>({playlists:{},playlistItems:{},currentPlaylistId:null,currentItemIndex:0,currentVerseIndex:0,hasSynced:!1,isLoading:!1,createPlaylist:(e,r,l)=>{let s="_local_".concat(Date.now(),"_").concat(++i),a=new Date().toISOString(),n={id:s,name:e,description:r||null,color:l||"emerald",itemCount:0,createdAt:a,updatedAt:a,lastPlayedItemIndex:null,lastPlayedVerseNumber:null,lastPlayedPositionMs:null};return t(t=>({playlists:{...t.playlists,[s]:n},playlistItems:{...t.playlistItems,[s]:[]}})),s},updatePlaylist:(e,r)=>{t(t=>{let l=t.playlists[e];return l?{playlists:{...t.playlists,[e]:{...l,...r,updatedAt:new Date().toISOString()}}}:t})},deletePlaylist:e=>{t(t=>{let r={...t.playlists};delete r[e];let l={...t.playlistItems};return delete l[e],{playlists:r,playlistItems:l,...t.currentPlaylistId===e&&{currentPlaylistId:null,currentItemIndex:0,currentVerseIndex:0}}})},addChapterToPlaylist:(r,l,s,a)=>{let n=e().playlistItems[r]||[];if(n.some(t=>t.chapterId===l&&1===t.startAyah&&t.endAyah===s))return!1;let i={id:d(),playlistId:r,chapterId:l,startAyah:1,endAyah:s,sortOrder:n.length,reciterPath:a||null,metadata:null};return t(t=>{let e=[...t.playlistItems[r]||[],i],l=t.playlists[r];return{playlistItems:{...t.playlistItems,[r]:e},playlists:l?{...t.playlists,[r]:{...l,itemCount:e.length,updatedAt:new Date().toISOString()}}:t.playlists}}),!0},addVersesToPlaylist:(r,l,s,a,n)=>{let i=e().playlistItems[r]||[];if(i.some(t=>t.chapterId===l&&t.startAyah===s&&t.endAyah===a))return!1;let u={id:d(),playlistId:r,chapterId:l,startAyah:s,endAyah:a,sortOrder:i.length,reciterPath:n||null,metadata:null};return t(t=>{let e=[...t.playlistItems[r]||[],u],l=t.playlists[r];return{playlistItems:{...t.playlistItems,[r]:e},playlists:l?{...t.playlists,[r]:{...l,itemCount:e.length,updatedAt:new Date().toISOString()}}:t.playlists}}),!0},removeItemFromPlaylist:(e,r)=>{t(t=>{let l=(t.playlistItems[e]||[]).filter(t=>t.id!==r).map((t,e)=>({...t,sortOrder:e})),s=t.playlists[e];return{playlistItems:{...t.playlistItems,[e]:l},playlists:s?{...t.playlists,[e]:{...s,itemCount:l.length,updatedAt:new Date().toISOString()}}:t.playlists}})},updatePlaylistItem:(e,r,l)=>{t(t=>{let s=(t.playlistItems[e]||[]).map(t=>t.id===r?{...t,...l}:t),a=t.playlists[e];return{playlistItems:{...t.playlistItems,[e]:s},playlists:a?{...t.playlists,[e]:{...a,updatedAt:new Date().toISOString()}}:t.playlists}})},reorderPlaylistItems:(e,r,l)=>{t(t=>{let s=[...t.playlistItems[e]||[]],[a]=s.splice(r,1);s.splice(l,0,a);let n=s.map((t,e)=>({...t,sortOrder:e})),i=t.playlists[e];return{playlistItems:{...t.playlistItems,[e]:n},playlists:i?{...t.playlists,[e]:{...i,updatedAt:new Date().toISOString()}}:t.playlists}})},buildPlaybackQueue:t=>{let r=e().playlistItems[t]||[],l=[];for(let e of r.sort((t,e)=>t.sortOrder-e.sortOrder))for(let r=e.startAyah;
1r<=e.endAyah;r++)l.push({playlistId:t,itemId:e.id,chapterId:e.chapterId,verseNumber:r,reciterPath:e.reciterPath});return l},startPlaylist:function(r){let l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=e().playlistItems[r]||[];if(0===a.length)return null;let n=[...a].sort((t,e)=>t.sortOrder-e.sortOrder)[l];if(!n)return null;let i=n.startAyah+s;return i>n.endAyah?null:(t({currentPlaylistId:r,currentItemIndex:l,currentVerseIndex:s}),{playlistId:r,itemId:n.id,chapterId:n.chapterId,verseNumber:i,reciterPath:n.reciterPath})},stopPlayback:()=>{let r=e(),{currentPlaylistId:l,currentItemIndex:s,currentVerseIndex:a}=r;if(l){let e=[...r.playlistItems[l]||[]].sort((t,e)=>t.sortOrder-e.sortOrder)[s];if(e){let r=e.startAyah+a;t(t=>({currentPlaylistId:null,currentItemIndex:0,currentVerseIndex:0,playlists:{...t.playlists,[l]:{...t.playlists[l],lastPlayedItemIndex:s,lastPlayedVerseNumber:r,updatedAt:new Date().toISOString()}}}));return}}t({currentPlaylistId:null,currentItemIndex:0,currentVerseIndex:0})},updatePlaybackPosition:(r,l,s)=>{let a=e(),{currentPlaylistId:n}=a;if(!n)return;let i=[...a.playlistItems[n]||[]].sort((t,e)=>t.sortOrder-e.sortOrder)[r];if(!i)return;let d=i.startAyah+l;t(t=>({currentItemIndex:r,currentVerseIndex:l,playlists:{...t.playlists,[n]:{...t.playlists[n],lastPlayedItemIndex:r,lastPlayedVerseNumber:d,lastPlayedPositionMs:null!=s?s:null,updatedAt:new Date().toISOString()}}}))},moveToNextItem:()=>{let r=e(),{currentPlaylistId:l,currentItemIndex:s}=r;if(!l)return null;let a=[...r.playlistItems[l]||[]].sort((t,e)=>t.sortOrder-e.sortOrder),n=s+1;if(n>=a.length)return null;let i=a[n];return t({currentItemIndex:n,currentVerseIndex:0}),{playlistId:l,itemId:i.id,chapterId:i.chapterId,verseNumber:i.startAyah,reciterPath:i.reciterPath}},moveToPreviousItem:()=>{let r=e(),{currentPlaylistId:l,currentItemIndex:s}=r;if(!l)return null;let a=[...r.playlistItems[l]||[]].sort((t,e)=>t.sortOrder-e.sortOrder),n=s-1;if(n<0)return null;let i=a[n];return t({currentItemIndex:n,currentVerseIndex:0}),{playlistId:l,itemId:i.id,chapterId:i.chapterId,verseNumber:i.startAyah,reciterPath:i.reciterPath}},moveToNextVerse:()=>{let r=e(),{currentPlaylistId:l,currentItemIndex:s,currentVerseIndex:a}=r;if(!l)return null;let n=[...r.playlistItems[l]||[]].sort((t,e)=>t.sortOrder-e.sortOrder)[s];if(!n)return null;n.startAyah;let i=a+1,d=n.startAyah+i;return d<=n.endAyah?(t({currentVerseIndex:i}),{playlistId:l,itemId:n.id,chapterId:n.chapterId,verseNumber:d,reciterPath:n.reciterPath}):e().moveToNextItem()},getPlaylist:t=>e().playlists[t],getPlaylistItems:t=>[...e().playlistItems[t]||[]].sort((t,e)=>t.sortOrder-e.sortOrder),getPlaylistList:()=>{let{playlists:t}=e();return Object.values(t).sort((t,e)=>new Date(e.updatedAt||0).getTime()-new Date(t.updatedAt||0).getTime())},getCurrentPlaylist:()=>{let{currentPlaylistId:t,playlists:r}=e();return t&&r[t]||null},getCurrentItem:()=>{let{currentPlaylistId:t,currentItemIndex:r,playlistItems:l}=e();return t&&[...l[t]||[]].sort((t,e)=>t.sortOrder-e.sortOrder)[r]||null},isPlaylistPlaying:t=>e().currentPlaylistId===t,getTotalVerseCount:t=>(e().playlistItems[t]||[]).reduce((t,e)=>t+(e.endAyah-e.startAyah+1),0),applySyncedContent:(e,r)=>{t(t=>({playlists:{...t.playlists,...e},playlistItems:{...t.playlistItems,...r},hasSynced:!0}))},getSyncPayload:()=>{let{playlists:t,playlistItems:r}=e();return{playlists:t,playlistItems:r}},clear:()=>t({playlists:{},playlistItems:{},currentPlaylistId:null,currentItemIndex:0,currentVerseIndex:0,hasSynced:!1,isLoading:!1})}),{name:"islam-playlists",storage:(0,s.FL)(()=>localStorage),partialize:t=>({playlists:t.playlists,playlistItems:t.playlistItems})}))}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.