{renderScreen(top.screen)}
dispatch({ type: "OPEN_ADD" })}
showFab={top.screen !== "profile"}
/>
{m?.type === "add" && (
dispatch({ type: "CLOSE_MODAL" })}
dispatch={dispatch}
/>
)}
{m?.type === "editPlace" && (() => {
const p = state.places.find((x) => x.id === m.placeId);
return p ? (
dispatch({ type: "CLOSE_MODAL" })}
dispatch={dispatch}
/>
) : null;
})()}
{m?.type === "saveToCollection" && (
dispatch({ type: "CLOSE_MODAL" })}
dispatch={dispatch}
/>
)}
{m?.type === "createCollection" && (
dispatch({ type: "CLOSE_MODAL" })}
dispatch={dispatch}
/>
)}
{m?.type === "editCollection" && (() => {
const c = data.collections.find((x) => x.id === m.collectionId);
return c ? (
dispatch({ type: "CLOSE_MODAL" })}
dispatch={dispatch}
/>
) : null;
})()}
{m?.type === "invite" && (
dispatch({ type: "CLOSE_MODAL" })}
dispatch={dispatch}
/>
)}
{m?.type === "members" && (
dispatch({ type: "CLOSE_MODAL" })}
dispatch={dispatch}
/>
)}
{m?.type === "confirmDeletePlace" && placeForDelete && (
{
const id = m.placeId;
dispatch({ type: "DELETE_PLACE", placeId: id });
startTransition(() => {
deletePlace(id).catch(() =>
dispatch({ type: "TOAST", value: "Xóa thất bại" }),
);
});
}}
onClose={() => dispatch({ type: "CLOSE_MODAL" })}
/>
)}
{m?.type === "confirmDeleteCollection" && collectionForDelete && (
{
const id = m.collectionId;
dispatch({ type: "CLOSE_MODAL" });
dispatch({ type: "BACK" });
startTransition(() => {
deleteCollection(id)
.then(() => dispatch({ type: "TOAST", value: "Đã xóa" }))
.catch(() => dispatch({ type: "TOAST", value: "Xóa thất bại" }));
});
}}
onClose={() => dispatch({ type: "CLOSE_MODAL" })}
/>
)}
{state.toast && (
{state.toast}
)}