diff --git a/src/components/RequestList/RequestItem/index.tsx b/src/components/RequestList/RequestItem/index.tsx index f42741de4..1ff736c38 100644 --- a/src/components/RequestList/RequestItem/index.tsx +++ b/src/components/RequestList/RequestItem/index.tsx @@ -100,7 +100,7 @@ const RequestItem: React.FC = ({ if (!title && !error) { return ( - + ); @@ -108,61 +108,62 @@ const RequestItem: React.FC = ({ if (!title || !requestData) { return ( - + ); } return ( - - - - - - - - + - - - {isMovie(title) ? title.title : title.name} - - -
- {intl.formatMessage(messages.requestedby, { - username: requestData.requestedBy.username, - })} -
- {requestData.seasons.length > 0 && ( -
- {intl.formatMessage(messages.seasons)} - {requestData.seasons.map((season) => ( - - {season.seasonNumber} - - ))} +
+ + + + + +
+ + + {isMovie(title) ? title.title : title.name} + + +
+ {intl.formatMessage(messages.requestedby, { + username: requestData.requestedBy.username, + })} +
+ {requestData.seasons.length > 0 && ( +
+ + {intl.formatMessage(messages.seasons)} + + {requestData.seasons.map((season) => ( + + {season.seasonNumber} + + ))} +
+ )}
- )} +
{requestData.media.status === MediaStatus.UNKNOWN ? ( diff --git a/src/components/RequestList/index.tsx b/src/components/RequestList/index.tsx index 779e08f91..c05573b6c 100644 --- a/src/components/RequestList/index.tsx +++ b/src/components/RequestList/index.tsx @@ -18,14 +18,28 @@ const messages = defineMessages({ 'Showing {from} to {to} of {total} results', next: 'Next', previous: 'Previous', + filterAll: 'All', + filterPending: 'Pending', + filterApproved: 'Approved', + noresults: 'No Results.', + showallrequests: 'Show All Requests', + sortAdded: 'Request Date', + sortModified: 'Last Modified', }); +type Filter = 'all' | 'approved' | 'pending'; +type Sort = 'added' | 'modified'; + const RequestList: React.FC = () => { const intl = useIntl(); const [pageIndex, setPageIndex] = useState(0); + const [currentFilter, setCurrentFilter] = useState('pending'); + const [currentSort, setCurrentSort] = useState('added'); const { data, error, revalidate } = useSWR( - `/api/v1/request?take=10&skip=${pageIndex * 10}` + `/api/v1/request?take=10&skip=${ + pageIndex * 10 + }&filter=${currentFilter}&sort=${currentSort}` ); if (!data && !error) { return ; @@ -40,10 +54,86 @@ const RequestList: React.FC = () => { return ( <> -
{intl.formatMessage(messages.requests)}
+
+
{intl.formatMessage(messages.requests)}
+
+
+ + + + + + +
+
+ + + + + + +
+
+
- {intl.formatMessage(messages.mediaInfo)}{intl.formatMessage(messages.status)}{intl.formatMessage(messages.requestedAt)} @@ -60,6 +150,27 @@ const RequestList: React.FC = () => { /> ); })} + + {data.results.length === 0 && ( + + +
+ {intl.formatMessage(messages.noresults)} + {currentFilter !== 'all' && ( +
+ +
+ )} +
+
+ + )}