Commit graph

478 commits

Author SHA1 Message Date
Mouse Reeve
aa564b26c8 Uses snippet for toggle buttons 2021-01-14 13:35:09 -08:00
Mouse Reeve
e5155d9402 Removes duplicate start reading modal markup 2021-01-14 11:34:22 -08:00
Joel Bradshaw
48147883ce Merge branch 'main' into progress_update 2021-01-13 19:53:26 -08:00
Joel Bradshaw
f985ca0576 Make login form wrap nicely on mobile
Changing to columns from a grouped form item isn't my favorite, but I
think it's okay, and it gets us better mobile behavior for free
2021-01-13 19:16:45 -08:00
Mouse Reeve
4dea22bef6 Author class view 2021-01-13 09:54:35 -08:00
Mouse Reeve
56e3e98bc1 Adds book class view and re-works pagination 2021-01-13 09:51:51 -08:00
Mouse Reeve
6c80b128a4 Adds status tests 2021-01-12 14:02:38 -08:00
Mouse Reeve
4ec64c02f4 Adds status views 2021-01-12 13:47:00 -08:00
Mouse Reeve
85d01d5df0 Moves user views to class view 2021-01-12 12:09:23 -08:00
Mouse Reeve
8693895bc6 Adds import view 2021-01-12 11:28:03 -08:00
Mouse Reeve
b61544b5f5 DM and notification views 2021-01-12 11:11:22 -08:00
Mouse Reeve
fd6603ee07 Invite views 2021-01-12 10:19:58 -08:00
Mouse Reeve
00a67f1b99 Password reset and change password flows 2021-01-12 08:48:47 -08:00
Mouse Reeve
05b4cb59b0 Adds registration view 2021-01-12 08:19:08 -08:00
Mouse Reeve
6e71ff2aa1 Adds login class view 2021-01-12 08:08:43 -08:00
Mouse Reeve
1bcb19fde9 Fixes editing shelves 2021-01-11 14:43:34 -08:00
Mouse Reeve
327020f7b3 views handler for creating readthrough dates 2021-01-10 10:51:56 -08:00
Mouse Reeve
b0e4fc2aa9 Adds ui for creating readthrough 2021-01-10 10:35:28 -08:00
Mouse Reeve
71133c51c6 Set link color on follow button 2021-01-10 10:21:23 -08:00
Mouse Reeve
a1e8d5c7c2 Fixes showing completed imports and in progress 2021-01-07 09:36:41 -08:00
Mouse Reeve
d04271af75 Adds field on import job to check if job completed
the task isn't a reliable indicator, unfortunately.
2021-01-07 08:08:12 -08:00
Mouse Reeve
e60a984bea
Merge pull request #497 from mouse-reeve/shelving-actions
Shelving actions
2021-01-06 21:05:04 -08:00
Mouse Reeve
453e17f756
Merge pull request #496 from mouse-reeve/status-markup
Status markup
2021-01-06 21:04:34 -08:00
Mouse Reeve
b5ba97c385 uses article element instead of div for statuses 2021-01-06 20:05:28 -08:00
Mouse Reeve
b1d4b75926 Fixes tail end of shelving pulldown getting hidden 2021-01-06 19:56:56 -08:00
Mouse Reeve
02aac76acc Added some grays to the status box
why am I doing this instead of the thing I meant to do
2021-01-06 19:52:47 -08:00
Mouse Reeve
5c6aed1b0e Consistent button sizing in status footer 2021-01-06 19:45:18 -08:00
Mouse Reeve
5f0a788856 Show all readthroughs 2021-01-06 18:34:21 -08:00
Mouse Reeve
551e71162c Show start reading button in dropdown instead of reshelve button 2021-01-06 18:17:25 -08:00
Mouse Reeve
3eae55ef4e Adds icon for imports and follow button 2021-01-06 18:02:46 -08:00
Mouse Reeve
03a5f333e1 Cleans up notifications 2021-01-06 15:53:09 -08:00
Mouse Reeve
67f2b3d808 Proper errorhandling for registration with invite 2021-01-06 13:15:33 -08:00
Mouse Reeve
054f69993b Support bidirectional text in status content 2021-01-06 12:00:34 -08:00
Mouse Reeve
7c34889586 Fixes html formatting for registration closed text 2021-01-05 10:46:07 -08:00
Mouse Reeve
8301bec4ff Use accurate review count 2021-01-04 17:59:46 -08:00
Mouse Reeve
a0a8ad508a Book page filters ratings with empty string content 2021-01-04 17:55:29 -08:00
Mouse Reeve
1046aa7ad2 Re-organizes metadata on book page 2021-01-04 17:42:02 -08:00
Mouse Reeve
89e2e75c0b Only show rate action for logged in users 2021-01-04 16:50:58 -08:00
Mouse Reeve
10523e38e8 Updates fields in edit book form 2021-01-04 16:42:28 -08:00
Mouse Reeve
35e2410642 Show series in book page 2021-01-04 16:33:45 -08:00
Mouse Reeve
0f4a30324e Makes more about instance text customizable 2021-01-04 12:58:31 -08:00
Mouse Reeve
0c0e9bebdf Use uploaded logos in templates 2021-01-04 12:47:10 -08:00
Mouse Reeve
81e60cea16 Fixes login form 2021-01-04 11:14:07 -08:00
Mouse Reeve
50f61f5d19 Merge branch 'main' into validate-username 2021-01-04 09:41:17 -08:00
Mouse Reeve
c0bd0736d3 Hide join button when registration is closed 2021-01-03 15:41:20 -08:00
Mouse Reeve
6668f54889 Fixes openlibrary test and navbar hover aria unfurl 2021-01-03 14:41:10 -08:00
Mouse Reeve
eec3e6c4b4 Hide top bar login form on login page 2021-01-03 14:35:28 -08:00
Mouse Reeve
7242adadaa Hide login form for authenticated users 2021-01-03 14:31:32 -08:00
Mouse Reeve
0247f89c0b Use recent reviews instead of most reviewed books 2021-01-03 14:28:28 -08:00
Mouse Reeve
8e923d6333 User container class in layout 2021-01-03 12:53:51 -08:00
Mouse Reeve
e3fa0afa9a Hide large logo on mobile 2021-01-03 11:52:37 -08:00
Mouse Reeve
721d20efab Creates snippets for discover preview boxes 2021-01-03 11:24:26 -08:00
Mouse Reeve
ef42d29bd9 Discovery landing page 2021-01-03 11:10:04 -08:00
Mouse Reeve
04eb518633 Make the top bar dropdown accessible to NVDA screenreaders
plus, it's just better for this to be a ul
2021-01-03 10:03:57 -08:00
Mouse Reeve
97b56e9bc2 Removes references to max entries in views 2021-01-02 09:45:51 -08:00
Mouse Reeve
bb5ae850e1 Mention users implicitly (without needing @mentions) 2021-01-01 09:35:14 -08:00
Mouse Reeve
17b9c6ecc5 Adds label to reply textarea 2020-12-30 17:38:38 -08:00
Mouse Reeve
dc68fdd53e User generated local paths 2020-12-30 17:36:35 -08:00
Mouse Reeve
d821a08cff include tags in replies
I was against this but apparently it helps the replies actually WORK
2020-12-30 16:33:04 -08:00
Mouse Reeve
d42ebbaf4a Link to local versions of statuses in notifications 2020-12-30 16:10:32 -08:00
Mouse Reeve
885bb023a3 Sort shelves by shelfbook updated date 2020-12-30 16:07:29 -08:00
Mouse Reeve
670036f8a9 Fixes user preview on rating display 2020-12-30 15:52:17 -08:00
Mouse Reeve
8bb7a081c2 Makes follow request button a different color than an unread
notification

