1
0
mirror of https://github.com/flarum/core.git synced 2025-07-23 01:31:40 +02:00
Commit Graph

240 Commits

Author SHA1 Message Date
Toby Zerner
9682cd5f26 Make sure dropdowns don't go above the edge of the screen 2017-11-05 16:17:50 +10:30
Toby Zerner
5343d6eff9 Fix admin navigation not rendering
Not sure why this started happening now, but the admin navigation
dropdown wasn't receiving its children properly. This commit fixes a
flaw in our Mithril patch and allows an array of children to be passed
in the normal JSX way, rather than as an attribute.
2017-11-05 16:12:26 +10:30
Franz Liedke
6614fddbcd Remove user bio feature (#1214)
The feature is very limited in scope, and we hope for community
extensions to take over this feature and make it much better.
2017-11-02 01:12:49 +01:00
Toby Zerner
96be7c449d Fix extractText breaking in some cases 2017-10-08 08:59:54 +10:30
Toby Zerner
1f4966bbf1 Make sure components receive all children properly 2017-10-08 08:59:18 +10:30
Toby Zerner
34d7b14d39 Use display names in avatars 2017-10-07 20:10:50 +10:30
Toby Zerner
6f75d95e9f User display names (#1246)
* Introduce user display names

It is not uncommon for forums to be intergrated with sites where users
don't have a unique "handle" - they might just have their first name,
or a full name, which is not guaranteed to be unique.

This commit introduces the concept of "display names" for users. By
default display names are the same as usernames, but extensions may
override this and set them to something different. The important thing
is that all code should use `display_name` whenever intending to output
a human-readable name - `username` is reserved for cases where you want
to output a unique identifier (which may or may not be human-friendly).

The new "GetDisplayName" API is probably sub-optimal, but I didn't worry
too much because we can come up with something better in `next-back`.

ref #557

* Apply fixes from StyleCI

[ci skip] [skip ci]
2017-09-20 16:42:18 +09:30
zinsserzh
3517d4e86c Add isEmpty function to ItemList (#1218)
* Add isEmpty function to ItemList

* Fix coding style to be consistent.

* Recompiled app.js for both js/admin/ and js/forum/
2017-08-10 11:37:00 +09:30
Toby Zerner
2516be8b22 Simplify global back button
The behaviour is not overly intuitive, and the icon wasn't helping
(hamburger icon usually means "menu"). Now the back button always goes
back to the index, no matter where you are, and there's a tooltip that
says "Back to discussion list".
2017-07-22 12:08:09 +09:30
Toby Zerner
aabb55e1dd Remove fa-fw class from all icons
Often it is desirable to NOT have this class applied, and it is easier
to apply its styles if needed rather than un-apply it.
2017-07-22 11:45:42 +09:30
Daniël Klabbers
24d224c986 Update mixin.js
Typo fixed
2017-05-09 13:58:07 +02:00
Sajjad Hashemian
01051c1708 Remember checkbox (#1075)
* Add session option to Rememberer class

* Update session login function to allow send additional data

* Add Remember me checkbox

* Cleanup login modal
2016-11-29 18:02:12 +10:30
Sajjad Hashemian
629bf0f030 Fix syntax errors when compiling js files 2016-11-08 00:32:44 +03:30
Toby Zerner
cf7e132a8a Avoid JSX to workaround Mithril 0.1.x weirdness. closes flarum/core#975 2016-08-27 23:33:34 +09:30
Dominion
1c475ea63f Add newline to locale switch (#974)
- Added to match format of other sections and increase readability.
2016-06-04 13:43:47 +09:30
Toby Zerner
971a1a5cdd Make discussion "hidden" state more explicit
Previously a discussion was classified on the front-end as "hidden" if it had zero posts. This was technically a correct statement as the discussion would not be visible to the public... but it also meant that a discussion with zero posts (like one awaiting approval) was impossible for the OP to delete/hide (i.e. indicate that they made a mistake and they don't want the discussion to be approved).
2016-05-28 09:43:21 +09:30
Toby Zerner
ed2257efb0 Remove space characters from in-between list items
They were causing some weirdness with spacing between redraws.
2016-05-28 09:38:58 +09:30
Toby Zerner
8d26d2ee8f Improve permissions page
- Introduce the concept of "required permissions" - basically a permission dependency tree. In order for a group to be granted one permission, they must also have another.
- Improve redraw performance by not building dropdown menu contents until dropdown is opened

ref #904
2016-05-27 12:42:19 +09:30
Davis
e41a427a6b Trim spaces in getPlainContent, prevent images from loading
fixes #834 closes #963
2016-05-27 07:34:57 +09:30
Toby Zerner
d2bce5d756 Refactor the web app bootstrapping code
- All custom JS variables are now preloaded into the `app.data` object, rather than directly on the `app` object. This means that admin settings are available in `app.data.settings` rather than `app.settings`, etc.
- Cleaner route handler generation
- Renamed ConfigureClientView to ConfigureWebApp, though the former still exists and is deprecated
- Partial fix for #881 (strips ?nojs=1 from URL if possible, so that refreshing will attempt to load JS version again)
2016-05-26 19:04:24 +09:30
Dominion
afeee3af4b Pluralize Turkish (#967)
- Changes the pluralization category of Turkish.
- See: https://discuss.flarum.org/d/2937-pluralization-problems
2016-05-23 22:53:33 +09:00
Toby Zerner
edbc1164d1 Automatically support basic HTML tags in translations
This allows front-end translations to use basic (attributeless) HTML tags freely, without the need for the translator call to supply a matching vdom element. Translations can thus make use of styling (<em>, <code>, etc.) as they see fit. The translator call can still optionally supply a vdom element to substitute in more complex tags where necessary (e.g. hyperlinks).

/cc @dcsjapan
2016-05-21 20:25:32 +09:30
Toby Zerner
6a0ea61c55 Fix buttons being given incorrect title 2016-04-08 13:38:50 +09:30
Toby Zerner
2a0bca218a Retain global page components between routes 2016-04-08 13:38:16 +09:30
Franz Liedke
38e0fc53ab Improve Button component to only show tooltip if textual content is available 2016-04-01 09:51:18 +09:00
Franz Liedke
9df3bbae53 Only update human time objects every ten seconds 2016-03-30 19:47:40 +09:00
Franz Liedke
630215b742 Show full button content as tooltip
Refs #494.
2016-03-30 10:04:08 +09:00
Franz Liedke
43c4c1fe9f extractText: Avoid unnecessary variable 2016-03-30 09:59:54 +09:00
Franz Liedke
edc15d3163 Remove unused mixin imports 2016-03-29 22:32:15 +09:00
Franz Liedke
adcda98f30 Prevent humanTime helper to generate future times
Fixes #592.
2016-03-29 22:23:11 +09:00
Franz Liedke
e00661125a Use group ID instead of name in generated class names
This fixes #847.
2016-03-29 22:08:44 +09:00
Toby Zerner
9e9ef6fe0f Dramatically improve performance when typing in a modal
Since Mithril doesn't really offer granular redraw control, typing in a text input on a modal would trigger a redraw for the whole page (including the page content behind the modal) on every keystroke. This commit allows components to be "paused" so that their vdom subtree will be retained instead of reconstructed on subsequent redraws. When a modal is opened, we pause the main page component, and when it's closed, we unpause it. This means that while a modal is visible, only the content inside of the modal will be redrawn, dramatically improving performance.
2016-03-11 13:18:16 +10:30
Toby Zerner
e46878902a Remove sudo mode and add password confirmation when changing email address
closes #674
2016-03-11 12:44:18 +10:30
Toby Zerner
61a0523e12 Fix crash when displaying a discussion with no posts. closes #823 2016-02-22 22:22:49 +10:30
Franz Liedke
373452b395 Store discussion slug in database table
In preparation for #646.
2016-02-04 11:46:30 +01:00
Toby Zerner
4ef8cbee0a Patch Mithril bug causing redraws to fail
Turns out there's a little more to the regression in a506b7c. First, we need to give the spaces in between list items a key too. Second, there's a bug in the latest Mithril code where using string keys can break the diffing algorithm. I've patched it manually in our dist JS files for now, and reported the issue: https://github.com/lhorie/mithril.js/issues/934
2016-01-19 18:55:57 +10:30
Toby Zerner
fa56ef23c0 Update bower dependencies, fix redraw regression
- In Mithril, `finally` has been removed from promise objects as it is not part of the ES spec. See https://gist.github.com/jish/e9bcd75e391a2b21206b for info on the substitute.
- Fix a regression introduced in a506b7c which broke some redraws
2016-01-19 17:59:19 +10:30
Toby Zerner
a506b7c275 Key item lists to maintain identity across redraws
Fixes #667. This issue was due to the fact that Mithril would change the "Lock" badge into a "Sticky" badge, but the tooltip initialization would not be triggered because it was using the same element. By maintaining element identity, the "Lock" badge will remain untouched, and a new element for the "Sticky" badge will be inserted before it. See https://lhorie.github.io/mithril/mithril.html#dealing-with-focus for more information.
2016-01-13 09:34:12 +10:30
Sajjad Hasehmian
e84ab1daa1 Add rel="nofollow" to bio links (fixes #449) 2016-01-11 13:29:01 +03:30
Peter Mein
596ed23495 Fixed name to camel case 2015-12-26 13:06:58 +01:00
Peter Mein
e607297635 Changed case on helper function
Stub for renaming case of file
2015-12-26 13:06:31 +01:00
Peter Mein
2e110b6ccb Added user online indicator to post 2015-12-16 13:43:46 +01:00
Toby Zerner
d55ba2c483 Merge branch 'sudo-mode'
# Conflicts:
#	CHANGELOG.md
2015-12-03 15:12:51 +10:30
Toby Zerner
32e9c0587c Overhaul sessions, tokens, and authentication
- Use cookies + CSRF token for API authentication in the default client. This mitigates potential XSS attacks by making the token unavailable to JavaScript. The Authorization header is still supported, but not used by default.
- Make sensitive/destructive actions (editing a user, permanently deleting anything, visiting the admin CP) require the user to re-enter their password if they haven't entered it in the last 30 minutes.
- Refactor and clean up the authentication middleware.
- Add an `onhide` hook to the Modal component. (+1 squashed commit)
2015-12-03 15:11:57 +10:30
Toby Zerner
95472a5d65 Fix some issues with dropdown positioning 2015-12-03 14:51:55 +10:30
dcsjapan
b4926b532c Add third-level namespacing to deleted_user_text 2015-11-30 11:17:11 +09:00
Franz Liedke
033a118e97 Rename HTTP method override header
This is the name recommended by the JSON-API spec:
http://jsonapi.org/recommendations/#patchless-clients
2015-11-26 17:43:32 +01:00
Toby Zerner
86dd1ac9f4 Make sure dropdowns stay within the viewport horizontally too 2015-11-20 12:35:07 +10:30
Toby Zerner
e69d277c87 Add label to back button, change behaviour
The back button longer shows if the user hasn't actually navigated anywhere. e.g. if they come in directly to a discussion, it will be hidden.
2015-11-03 15:54:05 +10:30
Toby Zerner
ef9e438981 Revert b198927; always attempt to parse JSON
This way if there is a PHP error which outputs a 200 OK text/html response, Flarum will correctly show an error message.
2015-10-31 14:49:14 +10:30