Skip to content

Commit

Permalink
DetailedProject type adjustment
Browse files Browse the repository at this point in the history
  • Loading branch information
psparacino committed Dec 1, 2023
1 parent 73135e3 commit 5ba26a2
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 22 deletions.
4 changes: 2 additions & 2 deletions carbonmark/components/ProjectCard/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Category } from "components/Category";
import { ProjectImage } from "components/ProjectImage";
import { Text } from "components/Text";
import { Vintage } from "components/Vintage";
import { createProjectLink, toProjectData } from "lib/createUrls";
import { createProjectLink } from "lib/createUrls";
import { formatToPrice } from "lib/formatNumbers";
import { asCategoryName, getCategoryFromProject } from "lib/projectGetter";
import { DetailedProject } from "lib/types/carbonmark.types";
Expand All @@ -30,7 +30,7 @@ export const ProjectCard: FC<Props> = (props) => {

return (
<Link
href={props.url || createProjectLink(toProjectData(props.project))}
href={props.url || createProjectLink(props.project)}
passHref
className={cx(styles.card, props.className)}
>
Expand Down
36 changes: 16 additions & 20 deletions carbonmark/lib/createUrls.ts
Original file line number Diff line number Diff line change
@@ -1,23 +1,19 @@
import {
DetailedProject,
Project,
TokenPrice,
} from "lib/types/carbonmark.types";
import { DetailedProject, TokenPrice } from "lib/types/carbonmark.types";

type ProjectData = {
key: Project["key"];
vintage: Project["vintage"];
serialization?: Project["serialization"];
};
// type ProjectData = {
// key: Project["key"];
// vintage: Project["vintage"];
// serialization?: Project["serialization"];
// };

// @todo clean up this workaround
export const toProjectData = (project: DetailedProject): ProjectData => ({
key: project.key,
vintage: project.vintage,
serialization: project.serialization ?? undefined, // Convert null to undefined
});
// // @todo clean up this workaround
// export const toProjectData = (project: DetailedProject): ProjectData => ({
// key: project.key,
// vintage: project.vintage,
// serialization: project.serialization ?? undefined, // Convert null to undefined
// });

export const createProjectLink = (projectData: ProjectData) => {
export const createProjectLink = (projectData: DetailedProject) => {
if (projectData.key.startsWith("ICR") && projectData.serialization) {
return `/projects/${projectData.serialization}`;
} else {
Expand All @@ -26,18 +22,18 @@ export const createProjectLink = (projectData: ProjectData) => {
};

export const createProjectPurchaseLink = (
project: ProjectData,
project: DetailedProject,
listingId: string
) => `${createProjectLink(project)}/purchase/${listingId}`;

export const createProjectPoolRetireLink = (
project: ProjectData,
project: DetailedProject,
pool: TokenPrice["poolName"]
) => `${createProjectLink(project)}/retire/pools/${pool.toLowerCase()}`;

export const createSellerLink = (handle: string) => `/users/${handle}`;

export const createProjectPoolPurchaseLink = (
project: ProjectData,
project: DetailedProject,
pool: TokenPrice["poolName"]
) => `${createProjectLink(project)}/purchase/pools/${pool}`;

0 comments on commit 5ba26a2

Please sign in to comment.