Toby Zerner
fdb598187f
Revert to "go to email provider" button
2015-09-24 14:22:14 +09:30
Toby Zerner
b126055611
Add "last reply" icon to discussion list
2015-09-24 09:05:52 +09:30
dcsjapan
c2ad1181b1
Merge remote-tracking branch 'flarum/master' into core-key-reorganization
2015-09-23 14:58:34 +09:00
dcsjapan
d5d7185794
Primary key renaming
...
Improved consistency for existing core translation key names.
See flarum/core#265
- Completely overhauled core en.yml
- Replaced existing key names in all core JS files to match
- Extracted a hardcoded string in IndexPage.js
- Combined two app.trans calls in DiscussionControls.js
- Removed hardcoded spaces from LogInModal.js and SignUpModal.js
- Added two new keys from DiscussionControls.js (soft delete)
- Created two new “reused keys” to YML to accommodate same
2015-09-23 14:58:33 +09:00
Toby Zerner
a0267d9515
Add extra check to make sure post has been fully loaded
...
Ref #295
2015-09-23 12:22:37 +09:30
Toby Zerner
3020710959
Move post Restore control into same section as Delete Forever
2015-09-22 17:58:19 +09:30
Toby Zerner
5598e885b7
Improve admin permissions page with icons, visual tweaks
2015-09-22 17:52:16 +09:30
Toby Zerner
264725d872
Allow discussions to be hidden and restored
2015-09-22 17:48:21 +09:30
Toby Zerner
c7ed189cf3
Use ES6 syntax
2015-09-22 17:23:47 +09:30
Toby Zerner
ab6e3351b4
Redraw old data after unsuccessful save
2015-09-22 17:23:28 +09:30
Toby Zerner
f591851cb2
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
f55d95c9b7
Select contents of search input on focus
2015-09-22 17:06:06 +09:30
Toby Zerner
d610ea663f
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
8ab0686666
Properly hide loading spinner on unsuccessful post edit
2015-09-22 16:57:06 +09:30
Toby Zerner
efca923d30
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
4041c18014
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
514eec7466
Clean up
2015-09-18 13:29:50 +09:30
Toby Zerner
4752142c11
Reflect composer's focus state in a property
2015-09-18 13:15:58 +09:30
Toby Zerner
6582c5fcf0
Smooth out initial composer slide animation
2015-09-18 13:14:12 +09:30
Toby Zerner
6fff3cc0dc
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
0b406a06a1
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
1fc369c59e
Cleanup, update changelog
2015-09-18 13:01:31 +09:30
Toby Zerner
dbd33f687c
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
9767bce1e3
Move dropdown mouseover to correct location
...
Related to #496 .
2015-09-16 09:00:33 +02:00
Franz Liedke
ffcba1f173
Always use label as tooltip for header icons
...
Closes #496 .
2015-09-16 08:45:45 +02:00
Toby Zerner
b0da51309e
Copy properties when monkey-patching
2015-09-16 16:03:25 +09:30
Toby Zerner
8414a59908
Don't use a default dropdown label
2015-09-16 10:12:49 +09:30
Toby Zerner
e524c59f97
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
cac670e699
Focus on username field when login buttons are present
2015-09-15 13:04:45 +09:30
Toby Zerner
fa265152c7
Clean up new post layout
2015-09-15 12:42:03 +09:30
Toby Zerner
5c98a08e0f
Merge branch 'master' into compact-posts
2015-09-15 11:27:49 +09:30
Toby Zerner
6beb4fe898
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
8cccaaaf6b
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
d5b58b3146
Only set XHR authorization header if token isn't empty
2015-09-14 14:49:11 +09:30
Toby Zerner
f00d2b1363
Remove unused component
2015-09-14 14:48:05 +09:30
Toby Zerner
efff485d6c
Restyle posts to be more compact, relocate controls
2015-09-08 10:29:00 +09:30
Toby Zerner
6a5427b600
Make unread discussion titles less overwhelming
2015-09-08 10:27:50 +09:30
Toby Zerner
e8621636c5
Add init hook as a way to effectively monkey patch constructors
...
Related to #246
2015-09-08 10:27:02 +09:30
Toby Zerner
8c4e095f23
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
f6e21b75e1
Remove unused translations
2015-09-05 16:05:02 +09:30
Toby Zerner
695df18be0
Don't show placeholder when loading discussions
2015-09-04 13:50:17 +09:30
Toby Zerner
7a6c48c30b
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
9bf6862c6d
Clean up Post CSS
2015-09-04 12:17:30 +09:30
Toby Zerner
44f460cb11
Prevent ItemList crash when item is a number
2015-09-04 12:17:01 +09:30
Toby Zerner
7cce5b02ba
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
722058f2fb
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
70815b024a
Make Dropdown and NotificationsDropdown components more extensible
2015-09-04 12:15:11 +09:30
Toby Zerner
7269385786
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
2f8a449b74
Simplify notification markup
2015-09-04 12:12:48 +09:30
Toby Zerner
b3aa0298d5
Fix use of "new" keyword making eslint angry
2015-09-04 12:12:21 +09:30