Skip to content

Commit

Permalink
Merge pull request #417 from Open-Earth-Foundation/fix/dashboard-empty
Browse files Browse the repository at this point in the history
fix(ui): empty dashboard, add data finish button not linking to dashboard, signup callback URL issue
  • Loading branch information
lemilonkh committed Apr 4, 2024
2 parents 3260599 + 02c6521 commit 1850b91
Show file tree
Hide file tree
Showing 5 changed files with 40 additions and 17 deletions.
16 changes: 11 additions & 5 deletions app/src/app/[lng]/[inventory]/data/review/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ import { RootState } from "@/lib/store";

import { ArrowBackIcon } from "@chakra-ui/icons";
import { Box, Button, Card, Heading, Icon, Text } from "@chakra-ui/react";
import { useRouter } from "next/navigation";
import { useParams, useRouter } from "next/navigation";

import { FaRegTrashAlt, FaTrash } from "react-icons/fa";
import { FiTrash, FiTrash2 } from "react-icons/fi";
import { FaRegTrashAlt } from "react-icons/fa";
import { FiTrash2 } from "react-icons/fi";
import { MdOutlineEdit } from "react-icons/md";
import { useSelector, useDispatch } from "react-redux";
import { clear, removeSectorData } from "@/features/city/inventoryDataSlice";
Expand All @@ -21,11 +21,17 @@ import { appendFileToFormData } from "@/util/helpers";
import { useState } from "react";

export default function ReviewPage({
params: { lng, inventoryId },
params: { lng },
}: {
params: { lng: string; inventoryId: string };
params: { lng: string };
}) {
const { t } = useTranslation(lng, "data");
const { inventory: inventoryParam } = useParams();
let inventoryId = inventoryParam as string | null;
if (inventoryId === "null" || inventoryId === "undefined") {
inventoryId = null;
}

const router = useRouter();
const dispatch = useDispatch();
const getAllSectorData = useSelector(
Expand Down
7 changes: 5 additions & 2 deletions app/src/app/[lng]/[inventory]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,11 @@ export default function Home({ params: { lng } }: { params: { lng: string } }) {
const { t } = useTranslation(lng, "dashboard");
const toast = useToast();
const router = useRouter();
const { inventory: cityParam } = useParams();
const inventoryId = cityParam as string;
const { inventory: inventoryParam } = useParams();
let inventoryId = inventoryParam as string | null;
if (inventoryId === "null" || inventoryId === "undefined") {
inventoryId = null;
}

// query API data
// TODO maybe rework this logic into one RTK query:
Expand Down
12 changes: 10 additions & 2 deletions app/src/app/[lng]/auth/login/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,16 @@ export default function Login({
const searchParams = useSearchParams();

const [error, setError] = useState("");
const defaultUrl = `https://${document.location.host}/${lng}`;
const callbackUrl = searchParams.get("callbackUrl") || defaultUrl;
const defaultUrl = `/${lng}`;
const callbackParam = searchParams.get("callbackUrl");
let callbackUrl = defaultUrl;
if (
callbackParam &&
callbackParam !== "null" &&
callbackParam !== "undefined"
) {
callbackUrl = callbackParam;
}
const onSubmit: SubmitHandler<Inputs> = async (data) => {
try {
const res = await signIn("credentials", {
Expand Down
20 changes: 13 additions & 7 deletions app/src/app/[lng]/auth/signup/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import {
Input,
Text,
} from "@chakra-ui/react";
import { useRouter } from "next/navigation";
import { useParams, useRouter, useSearchParams } from "next/navigation";
import { useState } from "react";
import { useForm, SubmitHandler } from "react-hook-form";
import { Trans } from "react-i18next/TransWithoutContext";
Expand Down Expand Up @@ -48,14 +48,19 @@ export default function Signup({
const [error, setError] = useState("");

// extract inventory id from callbackUrl search parameter
const searchParams = useSearchParams();
let callbackUrl = searchParams.get("callbackUrl");
if (!callbackUrl || callbackUrl === "null" || callbackUrl === "undefined") {
callbackUrl = null;
}

let inventoryId: string | undefined = undefined;
const fullUrl = window.location.href;
const urlParams = new URL(fullUrl);
const callbackUrl = urlParams.searchParams.get("callbackUrl");
if (callbackUrl) {
try {
const url = new URL(callbackUrl);
const callbackUrlSegments = url.pathname.split("/");
const path = callbackUrl.startsWith("/")
? callbackUrl
: new URL(callbackUrl).pathname;
const callbackUrlSegments = path.split("/");
if (callbackUrlSegments.length > 2) {
inventoryId = callbackUrlSegments.pop();
}
Expand Down Expand Up @@ -89,7 +94,8 @@ export default function Signup({
return;
}

const nextCallbackUrl = `/auth/check-email?email=${data.email}&callbackUrl=${callbackUrl}`;
const callbackParam = callbackUrl ? `&callbackUrl=${callbackUrl}` : "";
const nextCallbackUrl = `/auth/check-email?email=${data.email}${callbackParam}`;
router.push(nextCallbackUrl);

// TODO automatic login required?
Expand Down
2 changes: 1 addition & 1 deletion app/src/components/Cards/SectorCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ export function SectorCard({
sectorProgress: SectorProgress;
stepNumber: number;
t: TFunction;
inventory: string;
inventory: string | null;
}) {
const [isAccordionOpen, setAccordionOpen] = useState(false);
const toggleAccordion = () => setAccordionOpen(!isAccordionOpen);
Expand Down

0 comments on commit 1850b91

Please sign in to comment.