Commit Graph

103 Commits

Author SHA1 Message Date
Lucas 70191db656 Rename PoorBooru => PoorBooru::Backend 2023-03-05 20:03:20 +00:00
Lucas db26c5fcc9 migrate.pl: ignore dbix_migration table 2023-03-05 19:57:20 +00:00
Lucas 6dfabdf29f backend: add / 2023-03-05 17:23:13 +00:00
Lucas 302ec269d5 Add a barebones SeaweedFS client library 2023-03-05 17:23:13 +00:00
Lucas c9ffa62be8 api: quiet a warning about tag_id not being numeric
Only add one of tag_id or name to the search query, depending on whether
tag_id_or_name is numeric or not.

While at it, replace a {} with undef in search().
2023-03-05 17:23:13 +00:00
Lucas 04580aca72 api: add /random/media 2023-03-05 17:23:13 +00:00
Lucas 0c4ab53586 api: add /media and /media/:media_id 2023-03-05 17:23:13 +00:00
Lucas 8655e5fa04 db: use a binary seaweedfs_fid 2023-03-05 17:23:13 +00:00
Lucas 6ecf98f917 api: add /random/tag 2023-03-04 21:58:18 +00:00
Lucas 7ccbc3af12 api: initial migration 2023-03-04 21:58:18 +00:00
Lucas 13a6d287af db: rework schema and infrastructure 2023-03-04 21:31:42 +00:00
Lucas fbcaea8bfc Remove Dancer2 files 2023-03-04 21:31:42 +00:00
Lucas ff22b71fa1 backend: use tag name instead of ID 2023-02-22 21:10:01 +00:00
Lucas cb361c21cd Update TODO 2023-02-22 17:07:57 +00:00
Lucas 5a0b18feb8 Replace some concatenations with interpolation 2023-02-21 19:55:12 +00:00
Lucas 91d73cd314 backend: implement /random/media and /random/tag 2023-02-21 19:55:12 +00:00
Lucas 88b5354529 api: rename /random -> /random/media and implement /random/tag 2023-02-21 19:30:23 +00:00
Lucas ad6a6cb9c0 backend: implement /random 2023-02-19 20:22:30 +00:00
Lucas c55bdd6ea7 backend: rename /view -> /media 2023-02-19 20:22:29 +00:00
Lucas b09a5e7fe1 backend: add partial support for viewing media 2023-02-19 20:22:29 +00:00
Lucas f63398e54f frontend: change h1 sizing 2023-02-19 20:22:22 +00:00
Lucas 499510bd21 frontend: use width in .viewport
Also add .viewport to main div.
2023-02-19 20:22:22 +00:00
Lucas 922fe8c2be Add TODO file 2023-02-19 19:50:45 +00:00
Lucas 137ad87699 frontend: remove needless flex-i-fullsize 2023-02-19 18:31:08 +00:00
Lucas 82aeb0c536 backend: handle paged /tag/:tag_id_or_name from API 2023-02-19 18:17:59 +00:00
Lucas 065d5a9d88 api, backend: whitespace and declarations shuffling 2023-02-19 18:14:04 +00:00
Lucas 06a939bcd1 api, backend: improve validations
Introduce a sub for validating page number.

Introduce a sub for validating tag name and allow non-ASCII characters.
2023-02-19 18:09:44 +00:00
Lucas 3011d47ec8 api: fix VERSION 2023-02-19 17:56:10 +00:00
Lucas ec026de8b5 frontend: layout and css improvements
Make title and pager part of the main layout.

Adjust sizes and vertical rhythm all over the place.

Add flex to the main section, again keeping the header and footer at top
and bottom.

Rename main navigation classes.

Remove unused index.tt template.
2023-02-19 17:01:55 +00:00
Lucas 978f979d4d api: rewrite /tag/:tag_id_or_name
Commit 3a41ea6d0b allows for using a
SELECT WHERE ... OR ... instead of two SELECT WHERE.

Page the media results.
2023-02-19 16:17:39 +00:00
Lucas a0d3601c57 backend: refactor communication with api 2023-02-19 15:50:06 +00:00
Lucas 7d827212c1 api, backend: replace '+( { ... } )' -> '+{ ... }'
api, backend: whitespace: '+( {' -> '+({'
2023-02-19 15:15:57 +00:00
Lucas 861593d26d api: inline ROUTES 2023-02-19 12:17:51 +00:00
Lucas 1ac5d07821 db: revert deb082f46c
Change media search options to sort by media_id to compensate.
2023-02-19 11:28:13 +00:00
Lucas f2ee7e3db8 backend: rename gallery_nav_pager -> nav_pager 2023-02-19 11:27:45 +00:00
Lucas 5b8cbd37e5 backend: handle paged /tags from API 2023-02-19 11:27:45 +00:00
Lucas 7e3fdadfc6 api: page /tags results
While at it, move /media search opts to a variable too.
2023-02-19 10:42:15 +00:00
Lucas 401202037f api: allow creating multiple tags in one call 2023-02-19 10:28:22 +00:00
Lucas af1cac6d3f api: use a quoted regex for media_id validation 2023-02-19 09:55:28 +00:00
Lucas 3a41ea6d0b api: rename /tags/new to just /tags and validate name 2023-02-19 09:54:52 +00:00
Lucas 420fc9ce97 api: use more compact code in /tags 2023-02-19 09:04:00 +00:00
Lucas 6eae4e0fe4 backend: implement main section 2023-02-18 19:10:33 +00:00
Lucas a7f2381d81 api: provide a better paging object 2023-02-18 19:01:35 +00:00
Lucas 216422f50a api: always return a list of media_ids 2023-02-18 17:14:40 +00:00
Lucas 0876464b5b api: implement /media endpoint
Returns a paged collection of all media entries. Will be used for the
main page in a follow-up commit.
2023-02-18 17:06:00 +00:00
Lucas deb082f46c db: add upload_date field to media table 2023-02-18 17:06:00 +00:00
Lucas 63368ba06e api: use 'constant' for constants 2023-02-18 16:10:45 +00:00
Lucas bab1140053 api: reorder routes 2023-02-18 15:33:28 +00:00
Lucas 46cb5c19ec api: return paths instead of URIs 2023-02-18 15:05:52 +00:00
Lucas ead5728a99 Implement /tags and /tag/id endpoints 2023-02-18 14:47:32 +00:00