Commit Graph

825 Commits

Author SHA1 Message Date
Toby Zerner
fcd1b081d9 Significantly improve mobile UX
Most of #137 done.

- Use FastClick to make everything feel more responsive
- Use transforms for animations to make them silky smooth
- Style the drawer the same as the header to keep things simple
- Revert to fixed composer, but allow it to be minimised
- Add a separate notifications page for mobile so it’s easy to go back
- Add indicator to the menu button when there are unread notifications
- Close the drawer when navigating away
- Make dropdowns/modals scrollable
- Many other mobile tweaks and bug fixes

Didn’t take much care to keep CSS clean, due to #103
2015-06-24 11:44:53 +09:30
Toby Zerner
ff0c078e5a Give author permission to delete discussion if there are no replies
Forgot to commit this part in 3223f65ce3
:3
2015-06-24 09:13:54 +09:30
Toby Zerner
951db23ffd Revert from a while ago: always append if reference item not found
API still needs some work though
2015-06-23 11:12:37 +09:30
Toby Zerner
35cd1f3b51 Extend hover area for post control visibility 2015-06-23 10:57:09 +09:30
Toby Zerner
3eb5c7e701 Yo dawg I heard you like APIs so I put an API in your API so you can API while you API 2015-06-23 10:38:17 +09:30
Toby Zerner
13c30c040b Add gitignore to extension stub 2015-06-23 10:37:07 +09:30
Toby Zerner
7a05f71987 Update extension stub with new APIs 2015-06-23 10:37:01 +09:30
Toby Zerner
c2883bc85e Add light horizontal rule between posts. closes flarum/core#133
Also remove time information from event posts (it’s not useful)
2015-06-23 10:36:36 +09:30
Toby Zerner
3223f65ce3 Allow author to delete discussion if there are no replies
Also disallow the first post in a discussion to be deleted or hidden
(thus preventing discussions with zero posts)

closes flarum/core#90 closes flarum/core#92
2015-06-23 10:34:33 +09:30
Toby Zerner
dfe1a9bae5 Gracefully handle discussions with no posts
Although this should never happen
2015-06-23 10:30:06 +09:30
Toby Zerner
93b865efd1 Speed up committing of scroll position in URL/marking as read 2015-06-23 10:29:08 +09:30
Toby Zerner
f6f254a167 Default submit handler for form modals 2015-06-23 10:28:24 +09:30
Franz Liedke
20b814642f Implement middleware for presenting pretty error pages 2015-06-20 22:39:33 +02:00
Franz Liedke
5dcc13ec11 Add method for checking debug mode 2015-06-20 20:38:44 +02:00
Franz Liedke
f65830948c Rename console commands 2015-06-20 20:09:47 +02:00
Franz Liedke
0c66bd6872 Implement middleware for handling errors according to JSON API spec 2015-06-20 19:45:32 +02:00
Franz Liedke
3a0103de7b Clean up 2015-06-20 18:21:26 +02:00
Toby Zerner
195a3e42d8 Fix broken forgot password form. closes #116 2015-06-20 10:29:57 +09:30
Toby Zerner
4060d575a8 Tweak avatar/count alignment 2015-06-20 10:28:58 +09:30
Toby Zerner
281d744006 Make discussion list more compact 2015-06-19 20:57:36 +09:30
Toby Zerner
d698804d3f Fix incorrect login after confirming token 2015-06-19 19:25:47 +09:30
Toby Zerner
2cc910e234 Actually sort notifications (please) 2015-06-19 19:10:54 +09:30
Toby Zerner
6a39ef5659 Make sure notifications are sorted 2015-06-19 19:05:03 +09:30
Toby Zerner
24eabb1bb3 Ensure we make a new separator 2015-06-19 17:19:27 +09:30
Toby Zerner
525af6f168 Cleanup 2015-06-19 17:19:13 +09:30
Toby Zerner
f07e2d9520 Fix newly-created event posts being undeletable 2015-06-19 17:19:09 +09:30
Toby Zerner
de3f9d82a0 Update avatar uploading code for psr-7
Not sure if a tmp file is the best way, but it works
2015-06-19 16:26:16 +09:30
Toby Zerner
f571a40ca8 Fix infinite loop when @mentioning in a discussion composer 2015-06-19 15:48:51 +09:30
Toby Zerner
6a248ea6a6 Default to 404 code for RouteNotFoundException
Just want to get Stratigility’s FinalHandler showing something more apt
than “Internal server error”
2015-06-19 15:29:27 +09:30
Toby Zerner
d34ddd94ed Generate a new revision string when files change 2015-06-19 14:44:42 +09:30
Toby Zerner
e472f911b5 Don't destroy discussion list in case of a redraw
i.e. the one in index-page’s onunload → composer.minimize
2015-06-19 14:34:52 +09:30
Toby Zerner
d58d7eb27d Tweak hero appearance 2015-06-19 13:55:20 +09:30
Toby Zerner
f48a9b2aca Add model validation messages 2015-06-19 11:43:49 +09:30
Toby Zerner
1a1ccec5a3 Get signup working again 2015-06-19 11:43:36 +09:30
Toby Zerner
1f2e16c4bb Get login/forgot password working again 2015-06-19 11:19:49 +09:30
Toby Zerner
63ea9f0891 Change criteria to work out which posts are intended to be displayed 2015-06-19 11:19:24 +09:30
Toby Zerner
a45729805d Implement time gap indicators
Get rid of short human times (1m, 1h, 1d) for now
2015-06-19 10:00:19 +09:30
Toby Zerner
6ca48e016f Run discussion events after first post is created 2015-06-19 09:07:39 +09:30
Toby Zerner
c2359fc71b Add API to add routes 2015-06-18 17:43:41 +09:30
Toby Zerner
2dbe8eb0b3 Clean up some old code 2015-06-18 17:43:16 +09:30
Toby Zerner
592e0ae1c8 Prevent JS error if discussion has been loaded without posts 2015-06-18 17:42:08 +09:30
Toby Zerner
bf33a08112 Use truncate for search suggestions 2015-06-18 17:41:47 +09:30
Toby Zerner
b43f34c120 Roughly implement routes and data preloading
Only preloading data for basic requests w/o query params, at least for
the moment - if we have to preload for something like
/?q=test&sort=newest, we end up having to duplicate a whole lot of
logic between JS/PHP.
2015-06-18 17:41:37 +09:30
Toby Zerner
a3f0288b09 Remove unused CSS 2015-06-18 13:01:04 +09:30
Toby Zerner
ee46d284c9 Simplify composer animation 2015-06-18 12:53:19 +09:30
Toby Zerner
e6c3ace0e7 Refactor some APIs 2015-06-18 12:45:14 +09:30
Toby Zerner
359f56a71b Cache permissions per user ID 2015-06-18 12:44:13 +09:30
Toby Zerner
e6c2c52210 Fix permission check in UserSearcher 2015-06-18 12:43:20 +09:30
Toby Zerner
fb4528b8c7 Get rid of total count from UserSearcher
Same reasoning as 320180efc4
2015-06-18 12:42:56 +09:30
Toby Zerner
7e69284661 Make sure user activity is synced when whole discussions are deleted
We need to fire the PostWasDeleted event for every post when a
discussion is deleted. This means deleting big discussions will be an
intensive process, but that’s OK because it’s very rare.
2015-06-18 12:41:00 +09:30