drawer menu view edit

drawermenu:
1. contact info: address,phone,location
2. working hours
3. description
4. social links
This commit is contained in:
2026-04-09 18:08:31 +07:00
parent b6f1b92feb
commit 324166e07a
2 changed files with 57 additions and 33 deletions

View File

@@ -42,6 +42,7 @@ exports.index = async (req, res) => {
socialLinks: header.top?.socialLinks || [],
},
logo: header.logo?.light || "",
header: header,
}
: {
topbar: {
@@ -53,6 +54,7 @@ exports.index = async (req, res) => {
socialLinks: [],
},
logo: "",
header: null,
};
const activeTab = req.query.tab || "topbar";
@@ -172,40 +174,28 @@ exports.update = async (req, res) => {
location: parsedData.contactInfo?.location || "",
socialLinks: parsedData.socialLinks || [],
};
} catch (parseErr) {
console.error("✗ Error parsing topbarJson:", parseErr);
}
}
if (logo) {
updateData.logo = logoData;
}
console.log(
"Preparing to update header with data:",
JSON.stringify(updateData, null, 2),
);
const updatedHeader = await Header.findByIdAndUpdate(
headerId,
updateData,
{ new: true, runValidators: true },
);
if (!updatedHeader) {
console.error("✗ Header not found with ID:", headerId);
return res.status(404).json({
success: false,
message: "Header not found",
});
}
res.json({
success: true,
message: "Header updated successfully",
data: updatedHeader,
});
} catch (error) {
console.error("✗ Error updating header:", error);
res.status(400).json({
success: false,
message: error.message,
});
// Nếu có offcanvasJson, parse nó
const { offcanvasJson } = req.body;
if (offcanvasJson && typeof offcanvasJson === "string") {
try {
const parsedOffcanvas = JSON.parse(offcanvasJson);
console.log("✓ Parsed offcanvasJson successfully:", parsedOffcanvas);
offcanvas = {
description: parsedOffcanvas.description || "",
contactInfo: {
address: parsedOffcanvas.contactInfo?.address || "",
email: parsedOffcanvas.contactInfo?.email || "",
workingHours: parsedOffcanvas.contactInfo?.workingHours || "",
phone: parsedOffcanvas.contactInfo?.phone || "",
},
};
} catch (parseErr) {
console.error("✗ Error parsing offcanvasJson:", parseErr);
}
}