Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add "My series" page #1311

Open
wants to merge 7 commits into
base: next
Choose a base branch
from
Open

Add "My series" page #1311

wants to merge 7 commits into from

Conversation

owi92
Copy link
Member

@owi92 owi92 commented Jan 9, 2025

This adds a page to the "manage pages" area were users can see a list of their series.
Most of these changes are related to generalizing the "My videos" backend and frontend code, so it can also be used for series-, and later on playlist management.

This PR also addresses two issues related to the "My videos" table.

Please note that this is only the first step in adding a proper series management in Tobira. Right now, the list entries link directly to the corresponding series. This will be changed later to link to a "Series details" page.

Note for the reviewer: This is probably better to review file-by-file, since a lot of the commits touch and revise the same files.

Part of #355
Fixes #759
Closes #527

@owi92 owi92 added the changelog:user User facing changes label Jan 9, 2025
@github-actions github-actions bot temporarily deployed to test-deployment-pr1311 January 9, 2025 14:04 Destroyed
owi92 added 4 commits January 10, 2025 15:15
This generalizes and factors out some backend code
so it can also be used for series and playlists.

It also replaces the cursor based pagination with an
offset based one. That simplifies a lot of things and allows
us to get rid of a bunch of code.

The frontend now uses a `page` url parameter to signify the current
page. When entered manually, there are some checks and logic to make
sure it's always in bounds, i.e. using a number smaller than 0 will
always redirect to `page=1` and a number larger that the max number
of pages will redirect to the last page.

Please note that the generalization of the sorting columns will be done
in a later commit.
This factors out most of the table code for re-use
with other assets, namely series and playlists.

Please note that the generalization of column sorting
and display will be done in later commits.
This includes:
(a) Backend code that allows generating custom enums
for different sorting columns, trying to minimize the
necessity of code duplication
(b) Frontend code mostly related to parsing the custom
sorting columns from URL parameters and passing these to
the API

Generalization of the table, to represent these custom columns
will be done in the next commit.
@owi92 owi92 force-pushed the series-management branch from 0d8826c to 7b97115 Compare January 10, 2025 14:58
@github-actions github-actions bot temporarily deployed to test-deployment-pr1311 January 10, 2025 15:03 Destroyed
This will now take any custom columns into consideration
and makes their declaration easier while trying to limit
duplicated code as much as possible without adding too much
complexity.

Tables now have a __somewhat__ clear and fixed stucture.
Any customization, including additional columns, can be done
in the respective `index` files of the asset.

This is assuming that all asset tables have thumbnails, titles
and descriptions that share at least some portion of their styling.
But they can also be further customized.

All of this is also in preparation for adding a playlist table
later on. Adding that should be pretty straightforward now.
@github-actions github-actions bot temporarily deployed to test-deployment-pr1311 January 13, 2025 09:57 Destroyed
@owi92 owi92 force-pushed the series-management branch from 40bae15 to 7a054e4 Compare January 13, 2025 10:31
@github-actions github-actions bot temporarily deployed to test-deployment-pr1311 January 13, 2025 10:34 Destroyed
Todo: delete the other commit.
Copy link

This pull request has conflicts ☹
Please resolve those so we can review the pull request.
Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog:user User facing changes status:conflicts This PR has conflicts that need to be resolved
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant