Sorin Davidoi
8a9d376d6a
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
270039d6df
fix(actions_modal): Warning about missing prop ( #4406 )
2017-07-27 23:01:50 +02:00
Sorin Davidoi
9cb72c6600
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
7ae272fbb6
fix(columns_area): Manually set tabs style when swiping ( #4320 )
2017-07-26 19:03:56 +02:00
Sorin Davidoi
d63950f5b0
fix(column): Crash when heading is undefined ( #4378 )
2017-07-26 15:03:23 +02:00
Sorin Davidoi
8345b4d79a
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
9582932d0a
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
94ac88ec7f
fix(components/bundle): Exit early in load function ( #4349 )
2017-07-25 01:05:44 +02:00
Sorin Davidoi
ad33c1e6bc
fix(columns_area): Show correct title for preview columns ( #4310 )
2017-07-23 14:03:35 +02:00
Yamagishi Kazutoshi
87bb16a236
Add unfollow modal (optional) ( #4246 )
...
* Add unfollow modal
* unfollowing someone
* remove unnecessary prop
2017-07-18 17:14:43 +02:00
unarist
55313a0102
Fix column swiping ( #4211 )
...
This fixes broken behavior and enable animation only on swiping.
2017-07-15 17:25:04 +02:00
Eugen Rochko
c0e596062b
Fix #3773 - Pin favourites column ( #4201 )
2017-07-15 00:49:34 +02:00
Sorin Davidoi
912ca0fa57
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
b047d5c747
fix(components/media_modal): Style issues ( #4187 )
2017-07-13 22:18:18 +02:00
unarist
c3ec4f2dac
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
6e511ee673
Fix media modal prev button behavior. ( #4158 )
2017-07-11 19:56:45 +02:00
Sorin Davidoi
1a5ae3019d
refactor: Rewrite immutablejs import statements using destructuring ( #4147 )
2017-07-11 01:00:14 +02:00
Lynx Kotoura
5703923989
Fix duplication of tag in columns_area.js ( #4131 )
...
Deleted ">" just a typo.
2017-07-10 04:37:10 +02:00
Sorin Davidoi
f19f18f47e
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
420c4d8dc8
Swipeable views ( #4105 )
...
* feat: Replace react-swipeable with react-swipeable-views
* fix: iOS 9
2017-07-09 15:02:26 +02:00
unarist
05833fc24a
Avoid async import if the component is previously loaded ( #4127 )
2017-07-09 14:52:03 +02:00
Yamagishi Kazutoshi
a45154d725
Don't use preview when image size is unknown ( #4113 )
2017-07-08 17:21:59 +02:00
Nolan Lawson
01ee91b725
Avoid using getBoundingClientRect to calculate height ( #4001 )
2017-07-08 01:57:22 +02:00
Sorin Davidoi
40b32ffb12
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
214090aa4d
fix(components/columns_area): Increase delta for swipe detection ( #4037 )
2017-07-02 15:55:50 +02:00
Eugen Rochko
0d316bcfd2
Turn report screen into a modal ( #3965 )
2017-06-27 18:07:21 +02:00
Yamagishi Kazutoshi
8a9408b7c3
Maintain aspect ratio for preview image ( #3966 )
2017-06-27 13:43:53 +02:00
Sorin Davidoi
8180d8bc35
feat(components/onboarding_modal): Swipe between pages ( #3934 )
2017-06-24 23:17:39 +02:00
Yamagishi Kazutoshi
e2027fbe42
Use Class and Property Decorators ( #3730 )
...
ref https://tc39.github.io/proposal-decorators/
2017-06-23 19:36:54 +02:00
Eugen Rochko
88458a1638
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
539dbaa049
Remove unused variables ( #3906 )
2017-06-23 16:05:04 +02:00
Sorin Davidoi
501a3cf944
feat: Swipeable media
2017-06-23 13:48:46 +02:00
Sorin Davidoi
598bb06687
feat: Swipeable columns
2017-06-23 13:48:46 +02:00
Sorin Davidoi
9bc32eb267
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
dd7fb41dbb
Add alt attribute to ImageLoader ( #3765 )
2017-06-15 14:10:41 +02:00
Eugen Rochko
185bcf6fe1
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
d063663125
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
bba7df45e9
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
cf8f820144
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
c7be992701
Add ESLint rule (object-curly-spacing) ( #3498 )
2017-06-01 17:25:10 +02:00
unarist
158d6c85da
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
e7714433fd
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
3d3441dddd
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
98b39c2cbc
Replace onWheel listener with onScroll ( #3324 )
...
* Replace onWheel listener with onScroll
* Update column.js
2017-05-26 14:09:13 +02:00
Yamagishi Kazutoshi
ccd864c41a
Remove unnecessary constructors ( #3280 )
2017-05-24 17:55:16 +02:00
Yamagishi Kazutoshi
5bb10252fa
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
e4ed0b155c
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
fcf794aebe
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
83058002f6
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
9ab33ded34
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