rr-
cc969a808f
client/posts: show ! in title for similar posts
2017-01-08 10:25:29 +01:00
rr-
cb8bb0f23b
client/util: fix style
2017-01-08 10:25:29 +01:00
rr-
beb8d8091b
client/api: better promise aborting
2017-01-08 10:25:29 +01:00
rr-
f00cc5f3fa
client/posts: search for similar posts on upload
2017-01-08 02:26:26 +01:00
rr-
d1bb33ecf0
client/posts: tweak upload appearance and UX
2017-01-08 02:26:13 +01:00
rr-
32d498c74b
client/markdown: allow to specify image size
2016-12-22 23:41:43 +01:00
rr-
81080da06f
client/settings: add ability to autoplay videos
2016-11-11 23:14:51 +01:00
rr-
bf0342df71
client/views: refactor make(Non)VoidElement
...
Merge into one function
2016-11-11 23:08:50 +01:00
rr-
20a5a58734
client/markdown: recognize entity links
2016-11-11 21:52:07 +01:00
rr-
9aa59a228e
client/css: align radioboxes to first line
2016-10-22 14:03:34 +02:00
rr-
2b34d395eb
client/views: escape tag/user/post links
2016-10-02 20:25:48 +02:00
rr-
977cc47966
client/search: escape : in tag search
2016-09-29 22:47:41 +02:00
rr-
a69bdba63f
client/build: ditch arrayToObject
...
UglifyJS seems to have troubles using it, I didn't want to investigate
it too much as it's just a syntactic sugar used in about 4 places so I
just removed it altogether
2016-09-29 11:16:55 +02:00
rr-
d31acc5952
client/views: show "!" in document title on errors
...
Closes #96
2016-09-26 22:48:13 +02:00
rr-
5b565e3b00
client/errors: show errors in inline Markdown
2016-09-10 11:36:02 +02:00
rr-
e05e0e5fd2
client/util: refactor Markdown formatter code
2016-09-10 11:36:02 +02:00
rr-
7fa8593b0a
client/general: improve URL escaping
...
Specifically, cater for /, + and % in URL components.
2016-09-04 02:07:22 +02:00
rr-
997eb3de63
client/tags: fix detecting changes to names
...
Since 243ab15
the order of tag aliases matters, so the changes need to
pick up also permuting - which were ignored before.
2016-08-28 23:48:50 +02:00
rr-
cf1d15354d
client/paging: avoid redrawing header navigation
2016-08-28 23:40:28 +02:00
rr-
e83e1b06a1
client/general: remove spurious console.log
2016-08-28 22:23:20 +02:00
rr-
ad8ed89e3c
client/general: show empty thumbnails as grid
2016-08-23 23:14:05 +02:00
rr-
d5e197e6ea
client/general: add empty href for link buttons
...
In e464e69
I removed href='#' but I noticed that it broke some things.
Readding href serves two purposes:
- it makes links reachable with Tab key
- it makes links clickable with Enter key
The alternative to this approach was to introduce [tabindex] and [role]
attributes. But not only using tabindex=0 with <a/> is questionable,
it'd require adding a keyboard handler that'd intercept space and return
key presses and simulated link clicks. Since it's best to leave this
kind of thing to the native UI, I went with readding hrefs instead. I
believe that hash hrefs, even though being a common practice, are silly,
so I decided to settle down with empty hrefs.
As a bonus, I added a snippet that prevents middle mouse clicks from
opening such links/buttons in new tabs, which was the motivation for
e464e69
.
2016-08-22 01:40:30 +02:00
rr-
5bcf44aa2d
client/posts: implement upload form
2016-08-21 23:43:36 +02:00
rr-
9014baab92
client/snapshots: add snapshots browser
2016-08-20 13:01:17 +02:00
rr-
1b62daed9a
client/general: clean up, refactor
2016-08-05 23:02:41 +02:00
rr-
9304e309f6
client/settings: add posts per page option
2016-08-05 23:02:41 +02:00
rr-
d5a00fe4b9
client/posts: add note editing
2016-08-05 23:02:41 +02:00
rr-
67f803a2f2
client/general: fix support for deleted users
2016-08-02 12:27:02 +02:00
rr-
7022686b77
client/tags: improve privilege checking
...
- Hide fields that are uneditable, rather than disabling them
- Support fragmented edit privileges (e.g. roles than can edit only some
aspects of tags) - up until now the client tried to send everything at
once, which resulted in errors for such cases.
2016-07-26 20:49:48 +02:00
rr-
865c4f3b79
client/posts: respect edit privileges in sidebar
2016-07-26 20:38:12 +02:00
rr-
7488abb332
client/posts: add simple editing
2016-07-17 20:32:00 +02:00
rr-
394e51ed21
client/general: improve scrolling
2016-07-13 17:18:28 +02:00
rr-
5ac5eb5503
client/general: refactor URL parameter handling
2016-07-08 00:54:24 +02:00
rr-
c7f6663c36
client/general: escape entity names in links
2016-06-23 12:47:56 +02:00
rr-
6ea129a9ef
client/views: escape HTML
...
This lets client use < > in tag names.
2016-06-23 12:47:56 +02:00
rr-
f3049e5546
client/tags: add summary view, add tag description
2016-06-23 00:17:11 +02:00
rr-
1a75c61f65
client/tags: fix tag categories with spaces
2016-06-23 00:15:25 +02:00
rr-
c0fd46c890
client/views: fix complex templates
2016-06-23 00:15:24 +02:00
rr-
5f4b67a2bc
client/views: improve HTML to DOM converter
...
Putting a <tr> in the template resulted in... something weird. Adapting
tricks from JQuery with additional fixes.
2016-06-20 21:44:04 +02:00
rr-
54e3099c56
client/general: refactor control flow
...
- Controller lifetime is bound to route lifetime
- View lifetime is bound to controller lifetime
- Control lifetime is bound to view lifetime
- Enhanced event dispatching
- Enhanced responsiveness in some places
- Views communicate user input to controllers via new event system
2016-06-18 10:35:20 +02:00
rr-
892c154b34
client/polyfill: add NodeList.querySelectorAll
2016-06-13 20:10:55 +02:00
rr-
3cbcbf1140
client/general: fix jscs warnings
2016-06-12 22:10:20 +02:00
rr-
4295e1c827
client/misc: fix Markdown permalinks
2016-06-12 18:15:27 +02:00
rr-
7e8a9a0948
client/comments: add comment list view for post
2016-06-12 12:54:08 +02:00
rr-
9e13c05517
client/misc: fix invalid markup for SJIS
2016-06-11 22:33:33 +02:00
rr-
8303c08437
client/users: make avatars clickable
2016-06-11 17:36:02 +02:00
rr-
7566d2e0f3
client/general: respect privileges
2016-06-11 17:36:02 +02:00
rr-
abd679888a
client/general: make fatal errors fatal
2016-06-11 17:36:02 +02:00
rr-
d445a4c93f
client/general: simplify input creation
2016-06-08 22:51:15 +02:00
rr-
07329d33a4
client/posts: add post view (without comments yet)
2016-06-08 22:43:03 +02:00