mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-23 19:49:50 +02:00
feat: tier list share button
This commit is contained in:
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;
|
||||
}
|
||||
Reference in new issue
Block a user