Commit graph

86 commits

Author SHA1 Message Date
0fccfc562a Rearrange some functions and add headers. 2020-11-03 15:49:50 -08:00
1c0f50a4a6 Move refresh metadata button above the download links. 2020-11-03 15:34:41 -08:00
9e23aacae7 Add id=photo_filename to the h3. 2020-11-03 15:34:28 -08:00
cc8053f8fd Alert response if set searchhidden fails. 2020-11-03 15:33:59 -08:00
272bd471ff Fix positioning of photo_viewer under the new CSS rules. 2020-11-03 00:05:21 -08:00
af4f2bcdaa Link tags on photo page to the /tag/info url. 2020-10-13 10:41:47 -07:00
ee16d02324 In narrow mode, let #right be absolute to achieve similar effect.
It's not perfect yet, and 95vh is purely empirical.
2020-09-29 17:18:20 -07:00
1d6464b79b Let #right be fixed.
Previously, then the tags list was very long and dominated the scroll
height of the page, the #right and thus the photo would be floating
halfway down the page. By making it sticky, the photo always occupies
the correct position in the viewport no matter how long #left gets.
2020-09-29 17:13:03 -07:00
7e58c95f15 Mostly failed experiment: tag_autocomplete indexeddb.
The current system has bad performance when you've got 100,000+ tags.
I discovered that when the server returns 304, the browser gives the
ajax a 200 with the full response, and it's not clear to me if js can
know it got a 304. So, the tag set is being fully re-parsed from the
response on every page load. I was thinking that I should store that in
IndexedDB to avoid the parsing step, but... since the JSON.parse is
done by my common.get before it hits this function, it's meaningless.
Not to mention I still have to rebuild the datalist on every page since
of course that state isn't shared between tabs. Not worth the DB stuff.
We'll see what happens next.
2020-09-29 16:52:20 -07:00
f56da72881 Return more sets from backend, do sorting on frontend.
It's better semantically for these items coming out of the backend
to be sets. Sorted lists are only relevant to human consumption at the
frontend.
2020-09-20 13:16:52 -07:00
adb1d0ef39 Replace all double blank lines with single, improve hash headers.
There was always some semblance that two blank lines has some kind of
meaning or structure that's different from single blank lines, but
in reality it was mostly arbitrary and I can't stand to look at it
any more.
2020-09-19 03:13:23 -07:00
3fb198f994 Add explicit @media queries for wide mode, not just default to override.
Any properties that are different in wide/narrow mode should be defined
in the correct media query. I got tired of having wide mode be the
default and then narrow mode having to unset/initial all the attributes
that aren't relevant to narrow.
2020-09-18 21:12:28 -07:00
83d22d2736 Remove unnecessary declarations of grid-area: left, right. 2020-09-18 21:01:38 -07:00
8da18ba502 Add --narrow, --wide to common.css, is_wide_mode to common.js. 2020-09-18 20:57:35 -07:00
9a29048ccf Split sticky_side functionality into _side, _bottom.
This makes the role of each css definition more clear, and could allow
for cases where the side is sticky in wide mode but not sticky in
narrow mode.
2020-09-18 20:37:40 -07:00
4c9668c920 Instead of anti-autofocusing, use a pageload that calls focus(). 2020-09-17 18:17:08 -07:00
f9e4bac186 Use more _form functions instead of inline api.js calls. 2020-09-17 18:14:07 -07:00
2a379919e0 Use grid instead of flexbox for message_area for better gaps. 2020-09-15 15:03:40 -07:00
dd0ee7a72a Use more const. 2020-09-14 18:33:53 -07:00
c11fb12069 Sort tags as they are added to photo. 2020-09-12 16:52:46 -07:00
bbadd15129 Put the callbacks next to their respective form functions. 2020-09-12 11:59:03 -07:00
d00d7b4acf Refocus add_tag_box after removing a tag. 2020-09-12 01:19:16 -07:00
30c9efc043 Rename generate_thumbnail_for_video -> _form. 2020-09-11 17:06:50 -07:00
ad26f09ee0 On photo.html, add and remove tag lis dynamically.
Instead of requiring a page refresh to see the new tags. They
just won't be sorted.
Slight bummer, the datalist dropdown pretty much obscures the
whole thing anyway.
2020-09-11 15:57:06 -07:00
4b76bc0628 Don't access response.data.tagname until we know it's not an error.
This wasn't causing any issues, because it was just setting itself
to undefined, but I realized I should move it.
2020-09-10 06:48:56 -07:00
8d2af3255b Add endpoints set_searchhidden, unset_searchhidden and checkbox. 2020-09-09 20:51:15 -07:00
4569e7848c Let apply_check_all search for the checkboxes, not the photo cards. 2020-09-09 20:09:41 -07:00
7f48c3e97c Add css/js classes entry_with_history, _with_tagname_replacements. 2020-09-04 11:20:51 -07:00
295c9b4956 Add return to all onclicks, and ; to other javascript hooks. 2020-09-04 10:37:04 -07:00
dae5815239 Give #refresh_metadata_button .button_with_spinner. 2020-09-03 15:39:11 -07:00
8af340e442 Replace non-global uses of var with let. 2020-09-03 15:31:47 -07:00
8dafe8c4f4 Synchronize Etiquette common.css and YCDL common.css. 2020-09-03 11:50:16 -07:00
7609f20dd0 Let button_with_confirm inherit original CSS when not specified. 2020-08-07 21:14:27 -07:00
7c4229f1fa Use dot notation instead of subscript for response. 2020-06-28 17:54:16 -07:00
b81aad78dd Rename CSS vars color_theme_* and color_site_* to color_*.
There was just no point to naming them like this because all of the
color vars obviously represent some part of the site's color theme.
2020-06-25 10:03:50 -07:00
a56b5274c9 Read spinner button function from onclick instead of data-onclick.
I think my original reason for doing this was to prevent the button
from being operational until after the spinner initialization has
completed, so you don't get any weird half-functional spinner buttons.
However, in practice I'm finding that I constantly forget about this
and it adds tedium to creating spinner buttons.
Will review if any actual problems come up.
2020-06-17 14:04:27 -07:00
e1033d0138 Move tagname related functions from common.js to tag_autocomplete.js. 2020-06-17 12:42:08 -07:00
30a0715980 Add photo delete buttons to hovering toolbox.
I tried putting them in the #left but it was looking seriously ugly.
Actually #left is always ugly because the variety of info and buttons
and text alignments. Hover toolbox is not ideal and I don't want it
to become a dumping ground, but deleting should be a rare action and I
don't want it right next to stuff like the basic metadata.
2020-02-27 14:15:13 -08:00
a88fcc2092 Move the clipboard checkbox into metadata list too. 2020-02-26 18:41:17 -08:00
66f73a6aab Move the photo filename out of list to top of left. 2020-02-26 18:40:03 -08:00
596eb86f6e Move the refresh metadata button into metadata bullet list. 2020-02-26 18:39:19 -08:00
10b674e8d8 Add entry_with_tagname_replacements for use on tagname inputs.
Unfortunately, when adjusting the box's value, it causes the datalist
to disappear, and it only comes back after you press another key.
I can't figure out how to make the datalist reappear automatically
with js.
2020-01-15 20:29:56 -08:00
53888a1787 Fix #photoviewer <a> from being expanded to fill the whole pane. 2020-01-15 20:18:40 -08:00
89bfca8f9f Add endpoint for photo generate thumbnail. 2020-01-12 14:52:03 -08:00
b7b33a63ee Rename receive_callback -> add_remove_photo_tag_callback. 2020-01-12 14:36:48 -08:00
c984159a76 Minor css tweaks. 2019-09-11 01:13:10 -07:00
b683413be0 Try different themes with the ?theme query. 2019-08-14 13:43:35 -07:00
36a2ed9f88 Remove unnecessary _form functions that can be direct calls. 2019-06-15 02:42:33 -07:00
9b72b3dff0 Use CSS Grid on photo.html, resolve some Chrome/FF differences.
- In Firefox, the image under flex would be full-res height
  instead of staying screen height.
  In this new Grid-based layout the image is the correct size.
  Left toolbox still uses flex, no problems with it.
- Redid the classing of the photo_viewer and eliminated
  photo_img_holder so that all media types follow the same markup.
- Added a CSS variable for tracking narrow mode instead of relying
  on coincidental properties like flex settings.
2019-01-16 19:22:21 -08:00
588bf59b88 Variety of html, css, jinja tweaks.
- common.css, removed html and body margins so that using
  full height #content_body will not create a scrollbar.
  Simplifies the "fill remaining space" construct I use a lot.
  Added more css variables, I'm thinking about future theming.
- photo_card.css, slightly heightened to improve name clipping.
- clipboard.html, added a small screen mode.
- login.html, centered the boxes and fixed message area being
  too small due to a previous change.
- search.html, simplified some conditional texts.
2018-10-21 18:46:27 -07:00