Add functionality to manage dropper nicknames: implement set and fetch methods
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user