diff --git a/src/App.tsx b/src/App.tsx
index b459070..8072bc9 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -103,6 +103,7 @@ import { useQortalGetSaveSettings } from "./useQortalGetSaveSettings";
import { useRecoilState, useResetRecoilState } from "recoil";
import { canSaveSettingToQdnAtom, fullScreenAtom, hasSettingsChangedAtom, oldPinnedAppsAtom, settingsLocalLastUpdatedAtom, settingsQDNLastUpdatedAtom, sortablePinnedAppsAtom } from "./atoms/global";
import { useAppFullScreen } from "./useAppFullscreen";
+import { NotAuthenticated } from "./ExtStates/NotAuthenticated";
type extStates =
| "not-authenticated"
@@ -329,8 +330,6 @@ function App() {
const [openSnack, setOpenSnack] = useState(false);
const [hasLocalNode, setHasLocalNode] = useState(false);
const [openAdvancedSettings, setOpenAdvancedSettings] = useState(false);
- const [useLocalNode, setUseLocalNode] = useState(false);
- const [confirmUseOfLocal, setConfirmUseOfLocal] = useState(false);
const [isOpenDrawerProfile, setIsOpenDrawerProfile] = useState(false);
const [apiKey, setApiKey] = useState("");
const [isOpenSendQort, setIsOpenSendQort] = useState(false);
@@ -397,13 +396,16 @@ function App() {
window.visualViewport?.removeEventListener("resize", resetHeight);
};
}, []);
+ const handleSetGlobalApikey = (key)=> {
+ globalApiKey = key;
+ }
useEffect(() => {
chrome?.runtime?.sendMessage({ action: "getApiKey" }, (response) => {
+ console.log('goingggg', response)
if (response) {
- globalApiKey = response;
+ console.log('response', response)
+ handleSetGlobalApikey(response)
setApiKey(response);
- setUseLocalNode(true);
- setConfirmUseOfLocal(true);
setOpenAdvancedSettings(true);
}
});
@@ -1065,9 +1067,6 @@ function App() {
setWalletToBeDownloadedPasswordConfirm("");
setWalletToBeDownloadedError("");
setSendqortState(null);
- globalApiKey = null;
- setApiKey("");
- setUseLocalNode(false);
setHasLocalNode(false);
setOpenAdvancedSettings(false);
setConfirmUseOfLocal(false);
@@ -1564,188 +1563,7 @@ function App() {
>
{extState === "not-authenticated" && (
- <>
-
-
-

-

-
-
-
- WELCOME TO YOUR
- QORTAL WALLET
-
-
-
-
-
- Authenticate
-
-
-
-
-
-
-
-
- {
- setExtstate("create-wallet");
- }}
- >
- Create account
-
-
-
-
-
- <>
-
-
- {
- setOpenAdvancedSettings(true);
- }}
- >
- Advanced settings
-
-
- {openAdvancedSettings && (
- <>
-
- {
- setUseLocalNode(event.target.checked);
- }}
- disabled={confirmUseOfLocal}
- sx={{
- "&.Mui-checked": {
- color: "white", // Customize the color when checked
- },
- "& .MuiSvgIcon-root": {
- color: "white",
- },
- }}
- />
-
- Use local node
-
- {useLocalNode && (
- <>
-
-
-
- {apiKey}
-
-
-
- >
- )}
- >
- )}
-
- >
- >
+
)}
{/* {extState !== "not-authenticated" && (
diff --git a/src/ExtStates/NotAuthenticated.tsx b/src/ExtStates/NotAuthenticated.tsx
new file mode 100644
index 0000000..c60a97f
--- /dev/null
+++ b/src/ExtStates/NotAuthenticated.tsx
@@ -0,0 +1,301 @@
+import React, { useCallback, useEffect, useState } from "react";
+import { Spacer } from "../common/Spacer";
+import { CustomButton, TextItalic, TextP, TextSpan } from "../App-styles";
+import {
+ Box,
+ Button,
+ Checkbox,
+ FormControlLabel,
+ Switch,
+ Tooltip,
+ Typography,
+} from "@mui/material";
+import Logo1 from "../assets/svgs/Logo1.svg";
+import Logo1Dark from "../assets/svgs/Logo1Dark.svg";
+import Info from "../assets/svgs/Info.svg";
+import { CustomizedSnackbars } from "../components/Snackbar/Snackbar";
+
+export const NotAuthenticated = ({
+ getRootProps,
+ getInputProps,
+ setExtstate,
+ setOpenAdvancedSettings,
+ openAdvancedSettings,
+ handleFileChangeApiKey,
+ apiKey,
+ setApiKey,
+ globalApiKey,
+ handleSetGlobalApikey,
+}) => {
+ console.log("apiKey", apiKey);
+ const [isValidApiKey, setIsValidApiKey] = useState(null);
+ const [hasLocalNode, setHasLocalNode] = useState(null);
+ const [useLocalNode, setUseLocalNode] = useState(false);
+ const [openSnack, setOpenSnack] = React.useState(false);
+ const [infoSnack, setInfoSnack] = React.useState(null);
+
+ const checkIfUserHasLocalNode = useCallback(async () => {
+ try {
+ const url = `http://127.0.0.1:12391/admin/status`;
+ const response = await fetch(url, {
+ method: "GET",
+ headers: {
+ "Content-Type": "application/json",
+ },
+ });
+ const data = await response.json();
+ if (data?.syncPercent) {
+ setHasLocalNode(true);
+ }
+ } catch (error) {}
+ }, []);
+
+ useEffect(() => {
+ checkIfUserHasLocalNode();
+ }, []);
+
+ const validateApiKey = useCallback(async (key) => {
+ try {
+ const url = `http://127.0.0.1:12391/admin/apikey/test`;
+ const response = await fetch(url, {
+ method: "GET",
+ headers: {
+ accept: "text/plain",
+ "X-API-KEY": key, // Include the API key here
+ },
+ });
+
+ // Assuming the response is in plain text and will be 'true' or 'false'
+ const data = await response.text();
+ console.log("data", data);
+ if (data === "true") {
+ const payload = key;
+ chrome?.runtime?.sendMessage(
+ { action: "setApiKey", payload },
+ (response) => {
+ console.log("setApiKey", response);
+ if (response) {
+ handleSetGlobalApikey(payload);
+ setIsValidApiKey(true);
+ setUseLocalNode(true);
+ }
+ }
+ );
+ } else {
+ setIsValidApiKey(false);
+ setUseLocalNode(false);
+ setInfoSnack({
+ type: "error",
+ message: "Select a valid apikey",
+ });
+ setOpenSnack(true);
+ }
+ } catch (error) {
+ setIsValidApiKey(false);
+ setUseLocalNode(false);
+ setInfoSnack({
+ type: "error",
+ message: "Select a valid apikey",
+ });
+ console.error("Error validating API key:", error);
+ }
+ }, []);
+
+ useEffect(() => {
+ if (apiKey) {
+ validateApiKey(apiKey);
+ }
+ }, [apiKey]);
+
+ return (
+ <>
+
+
+

+

+
+
+
+ WELCOME TO YOUR
+ QORTAL WALLET
+
+
+
+
+
+ Authenticate
+
+
+
+
+
+
+
+
+ {
+ setExtstate("create-wallet");
+ }}
+ >
+ Create account
+
+
+
+
+
+ <>
+
+
+ <>
+
+ {
+ if (event.target.checked) {
+ validateApiKey(apiKey);
+ } else {
+ setUseLocalNode(false);
+ const payload = null;
+ chrome?.runtime?.sendMessage(
+ { action: "setApiKey", payload },
+ (response) => {
+ console.log("setApiKey", response);
+ if (response) {
+ globalApiKey = payload;
+ setApiKey(payload);
+ handleSetGlobalApikey(payload);
+ if (!globalApiKey) {
+ setUseLocalNode(false);
+ setOpenAdvancedSettings(false);
+ setApiKey("");
+ handleSetGlobalApikey(payload);
+ }
+ }
+ }
+ );
+ }
+ }}
+ disabled={false}
+ defaultChecked
+ />
+ }
+ label="Use Local Node"
+ />
+
+
+ <>
+
+
+
+
+ {apiKey && (
+ <>
+
+
+ {"Apikey : "} {apiKey}
+
+ >
+ )}
+ >
+ >
+
+ >
+
+ >
+ );
+};
diff --git a/src/background.ts b/src/background.ts
index e2d7b2b..b4780bd 100644
--- a/src/background.ts
+++ b/src/background.ts
@@ -4184,7 +4184,6 @@ chrome?.runtime?.onMessage.addListener((request, sender, sendResponse) => {
[
"keyPair",
"walletInfo",
- "apiKey",
"active-groups-directs",
key1,
key2,
diff --git a/src/components/Desktop/DesktopFooter.tsx b/src/components/Desktop/DesktopFooter.tsx
index 5bad0a5..f1cf754 100644
--- a/src/components/Desktop/DesktopFooter.tsx
+++ b/src/components/Desktop/DesktopFooter.tsx
@@ -78,7 +78,7 @@ export const DesktopFooter = ({
desktopViewMode,
hide,
setIsOpenSideViewDirects,
- setisOpenSideViewDirects
+ setIsOpenSideViewGroups
}) => {
diff --git a/src/components/Group/Group.tsx b/src/components/Group/Group.tsx
index 75d336f..405c0ac 100644
--- a/src/components/Group/Group.tsx
+++ b/src/components/Group/Group.tsx
@@ -1107,6 +1107,7 @@ export const Group = ({
if (findDirect) {
if(!isMobile){
setDesktopSideView("directs");
+ setDesktopViewMode('home')
} else {
setMobileViewModeKeepOpen("messaging");
}
@@ -1144,6 +1145,7 @@ export const Group = ({
if (findDirect) {
if(!isMobile){
setDesktopSideView("directs");
+ setDesktopViewMode('home')
} else {
setMobileViewModeKeepOpen("messaging");
}
@@ -1167,6 +1169,7 @@ export const Group = ({
} else {
if(!isMobile){
setDesktopSideView("directs");
+ setDesktopViewMode('home')
} else {
setMobileViewModeKeepOpen("messaging");
}
@@ -1333,7 +1336,8 @@ export const Group = ({
setTimeout(() => {
setSelectedGroup(findGroup);
setMobileViewMode("group");
- setDesktopSideView('home')
+ setDesktopSideView('groups')
+ setDesktopViewMode('home')
getTimestampEnterChat();
isLoadingOpenSectionFromNotification.current = false;
}, 200);
@@ -1381,7 +1385,8 @@ export const Group = ({
setTimeout(() => {
setSelectedGroup(findGroup);
setMobileViewMode("group");
- setDesktopSideView('home')
+ setDesktopSideView('groups')
+ setDesktopViewMode('home')
getGroupAnnouncements();
}, 200);
}
@@ -1436,7 +1441,8 @@ export const Group = ({
setTimeout(() => {
setSelectedGroup(findGroup);
setMobileViewMode("group");
- setDesktopSideView('home')
+ setDesktopSideView('groups')
+ setDesktopViewMode('home')
getGroupAnnouncements();
}, 200);
}
@@ -1962,7 +1968,8 @@ export const Group = ({
// }
onClick={() => {
setMobileViewMode("group");
- setDesktopSideView('home')
+ setDesktopSideView('groups')
+ setDesktopViewMode('home')
initiatedGetMembers.current = false;
clearAllQueues();
setSelectedDirect(null);