39 Commits

Author SHA1 Message Date
Bettenbuk Zoltan
961e1d611f [RN] Only ask for calendar permission on user interaction 2018-07-11 17:17:24 +02:00
Lyubo Marinov
0d3fac7c0f [RN] Change default WelcomeScreen tab and persist user choice (coding style) 2018-06-18 15:42:09 -05:00
Bettenbuk Zoltan
dcfebf746f [RN] Change default WelcomeScreen tab and persist user choice 2018-06-18 12:21:55 -05:00
Lyubo Marinov
c6d553738f [RN] Refactor SideBar layout and animation (coding style) 2018-06-04 16:05:48 -05:00
Saúl Ibarra Corretgé
c700261852 [RN] Refactor SideBar layout and animation
Layout:

Use an absolute-fill view as the background with the sidebar on top of. This
greatly simplifies styling, as there is no need to calculate how large the
backdrop needs to be.

Animation:

Switch to a translateX transform animation. This serves 2 purposes: first,
there seems to be a bug somewhere in React Native 0.51-0.55 where the content
that is being animated starts to be clipped. Very weird! But more importantly,
translateX transmorm animations are supported by the native animation driver!

https://facebook.github.io/react-native/blog/2017/02/14/using-native-driver-for-animated.html
8f5ebe5952/Libraries/Animated/src/NativeAnimatedHelper.js (L138-L176)

This makes the animation more performant and buttery smooth.

Some small cleanups are also included here.
2018-06-04 16:05:48 -05:00
Saúl Ibarra Corretgé
0817482b9c flow: tame the beast 2018-06-04 16:05:48 -05:00
Bettenbuk Zoltan
6a1e9e256d [RN] Make the calendar the default tab when there are calendar entries fetched. 2018-06-01 10:54:11 +02:00
Saúl Ibarra Corretgé
bbb1dce42a [RN] Simplify styles which fill the parent view
Turns out React Native offers an object with the following definition:

{
    bottom: 0,
    left: 0,
    position: 'absolute',
    right: 0,
    top: 0
}
2018-05-23 14:30:22 +02:00
zbettenbuk
0826ffa974 [RN] Increase header height 2018-05-07 10:05:06 -05:00
zbettenbuk
1eac4c51ca [RN] Add missing key prop to Android page indicator 2018-05-01 12:57:03 -05:00
zbettenbuk
68608478f6 Refactor PagedList components to be independent from the lists it renders 2018-05-01 09:09:32 -05:00
Lyubo Marinov
13e0e18f37 Coding style: formatting, typos 2018-04-16 18:09:08 -05:00
Zoltan Bettenbuk
decbcefbd4 [RN] Don't press on Conference in preparation for 'pinch to zoom'
TouchableWithoutFeedback and TouchableHighlight interfere with the
implementation of 'pinch to zoom' to come. We prepare for it by driving
the onClick/onPress handler(s) out of Conference, through LargeVideo and
ParticipantView into Video itself where the bulk of 'pinch to zoom' will
be implemented.
2018-04-10 01:20:52 -05:00
Zoltan Bettenbuk
cb70c084b3 [RN] "The View is never the target of touch events"
In preparation for "pinch to zoom" support in desktop streams on mobile, make
certain Views not intervene in touch event handling. While the modification is
necessary for "pinch to zoom" which is coming later, it really makes sense for
the modified Views to not be involved in touching because they're used to aid
layout and/or animations and are to behave to the user as if they're not there.
2018-04-10 01:20:52 -05:00
zbettenbuk
b258e0d397 Reorganize calendar access request flow 2018-03-23 07:53:36 +01:00
zbettenbuk
4b17c6f015 Add pull-to-refresh functionality 2018-03-13 18:04:16 -05:00
zbettenbuk
b096622995 Unify recent and meeting lists 2018-03-13 18:04:16 -05:00
Lyubo Marinov
9f69c4d730 Grow features/settings from features/app-settings and features/settings-menu 2018-02-26 19:19:01 -06:00
zbettenbuk
e23d4317eb Add hint box with dynamic join button 2018-02-26 18:39:48 -06:00
zbettenbuk
3cf9fd439b Add iOS 10 compatibility header padding 2018-02-26 18:39:48 -06:00
zbettenbuk
04690dfc8f Facelift Welcome screen 2018-02-26 18:39:48 -06:00
zbettenbuk
9a9890f86c Introduce SafeArea for Settings and Header 2018-02-26 18:35:13 -06:00
Lyubo Marinov
25b130f8e8 [RN] Don't tint the children, tint the background only 2017-12-21 00:00:34 -06:00
Saúl Ibarra Corretgé
ac09233558 [RN] Add TintedView component
It's designed to cover a container and give it a "tint" by using a color and
opacity.
2017-12-19 09:10:58 -06:00
paweldomas
cd48ee3dbf feat: add more accessibility labels
Adds more accessibility labels required for mobile automated testing.
2017-11-28 12:28:37 -06:00
Lyubo Marinov
bce2a9fba9 [RN] Fix eslint & flow errors 2017-11-07 17:27:58 -06:00
paweldomas
320cfe4745 ref(base/react/Container): return null for not visible
Now that we no longer hide the filmstrip it is fine to return null
instead of trying to hide with some tricks.
2017-11-07 08:28:18 -06:00
Saúl Ibarra Corretgé
922bbb1798 [iOS] use display: 'none' to hide elements (#2128)
* [iOS] use display: 'none' to hide elements

No, it still doesn't work properly on some Android devices, sigh.
2017-11-02 10:43:32 -05:00
paweldomas
b74bede0e7 feat(web/RN): update React to v16 and React Native to 0.49 2017-11-02 14:32:35 +01:00
Lyubo Marinov
2e2129fa44 Import PropTypes from prop-types
Prepare for React 16.
2017-09-27 16:24:53 -05:00
Lyubo Marinov
1ea62215f6 [RN] Increase contrast and consistency in LoadingIndicator use cases 2017-09-22 15:07:06 -05:00
Lyubo Marinov
6fb5c4bc29 Fix jsdocs 2017-09-22 15:01:51 -05:00
Saúl Ibarra Corretgé
35da39becf [RN] NetworkActivityIndicator
The basic indicator is extracted into a LoadingIndicator component,
which then NetworkActivityIndicator displays (or not) based on network
activity.
2017-09-20 15:59:56 -05:00
Saúl Ibarra Corretgé
03b043ca2b [Android] Destroy containes when they are not visible
Whatever I've tried so far ends up failing in really weird ways, so let's admit
defeat, for now. Destroy containers only on Android.

This shall be revisited when we update RN to version >= 0.43 and we have
"display: 'none'" available.
2017-07-28 10:25:46 -05:00
Lyubo Marinov
6c488cc613 [RN] Simplify hiding Container components 2017-07-25 13:58:45 -05:00
Saúl Ibarra Corretgé
d3c408ae2e [RN] Simplify hiding Container components
When a Container is not visible there is no need for it to react to touch
events, thus avoid wrapping it in a touch component.

In addition, simplify the style needed for hiding the component. Moving the view
out of the window boundaries no longer works on RN 0.42 on iOS. Seting the size
to 0 works well on both platforms, but in the future (when we upgrade to RN >=
0.43) we should switch to display: none:
4d69f4b2d1
2017-07-25 13:58:44 -05:00
Lyubo Marinov
24eb37ae1e [RN] Fix jsdocs, formatting. Add flow 2017-07-24 16:08:46 -05:00
Saúl Ibarra Corretgé
157eadc44a [RN] Don't destroy containers when they are not visible
This essentially reverts
023359b9d2

In the filmstrip we keep a container full of thumbnail views. Destroying these
every time we want we want to hide it is costly, as new renderers have to be
recreated, and they lack context, so there is an increased chance for "black
thumbnails".
2017-07-24 15:01:37 -05:00
Lyubo Marinov
409255f056 [React] Cross-platform Components
Introduce certain React Components which may be used to write
cross-platform source code such as Audio like Web's audio, Container
like Web's div, Text like Web's p, etc.
2017-06-06 00:11:39 -05:00