diff --git a/css/_font.scss b/css/_font.scss index 9c1a3c300..fde7f6f77 100644 --- a/css/_font.scss +++ b/css/_font.scss @@ -42,6 +42,9 @@ .icon-public:before { content: "\e80b"; } +.icon-restore:before { + content: "\e8b3"; +} .icon-timer:before { content: "\e425"; } diff --git a/fonts/jitsi.eot b/fonts/jitsi.eot index 7984214cd..b4328bb8d 100755 Binary files a/fonts/jitsi.eot and b/fonts/jitsi.eot differ diff --git a/fonts/jitsi.svg b/fonts/jitsi.svg index 28a2a67e4..4a9b9bf7f 100755 --- a/fonts/jitsi.svg +++ b/fonts/jitsi.svg @@ -23,6 +23,7 @@ + diff --git a/fonts/jitsi.ttf b/fonts/jitsi.ttf index bd462b4cd..bd290129d 100755 Binary files a/fonts/jitsi.ttf and b/fonts/jitsi.ttf differ diff --git a/fonts/jitsi.woff b/fonts/jitsi.woff index fbcd0f706..81d8033bb 100755 Binary files a/fonts/jitsi.woff and b/fonts/jitsi.woff differ diff --git a/fonts/selection.json b/fonts/selection.json index 4b0c9e507..52f079d3f 100755 --- a/fonts/selection.json +++ b/fonts/selection.json @@ -1,6 +1,33 @@ { "IcoMoonType": "selection", "icons": [ + { + "icon": { + "paths": [ + "M512 342h64v180l150 90-32 52-182-110v-212zM554 128c212 0 384 172 384 384s-172 384-384 384c-106 0-200-42-270-112l60-62c54 54 128 88 210 88 166 0 300-132 300-298s-134-298-300-298-298 132-298 298h128l-172 172-4-6-166-166h128c0-212 172-384 384-384z" + ], + "attrs": [], + "isMulticolor": false, + "isMulticolor2": false, + "tags": [ + "restore" + ], + "defaultCode": 59571, + "grid": 24 + }, + "attrs": [], + "properties": { + "ligatures": "history, restore", + "id": 385, + "order": 930, + "prevSize": 24, + "code": 59571, + "name": "restore" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 385 + }, { "icon": { "paths": [ @@ -24,9 +51,9 @@ "code": 58377, "name": "navigate_next" }, - "setIdx": 0, - "setId": 2, - "iconIdx": 153 + "setIdx": 1, + "setId": 1, + "iconIdx": 0 }, { "icon": { @@ -53,7 +80,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 0 + "iconIdx": 1 }, { "icon": { @@ -80,7 +107,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 1 + "iconIdx": 2 }, { "icon": { @@ -107,7 +134,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 2 + "iconIdx": 3 }, { "icon": { @@ -134,7 +161,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 3 + "iconIdx": 4 }, { "icon": { @@ -161,7 +188,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 4 + "iconIdx": 5 }, { "icon": { @@ -181,14 +208,14 @@ "properties": { "ligatures": "timer", "id": 760, - "order": 916, + "order": 928, "prevSize": 24, "code": 58405, "name": "timer" }, "setIdx": 1, "setId": 1, - "iconIdx": 5 + "iconIdx": 6 }, { "icon": { @@ -215,7 +242,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 6 + "iconIdx": 7 }, { "icon": { @@ -242,7 +269,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 7 + "iconIdx": 8 }, { "icon": { @@ -269,7 +296,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 8 + "iconIdx": 9 }, { "icon": { @@ -296,7 +323,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 9 + "iconIdx": 10 }, { "icon": { @@ -325,7 +352,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 10 + "iconIdx": 11 }, { "icon": { @@ -352,7 +379,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 11 + "iconIdx": 12 }, { "icon": { @@ -379,7 +406,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 12 + "iconIdx": 13 }, { "icon": { @@ -408,7 +435,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 13 + "iconIdx": 14 }, { "icon": { @@ -437,7 +464,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 14 + "iconIdx": 15 }, { "icon": { @@ -466,7 +493,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 15 + "iconIdx": 16 }, { "icon": { @@ -495,7 +522,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 16 + "iconIdx": 17 }, { "icon": { @@ -524,7 +551,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 17 + "iconIdx": 18 }, { "icon": { @@ -550,7 +577,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 18 + "iconIdx": 19 }, { "icon": { @@ -576,7 +603,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 19 + "iconIdx": 20 }, { "icon": { @@ -602,7 +629,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 20 + "iconIdx": 21 }, { "icon": { @@ -628,7 +655,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 21 + "iconIdx": 22 }, { "icon": { @@ -654,7 +681,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 22 + "iconIdx": 23 }, { "icon": { @@ -680,7 +707,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 23 + "iconIdx": 24 }, { "icon": { @@ -706,7 +733,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 24 + "iconIdx": 25 }, { "icon": { @@ -732,7 +759,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 25 + "iconIdx": 26 }, { "icon": { @@ -758,7 +785,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 26 + "iconIdx": 27 }, { "icon": { @@ -784,7 +811,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 27 + "iconIdx": 28 }, { "icon": { @@ -810,7 +837,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 28 + "iconIdx": 29 }, { "icon": { @@ -836,7 +863,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 29 + "iconIdx": 30 }, { "icon": { @@ -862,7 +889,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 30 + "iconIdx": 31 }, { "icon": { @@ -888,7 +915,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 31 + "iconIdx": 32 }, { "icon": { @@ -914,7 +941,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 32 + "iconIdx": 33 }, { "icon": { @@ -940,7 +967,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 33 + "iconIdx": 34 }, { "icon": { @@ -966,7 +993,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 34 + "iconIdx": 35 }, { "icon": { @@ -992,7 +1019,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 35 + "iconIdx": 36 }, { "icon": { @@ -1018,7 +1045,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 36 + "iconIdx": 37 }, { "icon": { @@ -1044,7 +1071,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 37 + "iconIdx": 38 }, { "icon": { @@ -1070,7 +1097,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 38 + "iconIdx": 39 }, { "icon": { @@ -1096,7 +1123,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 39 + "iconIdx": 40 }, { "icon": { @@ -1122,7 +1149,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 40 + "iconIdx": 41 }, { "icon": { @@ -1148,7 +1175,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 41 + "iconIdx": 42 }, { "icon": { @@ -1174,7 +1201,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 42 + "iconIdx": 43 }, { "icon": { @@ -1200,7 +1227,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 43 + "iconIdx": 44 }, { "icon": { @@ -1226,7 +1253,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 44 + "iconIdx": 45 }, { "icon": { @@ -1252,7 +1279,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 45 + "iconIdx": 46 }, { "icon": { @@ -1278,7 +1305,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 46 + "iconIdx": 47 }, { "icon": { @@ -1307,7 +1334,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 47 + "iconIdx": 48 }, { "icon": { @@ -1337,7 +1364,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 48 + "iconIdx": 49 }, { "icon": { @@ -1367,7 +1394,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 49 + "iconIdx": 50 }, { "icon": { @@ -1393,7 +1420,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 50 + "iconIdx": 51 }, { "icon": { @@ -1419,7 +1446,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 51 + "iconIdx": 52 }, { "icon": { @@ -1445,7 +1472,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 52 + "iconIdx": 53 } ], "height": 1024, diff --git a/react/features/base/font-icons/jitsi.json b/react/features/base/font-icons/jitsi.json index 4b0c9e507..52f079d3f 100755 --- a/react/features/base/font-icons/jitsi.json +++ b/react/features/base/font-icons/jitsi.json @@ -1,6 +1,33 @@ { "IcoMoonType": "selection", "icons": [ + { + "icon": { + "paths": [ + "M512 342h64v180l150 90-32 52-182-110v-212zM554 128c212 0 384 172 384 384s-172 384-384 384c-106 0-200-42-270-112l60-62c54 54 128 88 210 88 166 0 300-132 300-298s-134-298-300-298-298 132-298 298h128l-172 172-4-6-166-166h128c0-212 172-384 384-384z" + ], + "attrs": [], + "isMulticolor": false, + "isMulticolor2": false, + "tags": [ + "restore" + ], + "defaultCode": 59571, + "grid": 24 + }, + "attrs": [], + "properties": { + "ligatures": "history, restore", + "id": 385, + "order": 930, + "prevSize": 24, + "code": 59571, + "name": "restore" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 385 + }, { "icon": { "paths": [ @@ -24,9 +51,9 @@ "code": 58377, "name": "navigate_next" }, - "setIdx": 0, - "setId": 2, - "iconIdx": 153 + "setIdx": 1, + "setId": 1, + "iconIdx": 0 }, { "icon": { @@ -53,7 +80,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 0 + "iconIdx": 1 }, { "icon": { @@ -80,7 +107,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 1 + "iconIdx": 2 }, { "icon": { @@ -107,7 +134,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 2 + "iconIdx": 3 }, { "icon": { @@ -134,7 +161,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 3 + "iconIdx": 4 }, { "icon": { @@ -161,7 +188,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 4 + "iconIdx": 5 }, { "icon": { @@ -181,14 +208,14 @@ "properties": { "ligatures": "timer", "id": 760, - "order": 916, + "order": 928, "prevSize": 24, "code": 58405, "name": "timer" }, "setIdx": 1, "setId": 1, - "iconIdx": 5 + "iconIdx": 6 }, { "icon": { @@ -215,7 +242,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 6 + "iconIdx": 7 }, { "icon": { @@ -242,7 +269,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 7 + "iconIdx": 8 }, { "icon": { @@ -269,7 +296,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 8 + "iconIdx": 9 }, { "icon": { @@ -296,7 +323,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 9 + "iconIdx": 10 }, { "icon": { @@ -325,7 +352,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 10 + "iconIdx": 11 }, { "icon": { @@ -352,7 +379,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 11 + "iconIdx": 12 }, { "icon": { @@ -379,7 +406,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 12 + "iconIdx": 13 }, { "icon": { @@ -408,7 +435,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 13 + "iconIdx": 14 }, { "icon": { @@ -437,7 +464,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 14 + "iconIdx": 15 }, { "icon": { @@ -466,7 +493,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 15 + "iconIdx": 16 }, { "icon": { @@ -495,7 +522,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 16 + "iconIdx": 17 }, { "icon": { @@ -524,7 +551,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 17 + "iconIdx": 18 }, { "icon": { @@ -550,7 +577,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 18 + "iconIdx": 19 }, { "icon": { @@ -576,7 +603,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 19 + "iconIdx": 20 }, { "icon": { @@ -602,7 +629,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 20 + "iconIdx": 21 }, { "icon": { @@ -628,7 +655,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 21 + "iconIdx": 22 }, { "icon": { @@ -654,7 +681,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 22 + "iconIdx": 23 }, { "icon": { @@ -680,7 +707,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 23 + "iconIdx": 24 }, { "icon": { @@ -706,7 +733,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 24 + "iconIdx": 25 }, { "icon": { @@ -732,7 +759,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 25 + "iconIdx": 26 }, { "icon": { @@ -758,7 +785,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 26 + "iconIdx": 27 }, { "icon": { @@ -784,7 +811,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 27 + "iconIdx": 28 }, { "icon": { @@ -810,7 +837,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 28 + "iconIdx": 29 }, { "icon": { @@ -836,7 +863,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 29 + "iconIdx": 30 }, { "icon": { @@ -862,7 +889,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 30 + "iconIdx": 31 }, { "icon": { @@ -888,7 +915,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 31 + "iconIdx": 32 }, { "icon": { @@ -914,7 +941,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 32 + "iconIdx": 33 }, { "icon": { @@ -940,7 +967,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 33 + "iconIdx": 34 }, { "icon": { @@ -966,7 +993,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 34 + "iconIdx": 35 }, { "icon": { @@ -992,7 +1019,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 35 + "iconIdx": 36 }, { "icon": { @@ -1018,7 +1045,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 36 + "iconIdx": 37 }, { "icon": { @@ -1044,7 +1071,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 37 + "iconIdx": 38 }, { "icon": { @@ -1070,7 +1097,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 38 + "iconIdx": 39 }, { "icon": { @@ -1096,7 +1123,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 39 + "iconIdx": 40 }, { "icon": { @@ -1122,7 +1149,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 40 + "iconIdx": 41 }, { "icon": { @@ -1148,7 +1175,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 41 + "iconIdx": 42 }, { "icon": { @@ -1174,7 +1201,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 42 + "iconIdx": 43 }, { "icon": { @@ -1200,7 +1227,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 43 + "iconIdx": 44 }, { "icon": { @@ -1226,7 +1253,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 44 + "iconIdx": 45 }, { "icon": { @@ -1252,7 +1279,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 45 + "iconIdx": 46 }, { "icon": { @@ -1278,7 +1305,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 46 + "iconIdx": 47 }, { "icon": { @@ -1307,7 +1334,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 47 + "iconIdx": 48 }, { "icon": { @@ -1337,7 +1364,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 48 + "iconIdx": 49 }, { "icon": { @@ -1367,7 +1394,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 49 + "iconIdx": 50 }, { "icon": { @@ -1393,7 +1420,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 50 + "iconIdx": 51 }, { "icon": { @@ -1419,7 +1446,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 51 + "iconIdx": 52 }, { "icon": { @@ -1445,7 +1472,7 @@ }, "setIdx": 1, "setId": 1, - "iconIdx": 52 + "iconIdx": 53 } ], "height": 1024, diff --git a/react/features/welcome/components/PagedList.android.js b/react/features/welcome/components/PagedList.android.js index b3bafc0a9..6db6cbf2b 100644 --- a/react/features/welcome/components/PagedList.android.js +++ b/react/features/welcome/components/PagedList.android.js @@ -1,7 +1,8 @@ // @flow import React from 'react'; -import { View, ViewPagerAndroid } from 'react-native'; +import { Text, TouchableOpacity, View, ViewPagerAndroid } from 'react-native'; +import { Icon } from '../../base/font-icons'; import { MeetingList } from '../../calendar-sync'; import { RecentList } from '../../recent-list'; @@ -14,6 +15,10 @@ import styles from './styles'; * @extends PagedList */ export default class PagedList extends AbstractPagedList { + /** + * A reference to the viewpager. + */ + _viewPager: Object; /** * Constructor of the PagedList Component. @@ -25,6 +30,8 @@ export default class PagedList extends AbstractPagedList { this._getIndicatorStyle = this._getIndicatorStyle.bind(this); this._onPageSelected = this._onPageSelected.bind(this); + this._onSelectPage = this._onSelectPage.bind(this); + this._setPagerReference = this._setPagerReference.bind(this); } /** @@ -46,6 +53,7 @@ export default class PagedList extends AbstractPagedList { keyboardDismissMode = 'on-drag' onPageSelected = { this._onPageSelected } peekEnabled = { true } + ref = { this._setPagerReference } style = { styles.pagedList }> @@ -55,32 +63,64 @@ export default class PagedList extends AbstractPagedList { - - + + + + + History + + + + + + + + Calendar + + + ); } - _getIndicatorStyle: number => Array; + _getIndicatorStyle: number => Object; /** - * Constructs the style array of an idicator. + * Constructs the style of an indicator. * * @private * @param {number} indicatorIndex - The index of the indicator. - * @returns {Array} + * @returns {Object} */ _getIndicatorStyle(indicatorIndex) { - const style = [ - styles.pageIndicator - ]; - if (this.state.pageIndex === indicatorIndex) { - style.push(styles.pageIndicatorActive); + return styles.pageIndicatorTextActive; } - return style; + return null; } _onPageSelected: Object => void; @@ -99,4 +139,36 @@ export default class PagedList extends AbstractPagedList { }); } } + + _onSelectPage: number => Function + + /** + * Constructs a function to be used as a callback for the tab bar. + * + * @private + * @param {number} pageIndex - The index of the page to activate via the + * callback. + * @returns {Function} + */ + _onSelectPage(pageIndex) { + return () => { + this._viewPager.setPage(pageIndex); + this.setState({ + pageIndex + }); + }; + } + + _setPagerReference: Object => void + + /** + * Sets the pager's reference for direct modification. + * + * @private + * @param {React@Node} component - The pager component. + * @returns {void} + */ + _setPagerReference(component) { + this._viewPager = component; + } } diff --git a/react/features/welcome/components/styles.js b/react/features/welcome/components/styles.js index e674d9988..a2febc6e0 100644 --- a/react/features/welcome/components/styles.js +++ b/react/features/welcome/components/styles.js @@ -150,21 +150,31 @@ export default createStyleSheet({ }, pageIndicator: { - backgroundColor: 'rgba(255, 255, 255, 0.2)', - height: 3, - marginHorizontal: 7, - width: 20 - }, - - pageIndicatorActive: { - backgroundColor: 'rgba(255, 255, 255, 0.8)' + alignItems: 'center', + flex: 1, + flexDirection: 'column', + justifyContent: 'center' }, pageIndicatorContainer: { - alignItems: 'center', + alignItems: 'stretch', + backgroundColor: ColorPalette.blue, flexDirection: 'row', - justifyContent: 'center', - padding: 12 + height: 56, + justifyContent: 'center' + }, + + pageIndicatorIcon: { + color: ColorPalette.blueHighlight, + fontSize: 24 + }, + + pageIndicatorText: { + color: ColorPalette.blueHighlight + }, + + pageIndicatorTextActive: { + color: ColorPalette.white }, /**