Merge PR #7 from XlebyllleK/master

feat: sort packages alphabetically
This commit is contained in:
Eshan Roy
2025-01-12 10:57:28 +05:30
committed by GitHub

View File

@@ -1,29 +1,42 @@
import {
JSX
JSX,
useMemo
} from 'react';
import { Package } from '../types';
import { PackageCard } from './PackageCard';
import {
Package
} from '../types';
import {
PackageCard
} from './PackageCard';
interface PackageListProps {
packages: Package[];
loading: boolean;
packages: Package[];
loading: boolean;
}
export function PackageList({ packages, loading }: PackageListProps): JSX.Element {
if (loading) {
return (
<div className="flex items-center justify-center h-64">
<div className="animate-spin rounded-full h-8 w-8 border-b-2 border-blue-500"></div>
</div>
export function PackageList({
packages,
loading
}: PackageListProps): JSX.Element {
if (loading) return (
<div className="flex items-center justify-center h-64">
<div className="animate-spin rounded-full h-8 w-8 border-b-2 border-blue-500"></div>
</div>
);
}
return (
<div className="grid gap-4">
{packages.map((pkg) => (
<PackageCard key={pkg.name} package={pkg} />
))}
</div>
);
}
const sortedPackages = useMemo(
() => [...packages].sort(
(a, b) => a.name.localeCompare(b.name)
), [packages]
);
return (
<div className="grid gap-4">
{sortedPackages.map((pkg) => (
<PackageCard key={pkg.name} package={pkg} />
))}
</div>
);
}