Ymse endringer (litt usikker...)
This commit is contained in:
parent
64d15ebd4e
commit
6252879bbd
1 changed files with 30 additions and 22 deletions
|
|
@ -9,7 +9,7 @@ import { adminFetch } from "@/config/adminFetch";
|
|||
|
||||
type GolfpakkeRow = {
|
||||
navn: string;
|
||||
pris: string;
|
||||
pris: string | number;
|
||||
beskrivelse: string;
|
||||
lenke: string;
|
||||
};
|
||||
|
|
@ -21,6 +21,11 @@ const EMPTY_ROW: GolfpakkeRow = {
|
|||
lenke: '',
|
||||
};
|
||||
|
||||
function normalizePriceInput(value: string | number | null | undefined): string {
|
||||
if (value === null || value === undefined) return '';
|
||||
return String(value).trim();
|
||||
}
|
||||
|
||||
export default function GolfpakkerWasher() {
|
||||
const [drafts, setDrafts] = useState<any[]>([]);
|
||||
const [loading, setLoading] = useState(true);
|
||||
|
|
@ -51,7 +56,7 @@ export default function GolfpakkerWasher() {
|
|||
golfpakker_draft: parsedDraft,
|
||||
edit_golfpakker: suggestedPackages.map((row: any) => ({
|
||||
navn: row?.navn || '',
|
||||
pris: row?.pris ?? '',
|
||||
pris: normalizePriceInput(row?.pris),
|
||||
beskrivelse: row?.beskrivelse || '',
|
||||
lenke: row?.lenke || '',
|
||||
})),
|
||||
|
|
@ -102,27 +107,30 @@ export default function GolfpakkerWasher() {
|
|||
};
|
||||
|
||||
const handleApprove = async () => {
|
||||
const approvals = drafts
|
||||
.filter((draft) => selectedIds.includes(draft.id))
|
||||
.map((draft) => ({
|
||||
facility_id: draft.id,
|
||||
golfpakker: draft.edit_golfpakker
|
||||
.map((row: GolfpakkeRow) => ({
|
||||
navn: row.navn.trim(),
|
||||
pris: row.pris.trim() ? Number(row.pris) : null,
|
||||
beskrivelse: row.beskrivelse.trim(),
|
||||
lenke: row.lenke.trim(),
|
||||
}))
|
||||
.filter((row: any) => row.navn || row.pris !== null || row.beskrivelse || row.lenke),
|
||||
}));
|
||||
|
||||
if (approvals.length === 0) {
|
||||
alert("Velg minst ett anlegg å godkjenne.");
|
||||
return;
|
||||
}
|
||||
|
||||
setSaving(true);
|
||||
try {
|
||||
const approvals = drafts
|
||||
.filter((draft) => selectedIds.includes(draft.id))
|
||||
.map((draft) => ({
|
||||
facility_id: draft.id,
|
||||
golfpakker: draft.edit_golfpakker
|
||||
.map((row: GolfpakkeRow) => {
|
||||
const priceValue = normalizePriceInput(row.pris);
|
||||
return {
|
||||
navn: String(row.navn || '').trim(),
|
||||
pris: priceValue ? Number(priceValue) : null,
|
||||
beskrivelse: String(row.beskrivelse || '').trim(),
|
||||
lenke: String(row.lenke || '').trim(),
|
||||
};
|
||||
})
|
||||
.filter((row: any) => row.navn || row.pris !== null || row.beskrivelse || row.lenke),
|
||||
}));
|
||||
|
||||
if (approvals.length === 0) {
|
||||
alert("Velg minst ett anlegg å godkjenne.");
|
||||
return;
|
||||
}
|
||||
|
||||
setSaving(true);
|
||||
const res = await adminFetch(`${API_URL}/admin/golfpakker/approve-bulk`, {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
|
|
|
|||
Loading…
Reference in a new issue