feat: testing mode banner + snapshot storage fields fix

This commit is contained in:
2026-04-17 15:31:14 +03:00
parent d380b2570f
commit a3a4d2eb18
17 changed files with 228 additions and 29 deletions

View File

@@ -1,6 +1,5 @@
import {
Button,
Paper,
TextField,
Select,
MenuItem,
@@ -52,6 +51,7 @@ export const RouteCreatePage = observer(() => {
const [turn, setTurn] = useState("");
const [centerLat, setCenterLat] = useState("");
const [centerLng, setCenterLng] = useState("");
const [videoTimer, setVideoTimer] = useState(60);
const [videoPreview, setVideoPreview] = useState<string>("");
const [icon, setIcon] = useState<string>("");
const [isLoading, setIsLoading] = useState(false);
@@ -279,6 +279,7 @@ export const RouteCreatePage = observer(() => {
path,
video_preview: !isMediaIdEmpty(videoPreview) ? videoPreview : undefined,
icon: !isMediaIdEmpty(icon) ? icon : undefined,
video_timer: videoTimer,
};
if (governor_appeal !== undefined) {
@@ -301,7 +302,7 @@ export const RouteCreatePage = observer(() => {
);
return (
<Paper className="w-full h-full p-3 flex flex-col gap-10">
<div className="w-full h-full p-3 flex flex-col gap-10">
<div className="flex items-center gap-4">
<button
className="flex items-center gap-2"
@@ -375,6 +376,7 @@ export const RouteCreatePage = observer(() => {
}
placeholder="55.7558 37.6173&#10;55.7539 37.6208"
sx={{
mt: 1,
"& .MuiInputBase-root": {
maxHeight: "500px",
overflow: "auto",
@@ -383,7 +385,6 @@ export const RouteCreatePage = observer(() => {
fontFamily: "monospace",
fontSize: "0.8rem",
lineHeight: "1.2",
padding: "8px 12px",
},
"& .MuiFormHelperText-root": {
fontSize: "0.75rem",
@@ -552,6 +553,18 @@ export const RouteCreatePage = observer(() => {
value={centerLng}
onChange={(e) => setCenterLng(e.target.value)}
/>
<TextField
className="w-full"
label="Таймер видео (сек)"
type="number"
value={videoTimer}
onChange={(e) => {
const val = Math.max(1, Math.round(Number(e.target.value)));
if (Number.isFinite(val)) {
setVideoTimer(val);
}
}}
/>
</Box>
<div className="flex w-full justify-end">
<Button
@@ -641,6 +654,6 @@ export const RouteCreatePage = observer(() => {
onClose={() => setIsPreviewIconOpen(false)}
mediaId={previewIconId}
/>
</Paper>
</div>
);
});

View File

@@ -1,6 +1,5 @@
import {
Button,
Paper,
TextField,
Select,
MenuItem,
@@ -293,7 +292,7 @@ export const RouteEditPage = observer(() => {
}
return (
<Paper className="w-full h-full p-3 flex flex-col gap-10">
<div className="w-full h-full p-3 flex flex-col gap-10">
<div className="flex items-center gap-4">
<button
className="flex items-center gap-2"
@@ -403,6 +402,7 @@ export const RouteEditPage = observer(() => {
}
placeholder="55.7558 37.6173&#10;55.7539 37.6208"
sx={{
mt: 1,
"& .MuiInputBase-root": {
maxHeight: "500px",
overflow: "auto",
@@ -411,7 +411,6 @@ export const RouteEditPage = observer(() => {
fontFamily: "monospace",
fontSize: "0.8rem",
lineHeight: "1.2",
padding: "8px 12px",
},
"& .MuiFormHelperText-root": {
fontSize: "0.75rem",
@@ -547,6 +546,18 @@ export const RouteEditPage = observer(() => {
})
}
/>
<TextField
className="w-full"
label="Таймер видео (сек)"
type="number"
value={editRouteData.video_timer ?? 60}
onChange={(e) => {
const val = Math.max(1, Math.round(Number(e.target.value)));
if (Number.isFinite(val)) {
routeStore.setEditRouteData({ video_timer: val });
}
}}
/>
<Typography variant="subtitle1" sx={{ fontWeight: 600 }}>
Обращение к пассажирам
@@ -743,6 +754,6 @@ export const RouteEditPage = observer(() => {
onCancel={() => setIsDeleteIconModalOpen(false)}
edit
/>
</Paper>
</div>
);
});