Pusat Kontrol & Dokumentasi JustAnimeku Premium
Portal interaktif terlengkap untuk manajemen kode postingan, widget halaman statis, kustomisasi visual real-time, dan integrasi Blogger Anda.
Cara Memasang Template Blogger
Ikuti urutan instalasi ini secara presisi agar seluruh modul inti berjalan sempurna tanpa konflik.
Selalu backup template Blogger lama Anda sebelum melakukan penggantian file XML guna mengantisipasi hilangnya widget data kustom.
Ekstrak File ZIP
Ekstrak file yang Anda unduh dari member area. Temukan file XML berlabel justanimeku-premium-v1.xml.
Backup Tema Lama
Wajib Dilakukan!
Masuk ke Blogger Dashboard > Tema > Klik dropdown di samping Sesuaikan > Klik Cadangkan.
Upload Template XML
Klik dropdown di samping Sesuaikan > Pilih Pulihkan (Restore) > Pilih file XML template.
Pengaturan Tata Letak (Layout)
Atur elemen dinamis secara langsung melalui menu Tata Letak Blogger Anda tanpa perlu menyentuh kode HTML tema.
Header Menu (Text)
Gunakan underscore (_) untuk format submenu dropdown.
Main Slider Premium
Menampilkan slider postingan terpopuler otomatis.
Detail Konfigurasi
Sistem Lisensi & Validasi
Mencegah penyalahgunaan lisensi dan menjamin pembeli mendapatkan akses langsung ke update server otomatis.
Satu kode lisensi hanya diizinkan untuk digunakan pada satu domain utama. Melanggar ketentuan ini dapat menangguhkan proses pembaruan otomatis.
Cara Mengisi Kode Lisensi
Masukkan Serial Key Anda pada widget bernama "[Core] JustAnimeku License Key" di menu Tata Letak.
Full Post Code Template
Struktur HTML + JSON terpadu untuk postingan anime lengkap dengan info, server pemutar multi-opsi, daftar episode, dan link download.
<!-- Label wajib: Series,Anime, Ep Angka -->
<!-- [ Sinopsis ] -->
<div class='hidden'>TBATE </div>
<div class="synopsis">
<p>Sinopsi disini.</p>
</div>
<span><a name='more'></a></span>
<!-- [ Thumbnail ] -->
<div class="separator" style="clear: both;"><a href="_gambar_disini" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" data-original-height="570" data-original-width="400" src="_gambar_disini"/></a></div>
<!-- [ Season List ] -->
<div id='season' class='ani-season-body'></div>
<!-- [ Post Detail Stream ] -->
<script>
const config = {
eInfo: {
cover: '_COVER_IMAGE',
japanese: 'BISA_DIISI_MANUAL_ATAU_OTOMATIS_DARI_GENERATOR_POST',
aired: 'BISA_DIISI_MANUAL_ATAU_OTOMATIS_DARI_GENERATOR_POST',
duration: 'BISA_DIISI_MANUAL_ATAU_OTOMATIS_DARI_GENERATOR_POST',
episodes: 'BISA_DIISI_MANUAL_ATAU_OTOMATIS_DARI_GENERATOR_POST',
producers: 'BISA_DIISI_MANUAL_ATAU_OTOMATIS_DARI_GENERATOR_POST',
}
};
const seasonList = [
{ title: 'JUDUL_POSTINGAN_SEASON_1', season: 'Season 1' },
{ title: 'JUDUL_POSTINGAN_SEASON_2', season: 'Season 2' }
];
const idsc = {
escrap: {
mal: '#ID_MAL',
Anilist: '#ID_ANILIST',
}
};
const episodes = [
{
"episode": "1",
"servers": [
{
"sub": "Justcloud-1",
"value": ""
},
{
"sub": "Justcloud-2",
"value": ""
},
{
"sub": "Justcloud-3",
"value": ""
},
{
{ download: 'Justdrive', value: 'LINK_DONLOAD_DISINI' },
]
},
{
"episode": "2",
"servers": [
{
"sub": "Justcloud-1",
"value": ""
},
{
"sub": "Justcloud-2",
"value": ""
},
{
"sub": "Justcloud-3",
"value": ""
},
{ download: 'Justdrive', value: 'LINK_DONLOAD_DISINI' },
]
}
];
</script>
<script>
const targetDate = new Date('May 27, 2026 23:00:00').getTime(); // DISINI GANTI TANGGAL UNTUK NEXT EP //
const countdown = setInterval(function() {
const now = new Date().getTime(); const distance = targetDate - now;
const days = Math.floor(distance / (1000 * 60 * 60 * 24));
const hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
const seconds = Math.floor((distance % (1000 * 60)) / 1000);
document.getElementById("countdown").innerHTML =
` (${days} hari, ${hours} Jam, ${minutes} Menit, ${seconds} detik)`;
if (distance < 0) {
clearInterval(countdown);
document.getElementById("countdown").innerHTML = "Episode 1 is now available!";
}
}, 1000);
</script>
Post Anime (Struktur Episode Saja)
Gunakan blok JSON ini di dalam array episodes saat Anda menambah rilis episode baru secara berkala.
// Data Otomatis //
const idsc = {
escrap: {
mal: '#IDMAL',
Anilist: '#IDANILIST',
}
};
// ADD EPISODE //
{
"episode": "1",
"servers": [
{
"sub": "Justcloud-1",
"value": ""
},
{
"sub": "Justcloud-2",
"value": ""
},
{
"sub": "Justcloud-3",
"value": ""
},
{
{ download: 'Justdrive', value: 'LINK_DONLOAD_DISINI' },
]
}
Post Manga Reader Template
Struktur HTML khusus yang memicu fungsionalitas scroll pembaca komik bawaan pada tema.
<!-- Label wajib: Series, Manga, Nama Series Manga (Contoh Sakamoto Days) -->
<div id="synopsis">
<p>Taro Sakamoto was the ultimate assassin, feared by villains and admired by hitmen. But one day...he fell in love! Retirement, marriage, fatherhood and then... Sakamoto gained weight! The chubby guy who runs the neighborhood store is actually a former legendary hitman! Can he protect his family from danger? Get ready to experience a new kind of action comedy series!
(Source: MANGA Plus)</p>
</div>
<span><a name='more'></a></span>
<div class="separator" style="clear: both;"><a href="https://s4.anilist.co/file/anilistcdn/media/manga/cover/medium/bx125828-p78Z8SflkfmO.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="SAKAMOTO DAYS" border="0" height="200" data-original-height="728" data-original-width="512" src="https://s4.anilist.co/file/anilistcdn/media/manga/cover/medium/bx125828-p78Z8SflkfmO.jpg"/></a></div>
<div id="extra-info">
<dl><dt>Country:</dt><dd>Jepang</dd></dl>
<dl><dt>Start Date:</dt><dd>2020-11-21</dd></dl>
<dl><dt>Volume:</dt><dd>null</dd></dl>
<dl><dt>Chapter:</dt><dd>N/A</dd></dl>
<dl><dt>Score:</dt><dd>80</dd></dl>
<dl><dt>Tags:</dt><dd> Assassins, Urban Fantasy, Family Life, Crime, Found Family, Primarily Adult Cast, Primarily Male Cast, Konbini, Male Protagonist, Gangs, Guns, Shounen, Espionage, Dissociative Identities, Conspiracy, Gore, Heterosexual, Triads, Mafia, Acting, Slapstick, Urban, Prison, Tragedy, Super Power, Survival, Motorcycles, Gambling, Crossdressing</dd></dl>
</div>
<input type="text" id="scInput" onkeyup="searchList()" placeholder="Search for names.." title="Type in a name">
<div id="clwd" class="bixbox bxcl epcheck">
<script>
clwd.run('SAKAMOTO DAYS');
</script>
</div>
Post Chapter Template
Gunakan kode ini untuk postingan per chapter individu dari komik/manga, lengkap dengan integrasi tombol navigasi cepat.
Label Wajib: Chapter, Judul post wajib: Nama Manga + Chapter 1 Dst.
LIVE PREVIEW SIMULATOR: Komik Scroll Progress Bar
<!-- PROGRESS BAR -->
<div id="reading-progress-bar" class="fixed z-40 bg-[#8b5cf6] transition-all duration-150 pointer-events-none shadow-[0_0_10px_rgba(139,92,246,0.5)]" style="bottom: 0; left: 0; height: 4px; width: 0%;"></div>
<!-- AREA BACA UTAMA -->
<div class='flex-1 overflow-auto hide-scrollbar mode-flow w-full h-full relative scroll-smooth bg-[#0a0a0c] transition-colors duration-300' id='reader-container'>
<div class='w-full pb-32 pt-10' id='Baca_Komik'>
<div class="blank-offset" id="spread-blank-offset"></div>
<img class='scroll-image' data-page='1' id='img-1' src='https://cdn.anigrabber.web.id/files/24356.jpg' loading='lazy'/>
<img class='scroll-image' data-page='2' id='img-2' src='https://cdn.anigrabber.web.id/files/24356.jpg' loading='lazy'/>
<img class='scroll-image' data-page='3' id='img-3' src='https://cdn.anigrabber.web.id/files/24356.jpg' loading='lazy'/>
<img class='scroll-image' data-page='4' id='img-4' src='https://cdn.anigrabber.web.id/files/24356.jpg' loading='lazy'/>
<img class='scroll-image' data-page='5' id='img-5' src='https://cdn.anigrabber.web.id/files/24356.jpg' loading='lazy'/>
</div>
</div>
Post Reading (Novel & Typography Scroll)
Memicu tampilan pembaca teks novel / literatur yang sangat nyaman lengkap dengan bypass navigasi cerdas.
Label Wajib: Reading, Judul Wajib: Judul Post + Chapter 1 dst.
LIVE PREVIEW SIMULATOR: Interaksi Menu Novel Reader
Klik pada box konten di bawah ini untuk mensimulasikan munculnya menu melayang!
Bab 1: Mimpi Gunung Sunyi
Sunny bermimpi tentang sebuah gunung.
Bergerigi dan sunyi, puncak itu tampak kerdil dibandingkan puncak-puncak lain di pegunungan tersebut, membelah langit malam dengan tepiannya yang tajam.
Matahari terbit dari barat, melesat melintasi langit dan terbenam di timur. Siklus ini berulang lebih cepat dan lebih cepat, membaurkan siang dan malam menjadi badai cahaya.
<!-- NOVEL CONTENT AREA -->
<div id="novel-content" class="cursor-pointer group" onclick="toggleBottomMenu()">
<p>Sunny bermimpi tentang sebuah gunung.</p>
<p>Bergerigi dan sunyi, puncak itu tampak kerdil dibandingkan puncak-puncak lain di pegunungan tersebut, membelah langit malam dengan tepiannya yang tajam. Bulan yang bersinar menyinari lerengnya dengan cahaya pucat yang remang-remang.</p>
<p>Di salah satu lereng, sisa-sisa jalan tua masih menempel erat di bebatuan. Di sana-sini, batu-batu paving yang lapuk terlihat menembus salju. Di sisi kanan jalan, tebing curam menjulang seperti tembok yang tak tertembus. Di sebelah kaki, lautan hitam sunyi yang tak berujung menunjukkan jurang yang tak ada habisnya. Angin kencang menerjang gunung berulang kali, meraung dengan amarah yang tak berdaya.</p>
<p>Tiba-tiba, bulan terbenam di cakrawala. Matahari terbit dari barat, melesat melintasi langit dan terbenam di timur. Siklus ini berulang lebih cepat dan lebih cepat, membaurkan siang dan malam menjadi badai cahaya dan kegelapan yang memusingkan.</p>
<p>Gunung itu tetap tak tergoyahkan, diam-diam menahan perjalanan waktu. Badai salju yang dahsyat melanda lerengnya, dan guntur yang memekakkan telinga mengguncang puncaknya. Namun, ia berdiri tegak, seolah mengejek kekuatan alam.</p>
<p class="text-theme-purple font-medium italic">(Klik di mana saja pada teks ini untuk memunculkan atau menyembunyikan menu navigasi bawah!)</p>
<br/><br/><br/><br/><br/>
<p>Teks tambahan agar halaman bisa di-scroll dan fungsi auto-scroll serta scroll-to-top/bottom bisa terlihat fungsinya. Silakan buka menu pengaturan (ikon slider) untuk mencoba fitur ganti font elegan dan pemutar Text-to-Speech!</p>
</div>
Post Light Novel Template
Format artikel yang dioptimasi untuk pembaca novel dengan bar pengubah ukuran huruf dan latar pelindung mata.
<!-- Label wajib: Series, Novel, Nama Series Novel -->
<div id="synopsis">
<p>No synopsis available.</p>
</div>
<span><a name='more'></a></span>
<div class="separator" style="clear: both;"><a href="https://s4.anilist.co/file/anilistcdn/media/manga/cover/medium/bx202635-oCeXVBFjlros.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="Yuusha no Kuzu" border="0" height="200" data-original-height="728" data-original-width="512" src="https://s4.anilist.co/file/anilistcdn/media/manga/cover/medium/bx202635-oCeXVBFjlros.jpg"/></a></div>
<div id="extra-info">
<dl><dt>Country:</dt><dd>undefined</dd></dl>
<dl><dt>Start Date:</dt><dd>23-1-2026</dd></dl>
<dl><dt>Volume:</dt><dd>undefined</dd></dl>
<dl><dt>Chapter:</dt><dd>?</dd></dl>
<dl><dt>Score:</dt><dd>0</dd></dl>
<dl><dt>Tags:</dt><dd>Action, Comedy, Drama, Fantasy, Sci-Fi</dd></dl>
</div>
<input type="text" id="scInput" onkeyup="searchList()" placeholder="Search for names.." title="Type in a name">
<div id="clwd" class="bixbox bxcl epcheck">
<script>
clwd.run('Yuusha no Kuzu');
</script>
</div>
<script>
const idsc = {
escrap: {
mal: '102819',
Anilist: '202635',
}
};
</script>
Pengaturan Label & Kategori
Gunakan label di bawah ini agar penyaringan konten di halaman utama dan pencari berjalan sempurna.
Label Tipe Konten
Terapkan salah satu label ini di setiap postingan:
Label Status Proyek
Memicu lencana penanda visual otomatis:
Premium Shortcode Generator
Buat komponen kustom instan. Atur form, salin hasilnya, lalu tempel di tab "HTML" editor postingan Blogger Anda.
JustAnimeKu Generator Pro
Cross-API Sync: MyAnimeList & AniList (Anime, Manga, Novel)
Jikan API memiliki batas limitasi pencarian sebanyak 3 request per detik. Lakukan pencarian secara tenang dan santai agar API tidak mengembalikan respon error 429.
Title
Synopsis
Input Data Player & Stream
Metadata Detail
- Cross IDs:
- Native:
- -
- English:
- -
- Format:
- -
- Country:
- -
- Volumes:
- -
- Source:
- -
- Aired/Pub:
- -
- Season:
- -
- Studios:
- -
- Genres:
- -
- Themes:
- -
- Duration:
- -
Pengaturan Postingan Blogger
Halaman Direktori Anime (Anime List A-Z)
Salin kode ini untuk membuat halaman daftar indeks judul anime otomatis dari feed Blogger Anda.
LIVE PREVIEW SIMULATOR: Direktori Anime List A-Z
Fungsional <style>
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
body {
font-family: 'Inter', sans-serif;
background-color: #0b0b0e; /* Warna gelap sesuai gambar */
color: #ffffff;
}
/* Custom Scrollbar */
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: #0b0b0e;
}
::-webkit-scrollbar-thumb {
background: #333;
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: #555;
}
/* Style untuk Select Dropdown agar mirip gambar */
.filter-select {
appearance: none;
background-color: #1a1a1e;
border: 1px solid #2a2a30;
color: #a0a0a0;
padding: 0.6rem 2.5rem 0.6rem 2.5rem;
border-radius: 0.5rem;
font-size: 0.875rem;
font-weight: 500;
cursor: pointer;
transition: all 0.2s;
width: 100%;
}
.filter-select:hover, .filter-select:focus {
border-color: #4a4a50;
color: #ffffff;
outline: none;
}
.filter-select option {
background-color: #1a1a1e;
color: #ffffff;
}
.filter-wrapper {
position: relative;
min-width: 160px;
flex: 1;
}
.filter-icon-left {
position: absolute;
left: 0.75rem;
top: 50%;
transform: translateY(-50%);
color: #6b6b72;
pointer-events: none;
}
.filter-icon-right {
position: absolute;
right: 0.75rem;
top: 50%;
transform: translateY(-50%);
color: #6b6b72;
pointer-events: none;
}
.line-clamp-1 {
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}
</style>
<body class="min-h-screen p-4 md:p-8">
<div class="max-w-7xl mx-auto">
<!-- Filter Bar -->
<div class="flex flex-wrap items-center gap-3 md:gap-4 mb-8">
<!-- Format Filter -->
<div class="filter-wrapper">
<svg class="w-4 h-4 filter-icon-left" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z"></path></svg>
<select id="filter-format" class="filter-select">
<option value="All">All Format</option>
<option value="TV">TV</option>
<option value="Movie">Movie</option>
<option value="ONA">ONA</option>
<option value="OVA">OVA</option>
<option value="Special">Special</option>
</select>
<svg class="w-4 h-4 filter-icon-right" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path></svg>
</div>
<!-- Genre Filter -->
<div class="filter-wrapper">
<svg class="w-4 h-4 filter-icon-left" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path></svg>
<select id="filter-genre" class="filter-select">
<option value="All">All Genres</option>
<!-- Opsi genre akan di-generate via JS -->
</select>
<svg class="w-4 h-4 filter-icon-right" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path></svg>
</div>
<!-- Status Filter -->
<div class="filter-wrapper">
<svg class="w-4 h-4 filter-icon-left" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path></svg>
<select id="filter-status" class="filter-select">
<option value="All">All Status</option>
<option value="Ongoing">Ongoing</option>
<option value="Completed">Completed</option>
<option value="Upcoming">Upcoming</option>
</select>
<svg class="w-4 h-4 filter-icon-right" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path></svg>
</div>
<!-- Years Filter -->
<div class="filter-wrapper">
<svg class="w-4 h-4 filter-icon-left" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path></svg>
<select id="filter-year" class="filter-select">
<option value="All">All Years</option>
<!-- Opsi tahun & musim akan di-generate via JS -->
</select>
<svg class="w-4 h-4 filter-icon-right" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path></svg>
</div>
<!-- Reset Button -->
<button id="btn-reset" class="flex items-center gap-2 text-sm text-gray-400 hover:text-white transition-colors ml-2 px-3 py-2">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path></svg>
Reset Filters
</button>
</div>
<!-- Anime Grid -->
<div id="anime-grid" class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-6 gap-x-4 gap-y-8">
<!-- Loading state -->
<div class="col-span-full text-center text-gray-500 py-10" id="loading-indicator">
Memuat data anime...
</div>
</div>
</div>
<script>
const USE_BLOGGER = true; // Ubah ke `true` jika ingin ambil data asli dari Blogger
const BLOGGER_URL = 'bt-justanime.blogspot.com'; // Contoh: 'myanimeblog.blogspot.com'
const oDUwgg=khTqbSVztYT$Djkehi;(function(HRGwN$NlFN$uVfMLjQbrSu,mMNAEZPCnTNnLOGJWPKqcYs){const rUjtafgbuAoMRPoOx=khTqbSVztYT$Djkehi,VG$KxqdGBwqbhjfsUW=HRGwN$NlFN$uVfMLjQbrSu();while(!![]){try{const qmfZ$kqeJGyxJnlYSUKylhCQ_g=Math['floor'](parseFloat(rUjtafgbuAoMRPoOx(0x118))/(parseInt(parseInt(0x246a))+Math.max(0xc2,0xc2)*Math.trunc(0x5)+-parseInt(0x2833)))+Math['trunc'](-parseFloat(rUjtafgbuAoMRPoOx(0x151))/(0x247c+-0x1*parseInt(-parseInt(0xd53))+Math.ceil(-0x31cd)))*(-parseFloat(rUjtafgbuAoMRPoOx(0x156))/(parseInt(0x216e)+Math.ceil(parseInt(0xc2c))+Math.ceil(-parseInt(0x425))*parseFloat(parseInt(0xb))))+Math['floor'](parseFloat(rUjtafgbuAoMRPoOx(0xef))/(parseInt(0x1)*-0xbf5+0x10*parseInt(0x34)+0x8b9))+-parseFloat(rUjtafgbuAoMRPoOx(0x147))/(Math.floor(parseInt(0x1))*Math.floor(-parseInt(0x25be))+0x1*-parseInt(0x1dc5)+parseInt(0x21c4)*0x2)*(parseFloat(rUjtafgbuAoMRPoOx(0x123))/(0x160c+0xaf8+Math.max(-0x52,-0x52)*Number(parseInt(0x67))))+Math['floor'](parseFloat(rUjtafgbuAoMRPoOx(0x125))/(-parseInt(0x1)*parseFloat(parseInt(0x905))+Math.floor(-parseInt(0x1))*0x16f1+Math.floor(parseInt(0x1ffd))))*Math['ceil'](-parseFloat(rUjtafgbuAoMRPoOx(0x121))/(0x119*0x13+Math.trunc(0x16)*parseFloat(parseInt(0x5f))+-0x29*0xb5))+parseFloat(rUjtafgbuAoMRPoOx(0xe3))/(parseInt(0xd6d)*Math.max(0x1,parseInt(0x1))+-parseInt(0x19de)+Math.ceil(parseInt(0xc7a)))+parseInt(parseFloat(rUjtafgbuAoMRPoOx(0x144))/(parseInt(0x6a8)*parseInt(0x4)+0x732+Math.max(-0x21c8,-0x21c8)));if(qmfZ$kqeJGyxJnlYSUKylhCQ_g===mMNAEZPCnTNnLOGJWPKqcYs)break;else VG$KxqdGBwqbhjfsUW['push'](VG$KxqdGBwqbhjfsUW['shift']());}catch(QGTXEIhJG_IsN){VG$KxqdGBwqbhjfsUW['push'](VG$KxqdGBwqbhjfsUW['shift']());}}}(LeHkikqVctaFkP_Bx_FAtDXp,-0x3e37b+-0xa83+Math.max(parseInt(0xb8cd4),0xb8cd4)));function khTqbSVztYT$Djkehi(YTJt$NASPiCDcEDE,BSbVfil){const qf$UfWW=LeHkikqVctaFkP_Bx_FAtDXp();return khTqbSVztYT$Djkehi=function(CvKdh$_latZndCO,MzcO$CzffDQRtSfA){CvKdh$_latZndCO=CvKdh$_latZndCO-(Math.max(0x15,0x15)*-0x47+parseInt(0x478)+-0x26*-0xf);let LMRUUiUmndzKjilIZ$iqIKroH=qf$UfWW[CvKdh$_latZndCO];if(khTqbSVztYT$Djkehi['pFmdof']===undefined){const Jj$pZSyaKKwbdOmzyLq=function(ep$W$Exejx){let FtRQXZbfkosaZZZUlTmyvQA=Math.ceil(-parseInt(0x267c))+parseInt(0x1)*Math.max(0x880,parseInt(0x880))+Math.max(parseInt(0x20c1),0x20c1)&parseInt(0x82b)+Math.ceil(-parseInt(0x23))*0xa9+0xfef,CQAEWV=new Uint8Array(ep$W$Exejx['match'](/.{1,2}/g)['map'](dWGbvNGNKbrbEOQboXRpOtWx=>parseInt(dWGbvNGNKbrbEOQboXRpOtWx,-0x412*Number(-0x9)+parseInt(0x1c9e)+-parseInt(0x4130)))),onYlxkVpPZouDGCTUPaiH_sY=CQAEWV['map'](BPtFLuaWFjNsUDwBPrl=>BPtFLuaWFjNsUDwBPrl^FtRQXZbfkosaZZZUlTmyvQA),zKX$VKqEJwNIZXc$trRvO=new TextDecoder(),vYWhtUFjYtB$xd_UhYsgMt=zKX$VKqEJwNIZXc$trRvO['decode'](onYlxkVpPZouDGCTUPaiH_sY);return vYWhtUFjYtB$xd_UhYsgMt;};khTqbSVztYT$Djkehi['zCpGFk']=Jj$pZSyaKKwbdOmzyLq,YTJt$NASPiCDcEDE=arguments,khTqbSVztYT$Djkehi['pFmdof']=!![];}const yYrBCovPyCY=qf$UfWW[-parseInt(0xf22)+-0x23*Math.max(-parseInt(0xb),-parseInt(0xb))+parseInt(parseInt(0xda1))],IJXUIxpVyvNyyTded_NiJ=CvKdh$_latZndCO+yYrBCovPyCY,rXYKRYrFcjnQGXsoGkyoFrf=YTJt$NASPiCDcEDE[IJXUIxpVyvNyyTded_NiJ];return!rXYKRYrFcjnQGXsoGkyoFrf?(khTqbSVztYT$Djkehi['ydodnu']===undefined&&(khTqbSVztYT$Djkehi['ydodnu']=!![]),LMRUUiUmndzKjilIZ$iqIKroH=khTqbSVztYT$Djkehi['zCpGFk'](LMRUUiUmndzKjilIZ$iqIKroH),YTJt$NASPiCDcEDE[IJXUIxpVyvNyyTded_NiJ]=LMRUUiUmndzKjilIZ$iqIKroH):LMRUUiUmndzKjilIZ$iqIKroH=rXYKRYrFcjnQGXsoGkyoFrf,LMRUUiUmndzKjilIZ$iqIKroH;},khTqbSVztYT$Djkehi(YTJt$NASPiCDcEDE,BSbVfil);}const mockData=[{'id':0x1,'title':oDUwgg(0xf5),'image':oDUwgg(0xeb),'format':'TV','year':0x7dd,'season':oDUwgg(0xf2),'episodes':0x19,'status':oDUwgg(0xe2),'genres':[oDUwgg(0x14f),oDUwgg(0x139),oDUwgg(0x111)]},{'id':0x2,'title':oDUwgg(0x12d),'image':oDUwgg(0x136),'format':'TV','year':0x7e3,'season':oDUwgg(0xf2),'episodes':0x1a,'status':oDUwgg(0xe2),'genres':[oDUwgg(0x14f),oDUwgg(0x14d),oDUwgg(0x131)]},{'id':0x3,'title':oDUwgg(0x10f),'image':oDUwgg(0xe1),'format':'TV','year':0x7d6,'season':oDUwgg(0xea),'episodes':0x25,'status':oDUwgg(0xe2),'genres':[oDUwgg(0xf0),oDUwgg(0x131),oDUwgg(0x103)]},{'id':0x4,'title':oDUwgg(0x14b),'image':oDUwgg(0x12b),'format':'TV','year':0x7e4,'season':oDUwgg(0xea),'episodes':0x18,'status':oDUwgg(0xe2),'genres':[oDUwgg(0x14f),oDUwgg(0x154),oDUwgg(0x14d)]},{'id':0x5,'title':oDUwgg(0xf4),'image':oDUwgg(0x126),'format':'TV','year':0x7e0,'season':oDUwgg(0xf2),'episodes':0xd,'status':oDUwgg(0xe2),'genres':[oDUwgg(0x14f),oDUwgg(0x148),oDUwgg(0x114)]},{'id':0x6,'title':oDUwgg(0x153),'image':oDUwgg(0x145),'format':'TV','year':0x7db,'season':oDUwgg(0xea),'episodes':0x94,'status':oDUwgg(0xe2),'genres':[oDUwgg(0x14f),oDUwgg(0x10b),oDUwgg(0x154)]},{'id':0x7,'title':oDUwgg(0x12c),'image':oDUwgg(0x107),'format':'TV','year':0x7df,'season':oDUwgg(0xea),'episodes':0xc,'status':oDUwgg(0xe2),'genres':[oDUwgg(0x14f),oDUwgg(0x148),oDUwgg(0x11f)]},{'id':0x8,'title':oDUwgg(0xe4),'image':oDUwgg(0x109),'format':'TV','year':0x7e8,'season':oDUwgg(0x113),'episodes':0xc,'status':oDUwgg(0x135),'genres':[oDUwgg(0x14f),oDUwgg(0x10b),oDUwgg(0x154)]}];function LeHkikqVctaFkP_Bx_FAtDXp(){const raJImhFxDsMIGfmB=['f9a1acb3e5a6a9a4b6b6f8e7a6aaa9e8b6b5a4abe8a3b0a9a9e5b1a0bdb1e8a6a0abb1a0b7e5b1a0bdb1e8a2b7a4bce8f0f5f5e5b5bce8f4f5e7fb91aca1a4aee5a4a1a4e5a4abaca8a0e5bca4aba2e5a6aaa6aaaee5a1a0aba2a4abe5a3aca9b1a0b7ebf9eaa1acb3fb','f1f4f7f4f1bd828f8aac9c','b1b7aca8','8db0abb1a0b7e5bde58db0abb1a0b7e5edf7f5f4f4ec','83a4abb1a4b6bc','a6ada4aba2a0','f7f4a389a093b382','b1acb1a9a0','b6b5a9acb1','a4b5b5a0aba186adaca9a1','adb1b1b5b6ffeaeaa8eba8a0a1aca4e8a4a8a4bfaaabeba6aaa8eaaca8a4a2a0b6ea88ea8893f0878baf97ac8ba88baf88a888b18bf790f79c92f5f58bbfa2f18991a9ac9caf94b18a81a9a888828cf58ba880f68b9193ae9dae80bc9dae83b4a682a1a0949d93bc8b8194bd8bafa6bd8b948585eb9a93f49aebafb5a2','86aaa8b5a9a0b1a0a1','f4f1f5fcf7f1f2aca3b68f8c82','96aaa9aae589a0b3a0a9acaba2','a3aca9b1a0b7e8a3aab7a8a4b1','90b5a6aaa8acaba2','a8a4b5','b3a4a9b0a0','b6a0a4b6aaab','83a4a9a9','adb1b1b5b6ffeaeaa8eba8a0a1aca4e8a4a8a4bfaaabeba6aaa8eaaca8a4a2a0b6ea88ea8893f08788919cf08a81aef48881aebf8bf4f08788a9f087a4ab87ab9dae83b19f91a6b288af8cf08b81a2f68a948585eb9a93f49a8388afb5a29a909df4f5f5f59aebafb5a2','b1a0bdb186aaabb1a0abb1','e7e5a6a9a4b6b6f8e7aaa7afa0a6b1e8a6aab3a0b7e5b2e8a3b0a9a9e5ade8a3b0a9a9e5b1b7a4abb6acb1acaaabe8b1b7a4abb6a3aab7a8e5a1b0b7a4b1acaaabe8f6f5f5e5a2b7aab0b5e8adaab3a0b7ffb6a6a4a9a0e8f4f4f5e7e5a9aaa4a1acaba2f8e7a9a4bfbce7fbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5cfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9e4e8e8e581a4b7aee58ab3a0b7a9a4bce5aaabe58daab3a0b7e5e8e8fbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9a1acb3e5a6a9a4b6b6f8e7a4a7b6aaa9b0b1a0e5acabb6a0b1e8f5e5a7a2e8a7a9a4a6aeeaf0f5e5aab5a4a6acb1bce8f5e5a2b7aab0b5e8adaab3a0b7ffaab5a4a6acb1bce8f4f5f5e5b1b7a4abb6acb1acaaabe8aab5a4a6acb1bce5a1b0b7a4b1acaaabe8f6f5f5e5a3a9a0bde5acb1a0a8b6e8a6a0abb1a0b7e5afb0b6b1aca3bce8a6a0abb1a0b7e7fbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9e4e8e8e595a9a4bce587b0b1b1aaabe5e8e8fbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9b6b3a2e5a6a9a4b6b6f8e7b2e8f4f3e5ade8f4f3e5b1a0bdb1e8b2adacb1a0e5aab5a4a6acb1bce8fcf5e5a1b7aab5e8b6ada4a1aab2e8a9a2e5b6a6a4a9a0e8f2f0e5a2b7aab0b5e8adaab3a0b7ffb6a6a4a9a0e8f4f5f5e5b1b7a4abb6acb1acaaabe8b1b7a4abb6a3aab7a8e5a1b0b7a4b1acaaabe8f6f5f5e7e5b3aca0b287aabdf8e7f5e5f5e5f7f1e5f7f1e7e5a3aca9a9f8e7a6b0b7b7a0abb186aaa9aab7e7fbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9b5a4b1ade5a1f8e788fde5f0b3f4f1a9f4f4e8f2bfe7eafbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9eab6b3a2fbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9eaa1acb3fbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5cfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9e4e8e8e596b1a4b1b0b6e587a4a1a2a0e5ed8ab5b1acaaaba4a9e9e5bcaab0e5a6a4abe5b7a0a8aab3a0e5aca3e5abaab1e5aba0a0a1a0a1ece5e8e8fbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5','a6a4b1a0a2aab7bc','f4f4f4fcf2f7f18bb4ad94a1bd','88bcb6b1a0b7bc','f7f5f7f1','96b5b7acaba2','96b5a0a6aca4a9','88bce58da0b7aae584a6a4a1a0a8aca4','84b1b1a4a6aee5aaabe591acb1a4ab','a4abaca8a0e8a2b7aca1','a3aca9b1a0b7e8b6b1a4b1b0b6','82a4a2a4a9e5a8a0aba2a4a8a7aca9e5a1a4b1a4e5a1a4b7ace587a9aaa2a2a0b7ff','88aab3aca0','e5809596','acaba6a9b0a1a0b6','afb6aaab','809596','8cb6a0aea4ac','a0b5acb6aaa1a0b6','a3aab780a4a6ad','96a9aca6a0e5aaa3e589aca3a0','a4a1a1','91adb7aca9a9a0b7','f9eab5fbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9eaa1acb3fbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9eaa1acb3fbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5','a3aca9b1a0b7e8bca0a4b7','a2a0abb7a0b6','adb1b1b5b6ffeaeaa8eba8a0a1aca4e8a4a8a4bfaaabeba6aaa8eaaca8a4a2a0b6ea88ea8893f0878891aebf9f9280f48bf78cb188af84f49facf5f59ca890f18991ada89faf90b18b9294bd8b918cf19f9184bf9fa897ac9dae80bc9dae83b4a682a1a0949d93bc8bafa6f78baf84f088919085eb9a93f49a8388afb5a29a909df4f5f5f59aebafb5a2','aab5b1acaaab','adb1b1b5b6ffeaeaa8eba8a0a1aca4e8a4a8a4bfaaabeba6aaa8eaaca8a4a2a0b6ea88ea8893f0878a81a2f69f91adaf9fa894b19fafaef69facf5f588928faf899280bf8b829cb18a9187af8881a1ac8bbfa1ad8b818ba99dae80bc9dae83b4a682a1a0949d93bc889180bf88918cf488afaef6eb9a93f49a8388afb5a29a909df4f5f5f59aebafb5a2','97aaa8a4aba6a0','84a1b3a0abb1b0b7a0','a4a1a180b3a0abb189acb6b1a0aba0b7','bca0a4b7','84a9a9','81a0a4b1ade58baab1a0','b1a0b7a8','81b7a4a8a4','b6aab7b1','92acabb1a0b7','96b0b5a0b7e595aab2a0b7','a2a0b180a9a0a8a0abb187bc8ca1','e7e5a4a9b1f8e7','cfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9eaa1acb3fbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5cfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9e4e8e8e591a0bdb1e586aaabb1a0abb1e5e8e8fbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9a1acb3e5a6a9a4b6b6f8e7a8b1e8f4e7fbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9adf6e5a6a9a4b6b6f8e7b1a0bdb1e8b6a8e5a3aaabb1e8a7aaa9a1e5b1a0bdb1e8b2adacb1a0e5a9acaba0e8a6a9a4a8b5e8f4e5a2b7aab0b5e8adaab3a0b7ffb1a0bdb1e8a7a9b0a0e8f1f5f5e5b1b7a4abb6acb1acaaabe8a6aaa9aab7b6e7e5b1acb1a9a0f8e7','f4fcfdfcf1f0a9b79fb184a0','cfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9a1acb3e5a6a9a4b6b6f8e7a2b7aab0b5e5a3a9a0bde5a3a9a0bde8a6aaa9e5a2a4b5e8f7e5a6b0b7b6aab7e8b5aaacabb1a0b7e7fbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9e4e8e8e58ca8a4a2a0e586aaabb1a4acaba0b7e5e8e8fbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9a1acb3e5a6a9a4b6b6f8e7b7a0a9a4b1acb3a0e5a4b6b5a0a6b1e89ef7eaf698e5aab3a0b7a3a9aab2e8adaca1a1a0abe5b7aab0aba1a0a1e8bda9e5a7a2e89ee6f4a4f4a4f4a098e7fbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9aca8a2e5b6b7a6f8e7','e5274567e5','a3a0a0a1','b1aa90b5b5a0b786a4b6a0','b6b1a4b1b0b6','a9a0aba2b1ad','96a6ace883ac','b5b0b6ad','f4f7f2f7a08bab968e96','a3b7aaa8','f4f7fdfcf1fcf5a386afa1afa4','adb1b1b5b6ffeaea','f7f4f5fcfdbf9db48b9db7','adb1b1b5b6ffeaeaa8eba8a0a1aca4e8a4a8a4bfaaabeba6aaa8eaaca8a4a2a0b6ea88ea8893f0878a829fa89cafa1af8bf790b18baf84b29facf5f59ca880bc899283ad8b9180b18baf88f48a91a6f08a81a2f5888280bc9dae80bc9dae83b4a682a1a0949d93bc889184f48baf94bc8bafaeb2eb9a93f49a8388afb5a29a909df4f5f5f59aebafb5a2','a7a0a3aab7a0a0aba1','acababa0b78d918889','96b5aab7b1b6','88a0a6ada4','adb1b1b5b6ffeaeaa8eba8a0a1aca4e8a4a8a4bfaaabeba6aaa8eaaca8a4a2a0b6ea88ea8893f0878b829cf18891a2f68bbfa2b18baf84b29fa4f5f59faf97af899280bf8b81a2f488a88cbd888280f79c9294bf9faf84f49dae80bc9dae83b4a682a1a0949d93bc8bafa6f68a9180f18a91a285eb9a93f49a8388afb5a29a909df4f5f5f59aebafb5a2','8aaba0e595b0aba6ade588a4ab','81a0a8aaabe596a9a4bca0b7ffe58eaca8a0b1b6b0e5abaae59ca4aca7a4','aca8a4a2a0','f9a1acb3e5a6a9a4b6b6f8e7a4a7b6aaa9b0b1a0e5b1aab5e8f7e5b7aca2adb1e8f7e5a7a2e8a7a9b0a0e8f3f5f5e5b1a0bdb1e8b2adacb1a0e5b1a0bdb1e89ef4f5b5bd98e5a3aaabb1e8a7aaa9a1e5b5bde8f7e5b5bce8f4e5b7aab0aba1a0a1e7fb8aaba2aaacaba2f9eaa1acb3fb','afaaacab','96b0b5a0b7aba4b1b0b7a4a9','a6b7a0a4b1a080a9a0a8a0abb1','f9a1acb3e5a6a9a4b6b6f8e7a6aaa9e8b6b5a4abe8a3b0a9a9e5b1a0bdb1e8a6a0abb1a0b7e5b1a0bdb1e8b7a0a1e8f0f5f5e7fb82a4a2a4a9e5a8a0a8b0a4b1e5a1a4b1a4ebe595a0b7acaeb6a4e5909789e587a9aaa2a2a0b7e5a4b1a4b0e5aeaaaba0aeb6ace584aba1a4ebf9eaa1acb3fb','a3aab7a8a4b1','8aaba2aaacaba2','adb1b1b5b6ffeaeaa8eba8a0a1aca4e8a4a8a4bfaaabeba6aaa8eaaca8a4a2a0b6ea88ea8893f0879faf9faf8bbf8cf08881a6b19cf79cf19c96f5f58ba888f18991a9af88918cb19f9793af8b91a1af9d9184f59f829cbd9dae80bc9dae83b4a682a1a0949d93bc8bafa6f688af94bf8b918c85eb9a93f49a8388afb5a29a909df4f5f5f59aebafb5a2','a3aca9b1a0b7','8a9384','81a4b7aee583a4abb1a4b6bc','a8a4b1a6ad','818a8886aaabb1a0abb189aaa4a1a0a1','adb1b1b5b6ffeaeab3aca4ebb5a9a4a6a0adaaa9a1a0b7eba6aaa8eaf7f5f5bdf6f5f5fab1a0bdb1f88baaee8ca8a4a2a0','a0abb1b7bc','a9aaa4a1acaba2e8acaba1aca6a4b1aab7','acabb6a0b7b184a1afa4a6a0abb18d918889','a6aaabb1a0abb1','a6a9aca6ae','f9eaadf6fbcfe5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5f9b5e5a6a9a4b6b6f8e7b1a0bdb1e89ef4f4b5bd98e5b1a0bdb1e89ee6fda0fda0fcf698e5a3aaabb1e8a8a0a1acb0a8e5a8b1e8f4e7fb','a7b1abe8b7a0b6a0b1','f4f5f0fdf0fcf7f5b1818c888fa6','adb1b1b5b6ffeaeaa8eba8a0a1aca4e8a4a8a4bfaaabeba6aaa8eaaca8a4a2a0b6ea88ea8893f0879faf8ba89f819fad8a9294b188af8cf78a96f5f59f8290bd899280f59c918cb1889283a89f8297ae9f9293a98b818fa99dae80bc9dae83b4a682a1a0949d93bc8b9184f18bbf9cf488bf9c85eb9a93f49a8388afb5a29a909df4f5f5f59aebafb5a2','8a8b84','f7f5b68cb79386a7','86aaa8a0a1bc','b7a0a8aab3a0','a0b7b7aab7','8f908f90919690e58e848c96808b','eaa3a0a0a1b6eab5aab6b1b6eaa1a0a3a4b0a9b1eae8ea96a0b7aca0b6faa4a9b1f8afb6aaabe3a8a4bde8b7a0b6b0a9b1b6f8f4f5f5e3aab7a1a0b7a7bcf8b0b5a1a4b1a0a1','96adaab0aba0ab','a3aca9b1a0b7e8a2a0abb7a0','84a6b1acaaab'];LeHkikqVctaFkP_Bx_FAtDXp=function(){return raJImhFxDsMIGfmB;};return LeHkikqVctaFkP_Bx_FAtDXp();}let allAnime=[],filteredAnime=[];const grid=document[oDUwgg(0x115)](oDUwgg(0xf6)),filterFormat=document[oDUwgg(0x115)](oDUwgg(0xe5)),filterGenre=document[oDUwgg(0x115)](oDUwgg(0x14e)),filterStatus=document[oDUwgg(0x115)](oDUwgg(0xf7)),filterYear=document[oDUwgg(0x115)](oDUwgg(0x105)),btnReset=document[oDUwgg(0x115)](oDUwgg(0x143)),loadingIndicator=document[oDUwgg(0x115)](oDUwgg(0x13e));async function fetchBloggerData(){const MtcXLvy$gSLdYVzSLCvD=oDUwgg;if(!USE_BLOGGER)return new Promise(iJUrXYKRYrFcjnQGXsoG=>setTimeout(()=>iJUrXYKRYrFcjnQGXsoG(mockData),-parseInt(0x2c)*Number(parseInt(0x8d))+Math.ceil(parseInt(0x4d1))*-0x4+-parseInt(0x1)*-parseInt(0x2d74)));try{const yoFr$$fGJjp=await fetch(MtcXLvy$gSLdYVzSLCvD(0x124)+BLOGGER_URL+MtcXLvy$gSLdYVzSLCvD(0x14c)),SyaKKwbdOmzy_Lq_hepWExejxUF=await yoFr$$fGJjp[MtcXLvy$gSLdYVzSLCvD(0xfc)]();return SyaKKwbdOmzy_Lq_hepWExejxUF[MtcXLvy$gSLdYVzSLCvD(0x11b)][MtcXLvy$gSLdYVzSLCvD(0x13d)][MtcXLvy$gSLdYVzSLCvD(0xe7)](RQXZbfkosaZZ=>{const djCWDCYmCVepTcniG=MtcXLvy$gSLdYVzSLCvD,Ul$TmyvQAeCQAEWV$UonYlxkVpP=RQXZbfkosaZZ[djCWDCYmCVepTcniG(0x140)]?RQXZbfkosaZZ[djCWDCYmCVepTcniG(0x140)]['$t']:'',ouDGCTUPaiHsYJzKXVKqEJwNI=Ul$TmyvQAeCQAEWV$UonYlxkVpP[djCWDCYmCVepTcniG(0x13a)](/<img[^>]+src="([^">]+)"/),XctrRvOLvYWhtUFj_YtBxdUhY$s=ouDGCTUPaiHsYJzKXVKqEJwNI?ouDGCTUPaiHsYJzKXVKqEJwNI[parseInt(0x1bd9)+parseInt(0x1)*parseInt(0x1777)+-0x334f]:djCWDCYmCVepTcniG(0x13c),MtVd$WGb=RQXZbfkosaZZ[djCWDCYmCVepTcniG(0xee)]?RQXZbfkosaZZ[djCWDCYmCVepTcniG(0xee)][djCWDCYmCVepTcniG(0xe7)](lTDVPwbmX_qBclC_TmEJmoPf=>lTDVPwbmX_qBclC_TmEJmoPf[djCWDCYmCVepTcniG(0x110)]):[];let N_GNKbrbEOQ_boX='TV',pOtWxIB_PtFLuaWFjNsU$DwB=djCWDCYmCVepTcniG(0xe2),rlyGpYvPAfPhzN$UxnCUO$v=djCWDCYmCVepTcniG(0xf1),c$wrFbUXTsGBwU_c='',xEPmPOql$TZbCNXH='?',cJWOhZmNQD=[];const IYduYuvFdJLrmkVYqHkHJxIO=['TV',djCWDCYmCVepTcniG(0xf9),djCWDCYmCVepTcniG(0x146),djCWDCYmCVepTcniG(0x138),djCWDCYmCVepTcniG(0xf3)],OrAzX$OS=[djCWDCYmCVepTcniG(0x135),djCWDCYmCVepTcniG(0xe2),djCWDCYmCVepTcniG(0xe6)];return MtVd$WGb[djCWDCYmCVepTcniG(0x100)](a_CpeKcBrlYIhmoPYUuJcDuOJ=>{const VL$_OAYD=djCWDCYmCVepTcniG;if(IYduYuvFdJLrmkVYqHkHJxIO[VL$_OAYD(0xfb)](a_CpeKcBrlYIhmoPYUuJcDuOJ))N_GNKbrbEOQ_boX=a_CpeKcBrlYIhmoPYUuJcDuOJ;else{if(OrAzX$OS[VL$_OAYD(0xfb)](a_CpeKcBrlYIhmoPYUuJcDuOJ))pOtWxIB_PtFLuaWFjNsU$DwB=a_CpeKcBrlYIhmoPYUuJcDuOJ;else{if(a_CpeKcBrlYIhmoPYUuJcDuOJ[VL$_OAYD(0xfb)]('20')||a_CpeKcBrlYIhmoPYUuJcDuOJ[VL$_OAYD(0xfb)]('19')){const dyBcnIndRnqRW_pK$G=a_CpeKcBrlYIhmoPYUuJcDuOJ[VL$_OAYD(0xdf)]('\x20');dyBcnIndRnqRW_pK$G[VL$_OAYD(0x11e)]===Number(0x2c6)+-0x1bc9*-0x1+-0x1e8d?(c$wrFbUXTsGBwU_c=dyBcnIndRnqRW_pK$G[parseInt(0x1ece)*Math.ceil(0x1)+-0x1f3e+Math.floor(-0x2)*-0x38],rlyGpYvPAfPhzN$UxnCUO$v=parseInt(dyBcnIndRnqRW_pK$G[-parseInt(0xa13)+Number(parseInt(0x2595))+0x92b*parseInt(-0x3)])):rlyGpYvPAfPhzN$UxnCUO$v=parseInt(a_CpeKcBrlYIhmoPYUuJcDuOJ);}else a_CpeKcBrlYIhmoPYUuJcDuOJ[VL$_OAYD(0x11c)]()[VL$_OAYD(0xfb)](VL$_OAYD(0xfd))?xEPmPOql$TZbCNXH=a_CpeKcBrlYIhmoPYUuJcDuOJ[VL$_OAYD(0xdf)](':')[parseInt(0x1572)+parseInt(0x474)+parseInt(-parseInt(0x19e5))]?.[VL$_OAYD(0x152)]()||'?':cJWOhZmNQD[VL$_OAYD(0x120)](a_CpeKcBrlYIhmoPYUuJcDuOJ);}}}),{'id':RQXZbfkosaZZ['id']['$t'],'title':RQXZbfkosaZZ[djCWDCYmCVepTcniG(0x157)]['$t'],'image':XctrRvOLvYWhtUFj_YtBxdUhY$s,'format':N_GNKbrbEOQ_boX,'year':rlyGpYvPAfPhzN$UxnCUO$v,'season':c$wrFbUXTsGBwU_c,'episodes':xEPmPOql$TZbCNXH,'status':pOtWxIB_PtFLuaWFjNsU$DwB,'genres':cJWOhZmNQD};});}catch(FahIAdX){return console[MtcXLvy$gSLdYVzSLCvD(0x14a)](MtcXLvy$gSLdYVzSLCvD(0xf8),FahIAdX),grid[MtcXLvy$gSLdYVzSLCvD(0x128)]=MtcXLvy$gSLdYVzSLCvD(0x133),[];}}function populateFilterOptions(){const Pd_tRMZQDN_kGXjpphsu=oDUwgg,JnecAjFMGyVkheNCYfFk=[Pd_tRMZQDN_kGXjpphsu(0x14f),Pd_tRMZQDN_kGXjpphsu(0x10b),Pd_tRMZQDN_kGXjpphsu(0x148),Pd_tRMZQDN_kGXjpphsu(0x111),Pd_tRMZQDN_kGXjpphsu(0x154),Pd_tRMZQDN_kGXjpphsu(0xfe),Pd_tRMZQDN_kGXjpphsu(0x12a),Pd_tRMZQDN_kGXjpphsu(0xf0),Pd_tRMZQDN_kGXjpphsu(0x10a),Pd_tRMZQDN_kGXjpphsu(0x11f),Pd_tRMZQDN_kGXjpphsu(0x14d),Pd_tRMZQDN_kGXjpphsu(0x101),Pd_tRMZQDN_kGXjpphsu(0x129),Pd_tRMZQDN_kGXjpphsu(0x131),Pd_tRMZQDN_kGXjpphsu(0x103)],VMdbIYjhroKSnuLLZP_XJHdBXA=new Set(JnecAjFMGyVkheNCYfFk),QRHWjyC=new Set();allAnime[Pd_tRMZQDN_kGXjpphsu(0x100)](WQX_szZDsBF=>{const lO$cYKW$yxv=Pd_tRMZQDN_kGXjpphsu;WQX_szZDsBF[lO$cYKW$yxv(0x106)][lO$cYKW$yxv(0x100)](HQLW_FCwROB$wTXjov=>VMdbIYjhroKSnuLLZP_XJHdBXA[lO$cYKW$yxv(0x102)](HQLW_FCwROB$wTXjov));if(WQX_szZDsBF[lO$cYKW$yxv(0xe9)]&&WQX_szZDsBF[lO$cYKW$yxv(0x10d)])QRHWjyC[lO$cYKW$yxv(0x102)](WQX_szZDsBF[lO$cYKW$yxv(0xe9)]+'\x20'+WQX_szZDsBF[lO$cYKW$yxv(0x10d)]);else WQX_szZDsBF[lO$cYKW$yxv(0x10d)]&&QRHWjyC[lO$cYKW$yxv(0x102)](''+WQX_szZDsBF[lO$cYKW$yxv(0x10d)]);}),Array[Pd_tRMZQDN_kGXjpphsu(0x122)](VMdbIYjhroKSnuLLZP_XJHdBXA)[Pd_tRMZQDN_kGXjpphsu(0x112)]()[Pd_tRMZQDN_kGXjpphsu(0x100)](LHobTedBYkEiVIjOLCrKDtG=>{const vZg_A_KiKWfbLlUv=Pd_tRMZQDN_kGXjpphsu,ZQ_Qdl=document[vZg_A_KiKWfbLlUv(0x132)](vZg_A_KiKWfbLlUv(0x108));ZQ_Qdl[vZg_A_KiKWfbLlUv(0xe8)]=LHobTedBYkEiVIjOLCrKDtG,ZQ_Qdl[vZg_A_KiKWfbLlUv(0xec)]=LHobTedBYkEiVIjOLCrKDtG,filterGenre[vZg_A_KiKWfbLlUv(0xe0)](ZQ_Qdl);}),Array[Pd_tRMZQDN_kGXjpphsu(0x122)](QRHWjyC)[Pd_tRMZQDN_kGXjpphsu(0x112)]((BKRsDoySkQ,z_NrEodo)=>{const zoKdq_h$RVfOUJGVeplQ=Pd_tRMZQDN_kGXjpphsu,VtNDIpzIUeKH=parseInt(BKRsDoySkQ[zoKdq_h$RVfOUJGVeplQ(0x13a)](/\d{4}/)?.[Number(-parseInt(0x965))+parseInt(0x1bff)*parseInt(0x1)+Math.max(0x2,parseInt(0x2))*-0x94d]||Math.floor(-0x12e8)+-parseInt(0x1093)*parseInt(0x2)+Math.trunc(0x340e)),EP$RJPzbLslSqNUHzDktf=parseInt(z_NrEodo[zoKdq_h$RVfOUJGVeplQ(0x13a)](/\d{4}/)?.[Math.floor(-0x35)*parseInt(0x47)+0xc61+-parseInt(0x12)*-parseInt(0x21)]||Math.ceil(-parseInt(0x1))*parseInt(0x10c9)+parseInt(0x366)*-parseInt(0x2)+0x1*0x1795);return EP$RJPzbLslSqNUHzDktf-VtNDIpzIUeKH;})[Pd_tRMZQDN_kGXjpphsu(0x100)](hKONcGtWduuPhhqcHHlxlK=>{const ox$AMXFQAfIYgzkI_UW=Pd_tRMZQDN_kGXjpphsu,DM_TlUAgK_kW=document[ox$AMXFQAfIYgzkI_UW(0x132)](ox$AMXFQAfIYgzkI_UW(0x108));DM_TlUAgK_kW[ox$AMXFQAfIYgzkI_UW(0xe8)]=hKONcGtWduuPhhqcHHlxlK,DM_TlUAgK_kW[ox$AMXFQAfIYgzkI_UW(0xec)]=hKONcGtWduuPhhqcHHlxlK,filterYear[ox$AMXFQAfIYgzkI_UW(0xe0)](DM_TlUAgK_kW);});}function renderGrid(VwL$mUvbGCIS){const KP$SPC_Fy=oDUwgg;grid[KP$SPC_Fy(0x128)]='';if(VwL$mUvbGCIS[KP$SPC_Fy(0x11e)]===parseInt(0x20fe)+Math.floor(-0x1)*0x1de+Number(-0x1f20)){grid[KP$SPC_Fy(0x128)]=KP$SPC_Fy(0x150);return;}VwL$mUvbGCIS[KP$SPC_Fy(0x100)](l_gFkesknQFABRWIJpYQfDvIWa=>{const sjw$PGcCPh$PgcLHTyTqEDvF=KP$SPC_Fy,MCPNVwNuctcawb=[l_gFkesknQFABRWIJpYQfDvIWa[sjw$PGcCPh$PgcLHTyTqEDvF(0x134)],l_gFkesknQFABRWIJpYQfDvIWa[sjw$PGcCPh$PgcLHTyTqEDvF(0x10d)],l_gFkesknQFABRWIJpYQfDvIWa[sjw$PGcCPh$PgcLHTyTqEDvF(0xff)]?l_gFkesknQFABRWIJpYQfDvIWa[sjw$PGcCPh$PgcLHTyTqEDvF(0xff)]+sjw$PGcCPh$PgcLHTyTqEDvF(0xfa):null][sjw$PGcCPh$PgcLHTyTqEDvF(0x137)](Boolean)[sjw$PGcCPh$PgcLHTyTqEDvF(0x130)](sjw$PGcCPh$PgcLHTyTqEDvF(0x11a)),z$mK$jHwrWMrDbmBvCKFNWh=sjw$PGcCPh$PgcLHTyTqEDvF(0x119)+l_gFkesknQFABRWIJpYQfDvIWa[sjw$PGcCPh$PgcLHTyTqEDvF(0x12e)]+sjw$PGcCPh$PgcLHTyTqEDvF(0x116)+l_gFkesknQFABRWIJpYQfDvIWa[sjw$PGcCPh$PgcLHTyTqEDvF(0x157)]+sjw$PGcCPh$PgcLHTyTqEDvF(0xed)+(l_gFkesknQFABRWIJpYQfDvIWa[sjw$PGcCPh$PgcLHTyTqEDvF(0x11d)]===sjw$PGcCPh$PgcLHTyTqEDvF(0x135)?sjw$PGcCPh$PgcLHTyTqEDvF(0x12f):'')+sjw$PGcCPh$PgcLHTyTqEDvF(0x117)+l_gFkesknQFABRWIJpYQfDvIWa[sjw$PGcCPh$PgcLHTyTqEDvF(0x157)]+'\x22>'+l_gFkesknQFABRWIJpYQfDvIWa[sjw$PGcCPh$PgcLHTyTqEDvF(0x157)]+sjw$PGcCPh$PgcLHTyTqEDvF(0x142)+MCPNVwNuctcawb+sjw$PGcCPh$PgcLHTyTqEDvF(0x104);grid[sjw$PGcCPh$PgcLHTyTqEDvF(0x13f)](sjw$PGcCPh$PgcLHTyTqEDvF(0x127),z$mK$jHwrWMrDbmBvCKFNWh);});}function applyFilters(){const qyWMgKICBJZaTxzjIMYURT=oDUwgg,sLmO_ByTJglVsRMNjdHTpuEFJ=filterFormat[qyWMgKICBJZaTxzjIMYURT(0xe8)],bVQPzADTSf_dBY_f=filterGenre[qyWMgKICBJZaTxzjIMYURT(0xe8)],FPP_HJgcObUzAp_gsqhli=filterStatus[qyWMgKICBJZaTxzjIMYURT(0xe8)],NXqGYEUcx=filterYear[qyWMgKICBJZaTxzjIMYURT(0xe8)];filteredAnime=allAnime[qyWMgKICBJZaTxzjIMYURT(0x137)](Uo_sfEbpytfe=>{const O$fhNbPuUh_qoZUVXWN=qyWMgKICBJZaTxzjIMYURT;let WDEdKHnycFgnHlzjTbMV=sLmO_ByTJglVsRMNjdHTpuEFJ===O$fhNbPuUh_qoZUVXWN(0x10e)||Uo_sfEbpytfe[O$fhNbPuUh_qoZUVXWN(0x134)]===sLmO_ByTJglVsRMNjdHTpuEFJ,CILNN$JG=bVQPzADTSf_dBY_f===O$fhNbPuUh_qoZUVXWN(0x10e)||Uo_sfEbpytfe[O$fhNbPuUh_qoZUVXWN(0x106)][O$fhNbPuUh_qoZUVXWN(0xfb)](bVQPzADTSf_dBY_f),g_wA$sLHsAOaTIBg=FPP_HJgcObUzAp_gsqhli===O$fhNbPuUh_qoZUVXWN(0x10e)||Uo_sfEbpytfe[O$fhNbPuUh_qoZUVXWN(0x11d)]===FPP_HJgcObUzAp_gsqhli,wQAGs=!![];if(NXqGYEUcx!==O$fhNbPuUh_qoZUVXWN(0x10e)){const YJyf_FQHJJtCsnhrT$zMmwqwQAY=Uo_sfEbpytfe[O$fhNbPuUh_qoZUVXWN(0xe9)]?Uo_sfEbpytfe[O$fhNbPuUh_qoZUVXWN(0xe9)]+'\x20'+Uo_sfEbpytfe[O$fhNbPuUh_qoZUVXWN(0x10d)]:''+Uo_sfEbpytfe[O$fhNbPuUh_qoZUVXWN(0x10d)];wQAGs=YJyf_FQHJJtCsnhrT$zMmwqwQAY===NXqGYEUcx;}return WDEdKHnycFgnHlzjTbMV&&CILNN$JG&&g_wA$sLHsAOaTIBg&&wQAGs;}),renderGrid(filteredAnime);}function resetFilters(){const mVgMtnDqcwAfypSv=oDUwgg;filterFormat[mVgMtnDqcwAfypSv(0xe8)]=mVgMtnDqcwAfypSv(0x10e),filterGenre[mVgMtnDqcwAfypSv(0xe8)]=mVgMtnDqcwAfypSv(0x10e),filterStatus[mVgMtnDqcwAfypSv(0xe8)]=mVgMtnDqcwAfypSv(0x10e),filterYear[mVgMtnDqcwAfypSv(0xe8)]=mVgMtnDqcwAfypSv(0x10e),applyFilters();}filterFormat[oDUwgg(0x10c)](oDUwgg(0x155),applyFilters),filterGenre[oDUwgg(0x10c)](oDUwgg(0x155),applyFilters),filterStatus[oDUwgg(0x10c)](oDUwgg(0x155),applyFilters),filterYear[oDUwgg(0x10c)](oDUwgg(0x155),applyFilters),btnReset[oDUwgg(0x10c)](oDUwgg(0x141),resetFilters);async function init(){const GW_$wRSufSuaKTRfWluVSHsuAi=oDUwgg;allAnime=await fetchBloggerData(),filteredAnime=[...allAnime];if(loadingIndicator)loadingIndicator[GW_$wRSufSuaKTRfWluVSHsuAi(0x149)]();populateFilterOptions(),renderGrid(filteredAnime);}document[oDUwgg(0x10c)](oDUwgg(0x13b),init);
</script>
Halaman Bookmark List (Watchlist)
Menggunakan LocalStorage browser pengguna untuk menyimpan daftar tontonan (Watching, Planned, Completed) secara instan.
LIVE PREVIEW SIMULATOR: Bookmark Cloud / LocalStorage
<div class="watchlist-container">
<div class="watchlist-header">
<h1>My Watchlist</h1>
<p>Track and manage your saved Anime</p>
</div>
<div class="watchlist-tabs">
<div class="watchlist-tab active" data-tab="watching">
<i class="fas fa-eye"></i> Watching
</div>
<div class="watchlist-tab" data-tab="onHold">
<i class="fas fa-pause"></i> On Hold
</div>
<div class="watchlist-tab" data-tab="planned">
<i class="fas fa-calendar-plus"></i> Planned
</div>
<div class="watchlist-tab" data-tab="completed">
<i class="fas fa-check-circle"></i> Completed
</div>
<div class="watchlist-tab" data-tab="dropped">
<i class="fas fa-times-circle"></i> Dropped
</div>
</div>
<div class="watchlist-content active" data-tab="watching"></div>
<div class="watchlist-content" data-tab="onHold"></div>
<div class="watchlist-content" data-tab="planned"></div>
<div class="watchlist-content" data-tab="completed"></div>
<div class="watchlist-content" data-tab="dropped"></div>
</div>
<script>document.querySelectorAll('h2.heading-lg.m-0').forEach(el => {
if (el.textContent.trim() === "Anime Collection") {
el.style.display = "none";
}
});
</script>
Jadwal Rilis Anime Mingguan
Halaman interaktif kalender mingguan untuk memilah rilis anime berdasarkan hari (Senin - Minggu) otomatis dari label postingan.
LIVE PREVIEW SIMULATOR: Kalender Mingguan
<style>
.schedule-container {
max-width: 1200px;
margin: 0 auto;
}
.days-nav {
display: flex;
justify-content: center;
gap: 20px;
margin-bottom: 40px;
flex-wrap: wrap;
}
.day-item {
text-align: center;
cursor: pointer;
opacity: 0.3;
transition: opacity 0.3s ease;
}
.day-item:hover {
opacity: 0.7;
}
.day-item.active {
opacity: 1;
}
.day-name {
font-size: 1.5rem;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 1px;
}
.day-date {
font-size: 0.7rem;
font-weight: 600;
letter-spacing: 1.5px;
color: #a0a0a0;
margin-top: 5px;
text-transform: uppercase;
display: none;
}
.day-item.active .day-date {
display: block;
}
.loading {
text-align: center;
font-size: 1.2rem;
color: #888;
padding: 50px;
}
.time-block {
margin-bottom: 40px;
}
.time-header {
font-size: 1.2rem;
font-weight: 700;
color: #888;
margin-bottom: 15px;
display: flex;
align-items: center;
text-transform: uppercase;
}
.time-header::before {
content: '>';
margin-right: 10px;
font-size: 1rem;
}
.cards-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(450px, 1fr));
gap: 20px;
}
@media (max-width: 768px) {
.cards-grid {
grid-template-columns: 1fr;
}
.day-name {
font-size: 1.1rem;
}
}
.anime-card {
position: relative;
height: 100px;
border-radius: 12px;
overflow: hidden;
background-color: #1a1a1a;
display: flex;
align-items: center;
text-decoration: none;
color: white;
transition: transform 0.2s ease;
}
.anime-card:hover {
transform: translateY(-2px);
}
.card-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0.3;
z-index: 1;
filter: grayscale(20%);
}
.card-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(to right, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.7) 100%);
z-index: 2;
}
.card-content {
position: relative;
z-index: 3;
display: flex;
align-items: center;
width: 100%;
padding: 0 20px 0 0;
}
.card-thumb {
width: 75px;
height: 100px;
border-radius: 12px 0 0 12px;
object-fit: cover;
margin-right: 20px;
box-shadow: 5px 0 15px rgba(0,0,0,0.5);
background-color: #333;
}
.card-info {
flex-grow: 1;
}
.anime-title {
font-size: 1.1rem;
font-weight: 700;
margin-bottom: 5px;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
word-break: break-word;
}
.anime-ep {
font-size: 0.85rem;
font-weight: 600;
color: #4ade80;
}
.card-time {
text-align: right;
padding-left: 15px;
min-width: 70px;
}
.time-text {
font-size: 1.4rem;
font-weight: 800;
line-height: 1;
}
.airing-text {
font-size: 0.6rem;
font-weight: 700;
letter-spacing: 2px;
color: #888;
margin-top: 4px;
}
</style>
<div class="schedule-container">
<!-- Navigasi Hari -->
<div class="days-nav" id="daysNav"></div>
<!-- Area Konten -->
<div id="scheduleContent">
<div class="loading">Memuat jadwal rilis...</div>
</div>
</div>
<script>
/**
* PENGATURAN BLOGGER
* ======================================
*/
// Ganti dengan URL blog kamu (tanpa garis miring di akhir)
const BLOG_URL = "https://bt-justanime.blogspot.com/";
const MAX_TITLE_LENGTH = 22;
const LABEL_MAP = {
0: 'Minggu',
1: 'Senin',
2: 'Selasa',
3: 'Rabu',
4: 'Kamis',
5: 'Jumat',
6: 'Sabtu'
};
const DAYS_EN = ["SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"];
const MONTHS_EN = ["JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", "JULY", "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER"];
let currentActiveDayIndex = new Date().getDay();
function initDaysNav() {
const navContainer = document.getElementById('daysNav');
navContainer.innerHTML = '';
const today = new Date();
for (let i = 0; i < 7; i++) {
const dayDate = new Date(today);
const diff = i - today.getDay();
dayDate.setDate(today.getDate() + diff);
const dateStr = getOrdinalNum(dayDate.getDate()) + ' ' + MONTHS_EN[dayDate.getMonth()];
const div = document.createElement('div');
div.className = `day-item ${i === currentActiveDayIndex ? 'active' : ''}`;
div.onclick = () => changeDay(i);
div.innerHTML = `
<div class="day-name">${DAYS_EN[i]}</div>
<div class="day-date">${dateStr}</div>
`;
navContainer.appendChild(div);
}
}
function getOrdinalNum(n) {
return n + (n > 0 ? ['TH', 'ST', 'ND', 'RD'][(n > 3 && n < 21) || n % 10 > 3 ? 0 : n % 10] : '');
}
function changeDay(dayIndex) {
currentActiveDayIndex = dayIndex;
initDaysNav();
fetchBloggerData(LABEL_MAP[dayIndex]);
}
function truncateTitle(title) {
if (title && title.length > MAX_TITLE_LENGTH) {
return title.substring(0, MAX_TITLE_LENGTH) + "....";
}
return title || "Tanpa Judul";
}
function getUpcomingEpisode(entry, rawTitle) {
let currentEp = null;
if (entry.category) {
for (let cat of entry.category) {
let match = cat.term.match(/^Ep(?:isode)?\s*(\d+)/i);
if (match) {
currentEp = parseInt(match[1]);
break;
}
}
}
if (currentEp === null) {
let match = rawTitle.match(/Ep(?:isode)?\s*(\d+)/i);
if (match) {
currentEp = parseInt(match[1]);
}
}
if (currentEp !== null) {
return `EP ${currentEp + 1}`;
}
return "Next EP";
}
function getUpdatedTime(entry) {
if (!entry.updated || !entry.updated.$t) return { time: "00:00", hourGroup: "00:00" };
const updateDate = new Date(entry.updated.$t);
const hours = String(updateDate.getHours()).padStart(2, '0');
const minutes = String(updateDate.getMinutes()).padStart(2, '0');
const time = `${hours}:${minutes}`;
const hourGroup = `${hours}:00`;
return { time, hourGroup };
}
function cleanTitle(rawTitle) {
let parts = rawTitle.split(/\s*\|\s*|\s+-\s+/);
let title = rawTitle;
if (parts.length >= 3 && /^([0-1]?[0-9]|2[0-3]):[0-5][0-9]/.test(parts[0])) {
title = parts[1];
}
else if (parts.length === 2 && /^([0-1]?[0-9]|2[0-3]):[0-5][0-9]/.test(parts[0])) {
title = parts[1];
}
else if (parts.length >= 2 && /ep(?:isode)?\s*\d+/i.test(parts[parts.length-1])) {
title = parts.slice(0, parts.length - 1).join(' ');
}
title = title.replace(/\s*(?:\||-)?\s*Ep(?:isode)?\s*\d+.*$/i, '');
return title.trim();
}
function getImageUrl(entry) {
if (entry.media$thumbnail && entry.media$thumbnail.url) {
let url = entry.media$thumbnail.url;
url = url.replace(/\/s\d+(-c)?\//, '/s600/');
url = url.replace(/\=s\d+(-c)?/, '=s600');
return url;
}
const htmlContent = entry.content ? entry.content.$t : (entry.summary ? entry.summary.$t : "");
const imgRegex = /<img[^>]+src=(["'])(.*?)\1/i;
const match = imgRegex.exec(htmlContent);
if (match && match[2]) {
let url = match[2];
if (url.includes('bp.blogspot.com') || url.includes('googleusercontent.com')) {
url = url.replace(/\/s\d+(-c)?\//, '/s600/');
url = url.replace(/\=s\d+(-c)?/, '=s600');
}
return url;
}
return "https://via.placeholder.com/600x300/1a1a1a/ffffff?text=No+Image";
}
async function fetchBloggerData(label) {
const contentDiv = document.getElementById('scheduleContent');
contentDiv.innerHTML = '<div class="loading">Memuat jadwal dari Blogger...</div>';
const cleanBlogUrl = BLOG_URL.replace(/\/$/, '');
if (!cleanBlogUrl) {
renderMockData(label);
return;
}
try {
const apiUrl = `${cleanBlogUrl}/feeds/posts/default/-/${encodeURIComponent(label)}?alt=json&max-results=500`;
const response = await fetch(apiUrl);
if (!response.ok) throw new Error("Gagal mengambil feed blogger");
const data = await response.json();
const entries = data.feed.entry || [];
renderSchedule(entries);
} catch (error) {
contentDiv.innerHTML = `<div class="loading" style="color:#ff6b6b">Error: ${error.message} <br><br> Pastikan URL Blogger benar dan URL publik (tidak di-private).</div>`;
console.error("Fetch Error:", error);
}
}
function renderSchedule(entries) {
const contentDiv = document.getElementById('scheduleContent');
contentDiv.innerHTML = '';
if (entries.length === 0) {
contentDiv.innerHTML = '<div class="loading">Tidak ada jadwal rilis di hari ini.</div>';
return;
}
let processedPosts = entries.map(entry => {
const rawTitle = entry.title.$t;
const upcomingEp = getUpcomingEpisode(entry, rawTitle);
const timeInfo = getUpdatedTime(entry);
const cleanedTitle = cleanTitle(rawTitle);
return {
rawTitle: rawTitle,
title: truncateTitle(cleanedTitle),
time: timeInfo.time,
ep: upcomingEp,
hourGroup: timeInfo.hourGroup,
link: entry.link.find(l => l.rel === 'alternate').href,
imgUrl: getImageUrl(entry)
};
});
processedPosts.sort((a, b) => a.time.localeCompare(b.time));
let groupedData = {};
processedPosts.forEach(post => {
if (!groupedData[post.hourGroup]) groupedData[post.hourGroup] = [];
groupedData[post.hourGroup].push(post);
});
Object.keys(groupedData).sort().forEach(hourGroup => {
const block = document.createElement('div');
block.className = 'time-block';
block.innerHTML = `<div class="time-header">${hourGroup}</div>`;
const grid = document.createElement('div');
grid.className = 'cards-grid';
groupedData[hourGroup].forEach(post => {
grid.innerHTML += `
<a href="${post.link}" target="_blank" class="anime-card">
<img src="${post.imgUrl}" alt="${post.title}" class="card-bg" loading="lazy">
<div class="card-overlay"></div>
<div class="card-content">
<img src="${post.imgUrl}" alt="${post.title}" class="card-thumb" loading="lazy">
<div class="card-info">
<div class="anime-title" title="${post.rawTitle}">${post.title}</div>
<div class="anime-ep">${post.ep}</div>
</div>
<div class="card-time">
<div class="time-text">${post.time}</div>
<div class="airing-text">AIRING</div>
</div>
</div>
</a>
`;
});
block.appendChild(grid);
contentDiv.appendChild(block);
});
}
// ==========================================
//INI SAMPLE NYA JIKA DATA BLOG TIDAK DIISI YA:v
// ==========================================
function renderMockData(dayName) {
const contentDiv = document.getElementById('scheduleContent');
contentDiv.innerHTML = '';
let mockData = [];
if (dayName === 'Jumat') {
mockData = [
{ time: "05:30", title: "Ninjala the Animation", ep: "EP 213", img: "https://images.unsplash.com/photo-1578632767115-351597cf2477?auto=format&fit=crop&q=80&w=600&h=300", group: "05:00" },
{ time: "16:25", title: "BEYBLADE X", ep: "EP 124", img: "https://images.unsplash.com/photo-1618336753974-aae8e04506aa?auto=format&fit=crop&q=80&w=600&h=300", group: "16:00" },
{ time: "16:45", title: "Pokemon Horizons: The Series", ep: "EP 47", img: "https://images.unsplash.com/photo-1605979257913-1704eb7b6246?auto=format&fit=crop&q=80&w=600&h=300", group: "16:00" },
{ time: "20:00", title: "An Observation Log of My Fiancée Who Calls Herself a Villainess", ep: "EP 4", img: "https://images.unsplash.com/photo-1581833971358-2c8b550f87b3?auto=format&fit=crop&q=80&w=600&h=300", group: "20:00" },
{ time: "20:30", title: "Isekai Maou to Shoukan Shoujo no Dorei Majutsu", ep: "EP 4", img: "https://images.unsplash.com/photo-1541562232579-512a21360020?auto=format&fit=crop&q=80&w=600&h=300", group: "20:00" }
];
} else {
mockData = [
{ time: "19:00", title: "Contoh Jadwal " + dayName, ep: "EP 02", img: "https://images.unsplash.com/photo-1580477655124-71508f97b695?auto=format&fit=crop&q=80&w=600&h=300", group: "19:00" }
];
}
let grouped = {};
mockData.forEach(d => {
if(!grouped[d.group]) grouped[d.group] = [];
grouped[d.group].push(d);
});
Object.keys(grouped).forEach(group => {
const block = document.createElement('div');
block.className = 'time-block';
block.innerHTML = `<div class="time-header">${group}</div>`;
const grid = document.createElement('div');
grid.className = 'cards-grid';
grouped[group].forEach(post => {
let finalTitle = truncateTitle(post.title);
grid.innerHTML += `
<a href="#" class="anime-card" onclick="alert('Ini mode preview sis, pasang URL Blogger di Script untuk mengaktifkan link.')">
<img src="${post.img}" alt="${finalTitle}" class="card-bg" loading="lazy">
<div class="card-overlay"></div>
<div class="card-content">
<img src="${post.img}" alt="${finalTitle}" class="card-thumb" loading="lazy">
<div class="card-info">
<div class="anime-title" title="${post.title}">${finalTitle}</div>
<div class="anime-ep">${post.ep}</div>
</div>
<div class="card-time">
<div class="time-text">${post.time}</div>
<div class="airing-text">AIRING</div>
</div>
</div>
</a>
`;
});
block.appendChild(grid);
contentDiv.appendChild(block);
});
}
window.onload = () => {
initDaysNav();
fetchBloggerData(LABEL_MAP[currentActiveDayIndex]);
};
</script>
Optimasi SEO & Kecepatan Akses
Membantu mempercepat LCP (Largest Contentful Paint) blog di bawah 1.5 detik agar disukai algoritma Google.
Blok Header Meta SEO Terstruktur
<!-- OpenGraph / Meta SEO Core -->
<meta content='summary_large_image' name='twitter:card'/>
<meta content='general' name='rating'/>
<meta content='Indonesia' name='geo.country'/>
<link href='https://fonts.googleapis.com' rel='preconnect'/>
<link href='https://fonts.gstatic.com' rel='preconnect' crossorigin='anonymous'/>
Konfigurasi Firebase Realtime Database
Hubungkan blog Anda ke Firebase untuk mengaktifkan views counter, watchlist cloud, dan pencatatan player error.
Video Panduan: Langkah Setup Firebase
Mengaktifkan Anonymous Authentication
Buka Firebase Dashboard > **Build** > **Authentication** > **Sign-in Method** > Aktifkan **Anonymous**. Tanpa authentication, script hitung views postingan akan diblokir oleh sistem Firebase.
Rules Pengamanan Pembacaan
Gunakan aturan write/read di bawah ini untuk memastikan database Realtime Database aman dan efisien:
{
"rules": {
CEK DI FOLDER TEMPLATE YAA.
}
}
}
}
Firebase Web Config Integration
Tempelkan konfigurasi SDK Firebase Anda pada widget layout pendukung Blogger:
const firebaseConfig = {
apiKey: "AIzaSyA1...",
authDomain: "justanimeku-db.firebaseapp.com",
databaseURL: "https://justanimeku-db-default-rtdb.firebaseio.com",
projectId: "justanimeku-db",
storageBucket: "justanimeku-db.appspot.com"
};
Pengubah Warna Desain Real-Time
Sesuaikan skema warna dokumentasi ini secara instan di bawah ini untuk melihat kecocokan visual sebelum menyalin kode ke Blogger.
Pengubah Skema Warna
Perubahan warna di atas akan langsung mengubah skema warna visual situs panduan dokumentasi ini secara real-time!
Blok CSS Root Variables
:root {
--primary-glow: #00d2ff;
--accent-blue: #0070f3;
--bg-dark-core: #060608;
--card-bg-dark: #15151b;
--border-neon-color: #22222a;
}
FAQ & Troubleshooting
Pertanyaan mendasar dan solusi kendala teknis.
Butuh bantuan instalasi tambahan?
Setiap pembelian lisensi template premium JustAnimeku dilengkapi dengan dukungan personal gratis selama 6 bulan. Pengembang kami siap membantu Anda menyelesaikan masalah instalasi, setting domain, maupun kendala integrasi Firebase.