diff --git a/src/routes/settings/index.svelte b/src/routes/settings/index.svelte
index cb788507..084de00c 100644
--- a/src/routes/settings/index.svelte
+++ b/src/routes/settings/index.svelte
@@ -179,6 +179,7 @@
'wish-counter-beginners',
'wish-uid',
'characters',
+ 'weapons',
'achievement',
'collectables-updated',
'furnishing',
@@ -220,6 +221,7 @@
'wish-counter-beginners',
'wish-uid',
'characters',
+ 'weapons',
'achievement',
'collectables-updated',
'furnishing',
@@ -264,6 +266,7 @@
'wish-counter-beginners',
'wish-uid',
'characters',
+ 'weapons',
'achievement',
'collectables-updated',
'furnishing',
diff --git a/src/routes/weapons/index.svelte b/src/routes/weapons/index.svelte
index 7f4ea71b..added556 100644
--- a/src/routes/weapons/index.svelte
+++ b/src/routes/weapons/index.svelte
@@ -8,11 +8,15 @@
import TableHeader from '../../components/Table/TableHeader.svelte';
import { formatStat } from '../../helper';
import Ad from '../../components/Ad.svelte';
+ import { getAccountPrefix } from '../../stores/account';
+ import { readSave } from '../../stores/saveManager';
let weaponData = data;
let weaponList = [];
let sortBy = 'name';
let sortOrder = true;
+ let showCount = false;
+ let counts = {};
const rarity = {
2: 'text-green-400',
@@ -86,9 +90,24 @@
} else {
return b.secondary.localeCompare(a.secondary);
}
+ case 'pull':
+ if (sortOrder) {
+ return (counts[a.id]?.wish || 0) - (counts[b.id]?.wish || 0);
+ } else {
+ return (counts[b.id]?.wish || 0) - (counts[a.id]?.wish || 0);
+ }
}
});
+ async function getPullCount() {
+ const prefix = getAccountPrefix();
+ const data = await readSave(`${prefix}weapons`);
+ if (data !== null) {
+ counts = data;
+ showCount = true;
+ }
+ }
+
async function changeLocale(locale) {
const _data = await import(`../../data/weapons/${locale}.json`);
weaponData = _data.default;
@@ -96,6 +115,7 @@
}
onMount(async () => {
+ getPullCount();
locale.subscribe((val) => {
changeLocale(val);
});
@@ -133,6 +153,11 @@