{signedStatus === SigitStatus.Complete && (
)}
diff --git a/src/controllers/AuthController.ts b/src/controllers/AuthController.ts
index 6536e19..9cdf85a 100644
--- a/src/controllers/AuthController.ts
+++ b/src/controllers/AuthController.ts
@@ -14,7 +14,6 @@ import {
compareObjects,
getAuthToken,
getRelayMap,
- getVisitedLink,
saveAuthToken,
unixNow
} from '../utils'
@@ -91,21 +90,33 @@ export class AuthController {
store.dispatch(setRelayMapAction(relayMap.map))
}
- const currentLocation = window.location.hash.replace('#', '')
+ /**
+ * This block was added before we started using the `nostr-login` package
+ * At this point it seems it's not needed anymore and it's even blocking the flow (reloading on /verify)
+ * TODO to remove this if app works fine
+ */
+ // const currentLocation = window.location.hash.replace('#', '')
- if (!Object.values(appPrivateRoutes).includes(currentLocation)) {
- // User did change the location to one of the private routes
- const visitedLink = getVisitedLink()
-
- if (visitedLink) {
- const { pathname, search } = visitedLink
-
- return Promise.resolve(`${pathname}${search}`)
- } else {
- // Navigate user in
- return Promise.resolve(appPrivateRoutes.homePage)
- }
- }
+ // if (!Object.values(appPrivateRoutes).includes(currentLocation)) {
+ // // Since verify is both public and private route, we don't use the `visitedLink`
+ // // value for it. Otherwise, when linking to /verify/:id we get redirected
+ // // to the root `/`
+ // if (currentLocation.includes(appPublicRoutes.verify)) {
+ // return Promise.resolve(currentLocation)
+ // }
+ //
+ // // User did change the location to one of the private routes
+ // const visitedLink = getVisitedLink()
+ //
+ // if (visitedLink) {
+ // const { pathname, search } = visitedLink
+ //
+ // return Promise.resolve(`${pathname}${search}`)
+ // } else {
+ // // Navigate user in
+ // return Promise.resolve(appPrivateRoutes.homePage)
+ // }
+ // }
}
checkSession() {
diff --git a/src/pages/verify/index.tsx b/src/pages/verify/index.tsx
index 6ce4c83..2d341c1 100644
--- a/src/pages/verify/index.tsx
+++ b/src/pages/verify/index.tsx
@@ -26,10 +26,10 @@ import {
sendNotification
} from '../../utils'
import styles from './style.module.scss'
-import { useLocation } from 'react-router-dom'
+import { useLocation, useParams } from 'react-router-dom'
import axios from 'axios'
import { FONT_SIZE, FONT_TYPE, inPx } from '../../utils/pdf.ts'
-import { useAppSelector } from '../../hooks/store'
+import { useAppSelector } from '../../hooks'
import { getLastSignersSig } from '../../utils/sign.ts'
import { saveAs } from 'file-saver'
import { Container } from '../../components/Container'
@@ -165,6 +165,9 @@ const SlimPdfView = ({
export const VerifyPage = () => {
const location = useLocation()
+ const params = useParams()
+
+ const usersAppData = useAppSelector((state) => state.userAppData)
const usersPubkey = useAppSelector((state) => state.auth.usersPubkey)
const nostrController = NostrController.getInstance()
@@ -176,8 +179,27 @@ export const VerifyPage = () => {
* uploadedZip will be received from home page when a user uploads a sigit zip wrapper that contains meta.json
* meta will be received in navigation from create & home page in online mode
*/
- const { uploadedZip, meta: metaInNavState } = location.state || {}
+ let metaInNavState = location?.state?.meta || undefined
+ const { uploadedZip } = location.state || {}
const [selectedFile, setSelectedFile] = useState(null)
+
+ /**
+ * If `userAppData` is present it means user is logged in and we can extract list of `sigits` from the store.
+ * If ID is present in the URL we search in the `sigits` list
+ * Otherwise sigit is set from the `location.state.meta`
+ */
+ if (usersAppData) {
+ const sigitCreateId = params.id
+
+ if (sigitCreateId) {
+ const sigit = usersAppData.sigits[sigitCreateId]
+
+ if (sigit) {
+ metaInNavState = sigit
+ }
+ }
+ }
+
useEffect(() => {
if (uploadedZip) {
setSelectedFile(uploadedZip)
@@ -185,6 +207,7 @@ export const VerifyPage = () => {
}, [uploadedZip])
const [meta, setMeta] = useState(metaInNavState)
+
const {
submittedBy,
zipUrl,
diff --git a/src/routes/index.tsx b/src/routes/index.tsx
index 97d66c3..be7e43b 100644
--- a/src/routes/index.tsx
+++ b/src/routes/index.tsx
@@ -90,7 +90,7 @@ export const publicRoutes: PublicRouteProps[] = [
element:
},
{
- path: appPublicRoutes.verify,
+ path: `${appPublicRoutes.verify}/:id?`,
element:
}
]