Commit Graph

300 Commits

Author SHA1 Message Date
Toby Zerner
40112ae553 Refactor composer live previews for better performance 2015-07-28 16:06:25 +09:30
Toby Zerner
b87cd3ed53 Fix scrolling to the bottom of an item 2015-07-28 15:26:51 +09:30
Toby Zerner
697cb2ed63 Supporting routing of URL with nothing after the discussion ID
closes flarum/core#181
2015-07-28 13:46:43 +09:30
Toby Zerner
e2a4cf5ccb Add preview button to composer 2015-07-28 13:34:42 +09:30
Toby Zerner
f07ab4633b Add ability to refresh index page by clicking on logo. closes flarum/core#188 2015-07-28 12:27:45 +09:30
Toby Zerner
7a67d3ab95 Fix swiping to the right to mark as read 2015-07-28 12:15:45 +09:30
Toby Zerner
283dcad848 Fix Safari header redraw problem. closes flarum/core#187 2015-07-28 10:13:58 +09:30
Toby Zerner
427450f137 Fix attribute name 2015-07-27 19:54:15 +09:30
Toby Zerner
e257454343 Make formatText util an object so it can be extended 2015-07-27 14:17:12 +09:30
Toby Zerner
aaffbe4aa8 Selectively construct request params 2015-07-27 12:44:24 +09:30
Toby Zerner
b2badde77f Always show results container to ensure it gets config'd 2015-07-27 12:32:30 +09:30
Toby Zerner
00de9ee9a4 Another pages loading count fix 2015-07-27 12:28:03 +09:30
Toby Zerner
cdb26eb226 Prevent pages loading count from going negative 2015-07-27 12:23:36 +09:30
Toby Zerner
de210108c3 Make sure pages loading count is kept in sync 2015-07-27 12:16:05 +09:30
Toby Zerner
3467aa9e90 Start loading the next page of posts immediately 2015-07-27 12:12:07 +09:30
Toby Zerner
b01b4b04d3 Fix user page display on mobile 2015-07-23 20:24:05 +09:30
Toby Zerner
e698e2220b Fix translation key 2015-07-23 16:38:51 +09:30
Toby Zerner
512c2b10f4 Redraw after loading missing posts 2015-07-23 16:38:39 +09:30
Toby Zerner
6c8144f90a Set default item priorities 2015-07-23 16:38:30 +09:30
Toby Zerner
61e4763c68 Componentize welcome hero close button 2015-07-23 14:47:27 +09:30
Toby Zerner
806f67f7eb Anchor scroll to bottom when live previewing reply 2015-07-23 14:32:49 +09:30
Toby Zerner
1e74d57526 Fix notification list appearance 2015-07-23 14:32:21 +09:30
Toby Zerner
ce5e4b6c0f Don't allow includes to be specified
Relations must be set to include by default on the API instead
2015-07-23 14:31:46 +09:30
Toby Zerner
65feedc891 Fix discussion list not rendering for guests 2015-07-23 14:31:07 +09:30
Toby Zerner
497b65289e Fix sign up modal 2015-07-23 14:30:55 +09:30
Toby Zerner
a30f591c15 Fix activity page load more button appearance 2015-07-22 16:05:38 +09:30
Toby Zerner
017c258e46 Live preview of post editing/replying thanks to TextFormatter 👏 2015-07-22 16:05:00 +09:30
Toby Zerner
a0fe68272c Implement TextFormatter for posts
Get rid of formatting on user bios, we'll do that with JavaScript
2015-07-22 16:03:48 +09:30
Toby Zerner
d40c28a370 Tweak display of badges in the discussion hero 2015-07-22 09:58:14 +09:30
Toby Zerner
e1a51f095f Random cleanup 2015-07-22 09:57:25 +09:30
Toby Zerner
a66db6323a Fix search routing
Blurring the input causes a redraw, which hides the results and
invalidates the current index. So the routing wasn't working.

