Commit graph

106 commits

Author SHA1 Message Date
e1033d0138 Move tagname related functions from common.js to tag_autocomplete.js. 2020-06-17 12:42:08 -07:00
18c2f0dc78 Rename vars photos -> results since results may contain albums. 2020-04-02 23:27:47 -07:00
0e0f296270 Let tags on this page buttons execute search immediately.
1. When the list is long, scrolling back up to hit to search
button is annoying.
2. If you select too many, there's no way to know if you're
going to wind up constructing a search with 0 results thus
wasting your time.
2020-04-02 22:52:33 -07:00
db43cac583 Fix broken tagsonthispage buttons, need to pass ul not input. 2020-04-02 22:49:33 -07:00
dd3d40de53 Experimental: Allow search results to include albums.
I've been thinking about this for a while but couldn't think of
the perfect way to implement it. I still haven't, so instead I'm
just starting with something and we'll see how to improve later.
At any rate, I can update the rest of the system to expect Albums
coming out of search so that if I ever have a better algorithm
everything else will already be ready for it.
For this first experiment, just any photos that are part of an album
will send that album out as a result. It doesn't even respect the
limit parameter, it's really just to see how it feels to use.
2020-04-02 22:36:40 -07:00
89c308c4a4 When submitting search, check for values left in the tag boxes.
I found pretty commonly that it was easy to leave some text in the
box and forget to press enter, so that tag never got added to the
actual search.
2020-04-02 17:11:29 -07:00
7fc4604025 Simplify this already_have now that the other code is gone. 2020-04-02 17:09:09 -07:00
84833832e4 Improve this comment and some whitespace. 2020-04-02 17:06:50 -07:00
f8bd34eb7a Let add_searchtag and remove_searchtag take the ul instead of box.
With a name like add_searchtag you'd think it'd be past the point
of reading box input, and deeper into the abstraction zone. But nope,
it wasn't. I'll try to take this a few steps further from here too.
2020-04-02 17:04:23 -07:00
3cb8f0adcf Remove code intended for tag trumping but currently useless.
I think at one point I was using full qualnames on the tag objects
in the mmf uls. But now they just show their base name, so this
code is useless. And I don't think I'll reinstate it because tags
have multiple parents now and I don't want to implement all the
lineage checking in the client js. We'll just let the server handle
the slightly less efficient query.
2020-04-02 16:56:44 -07:00
00ad82e07c Dedent this code by doing an early return instead of if. 2020-04-02 16:25:19 -07: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
0ef3c7d6bf Tags on this page: add separate buttons for must, may, forbid. 2020-01-14 16:44:12 -08:00
6635a1e740 Column-gap for everyone! Not just stickyside pages. 2019-08-25 18:07:53 -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
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
760ddfc6b0 Rename color_site_theme to color_theme_primary; and secondary. 2019-01-01 17:20:22 -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
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
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
3a9ab2b099 Rename photoclipboard.js -> photo_clipboard.js.
To match the namespace photo_clipboard.
2018-09-23 15:17: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
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
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
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
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
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
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
30c9148092 Move the remaining common css / js to their folders. 2018-02-24 12:51:36 -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
840185072b Move photoclipboard.js to the js folder. 2018-02-24 00:47:44 -08:00
9c6cae7177 Use event listeners instead of setting onkeyup manually. 2018-02-24 00:24:38 -08:00
f4756d97e4 Improve html & Jinja indentation. 2018-02-17 18:19:47 -08:00
1c1e7f158f Minor fixes & pylint appeasements. 2018-02-16 21:28:36 -08:00
20462f1085 Oops, add back missing CSS on mmf deleter. 2018-01-30 19:45:59 -08:00
526cc7e07d Add search form input for created. 2018-01-13 20:02:12 -08:00
e41532cff1 Rearrange some button CSS classes to be more generic.
Adds CSS variables for the highlight and shadow so they don't need
to be custom-defined for each color of button.
Elements should use more generic classes like green_button instead of
add_tag_button unless there's a good reason.
2017-12-16 14:13:02 -08:00
443d93ce18 Add the clipboard tray where users manage their photo clipboard.
Appearing on search and album pages, the tray is where you can
remove items from your clipboard without having to click on its
checkbox -- that photo card may not even be on the current page.
2017-12-16 03:47:54 -08:00
55f7da7bb2 Add the photo_clipboard feature with localStorage.
photo_card objects now have a checkbox which adds them
to the clipboard. No pasting or other operations yet.
2017-12-09 17:48:56 -08:00
797b3376a7 Add meta viewport to all pages. 2017-07-20 23:10:48 -07:00
f61570acfb Fix "tags on this page" members not superceding parents. 2017-06-19 16:27:24 -07:00
5ba2ecd38a Add tag_object html macro to centralize that effort. Still needs work. 2017-06-13 21:42:23 -07:00
4928095abb Minor commentary and cleanup 2017-05-13 15:27:08 -07:00
a4a278c173 Give Tags a description field. 2017-05-12 17:31:17 -07:00
1c30ef5785 Further separate front & back; Create frontends folder
New frontends folder will hold all front-end interfaces for etiquette. Existing flask site moved here and refers to itself as a package with external launcher. etiquette_site renamed to etiquette_flask
2017-05-01 21:49:28 -07:00
Renamed from templates/search.html (Browse further)