feat: refine filtering logic in MovieList and TrackedMovies components to improve movie categorization; adjust seen and released filters for better user experience
This commit is contained in:
parent
37e0d00214
commit
50aa22ee6c
|
|
@ -152,19 +152,31 @@ export const MovieList: FC<Props> = ({
|
||||||
Ulubione ({movies.filter((movie) => movie.favorite).length})
|
Ulubione ({movies.filter((movie) => movie.favorite).length})
|
||||||
</Label>
|
</Label>
|
||||||
<Label
|
<Label
|
||||||
active={filter.seen !== undefined}
|
active={
|
||||||
|
filter.seen !== undefined && filter.released === undefined
|
||||||
|
}
|
||||||
onClick={() => handleFilter("seen")}
|
onClick={() => handleFilter("seen")}
|
||||||
>
|
>
|
||||||
Obejrzane ({movies.filter((movie) => movie.seen).length})
|
Obejrzane ({movies.filter((movie) => movie.seen).length})
|
||||||
</Label>
|
</Label>
|
||||||
<Label
|
<Label
|
||||||
active={filter.released !== undefined}
|
active={
|
||||||
onClick={() => handleFilter("released")}
|
filter.released !== undefined && filter.seen !== undefined
|
||||||
|
}
|
||||||
|
onClick={() =>
|
||||||
|
setFilter({
|
||||||
|
seen: 0,
|
||||||
|
released: 1,
|
||||||
|
favorites: filterFavoritesInitial,
|
||||||
|
upcoming: filterUpcomingInitial,
|
||||||
|
})
|
||||||
|
}
|
||||||
>
|
>
|
||||||
W kinach (
|
Do obejrzenia (
|
||||||
{
|
{
|
||||||
movies.filter(
|
movies.filter(
|
||||||
(movie) => new Date(movie.release_date) < new Date()
|
(movie) =>
|
||||||
|
new Date(movie.release_date) < new Date() && !movie.seen
|
||||||
).length
|
).length
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -27,9 +27,17 @@ export const TrackedMovies: FC<Props> = ({
|
||||||
}
|
}
|
||||||
|
|
||||||
const today = new Date();
|
const today = new Date();
|
||||||
const upcoming = movies.filter(
|
const upcoming = movies.filter((movie) => {
|
||||||
(movie) => new Date(movie.release_date) > today
|
const daysSinceRelease = Math.abs(
|
||||||
);
|
Math.floor(
|
||||||
|
(new Date().getTime() - new Date(movie.release_date).getTime()) /
|
||||||
|
(1000 * 60 * 60 * 24)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
return (
|
||||||
|
new Date(movie.release_date) > today && daysSinceRelease <= daysLimit
|
||||||
|
);
|
||||||
|
});
|
||||||
const inCinema = movies.filter((movie) => {
|
const inCinema = movies.filter((movie) => {
|
||||||
const daysSinceRelease = Math.floor(
|
const daysSinceRelease = Math.floor(
|
||||||
(new Date().getTime() - new Date(movie.release_date).getTime()) /
|
(new Date().getTime() - new Date(movie.release_date).getTime()) /
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue