fix: Add more filters by city for station list and sight list
This commit is contained in:
		| @@ -17,9 +17,10 @@ import { | ||||
|   Paper, | ||||
|   TableBody, | ||||
| } from "@mui/material"; | ||||
| import { observer } from "mobx-react-lite"; | ||||
| import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; | ||||
|  | ||||
| import { authInstance, languageStore } from "@shared"; | ||||
| import { authInstance, languageStore, selectedCityStore } from "@shared"; | ||||
|  | ||||
| type Field<T> = { | ||||
|   label: string; | ||||
| @@ -73,7 +74,7 @@ export const LinkedSights = < | ||||
|   ); | ||||
| }; | ||||
|  | ||||
| export const LinkedSightsContents = < | ||||
| const LinkedSightsContentsInner = < | ||||
|   T extends { id: number; name: string; [key: string]: any } | ||||
| >({ | ||||
|   parentId, | ||||
| @@ -100,6 +101,14 @@ export const LinkedSightsContents = < | ||||
|  | ||||
|   const availableItems = allItems | ||||
|     .filter((item) => !linkedItems.some((linked) => linked.id === item.id)) | ||||
|     .filter((item) => { | ||||
|       // Фильтруем по городу из навбара | ||||
|       const selectedCityId = selectedCityStore.selectedCityId; | ||||
|       if (selectedCityId && "city_id" in item) { | ||||
|         return item.city_id === selectedCityId; | ||||
|       } | ||||
|       return true; | ||||
|     }) | ||||
|     .sort((a, b) => a.name.localeCompare(b.name)); | ||||
|  | ||||
|   useEffect(() => { | ||||
| @@ -313,3 +322,7 @@ export const LinkedSightsContents = < | ||||
|     </> | ||||
|   ); | ||||
| }; | ||||
|  | ||||
| export const LinkedSightsContents = observer( | ||||
|   LinkedSightsContentsInner | ||||
| ) as typeof LinkedSightsContentsInner; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user