1
0
mirror of https://github.com/flarum/core.git synced 2025-07-23 17:51:24 +02:00
Commit Graph

71 Commits

Author SHA1 Message Date
Toby Zerner
972bd24c7a Discussion list refactor, gestures
Also make base Component class automatically assign this.element :)
2015-06-24 17:56:39 +09:30
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
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
dfe1a9bae5 Gracefully handle discussions with no posts
Although this should never happen
2015-06-23 10:30:06 +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
592e0ae1c8 Prevent JS error if discussion has been loaded without posts 2015-06-18 17:42:08 +09:30
Toby Zerner
ccd5fedd25 Extract into truncate helper 2015-06-17 18:22:14 +09:30
Toby Zerner
cf7b6974bc Don't add duplicate posts to a discussion 2015-06-15 08:59:57 +09:30
Toby Zerner
9ef431a542 Fix saving of to-many relationships 2015-06-12 16:41:13 +09:30
Toby Zerner
f667313cc2 Improve ordering of list items when specified key doesn't exist 2015-06-11 18:41:13 +09:30
Toby Zerner
f82aaa82a5 Lay the groundwork for translation & refactor asset compilation
Ditched the idea of having language packs as extensions. Reasoning:

1. Because we use machine keys for translations (rather than English
keys), extensions need to be able to define default translations. If
English translations are to be included in extensions and not in a
language pack extension, then it doesn’t make sense to have other
languages as language pack extensions. Inconsistency → complexity.

2. Translations should maintain version parity with their respective
extensions. There’s no way to do this if extension translations are
external to the extension.

Instead, localisation will be a core effort, as well as a per-extension
effort. Translators will be encouraged to send PRs to core + extensions.

In core, each locale has a directory containing three files:
- translations.yml
- config.js: contains pluralisation logic for the JS app, as well as
moment.js localisation if necessary
- config.php: contains pluralisation logic for the PHP app

Extensions can use the Flarum\Extend\Locale extender to add/override
translations/config to a locale.

Asset compilation has been completely refactored with a better
architecture. Translations + config.js are compiled and cached for the
currently active locale.
2015-06-10 14:23:56 +09:30
Toby Zerner
944e5c649c Rejig formatting API. closes flarum/core#85
It works but it’s not the most pretty thing in the world. @franzliedke
Would be great if you could take a look at the whole formatting API and
work your magic on it sometime… my brain is fried!
2015-06-04 10:48:07 +09:30
Toby Zerner
920ad4f04f Implement search on front end 2015-06-03 18:10:56 +09:30
Toby Zerner
71a5b1f49c Fix/simplify timestamp live updating. closes flarum/core#101 2015-06-01 11:10:15 +09:30
Toby Zerner
605eaa6ffc Add text-editor API to get selection range 2015-06-01 08:49:46 +09:30
Toby Zerner
a3b029accc Prevent error when trying to get relationship and no links have been loaded 2015-05-30 13:58:21 +09:30
Toby Zerner
8859e49241 Add helper to format number with commas 2015-05-30 08:40:29 +09:30
Toby Zerner
2dbd73c11e Implement abbreviate-number helper. closes flarum/core#96 2015-05-30 08:08:57 +09:30
Toby Zerner
2ef2457c57 Sync the discussion model/post stream when posts are added/removed 2015-05-29 18:56:29 +09:30
Toby Zerner
1bb5ef2d72 New and improved post stream. 2015-05-29 18:17:50 +09:30
Toby Zerner
87f84f0614 Improvements to change/forgot password 2015-05-27 16:25:44 +09:30
Toby Zerner
102c794a2c Allow ActionButtons to be disabled 2015-05-27 16:21:15 +09:30
Toby Zerner
95e5a2d69d Improve appearance/behaviour of login/signup/forgot modals 2015-05-26 16:25:25 +09:30
Toby Zerner
17e57c9baa Better handling of API server errors 2015-05-26 11:43:20 +09:30
Toby Zerner
e47678f403 Very rough implementation of forgot password 2015-05-26 11:14:06 +09:30
Toby Zerner
500c279fb3 New user activity feed API.
Originally the user activity feed was implemented using UNIONs. I was
looking at make an API to add activity “sources”, or extra UNION
queries (select from posts, mentions, etc.) but quickly realised that
this is too slow and there’s no way to make it scale.

