Add functionality to manage dropper nicknames: implement set and fetch methods

This commit is contained in:
MayaTheShy
2026-03-21 20:54:57 -04:00
parent 846f3e8b80
commit 12c17d3bfd

View File

@@ -27,6 +27,7 @@ function _applyStateData(data, current) {
craftable: data.craftable || current.craftable,
craftTurtleOk: data.craftTurtleOk !== undefined ? data.craftTurtleOk : current.craftTurtleOk,
bridgeConnected: data.bridgeConnected !== undefined ? data.bridgeConnected : current.bridgeConnected,
dropperNicknames: data.dropperNicknames || current.dropperNicknames,
lastUpdate: data.lastUpdate || Date.now(),
};
}
@@ -55,6 +56,7 @@ export const useInventoryStore = create((set, get) => ({
craftable: [],
craftTurtleOk: false,
bridgeConnected: false,
dropperNicknames: {},
connected: false,
ws: null,
lastUpdate: 0,
@@ -268,6 +270,36 @@ export const useInventoryStore = create((set, get) => ({
}
},
// Dropper nicknames
setDropperNickname: async (dropperName, nickname) => {
try {
const response = await fetch(`${API_URL}/dropper-nicknames`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ dropperName, nickname }),
});
const result = await response.json();
if (result.nicknames) {
set({ dropperNicknames: result.nicknames });
}
return result;
} catch (error) {
console.error('❌ Error setting dropper nickname:', error);
return { success: false, error: error.message };
}
},
fetchDropperNicknames: async () => {
try {
const response = await fetch(`${API_URL}/dropper-nicknames`);
if (!response.ok) return;
const data = await response.json();
set({ dropperNicknames: data.nicknames || {} });
} catch (error) {
console.error('❌ Error fetching dropper nicknames:', error);
}
},
// Analytics - fetch aggregate storage history
fetchHistorySummary: async () => {
try {