MCPcopy Create free account
hub / github.com/OpenSignLabs/OpenSign / handleServerUrl

Function handleServerUrl

apps/OpenSign/src/pages/GuestLogin.jsx:78–130  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

76
77 //function generate serverUrl and parseAppId from url and save it in local storage
78 const handleServerUrl = async () => {
79 setAppLogo(logo);
80 const favicon = localStorage.getItem("favicon");
81
82 localStorage.clear(); // Clears everything
83 localStorage.setItem("favicon", favicon);
84 localStorage.setItem(
85 "appname",
86 "OpenSign™"
87 );
88 //save isGuestSigner true in local to handle login flow header in mobile view
89 localStorage.setItem("isGuestSigner", true);
90 saveLanguageInLocal(i18n);
91 const parseId = appInfo.appId;
92 const newServer = `${appInfo.baseUrl}/`;
93 localStorage.setItem("baseUrl", newServer);
94 localStorage.setItem("parseAppId", parseId);
95 //this condition is used decode base64 to string and get userEmail,documentId, contactBoookId data.
96 if (!id) {
97 //`atob` function is used to decode base64
98 const decodebase64 = atob(base64url);
99 //split url in array from '/'
100 const checkSplit = decodebase64.split("/");
101 setDocumentId(checkSplit[0]);
102 setContact((prev) => ({
103 ...prev,
104 email: checkSplit[1]?.toLowerCase()?.replace(/\s/g, "")
105 }));
106 setEmail(checkSplit[1]?.toLowerCase()?.replace(/\s/g, ""));
107 const contactId = checkSplit?.[2];
108 setSendmail(checkSplit[3]);
109 if (!contactId) {
110 const params = {
111 email: checkSplit[1]?.toLowerCase()?.replace(/\s/g, ""),
112 docId: checkSplit[0]
113 };
114 try {
115 const linkContactRes = await Parse.Cloud.run(
116 "linkcontacttodoc",
117 params
118 );
119 setContactId(linkContactRes?.contactId);
120 await navigateToDoc(checkSplit[0], linkContactRes?.contactId);
121 } catch (err) {
122 setIsLoading({ isLoad: false });
123 console.log("Err in link ext contact", err);
124 }
125 } else {
126 setContactId(checkSplit[2]);
127 await navigateToDoc(checkSplit[0], checkSplit[2]);
128 }
129 }
130 };
131
132 //send email OTP function
133 const SendOtp = async () => {

Callers 1

GuestLoginFunction · 0.85

Calls 2

saveLanguageInLocalFunction · 0.90
navigateToDocFunction · 0.85

Tested by

no test coverage detected