Commit Graph

387 Commits

Author SHA1 Message Date
Toby Zerner
d352c49e29 Reorganise dashboard help text 2015-08-27 10:59:50 +09:30
Toby Zerner
b0db7bf751 Polish admin dashboard 2015-08-27 10:50:15 +09:30
Toby Zerner
3e4a8fe769 Collapse search input on tablets. closes flarum/core#162
While this solution isn't perfect (perhaps a search icon which opens a
dropdown would be better, like Discourse does) - it'll do for now :)
2015-08-27 08:34:19 +09:30
Toby Zerner
dea759d5b8 Fix JS docblock 2015-08-26 17:11:54 +09:30
Toby Zerner
734badb4bc Begin JavaScript cleanup 2015-08-26 16:56:33 +09:30
Toby Zerner
c5edf48bf2 Fix error on index page 2015-08-26 16:56:32 +09:30
Toby Zerner
df385b7df2 Monkey patch mithril so we can use JSX component syntax
<Alert foo="bar"/> instead of Alert.component({foo: 'bar'})
2015-08-26 16:56:32 +09:30
Toby Zerner
e2bb399db9 Make sure active discussion is highlighted 2015-08-26 11:02:12 +09:30
Toby Zerner
b8fc0bc376 Make discussion slug URL parameter optional 2015-08-25 19:32:41 +09:30
Toby Zerner
52bf8b3c1c Add notification excerpts to help distinguish posts 2015-08-21 09:54:41 +09:30
Toby Zerner
4e8f69a18c Remove old code 2015-08-19 14:54:08 +09:30
Toby Zerner
9489173082 Fix some front-end bugs 2015-08-14 12:50:39 +09:30
Toby Zerner
014bacb7ab Add ability to uninstall an extension 2015-08-14 12:48:29 +09:30
Toby Zerner
fa77ad7e0d Update class name 2015-08-13 13:07:30 +09:30
Toby Zerner
dc56e7dc0f Fix unnecessary ?near=1 in some URLs 2015-08-13 13:06:55 +09:30
Toby Zerner
c4992407aa Reuse CommentPost component for PostsUserPage 2015-08-13 13:06:23 +09:30
Toby Zerner
430665e3c8 Don't hide login modal; wait for page to refresh 2015-08-13 13:05:38 +09:30
Toby Zerner
5f3bbabea8 Move locale dropdown to right side of header 2015-08-13 13:05:12 +09:30
Toby Zerner
011701e483 Make sure user cards disappear properly on old browsers
closes flarum/core#222
2015-08-13 13:04:24 +09:30
Toby Zerner
c3b2fa5a99 Prevent badge tooltips from being cut off
By overflow in the notifications dropdown. closes flarum/core#228
2015-08-13 13:01:13 +09:30
Toby Zerner
360f65e270 Fix broken signup
closes flarum/core#231
2015-08-13 13:00:26 +09:30
Toby Zerner
9c7fab5d8c Support running in subdirectory with base_path config 2015-08-13 12:58:59 +09:30
Toby Zerner
3f809761d3 Improve extensions page
- Allow extensions to define an icon in their flarum.json
- Show a "please wait" modal when enabling/disabling an extension
- Styling tweaks
2015-08-07 08:51:03 +09:30
Toby Zerner
4979e4d614 Remove session event handler 2015-08-06 16:13:41 +09:30
Toby Zerner
9def5d2b5d Clean up 2015-08-06 16:00:22 +09:30
Toby Zerner
a856aa8047 Make link to email provider open in new window
closes flarum/core#62
2015-08-06 15:09:55 +09:30
Toby Zerner
32648147e2 Reload page on login
closes flarum/core#145
2015-08-06 15:04:20 +09:30
Toby Zerner
de42c316c0 Remove blockquotes from post previews
Closes flarum/core#144
2015-08-06 13:28:26 +09:30
Toby Zerner
edddeeb553 Make some changes to facilitate updates to mentions extension 2015-08-06 13:16:53 +09:30
Toby Zerner
fa5c7cb123 Build very rough HTML-only content
And redirect to the "no JS" mode if the JS app crashes on boot.

