- {/* 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 */}
-
- onRepositoryChange(e.target.value as Repository)
- } defaultValue="all" className="bg-nord-5 dark:bg-nord-1 text-black dark:text-white border-2 border-nord-4 dark:border-nord-2 rounded-lg py-2 px-4 focus:ring-2 focus:ring-nord-8">
- {Object.values(Repository).map((repository) => (
- {((repository === Repository.ALL) ? 'All Repositories' : repository.charAt(0).toUpperCase() + repository.slice(1))}
- ))}
-
-
+ return (
+
- );
+
+
+
+
+ {/* Repository Filter Dropdown */}
+
+
+ onRepositoryChange(e.target.value as Repository)
+ } defaultValue="all" className="bg-nord-5 dark:bg-nord-1 text-black dark:text-white border-2 border-nord-4 dark:border-nord-2 rounded-lg py-2 px-4 focus:ring-2 focus:ring-nord-8">
+ {Object.values(filteredRepository).map((repository) => (
+ {((repository === Repository.ALL) ? 'All Repositories' : repository.charAt(0).toUpperCase() + repository.slice(1))}
+ ))}
+
+
+
+ {/* Theme Toggle */}
+
+