diff --git a/ios/BigBlueButton Tablet.xcodeproj/project.pbxproj b/ios/BigBlueButton Tablet.xcodeproj/project.pbxproj
index 1381310..6a9c079 100644
--- a/ios/BigBlueButton Tablet.xcodeproj/project.pbxproj
+++ b/ios/BigBlueButton Tablet.xcodeproj/project.pbxproj
@@ -676,7 +676,7 @@
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_ENTITLEMENTS = "BigBlueButton Broadcast/BigBlueButton Broadcast.entitlements";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 18;
+ CURRENT_PROJECT_VERSION = 19;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = N69T9W23TC;
ENABLE_BITCODE = NO;
@@ -691,7 +691,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
- MARKETING_VERSION = 1.3;
+ MARKETING_VERSION = 1.4;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "org.bigbluebutton.tablet.BigBlueButton-Broadcast";
@@ -718,7 +718,7 @@
CODE_SIGN_ENTITLEMENTS = "BigBlueButton Broadcast/BigBlueButton Broadcast.entitlements";
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
- CURRENT_PROJECT_VERSION = 18;
+ CURRENT_PROJECT_VERSION = 19;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = N69T9W23TC;
ENABLE_BITCODE = NO;
@@ -733,7 +733,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
- MARKETING_VERSION = 1.3;
+ MARKETING_VERSION = 1.4;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "org.bigbluebutton.tablet.BigBlueButton-Broadcast";
PRODUCT_NAME = "$(TARGET_NAME)";
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index cbf847d..f938df7 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -368,6 +368,8 @@ PODS:
- React-perflogger (= 0.69.4)
- RNCAsyncStorage (1.17.9):
- React-Core
+ - RNDeviceInfo (10.3.0):
+ - React-Core
- RNGestureHandler (2.5.0):
- React-Core
- RNLanguages (3.0.2):
@@ -472,6 +474,7 @@ DEPENDENCIES:
- React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`)
- ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
- "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)"
+ - RNDeviceInfo (from `../node_modules/react-native-device-info`)
- RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
- RNLanguages (from `../node_modules/react-native-languages`)
- RNReanimated (from `../node_modules/react-native-reanimated`)
@@ -573,6 +576,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/ReactCommon"
RNCAsyncStorage:
:path: "../node_modules/@react-native-async-storage/async-storage"
+ RNDeviceInfo:
+ :path: "../node_modules/react-native-device-info"
RNGestureHandler:
:path: "../node_modules/react-native-gesture-handler"
RNLanguages:
@@ -637,6 +642,7 @@ SPEC CHECKSUMS:
React-runtimeexecutor: 61ee22a8cdf8b6bb2a7fb7b4ba2cc763e5285196
ReactCommon: 8f67bd7e0a6afade0f20718f859dc8c2275f2e83
RNCAsyncStorage: b2489b49e38c85e10ed45a888d13a2a4c7b32ea1
+ RNDeviceInfo: 4701f0bf2a06b34654745053db0ce4cb0c53ada7
RNGestureHandler: bad495418bcbd3ab47017a38d93d290ebd406f50
RNLanguages: 962e562af0d34ab1958d89bcfdb64fafc37c513e
RNReanimated: 7faa787e8d4493fbc95fab2ad331fa7625828cfa
diff --git a/package.json b/package.json
index 0432cfb..7640460 100644
--- a/package.json
+++ b/package.json
@@ -22,6 +22,7 @@
"i18next": "^21.9.1",
"react": "18.0.0",
"react-native": "0.69.4",
+ "react-native-device-info": "^10.3.0",
"react-native-gesture-handler": "^2.5.0",
"react-native-languages": "^3.0.2",
"react-native-modalize": "^2.1.1",
diff --git a/react-native/app/pages/list_portals/component.tsx b/react-native/app/pages/list_portals/component.tsx
index f3f4c27..94e760d 100644
--- a/react-native/app/pages/list_portals/component.tsx
+++ b/react-native/app/pages/list_portals/component.tsx
@@ -9,6 +9,7 @@ import {
ItemList,
TextButtonOpen,
TextWithoutPortal,
+ TextVersionInfo,
WrapperItemListText,
WrapperListContainer,
WrapperViewAdd,
@@ -25,8 +26,13 @@ import i18next from 'i18next';
import {initTranslation} from '../../translations/index';
import {TouchableOpacity} from 'react-native';
import {createNewPortal} from '../utils/createNewPortal';
+import DeviceInfo from 'react-native-device-info';
export const ListPortals = ({navigation}: IListPortalsDTO) => {
+ const version = DeviceInfo.getVersion();
+ const buildNum = DeviceInfo.getBuildNumber();
+ const versionString = `${version} (#${buildNum})`;
+
initTranslation();
const icon = (
@@ -175,6 +181,7 @@ export const ListPortals = ({navigation}: IListPortalsDTO) => {
>
)}
+ V{versionString}
);
};
diff --git a/react-native/app/pages/list_portals/styles.ts b/react-native/app/pages/list_portals/styles.ts
index 1f3e650..142bafd 100644
--- a/react-native/app/pages/list_portals/styles.ts
+++ b/react-native/app/pages/list_portals/styles.ts
@@ -82,6 +82,14 @@ export const TextWithoutPortal = styled.Text`
display: flex;
`;
+export const TextVersionInfo = styled.Text`
+ margin-top: 100px;
+ color: #555;
+ font-size: 12px;
+ text-align: center;
+ display: flex;
+`;
+
export const BlockTextWithoutPortal = styled.View`
flex-direction: row;
padding: 20px;
diff --git a/react-native/app/routes/component.tsx b/react-native/app/routes/component.tsx
index b79b5c3..c187b50 100644
--- a/react-native/app/routes/component.tsx
+++ b/react-native/app/routes/component.tsx
@@ -8,7 +8,7 @@ import i18next from 'i18next';
import {createDrawerNavigator} from '@react-navigation/drawer';
import SdkContainer from '../../bootstrap/sdk/container';
import {initTranslation} from '../translations/index';
-import { Alert, Linking } from 'react-native';
+import { Alert, Linking, Text } from 'react-native';
import { createNewPortal } from '../pages/utils/createNewPortal';
import { emitter } from '../emitter/emitter';
import { IPortal } from '../pages/utils/types';
@@ -34,7 +34,11 @@ const DeepLink = ()=>{
return Alert.alert(i18next.t('mobileApp.portals.handleWithoutURL'))
}
- const linkParts = linkWithoutScheme.split('/https://');
+ //
+
+
+ let linkParts = linkWithoutScheme.split('/' + encodeURIComponent("https://"));
+
let portalName = linkParts[0];
let portalLink = linkParts[1];
@@ -144,29 +148,31 @@ export const Routes = () => {
}, []);
return (
-
-
-
-
- {portals && portals.length
- ? portals.map((item: { name: React.Key | null | undefined; url: string; }) => {
- return (
- }
- />
- );
- })
- : null}
-
-
+ <>
+
+
+
+
+ {portals && portals.length
+ ? portals.map((item: { name: React.Key | null | undefined; url: string; }) => {
+ return (
+ }
+ />
+ );
+ })
+ : null}
+
+
+ >
);
};
diff --git a/yarn.lock b/yarn.lock
index 4973484..faced8b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5966,6 +5966,11 @@ react-native-codegen@^0.69.1:
jscodeshift "^0.13.1"
nullthrows "^1.1.1"
+react-native-device-info@^10.3.0:
+ version "10.3.0"
+ resolved "https://registry.yarnpkg.com/react-native-device-info/-/react-native-device-info-10.3.0.tgz#6bab64d84d3415dd00cc446c73ec5e2e61fddbe7"
+ integrity sha512-/ziZN1sA1REbJTv5mQZ4tXggcTvSbct+u5kCaze8BmN//lbxcTvWsU6NQd4IihLt89VkbX+14IGc9sVApSxd/w==
+
react-native-gesture-handler@^2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.5.0.tgz#61385583570ed0a45a9ed142425e35f8fe8274fb"