Commit graph

327 commits

Author SHA1 Message Date
b22516cf01 Remove the 'void' option from tag_object link.
Now that all <a> tags are pointy, there is no need for this fake link.
Its only purpose was to make <a>s that had an onclick but no
url get the ol' pointy.
2020-01-14 23:12:43 -08:00
47c0a7221c Prototype of album drag-and-drop moving.
I'm not entirely happy with the way that native drag-and-drop looks,
the transparent bit that you hold while dragging looks dumb.
Will have to look into control / shift clicking to multiselect.
Also just using browser confirm() for now since I haven't made my
own dialog for that kind of thing yet.
2020-01-14 23:04:22 -08:00
0ef3c7d6bf Tags on this page: add separate buttons for must, may, forbid. 2020-01-14 16:44:12 -08:00
491e58ecdd Replace <div id="header"> with <nav id="header>. 2020-01-14 16:43:43 -08:00
723c96c4f2 Greatly simplify the jinja code for tag_object. 2020-01-14 15:11:07 -08:00
c185ca6bf7 Oops, replace wrongly used variable search -> link. 2020-01-13 23:18:48 -08:00
89bfca8f9f Add endpoint for photo generate thumbnail. 2020-01-12 14:52:03 -08:00
ffe0be1c37 Rearrange these arguments to be in the same order as next line. 2020-01-12 14:42:17 -08:00
ac40c86e86 Rename receive_callback -> tag_action_callback. 2020-01-12 14:41:31 -08:00
7e085d7585 Rename receive_callback -> login_register_callback. 2020-01-12 14:37:04 -08:00
b7b33a63ee Rename receive_callback -> add_remove_photo_tag_callback. 2020-01-12 14:36:48 -08:00
f23cebecfe Add the album basic thumbnail to their cards. 2020-01-11 18:05:44 -08:00
41058ccc9e Unindent album card macro. 2019-12-21 01:48:36 -08:00
fcf7a460b2 Unify album_card and root_album_card macros. 2019-12-21 01:47:33 -08:00
c984159a76 Minor css tweaks. 2019-09-11 01:13:10 -07:00
d273adbf27 Move new #right:before to common.css. 2019-09-11 01:12:04 -07:00
4d235c427c Create #right:before on narrow screens to give a solid background. 2019-09-10 19:38:58 -07:00
1a395886ef Set !important on #content_body regrids for stickyside pages. 2019-08-26 15:18:33 -07:00
14500080c8 Redo clipboard.html css to auto grid instead of specifying each. 2019-08-26 15:15:02 -07:00
5a1e4474a9 Remove unnecessary specifying #left grid-area: left. 2019-08-26 15:03:14 -07:00
d209445bd0 Remove unnecessary specifying #header grid-area: header. 2019-08-26 15:02:53 -07:00
ff72a5d26c Redo login.html css to be grid based. 2019-08-26 14:54:29 -07:00
a75540ce25 Replace login and register with real form elements. 2019-08-26 14:34:50 -07:00
7ecfeca96c Allow setting display name during registration. 2019-08-26 14:32:51 -07:00
6635a1e740 Column-gap for everyone! Not just stickyside pages. 2019-08-25 18:07:53 -07:00
ced98d0c42 Use grid-row-gap instead of not last margin-bottom. 2019-08-25 18:00:36 -07:00
b67aa63b26 Add a comment explaining this css. 2019-08-25 17:47:02 -07:00
d5c99b407d Set margin:0 for the inputs next to the buttons
Otherwise they've got odd spacing, and we have row-gaps anyway.
2019-08-25 17:36:05 -07:00
600cb45ddb Add grid-row-gap between album toolbox buttons. 2019-08-25 17:23:33 -07:00
a83f365b2a Use #content_body grid-column-gap instead of #left, #right margin. 2019-08-25 17:23:17 -07:00
78dd1417ca Give the login and register boxes the .panel class. 2019-08-23 13:32:35 -07:00
f3b8c4875d When selecting orderby=random, hide the asc/desc dropdown. 2019-08-23 13:26:20 -07:00
45d8f0df1a For orderby=random, don't add -asc -desc to the URL. 2019-08-23 13:25:21 -07:00
a7d93b7223 Simplify the code for add_new_orderby a little bit. 2019-08-23 13:24:47 -07:00
94140a5a88 Realign the HTML for the orderby options. 2019-08-23 13:23:49 -07:00
79ed0ee186 Various CSS for panels and margins. 2019-08-14 13:49:08 -07:00
f0409bf90f Move search #error_message above #right instead of spanning both. 2019-08-14 13:47:59 -07:00
b683413be0 Try different themes with the ?theme query. 2019-08-14 13:43:35 -07:00
62f36151c4 Make login and register buttons green.
Now that I'm using disabled buttons in some places I want
gray to avoid using gray for anything else.
2019-06-15 17:03:54 -07:00
349fb33199 Disable directory refresh button if no directories. 2019-06-15 17:03:23 -07:00
7bd9d45863 Say "Create album" instead of child on main albums page. 2019-06-15 17:03:07 -07:00
8063f338f8 Add Refresh Directories button to album toolbox. 2019-06-15 16:04:33 -07:00
802c12937b Replace bespoke spinner with new button_with_spinner. 2019-06-15 16:04:06 -07:00
26bcafcbb5 Add style for button:disabled instead of switching classes. 2019-06-15 13:26:39 -07:00
36a2ed9f88 Remove unnecessary _form functions that can be direct calls. 2019-06-15 02:42:33 -07:00
65605253bf Add spacers between these sections of code. 2019-04-27 16:55:47 -07:00
4ddf578d63 Add spinner text to clipboard refresh metadata button.
Also replace usage of own in_progress variable with simply
disabling the button.
2019-04-27 16:55:26 -07:00
c7e4bf16d2 Pull spinner code into own file spinner.js.
For the purposes of editor.js this does not bring much improvement,
but now I can easily make spinners for other things.
2019-04-27 15:42:02 -07:00
09e80f5dba Replace bespoke add_, create_child buttons with confirm buttons. 2019-04-27 15:33:28 -07:00
2f6f4675ee Give #left a right margin instead of 95% width & centering. 2019-03-22 18:36:44 -07:00
572349c1f1 Show the child / photo count on the tooltip as well. 2019-03-16 13:07:29 -07:00
1b5770b81a Somewhat improve appearance of album cards on narrow screens.
Previously, on very narrow screens, the album cards were spilling
out of the container. Now they are better contained but I am
still not 100% satisfied with the margins between them.
2019-03-16 13:07:00 -07:00
cc98def9fb Remove margin-bottom from last child of #left. 2019-03-16 12:24:50 -07:00
59901cb344 Give #left a right margin instead of 95% width & centering. 2019-03-16 12:24:19 -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
b864397242 Have bookmark editor show errors on non 200 responses. 2019-01-13 15:05:03 -08:00
a0faec9639 Have album editor show errors on non 200 responses. 2019-01-13 14:44:21 -08:00
c8f7239e19 Remove unnecessary margin-top from #left elements.
margin-bottom is enough to keep the space between elements,
margin-top was just adding an ugly distance from the header.
2019-01-01 17:21:44 -08:00
760ddfc6b0 Rename color_site_theme to color_theme_primary; and secondary. 2019-01-01 17:20:22 -08:00
6dcf47cab7 Remove duplicated markup between list/grid photo cards. 2018-12-27 15:30:30 -08:00
669247415f Add counts to the parent and child hierarchy headers. 2018-12-23 16:00:28 -08:00
29e999ccac Remove "children/photos" in favor of hover text.
To reduce visual clutter.
2018-12-23 15:59:50 -08:00
746d094d81 Remove duplicated markup between list/grid album cards. 2018-12-23 15:51:38 -08:00
be976d584c Tiny markup cleanup for album card. 2018-12-23 15:36:40 -08:00
3d81b5508c Oops, add data-id to the list view album card. 2018-12-23 15:28:55 -08:00
d736c81100 Minor alignments within cards. 2018-12-21 23:44:11 -08:00
1f45be9c39 Provide #right first, since #left is often slower to load. 2018-11-17 17:52:40 -08:00
dfbdaa5e99 Let specific tag name be a link. 2018-11-17 17:44:17 -08:00
59fdda6c6b Use a similar hierarchy box style as the album page. 2018-11-17 17:37:34 -08:00
e562658d42 Remove unnecessary extra indent. 2018-11-17 17:36:47 -08:00
5dcb86eed5 Rearrange some css. 2018-11-17 16:57:07 -08:00
3788c844bf Let album title editor use same font size as title itself. 2018-11-17 16:55:47 -08:00
074594a8bc Fix #right button_with_confirm from width-jumping on load.
And any other similar element.
2018-11-17 16:53:35 -08:00
e25e0798c9 Add editor button placeholder to stop page jump on load. 2018-11-17 16:50:41 -08:00
707fdcc637 Add album cards and improve album pages.
- album card has placeholder for future thumbnail.
- replaced nested tree hierarchy lists with separate boxes.
- list/grid view also applies to the root listing.
- added a sticky right panel for all the tools. not pretty yet.
- mechanism for adding sticky panel changed. instead of applying
  it to the #right, you apply it to #content_body so that its
  grid layout can be updated properly.
