feat: hide search input when list is empty and add animated city selector highlight

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-19 14:14:04 +03:00
parent fbf6b0dc9d
commit 7e539f550b
12 changed files with 111 additions and 50 deletions

View File

@@ -108,7 +108,9 @@ export const ArticleListPage = observer(() => {
</div>
)}
<SearchInput value={searchQuery} onChange={setSearchQuery} />
{rows.length > 0 && (
<SearchInput value={searchQuery} onChange={setSearchQuery} />
)}
<div className="w-full">
<DataGrid

View File

@@ -162,7 +162,9 @@ export const CarrierListPage = observer(() => {
</div>
)}
<SearchInput value={searchQuery} onChange={setSearchQuery} />
{rows.length > 0 && (
<SearchInput value={searchQuery} onChange={setSearchQuery} />
)}
<DataGrid
rows={rows}

View File

@@ -165,7 +165,9 @@ export const CityListPage = observer(() => {
</div>
)}
<SearchInput value={searchQuery} onChange={setSearchQuery} />
{rows.length > 0 && (
<SearchInput value={searchQuery} onChange={setSearchQuery} />
)}
<DataGrid
rows={filteredRows}

View File

@@ -117,7 +117,9 @@ export const CountryListPage = observer(() => {
</div>
)}
<SearchInput value={searchQuery} onChange={setSearchQuery} />
{rows.length > 0 && (
<SearchInput value={searchQuery} onChange={setSearchQuery} />
)}
<DataGrid
rows={rows}

View File

@@ -113,7 +113,9 @@ export const MediaListPage = observer(() => {
return (
<>
<div className="w-full">
<SearchInput value={searchQuery} onChange={setSearchQuery} />
{rows.length > 0 && (
<SearchInput value={searchQuery} onChange={setSearchQuery} />
)}
{canWriteMedia && ids.length > 0 && (
<div className="flex justify-end mb-5 duration-300">

View File

@@ -271,7 +271,9 @@ export const RouteListPage = observer(() => {
</div>
)}
<SearchInput value={searchQuery} onChange={setSearchQuery} />
{rows.length > 0 && (
<SearchInput value={searchQuery} onChange={setSearchQuery} />
)}
<DataGrid
rows={rows}

View File

@@ -182,7 +182,9 @@ export const SightListPage = observer(() => {
</div>
)}
<SearchInput value={searchQuery} onChange={setSearchQuery} />
{rows.length > 0 && (
<SearchInput value={searchQuery} onChange={setSearchQuery} />
)}
<DataGrid
rows={rows}

View File

@@ -299,7 +299,9 @@ export const SnapshotListPage = observer(() => {
</Alert>
)}
<SearchInput value={searchQuery} onChange={setSearchQuery} />
{rows.length > 0 && (
<SearchInput value={searchQuery} onChange={setSearchQuery} />
)}
<DataGrid
rows={rows}

View File

@@ -226,7 +226,9 @@ export const StationListPage = observer(() => {
</div>
)}
<SearchInput value={searchQuery} onChange={setSearchQuery} />
{rows.length > 0 && (
<SearchInput value={searchQuery} onChange={setSearchQuery} />
)}
<DataGrid
rows={rows}

View File

@@ -147,7 +147,9 @@ export const UserListPage = observer(() => {
</div>
)}
<SearchInput value={searchQuery} onChange={setSearchQuery} />
{rows.length > 0 && (
<SearchInput value={searchQuery} onChange={setSearchQuery} />
)}
<DataGrid
rows={rows}

View File

@@ -174,7 +174,9 @@ export const VehicleListPage = observer(() => {
/>
</div>
<SearchInput value={searchQuery} onChange={setSearchQuery} />
{rows.length > 0 && (
<SearchInput value={searchQuery} onChange={setSearchQuery} />
)}
{canWriteVehicles && ids.length > 0 && (
<div className="flex justify-end mb-5 duration-300">