ClientView/ClientAction is all a bit of a mess and will need to be
radically cleaned up at some point...
2015-08-06 12:21:11 +09:30
Toby Zerner
80e13ae289 Implement default route config setting 2015-08-06 12:18:59 +09:30
Toby Zerner
c8084c3925 Remove footer and move language selection to header 2015-08-06 12:16:55 +09:30
Toby Zerner
0d968536bc Tweak dropdown caret margins 2015-08-05 19:21:00 +09:30
Toby Zerner
f182689c90 Allow extension of functions that may not be defined 2015-08-05 19:20:49 +09:30
Toby Zerner
4c06e78b57 Allow/disallow signup per config 2015-08-05 18:19:26 +09:30
Toby Zerner
3f0089e8bb Determine user card editing permissions in one place 2015-08-05 16:22:05 +09:30
Toby Zerner
5005e37cfb Focus on the first input too, in case it's not a text field 2015-08-05 16:07:43 +09:30
Toby Zerner
57e37e06ef Disable "start discussion" button if no permission 2015-08-05 16:06:25 +09:30
Toby Zerner
8be5d5af0f Still set username if user is undefined
Fixes "Started 12 hours ago by undefined" on discussion author avatar
tooltip
2015-08-05 12:17:36 +09:30
Toby Zerner
f42c3cd1ed Allow admins to delete users 2015-08-05 12:08:28 +09:30
Toby Zerner
1679f1e27b Implement edit user modal
EditUserHandler is a bit rough
2015-08-05 11:49:37 +09:30
Toby Zerner
fff2ffe847 Rename user page components for consistency 2015-08-05 11:48:35 +09:30
Toby Zerner
f49d0e5341 Allow locale to be selected in footer 2015-08-05 09:50:57 +09:30
Toby Zerner
187517a9c7 Remove ability for users to delete themselves 2015-08-04 21:35:41 +09:30
Toby Zerner
c74b3434e7 Refactor notification list loading
So that notifications are reloaded (if needed) every time the
notifications dropdown button is clicked
2015-08-04 21:22:40 +09:30
Toby Zerner
61a06abd59 Allow discussion list to be refreshed without clearing it 2015-08-04 19:13:42 +09:30
Toby Zerner
26c87de317 Add an API to show a count in the document title 2015-08-04 19:04:17 +09:30
Toby Zerner
e091b037f3 Radically simplify user activity system
The activity system we were using was built around a separate table.
Whenever the user posted something, or deleted a post, we would sync
the table. The advantage of this was that we could aggregate activity
of all different types very efficiently.

It turns out that it came with a huge disadvantage: there was no
efficient way to enforce permissions on activity. If a user posted
something in a private tag, everyone could still see it on their
activity feed. My stopgap solution was to only sync activity for posts
that are viewable by guests, but that was way too limited.

It also turns out that aggregating activity of different types is
really not that useful, especially considering most of it is the user
making posts. So I've gotten rid of that whole overly-complicated
system, and just made the user profile display separate lists of posts
and discussions, retrieved from those respective APIs. The discussions
page is an actual discussion list too, which is pretty cool.

It's still technically possible to aggregate different activity types
(basically just aggregate API responses together), but we can do that
later if there's a need for it.

This is probably my favourite commit of the day :)
2015-08-04 18:44:22 +09:30
Toby Zerner
186bdc7fd4 Tweak some text/comments 2015-08-04 17:14:54 +09:30
Toby Zerner
5b3484d3c8 Improve error handling somewhat
- Fix composer crashing/not showing alert on error
- Make a general ValidationException which takes an array of field ⇒
messages to be outputted nicely by the API
2015-08-04 13:03:46 +09:30