Sorin Davidoi
6884dd79ba
Improve accessibility (part 3) ( #4405 )
...
* fix(compose): Add aria-label for the navigation links
* fix(search): Add input label
* fix(navigation_bar): Link description
* fix(autosuggest_textarea): Add input label
* fix(compose_form): Add input label
* fix(upload_button): Add input label
* fix(account/header): Add link content
* fix(column_header): Use h1 tag
* fix(column_header): Labels move buttons moving column
* fix(settings_text): Add label to input
* fix(column_header): Remove role from h1
* fix(modal_root): Use role=dialog
* fix(modal_root): Focus restauration
* fix(modal_root): Apply inert to sibligs
* fix(column_header): Add role=button
* chore(eslint): Disable jsx-a11y/label-has-for
2017-07-28 00:54:48 +02:00
Sorin Davidoi
f9075577e4
fix(actions_modal): Warning about missing prop ( #4406 )
2017-07-27 23:01:50 +02:00
Sorin Davidoi
50d38d7605
fix(dropdown_menu): Open as modal on mobile ( #4295 )
...
* fix(dropdown_menu): Open as modal on mobile
* fix(dropdown_menu): Open modal on touch
* fix(dropdown_menu): Show status
* fix(dropdown_menu): Max dimensions and reduce padding
* chore(dropdown_menu): Test new functionality
* refactor: Use DropdownMenuContainer instead of DropdownMenu
* feat(privacy_dropdown): Open as modal on touch devices
* feat(modal_root): Do not load actions-modal async
2017-07-27 22:31:59 +02:00
Sorin Davidoi
a248be4fce
fix(columns_area): Manually set tabs style when swiping ( #4320 )
2017-07-26 19:03:56 +02:00
Sorin Davidoi
b8adb4d7fa
fix(column): Crash when heading is undefined ( #4378 )
2017-07-26 15:03:23 +02:00
Sorin Davidoi
6a6a62f13f
Improve accessibility (part 2) ( #4377 )
...
* fix(column_header): Invalid ARIA role
* fix(column): Remove hidden nodes from the DOM
* refactor(column_link): Remove unused property hideOnMobile
* fix(column_header): Use aria-pressed
* fix(column_header): Make collapsed content not focusable, add focusable property
* fix(column_loading): Make header non-focusable
* fix(column_settings): Use role to group the toggles
2017-07-26 13:46:53 +02:00
Sorin Davidoi
2f8bfb3d38
Improve accessibility ( #4369 )
...
* fix(compose): Use nav and remove redundant aria-label
* fix(tabs_tab): Use nav and add aria-label
* fix(app): Add aria-label for settings toggle button
* chore: Run yarn manage:translations
2017-07-26 02:01:27 +02:00
Sorin Davidoi
23e854cb91
fix(components/bundle): Exit early in load function ( #4349 )
2017-07-25 01:05:44 +02:00
Sorin Davidoi
3757546f1b
fix(columns_area): Show correct title for preview columns ( #4310 )
2017-07-23 14:03:35 +02:00
Yamagishi Kazutoshi
3267e4a785
Add unfollow modal (optional) ( #4246 )
...
* Add unfollow modal
* unfollowing someone
* remove unnecessary prop
2017-07-18 17:14:43 +02:00
unarist
695439775e
Fix column swiping ( #4211 )
...
This fixes broken behavior and enable animation only on swiping.
2017-07-15 17:25:04 +02:00
Eugen Rochko
3fbf1bf35a
Fix #3773 - Pin favourites column ( #4201 )
2017-07-15 00:49:34 +02:00
Sorin Davidoi
a9067167bb
Improve swiping ( #4188 )
...
* feat(components/columns_area): Toggle animation settings
* fix(components/media_modal): Center non-visible views
* fix(components/media_modal): Check for null
* refactor(columns_area): Better logic
2017-07-14 00:49:01 +02:00
Sorin Davidoi
a9a0c854e1
fix(components/media_modal): Style issues ( #4187 )
2017-07-13 22:18:18 +02:00
unarist
5abb3d8150
Rerender modal on property changes ( #4175 )
...
Render function for BundleContainer must not be methods.
React doesn't know dependency of the method, so they won't rerender on property updates.
In this case, when you close modal and open another modal immediately,
old modal will be open instead of new one.
2017-07-12 20:51:44 +02:00
Naoki Kosaka
b21ab498f8
Fix media modal prev button behavior. ( #4158 )
2017-07-11 19:56:45 +02:00
Sorin Davidoi
cc68d1945b
refactor: Rewrite immutablejs import statements using destructuring ( #4147 )
2017-07-11 01:00:14 +02:00
Lynx Kotoura
1c6cbdd4e4
Fix duplication of tag in columns_area.js ( #4131 )
...
Deleted ">" just a typo.
2017-07-10 04:37:10 +02:00
Sorin Davidoi
4122a837fa
fix(components/media_modal): Aspect ratio ( #4128 )
...
* fix(components/media_modal): Aspect ratio
* fix: Remove useless style
2017-07-09 18:49:07 +02:00
Sorin Davidoi
fc4c74660b
Swipeable views ( #4105 )
...
* feat: Replace react-swipeable with react-swipeable-views
* fix: iOS 9
2017-07-09 15:02:26 +02:00
unarist
caf938562e
Avoid async import if the component is previously loaded ( #4127 )
2017-07-09 14:52:03 +02:00
Yamagishi Kazutoshi
76318f8830
Don't use preview when image size is unknown ( #4113 )
2017-07-08 17:21:59 +02:00
Nolan Lawson
63b77f2320
Avoid using getBoundingClientRect to calculate height ( #4001 )
2017-07-08 01:57:22 +02:00
Sorin Davidoi
348d6f5e75
Lazy load components ( #3879 )
...
* feat: Lazy-load routes
* feat: Lazy-load modals
* feat: Lazy-load columns
* refactor: Simplify Bundle API
* feat: Optimize bundles
* feat: Prevent flashing the waiting state
* feat: Preload commonly used bundles
* feat: Lazy load Compose reducers
* feat: Lazy load Notifications reducer
* refactor: Move all dynamic imports into one file
* fix: Minor bugs
* fix: Manually hydrate the lazy-loaded reducers
* refactor: Move all dynamic imports to async-components
* fix: Loading modal style
* refactor: Avoid converting the raw state for each lazy hydration
* refactor: Remove unused component
* refactor: Maintain modal name
* fix: Add as=script to preload link
* chore: Fix lint error
* fix(components/bundle): Check if timestamp is set when computing elapsed
* fix: Load compose reducers for the onboarding modal
2017-07-08 00:06:02 +02:00
Sorin Davidoi
60da49f856
fix(components/columns_area): Increase delta for swipe detection ( #4037 )
2017-07-02 15:55:50 +02:00
Eugen Rochko
12e7c81dd8
Turn report screen into a modal ( #3965 )
2017-06-27 18:07:21 +02:00
Yamagishi Kazutoshi
8f2c91568c
Maintain aspect ratio for preview image ( #3966 )
2017-06-27 13:43:53 +02:00
Sorin Davidoi
d23293c762
feat(components/onboarding_modal): Swipe between pages ( #3934 )
2017-06-24 23:17:39 +02:00
Yamagishi Kazutoshi
c1a8e3d1eb
Use Class and Property Decorators ( #3730 )
...
ref https://tc39.github.io/proposal-decorators/
2017-06-23 19:36:54 +02:00
Eugen Rochko
281f07244b
Merge branch 'swipe-gestures' of git://github.com/sorin-davidoi/mastodon into sorin-davidoi-swipe-gestures
2017-06-23 17:52:39 +02:00
Yamagishi Kazutoshi
eff9416469
Remove unused variables ( #3906 )
2017-06-23 16:05:04 +02:00
Sorin Davidoi
bc6e958229
feat: Swipeable media
2017-06-23 13:48:46 +02:00
Sorin Davidoi
a6d8d1036a
feat: Swipeable columns
2017-06-23 13:48:46 +02:00
Sorin Davidoi
8f03fdce7f
Upgrade React Router ( #3677 )
...
* chore(yarn): Remove react-router
* chore(yarn): Remove react-router-scroll
* chore(yarn): Remove history
* chore(yarn): Add react-router-dom
* chore: Remove usages of react-router-scroll
* refactor: Upgrade to react-router-web
* refactor: Use fork of react-router-scroll
This reverts commit 2ddea9a6c8d39fc64b7d0b587f3fbda7a45a7fa2.
* fix: Issues mentions in the PR feedback
2017-06-20 20:40:03 +02:00
Yamagishi Kazutoshi
df4f4e94b3
Add alt attribute to ImageLoader ( #3765 )
2017-06-15 14:10:41 +02:00
Eugen Rochko
b623dd12c1
Use preview image in <ImageLoader /> to provide immediate visual feedback ( #3595 )
...
before the full-size image is loaded
2017-06-06 19:30:17 +02:00
Yamagishi Kazutoshi
d8ae3efec3
Improve ESLint rules for JSX ( #3608 )
...
* Add react/no-string-refs ESLint rule
* Add react/jsx-boolean-value ESLint rule
* Add react/jsx-closing-bracket-location ESLint rule
* Add react/jsx-indent ESLint rule
* Add react/jsx-curly-spacing ESLint rule
* Add react/jsx-equals-spacing ESLint rule
* Add react/jsx-first-prop-new-line ESLint rule
* Add react/jsx-no-duplicate-props ESLint rule
* Add react/jsx-tag-spacing ESLint rule
2017-06-06 13:20:07 +02:00
Yamagishi Kazutoshi
66ca7157db
Add support key shortcut to Onboarding Modal ( #3517 )
...
* Add support key shortcut to Onboarding Modal
* this.state.pages -> this.pages
2017-06-05 10:09:14 +02:00
Eugen Rochko
8ee2eb5d2e
Allow mounting arbitrary columns ( #3207 )
...
* Allow mounting arbitrary columns
* Refactor column headers, allow pinning/unpinning and moving columns around
* Collapse animation
* Re-introduce scroll to top
* Save column settings properly, do not display pin options in
single-column view, do not display collapse icon if there is
nothing to collapse
* Fix one instance of public timeline being closed closing the stream
Fix back buttons inconsistently sending you back to / even if history exists
* Getting started displays links to columns that are not mounted
2017-06-04 01:39:38 +02:00
Yamagishi Kazutoshi
fda5c699c2
Add ESLint rule (object-curly-spacing) ( #3498 )
2017-06-01 17:25:10 +02:00
unarist
dbccdcc1b1
Focus the submit button on the boost modal ( #3494 )
...
Focus the submit button when boost modal is opened.
2017-06-01 04:20:10 +02:00
Nolan Lawson
c00ead8a72
Remove react-imageloader ( #3423 )
...
* Remove react-imageloader
* add eslint-disable-line
* improve image loading experience
* remove unneeded import
* use PureComponent
* Use componentWillMount instead of constructor
2017-05-31 17:07:25 +02:00
Yamagishi Kazutoshi
4b11675bdc
Change anchor to button element ( #3321 )
...
Fix warning for ESLint (jsx-a11y/href-no-hash).
2017-05-26 14:10:37 +02:00
Nolan Lawson
2531c5953b
Replace onWheel listener with onScroll ( #3324 )
...
* Replace onWheel listener with onScroll
* Update column.js
2017-05-26 14:09:13 +02:00
Yamagishi Kazutoshi
1ec7c87001
Remove unnecessary constructors ( #3280 )
2017-05-24 17:55:16 +02:00
Yamagishi Kazutoshi
860ffc0560
Focus the submit button ( #3253 )
...
Focus the submit button when confirmation modal is opened.
Also, changed cancellation link to button.
This makes the meaning clearer.
2017-05-23 13:10:41 +02:00
Yamagishi Kazutoshi
2e112e2406
Improve eslint rules ( #3147 )
...
* Add semi to ESLint rules
* Add padded-blocks to ESLint rules
* Add comma-dangle to ESLint rules
* add config/webpack and storyboard
* add streaming/
* yarn test:lint -- --fix
2017-05-20 17:31:47 +02:00
Sorin Davidoi
2c405aed55
Performance improvements ( #3168 )
...
* refactor(components/status_list): Avoid quering scrollTop if not necessary
* refactor(components/dropdown_menu): Do not render items if not expanded
* refactor: Cherry-pick react-motion imports
* refactor(compose/privacy_dropdown): Do not render options if not open
* refactor(components/column_collapsable): Do not render children if collapsed
2017-05-20 14:58:13 +02:00
Sorin Davidoi
1548695c83
Avoid useless renders ( #3141 )
...
* feat(eslint): Set react/jsx-no-bind: error
* refactor(notifications/setting_toggle): Do not use bind
* refactor(components/dropdown_menu): Do not use bind
* refactor(components/autosuggest_textarea): Do not use bind
* refactor(compose/privacy_dropdown): Do not use bind
* refactor(compose/upload_form): Do not use bind
* refactor(components/status): Do not use bind
* refactor(components/onboarding_modal): Do not use bind
* refactor: PR feedback
* chore(notifications/setting_toggle): Lint
* refactor: PR feedback
2017-05-19 20:58:12 +02:00
Yamagishi Kazutoshi
dc559d6b7a
Downgrade eslint-plugin-jsx-a11y to v4.0.0 ( #3131 )
...
In Code Climate, eslint-plugin-jsx-a11y v4.0.0 is used.
Therefore, it seems that a warning is displayed.
ref https://github.com/codeclimate/codeclimate-eslint/pull/273
2017-05-19 11:44:28 +02:00