voussoir
d152987b97
Let /album/add_child, /remove_child take multiple IDs.
2020-09-27 23:35:01 -07:00
voussoir
5712d6dabd
Call tag_object instead of hand writing this tag.
2020-09-27 12:15:03 -07:00
voussoir
08591a717b
Let tag_object take arbitrary extra attributes.
2020-09-27 12:14:33 -07:00
voussoir
78a3aa36a8
Let make_attributes replace underscores with hyphens in attr names.
2020-09-27 12:14:20 -07:00
voussoir
705bd8269f
Fix some (but not all) handling of tags with & via urlencoding.
2020-09-27 11:53:38 -07:00
voussoir
667c14f072
Add search argument within_directory.
2020-09-27 10:48:01 -07:00
voussoir
17f694cfed
Add theme-change links to homepage.
2020-09-27 10:37:13 -07:00
voussoir
41353b2eb4
Move current default css into theme_turquoise. Always pick a theme.
2020-09-25 16:27:47 -07:00
voussoir
f5d8898e14
Increase search limit to 1,000.
2020-09-24 14:28:38 -07:00
voussoir
343ce508bf
Add search UI for yield_albums.
2020-09-24 14:26:51 -07:00
voussoir
28181428be
Synchronize Etiquette and YCDL.
2020-09-22 02:54:26 -07:00
voussoir
f8e03bed21
Replace usage of row[0] with (column,) tuple unpack.
2020-09-20 13:41:22 -07:00
voussoir
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
voussoir
407770a80e
Replace handwritten closest() with native closest().
...
And such a beautiful docstring, too, as if no one had done it before.
2020-09-20 12:23:43 -07:00
voussoir
169fd4945d
Fix drag-drop behavior when dropping onto root.
2020-09-20 12:20:36 -07:00
voussoir
00bc7e6eac
Replace nested if with early return.
2020-09-20 12:15:01 -07:00
voussoir
f70349470f
Don't gzip large responses.
2020-09-20 01:06:23 -07:00
voussoir
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
voussoir
a7cc6d2383
Rename all caught exception variables to "exc", not "e".
2020-09-19 03:08:45 -07:00
voussoir
7f410f1da5
Remove leftover /apitest endpoint.
2020-09-19 03:02:14 -07:00
voussoir
2ac6633f55
Remove leftover print statement.
2020-09-18 21:36:09 -07:00
voussoir
79578823f5
Fix jinja variable not defined.
2020-09-18 21:28:21 -07:00
voussoir
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
voussoir
83d22d2736
Remove unnecessary declarations of grid-area: left, right.
2020-09-18 21:01:38 -07:00
voussoir
8da18ba502
Add --narrow, --wide to common.css, is_wide_mode to common.js.
2020-09-18 20:57:35 -07:00
voussoir
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
voussoir
838982b6c3
Let login take username.
...
This cuts back on unnecessary sql selects.
2020-09-17 21:02:55 -07:00
voussoir
14a2014c68
Add link to /userid/id on /user page.
2020-09-17 20:45:58 -07:00
voussoir
4c9668c920
Instead of anti-autofocusing, use a pageload that calls focus().
2020-09-17 18:17:08 -07:00
voussoir
f9e4bac186
Use more _form functions instead of inline api.js calls.
2020-09-17 18:14:07 -07:00
voussoir
1af8342202
Catch json parse errors, setting json_ok = false.
2020-09-15 23:10:35 -07:00
voussoir
fbb373c37e
Remove test_etiquette_site.py.
2020-09-15 19:47:14 -07:00
voussoir
c91888a738
Some linting.
2020-09-15 19:47:07 -07:00
voussoir
35b5b5cd21
Some slate.css color tweaks.
2020-09-15 15:04:27 -07:00
voussoir
2a379919e0
Use grid instead of flexbox for message_area for better gaps.
2020-09-15 15:03:40 -07:00
voussoir
50ecc4c1c1
Let digest_directory act as a generator, yielding photos & albums.
2020-09-15 13:48:06 -07:00
voussoir
adbdb3bdb4
Show number of associated directories in alt text.
2020-09-14 20:26:46 -07:00
voussoir
9102b37d5a
Let slate.css use black text on buttons.
2020-09-14 20:25:51 -07:00
voussoir
dd0ee7a72a
Use more const.
2020-09-14 18:33:53 -07:00
voussoir
7fecd65b33
Remove failed experiment.
2020-09-14 17:30:40 -07:00
voussoir
733776ee88
Failed experiment: clientside updates of tag actions.
...
I'm committing this so I can reference it later if I decide to try
again, but for the time being I'm going to immediately revert it.
2020-09-14 17:21:13 -07:00
voussoir
0f039c5c48
Add remove_specific_synonym_form.
2020-09-14 17:19:25 -07:00
voussoir
5501f7279b
Don't use last-of-type to select tag object.
...
It turns out that last-of-type only considers a single tag type,
it doesn't select last element of class if it has a different tag
than the other classed elements.
2020-09-14 17:19:00 -07:00
voussoir
8659b55103
Use className instead of classList here.
2020-09-14 12:01:33 -07:00
voussoir
1442e16eb7
Add specific_tag variable into the javascript.
2020-09-14 05:55:41 -07:00
voussoir
c532b711b1
During init_all, launch individuals as setTimeouts.
...
I'm having some performance issues with button_with_confirm on /tags.
This won't magically make that faster but I'm trying to stop the main
thread from dragging at least.
2020-09-14 05:54:47 -07:00
voussoir
b98ed27291
Change url parameter /tags?synonyms -> include_synonyms.
...
I keep forgetting that the url parameter name isn't the same as the
python variable name.
2020-09-14 05:52:00 -07:00
voussoir
ff312d1e16
Let /tags pull from cached easybake export.
2020-09-14 05:49:49 -07:00
voussoir
2dc1603d5e
Use className instead of classList for initialization.
2020-09-14 05:19:10 -07:00
voussoir
5461d49cb4
Strip more whitespace from tag_object macro output.
2020-09-14 05:17:44 -07:00