diff --git a/src/components/Header.tsx b/src/components/Header.tsx index cbcf7b1..04c3d0b 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -9,35 +9,51 @@ import { Repository } from '../types'; +import { + MIRRORS +} from '../services/api'; + interface HeaderProps { - onRepositoryChange: (repo: Repository) => void; + onRepositoryChange: (repo: Repository) => void; } -export function Header({ onRepositoryChange }: HeaderProps): JSX.Element { - return ( -
-
-
- {/* Logo Section */} -
- -
+export function Header({ + onRepositoryChange +}: HeaderProps): JSX.Element { + const usedRepositories = new Set(Object.values(MIRRORS).map(mirror => mirror.repository)); + + const filteredRepository = Object.keys(Repository).reduce((acc, key) => { + // Говно-код :D + if ((key === 'ALL') || usedRepositories.has(Repository[key as keyof typeof Repository])) acc[key] = Repository[key as keyof typeof Repository]; + return acc; + }, {} as Record); - {/* Repository Filter Dropdown */} -
- -
+ return ( +
+
+
+ {/* Logo Section */} - {/* Theme Toggle */} - -
-
-
- ); +
+ +
+ + {/* Repository Filter Dropdown */} + +
+ +
+ + {/* Theme Toggle */} + +
+
+
+ ); } diff --git a/src/services/api.ts b/src/services/api.ts index aaf7c4a..a620e8f 100644 --- a/src/services/api.ts +++ b/src/services/api.ts @@ -4,7 +4,7 @@ import { } from '../types'; // Define the mirrors from which packages will be fetched -const MIRRORS: Record = {