Toby Zerner
b87a708e34
Add extra check to make sure post has been fully loaded
...
Ref #295
2015-09-23 12:22:37 +09:30
Toby Zerner
3a41cb5a86
Move post Restore control into same section as Delete Forever
2015-09-22 17:58:19 +09:30
Toby Zerner
8a5a3a0624
Improve admin permissions page with icons, visual tweaks
2015-09-22 17:52:16 +09:30
Toby Zerner
3ac9efde3e
Allow discussions to be hidden and restored
2015-09-22 17:48:21 +09:30
Toby Zerner
1a865a2ab3
Use ES6 syntax
2015-09-22 17:23:47 +09:30
Toby Zerner
c61d2dfc27
Redraw old data after unsuccessful save
2015-09-22 17:23:28 +09:30
Toby Zerner
0cf973ced9
Patch Mithril with a route shortcut attribute
...
Instead of:
<a href={app.route.user(user)} config={m.route}>
We can use:
<a route={app.route.user(user)}>
2015-09-22 17:09:38 +09:30
Toby Zerner
5203be4ec8
Select contents of search input on focus
2015-09-22 17:06:06 +09:30
Toby Zerner
a184577877
Keep post actions visible when controls dropdown is open
...
Also show without hover on touch devices
2015-09-22 17:05:14 +09:30
Toby Zerner
d89e62b8d8
Properly hide loading spinner on unsuccessful post edit
2015-09-22 16:57:06 +09:30
Toby Zerner
2976541d5c
Add "Debug" button to inspect the response of a failed AJAX request
...
Related to #118
2015-09-18 16:46:46 +09:30
Toby Zerner
8d5cbd6802
Further tweaks to post layout
...
Move footer after actions so that we'll be able to have larger things
in the footer (e.g. Answers) without pushing down the controls.
2015-09-18 14:38:57 +09:30
Toby Zerner
362afd1bd2
Clean up
2015-09-18 13:29:50 +09:30
Toby Zerner
092f5a27c9
Reflect composer's focus state in a property
2015-09-18 13:15:58 +09:30
Toby Zerner
57efa7a335
Smooth out initial composer slide animation
2015-09-18 13:14:12 +09:30
Toby Zerner
7bfc3c3d21
Add abstract SettingsModal component in admin app
...
Makes building settings modals (that update basic config values) a
whole lot quicker/easier.
2015-09-18 13:13:25 +09:30
Toby Zerner
9544d7dd6a
Patch Mithril with a bidi attribute
...
Enables quick bidirectional bindings. So instead of this:
<input value={prop()} oninput={m.withAttr('value', prop)}/>
... we can do this:
<input bidi={prop}/>
2015-09-18 13:06:37 +09:30
Toby Zerner
6f5433a81c
Cleanup, update changelog
2015-09-18 13:01:31 +09:30
Toby Zerner
a602790cb0
Remove "custom" home page input
...
Also add an API to let extensions define additional default route
options.
Allowing default routes with parameters (e.g. /d/123) is very difficult
because of the way Mithril routing works, and it doesn't have a
convincing use-case to justify the trouble. So I've removed the custom
input altogether.
closes #427
2015-09-17 12:56:39 +09:30
Franz Liedke
80558401b1
Move dropdown mouseover to correct location
...
Related to #496 .
2015-09-16 09:00:33 +02:00
Franz Liedke
91a31e0149
Always use label as tooltip for header icons
...
Closes #496 .
2015-09-16 08:45:45 +02:00
Toby Zerner
60388236cf
Copy properties when monkey-patching
2015-09-16 16:03:25 +09:30
Toby Zerner
5cac0382b7
Don't use a default dropdown label
2015-09-16 10:12:49 +09:30
Toby Zerner
21b2f55b8c
Improve external authentication API
...
Some providers (e.g. Twitter) don't expose user email addresses, so it
turns out we can't use that as the sole form of identification/account
matching.
This commit introduces a new `auth_tokens` table which stores arbitrary
attributes during the sign up process. For example, when Twitter is
authenticated, a new auth token containing the user's Twitter ID will
be created. When sign up is completed with this token, that Twitter ID
will be set as an attribute on the user's account.
2015-09-15 15:56:48 +09:30
Toby Zerner
fd5f53dc09
Focus on username field when login buttons are present
2015-09-15 13:04:45 +09:30
Toby Zerner
054159c27c
Clean up new post layout
2015-09-15 12:42:03 +09:30
Toby Zerner
1ea991c930
Merge branch 'master' into compact-posts
2015-09-15 11:27:49 +09:30
Toby Zerner
1059147e6c
Add external authenticator (social login) API
...
Allows registrations to be completed with a pre-confirmed email address
and no password.
2015-09-15 11:27:31 +09:30
Toby Zerner
27d020f86b
Improve API error handling
...
- Change 'path' key to 'source.pointer', as per spec
- Add 500 error detail if debug mode is on
2015-09-14 15:40:07 +09:30
Toby Zerner
41898f10d2
Only set XHR authorization header if token isn't empty
2015-09-14 14:49:11 +09:30
Toby Zerner
be7adf8534
Remove unused component
2015-09-14 14:48:05 +09:30
Toby Zerner
26d1cb7e9f
Restyle posts to be more compact, relocate controls
2015-09-08 10:29:00 +09:30
Toby Zerner
ca53a63fd8
Make unread discussion titles less overwhelming
2015-09-08 10:27:50 +09:30
Toby Zerner
76d0e7770c
Add init hook as a way to effectively monkey patch constructors
...
Related to #246
2015-09-08 10:27:02 +09:30
Toby Zerner
4a906e28ba
Allow first post to be hidden/restored
...
Anti-spam extensions may automatically hide the first post in a
discussion, and thus we had to implement smarter permissions so
discussions with zero posts wouldn't be visible to users other than the
author/mods. This change allows those hidden posts to be restored again.
2015-09-07 16:03:45 +09:30
Toby Zerner
6cce84e8c1
Remove unused translations
2015-09-05 16:05:02 +09:30
Toby Zerner
3ec6e94c62
Don't show placeholder when loading discussions
2015-09-04 13:50:17 +09:30
Toby Zerner
ff993c99a4
Correct check that a translation is an object
...
typeof translation === 'object' returns true when translation is null
2015-09-04 12:19:02 +09:30
Toby Zerner
738e272675
Clean up Post CSS
2015-09-04 12:17:30 +09:30
Toby Zerner
39c3b468dc
Prevent ItemList crash when item is a number
2015-09-04 12:17:01 +09:30
Toby Zerner
601f7adb0f
Allow non-array value to be passed into listItems
...
Useful in some scenarios when using JSX
2015-09-04 12:16:23 +09:30
Toby Zerner
c373065ab1
Move generic util into lib
...
Might come in handy for the admin section later on
2015-09-04 12:15:41 +09:30
Toby Zerner
4545673455
Make Dropdown and NotificationsDropdown components more extensible
2015-09-04 12:15:11 +09:30
Toby Zerner
9c8063ecf4
Make a copy of props passed into a component
...
Prevents some rare errors where the props object is read-only, and is
generally safer.
2015-09-04 12:13:55 +09:30
Toby Zerner
423aad22de
Simplify notification markup
2015-09-04 12:12:48 +09:30
Toby Zerner
3aa94e1b10
Fix use of "new" keyword making eslint angry
2015-09-04 12:12:21 +09:30
Toby Zerner
6116458b3d
Add item priorities
2015-09-04 12:11:45 +09:30
Franz Liedke
588dc96685
Add a first empty state to the discussion list
2015-09-03 09:59:33 +02:00
Franz Liedke
e6c96394b7
Merge pull request #403 from mtotheikle/allow-extra-signup-data
...
Allow support for passing extra signup data to API
2015-09-01 18:28:53 +02:00
Michael Williams
a03edf673c
Allow support for passing extra signup data to API
2015-09-01 07:58:14 -07:00