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,
|
craftable: data.craftable || current.craftable,
|
||||||
craftTurtleOk: data.craftTurtleOk !== undefined ? data.craftTurtleOk : current.craftTurtleOk,
|
craftTurtleOk: data.craftTurtleOk !== undefined ? data.craftTurtleOk : current.craftTurtleOk,
|
||||||
bridgeConnected: data.bridgeConnected !== undefined ? data.bridgeConnected : current.bridgeConnected,
|
bridgeConnected: data.bridgeConnected !== undefined ? data.bridgeConnected : current.bridgeConnected,
|
||||||
|
dropperNicknames: data.dropperNicknames || current.dropperNicknames,
|
||||||
lastUpdate: data.lastUpdate || Date.now(),
|
lastUpdate: data.lastUpdate || Date.now(),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -55,6 +56,7 @@ export const useInventoryStore = create((set, get) => ({
|
|||||||
craftable: [],
|
craftable: [],
|
||||||
craftTurtleOk: false,
|
craftTurtleOk: false,
|
||||||
bridgeConnected: false,
|
bridgeConnected: false,
|
||||||
|
dropperNicknames: {},
|
||||||
connected: false,
|
connected: false,
|
||||||
ws: null,
|
ws: null,
|
||||||
lastUpdate: 0,
|
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
|
// Analytics - fetch aggregate storage history
|
||||||
fetchHistorySummary: async () => {
|
fetchHistorySummary: async () => {
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user