2018-11-12 22:15:59 -08:00
e7d3a652a7 Change largest limit option to 200.
Accidentally commited the number 250 on search.html earlier. Oops.
Anyway I was finding 100 too limiting sometimes.
I will think about making this configurable eventually.
2018-11-04 18:38:32 -08:00
dcfa7a862d Variety of html, css, jinja tweaks. 2018-11-04 18:36:17 -08:00
98d5374d17 Add CSS class sticky_side_right. 2018-11-04 18:32:55 -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
70d0e64309 Add a CSS class to photo cards for selection state.
Planning on adding some rules to make selected cards
stand out in some way, or at least have that possibility.
2018-10-20 02:32:33 -07:00
f9b3f8b0f4 Oops, add missing parentheses to album paste/unpaste buttons. 2018-10-20 02:27:15 -07:00
0ea9f19592 Import api.js into the rest of the pages.
Now we can do anything from anywhere!
2018-09-23 16:53:49 -07:00
d436b32df8 Integrate users with api.js. 2018-09-23 16:50:27 -07:00
8cfa88e45d Integrate tags with api.js and improve sanity of tag endpoints. 2018-09-23 16:41:34 -07:00
af318414e2 Integrate photos with api.js. 2018-09-23 15:52:19 -07:00
bbd4fbd77f Integrate bookmarks with api.js. 2018-09-23 15:43:42 -07:00
3a9ab2b099 Rename photoclipboard.js -> photo_clipboard.js.
To match the namespace photo_clipboard.
2018-09-23 15:17:31 -07:00
616c490391 Merge albums.html and album.html, remove album.js.
The markup for the album listing page and individual album page
were different enough that I decided to make them wholly separate,
but then this left the shared javascript in its own stupid file
unlike any of the other types.
So, I'm merging them as a huge jinja if-else, which is also dumb
but it feels better than all these separate files.
2018-09-23 15:13:31 -07:00
ac79183603 Use more CSS grid on body and content_body.
I learned that grid-template lets you specify row and col
sizes all at once.
2018-09-23 15:08:39 -07:00
20e41ad689 Extremely minor touchups. 2018-09-23 14:57:25 -07:00
3db5c77c2c Use a CSS var for 10% transparency and drop shadow. 2018-09-22 16:01:34 -07:00
2c48b43b71 Use a CSS variable for the secondary theme color. 2018-09-22 01:14:50 -07:00
01a8a6df66 Oops, don't go checking the textbox for tag removal. 2018-09-21 21:32:19 -07:00
f397140e20 Make /logout operate on POST only. 2018-08-17 22:23:40 -07:00
8fdbd49f70 Minor html and style fixes.
Applied wrapping to the description <pre>s,
removed some css that referred to nonexistent things,
move some element tags inside the {%if%} that fills the contents.
2018-08-17 22:05:16 -07:00
251bc04459 Fix photo.html endpoint urls. 2018-08-16 19:45:47 -07:00
1fcacb81fc Update clipboard.html's button function naming scheme like others.
I have finally found a pattern I like which is
function, function_callback, and function_form
for the backend, callback, and button handler respectively.
2018-08-14 23:24:12 -07:00
bea9f905bd Support downloading .zip of arbitrary photos, clipboard.
Now that creating zips of any photo set is easier, we can
let the user download whatever is on their clipboard.
2018-08-14 23:02:06 -07:00
f047235c48 Reorganize a bunch of javascript handlers.
The javascript is very inconsistent between pages. I'm trying to
start using a consistent pattern where the api call is kept in a
separate function from the ones that buttons and input boxes
talk to.
2018-07-29 01:25:53 -07:00
b314d6376f Update the hrefs when saving the bookmark editor. 2018-07-29 00:43:12 -07:00
fd23b563cf Implement bookmark delete on frontend. 2018-07-29 00:36:50 -07:00
8447fb3343 Make deleting and unlinking tags require confirmation.
Added text inside the delete buttons and made them confirm.
2018-07-28 20:25:25 -07:00
949f7177de Add css class gray_button, for more neutral / cancel actions.
Red seems too aggressive and indicates danger when not appropriate.
Gray seems better for reverting to an already safe state.
2018-07-28 20:18:10 -07:00
22d2efa289 Add 'event' to toggle_hoverzoom header for firefox's benefit. 2018-07-28 16:16:16 -07:00
dfff79baa7 Oops, fix broken clipboard reference due to namespace change. 2018-07-28 16:15:15 -07:00
9c354249c9 Rename variable editor -> ed to avoid conflicting with the module.
Even in cases that were not causing problems, for consistency.
2018-07-28 15:17:18 -07:00
977b47522d Add autocomplete to /clipboard. 2018-07-22 20:45:16 -07:00
c840845c7d Add namespacing to albums.js. 2018-07-22 20:21:00 -07:00
63a3ecfa88 Add namespacing to editor.js. 2018-07-22 20:21:00 -07:00
d7b9020585 Add namespacing to photoclipboard.js. 2018-07-22 20:21:00 -07:00
c7cce5a4e5 Add namespacing to common.js. 2018-07-22 20:21:00 -07:00
cf9b6d0725 Workaround autocomplete box sticking around after submitting. 2018-07-22 20:20:54 -07:00
5ec38a93b1 On the tag ancestors, don't display the current tag name.
I was finding it too confusing.
2018-07-22 20:19:05 -07:00
8a12a24e8e Add tag_autocomplete.js.
Instead of embedding the entire tag list in the search.html template
every single time, this script loads the tags from the new,
cache-enabled endpoint /all_tags.json. Then we can use html5
datalists to create autocomplete forms on the search and photo pages.
2018-07-22 20:19:05 -07:00
4c65ccaf68 Big! Liberate Groupables from strict heirarchy. Multiple parents.
I found that the strict heirarchy was not satisfying the situation
where one tag is the intersection of two others, but we can only
pick one as the parent

