feat: update color carrier

This commit is contained in:
2026-05-05 15:07:18 +03:00
parent e3469763ce
commit 6af95bb449
25 changed files with 620 additions and 80 deletions

View File

@@ -39,6 +39,12 @@ import type { Route } from "@shared";
export const RouteCreatePage = observer(() => {
const navigate = useNavigate();
useEffect(() => {
selectedCityStore.setIsLocked(true);
return () => selectedCityStore.setIsLocked(false);
}, []);
const [carrier, setCarrier] = useState<string>("");
const [routeNumber, setRouteNumber] = useState("");
const [routeCoords, setRouteCoords] = useState("");
@@ -555,7 +561,7 @@ export const RouteCreatePage = observer(() => {
/>
<TextField
className="w-full"
label="Таймер видео (сек)"
label="Таймер видео заставки (сек)"
type="number"
value={videoTimer}
onChange={(e) => {

View File

@@ -36,11 +36,18 @@ import {
UploadMediaDialog,
PreviewMediaDialog,
LoadingSpinner,
selectedCityStore,
} from "@shared";
import { LinkedItems } from "../LinekedStations";
export const RouteEditPage = observer(() => {
const navigate = useNavigate();
useEffect(() => {
selectedCityStore.setIsLocked(true);
return () => selectedCityStore.setIsLocked(false);
}, []);
const { id } = useParams();
const { editRouteData, copyRouteAction } = routeStore;
const [isLoading, setIsLoading] = useState(false);
@@ -548,7 +555,7 @@ export const RouteEditPage = observer(() => {
/>
<TextField
className="w-full"
label="Таймер видео (сек)"
label="Таймер видео заставки (сек)"
type="number"
value={editRouteData.video_timer ?? 60}
onChange={(e) => {

View File

@@ -210,6 +210,9 @@ export const RouteListPage = observer(() => {
const rows = useMemo(() => {
const { selectedCityId } = selectedCityStore;
if (!selectedCityId) {
return [];
}
const query = searchQuery.trim().toLowerCase();
let filtered = routes.data;
if (selectedCityId) {
@@ -247,7 +250,11 @@ export const RouteListPage = observer(() => {
<div className="flex justify-between items-center mb-10">
<h1 className="text-2xl">Маршруты</h1>
{canWriteRoutes && (
<CreateButton label="Создать маршрут" path="/route/create" />
<CreateButton
label="Создать маршрут"
path="/route/create"
disabled={!selectedCityStore.selectedCityId}
/>
)}
</div>
@@ -304,7 +311,13 @@ export const RouteListPage = observer(() => {
slots={{
noRowsOverlay: () => (
<Box sx={{ mt: 5, textAlign: "center", color: "text.secondary" }}>
{isLoading ? <CircularProgress size={20} /> : "Нет маршрутов"}
{isLoading ? (
<CircularProgress size={20} />
) : !selectedCityStore.selectedCityId ? (
"Выберите город"
) : (
"Нет маршрутов"
)}
</Box>
),
}}