From 98dbb358bd1c3305539f0e9dd751ed7f56b4e3e1 Mon Sep 17 00:00:00 2001 From: Nuwan Date: Thu, 14 Nov 2024 18:41:07 +0530 Subject: [PATCH] change the format of custom Url scheme --- .../components/dashboard/JKDashboardMain.js | 2 + jam-ui/src/components/page/JKAppLaunch.js | 45 +++++++++++++++++++ .../src/components/page/JKNewMusicSession.js | 10 ++--- jam-ui/src/helpers/jkCustomUrlScheme.js | 4 +- 4 files changed, 54 insertions(+), 7 deletions(-) create mode 100644 jam-ui/src/components/page/JKAppLaunch.js diff --git a/jam-ui/src/components/dashboard/JKDashboardMain.js b/jam-ui/src/components/dashboard/JKDashboardMain.js index 880082e5c..0736dcbca 100644 --- a/jam-ui/src/components/dashboard/JKDashboardMain.js +++ b/jam-ui/src/components/dashboard/JKDashboardMain.js @@ -33,6 +33,7 @@ import JKMyFriends from '../page/JKMyFriends'; import JKNotifications from '../page/JKNotifications'; import JKMessageModal from '../profile/JKMessageModal'; import JKUnsubscribe from '../page/JKUnsubscribe'; +import JKAppLaunch from '../page/JKAppLaunch'; import JKMusicSessions from '../page/JKMusicSessions'; import JKNewMusicSession from '../page/JKNewMusicSession'; @@ -305,6 +306,7 @@ function JKDashboardMain() { + {/*Redirect*/} diff --git a/jam-ui/src/components/page/JKAppLaunch.js b/jam-ui/src/components/page/JKAppLaunch.js new file mode 100644 index 000000000..5c45a107f --- /dev/null +++ b/jam-ui/src/components/page/JKAppLaunch.js @@ -0,0 +1,45 @@ +import React, { useEffect, useState } from 'react'; +import jkCustomUrlScheme from '../../helpers/jkCustomUrlScheme'; +import { useTranslation } from 'react-i18next'; +import { Card, CardBody, Row, Col } from 'reactstrap'; +import FalconCardHeader from '../common/FalconCardHeader'; + +const JKCustomUrlSchemaHandle = () => { + const [urlScheme, setUrlScheme] = useState(null); + const { t } = useTranslation(); + useEffect(() => { + const queryStr = window.location.search; + if (!queryStr) return; + const appUrl = jkCustomUrlScheme('createSession', queryStr); + setUrlScheme(appUrl); + }, []); + + useEffect(() => { + if (urlScheme) { + window.open(urlScheme, "_blank"); + } + }, [urlScheme]); + + return ( +
+ + + + + +
+ {urlScheme && ( +

+ If JamKazam app doesn't open automatically, click here. +

+ )} +
+ +
+
+
+
+ ); +}; + +export default JKCustomUrlSchemaHandle; diff --git a/jam-ui/src/components/page/JKNewMusicSession.js b/jam-ui/src/components/page/JKNewMusicSession.js index 4996d851e..5fe481b6c 100644 --- a/jam-ui/src/components/page/JKNewMusicSession.js +++ b/jam-ui/src/components/page/JKNewMusicSession.js @@ -1,5 +1,5 @@ import React, { useRef, useState, useEffect } from 'react'; -//import {useHistory} from 'react-router-dom'; +import {useHistory} from 'react-router-dom'; import { Form, FormGroup, Input, Label, Card, CardBody, Button, Row, Col } from 'reactstrap'; import FalconCardHeader from '../common/FalconCardHeader'; import JKTooltip from '../common/JKTooltip'; @@ -31,7 +31,7 @@ const JKNewMusicSession = () => { const [privacy, setPrivacy] = useState('1'); const [submitted, setSubmitted] = useState(false); const [showAppUnavailable, setShowAppUnavailable] = useState(false); - //const history = useHistory(); + const history = useHistory(); const formRef = useRef(); const isNativeAppAvailable = useNativeAppCheck(); const { nativeAppUnavailable, setNativeAppUnavailable } = useNativeApp(); @@ -97,9 +97,9 @@ const JKNewMusicSession = () => { //window.open jamkazam app url using custom URL scheme //an example URL would be: jamkazam://url=https://www.jamkazam.com/client#/createSession/privacy~2|description~hello|inviteeIds~1,2,3,4 const q = `privacy~${payload.privacy}|description~${payload.description}|inviteeIds~${payload.inviteeIds}`; - const urlScheme = jkCustomUrlScheme('createSession', q); - window.location.href = urlScheme; - //history.push('/sessions'); + //const urlScheme = jkCustomUrlScheme('createSession', q); + //window.location.href = urlScheme; + //history.push(`/applaunch?${q}`); } catch (error) { toggleAppUnavilableModel(); } diff --git a/jam-ui/src/helpers/jkCustomUrlScheme.js b/jam-ui/src/helpers/jkCustomUrlScheme.js index 3120ef222..a2506c57b 100644 --- a/jam-ui/src/helpers/jkCustomUrlScheme.js +++ b/jam-ui/src/helpers/jkCustomUrlScheme.js @@ -1,5 +1,5 @@ export default (section, queryStr) => { - const url = encodeURI(`${process.env.REACT_APP_CLIENT_BASE_URL}/signin?redirect-to=/client#/${section}/custom~yes|${queryStr}`); - const urlScheme = `jamkazam://url=${url}`; + const url = encodeURI(`${process.env.REACT_APP_CLIENT_BASE_URL}/client#/${section}/custom~yes|${queryStr}`); + const urlScheme = `jamkazam://${url}`; return urlScheme; }; \ No newline at end of file