For example, does red_jacket belong under clothes.red_clothes or
clothes.jackets? A search for "red_clothes AND jackets" might
give us someone wearing red pants and a black jacket, so this
definitely needs to be a separate tag, but picking only one
parent for it is not sufficient. Now, a search for red_clothes
and a search for jackets will both find our red_jacket photo.

The change also applies to Albums because why not, and I'm sure
a similar case can be made.

Unfortunately this means tags no longer have one true qualname.
The concept of qualnames has not been completely phased out but
it's in progress.

This commit is very big because I was not sure for a long time
whether to go through with it, and so much stuff had to change
that I don't want to go back and figure out what could be grouped
together.
2018-07-20 13:09:06 -07:00
5c97086df3 Improve hotkey framework by making own file & register function. 2018-07-14 14:19:13 -07:00
984f6eb3c7 Add a clear button to the clipboard tray. 2018-07-14 02:49:45 -07:00
4002cc660e Don't use shortlink for zoom url. It breaks caching. 2018-05-01 21:03:10 -07:00
b19682d1a5 Replace Photo.sorted_tags with jinja filter. 2018-04-28 19:05:51 -07:00
50592f0ab4 Rework tab titles from "Album X" to "X | Albums" etc.
To prioritize the most unique and relevant piece of information.
2018-04-27 20:04:24 -07:00
bdec6cf4a3 Add filter to generate /file/ link with appropriate basename.
Because inlining the |urlencode every time is easy to forget.
2018-04-19 19:29:06 -07:00
21bd211889 Give Users a display_name. 2018-04-15 14:23:24 -07:00
df211454bb Include username and password length requirements on form. 2018-04-15 13:20:08 -07:00
f77ab51b14 Add Album.has_any_photo and has_any_subalbum_photo. 2018-04-15 02:41:24 -07:00
c1fd863999 Add jinja_filters.py with bytestring. 2018-04-15 00:59:54 -07:00
4fcb524211 Show number of photos in h3 on Album page 2018-04-06 21:50:13 -07:00
6ee86431e5 Add Album.normalize_title and _description. 2018-03-23 00:35:55 -07:00
0e3ae11610 Improve normalizers, use less None; Add author search box.
It was getting difficult to remember which of the normalizers
use None and which don't. So let's try to be a little more consistent
and just use empty sets, etc, so the caller can rely on receiving a
set instead of having to check for None.

