1"use strict";(self["webpackChunkfrontend"]=self["webpackChunkfrontend"]||[]).push([[177],{2402:function(e,a,t){t.d(a,{r:function(){return o}});t(7658);var i=t(1020);const o=(0,i.Q_)("bookmarkStore",{state:()=>({bookmarkData:new Set,watchedEpisodeIDs:[]}),getters:{getBookmarkData(e){return e.bookmarkData}},actions:{notifyAddNewBookmarks(e){for(const a of e)Number.isInteger(a)&&this.bookmarkData.add(a)},notifyReplaceBookmarks(e){e instanceof Set&&(this.bookmarkData=new Set([...e].filter((e=>Number.isInteger(e)))))},notifyAddOrDeleteBookmark(e){Number.isInteger(e)&&(this.bookmarkData.has(e)?this.bookmarkData.delete(e):this.bookmarkData=new Set([e,...this.bookmarkData]))},notfiyAddWatchedEpisodeIDs(e){for(const a of e)this.watchedEpisodeIDs.push(a)},notifyReplaceWatchedEpisodeIDs(e){e instanceof Array&&(this.watchedEpisodeIDs=e)}}})},8761:function(e,a,t){t.d(a,{p:function(){return r}});const i="https://chromewebstore.google.com/detail/animebookmark-tracker/mijgfkmaoeiehnghilgcbjmoohgamick",o=(e="")=>{try{const a=new URL(`${e}`.trim()),t=a.hostname.toLowerCase(),i="chromewebstore.google.com"===t?/^\/detail\/[^/]+\/[a-p]{32}\/?$/u.test(a.pathname):"chrome.google.com"===t&&/^\/webstore\/detail\/[^/]+\/[a-p]{32}\/?$/u.test(a.pathname);return"https:"!==a.protocol||a.username||a.password||a.port||a.hash||!i?"":(a.search="",a.toString())}catch(a){return""}},r=()=>{const e="https://chromewebstore.google.com/detail/animebookmark-tracker/mijgfkmaoeiehnghilgcbjmoohgamick".trim();return o(e||i)}},4614:function(e,a,t){t.d(a,{E:function(){return s}});const i=/\/(?:images\/)?questionmark(?:_[0-9]+)?\.gif(?:\.[a-z0-9]+)?$/i,o=/\/fallback\/questionmark\.gif$/i,r=(e="")=>{if(!e||"string"!==typeof e)return!1;try{const a=new URL(e),t=`${a.hostname||""}`.toLowerCase(),r=`${a.pathname||""}`.toLowerCase();return o.test(r)?"cdn.animebookmark.com"===t||t.endsWith(".animebookmark.com")||t.endsWith(".r2.dev"):!!t.includes("myanimelist")&&i.test(r)}catch(a){return!1}},s=(e="")=>{const a="string"===typeof e?e.trim():"";return r(a)?"":a}},4314:function(e,a,t){t.d(a,{BR:function(){return i},Eb:function(){return l},Oz:function(){return u},Pl:function(){return k},UC:function(){return n},ju:function(){return g},lG:function(){return m},lV:function(){return p}});const i="Asia/Tokyo",o=Object.freeze([-1,0,1,2,3,4,5]),r=Object.freeze(["Sundays","Mondays","Tuesdays","Wednesdays","Thursdays","Fridays","Saturdays"]),s=(e="")=>{const a=Date.parse(`${e||""}`);return Number.isFinite(a)?a:null},n=(e={})=>s(e?.attributes?.broadcast?.displayAiringAt),l=(e={},a="local")=>{const t=e?.attributes?.broadcast||{};return"source"===a?t.source||t:t.localized||t.source||t},d=(e={})=>{const a=Number(e?.attributes?.popularity);return Number.isFinite(a)&&a>0?a:Number.MAX_SAFE_INTEGER},m=(e=[],a={})=>{const t=Array.isArray(e)?e:[],i=t.filter((e=>`${e?.attributes?.season||""}`.trim().toLowerCase()===a.season&&Number.parseInt(e?.attributes?.year,10)===a.year)),o=i.length>0?i:t;return[...o].sort(((e,a)=>d(e)-d(a)||(n(e)??Number.POSITIVE_INFINITY)-(n(a)??Number.POSITIVE_INFINITY)||Number(e?.id||0)-Number(a?.id||0)))[0]||null},c=(e=0)=>e>=3&&e<=5?"spring":e>=6&&e<=8?"summer":e>=9&&e<=11?"fall":"winter",h=(e=new Date)=>c(e.getMonth()),u=(e=new Date,a=i)=>{try{const t=new Intl.DateTimeFormat("en-US",{timeZone:a,year:"numeric",month:"numeric",day:"numeric"}).formatToParts(e),i=Number.parseInt(t.find((e=>"year"===e.type))?.value||"",10),o=Number.parseInt(t.find((e=>"month"===e.type))?.value||"",10),r=Number.parseInt(t.find((e=>"day"===e.type))?.value||"",10);if(Number.isFinite(i)&&Number.isFinite(o)&&Number.isFinite(r))return{year:i,month:o,day:r}}catch(t){}return{year:e.getFullYear(),month:e.getMonth()+1,day:e.getDate()}},k=(e=new Date,a=i)=>{const{year:t,month:s,day:n}=u(e,a);return o.map(((e,a)=>{const i=new Date(Date.UTC(t,s-1,n+e));return{calendarDate:i,dayKey:r[i.getUTCDay()],relativeDayOffset:e,windowOrder:a}}))},p=(e,a={})=>{try{return new Intl.DateTimeFormat("en-US",{timeZone:"UTC",...a}).format(e)}catch(t){return""}},g=(e=new Date,a=i)=>{try{const t=new Intl.DateTimeFormat("en-US",{timeZone:a,month:"numeric",year:"numeric"}).formatToParts(e),i=Number.parseInt(t.find((e=>"month"===e.type))?.value||"",10),o=Number.parseInt(t.find((e=>"year"===e.type))?.value||"",10);if(Number.isFinite(i)&&Number.isFinite(o))return{season:h(new Date(o,i-1,1)),year:o}}catch(t){}return{season:h(e),year:e.getFullYear()}}},9682:function(e,a,t){t.d(a,{Qz:function(){return d},Zc:function(){return m},fH:function(){return c}});const i=new Set(["cdn.animebookmark.com","cdn.myanimelist.net"]),o=(e="")=>{if("string"!==typeof e)return"";const a=e.trim();return/^\/news\/\d+\/[a-z0-9-]+\/$/i.test(a)?a:""},r=(e="",a=null)=>{if("string"!==typeof e||!e.trim())return"";try{const t=new URL(e.trim()),i=t.hostname.toLowerCase();return"https:"!==t.protocol||t.username||t.password||a&&!a.has(i)?"":a||i.endsWith(".r2.dev")?t.toString():""}catch(t){return""}},s=(e="")=>r(e,i)||r(e),n=(e="")=>{const a=new Date(e);return Number.isNaN(a.getTime())?null:a},l=(e,a)=>e?new Intl.DateTimeFormat(void 0,a).format(e):"",d=(e="")=>{if("string"!==typeof e||!e.trim()||"undefined"===typeof document)return"";const a=document.createElement("template");a.innerHTML=e.slice(0,3e5),a.content.querySelectorAll("script, style, template, noscript, iframe, object, embed").forEach((e=>e.remove())),a.content.querySelectorAll("br").forEach((e=>e.replaceWith(" ")));const t=Array.from(a.content.querySelectorAll("p")).map((e=>
1(e.textContent||"").replace(/\s+/g," ").trim())).filter(Boolean).join(" "),i=2100;if(t.length<=i)return t;const o=t.slice(0,i-1),r=o.lastIndexOf(" ");return`${(r>.8*i?o.slice(0,r):o).trimEnd()}â¦`},m=(e={})=>{const a=n(e?.publishedAt),t=Number.parseInt(e?.comments,10),i=Number.parseInt(e?.id,10)||0,r=o(e?.path);return{id:i,slug:`${e?.slug||""}`.trim(),path:r,title:`${e?.title||""}`.trim()||"Untitled story",excerpt:`${e?.excerpt||""}`.trim(),author:`${e?.author||""}`.trim()||"Anime news",comments:Number.isFinite(t)&&t>=0?t:0,imageUrl:s(e?.imageUrl),publishedAt:a?a.toISOString():"",dateLabel:l(a,{month:"long",day:"numeric",year:"numeric"}),compactDateLabel:l(a,{month:"short",day:"numeric"}),timeLabel:l(a,{hour:"numeric",minute:"2-digit"})}},c=(e=0)=>`${e} comment${1===e?"":"s"}`},1431:function(e,a,t){t.r(a),t.d(a,{default:function(){return zt}});var i=t(3396);function o(e,a,t,o,r,s){const n=(0,i.up)("HomeFieldNotes"),l=(0,i.up)("v-main");return(0,i.wg)(),(0,i.j4)(l,null,{default:(0,i.w5)((()=>[(0,i.Wm)(n,{model:s.homeModel,onSearch:a[0]||(a[0]=e=>r.query=e),onGenre:a[1]||(a[1]=e=>r.selectedGenre=e),onDay:a[2]||(a[2]=e=>r.activeDay=e),onToggle:s.toggleBookmark,onRetry:s.retrySection,onNavigate:s.trackNavigation,onSignInBookmarks:s.signInForBookmarks},null,8,["model","onToggle","onRetry","onNavigate","onSignInBookmarks"])])),_:1})}t(7658);var r=t(1020),s=t(7041),n=t.p+"img/animebookmark-portal-hero-dark.a71161d6.webp",l=t.p+"img/animebookmark-portal-hero.8675b50d.webp",d=t(1846),m=t(8170),c=t(6974),h=t(2402),u=t(6906),k=t(6778),p=t(1159),g=t(5341),y=t(5243),f=t(4614),b=t(4314),w=t(9682),_=t(7139);const v=e=>((0,i.dD)("data-v-5e9a5e8c"),e=e(),(0,i.Cn)(),e),A=["data-theme"],I={class:"hp-container"},D={class:"fn-introduction","aria-labelledby":"fn-title"},E={class:"fn-hero-backdrop","aria-hidden":"true"},S=["src"],N=v((()=>(0,i._)("div",{class:"fn-margin-note","aria-hidden":"true"},[(0,i._)("span",null,"01"),(0,i._)("span",null,[(0,i.Uk)("BEGIN"),(0,i._)("br"),(0,i.Uk)(" HERE")]),(0,i._)("i")],-1))),T={class:"fn-intro-copy"},C=v((()=>(0,i._)("p",{class:"hp-kicker"},"ANIME, AT YOUR OWN PACE.",-1))),L=v((()=>(0,i._)("h1",{id:"fn-title"},[(0,i.Uk)("AnimeBookmark"),(0,i._)("br"),(0,i.Uk)(),(0,i._)("em",null,"Episode Tracker")],-1))),B=v((()=>(0,i._)("p",null,"Bookmark anime, track episodes with our Chrome extension, and explore release schedules and watch orders.",-1))),F={class:"fn-hero-actions"},$=v((()=>(0,i._)("span",{"aria-hidden":"true"},"â",-1))),x=["src"],U=v((()=>(0,i._)("span",{"aria-hidden":"true"},"â",-1))),z=v((()=>(0,i._)("span",{"aria-hidden":"true"},"â",-1))),R=v((()=>(0,i._)("span",{"aria-hidden":"true"},"â",-1))),O={class:"fn-tracker","aria-labelledby":"fn-tracker-title"},P=(0,i.uE)('<div class="fn-journal-ribbon" aria-hidden="true" data-v-5e9a5e8c><img src="/pwa-icon-192x192.png" alt="" width="34" height="34" data-v-5e9a5e8c></div><div class="fn-tracker-title" data-v-5e9a5e8c><p class="hp-kicker" data-v-5e9a5e8c>02 / YOUR WATCHING COMPANION</p><h2 id="fn-tracker-title" data-v-5e9a5e8c>Meet your<br data-v-5e9a5e8c> anime episode<br data-v-5e9a5e8c><em data-v-5e9a5e8c>tracker.</em></h2></div>',2),q={class:"fn-tracker-gallery","aria-label":"AnimeBookmark Episode Tracker demonstrations"},W={class:"fn-tracker-shot fn-tracker-shot--match"},H=["src"],M=v((()=>(0,i._)("figcaption",null,"Confirm your episode.",-1))),j={class:"fn-tracker-shot fn-tracker-shot--dashboard"},Z=["src"],K=v((()=>(0,i._)("figcaption",null,"Your watching companion.",-1))),G={class:"fn-tracker-shot fn-tracker-shot--watch"},Y=["src"],J=v((()=>(0,i._)("figcaption",null,"Keep your place.",-1))),Q={class:"fn-tracker-shot fn-tracker-shot--bookmark"},V=["src"],X=v((()=>(0,i._)("figcaption",null,"Back to your story.",-1))),ee={class:"fn-tracker-install"},ae={class:"fn-tracker-install-heading"},te=["src"],ie=v((()=>(0,i._)("h3",null,[(0,i._)("span",null,"Download the"),(0,i._)("span",null,"AnimeBookmark Episode Tracker")],-1))),oe=["href"],re=v((()=>(0,i._)("span",{"aria-hidden":"true"},"â",-1))),se=v((()=>(0,i._)("span",{"aria-hidden":"true"},"â",-1))),ne=["aria-busy"],le=v((()=>(0,i._)("div",{class:"fn-index-heading"},[(0,i._)("div",null,[(0,i._)("p",{class:"hp-kicker"},"03 / THE SEASONAL INDEX"),(0,i._)("h2",{id:"fn-index-title"},"Stories to make room for.")]),(0,i._)("p",null,[(0,i.Uk)("No need to choose everything."),(0,i._)("br"),(0,i.Uk)(" Just something that catches your eye.")])],-1))),de={class:"fn-index-tools"},me={class:"fn-genres",role:"group","aria-label":"Filter anime by genre"},ce=["aria-pressed","onClick"],he={class:"fn-search"},ue=v((()=>(0,i._)("span",{class:"fn-sr-only"},"Search the seasonal index",-1))),ke=["value"],pe=v((()=>(0,i._)("span",{"aria-hidden":"true"},"â",-1))),ge={key:0,class:"fn-bookmark-error",role:"alert"},ye={key:1,class:"fn-empty",role:"status"},fe={key:2,class:"fn-section-state",role:"status"},be=v((()=>(0,i._)("p",null,"Opening the seasonal indexâ¦",-1))),we=[be],_e={key:3,class:"fn-section-state",role:"alert"},ve=v((()=>(0,i._)("p",null,"The seasonal index couldnât load. Please try again.",-1))),Ae={key:4,class:"fn-index-layout"},Ie={class:"fn-featured"},De=v((()=>(0,i._)("span",{class:"fn-tape","aria-hidden":"true"},null,-1))),Ee=["src","alt"],Se=v((()=>(0,i._)("span",{class:"fn-small-label"},"FROM THE SEASON",-1))),Ne=["disabled","aria-busy","aria-pressed","aria-label","t
1itle"],Te={class:"fn-catalog"},Ce=v((()=>(0,i._)("div",{class:"fn-catalog-label"},[(0,i._)("span",null,"THE READING LIST"),(0,i._)("span",null,"A PLACE TO BEGIN")],-1))),Le={class:"fn-entry-number","aria-hidden":"true"},Be=["src","alt","onError"],Fe=["disabled","aria-busy","aria-pressed","aria-label","title","onClick"],$e={key:0,class:"fn-single-note"},xe=v((()=>(0,i._)("span",{"aria-hidden":"true"},"â§",-1))),Ue=v((()=>(0,i._)("p",null,[(0,i.Uk)("One story caught your eye."),(0,i._)("br"),(0,i.Uk)(" A perfectly good place to begin.")],-1))),ze=[xe,Ue],Re=v((()=>(0,i._)("span",{"aria-hidden":"true"},"â",-1))),Oe={key:5,class:"fn-section-state",role:"status"},Pe=v((()=>(0,i._)("span",{"aria-hidden":"true"},"â",-1))),qe=["aria-busy"],We={class:"fn-week-note"},He=v((()=>(0,i._)("p",{class:"hp-kicker"},"04 / A NOTE FOR THE WEEK",-1))),Me=v((()=>(0,i._)("h2",{id:"fn-week-title"},[(0,i.Uk)("A little rhythm"),(0,i._)("br"),(0,i.Uk)(" to look forward to.")],-1))),je=v((()=>(0,i._)("p",null,"Leave a little space for the next episode. Your weekly release notes, all in one place.",-1))),Ze={class:"fn-day-selector",role:"group","aria-label":"Choose a release day"},Ke=["aria-pressed","onClick"],Ge=v((()=>(0,i._)("span",{"aria-hidden":"true"},"â",-1))),Ye=v((()=>(0,i._)("span",{class:"fn-week-annotation"},[(0,i.Uk)("a small ritual,"),(0,i._)("br"),(0,i.Uk)(),(0,i._)("em",null,"one episode at a time.")],-1))),Je={class:"fn-week-page"},Qe={class:"fn-page-title"},Ve=v((()=>(0,i._)("small",null,"THE EPISODE NOTES",-1))),Xe={key:0,class:"fn-schedule-zone"},ea={key:1,class:"fn-section-state",role:"status"},aa=v((()=>(0,i._)("p",null,"Gathering the episode notesâ¦",-1))),ta=[aa],ia={key:2,class:"fn-section-state",role:"alert"},oa=v((()=>(0,i._)("p",null,"The release schedule couldnât load. Please try again.",-1))),ra=["src","alt","onError"],sa={key:0},na=v((()=>(0,i._)("span",{"aria-hidden":"true"},"â",-1))),la={key:4,class:"fn-empty",role:"status"},da=v((()=>(0,i._)("div",{class:"fn-page-bottom"},[(0,i._)("span",{"aria-hidden":"true"},"â"),(0,i._)("span",null,"MAKE A LITTLE TIME FOR A GOOD STORY.")],-1))),ma={key:0,class:"fn-news"},ca=v((()=>(0,i._)("div",{class:"fn-margin-note fn-news-margin","aria-hidden":"true"},[(0,i._)("span",null,"05"),(0,i._)("span",null,[(0,i.Uk)("IN THE"),(0,i._)("br"),(0,i.Uk)(" MARGINS")]),(0,i._)("i")],-1))),ha=v((()=>(0,i._)("div",{class:"fn-closing-note"},[(0,i._)("span",{"aria-hidden":"true"},"â§"),(0,i._)("p",null,"Hereâs to finding something that stays with you.")],-1)));function ua(e,a,t,o,r,s){const n=(0,i.up)("router-link"),l=(0,i.up)("v-icon"),d=(0,i.up)("HomePopularPick"),m=(0,i.up)("HomeNews"),c=(0,i.up)("HomeFieldNotesFooter");return(0,i.wg)(),(0,i.iD)("div",{class:(0,_.C_)(["home-field-notes",{"home-field-notes--dark":t.model.isDark}]),"data-theme":t.model.isDark?"dark":"light"},[(0,i._)("div",I,[(0,i._)("section",D,[(0,i._)("div",E,[s.imageFailed(s.heroImage)?(0,i.kq)("",!0):((0,i.wg)(),(0,i.iD)("img",{key:0,src:s.heroImage,alt:"",width:"1672",height:"941",fetchpriority:"high",onError:a[0]||(a[0]=e=>s.markImageBroken(s.heroImage))},null,40,S))]),N,(0,i._)("div",T,[C,L,B,(0,i._)("div",F,[(0,i.Wm)(n,{to:t.model.seasonPath,class:"hp-btn",onClick:a[1]||(a[1]=e=>s.navigate("hero_current_season",t.model.seasonPath))},{default:(0,i.w5)((()=>[(0,i.Uk)("Explore the season "),$])),_:1},8,["to"]),(0,i.Wm)(n,{to:"/tracker/",class:"hp-btn fn-tracker-button",onClick:a[2]||(a[2]=e=>s.navigate("hero_tracker","/tracker/"))},{default:(0,i.w5)((()=>[(0,i._)("img",{src:e.chromeLogo,alt:"",width:"20",height:"20"},null,8,x),(0,i.Uk)("Get the Chrome extension "),U])),_:1})]),t.model.isLoggedIn?((0,i.wg)(),(0,i.j4)(n,{key:0,to:"/bookmarks/",class:"fn-subtle-link",onClick:a[3]||(a[3]=e=>s.navigate("hero_bookmarks","/bookmarks/"))},{default:(0,i.w5)((()=>[(0,i.Uk)("Already keeping a list? My bookmarks "),z])),_:1})):((0,i.wg)(),(0,i.iD)("button",{key:1,type:"button",class:"fn-subtle-link",onClick:a[4]||(a[4]=a=>e.$emit("sign-in-bookmarks"))},[(0,i.Uk)("Already keeping a list? My bookmarks "),R]))])]),(0,i._)("section",O,[P,(0,i._)("div",q,[(0,i._)("figure",W,[(0,i._)("img",{src:e.trackerConfirmation,alt:"AnimeBookmark Episode Tracker demonstration: confirming Frieren and episode 7",width:"720",height:"690",loading:"lazy"},null,8,H),M]),(0,i._)("figure",j,[(0,i._)("img",{src:e.trackerDashboard,alt:"AnimeBookmark Episode Tracker demonstration dashboard with Bookmarks, Premium, and six streaming trackers",width:"760",height:"882",loading:"lazy"},null,8,Z),K]),(0,i._)("figure",G,[(0,i._)("img",{src:e.trackerWatching,alt:"AnimeBookmark Episode Tracker demonstration: Frieren with 46 percent unique watch coverage",width:"692",height:"808",loading:"lazy"},null,8,Y),J]),(0,i._)("figure",Q,[(0,i._)("img",{src:e.trackerBookmark,alt:"AnimeBookmark Episode Tracker demonstration: Frieren episode 7 marked watched after final checks",width:"692",height:"808",loading:"lazy"},null,8,V),X])]),(0,i._)("div",ee,[(0,i._)("div",ae,[(0,i._)("img",{src:e.chromeLogo,alt:"Google Chrome",width:"36",height:"36"},null,8,te),ie]),e.chromeWebStoreUrl?((0,i.wg)(),(0,i.iD)("a",{key:0,href:e.chromeWebStoreUrl,class:"fn-download-button",target:"_blank",rel:"noopener noreferrer",onClick:a[5]||(a[5]=a=>s.navigate("tracker_install",e.chromeWebStoreUrl))},[(0,i.Uk)("Add to Chrome "),re],8,oe)):((0,i.wg)(),(0,i.j4)(n,{key:1,to:"/tracker/",class:"fn-text-link",onClick:a[6]||(a[6]=e=>s.navigate("tracker_details","/tracker/"))},{default:(0,i.w5)((()=>[(0,i.Uk)("Explore the Episode Tracker "),se])),_:1}))])]),(0,i._)("section",{class:"fn-index","aria-labelledby":"fn-index-title","aria-busy":Boolean(t.model.seasonLoading)},[le,(0,i._)("div",de,[(0,i._)("div",me,[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(t.model.genres,(a=>((0,i.wg)(),(0,i.iD)("button",{key:a,type:"button",class:(0,_.C_)({"is-active":t.model.selectedGenre===a}),"aria-pressed":t.model.selectedGenre===a,onClick:t=>e.$emit("genre",a)},(0,_.zw)(a),11,ce)))),128))]),(0,i._)("label",he,[ue,(0,i._)("input",{type:"search",value:t.model.query,placeholder:"Find a title in these pages",onInput:a[7]||(a[7]=a=>e.$emit("search",a.target.value))},null,40,ke),pe])]),t.model.bookmarkError?((0,i.wg)(),(0,i.iD)("div",ge,[(0,i._)("p",null,(0,_.zw)(t.model.bookmarkError),1),(0,i._)("button",{type:"button",class:"fn-text-link",onClick:a[8]||(a[8]=a=>e.$emit("retry","bookmarks"))},"Refresh bookmarks")])):t.model.bookmarksLoading?((0,i.wg)(),(0,i.iD)("p",ye,"Checking your saved bookmarksâ¦")):(0,i.kq)("",!0),t.model.seasonLoading?((0,i.wg)(),(0,i.iD)("div",fe,we)):t.model.seasonError?((0,i.wg)(),(0,i.iD)("div",_e,[ve,(0,i._)("button",{type:"button",class:"hp-btn hp-btn--outline",onClick:a[9]||(a[9]=a=>e.$emit("retry","season"))},"Try again")])):s.visibleAnime.length?((0,i.wg)(),(0,i.iD)("div",Ae,[(0,i._)("figure",Ie,[De,(0,i.Wm)(n,{to:s.featuredAnime.path,class:"fn-featured-image",onClick:a[11]||(a[11]=e=>s.navigate("season_featured",s.featuredAnime.path))},{default:(0,i.w5)((()=>[(0,i._)("img",{src:s.imageSource(s.featuredAnime.image),class:(0,_.C_)({"is-image-fallback":s.imageFailed(s.featuredAnime.image)}),alt:s.imageFailed(s.featuredAnime.image)?`${s.featuredAnime.title} â artwork unavailable`:s.featuredAnime.title,width:"300",height:"410",loading:"lazy",onError:a[10]||(a[10]=e=>s.markImageBroken(s.featuredAnime.image))},null,42,Ee)])),_:1},8,["to"]),(0,i._)("figcaption",null,[(0,i._)("div",null,[Se,(0,i.Wm)(n,{to:s.featuredAnime.path,onClick:a[12]||(a[12]=e=>s.navigate("season_featured",s.featuredAnime.path))},{default:(0,i.w5)((()=>
1[(0,i._)("h3",null,(0,_.zw)(s.featuredAnime.title),1)])),_:1},8,["to"]),(0,i._)("p",null,(0,_.zw)(s.animeMetadata(s.featuredAnime)),1)]),(0,i._)("button",{type:"button",class:(0,_.C_)(["fn-save",{"is-saved":s.isSaved(s.featuredAnime.id)}]),disabled:s.isPending(s.featuredAnime.id),"aria-busy":s.isPending(s.featuredAnime.id),"aria-pressed":s.isSaved(s.featuredAnime.id),"aria-label":s.bookmarkLabel(s.featuredAnime),title:s.bookmarkLabel(s.featuredAnime),onClick:a[13]||(a[13]=a=>e.$emit("toggle",s.featuredAnime.id))},[(0,i.Wm)(l,{icon:s.isSaved(s.featuredAnime.id)?e.mdiBookmark:e.mdiBookmarkOutline,size:"24","aria-hidden":"true"},null,8,["icon"])],10,Ne)])]),(0,i._)("div",Te,[Ce,((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(s.visibleAnime.slice(1),((a,t)=>((0,i.wg)(),(0,i.iD)("article",{key:a.id,class:"fn-catalog-entry"},[(0,i._)("span",Le,(0,_.zw)(String(t+2).padStart(2,"0")),1),(0,i.Wm)(n,{to:a.path,class:"fn-entry-image",onClick:e=>s.navigate("season_anime",a.path)},{default:(0,i.w5)((()=>[(0,i._)("img",{src:s.imageSource(a.image),class:(0,_.C_)({"is-image-fallback":s.imageFailed(a.image)}),alt:s.imageFailed(a.image)?`${a.title} â artwork unavailable`:a.title,width:"46",height:"63",loading:"lazy",onError:e=>s.markImageBroken(a.image)},null,42,Be)])),_:2},1032,["to","onClick"]),(0,i._)("div",null,[(0,i.Wm)(n,{to:a.path,onClick:e=>s.navigate("season_anime",a.path)},{default:(0,i.w5)((()=>[(0,i._)("h3",null,(0,_.zw)(a.title),1)])),_:2},1032,["to","onClick"]),(0,i._)("p",null,(0,_.zw)(s.animeMetadata(a)),1)]),(0,i._)("button",{type:"button",class:(0,_.C_)(["fn-save",{"is-saved":s.isSaved(a.id)}]),disabled:s.isPending(a.id),"aria-busy":s.isPending(a.id),"aria-pressed":s.isSaved(a.id),"aria-label":s.bookmarkLabel(a),title:s.bookmarkLabel(a),onClick:t=>e.$emit("toggle",a.id)},[(0,i.Wm)(l,{icon:s.isSaved(a.id)?e.mdiBookmark:e.mdiBookmarkOutline,size:"24","aria-hidden":"true"},null,8,["icon"])],10,Fe)])))),128)),1===s.visibleAnime.length?((0,i.wg)(),(0,i.iD)("div",$e,ze)):(0,i.kq)("",!0),(0,i.Wm)(n,{to:"/discover/",class:"fn-text-link fn-index-more",onClick:a[14]||(a[14]=e=>s.navigate("season_discover","/discover/"))},{default:(0,i.w5)((()=>[(0,i.Uk)("Thereâs more to discover "),Re])),_:1})])])):((0,i.wg)(),(0,i.iD)("div",Oe,[(0,i._)("p",null,(0,_.zw)(t.model.query||"All"!==t.model.selectedGenre?"Nothing in these pages matches yet. Try another title or genre.":"The seasonal index is waiting for its next stories."),1),(0,i.Wm)(n,{to:"/discover/",class:"fn-text-link",onClick:a[15]||(a[15]=e=>s.navigate("season_empty_discover","/discover/"))},{default:(0,i.w5)((()=>[(0,i.Uk)("Explore the catalogue "),Pe])),_:1})]))],8,ne),(0,i._)("section",{class:"fn-week","aria-labelledby":"fn-week-title","aria-busy":Boolean(t.model.releasesLoading)},[(0,i._)("div",We,[He,Me,je,(0,i._)("div",Ze,[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(t.model.days,(a=>((0,i.wg)(),(0,i.iD)("button",{key:a.key,type:"button",class:(0,_.C_)({"is-active":t.model.activeDay===a.key}),"aria-pressed":t.model.activeDay===a.key,onClick:t=>e.$emit("day",a.key)},(0,_.zw)(a.label),11,Ke)))),128))]),(0,i.Wm)(d,{anime:t.model.popularAnime,day:t.model.dayLabel,"spoiler-safe":t.model.spoilerSafe,onNavigate:s.navigate},null,8,["anime","day","spoiler-safe","onNavigate"]),(0,i.Wm)(n,{to:"/releases/",class:"fn-text-link",onClick:a[16]||(a[16]=e=>s.navigate("weekly_releases","/releases/"))},{default:(0,i.w5)((()=>[(0,i.Uk)("See the full schedule "),Ge])),_:1}),Ye]),(0,i._)("div",Je,[(0,i._)("div",Qe,[(0,i._)("span",null,(0,_.zw)(t.model.dayLabel),1),Ve]),t.model.scheduleTimeZone?((0,i.wg)(),(0,i.iD)("p",Xe,"Times shown in "+(0,_.zw)(t.model.scheduleTimeZone),1)):(0,i.kq)("",!0),t.model.releasesLoading?((0,i.wg)(),(0,i.iD)("div",ea,ta)):t.model.releasesError?((0,i.wg)(),(0,i.iD)("div",ia,[oa,(0,i._)("button",{type:"button",class:"hp-btn hp-btn--outline",onClick:a[17]||(a[17]=a=>e.$emit("retry","releases"))},"Try again")])):t.model.releases.length?((0,i.wg)(!0),(0,i.iD)(i.HY,{key:3},(0,i.Ko)(t.model.releases,(e=>((0,i.wg)(),(0,i.j4)(n,{key:e.id,to:e.path,class:"fn-release",onClick:a=>s.navigate("weekly_anime",e.path)},{default:(0,i.w5)((()=>[(0,i._)("time",null,(0,_.zw)(e.time),1),(0,i._)("img",{src:s.imageSource(e.image),class:(0,_.C_)([{"is-image-fallback":s.imageFailed(e.image)},"fn-release-poster"]),alt:s.imageFailed(e.image)?`${e.title} â artwork unavailable`:`${e.title}
1 poster`,width:"54",height:"74",loading:"lazy",decoding:"async",onError:a=>s.markImageBroken(e.image)},null,42,ra),(0,i._)("div",null,[(0,i._)("h3",null,(0,_.zw)(e.title),1),e.episodeLabel?((0,i.wg)(),(0,i.iD)("p",sa,(0,_.zw)(e.episodeLabel),1)):(0,i.kq)("",!0)]),na])),_:2},1032,["to","onClick"])))),128)):((0,i.wg)(),(0,i.iD)("p",la,"A quiet page for "+(0,_.zw)(t.model.dayLabel)+". Try another day for upcoming episodes.",1)),da])],8,qe),t.model.newsEnabled?((0,i.wg)(),(0,i.iD)("div",ma,[ca,(0,i.Wm)(m,{model:t.model,class:"fn-news-page",onRetry:a[18]||(a[18]=a=>e.$emit("retry",a)),onNavigate:s.navigate},null,8,["model","onNavigate"])])):(0,i.kq)("",!0),ha]),(0,i.Wm)(c,{dark:t.model.isDark,"current-season-path":t.model.seasonPath,onNavigate:s.navigate},null,8,["dark","current-season-path","onNavigate"])],10,A)}var ka=t(6526);function pa(e,a,t,o,r,s){const n=(0,i.up)("HomeSiteFooter");return(0,i.wg)(),(0,i.j4)(n,{class:"home-field-notes-footer","current-season-path":t.currentSeasonPath,"is-light-theme":!t.dark,onNavigate:s.notifyNavigation},null,8,["current-season-path","is-light-theme","onNavigate"])}const ga=e=>((0,i.dD)("data-v-05e90eae"),e=e(),(0,i.Cn)(),e),ya={class:"home-site-footer__inner"},fa={class:"home-site-footer__brand"},ba=["src"],wa=ga((()=>(0,i._)("p",null," Browse seasonal anime, follow releases, and find the right watch order without losing your place. ",-1))),_a={class:"home-site-footer__nav","aria-label":"Explore AnimeBookmark"},va=ga((()=>(0,i._)("p",{class:"home-site-footer__heading"},"Explore",-1))),Aa={class:"home-site-footer__contact"},Ia=ga((()=>(0,i._)("p",{class:"home-site-footer__heading"},"Contact",-1))),Da=ga((()=>(0,i._)("span",null,"[email protected]",-1))),Ea=ga((()=>(0,i._)("svg",{class:"home-site-footer__x-logo",viewBox:"0 0 24 24","aria-hidden":"true"},[(0,i._)("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})],-1))),Sa=ga((()=>(0,i._)("span",null,"@AnimeBookmarkHQ",-1))),Na={class:"home-site-footer__bottom"},Ta=ga((()=>(0,i._)("span",null,"Independent anime discovery and tracking tools.",-1)));function Ca(e,a,t,o,r,s){const n=(0,i.up)("router-link"),l=(0,i.up)("v-icon");return(0,i.wg)(),(0,i.iD)("footer",{class:(0,_.C_)(["home-site-footer",{"home-site-footer--light":t.isLightTheme}]),"aria-label":"AnimeBookmark footer"},[(0,i._)("div",ya,[(0,i._)("div",fa,[(0,i.Wm)(n,{to:"/",class:"home-site-footer__logo","aria-label":"AnimeBookmark home",onClick:a[0]||(a[0]=e=>s.notifyNavigation("footer_home","/"))},{default:(0,i.w5)((()=>[(0,i._)("img",{src:s.logoSource,width:"190",height:"47",alt:"AnimeBookmark"},null,8,ba)])),_:1}),wa]),(0,i._)("nav",_a,[va,((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(s.navigationLinks,(e=>((0,i.wg)(),(0,i.j4)(n,{key:e.path,to:e.path,onClick:a=>s.notifyNavigation(e.label,e.path)},{default:(0,i.w5)((()=>[(0,i.Uk)((0,_.zw)(e.text),1)])),_:2},1032,["to","onClick"])))),128))]),(0,i._)("div",Aa,[Ia,(0,i._)("a",{href:"mailto:[email protected]",onClick:a[1]||(a[1]=e=>s.notifyNavigation("footer_support_email","mailto:[email protected]"))},[(0,i.Wm)(l,{icon:r.mdiEmailOutline,size:"18","aria-hidden":"true"},null,8,["icon"]),Da]),(0,i._)("a",{href:"https://x.com/AnimeBookmarkHQ",target:"_blank",rel:"noopener noreferrer",onClick:a[2]||(a[2]=e=>s.notifyNavigation("footer_x_profile","https://x.com/AnimeBookmarkHQ"))},[Ea,Sa,(0,i.Wm)(l,{icon:r.mdiOpenInNew,size:"14","aria-hidden":"true"},null,8,["icon"])])]),(0,i._)("div",Na,[(0,i._)("span",null,"© "+(0,_.zw)(r.currentYear)+" AnimeBookmark",1),Ta])])],2)}var La=t(9899),Ba=t(7421),Fa=t(3334),$a={name:"HomeSiteFooter",props:{currentSeasonPath:{type:String,required:!0},isLightTheme:{type:Boolean,default:!1}},emits:["navigate"],data(){return{currentYear:(new Date).getFullYear(),mdiEmailOutline:ka.VAU,mdiOpenInNew:ka.fOx}},computed:{logoSource(){return this.isLightTheme?Ba:La},navigationLinks(){return[{path:this.currentSeasonPath,text:"Current season",label:"footer_current_season"},{path:"/releases/",text:"Release schedule",label:"footer_releases"},{path:"/watch-order/",text:"Watch order guides",label:"footer_watch_order"},{path:"/tracker/",text:"AnimeBookmark Episode Tracker",label:"footer_tracker"},{path:"/discover/",text:"Discover",label:"footer_discover"},{path:"/archive/",text:"Archive",label:"footer_archive"},...(0,Fa.b_)()?[{path:"/pricing/",text:"Pricing",label:"footer_pricing"},{path:"/terms/",text:"Terms and conditions",label:"footer_terms"},{path:"/refund-policy/",text:"Refund policy",label:"footer_refund_policy"}]:[],{path:"/contact/",text:"Contact support",label:"footer_contact"},{path:"/privacy/",text:"Privacy policy",label:"footer_privacy"}]}},methods:{notifyNavigation(e,a){this.$emit("navigate",e,a)}}},xa=t(89);const Ua=(0,xa.Z)($a,[["render",Ca],["__scopeId","data-v-05e90eae"]]);
1var za=Ua,Ra={name:"HomeFieldNotesFooter",components:{HomeSiteFooter:za},props:{dark:{type:Boolean,default:!1},currentSeasonPath:{type:String,required:!0}},emits:["navigate"],methods:{notifyNavigation(e,a){this.$emit("navigate",e,a)}}};const Oa=(0,xa.Z)(Ra,[["render",pa],["__scopeId","data-v-7d13b846"]]);var Pa=Oa;const qa=e=>((0,i.dD)("data-v-0bad9365"),e=e(),(0,i.Cn)(),e),Wa=["aria-busy"],Ha={class:"home-news-heading"},Ma=qa((()=>(0,i._)("div",null,[(0,i._)("p",{class:"home-news-eyebrow"},"FROM ANIMEBOOKMARK NEWS"),(0,i._)("h2",{id:"home-news-title"},"Beyond the episodes.")],-1))),ja=qa((()=>(0,i._)("span",{"aria-hidden":"true"},"â",-1))),Za=qa((()=>(0,i._)("div",{class:"home-news-introduction"},[(0,i._)("p",null,"A little more from the world of anime.")],-1))),Ka={key:0,class:"home-news-state",role:"status"},Ga=qa((()=>(0,i._)("p",null,"Gathering the latest storiesâ¦",-1))),Ya=[Ga],Ja={key:1,class:"home-news-state",role:"alert"},Qa=qa((()=>(0,i._)("p",null,"The latest news couldnât load. Please try again.",-1))),Va={key:2,class:"home-news-list"},Xa=["src","onError"],et={key:1,class:"home-news-fallback",src:"/pwa-icon-192x192.png",alt:"",width:"32",height:"32"},at={class:"home-news-story-copy"},tt={key:0,class:"home-news-category"},it={key:1,class:"home-news-meta"},ot={key:3,class:"home-news-state",role:"status"};function rt(e,a,t,o,r,s){const n=(0,i.up)("router-link");return t.model.newsEnabled?((0,i.wg)(),(0,i.iD)("section",{key:0,id:"home-news",class:"home-news","aria-labelledby":"home-news-title","aria-busy":Boolean(t.model.newsLoading),tabindex:"-1"},[(0,i._)("header",Ha,[Ma,(0,i.Wm)(n,{to:"/news/",class:"home-news-all",onClick:a[0]||(a[0]=a=>e.$emit("navigate","news_all","/news/"))},{default:(0,i.w5)((()=>[(0,i.Uk)("All news "),ja])),_:1})]),Za,t.model.newsLoading?((0,i.wg)(),(0,i.iD)("div",Ka,Ya)):t.model.newsError?((0,i.wg)(),(0,i.iD)("div",Ja,[Qa,(0,i._)("button",{type:"button",class:"hp-btn hp-btn--outline",onClick:a[1]||(a[1]=a=>e.$emit("retry","news"))},"Try again")])):s.headlines.length?((0,i.wg)(),(0,i.iD)("div",Va,[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(s.headlines,(a=>((0,i.wg)(),(0,i.iD)("article",{key:a.id,class:"home-news-story"},[(0,i.Wm)(n,{to:a.path,class:"home-news-art","aria-label":a.title,onClick:t=>e.$emit("navigate","news_article",a.path)},{default:(0,i.w5)((()=>[a.image&&!e.brokenImages.includes(a.image)?((0,i.wg)(),(0,i.iD)("img",{key:0,src:a.image,alt:"",width:"78",height:"86",loading:"lazy",decoding:"async",onError:e=>s.markImageBroken(a.image)},null,40,Xa)):((0,i.wg)(),(0,i.iD)("img",et))])),_:2},1032,["to","aria-label","onClick"]),(0,i._)("div",at,[a.category?((0,i.wg)(),(0,i.iD)("p",tt,(0,_.zw)(a.category),1)):(0,i.kq)("",!0),(0,i._)("h3",null,[(0,i.Wm)(n,{to:a.path,onClick:t=>e.$emit("navigate","news_article",a.path)},{default:(0,i.w5)((()=>[(0,i.Uk)((0,_.zw)(a.title),1)])),_:2},1032,["to","onClick"])]),a.publishedLabel||a.sourceName?((0,i.wg)(),(0,i.iD)("p",it,(0,_.zw)([a.publishedLabel,a.sourceName].filter(Boolean).join(" · ")),1)):(0,i.kq)("",!0)])])))),128))])):((0,i.wg)(),(0,i.iD)("p",ot,"There are no new stories to share just yet."))],8,Wa)):(0,i.kq)("",!0)}var st={name:"HomeNews",props:{model:{type:Object,required:!0}},emits:["retry","navigate"],data:()=>({brokenImages:[]}),computed:{headlines(){return this.model.news.slice(0,6)}},methods:{markImageBroken(e){this.brokenImages.includes(e)||this.brokenImages.push(e)}}};const nt=(0,xa.Z)(st,[["render",rt],["__scopeId","data-v-0bad9365"]]);var lt=nt;const dt=e=>((0,i.dD)("data-v-5b999513"),e=e(),(0,i.Cn)(),e),mt=["aria-label"],ct=["src"],ht={class:"fn-popular-pick-copy"},ut={class:"fn-popular-pick-label"},kt=dt((()=>(0,i._)("p",{class:"fn-popular-pick-synopsis"},"Synopsis hidden by spoiler-safe mode.",-1))),pt={key:1,class:"fn-popular-pick-synopsis"};function gt(e,a,t,o,r,s){const n=(0,i.up)("router-link");return t.anime?((0,i.wg)(),(0,i.iD)("aside",{key:0,class:"fn-popular-pick","aria-label":s.spotlightLabel},[(0,i.Wm)(n,{to:t.anime.path,class:"fn-popular-pick-poster","aria-label":`Explore ${t.anime.title}`,onClick:a[1]||(a[1]=a=>e.$emit("navigate","weekly_popular_anime",t.anime.path))},{default:(0,i.w5)((()=>[(0,i._)("img",{src:s.posterSource,class:(0,_.C_)({"is-poster-fallback":s.posterFailed}),alt:"",width:"70",height:"98",loading:"lazy",decoding:"async",onError:a[0]||(a[0]=(...e)=>s.markImageBroken&&s.markImageBroken(...e))},null,42,ct)])),_:1},8,["to","aria-label"]),(0,i._)("div",ht,[(0,i._)("p",ut,(0,_.zw)(s.spotlightLabel),
11),(0,i._)("h3",null,[(0,i.Wm)(n,{to:t.anime.path,onClick:a[2]||(a[2]=a=>e.$emit("navigate","weekly_popular_anime",t.anime.path))},{default:(0,i.w5)((()=>[(0,i.Uk)((0,_.zw)(t.anime.title),1)])),_:1},8,["to"])]),s.synopsisHidden?((0,i.wg)(),(0,i.iD)(i.HY,{key:0},[kt,(0,i._)("button",{type:"button",class:"fn-popular-pick-reveal",onClick:a[3]||(a[3]=a=>e.synopsisRevealed=!0)},"Show synopsis")],64)):((0,i.wg)(),(0,i.iD)("p",pt,(0,_.zw)(t.anime.synopsis||"Synopsis unavailable."),1))])],8,mt)):(0,i.kq)("",!0)}var yt={name:"HomePopularPick",props:{anime:{type:Object,default:null},day:{type:String,default:""},spoilerSafe:{type:Boolean,default:!1}},emits:["navigate"],data:()=>({synopsisRevealed:!1,brokenImage:""}),computed:{spotlightLabel(){return this.day?`${this.day} spotlight`:"Daily spotlight"},animeId(){return this.anime?.id},displayImage(){return(0,f.E)(this.anime?.image)},posterFailed(){return!this.displayImage||this.brokenImage===this.displayImage},posterSource(){return this.posterFailed?"/pwa-icon-192x192.png":this.displayImage},synopsisHidden(){return this.spoilerSafe&&!this.synopsisRevealed}},watch:{animeId(){this.synopsisRevealed=!1},day(){this.synopsisRevealed=!1},spoilerSafe(){this.synopsisRevealed=!1}},methods:{markImageBroken(){this.brokenImage=this.displayImage}}};
1const ft=(0,xa.Z)(yt,[["render",gt],["__scopeId","data-v-5b999513"]]);var bt=ft,wt=t(8761),_t=t(3731),vt=t.p+"img/tracker-watching.1db00566.png",At=t.p+"img/tracker-confirmation.eead689e.png",It=t.p+"img/tracker-dashboard.2d4d7d16.webp",Dt=t.p+"img/tracker-bookmark.a6c77474.png",Et={name:"HomeFieldNotes",components:{HomeFieldNotesFooter:Pa,HomeNews:lt,HomePopularPick:bt},props:{model:{type:Object,required:!0}},emits:["toggle","day","genre","search","retry","navigate","sign-in-bookmarks"],data:()=>({mdiBookmark:ka.bSb,mdiBookmarkOutline:ka.cE4,chromeLogo:_t,trackerWatching:vt,trackerConfirmation:At,trackerDashboard:It,trackerBookmark:Dt,chromeWebStoreUrl:(0,wt.p)(),brokenImages:[]}),computed:{heroImage(){return this.model.isDark?this.model.heroDark:this.model.heroLight},visibleAnime(){return this.model.anime.slice(0,8)},featuredAnime(){return this.visibleAnime[0]}},methods:{navigate(e,a){this.$emit("navigate",e,a)},isSaved(e){return this.model.savedIds.includes(e)},isPending(e){return this.model.pendingBookmarkIds.includes(e)},bookmarkLabel(e){return this.isPending(e.id)?`Updating ${e.title} in Bookmarks`:`${this.isSaved(e.id)?"Remove":"Save"} ${e.title} ${this.isSaved(e.id)?"from":"to"} Bookmarks`},animeMetadata(e){return[e.genre||e.genres?.[0],e.episodes?`${e.episodes} episodes`:""].filter(Boolean).join(" · ")},imageFailed(e){return!e||this.brokenImages.includes(e)},imageSource(e){return this.imageFailed(e)?"/pwa-icon-192x192.png":e},markImageBroken(e){e&&!this.brokenImages.includes(e)&&this.brokenImages.push(e)}}};const St=(0,xa.Z)(Et,[["render",ua],["__scopeId","data-v-5e9a5e8c"]]);var Nt=St;const Tt=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"].map((e=>({key:e,label:e.slice(0,3)}))),Ct=()=>{try{return Intl.DateTimeFormat().resolvedOptions().timeZone||"Asia/Tokyo"}catch(e){return"Asia/Tokyo"}},Lt=e=>new Intl.DateTimeFormat("en-US",{weekday:"long",timeZone:e}).format(new Date),Bt=e=>`${e||""}`.normalize("NFKC").toLocaleLowerCase().trim(),Ft=e=>{const a="string"===typeof e?e.replace(/\s+/g," ").trim():"";return a.length<=240?a:`${a.slice(0,239).replace(/\s+\S*$/,"").trimEnd()}â¦`},$t=e=>new Set(e.map(Number).filter((e=>Number.isInteger(e)&&e>0)));var xt={name:"HomeView",components:{HomeFieldNotes:Nt},setup(){const e=(0,u.Gn)(),a=(0,p.d)(),t=(0,g.a)(),o=(0,s.Fg)();return{...(0,r.Jk)(e),...(0,r.Jk)(t),...(0,r.Jk)(a),siteFeatures:a,savedStore:(0,h.r)(),authPrompt:(0,c.W)(),signupFunnel:(0,k.we)(),isDark:(0,i.Fl)((()=>!0===o.global.current.value.dark))}},data(){const e=new Date,a=["winter","spring","summer","fall"][Math.floor(e.getMonth()/3)];return{season:a,year:e.getFullYear(),seasonPath:(0,u.tZ)(e),browserTimeZone:Ct(),seasonAnime:[],releaseAnime:[],newsArticles:[],query:"",selectedGenre:"All",activeDay:"",seasonLoading:!0,releasesLoading:!0,newsLoading:!1,seasonError:"",releasesError:"",newsError:"",bookmarkError:"",bookmarkSaving:!1,bookmarksReady:!1,bookmarksLoading:!1,pendingBookmarkNavigation:!1,requestIds:{season:0,releases:0,news:0,bookmarks:0},disposed:!1}},computed:{accountKey(){return this.isLoggedIn?`${this.currentUser?.id||this.currentUser?._id||this.currentUser?.email||""}`:""},scheduleTimeZone(){return"source"===this.releaseTimeDisplayMode?"Asia/Tokyo":this.browserTimeZone},normalizedSeason(){return this.seasonAnime.map(this.normalizeAnime).filter(Boolean)},selectedDayReleases(){return this.releaseAnime.filter((e=>{const a=(0,b.Eb)(e,this.releaseTimeDisplayMode),t=a.day||e.attributes?.broadcast?.day||"";return`${t}`.replace(/s$/,"")===this.activeDay}))},popularAnime(){if(this.releasesLoading||this.releasesError)return null;const e=new Date,a=(0,b.Pl)(e,this.scheduleTimeZone).find((e=>e.dayKey.replace(/s$/,"")===this.activeDay)),t=a?(0,b.ju)(a.calendarDate,"UTC"):(0,b.ju)(e,this.scheduleTimeZone),i=(0,b.lG)(this.selectedDayReleases,t);return i?this.normalizeAnime(i):null},genres(){const e=new Map;return this.normalizedSeason.forEach((a=>a.genres.forEach((a=>e.set(a,(e.get(a)||0)+1))))),["All",...[...e].sort(((e,a)=>a[1]-e[1]||e[0].localeCompare(a[0]))).slice(0,5).map((([e])=>e))]},filteredAnime(){const e=Bt(this.query);return this.normalizedSeason.filter((a=>(!e||a.search.includes(e))&&("All"===this.selectedGenre||a.genres.includes(this.selectedGenre))))},selectedReleases(){return this.selectedDayReleases.map((e=>{const a=this.normalizeAnime(e);
1if(!a)return null;const t=(0,b.Eb)(e,this.releaseTimeDisplayMode);return{...a,time:`${t.time||""}`.trim()||"TBA",episodeLabel:""}})).filter(Boolean).slice(0,4)},homeModel(){return{isDark:this.isDark,isLoggedIn:this.isLoggedIn,heroLight:l,heroDark:n,seasonPath:this.seasonPath,popularAnime:this.popularAnime,spoilerSafe:this.spoilerSafeMode,anime:this.filteredAnime,query:this.query,selectedGenre:this.selectedGenre,genres:this.genres,savedIds:this.isLoggedIn?[...this.savedStore.bookmarkData]:[],pendingBookmarkIds:!this.isLoggedIn||!this.bookmarkSaving&&this.bookmarksReady?[]:this.normalizedSeason.map((e=>e.id)),bookmarkError:this.bookmarkError,bookmarksLoading:this.bookmarksLoading,seasonLoading:this.seasonLoading,seasonError:this.seasonError,days:Tt,activeDay:this.activeDay,dayLabel:this.activeDay,scheduleTimeZone:this.scheduleTimeZone,releases:this.selectedReleases,releasesLoading:this.releasesLoading,releasesError:this.releasesError,newsEnabled:this.newsEnabled,newsLoading:this.newsLoading,newsError:this.newsError,news:this.newsArticles.map((e=>({...e,image:e.imageUrl,category:"Anime news",publishedLabel:e.compactDateLabel,sourceName:e.author})))}}},watch:{accountKey:{immediate:!0,handler(e){this.loadBookmarks(),e&&this.pendingBookmarkNavigation&&(this.pendingBookmarkNavigation=!1,this.$router.push("/bookmarks/"))}},"authPrompt.dialogOpen"(e){e||this.isLoggedIn||(this.pendingBookmarkNavigation=!1)},scheduleTimeZone(){this.activeDay=Lt(this.scheduleTimeZone),this.loadReleases()},newsEnabled(e){e?this.loadNews():(this.requestIds.news+=1,this.newsArticles=[],this.newsLoading=!1,this.newsError="")}},mounted(){this.activeDay=Lt(this.scheduleTimeZone),this.loadSeason(),this.loadReleases(),this.newsEnabled&&this.loadNews(),this.siteFeatures.ensureLoaded(),(0,m.cB)({eventName:"home_view",pagePath:this.$route.path})},beforeUnmount(){this.disposed=!0,Object.keys(this.requestIds).forEach((e=>{this.requestIds[e]+=1}))},methods:{signInForBookmarks(){this.trackNavigation("hero_bookmarks","/bookmarks/"),this.pendingBookmarkNavigation=!0,this.authPrompt.openLoginDialog({stayOnCurrentRouteOnLogin:!0})},normalizeAnime(e={}){const a=Number(e.id??e.attributes?.malId),t=(0,y.KK)(e);if(!Number.isInteger(a)||a<=0||!t||"Untitled"===t)return null;const i=e.attributes||{},o=i.posterImage||{},r=[...new Set((Array.isArray(i.genres)?i.genres:[]).map((e=>`${"string"===typeof e?e:e?.name||""}`.trim())).filter(Boolean))],s=Number(i.episodes),n=(0,y.JS)(e,this.animeTitlePreference);return{id:a,title:n,genres:r,genre:r.slice(0,2).join(" / "),episodes:Number.isInteger(s)&&s>0?s:null,synopsis:Ft(i.description),image:(0,f.E)(o.large)||(0,f.E)(o.medium)||(0,f.E)(o.small),path:(0,y.Mf)({animeId:a,title:t,section:this.overviewTab}),search:Bt([n,t,...Object.values(i.titles||{}),...Object.values(e.titles||{})].join(" "))}},async loadSection(e,a,t,i){const o=++this.requestIds[e];this[`${e}Loading`]=!0,this[`${e}Error`]="";try{const i=await a();this.disposed||o!==this.requestIds[e]||t(i)}catch(r){this.disposed||o!==this.requestIds[e]||(this[`${e}Error`]=i)}finally{this.disposed||o!==this.requestIds[e]||(this[`${e}Loading`]=!1)}},loadSeason(){return this.loadSection("season",(()=>(0,d.Ml)({season:this.season,year:this.year,limit:36,offset:0})),(e=>{this.seasonAnime=Array.isArray(e)?e:[]}),"The seasonal selection could not be loaded.")},loadReleases(){return this.loadSection("releases",(()=>(0,d.Ml)({limit:500,offset:0,status:"Currently Airing",airing:!0,sort:"broadcast",timeZone:this.scheduleTimeZone})),(e=>{this.releaseAnime=Array.isArray(e)?e:[]}),"The release schedule could not be loaded.")},loadNews(){if(this.newsEnabled)return this.loadSection("news",(()=>(0,d.Cc)({limit:6})),(e=>{this.newsArticles=(Array.isArray(e?.items)?e.items:[]).map(w.Zc).filter((e=>e.id&&e.path)).slice(0,6)}),"The latest news could not be loaded.")},retrySection(e){"season"===e&&this.loadSeason(),"releases"===e&&this.loadReleases(),"news"===e&&this.loadNews(),"bookmarks"===e&&this.loadBookmarks()},async loadBookmarks(){const e=++this.requestIds.bookmarks,a=this.accountKey;if(this.bookmarkError="",this.bookmarkSaving=!1,this.bookmarksReady=!1,this.bookmarksLoading=Boolean(a),this.savedStore.notifyReplaceBookmarks(new Set),a)try{const t=await(0,d.v5)();if(!Array.isArray(t?.anime))throw new Error("Missing bookmark membership");this.disposed||e!==this.requestIds.bookmarks||a!==this.accountKey||(this.savedStore.notifyReplaceBookmarks($t(t.anime)),this.bookmarksReady=!0)}catch(t){this.disposed||e!==this.requestIds.bookmarks||a!==this.accountKey||(this.bookmarkError="Your saved bookmarks could not be loaded. Refresh them to enable saving.")}finally{this.disposed||e!==this.requestIds.bookmarks||a!==this.accountKey||(this.bookmarksLoading=!1)}},async toggleBookmark(e){if(this.bookmarkSaving)return;if(!this.isLoggedIn)return void(this.signupFunnel.requestPrompt("bookmark")||this.authPrompt.openBookmarkDialog());if(!this.bookmarksReady)return;const a=this.accountKey,t=++this.requestIds.bookmarks;this.bookmarkSaving=!0,this.bookmarkError="";try{const i=await(0,d.Cy)({anime_id:e});if(!Array.isArray(i?.data?.results))throw new Error("Missing bookmark result");this.disposed||t!==this.requestIds.bookmarks||a!==this.accountKey||this.savedStore.notifyReplaceBookmarks($t(i.data.results))}catch(i){this.disposed||t!==this.requestIds.bookmarks||a!==this.accountKey||(this.bookmarksReady=!1,this.bookmarkError="We could not confirm this change. Refresh your bookmarks to check before trying again.")}finally{this.disposed||t!==this.requestIds.bookmarks||a!==this.accountKey||(this.bookmarkSaving=!1)}},trackNavigation(e,a){(0,m.cB)({eventName:"home_cta_click",pagePath:this.$route.path,properties:{label:e,targetPath:a}})}}};const Ut=(0,xa.Z)(xt,[["render",o]]);var zt=Ut},3731:function(e,a,t){e.exports=t.p+"img/google-chrome.c00ccd4f.svg"}}]); 2//# sourceMappingURL=home.0263ffad.js.map
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.