1
0
Fork 0
mirror of https://github.com/pawelmalak/flame.git synced 2025-07-21 12:29:36 +02:00
flame/client/src/components/Bookmarks/BookmarkGrid/BookmarkGrid.tsx

58 lines
1.5 KiB
TypeScript
Raw Normal View History

import { Link } from 'react-router-dom';
import classes from './BookmarkGrid.module.css';
import { Category } from '../../../interfaces';
import BookmarkCard from '../BookmarkCard/BookmarkCard';
interface ComponentProps {
categories: Category[];
totalCategories?: number;
2021-09-06 13:22:47 +02:00
searching: boolean;
}
const BookmarkGrid = (props: ComponentProps): JSX.Element => {
let bookmarks: JSX.Element;
if (props.categories.length > 0) {
2021-09-06 13:22:47 +02:00
if (props.searching && props.categories[0].bookmarks.length === 0) {
bookmarks = (
<p className={classes.BookmarksMessage}>
No bookmarks match your search criteria
</p>
);
} else {
bookmarks = (
<div className={classes.BookmarkGrid}>
{props.categories.map(
(category: Category): JSX.Element => (
<BookmarkCard category={category} key={category.id} />
)
)}
</div>
);
}
} else {
if (props.totalCategories) {
bookmarks = (
2021-09-06 13:22:47 +02:00
<p className={classes.BookmarksMessage}>
There are no pinned categories. You can pin them from the{' '}
<Link to="/bookmarks">/bookmarks</Link> menu
</p>
);
} else {
bookmarks = (
2021-09-06 13:22:47 +02:00
<p className={classes.BookmarksMessage}>
You don't have any bookmarks. You can add a new one from{' '}
<Link to="/bookmarks">/bookmarks</Link> menu
</p>
);
}
}
return bookmarks;
2021-09-06 13:22:47 +02:00
};
2021-09-06 13:22:47 +02:00
export default BookmarkGrid;