diff --git a/src/locales/en.json b/src/locales/en.json index 64854a46..963ff897 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -14,9 +14,12 @@ "welcome": "Welcome to Paimon.moe! 👋", "message": "Your best Genshin Impact companion! Help you plan what to farm with ascension calculator, also track your progress with todo and wish counter.", "banner": { - "featured": "Venti", + "featured": [ + "Rosaria", + "Tartaglia" + ], "summoned": "Summoned", - "percentage": "from all 5", + "percentage": "from all", "avg": "Pity average", "subtitle": "Calculated from data submitted by paimon.moe users", "detail": "Global With Tally" @@ -249,7 +252,9 @@ "subtitle": "Global average pity from paimon.moe users submission", "update": "Updated", "summoned": "Summoned", - "fromFiveStar": "from all 5*", + "fromFiveStar": "from all 5★", + "fromFourStar": "from all 4★", + "show": "Show", "name": "Name", "total": "Total", "wishTotal": "Wish Total", diff --git a/src/locales/id.json b/src/locales/id.json index d2cd85d5..ea437dbd 100644 --- a/src/locales/id.json +++ b/src/locales/id.json @@ -14,9 +14,12 @@ "welcome": "Selamat Datang di Paimon.moe! 👋", "message": "Your best Genshin Impact companion! Membantu kamu merencanakan apa yang harus di farm dengan kalkulator ascension, juga catat progress mu dengan todo dan wish counter.", "banner": { - "featured": "Venti", + "featured": [ + "Rosaria", + "Tartaglia" + ], "summoned": "Pulang", - "percentage": "dari semua 5", + "percentage": "dari semua", "avg": "Pity rata-rata", "subtitle": "Dihitung dari data yang dikirim oleh pengguna paimon.moe", "detail": "Perhitungan Wish Pity Global" @@ -249,7 +252,9 @@ "subtitle": "Rata-rata pity dari kiriman pengguna paimon.moe", "update": "Diupdate", "summoned": "Pulang", - "fromFiveStar": "dari semua 5*", + "fromFiveStar": "dari semua 5★", + "fromFourStar": "dari semua 4★", + "show": "Tampilkan", "name": "Nama", "total": "Total", "wishTotal": "Total Wish", @@ -427,19 +432,35 @@ "collect": [ { "title": "Url yang dikunjungi di paimon.moe, referer, browser, sistem operasi, tipe device, negara visitor", - "content": ["Paimon.moe menggunakan", "plausible.io", "(analitik yang ramah privasi) sehingga kami bisa melihat apa saja fitur yang digunakan orang-orang, dan kami bisa memprioritaskan fitur apa yang perlu ditambahkan atau ditingkatkan."] + "content": [ + "Paimon.moe menggunakan", + "plausible.io", + "(analitik yang ramah privasi) sehingga kami bisa melihat apa saja fitur yang digunakan orang-orang, dan kami bisa memprioritaskan fitur apa yang perlu ditambahkan atau ditingkatkan." + ] }, { "title": "Error dari website paimon.moe", - "content": ["Paimon.moe akan mengirim data error yang terjadi di website ini ke", "sentry.io", "sehingga kami bisa mencari tau apa yang salah dan memperbaikinya."] + "content": [ + "Paimon.moe akan mengirim data error yang terjadi di website ini ke", + "sentry.io", + "sehingga kami bisa mencari tau apa yang salah dan memperbaikinya." + ] }, { "title": "Wish Pity", - "content": ["Paimon.moe akan menyimpan perhitungan pity 4*, perhitungan pity 5*, dan informasi wish 5* (yaitu waktu wish, nama item, angka pity) jika kamu mencentang 'Kirim pity untuk perhitungan pity global' di Auto Import Wish atau secara manual mensubmit di menu bantuan dan pengaturan. Paimon.moe akan menyatukan data-datanya kemudian menghitung pity rata-rata tiap banner dari pengguna paimon.moe. Kamu bisa mengecek nya di", "wish tally"] + "content": [ + "Paimon.moe akan menyimpan perhitungan pity 4*, perhitungan pity 5*, dan informasi wish 5* (yaitu waktu wish, nama item, angka pity) jika kamu mencentang 'Kirim pity untuk perhitungan pity global' di Auto Import Wish atau secara manual mensubmit di menu bantuan dan pengaturan. Paimon.moe akan menyatukan data-datanya kemudian menghitung pity rata-rata tiap banner dari pengguna paimon.moe. Kamu bisa mengecek nya di", + "wish tally" + ] } ], "subtitleNotCollect": "Apa yang paimon.moe TIDAK kumpulkan", - "notCollect": ["Paimon.moe tidak menyimpan password, uid, username, email, temporary keys, atau feedback url. Jika kamu tertarik, projek nya open source dan kamu bisa mengecek kode nya di", "paimon-moe-api Github", "dan", "paimon-moe Github"] + "notCollect": [ + "Paimon.moe tidak menyimpan password, uid, username, email, temporary keys, atau feedback url. Jika kamu tertarik, projek nya open source dan kamu bisa mengecek kode nya di", + "paimon-moe-api Github", + "dan", + "paimon-moe Github" + ] }, "sync": { "message": "Data yang tersimpan pada browser ini tidak sama dengan yang tersimpan pada Google Drive!", @@ -490,4 +511,4 @@ "hoyolab": "Reminder Hoyolab Daily Check-In", "comingsoon": "Coming Soon!" } -} +} \ No newline at end of file diff --git a/src/locales/ru.json b/src/locales/ru.json index 88c6dee1..377091c3 100644 --- a/src/locales/ru.json +++ b/src/locales/ru.json @@ -14,9 +14,12 @@ "welcome": "Добро пожаловать на Paimon.moe! 👋", "message": "Твой лучший компаньон в Genshin Impact! Поможет тебе распланировать что фармить в калькуляторе возвышения, а также отслеживать свой прогресс с помощью счетчика молитв и cписка дел", "banner": { - "featured": "Венти", + "featured": [ + "Rosaria", + "Tartaglia" + ], "summoned": "Призывов", - "percentage": "из всех 5", + "percentage": "из всех", "avg": "Среднее число молитв", "subtitle": "Рассчитано по информации от пользователей paimon.moe", "detail": "Глобальная статистика молитв" @@ -248,7 +251,9 @@ "subtitle": "Глобальная статистика по гарантам среди пользователей paimon.moe", "update": "Обновлено", "summoned": "призвано", - "fromFiveStar": "из всех 5*", + "fromFiveStar": "из всех 5★", + "fromFourStar": "из всех 4★", + "show": "Шоу", "name": "Имя", "total": "Всего", "wishTotal": "Всего молитв", diff --git a/src/routes/_index/banner.svelte b/src/routes/_index/banner.svelte index 9c965200..da5b2b20 100644 --- a/src/routes/_index/banner.svelte +++ b/src/routes/_index/banner.svelte @@ -12,13 +12,24 @@ const dispatch = createEventDispatcher(); - export let featured; - export let bannerId; + const featured = { + rosaria: { + rarity: 'rare', + count: 0, + average: '...', + percentage: '...', + }, + tartaglia: { + rarity: 'legendary', + count: 0, + average: '...', + percentage: '...', + }, + }; + const bannerId = 300011; + const image = 'childerosaria.png'; let loading = true; - let featuredPull = 0; - let percentage = '...'; - let average = '...'; async function getData() { const url = new URL(`${__paimon.env.API_HOST}/wish`); @@ -33,10 +44,15 @@ const data = await res.json(); - const item = data.list.find((e) => e.name === featured); - featuredPull = item.count; - percentage = numberFormat.format((item.count / data.total.legendary) * 100); - average = numberFormat.format(data.pityAverage.legendary); + for (const e of data.list) { + if (featured[e.name]) { + featured[e.name].count = e.count; + featured[e.name].percentage = numberFormat.format((e.count / data.total[featured[e.name].rarity]) * 100); + featured[e.name].average = numberFormat.format(data.pityAverage[featured[e.name].rarity]); + } + } + + console.log(featured); loading = false; } catch (err) { @@ -53,32 +69,41 @@
- venti -
-

- {#if loading} - - {:else} - {featuredPull} - {/if} -

-
-

{$t('home.banner.featured')}

-

{$t('home.banner.summoned')}

-
+ banner +
+ {#each Object.entries(featured) as [_, item], i} +
+

+ {#if loading} + + {:else} + {item.count} + {/if} +

+

{$t(`home.banner.featured.${i}`)}

+
+ {/each}
-
-

- {percentage}% - {$t('home.banner.percentage')} -

-

{$t('home.banner.avg')} {average}

-
-

※ {$t('home.banner.subtitle')}

+
+ {#each Object.entries(featured) as [_, item], i} +
+

+ {item.percentage}% + {$t('home.banner.percentage')} + {item.rarity === 'legendary' ? '5' : '4'}★ +

+

{$t('home.banner.avg')} {item.average}

+
+ {/each} +

※ {$t('home.banner.subtitle')}

+ diff --git a/src/routes/wish/tally/_item.svelte b/src/routes/wish/tally/_item.svelte index 71e921d1..5845c996 100644 --- a/src/routes/wish/tally/_item.svelte +++ b/src/routes/wish/tally/_item.svelte @@ -134,7 +134,10 @@ if (item) { featuredValues[i] = { total: item.count, - percentage: (item.count / data.total.legendary) * 100, + percentage: + (item.count / + (type === 'character' && id !== 200001 && i === 1 ? data.total.rare : data.total.legendary)) * + 100, }; } } @@ -308,7 +311,11 @@ {type === 'character' ? characters[feat].name : weaponList[feat].name} {$t('wish.tally.summoned')}

-

{numberFormat.format(featuredValues[i].percentage)}% {$t('wish.tally.fromFiveStar')}

+

+ {numberFormat.format(featuredValues[i].percentage)}% {$t( + type === 'character' && i === 1 ? 'wish.tally.fromFourStar' : 'wish.tally.fromFiveStar', + )} +

{/each} diff --git a/src/routes/wish/tally/index.svelte b/src/routes/wish/tally/index.svelte index ef74cb76..0e2c190c 100644 --- a/src/routes/wish/tally/index.svelte +++ b/src/routes/wish/tally/index.svelte @@ -1,7 +1,14 @@ @@ -23,11 +30,22 @@

+ + - - + {#if showOld} + + + {:else} + + {/if}
diff --git a/static/images/home/childerosaria.png b/static/images/home/childerosaria.png new file mode 100644 index 00000000..822e6652 Binary files /dev/null and b/static/images/home/childerosaria.png differ