mirror of
https://github.com/pawelmalak/flame.git
synced 2025-07-19 11:39:36 +02:00
51 lines
1.2 KiB
TypeScript
51 lines
1.2 KiB
TypeScript
import classes from './AppGrid.module.css';
|
|
import { Link } from 'react-router-dom';
|
|
import { App } from '../../../interfaces/App';
|
|
|
|
import { AppCard } from '../AppCard/AppCard';
|
|
|
|
interface Props {
|
|
apps: App[];
|
|
totalApps?: number;
|
|
searching: boolean;
|
|
}
|
|
|
|
export const AppGrid = (props: Props): JSX.Element => {
|
|
let apps: JSX.Element;
|
|
|
|
if (props.apps.length > 0) {
|
|
apps = (
|
|
<div className={classes.AppGrid}>
|
|
{props.apps.map((app: App): JSX.Element => {
|
|
return <AppCard key={app.id} app={app} />;
|
|
})}
|
|
</div>
|
|
);
|
|
} else {
|
|
if (props.totalApps) {
|
|
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 applications. 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{' '}
|
|
<Link to="/applications">/applications</Link> menu
|
|
</p>
|
|
);
|
|
}
|
|
}
|
|
|
|
return apps;
|
|
};
|