feat: big major update

This commit is contained in:
2026-02-02 04:00:37 +03:00
parent bbab6fc46a
commit d557664b25
34 changed files with 1801 additions and 665 deletions

View File

@@ -8,8 +8,8 @@ import {
InputLabel,
} from "@mui/material";
import { observer } from "mobx-react-lite";
import { ArrowLeft, Save } from "lucide-react";
import { Loader2 } from "lucide-react";
import { ArrowLeft, Loader2, Save } from "lucide-react";
import { useNavigate } from "react-router-dom";
import { toast } from "react-toastify";
import {
@@ -17,15 +17,14 @@ import {
cityStore,
mediaStore,
languageStore,
isMediaIdEmpty,
useSelectedCity,
} from "@shared";
import { useState, useEffect } from "react";
import { ImageUploadCard, LanguageSwitcher } from "@widgets";
import {
SelectMediaDialog,
UploadMediaDialog,
PreviewMediaDialog,
} from "@shared";
import { useState, useEffect } from "react";
import { ImageUploadCard, LanguageSwitcher } from "@widgets";
export const CarrierCreatePage = observer(() => {
const navigate = useNavigate();
@@ -56,7 +55,7 @@ export const CarrierCreatePage = observer(() => {
selectedCityId,
createCarrierData[language].slogan,
selectedMediaId || "",
language
language,
);
}
}, [selectedCityId, createCarrierData.city_id]);
@@ -88,13 +87,17 @@ export const CarrierCreatePage = observer(() => {
createCarrierData.city_id,
createCarrierData[language].slogan,
media.id,
language
language,
);
};
const selectedMedia = selectedMediaId
? mediaStore.media.find((m) => m.id === selectedMediaId)
: null;
const selectedMedia =
selectedMediaId && !isMediaIdEmpty(selectedMediaId)
? mediaStore.media.find((m) => m.id === selectedMediaId)
: null;
const effectiveLogoUrl = isMediaIdEmpty(selectedMediaId)
? null
: selectedMedia?.id ?? selectedMediaId ?? null;
return (
<Paper className="w-full h-full p-3 flex flex-col gap-10">
@@ -127,7 +130,7 @@ export const CarrierCreatePage = observer(() => {
e.target.value as number,
createCarrierData[language].slogan,
selectedMediaId || "",
language
language,
)
}
>
@@ -151,7 +154,7 @@ export const CarrierCreatePage = observer(() => {
createCarrierData.city_id,
createCarrierData[language].slogan,
selectedMediaId || "",
language
language,
)
}
/>
@@ -168,7 +171,7 @@ export const CarrierCreatePage = observer(() => {
createCarrierData.city_id,
createCarrierData[language].slogan,
selectedMediaId || "",
language
language,
)
}
/>
@@ -184,7 +187,7 @@ export const CarrierCreatePage = observer(() => {
createCarrierData.city_id,
e.target.value,
selectedMediaId || "",
language
language,
)
}
/>
@@ -193,10 +196,10 @@ export const CarrierCreatePage = observer(() => {
<ImageUploadCard
title="Логотип перевозчика"
imageKey="thumbnail"
imageUrl={selectedMedia?.id}
imageUrl={effectiveLogoUrl}
onImageClick={() => {
setIsPreviewMediaOpen(true);
setMediaId(selectedMedia?.id ?? "");
setMediaId(effectiveLogoUrl ?? "");
}}
onDeleteImageClick={() => {
setSelectedMediaId(null);
@@ -207,7 +210,7 @@ export const CarrierCreatePage = observer(() => {
createCarrierData.city_id,
createCarrierData[language].slogan,
"",
language
language,
);
}}
onSelectFileClick={() => {