1
0
Fork 0
mirror of https://github.com/pawelmalak/flame.git synced 2025-07-20 12:09:36 +02:00
flame/client/src/components/Apps/AppGrid/AppGrid.tsx
François Darveau 31cf2bc5ad Add app categories (#0)
add app categories
2021-10-11 11:00:22 -04:00

54 lines
1.4 KiB
TypeScript

import { Link } from 'react-router-dom';
import { App, Category } from '../../../interfaces';
import AppCard from '../AppCard/AppCard';
import classes from './AppGrid.module.css';
interface ComponentProps {
categories: Category[];
apps: App[]
totalCategories?: number;
searching: boolean;
}
const AppGrid = (props: ComponentProps): JSX.Element => {
let apps: JSX.Element;
if (props.categories.length > 0) {
apps = (
<div className={classes.AppGrid}>
{props.categories.map((category: Category): JSX.Element => {
return <AppCard key={category.id} category={category} apps={props.apps.filter((app: App) => app.categoryId === category.id)} />
})}
</div>
);
} else {
if (props.totalCategories) {
if (props.searching) {
apps = (
<p className={classes.AppsMessage}>
No apps match your search criteria
</p>
);
} else {
apps = (
<p className={classes.AppsMessage}>
There are no pinned application categories. You can pin them from the{' '}
<Link to="/applications">/applications</Link> menu
</p>
);
}
} else {
apps = (
<p className={classes.AppsMessage}>
You don't have any applications. You can add a new one from the{' '}
<Link to="/applications">/applications</Link> menu
</p>
);
}
}
return apps;
};
export default AppGrid;