Drawer is now hidden on IndexPage construction.
2015-07-22 09:52:58 +09:30
Toby Zerner
9af141ce0b Hide the drawer/modal when constructing all pages
Might be better to do this on config... also extract it into a parent
"Page" component
2015-07-22 09:51:41 +09:30
Toby Zerner
d0c8777430 PERF: fix subtrees never being retained if "mark all as read" was clicked
I didn't realise, performance was terrible for people who have ever
clicked the "mark all as read" button!
2015-07-22 09:50:55 +09:30
Toby Zerner
a7baab8a86 Fix discussion composer title field not focusing editor on 'enter' 2015-07-22 09:49:25 +09:30
Toby Zerner
0cb3378658 Merge branch 'evented-api' 2015-07-21 10:40:38 +09:30
Toby Zerner
aff859d7ea Cleanup unused import 2015-07-20 18:14:03 +09:30
Toby Zerner
6b601ae2d6 Only render posts with the discussion relationship 2015-07-20 18:13:40 +09:30
Toby Zerner
7dd7b3f32c Separate icon from notification grid labels 2015-07-20 18:12:30 +09:30
Toby Zerner
53c621d999 Update event post API
- Use more appropriate component class name
- Allow username to be moved in translation
2015-07-20 18:12:08 +09:30
Toby Zerner
82f1daeef4 Change discussion list sorting labels 2015-07-20 18:11:04 +09:30
Toby Zerner
23dd966b45 Rename method 2015-07-20 18:10:32 +09:30
Toby Zerner
741b9b0ea5 Render discussion hero badges properly 2015-07-20 18:10:21 +09:30
Toby Zerner
f977658417 PERF: Only show search results when field has focus 2015-07-18 22:58:26 +09:30
Toby Zerner
24f100899c Don't apply background color if there is none 2015-07-18 10:55:56 +09:30
Toby Zerner
0af9784a59 Fix bad translation key 2015-07-18 10:11:42 +09:30
Toby Zerner
f93ff7cb3f Make front-end localizable 2015-07-17 17:43:28 +09:30
Toby Zerner
a9ded36b57 Major CSS revamp
- Get rid of Bootstrap (except we still rely on some JS)
- Use BEM class names
- Rework variables/theme config
- Fix various bugs, including some on mobile

The CSS is still not ideal – it needs to be cleaned up some more. But
that can be a focus for after beta.
2015-07-17 14:47:49 +09:30
Toby Zerner
76678f72f2 Case-sensitive filename changes 2015-07-15 15:54:34 +09:30
Toby Zerner
ab6c03c0cc Massive JavaScript cleanup
- Use JSX for templates
- Docblock/comment everything
- Mostly passes ESLint (still some work to do)
- Lots of renaming, refactoring, etc.

CSS hasn't been updated yet.
2015-07-15 14:01:11 +09:30
Toby Zerner
a74623c718 Make admin open in a new window 2015-07-08 10:51:16 +09:30
Toby Zerner
42f1fa1272 Improve fulltext search API and interface 2015-07-07 20:35:18 +09:30
Toby Zerner
4c5cf96b95 Fix discussion search result suggestion excerpts
So that they show the relevant part of the post
2015-07-07 16:16:20 +09:30
Toby Zerner
013d11554d Add discussion list refresh button
Closes flarum/core#139. Haven’t done pull to refresh yet though, but
that can come later.
2015-07-07 15:32:08 +09:30
Toby Zerner
e1a65380ef Tweak discussion list styles some more 2015-07-07 15:30:48 +09:30
Toby Zerner
99876e9e36 Initial refactor of client actions, data preloading, SEO
An initial stab at flarum/core#126. Still WIP. Preliminary
implementation of flarum/core#128 and flarum/core#13.
2015-07-07 15:29:21 +09:30
Toby Zerner
fcc5aa17ea Tweak discussion list contextual controls 2015-07-07 09:21:43 +09:30
Toby Zerner
c06639fdc8 This should've been with the last commit
I blame GitHub for Mac again :]
2015-07-07 09:21:27 +09:30
Toby Zerner
5fe88e448e Improve post stream
- Return all discussion post IDs from API requests which add/remove
posts, so the post stream updates appropriately. Related to #146
- Always unload posts that are two pages away, no matter how fast
you’re scrolling
- Retrieve posts from cache instead of reloading them
- Fix various bugs. Maybe #152, needs confirmation
2015-07-06 16:26:27 +09:30
Toby Zerner
330e60871a Fix read tracking not working 2015-07-05 13:58:07 +09:30
Toby Zerner
31474764ee Fix post scrubber unread indicator overflow 2015-07-05 13:53:06 +09:30
Toby Zerner
1d21670663 New look for discussion reply/unread count
Also decrease the max page width by 100px
2015-07-05 13:52:46 +09:30
Toby Zerner
a74b40fe47 Massive refactor
- Use contextual namespaces within Flarum\Core
- Clean up and docblock everything
- Refactor Activity/Notification blueprint stuff
- Refactor Formatter stuff
- Refactor Search stuff
- Upgrade to JSON-API 1.0
- Removed “addedPosts” and “removedPosts” relationships from discussion
API. This was used for adding/removing event posts after renaming a
discussion etc. Instead we should make an additional request to get all
new posts

