= ({ canEdit, isPortraitMode = false }) =
})
}, [])
+ const batchToolbar = rewardMode
+ ? null
+ : !batchMode
+ ? (
+
+ )
+ : (
+
+
+
+
+
+
+ )
+
return (
= ({ canEdit, isPortraitMode = false }) =
icon={}
onClick={handleUndoLastEvent}
loading={undoLoading}
- disabled={!canEdit || !latestEvent}
+ disabled={!canEdit || !latestEvent || rewardMode}
title={
latestEvent
? t("home.undoLastHint", {
@@ -2118,31 +2247,10 @@ export const Home: React.FC = ({ canEdit, isPortraitMode = false }) =
>
{t("home.undoLastAction")}
- {!batchMode ? (
-
- ) : (
-
-
-
-
-
-
- )}
+
+ {batchToolbar}
@@ -2183,6 +2291,54 @@ export const Home: React.FC = ({ canEdit, isPortraitMode = false }) =
)}
+ {
+ setRewardModalVisible(false)
+ setRewardStudent(null)
+ }}
+ footer={null}
+ destroyOnHidden
+ >
+ {!rewardStudent ? null : (
+ <>
+
+ {t("rewardExchange.currentRewardPoints", { points: rewardStudent.reward_points })}
+
+ {affordableRewards.length === 0 ? (
+ {t("rewardExchange.noAffordableRewards")}
+ ) : (
+
+ {affordableRewards.map((reward) => (
+
+
+
{reward.name}
+
+ {t("rewardExchange.costLabel", { points: reward.cost_points })}
+
+
+
+
+ ))}
+
+ )}
+ >
+ )}
+
+
{isPortraitMode ? (
,
label: t("sidebar.autoScore"),
},
- {
- key: "reward-exchange",
- icon: ,
- label: t("sidebar.rewardExchange"),
- },
{
key: "reward-settings",
icon: ,