From 15583ce99d9c4499dee5f2583b6eba4fd5bb765e Mon Sep 17 00:00:00 2001 From: Nuwan Date: Mon, 14 Oct 2024 12:17:58 +0530 Subject: [PATCH] onLogginIn api handle for custom url wip --- web/app/assets/javascripts/JamServer.js | 19 ++++++++------- .../javascripts/scheduled_session.js.erb | 23 ++++++++++--------- web/app/views/clients/index.html.erb | 15 +++++++++++- 3 files changed, 37 insertions(+), 20 deletions(-) diff --git a/web/app/assets/javascripts/JamServer.js b/web/app/assets/javascripts/JamServer.js index 2ec2118d4..10c7376b6 100644 --- a/web/app/assets/javascripts/JamServer.js +++ b/web/app/assets/javascripts/JamServer.js @@ -379,14 +379,17 @@ const url = new URL(loggedInResp); const redirectTo = new URLSearchParams(url.search).get("redirect-to"); if (redirectTo) { - const cusQuery = redirectTo.substring( - redirectTo.lastIndexOf("/") + 1 - ); - if (redirectTo.includes("/client#/createSession")) { - JK.createScheduledSessionScreen.launchSessionFromCustomUrlScheme( - cusQuery - ); - } + // const cusQuery = redirectTo.substring( + // redirectTo.lastIndexOf("/") + 1 + // ); + //if (redirectTo.includes("/client#/createSession")) { + // JK.createScheduledSessionScreen.launchSessionFromCustomUrlScheme( + // cusQuery + // ); + //} + + localStorage.setItem("after-login-redirect-to", redirectTo); + } } catch (e) { console.log("error in handleLoggedInResponse", e); diff --git a/web/app/assets/javascripts/scheduled_session.js.erb b/web/app/assets/javascripts/scheduled_session.js.erb index 6d70f06e8..3d0b2211f 100644 --- a/web/app/assets/javascripts/scheduled_session.js.erb +++ b/web/app/assets/javascripts/scheduled_session.js.erb @@ -1524,18 +1524,19 @@ } function launchSessionFromCustomUrlScheme(urlString){ - //an example URL would be: https://www.jamkazam.com/client#/createSession/custom~yes|privacy~2|description~hello|inviteeIds~1,2,3,4 - var url; - try{ - url = new URL(urlString); - }catch(error){ - logger.debug(error); - context.JK.app.notifyAlert("Error", "An invalid URL was given. Couldn't create the session. Please try again."); - return; - } + //an example URL would be: /client#/createSession/custom~yes|privacy~2|description~hello|inviteeIds~1,2,3,4 + //var url; + //try{ + // url = new URL(urlString); + //}catch(error){ + // logger.debug(error); + // context.JK.app.notifyAlert("Error", "An invalid URL was given. Couldn't create the session. Please try again."); + // return; + //} - var hash = decodeURIComponent(url.hash); - var qStr = hash.substring(hash.lastIndexOf('/') + 1); + //var hash = decodeURIComponent(url.hash); + //var qStr = hash.substring(hash.lastIndexOf('/') + 1); + //decode the query params according to the custom format var qParamsArr = qStr.split('|'); var isCustom, privacy, description, inviteeIds; diff --git a/web/app/views/clients/index.html.erb b/web/app/views/clients/index.html.erb index 766fcf36e..326e0bc6a 100644 --- a/web/app/views/clients/index.html.erb +++ b/web/app/views/clients/index.html.erb @@ -293,7 +293,6 @@ instrumentSelectorInstance, instrumentSelectorRSVPInstance ); - var bandSetupScreen = new JK.BandSetupScreen(JK.app); bandSetupScreen.initialize(JK.InvitationDialogInstance, JK.FriendSelectorDialogInstance); @@ -447,6 +446,20 @@ } JK.bindHoverEvents(); + + + //after-login-redirect + if (localStorage.getItem('after-login-redirect-to')) { + var redirect = localStorage.getItem('after-login-redirect-to'); + const cusQuery = redirect.substring(redirectTo.lastIndexOf("/") + 1); + + if (redirect.includes("/client#/createSession")) { + alert("create session"); + } + + localStorage.removeItem('after-login-redirect'); + + } })