Todo:
- Fix Extenders and extensions
- Get rid of repository interfaces
- Fix other bugs I’ve inevitably introduced
2015-07-04 12:24:48 +09:30
Toby Zerner
e18d8b35e5 Refactor component API a bit 2015-06-26 19:09:43 +09:30
Toby Zerner
5202ce00c4 Split up post controls into "user", "moderation", "destructive" 2015-06-26 16:15:30 +09:30
Toby Zerner
fe82631f95 Tweak user bio editing UI 2015-06-26 13:57:21 +09:30
Toby Zerner
0526e223e4 Always show composer header. closes flarum/core#112 2015-06-26 12:18:13 +09:30
Toby Zerner
8f6b373ea1 Constrain the unread part of the scrubber to after the handle 2015-06-26 12:09:59 +09:30
Toby Zerner
e887d75b8b Show badges in notifications 2015-06-26 12:09:28 +09:30
Toby Zerner
6acc6698f5 Don't clear filter when search is cleared 2015-06-26 12:08:46 +09:30
Toby Zerner
9e6ad1f244 Only show search suggestion excerpt if we have it
We won’t have it if we didn’t do a fulltext search
2015-06-26 12:08:23 +09:30
Toby Zerner
35c05862a4 Fix unwanted onbeforeunload message 2015-06-26 11:57:52 +09:30
Toby Zerner
cbd3509ad2 More accurate scrubber height resizing 2015-06-25 15:34:34 +09:30
Toby Zerner
aec6a4b86c Fix faulty detection of touch device 2015-06-25 15:34:14 +09:30
Toby Zerner
2c70c4fa82 Fix active discussion not highlighting in pane 2015-06-25 15:33:56 +09:30
Toby Zerner
4778d15dcb Clean up 2015-06-25 15:33:37 +09:30
Toby Zerner
8fe2f54489 Split discussion controls into three groups:
- user (reply, subscription)
- moderation (rename, sticky, tags)
- destructive (delete)

Will keep extension-added items organised nicely
2015-06-25 15:31:15 +09:30
Toby Zerner
6881229702 Close the composer completely if the reply is empty 2015-06-25 10:34:37 +09:30
Toby Zerner
34ca6d4515 Implement onbeforeunload composer confirmation. closes flarum/core#113 2015-06-25 10:34:14 +09:30
Toby Zerner
f3b8c31e18 Make home button route correctly, not respond on middle click
Amends flarum/core#140, closes flarum/core#136
2015-06-25 08:14:51 +09:30
Toby Zerner
e8bb044701 Discussion list refactor, gestures
Also make base Component class automatically assign this.element :)
2015-06-24 17:56:39 +09:30
Toby Zerner
3b7c7de83b Fix deleting posts causing subsequent posts to display incorrectly 2015-06-24 11:46:43 +09:30
Toby Zerner
fee88508ba Only display the first page of posts
Extra posts may be in the payload (mention links etc.) but we do not
want to display them.
2015-06-24 11:45:58 +09:30
Toby Zerner
e466dcc626 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
6e5329047c 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
64e5d50533 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
3a7efe202e Gracefully handle discussions with no posts
Although this should never happen
2015-06-23 10:30:06 +09:30
Toby Zerner
45ba693154 Speed up committing of scroll position in URL/marking as read 2015-06-23 10:29:08 +09:30
Toby Zerner
f35a9357f0 Default submit handler for form modals 2015-06-23 10:28:24 +09:30
Toby Zerner
a20e2591e6 Fix broken forgot password form. closes #116 2015-06-20 10:29:57 +09:30
Toby Zerner
63654bf195 Actually sort notifications (please) 2015-06-19 19:10:54 +09:30
Toby Zerner
07e2698504 Make sure notifications are sorted 2015-06-19 19:05:03 +09:30
Toby Zerner
056bf669c8 Ensure we make a new separator 2015-06-19 17:19:27 +09:30
Toby Zerner
004e8919b6 Fix infinite loop when @mentioning in a discussion composer 2015-06-19 15:48:51 +09:30
Toby Zerner
840bbfd995 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
a714f12f8f Change criteria to work out which posts are intended to be displayed 2015-06-19 11:19:24 +09:30
Toby Zerner
46347023cc 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
f2b500a6e5 Use truncate for search suggestions 2015-06-18 17:41:47 +09:30
Toby Zerner
822a216cc9 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
2786dbd157 Simplify composer animation 2015-06-18 12:53:19 +09:30
Toby Zerner
bb651899b1 Extract into truncate helper 2015-06-17 18:22:14 +09:30