So I’ve implemented an API which is very similar to how notifications
work (see previous commit). The `activity` table is an aggregation of
stuff that happens, and it’s kept in sync by an ActivitySyncer which is
used whenever a post it created/edited/deleted, a user is
mentioned/unmentioned, etc.

Again, the API is very simple (see Core\Activity\PostedActivity +
Core\Handlers\Events\UserActivitySyncer)
2015-05-20 12:30:27 +09:30
Toby Zerner
00be36ad16 Better API error handling 2015-05-18 18:13:16 +09:30
Toby Zerner
96c3c2cc25 Show composer after discussion is reloaded following login 2015-05-18 15:38:19 +09:30
Toby Zerner
8b7e7c0afd Clicking on an index nav item should always refresh the discussion list 2015-05-18 15:27:39 +09:30
Toby Zerner
d7facbd90a Set document.title on every page 2015-05-18 14:28:15 +09:30
Toby Zerner
9004aff630 Make discussion edit permission specific to renaming 2015-05-18 12:34:03 +09:30
Toby Zerner
b1cbfe0186 Drastically improve how the composer looks and behaves
- New, cleaner, more prominent look
- Make it statically positioned down the bottom on mobile, so you can
still scroll up to look at posts
- Fix some bugs with animation, jumping between views
2015-05-18 10:40:14 +09:30
Toby Zerner
72e9205b50 Properly initialise subtree retainers 2015-05-18 10:35:12 +09:30
Toby Zerner
6aa0765bb4 Note for the future 2015-05-14 22:41:08 +09:30
Toby Zerner
106f5df771 Transform post time into a date 2015-05-14 22:41:06 +09:30
Toby Zerner
8156f23968 Add helper function for punctuating a list
e.g. [1,2,3] ⇒ [1, ‘, ‘, 2, ‘, and’, 3]
2015-05-14 22:41:06 +09:30
Toby Zerner
a8ad5a1ac8 Add methods for doing stuff in text editor
Used by the mentions extension
2015-05-14 22:41:06 +09:30
Toby Zerner
a2049feddf Only give dropdown menu items padding if they have an icon 2015-05-14 22:41:06 +09:30
Toby Zerner
d85ae8745e Automatically hook up onload/config functions
So that every component's DOM can be config'd by extensions
2015-05-14 22:41:06 +09:30
Toby Zerner
4a7bd67199 New component for post excerpts, which will be shown in search results
Perhaps also in user activity stream. They are used in the mentions
extension.

In order to generate the excerpt, each formatter can implement a
“strip” method which basically converts block formatting into inline
formatting.
2015-05-14 22:41:05 +09:30
Toby Zerner
25f399ca35 Don't let a discussion have an empty slug as it messes with the router 2015-05-07 16:53:57 +09:30
Toby Zerner
741ca5ab92 Clean up discussion list retaining mechanism 2015-05-07 10:27:29 +09:30
Toby Zerner
db80a36729 Fix discussion list pagination 2015-05-07 08:58:04 +09:30
Toby Zerner
7906bbd986 Add user group badges 2015-05-06 11:25:19 +09:30
Toby Zerner
496e11c003 Dasherize post/notification type class names 2015-05-06 08:32:33 +09:30
Toby Zerner
1f53547ee5 Move discussion controls out of lib and into forum 2015-05-05 17:06:46 +09:30
Toby Zerner
c43f4b81fd Add convenience method to get a record by a property 2015-05-05 17:05:16 +09:30
Toby Zerner
ba5b79451b Simplify model registration 2015-05-05 17:05:02 +09:30
Toby Zerner
d4e8276b3f Change extend function so that a value doesn't have to be returned
override should be used instead to override the return value.
2015-05-05 17:04:42 +09:30
Toby Zerner
0d9a3283db API for syncing added/removed posts after a discussion is updated 2015-05-04 12:17:26 +09:30