Commit Graph

58 Commits (afe82b9c987bf5dc602591f7b31259bcdbcce464)

Author SHA1 Message Date
voussoir c5c67b9c69 Let select_all, deselect_all ignore hidden cards.
So that ctrl+a after filtering only selects the filter results.
2020-10-11 18:43:47 -07:00
voussoir 14ab3f3b06 Reorganize a bunch of functions and other indulgences. 2020-10-02 19:46:36 -07:00
voussoir 0f9fbfa6e8 Add synchronized hotkeys.js from Etiquette; add ctrl+a, ctrl+d. 2020-10-02 13:17:08 -07:00
voussoir fb1d5d3e6e Add select_all. 2020-09-29 10:55:04 -07:00
voussoir ede7eab80b Replace this loop with a nice map. 2020-09-29 10:54:58 -07:00
voussoir 16dc6066df Leverage live HTMLCollection for selections instead of separate array. 2020-09-29 10:54:31 -07:00
voussoir 898be91538 Spread video embed string over multiple lines. 2020-09-29 01:17:05 -07:00
voussoir 572612a282 Replace variable swap with a one-liner. 2020-09-29 01:16:35 -07:00
voussoir 741cddc2e4 Add set_queuefile_extension method, endpoint, and ui. 2020-09-16 10:23:38 -07:00
voussoir 223d3d01fb Rename automark_hook -> _form; use more const. 2020-09-16 10:22:33 -07:00
voussoir f4455f5a82 Add return to onchange. 2020-09-12 10:14:06 -07:00
voussoir 0116d80740 Mark the current state and orderby links in bold. 2020-09-05 17:49:04 -07:00
voussoir 37df5a6443 Remove spacer <p>s and embrace the grid-gap. 2020-09-05 09:31:37 -07:00
voussoir 339fa6649f Remove useless one-tab container for sub box by better if placement. 2020-09-05 09:31:13 -07:00
voussoir e5910c55f2 Rename database column `download` to `state`. 2020-09-04 15:55:48 -07:00
voussoir fc4aebc4a4 Fix double "return return". 2020-09-04 14:48:50 -07:00
voussoir 4af4985ac5 Add return to all onclicks, and ; to other javascript hooks. 2020-09-04 10:37:49 -07:00
voussoir 03c366fff8 Replace var with let/const. 2020-09-03 15:44:58 -07:00
voussoir 3a455d377b Rewrite channel.html as tabbed container, separate videos/settings. 2020-09-03 11:54:51 -07:00
voussoir b8c25f217d Synchronize Etiquette common.css and YCDL common.css. 2020-09-03 11:52:51 -07:00
voussoir 65e0d58576 Disable filter textbox until pageload.
For channels with many thousands of videos, it can be a while
before the DOM is fully parsed and ready to go. It is annoying
to type in the box and find that it doesn't work yet, since the
script tag comes after body.
Why not move the script above body? Because I don't want to,
and because you'd be filtering from an incomplete list of
videos anyway.
2020-08-28 16:21:42 -07:00
voussoir 25a611e39e Add 200ms timeout before filtering while you type your query. 2020-08-27 17:11:52 -07:00
voussoir 7b197c867b Speed up filtering by hiding #video_cards first.
On large channels, filter_video_cards is painfully slow because of all
the forced reflows. I'm currently trying to find a better solution.
In the meantime, hiding the containing div does prevent those reflows
until the end, but itself is also quite slow.
2020-08-27 16:53:51 -07:00
voussoir 17cd98fa50 Let image thumbnails lazy load. 2020-08-15 22:28:53 -07:00
voussoir de5aba4895 Remove unnecessary spacer when channel is none. 2020-08-15 22:28:27 -07:00
voussoir 5610d756c2 Fix video_cards variable name being used twice, breaking filter. 2020-08-15 22:27:47 -07:00
voussoir b660d700b9 Add endpoint and gui button for deleting channels. 2020-08-10 18:30:56 -07:00
voussoir e42e4cac55 Add #toolbox_left and #toolbox_right where I can put more buttons. 2020-08-10 18:29:50 -07:00
voussoir 213278edcc Capitalize state filter links, remove commas from sorter links.
To make these two rows look similar. Rather than lowercasing the
sorters, let's capitalize the state filters. And rather than adding
a ','.join to the state filters, let's just remove commas from the
sorters. Good enough.
2020-08-09 17:54:38 -07:00
voussoir 3044907264 Use dot notation instead of subscript on response. 2020-06-28 16:57:32 -07:00
voussoir 27219d74c4 Add spinner when setting automark. 2020-06-26 20:59:55 -07:00
voussoir f1e80dac94 Add spinners to channel refresh buttons. 2020-06-17 14:15:50 -07:00
voussoir dd59fd2c36 Import common.js before api.js. 2020-06-17 14:13:33 -07:00
voussoir ff1b043279 Arrange the state filters horizontally instead of vertically.
The "New videos are" dropdown and the sorting options are both
horizontal, so this one being vertical stuck out badly visually.
This is a little better.
2020-06-10 23:09:17 -07:00
voussoir 66f499c232 Move functions mark_state, start_download to api.js. 2020-06-03 13:01:53 -07:00
voussoir d996101152 Move function set_automark to api.js. 2020-06-03 13:01:28 -07:00
voussoir ab1a2364be Move function refresh_channel to api.js. 2020-06-03 12:59:29 -07:00
voussoir b76be18b6c Add CHANNEL_ID variable to js via jinja. 2020-06-03 12:58:33 -07:00
voussoir 415acdf7d1 Add api.js. 2020-06-03 12:54:20 -07:00
voussoir d0a0a87b43 Add function common.refresh. 2020-06-03 12:28:09 -07:00
voussoir 113a92fb5b Move function html_to_element to common.js. 2020-06-03 12:26:25 -07:00
voussoir bd27a910e1 Fix bugs introduced by new http response["data"] format. 2020-05-21 22:20:50 -07:00
voussoir 3e27e6e2e8 Add separate API endpoint for add_channel, apply to web ui.
Previously, the "add channel" box was just calling refresh, which
implicitly adds the channel. This adds a separate endpoint for
add_channel, and as a bonus the web ui will navigate you to the
channel after it has been loaded.
2020-05-21 22:16:02 -07:00
voussoir 13a72ec7fc Move CSS and JS into separate folders under static. 2020-05-21 19:43:45 -07:00
voussoir 57d87560a4 Add interface for setting automark state. 2020-05-21 17:28:34 -07:00
voussoir 2f5ec40b89 Big: Object-oriented channels & videos, match Etiquette structure.
- Channels and videos are now objects instead of just dictionaries.
- Copied Etiquette's use of cachemanager mixin to cache those objects.
- Copied Etiquette's use of sql_ methods.
- Copied Etiquette's use of namespaced javascript.
- Copied Etiquette's use of config file.
- Redid video_card css to use grid, better on mobile.
- Improved usage of URL parameters with class=merge_class.
- Wrote some actual content on readme.
2020-04-05 18:59:16 -07:00
voussoir 4689609c97 Add links for sort by date, duration, views, random. 2020-04-03 14:24:48 -07:00
voussoir 718399806a Add channel_name to videos before returning them, show on listings.
Previously, when viewing a /videos listing, there was a link
called (Chan) to bring you to the channel page, but since videos
only carried author_id and not author_name it was always kind of
ugly. This will inject that attribute on the way out.
I know, this would be more properly written as an SQL join in the
first place, but my row-dict conversion isn't set up for that and
I'm planning on converting this all to object-based returns instead
of dicts soon.
2020-04-03 08:49:35 -07:00
voussoir 1b456bf900 Let embedded video fit width of the video card instead of hard px.
This makes the page much easier to use on mobile. On desktop I think
the new size may be a little overwhelming but I'll try getting used
to it, and anyway I think it simply makes more sense than the
arbitrary size from earlier.
2020-04-03 08:43:47 -07:00
voussoir 672abf9d86 Hold Shift to not deselect videos after setting a state. 2020-03-11 14:30:56 -07:00