diff --git a/app/javascript/mastodon/features/ui/components/tabs_bar.js b/app/javascript/mastodon/features/ui/components/tabs_bar.js
index c2e6c88b51..b4153ff459 100644
--- a/app/javascript/mastodon/features/ui/components/tabs_bar.js
+++ b/app/javascript/mastodon/features/ui/components/tabs_bar.js
@@ -2,7 +2,7 @@ import React from 'react';
import NavLink from 'react-router-dom/NavLink';
import { FormattedMessage } from 'react-intl';
-const links = [
+export const links = [
,
,
,
@@ -13,25 +13,13 @@ const links = [
,
];
-export function getPreviousLink (path) {
- const index = links.findIndex(link => link.props.to === path);
-
- if (index > 0) {
- return links[index - 1].props.to;
- }
-
- return null;
-};
-
-export function getNextLink (path) {
- const index = links.findIndex(link => link.props.to === path);
-
- if (index !== -1 && index < links.length - 1) {
- return links[index + 1].props.to;
- }
+export function getIndex (path) {
+ return links.findIndex(link => link.props.to === path);
+}
- return null;
-};
+export function getLink (index) {
+ return links[index].props.to;
+}
export default class TabsBar extends React.Component {
diff --git a/app/javascript/styles/components.scss b/app/javascript/styles/components.scss
index 66d2715da0..397126ec1d 100644
--- a/app/javascript/styles/components.scss
+++ b/app/javascript/styles/components.scss
@@ -1266,6 +1266,23 @@
.columns-area {
padding: 10px;
}
+
+ .react-swipeable-view-container .columns-area {
+ height: calc(100% - 20px) !important;
+ }
+}
+
+.react-swipeable-view-container {
+ &,
+ .columns-area,
+ .drawer,
+ .column {
+ height: 100%;
+ }
+}
+
+.react-swipeable-view-container > * {
+ height: 100%;
}
.column {
@@ -2910,7 +2927,7 @@ button.icon-button.active i.fa-retweet {
video {
max-width: 80vw;
max-height: 80vh;
- width: auto;
+ width: 100%;
height: auto;
}
@@ -2938,7 +2955,26 @@ button.icon-button.active i.fa-retweet {
flex-direction: column;
}
-.onboarding-modal__pager,
+.onboarding-modal__pager {
+ height: 80vh;
+ width: 80vw;
+ max-width: 520px;
+ max-height: 420px;
+
+ .react-swipeable-view-container > div {
+ width: 100%;
+ height: 100%;
+ box-sizing: border-box;
+ padding: 25px;
+ display: none;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ display: flex;
+ user-select: text;
+ }
+}
+
.error-modal__body {
height: 80vh;
width: 80vw;
diff --git a/package.json b/package.json
index 2f63d0bbdf..94545c47e2 100644
--- a/package.json
+++ b/package.json
@@ -88,7 +88,7 @@
"react-router-dom": "^4.1.1",
"react-router-scroll": "ytase/react-router-scroll#build",
"react-simple-dropdown": "^3.0.0",
- "react-swipeable": "^4.0.1",
+ "react-swipeable-views": "^0.12.3",
"react-textarea-autosize": "^5.0.7",
"react-toggle": "^4.0.1",
"redis": "^2.7.1",
diff --git a/yarn.lock b/yarn.lock
index d8ed20343d..d4295cb502 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1259,7 +1259,7 @@ babel-register@^6.24.1:
mkdirp "^0.5.1"
source-map-support "^0.4.2"
-babel-runtime@6.x.x, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.5.0, babel-runtime@^6.9.2:
+babel-runtime@6.x.x, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.5.0, babel-runtime@^6.9.2:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
dependencies:
@@ -2318,7 +2318,7 @@ doctrine@^2.0.0:
esutils "^2.0.2"
isarray "^1.0.0"
-"dom-helpers@^2.4.0 || ^3.0.0", dom-helpers@^3.0.0:
+"dom-helpers@^2.4.0 || ^3.0.0", dom-helpers@^3.0.0, dom-helpers@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.2.1.tgz#3203e07fed217bd1f424b019735582fc37b2825a"
@@ -3937,7 +3937,7 @@ jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.4:
version "1.4.1"
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1"
-keycode@^2.1.8:
+keycode@^2.1.7, keycode@^2.1.8:
version "2.1.9"
resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.1.9.tgz#964a23c54e4889405b4861a5c9f0480d45141dfa"
@@ -5711,6 +5711,15 @@ react-element-to-jsx-string@^5.0.0:
stringify-object "2.4.0"
traverse "^0.6.6"
+react-event-listener@^0.4.5:
+ version "0.4.5"
+ resolved "https://registry.yarnpkg.com/react-event-listener/-/react-event-listener-0.4.5.tgz#e3e895a0970cf14ee8f890113af68197abf3d0b1"
+ dependencies:
+ babel-runtime "^6.20.0"
+ fbjs "^0.8.4"
+ prop-types "^15.5.4"
+ warning "^3.0.0"
+
react-html-attributes@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/react-html-attributes/-/react-html-attributes-1.3.0.tgz#c97896e9cac47ad9c4e6618b835029a826f5d28c"
@@ -5875,11 +5884,34 @@ react-style-proptype@^3.0.0:
dependencies:
prop-types "^15.5.4"
-react-swipeable@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/react-swipeable/-/react-swipeable-4.0.1.tgz#2cb3a04a52ccebf5361881b30e233dc13ee4b115"
+react-swipeable-views-core@^0.11.1:
+ version "0.11.1"
+ resolved "https://registry.yarnpkg.com/react-swipeable-views-core/-/react-swipeable-views-core-0.11.1.tgz#61d046799f90725bbf91a0eb3abcab805c774cac"
dependencies:
- prop-types "^15.5.8"
+ babel-runtime "^6.23.0"
+ warning "^3.0.0"
+
+react-swipeable-views-utils@^0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/react-swipeable-views-utils/-/react-swipeable-views-utils-0.12.0.tgz#4ff11f20a8da0561f623876d9fd691116e1a6a03"
+ dependencies:
+ babel-runtime "^6.23.0"
+ fbjs "^0.8.4"
+ keycode "^2.1.7"
+ prop-types "^15.5.4"
+ react-event-listener "^0.4.5"
+ react-swipeable-views-core "^0.11.1"
+
+react-swipeable-views@^0.12.3:
+ version "0.12.3"
+ resolved "https://registry.yarnpkg.com/react-swipeable-views/-/react-swipeable-views-0.12.3.tgz#b0d3f417bcbcd06afda2f8437c15e8360a568744"
+ dependencies:
+ babel-runtime "^6.23.0"
+ dom-helpers "^3.2.1"
+ prop-types "^15.5.4"
+ react-swipeable-views-core "^0.11.1"
+ react-swipeable-views-utils "^0.12.0"
+ warning "^3.0.0"
react-test-renderer@^15.6.1:
version "15.6.1"