Fixes #420
2020-12-30 12:12:32 -08:00
Mouse Reeve
e89bfdc572 Makes registration user/localname fields more sensible 2020-12-24 11:39:57 -08:00
Mouse Reeve
c34d90051f
Merge pull request #416 from mouse-reeve/book-data-model
Remove sync fields and share fields between book and author
2020-12-22 10:25:12 -08:00
Mouse Reeve
7c3f2373c7 Adds noopener to link 2020-12-22 10:19:01 -08:00
Mouse Reeve
f2f2f3dd3e Remove useless if/else on null state radio button 2020-12-22 10:12:41 -08:00
Mouse Reeve
25dee8362d Adds edit author form and stores last edited by 2020-12-22 09:26:55 -08:00
Mouse Reeve
fd2f452b46 Adds title along with alt attributes on images 2020-12-22 08:26:02 -08:00
Mouse Reeve
fdbce5d05e Adds close button to suggested post window on mobile 2020-12-22 08:21:43 -08:00
Mouse Reeve
cfa1a1b42c Remove sync fields and share fields between book and author 2020-12-21 12:17:18 -08:00
Mouse Reeve
689cc65790 keep saved version of bio and description field as markdown 2020-12-20 12:24:17 -08:00
Mouse Reeve
7f1ac33859 Format html on book descriptions 2020-12-20 12:09:13 -08:00
Mouse Reeve
ef696782ab Allow markdown in html fields 2020-12-19 18:54:56 -08:00
Mouse Reeve
40c4f4f5de Disable boosting private statuses 2020-12-18 09:30:08 -08:00
Mouse Reeve
3649642653 Show all authors 2020-12-17 15:14:52 -08:00
Mouse Reeve
be43e0772c box around create status on feed page 2020-12-17 14:13:28 -08:00
Mouse Reeve
73f94a76d2 Show subtitle in book page 2020-12-17 14:11:24 -08:00
Mouse Reeve
c4c01f4950
Merge pull request #404 from mouse-reeve/rate-action
Rate action
2020-12-17 13:25:35 -08:00
Mouse Reeve
5cadd48aef Fixes rate action 2020-12-17 13:21:21 -08:00
Mouse Reeve
dccd9ac052 uuids for content warners loaded correctly 2020-12-17 13:14:44 -08:00
Mouse Reeve
530198adea Serialize alt text of images 2020-12-17 12:54:04 -08:00
Mouse Reeve
39dc0501a5 Make alt text a model property 2020-12-17 12:30:49 -08:00
Mouse Reeve
2799ed68e3 Propogate content warning from parent 2020-12-17 11:32:09 -08:00
Mouse Reeve
34a2afc788 Change text on cw button 2020-12-17 11:05:37 -08:00
Mouse Reeve
172c36b641 Adds content warning field in status forms 2020-12-16 20:10:50 -08:00
Mouse Reeve
0d42b9cf8f Display status cw's 2020-12-16 19:50:36 -08:00
Mouse Reeve
f1926ce76d Avoid duplicate notifitions
And render html
2020-12-16 16:20:40 -08:00
Mouse Reeve
21b0bec8d7 Switch edition from editions list page 2020-12-16 14:45:35 -08:00
Mouse Reeve
729e50de63 Show consistent book status regardless of edition 2020-12-16 09:15:26 -08:00
Mouse Reeve
b36eaef172 Merge branch 'main' into switch-edition 2020-12-13 21:10:37 -08:00
Mouse Reeve
693dfc42ac Match privacy level in reply 2020-12-13 16:20:59 -08:00
Mouse Reeve
943d97c0bc Adds direct messages UI 2020-12-13 16:17:14 -08:00
Mouse Reeve
b61a7cccff Use trimmedwords_html instead of a custom filter 2020-12-12 19:34:51 -08:00
Mouse Reeve
1e08eeb4c2 Renames custom template tags file 2020-12-12 18:25:57 -08:00
Mouse Reeve
31a407d74a Use name field only for author name
It feels janky to remove a more granular name designation, but all these
first/last name fields were algorithmically populated by a dubious
process of splitting the name by a space character. If it makes sense to
have first/last name fields, it should be re-added with some
consideration.
2020-12-12 09:53:21 -08:00
Mouse Reeve
801b6c3a77 Merge branch 'main' into follow-remote-ids 2020-12-12 09:34:54 -08:00
Mouse Reeve
716068474e Merge branch 'main' into switch-edition 2020-12-11 16:59:59 -08:00
Mouse Reeve
2d7f8ada61 Functional switch editions button 2020-12-11 16:57:38 -08:00
Mouse Reeve
72eb94315a Adds shelf info to book page
- includes change shelf button
- WIP button for switching to the current edition
2020-12-11 16:40:48 -08:00
Mouse Reeve
e2bc751ee4
Merge pull request #380 from mouse-reeve/site-settings
Site settings
2020-12-11 12:50:21 -08:00
Mouse Reeve
117d243577 Expand site settings and add footer 2020-12-11 12:31:02 -08:00
Mouse Reeve
b33ea40da2 Use context processor to include site settings in templates 2020-12-11 12:07:37 -08:00
Mouse Reeve
adbc8c3f4c Preview statuses in notifications
Fixes #363
2020-12-11 11:26:34 -08:00
Mouse Reeve
cc42e9d149 Asyncronously set related fields 2020-12-08 09:43:12 -08:00
Mouse Reeve
d7e9a00cf1 Fixes password reset flow 2020-12-02 15:19:29 -08:00
Joel Bradshaw
7fadbeeb55 Merge branch 'main' into progress_update 2020-11-28 11:06:01 -08:00
Mouse Reeve
fd7e476c9b refactors tag model to fit ordered collection structure 2020-11-28 11:04:54 -08:00
Mouse Reeve
b2ca67a67c Make adding a description require edit perms 2020-11-28 08:29:55 -08:00
Mouse Reeve
78fa949237 Inline form to add description to book 2020-11-28 07:55:31 -08:00
Joel Bradshaw
500f05266a Add option for progress percentage
And rework display on book page as well
2020-11-28 00:07:04 -08:00
Joel Bradshaw
85026b837c Merge branch 'main' into progress_update 2020-11-27 15:52:55 -08:00
Joel Bradshaw
64fb88cc10 ProgressUpdate doesn't need its own date field
Just use the base model's created_date
2020-11-25 23:03:32 -08:00
Joel Bradshaw
090cf2aea7 Make inline progress form actually work 2020-11-25 23:03:27 -08:00
Joel Bradshaw
e7c0368168 PR feedback 2020-11-25 22:36:55 -08:00
Mouse Reeve
3dc0fc7e8f Merge branch 'main' into edit-books-erros 2020-11-24 13:40:53 -08:00
Mouse Reeve
1fd498c306 Display error messages in edit book form 2020-11-24 13:37:35 -08:00
Mouse Reeve
9bbedc5d9a Fixes field causing form invalidation when editing books 2020-11-24 13:25:58 -08:00
Mouse Reeve
6cc1e241fe display images at a reasonable size 2020-11-24 12:07:00 -08:00
Mouse Reeve
ff5a0f7bc2 Adds alt text to status images 2020-11-24 11:44:13 -08:00
Mouse Reeve
45a0bd79fd Very basic image display 2020-11-24 11:28:17 -08:00
Mouse Reeve
5e34d136fd
Merge pull request #361 from cincodenada/fix-navbar
Fix navbar on mobile, make search an addon
2020-11-20 21:51:33 -08:00
Joel Bradshaw
f57d9ee45d Rework to use bulma better 2020-11-20 21:45:12 -08:00
Joel Bradshaw
df2dc5a8a1 Remove placebo class
is-third-mobile was the wrong class, it turns out just column is what
was making it work like I wanted it to
2020-11-20 21:27:50 -08:00
Joel Bradshaw
8945e70e42 Fix navbar on mobile, make search an addon
In reading up on Bulma I found the has-addons option which is a nice
touch, I think
2020-11-20 21:19:26 -08:00
Mouse Reeve
448efff648 Fixes unset active shelf in shelve button pulldown 2020-11-20 10:05:37 -08:00
Joel Bradshaw
a579ea52f4 Add initial inline progress update
Doesn't work yet
2020-11-19 19:38:38 -08:00
Joel Bradshaw
ff7d87b1c4 Make progress updates toggle-able
Also move into their own section
2020-11-18 19:05:52 -08:00
Mouse Reeve
6553e5df34 Makes sure pages have h1 header heirarchy 2020-11-18 12:31:53 -08:00
Joel Bradshaw
f524f0cd4d Add basic view logic for testing 2020-11-16 23:53:46 -08:00
Joel Bradshaw
7ffc3114a6 Add display and form for existing pages_read
Commented out the new update type because it was breaking and I don't
need it quite yet
2020-11-16 22:47:55 -08:00
Mouse Reeve
680211cff5 refactors re-shelve button dropdown to be accessible
still looks janky as heck, but fixes #350
2020-11-16 16:34:26 -08:00
Mouse Reeve
699a661f00 Remove broken add book link 2020-11-13 12:18:13 -08:00
Mouse Reeve
6300c37a4e Select all checkbox 2020-11-13 10:14:24 -08:00
Mouse Reeve
86504989b4 fixes import matching with local books 2020-11-13 09:59:57 -08:00
Mouse Reeve
e3a803b907 Allow import retry 2020-11-13 09:02:41 -08:00
Mouse Reeve
1ad347ffdb
Merge pull request #346 from mouse-reeve/trim-text
Collapse long review text
2020-11-12 14:38:43 -08:00
Mouse Reeve
1f11ffd646 Uses task.ready for checking if the job is running 2020-11-12 14:11:39 -08:00
Mouse Reeve
032ce8efba Show failed books 2020-11-12 13:52:57 -08:00
Mouse Reeve
ffeed6047e Fixes reporting import task status 2020-11-12 13:12:08 -08:00
Mouse Reeve
4ccf1c4818 Small html style changes on import pages 2020-11-12 12:22:06 -08:00
Mouse Reeve
2f0b91d843
Merge pull request #343 from mouse-reeve/readthrough-ui
Make readthrough edit/delete toggle a button
2020-11-12 11:41:34 -08:00
Mouse Reeve
23ef1e8b7d Collapse long review text 2020-11-12 11:40:20 -08:00
Mouse Reeve
44b798b423 Puts reply form below button that shows it
still think this is janky.
2020-11-11 18:32:52 -08:00
Mouse Reeve
801c2cdad2 Make readthrough edit/delete toggle a button 2020-11-11 16:47:11 -08:00
Mouse Reeve
ad948e7313 Remove more info box when it's not used 2020-11-11 11:52:14 -08:00
Mouse Reeve
90d0d721dd Paginates user activity feed 2020-11-11 10:43:47 -08:00
Mouse Reeve
c08be903b1
Merge pull request #338 from mouse-reeve/code-cleanup
Code cleanup
2020-11-10 22:29:30 -08:00
Mouse Reeve
56850b9574
Merge pull request #336 from mouse-reeve/user-shelves
User-created shelves
2020-11-10 22:06:40 -08:00
Mouse Reeve
d71b451eef More model ids in urls 2020-11-10 21:45:22 -08:00
Mouse Reeve
4297e8647d put status id in path for delete-status 2020-11-10 21:39:24 -08:00
Mouse Reeve
7f9cc31040 consistent style for urls 2020-11-10 21:34:26 -08:00
Mouse Reeve
a6796275b8 Fixes duplicate ids 2020-11-10 20:50:46 -08:00
Mouse Reeve
60e699efeb Make shelves delete-able 2020-11-10 20:33:46 -08:00
Mouse Reeve
ee59c64a10 Edit shelf 2020-11-10 20:11:21 -08:00
Mouse Reeve
176257eb85 SHow privacy icon on shelves 2020-11-10 16:18:48 -08:00
Mouse Reeve
81d09a3d1b Fixes aria that should be role 2020-11-10 14:57:44 -08:00
Mouse Reeve
408ca6609c Let users create shelves 2020-11-10 14:52:04 -08:00
Mouse Reeve
4ee2fab58f Refactors menu for re-shelving a book in shelf page 2020-11-10 13:40:42 -08:00
Mouse Reeve
a5a1af418c Adds ui for editing and adding shelves 2020-11-10 13:39:37 -08:00
Mouse Reeve
de744483ec
Merge pull request #334 from mouse-reeve/comment-form
More interactive clickable elements
2020-11-10 12:48:45 -08:00
Mouse Reeve
a0243d089c star rating label can't surround input for css to work 2020-11-09 21:26:22 -08:00
Mouse Reeve
c4bf2653f7 Fixes text for absent star rating 2020-11-09 21:15:55 -08:00
Mouse Reeve
5a1cf9ce83 more search results clickable 2020-11-09 18:57:56 -08:00
Mouse Reeve
5e3426236a
Merge pull request #333 from mouse-reeve/show-more-less
Show more less
2020-11-09 16:56:32 -08:00
Mouse Reeve
29013ca91b Fixes mobile-only navbar menu 2020-11-09 16:53:52 -08:00
Mouse Reeve
37bb53aba5 set tabindex on show more show less toggles 2020-11-09 16:28:38 -08:00
Mouse Reeve
68cb1612e2 make comment toggle clickable 2020-11-09 16:27:45 -08:00
Mouse Reeve
be12ec49a3 Gives more/less toggles button role 2020-11-09 16:16:57 -08:00
Mouse Reeve
ae27570812 Adds tablist and tabpanel elements for covers tabs 2020-11-09 13:24:11 -08:00
Mouse Reeve
82896e7d81
Merge pull request #330 from mouse-reeve/wave-evaluator
Various small WAVE suggestions
2020-11-09 13:12:50 -08:00
Mouse Reeve
a40a1bdcb4 Fixes labels on import page 2020-11-09 12:40:22 -08:00
Mouse Reeve
cdc7af89cf Fixes header numbers in edit book page 2020-11-09 12:35:18 -08:00
Mouse Reeve
0f4df08769 Fixes contrast on danger buttons 2020-11-09 12:10:37 -08:00
Mouse Reeve
7042e59402 Convert h2s to h1s where obvious 2020-11-09 12:06:44 -08:00
Mouse Reeve
79f7c55a04 indicate if menu has been expanded 2020-11-09 11:58:19 -08:00
Mouse Reeve
607612a1d9 Adds label to privacy pulldown 2020-11-09 11:44:24 -08:00
Mouse Reeve
e176d5d288 Labels textareas in create status form 2020-11-09 11:40:19 -08:00
Mouse Reeve
b4d1a23ef6 Expose "no rating" option in create review form 2020-11-09 11:33:50 -08:00
Mouse Reeve
c3c59ce3d8 Adds label to mobile dropdown button
and changes the icon
2020-11-09 11:29:17 -08:00
Mouse Reeve
716ab3a78d make the start reading button always use the modal
are the modals good??? who knows
2020-11-09 11:16:39 -08:00
Mouse Reeve
c37c6aae40 nested covers tabs should work with screen reader 2020-11-08 19:34:41 -08:00
Mouse Reeve
b7bc089d86 Improves tabbing javascript for create status tabs 2020-11-08 19:09:29 -08:00
Mouse Reeve
b7f8055ede Fixes review/comment/quote tabs in create status form 2020-11-08 18:23:12 -08:00
Mouse Reeve
957afed8bb Make star ratings in reviews accessible in voiceover 2020-11-08 16:45:32 -08:00
Mouse Reeve
36dc41620a Set tabbing on shelve button items 2020-11-08 16:25:22 -08:00
Mouse Reeve
096d5008c3 Adds start and finish modal snippets 2020-11-08 15:53:53 -08:00
Mouse Reeve
5042344bca Fix accessibility for shelve buttons/read forms 2020-11-08 15:15:42 -08:00
Mouse Reeve
a8afc3fc36
Merge pull request #322 from mouse-reeve/voiceover-review
Fixes "notifications" typo and adds alt text to avatars
2020-11-08 14:12:20 -08:00
Christa Hartsock
037697a382 Associate 'tags' label to formfield
So that the tags label is read by screenreaders
2020-11-08 13:42:01 -08:00
Christa Hartsock
2e944bceb9 Remove "for" from start/end date labels
The "for" value pointed to an ID for an input that didn't exist, which
caused screenreaders to not read the value of the label when
specififying readthrough dates. Removing the
'for' tags makes the screenreader read the label as expected since the
label wraps the input, so we don't need a 'for'.
2020-11-08 13:40:36 -08:00
Christa Hartsock
b684e929b4 Add label text to search input
For use by screenreaders.
2020-11-08 13:23:05 -08:00
Mouse Reeve
8f95c1e728 Clearer logo link to home page and missing filter import 2020-11-08 12:38:27 -08:00
Mouse Reeve
77b0a3b67f Adds alt text to avatars 2020-11-08 12:25:05 -08:00
Mouse Reeve
0171b5a427 Fixes typo in notifications link 2020-11-08 12:24:50 -08:00
Mouse Reeve
edc653e273 Fixes typo in edit user manually approve followers label 2020-11-08 09:45:42 -08:00
Mouse Reeve
e21d59386c Don't show reshelve buttons on other people's shelves
yikes
2020-11-07 20:47:56 -08:00
Mouse Reeve
57fad30b6b Fixes unboost 2020-11-07 18:59:38 -08:00
Mouse Reeve
e6d46878fb Fixes like/unlike statuses 2020-11-07 18:18:44 -08:00
Mouse Reeve
5a842ca6ad
Merge pull request #301 from mouse-reeve/shelf-controls
Pulldown for moving books between or off shelves
2020-11-07 11:55:55 -08:00