feat: tier list share button

This commit is contained in:
tresabhi committed 2024-11-26 20:04:05 -06:00
1 parent 258279205d
commit f5d06631c2
5 files changed
+67 -3

No files matched your search

@@ -0,0 +1,29 @@
import { useEffect } from 'react';
import { generateTierListParams } from '../../core/blitzkit/generateTierListParams';
import { TierList } from '../../stores/tierList';
export function URLManager() {
const tanks = TierList.use((state) => state.tanks);
const mutateTierList = TierList.useMutation();
useEffect(() => {
const params = new URLSearchParams(window.location.search);
params.forEach((value, key) => {
if (key.startsWith('row-')) {
const index = Number.parseInt(key.slice(4), 10);
const values = value.split(',').map(parseInt).filter(Boolean);
mutateTierList((draft) => {
draft.tanks[index] = values;
});
}
});
}, []);
useEffect(() => {
window.history.replaceState(null, '', `?${generateTierListParams(tanks)}`);
}, [tanks]);
return null;
}