Also renamed search parameter authors->author to be more in line
with the singular form of extension.
2018-03-22 21:09:21 -07:00
7b4ae3045a Remove some excessive newlines from photo_card output. 2018-03-19 22:52:15 -07:00
b4cd4b6130 Fix body not filling vertical space. 2018-03-19 15:06:07 -07:00
45bd80caa4 Remove height:40px from plain_link. Only nice_link. 2018-03-19 15:03:53 -07:00
b90971813f Oops, fix broken click-to-join because of the qualname change. 2018-03-19 14:11:25 -07:00
a5aef63c6f Tags on this page should also display qualnames with maxlen. 2018-03-18 19:47:08 -07:00
4a39b527f3 Use dot_extension on the photo cards. 2018-03-18 00:19:30 -07:00
8fcaf15fbe Remove the word "Album" from the h2. The number is okay.
I just decided I like this better.
2018-03-10 19:54:56 -08:00
df86d0f128 Replace "you are here" with the album's name. 2018-03-10 19:54:22 -08:00
45091c6596 Fix thumbnail height in CSS only, no html attr. Don't h-stretch. 2018-03-10 19:53:29 -08:00
f04e055ca3 On the tag page, put descr in a dark box like albums. 2018-03-10 13:40:02 -08:00
daf824caf5 Improve album page's use of data-editor-empty-text. 2018-03-10 13:24:23 -08:00
f9bee5716c Don't clear the clipboard after pasting into album.
Sometimes I want to do more operations.
2018-03-09 17:50:41 -08:00
a1919a7725 Support giving title when creating albums. Two-step prompt. 2018-03-09 17:38:40 -08:00
5f6d21fdee Give Photos a searchhidden property.
By default, photos with searchhidden do not appear in the search
results. This allows a small number of representative images from
a large album to appear in the results, while the rest can be
found on the album's page.

The same effect could be achieved with a tag and forbid search,
but tag searching has much higher cost and it would be more difficult
to implement as a default behavior without requiring lots of special
checks whenever listing tags etc.
2018-03-09 17:10:27 -08:00
faacf7b594 Oops, use response["data"]. 2018-02-26 19:06:27 -08:00
f34164bf85 Add search feature has_thumbnails.
Search needs a complete refactor.
But until then, let's keep adding to it!
2018-02-24 23:06:25 -08:00
5f7266c519 Add button to clear clipboard. 2018-02-24 23:00:28 -08:00
2fceeedbbb Add /clipboard UI for mass refresh metadata. 2018-02-24 13:23:35 -08:00
30c9148092 Move the remaining common css / js to their folders. 2018-02-24 12:51:36 -08:00
79b20369db Oops, apply listeners to /photo input box as well. 2018-02-24 01:08:21 -08:00
e359180467 Move clipboard_tray rules to own file in css folder. 2018-02-24 01:06:27 -08:00
aabcb61a9c Create css folder. Move photo_card rules to own file. 2018-02-24 00:58:43 -08:00