diff --git a/package-lock.json b/package-lock.json
index a9fb01a..c1a460a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "sigit",
- "version": "0.0.0",
+ "version": "0.0.0-beta",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "sigit",
- "version": "0.0.0",
+ "version": "0.0.0-beta",
"hasInstallScript": true,
"license": "AGPL-3.0-or-later ",
"dependencies": {
diff --git a/src/App.tsx b/src/App.tsx
index 5dbb867..f25b23f 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,5 +1,5 @@
import { useEffect } from 'react'
-import { useAppSelector } from './hooks/store'
+import { useAppSelector } from './hooks'
import { Navigate, Route, Routes } from 'react-router-dom'
import { AuthController } from './controllers'
import { MainLayout } from './layouts/Main'
@@ -29,9 +29,11 @@ const App = () => {
const handleRootRedirect = () => {
if (authState.loggedIn) return appPrivateRoutes.homePage
+
const callbackPathEncoded = btoa(
window.location.href.split(`${window.location.origin}/#`)[1]
)
+
return `${appPublicRoutes.login}?callbackPath=${callbackPathEncoded}`
}
diff --git a/src/components/DisplaySigit/index.tsx b/src/components/DisplaySigit/index.tsx
index ab36851..f8e890d 100644
--- a/src/components/DisplaySigit/index.tsx
+++ b/src/components/DisplaySigit/index.tsx
@@ -42,8 +42,7 @@ export const DisplaySigit = ({
{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 000341e..5e8eafa 100644
--- a/src/pages/verify/index.tsx
+++ b/src/pages/verify/index.tsx
@@ -17,16 +17,16 @@ import {
getCurrentUserFiles
} 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'
import { useSigitMeta } from '../../hooks/useSigitMeta.tsx'
import { StickySideColumns } from '../../layouts/StickySideColumns.tsx'
-import { UsersDetails } from '../../components/UsersDetails.tsx/index.tsx'
+import { UsersDetails } from '../../components/UsersDetails.tsx'
import FileList from '../../components/FileList'
import { CurrentUserFile } from '../../types/file.ts'
import { Mark } from '../../types/mark.ts'
@@ -149,6 +149,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()
@@ -160,8 +163,22 @@ 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 (usersAppData) {
+ const sigitCreateId = params.id
+
+ if (sigitCreateId) {
+ const sigit = usersAppData.sigits[sigitCreateId]
+
+ if (sigit) {
+ metaInNavState = sigit
+ }
+ }
+ }
+
useEffect(() => {
if (uploadedZip) {
setSelectedFile(uploadedZip)
@@ -169,6 +186,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:
}
]