This commit is contained in:
seb
2026-10-29 03:37:04 +01:00
parent afb33cde38
commit 867d550814
3 changed files with 272 additions and 50 deletions

View File

@@ -159,6 +159,15 @@ const sortBrands = (brands) =>
const sortGroups = (items) =>
[...items].sort((a, b) => (Number(a.sort) || 0) - (Number(b.sort) || 0));
const sortTerminals = (terminals) => {
if (!Array.isArray(terminals)) return [];
return [...terminals].sort((a, b) => {
const sDiff = (Number(a.sort) || 0) - (Number(b.sort) || 0);
if (sDiff !== 0) return sDiff;
return (Number(a.id) || 0) - (Number(b.id) || 0);
});
};
const sortAccounts = (items) =>
[...items].sort((a, b) => String(a.name ?? '').localeCompare(String(b.name ?? ''), 'de'));
@@ -578,7 +587,7 @@ const actions = {
inflightTerminals = (async () => {
try {
const res = await posterminalApi.list();
const terminals = Array.isArray(res.posterminals) ? res.posterminals : [];
const terminals = sortTerminals(Array.isArray(res.posterminals) ? res.posterminals : []);
companyAutomat.setState({
terminals,
terminalsCompanyId: companyId,
@@ -603,11 +612,15 @@ const actions = {
return actions.loadTerminals();
},
async createTerminal({ name }) {
const res = await posterminalApi.create({ name });
reloadTerminals() {
return actions.loadTerminals();
},
async createTerminal(payload) {
const res = await posterminalApi.create(payload);
const terminal = res.posterminal;
companyAutomat.setState({
terminals: [...companyAutomat.state.terminals, terminal],
terminals: sortTerminals([...companyAutomat.state.terminals, terminal]),
});
return terminal;
},
@@ -620,8 +633,10 @@ const actions = {
const res = await posterminalApi.update(terminalId, patch);
const updated = res.posterminal;
companyAutomat.setState({
terminals: companyAutomat.state.terminals.map((t) =>
t.id === terminalId ? { ...t, ...updated } : t,
terminals: sortTerminals(
companyAutomat.state.terminals.map((t) =>
t.id === terminalId ? { ...t, ...updated } : t,
),
),
});
return updated;