diff --git a/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_CopySignatureCard.stories.tsx b/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_CopySignatureCard.stories.tsx deleted file mode 100644 index 3ca4cf5..0000000 --- a/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_CopySignatureCard.stories.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { ComponentStory, ComponentMeta } from '@storybook/react'; - -import Claim_CopySignatureCard from './Claim_CopySignatureCard'; - -import { ModalsDecorator } from 'src/utils/storybook/decorators'; - -export default { - title: 'Projects/Claim/Copy Signature Card', - component: Claim_CopySignatureCard, - - decorators: [ModalsDecorator] -} as ComponentMeta; - -const Template: ComponentStory = (args) => ; - -export const Default = Template.bind({}); - diff --git a/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_CopySignatureCard.tsx b/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_CopySignatureCard.tsx deleted file mode 100644 index 4715c16..0000000 --- a/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_CopySignatureCard.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import { motion } from 'framer-motion' -import { Direction, replaceModal } from 'src/redux/features/modals.slice'; -import { useAppDispatch, useAppSelector } from 'src/utils/hooks'; -import { ModalCard, modalCardVariants } from 'src/Components/Modals/ModalsContainer/ModalsContainer' -import CopyToClipboard from 'src/Components/CopyToClipboard/CopyToClipboard' -import { useCallback } from 'react'; -import { IoClose } from 'react-icons/io5'; - -export default function Claim_CopySignatureCard({ onClose, direction, ...props }: ModalCard) { - - const dispatch = useAppDispatch(); - const { projectName, image } = useAppSelector(state => ({ projectName: state.project.project?.title, image: state.project.project?.thumbnail_image, })) - - const generatedHash = '0x000330RaaSt302440zxc327jjiaswf19987183345pRReuBNksbaaueee' - - const handleNext = useCallback(() => { - dispatch(replaceModal({ - Modal: 'Claim_SubmittedCard', - direction: Direction.NEXT - })) - }, [dispatch]) - - return ( - - -

Claim this project

-
- -
-

- Good job! Now paste this on the webpage - www.projectname.com/ -

-
- - - -
-
- -
- -
- ) -} diff --git a/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_FundWithdrawCard.stories.tsx b/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_FundWithdrawCard.stories.tsx deleted file mode 100644 index 1470dfb..0000000 --- a/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_FundWithdrawCard.stories.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { ComponentStory, ComponentMeta } from '@storybook/react'; - -import Claim_FundWithdrawCard from './Claim_FundWithdrawCard'; - -import { ModalsDecorator } from 'src/utils/storybook/decorators'; - -export default { - title: 'Projects/Claim/Fund Withdraw Card', - component: Claim_FundWithdrawCard, - - decorators: [ModalsDecorator] -} as ComponentMeta; - -const Template: ComponentStory = (args) => ; - -export const Default = Template.bind({}); - diff --git a/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_FundWithdrawCard.tsx b/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_FundWithdrawCard.tsx deleted file mode 100644 index 690b042..0000000 --- a/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_FundWithdrawCard.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { motion } from 'framer-motion' -// import { useAppDispatch } from '../../utils/hooks'; -import { ModalCard, modalCardVariants } from 'src/Components/Modals/ModalsContainer/ModalsContainer' - -export default function Claim_FundWithdrawCard({ onClose, direction, ...props }: ModalCard) { - - //const dispatch = useAppDispatch(); - - - return ( - -
- -
-

- 2,220 sats -

-

- 2.78$ -

-
- - -
- -
- ) -} diff --git a/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_GenerateSignatureCard.stories.tsx b/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_GenerateSignatureCard.stories.tsx deleted file mode 100644 index 03a8249..0000000 --- a/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_GenerateSignatureCard.stories.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { ComponentStory, ComponentMeta } from '@storybook/react'; - -import Claim_GenerateSignatureCard from './Claim_GenerateSignatureCard'; - -import { ModalsDecorator } from 'src/utils/storybook/decorators'; - -export default { - title: 'Projects/Claim/Generate Signature Card', - component: Claim_GenerateSignatureCard, - decorators: [ModalsDecorator] -} as ComponentMeta; - -const Template: ComponentStory = (args) => ; - -export const Default = Template.bind({}); - diff --git a/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_GenerateSignatureCard.tsx b/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_GenerateSignatureCard.tsx deleted file mode 100644 index 81a131f..0000000 --- a/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_GenerateSignatureCard.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import { motion } from 'framer-motion' -import { Direction, replaceModal } from 'src/redux/features/modals.slice'; -import { useAppDispatch, useAppSelector } from 'src/utils/hooks'; -import { ModalCard, modalCardVariants } from 'src/Components/Modals/ModalsContainer/ModalsContainer' -import { useCallback, useEffect } from 'react'; -import { IoClose } from 'react-icons/io5'; - -export default function Claim_GenerateSignatureCard({ onClose, direction, ...props }: ModalCard) { - - const dispatch = useAppDispatch(); - const { projectName, image } = useAppSelector(state => ({ projectName: state.project.project?.title, image: state.project.project?.thumbnail_image, })) - - - - const handleNext = useCallback(() => { - dispatch(replaceModal({ - Modal: 'Claim_CopySignatureCard', - direction: Direction.NEXT - })) - }, [dispatch]) - - useEffect(() => { - - // const timeout = setTimeout(handleNext, 3000) - // return () => clearTimeout(timeout) - }, [handleNext]) - - //const onCopy = () => { - // // Copy to Clipboard - // setTimeout(handleNext, 2000) - //} - - return ( - - -

Claim this project

-
- -
-

- To claim ownership of {projectName} and its tips, you need to sign a message and paste this on the project website so we can verify you are the real ownership -

-
- -
- -
- ) -} diff --git a/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_SubmittedCard.stories.tsx b/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_SubmittedCard.stories.tsx deleted file mode 100644 index 1503522..0000000 --- a/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_SubmittedCard.stories.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { ComponentStory, ComponentMeta } from '@storybook/react'; - -import Claim_SubmittedCard from './Claim_SubmittedCard'; - -import { ModalsDecorator } from 'src/utils/storybook/decorators'; - -export default { - title: 'Projects/Claim/Submitted Card', - component: Claim_SubmittedCard, - - decorators: [ModalsDecorator] -} as ComponentMeta; - -const Template: ComponentStory = (args) => ; - -export const Default = Template.bind({}); - diff --git a/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_SubmittedCard.tsx b/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_SubmittedCard.tsx deleted file mode 100644 index a4444c2..0000000 --- a/src/features/Projects/pages/ProjectPage/ClaimProject/Claim_SubmittedCard.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import { motion } from 'framer-motion' -import { ModalCard, modalCardVariants } from 'src/Components/Modals/ModalsContainer/ModalsContainer' -import { IoClose } from 'react-icons/io5'; - -export default function Claim_SubmittedCard({ onClose, direction, ...props }: ModalCard) { - - - return ( - - - -

Submitted For Review

-
- success -
-

- Great work! your claim to Application Name has been submitted for review. -
- Check back soon to see if it was successful. -

- - - -
- ) -} diff --git a/src/features/Projects/pages/ProjectPage/ClaimProject/index.tsx b/src/features/Projects/pages/ProjectPage/ClaimProject/index.tsx deleted file mode 100644 index cd94347..0000000 --- a/src/features/Projects/pages/ProjectPage/ClaimProject/index.tsx +++ /dev/null @@ -1,7 +0,0 @@ - -import { lazyModal } from "src/utils/helperFunctions"; - -export const { LazyComponent: Claim_CopySignatureCard } = lazyModal(() => import('./Claim_CopySignatureCard')) -export const { LazyComponent: Claim_FundWithdrawCard } = lazyModal(() => import('./Claim_FundWithdrawCard')) -export const { LazyComponent: Claim_GenerateSignatureCard } = lazyModal(() => import('./Claim_GenerateSignatureCard')) -export const { LazyComponent: Claim_SubmittedCard } = lazyModal(() => import('./Claim_SubmittedCard')) \ No newline at end of file diff --git a/src/features/Projects/pages/ProjectPage/Components/AboutCard/AboutCard.tsx b/src/features/Projects/pages/ProjectPage/Components/AboutCard/AboutCard.tsx deleted file mode 100644 index d77904c..0000000 --- a/src/features/Projects/pages/ProjectPage/Components/AboutCard/AboutCard.tsx +++ /dev/null @@ -1,130 +0,0 @@ -import linkifyHtml from 'linkifyjs/lib/linkify-html' -import { useState } from 'react' -import { MdLocalFireDepartment } from 'react-icons/md' -import Button from 'src/Components/Button/Button' -import Card from 'src/Components/Card/Card' -import Lightbox from 'src/Components/Lightbox/Lightbox' -import { ProjectDetailsQuery, ProjectLaunchStatusEnum, ProjectPermissionEnum, } from 'src/graphql' -import { openModal } from 'src/redux/features/modals.slice' -import { setVoteAmount } from 'src/redux/features/vote.slice' -import { numberFormatter } from 'src/utils/helperFunctions' -import { useAppDispatch } from 'src/utils/hooks' -import { createRoute } from 'src/utils/routing' -import LinksCard from '../LinksCard/LinksCard' - -interface Props { - project: Pick -} - - -export default function AboutCard({ project }: Props) { - - const dispatch = useAppDispatch(); - - const [screenshotsOpen, setScreenshotsOpen] = useState(-1); - - const onVote = (votes?: number) => { - dispatch(setVoteAmount(votes ?? 10)); - dispatch(openModal({ - Modal: 'VoteCard', props: { - projectId: project.id, - title: project.title, - initVotes: votes - } - })) - } - - - const canEdit = project.permissions.includes(ProjectPermissionEnum.UpdateInfo); - - return ( - - {/* Cover Image */} -
- -
- {project.launch_status === ProjectLaunchStatusEnum.Launched && `🚀 Launched`} - {project.launch_status === ProjectLaunchStatusEnum.Wip && `🔧 WIP`} -
-
- -
-
-
- {/* Title & Basic Info */} -
-
- {canEdit && } - -
-
-

{project.title}

-

{project.tagline}

-
- {project.category.icon} {project.category.title} -
-
- -
-
- -
- - {/* About */} -
-
- -
- {project.screenshots.length > 0 && <> -
-
- {project.screenshots.slice(0, 4).map((screenshot, idx) =>
setScreenshotsOpen(idx)} - > - -
)} -
-
- setScreenshotsOpen(-1)} - /> - } -
-
- ) -} diff --git a/src/features/Projects/pages/ProjectPage/Components/CapabilitiesCard/CapabilitiesCard.tsx b/src/features/Projects/pages/ProjectPage/Components/CapabilitiesCard/CapabilitiesCard.tsx deleted file mode 100644 index 1f03fee..0000000 --- a/src/features/Projects/pages/ProjectPage/Components/CapabilitiesCard/CapabilitiesCard.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react' -import Badge from 'src/Components/Badge/Badge' -import Card from 'src/Components/Card/Card' -import { ProjectDetailsQuery } from 'src/graphql' - - -interface Props { - capabilities: ProjectDetailsQuery['getProject']['capabilities'] -} - - -export default function CapabilitiesCard({ capabilities }: Props) { - return ( - -

🦾 Capabilities

-
- {capabilities.length === 0 && <> -

No capabilities added

- } -
- {capabilities.map(cap => {cap.icon} {cap.title})} -
-
-
- ) -} diff --git a/src/features/Projects/pages/ProjectPage/Components/LinksCard/LinksCard.tsx b/src/features/Projects/pages/ProjectPage/Components/LinksCard/LinksCard.tsx deleted file mode 100644 index a370c6e..0000000 --- a/src/features/Projects/pages/ProjectPage/Components/LinksCard/LinksCard.tsx +++ /dev/null @@ -1,78 +0,0 @@ -import Card from 'src/Components/Card/Card' -import { Project } from 'src/graphql' -import { FaDiscord, } from 'react-icons/fa'; -import { FiGithub, FiGlobe, FiTwitter } from 'react-icons/fi'; -import CopyToClipboard from 'react-copy-to-clipboard'; -import { NotificationsService, } from 'src/services' - -interface Props { - links: Pick -} - -export default function LinksCard({ links }: Props) { - const linksList = [ - { - value: links.discord, - text: links.discord, - icon: FaDiscord, - colors: "bg-violet-100 text-violet-900", - }, - { - value: links.website, - text: links.website?.replace(/(^\w+:|^)\/\//, '').replace(/\/$/, ""), - icon: FiGlobe, - colors: "bg-gray-100 text-gray-900", - url: links.website - }, - { - value: links.twitter, - text: links.twitter, - icon: FiTwitter, - colors: "bg-blue-100 text-blue-500", - url: links.twitter - }, - { - value: links.github, - text: links.github, - icon: FiGithub, - colors: "bg-pink-100 text-pink-600", - url: links.github - }, - ]; - - return ( - -

🔗 Links

-
- {linksList.length === 0 && <> -

No links added

- } -
- {linksList.filter(link => !!link.value).map((link, idx) => - (link.url ? - - - : - NotificationsService.info(" Copied to clipboard", { icon: "📋" })} - > - - - ))} -
-
-
- ) -} diff --git a/src/features/Projects/pages/ProjectPage/Components/MakersCard/MakersCard.tsx b/src/features/Projects/pages/ProjectPage/Components/MakersCard/MakersCard.tsx deleted file mode 100644 index 29c86f0..0000000 --- a/src/features/Projects/pages/ProjectPage/Components/MakersCard/MakersCard.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { Link } from 'react-router-dom' -import Badge from 'src/Components/Badge/Badge' -import Card from 'src/Components/Card/Card' -import Avatar from 'src/features/Profiles/Components/Avatar/Avatar' -import { sortMembersByRole } from 'src/features/Projects/utils/helperFunctions' -import { ProjectDetailsQuery } from 'src/graphql' -import { createRoute } from 'src/utils/routing' - - -interface Props { - members: ProjectDetailsQuery['getProject']['members'] - recruit_roles: ProjectDetailsQuery['getProject']['recruit_roles'] - -} - - -export default function MakersCard({ members, recruit_roles }: Props) { - return ( - -

👾 Makers

-
-
- {members.length === 0 &&

Not listed

} - {sortMembersByRole(members).map(m => -
- -
-

{m.user.name}

-

{m.user.jobTitle}

-
-
} - /> - )} -
-
-

Open roles

-
- {recruit_roles.length === 0 && <> -

No open roles for now

- } -
- {recruit_roles.map(role => {role.icon} {role.title})} -
-
-
- ) -} diff --git a/src/features/Projects/pages/ProjectPage/Components/OpenRolesCard/OpenRolesCard.tsx b/src/features/Projects/pages/ProjectPage/Components/OpenRolesCard/OpenRolesCard.tsx deleted file mode 100644 index 95d22b2..0000000 --- a/src/features/Projects/pages/ProjectPage/Components/OpenRolesCard/OpenRolesCard.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import Badge from 'src/Components/Badge/Badge' -import Card from 'src/Components/Card/Card' -import { ProjectDetailsQuery } from 'src/graphql' - - -interface Props { - recruit_roles: ProjectDetailsQuery['getProject']['recruit_roles'] -} - - -export default function OpenRolesCard({ recruit_roles }: Props) { - return ( - -

👀 Open roles

-
- {recruit_roles.length === 0 && <> -

No open roles for now

- } -
- {recruit_roles.map(role => {role.icon} {role.title})} -
-
-
- ) -} diff --git a/src/features/Projects/pages/ProjectPage/ProjectDetailsCard/ProjectDetailsCard.stories.tsx b/src/features/Projects/pages/ProjectPage/ProjectDetailsCard/ProjectDetailsCard.stories.tsx index b2514d7..4d40eef 100644 --- a/src/features/Projects/pages/ProjectPage/ProjectDetailsCard/ProjectDetailsCard.stories.tsx +++ b/src/features/Projects/pages/ProjectPage/ProjectDetailsCard/ProjectDetailsCard.stories.tsx @@ -13,8 +13,8 @@ const Template: ComponentStory = (args) => { - dispatch(setVoteAmount(votes ?? 10)); - // dispatch(openModal({ - // Modal: 'VoteCard', props: { - // projectId: project.id, - // title: project.title, - // initVotes: votes - // } - // })) - } - return (
{/* Cover Image */}
- + {/* */}
- {project.yearFounded != "" && `YEAR_FOUNDED_PLACEHOLDER`} + {project?.yearFounded && `Year founded ${project.yearFounded}`}
@@ -141,9 +130,9 @@ export default function ProjectDetailsCard({ direction, projectId, ...props }: P
-

{project.title}

+

{project?.title}

- {project.category} + {project?.category}
@@ -152,14 +141,9 @@ export default function ProjectDetailsCard({ direction, projectId, ...props }: P {/* About */}

About

-
+
+ {project?.description} +
{/* Links */}
@@ -189,11 +173,11 @@ export default function ProjectDetailsCard({ direction, projectId, ...props }: P
- {/*project.capabilities.length > 0 && + {/*project?.capabilities.length > 0 &&

CAPABILITIES

- {project.capabilities.map(cap => {cap.icon} {cap.title})} + {project?.capabilities.map(cap => {cap.icon} {cap.title})}
*/} @@ -203,7 +187,7 @@ export default function ProjectDetailsCard({ direction, projectId, ...props }: P color='gray' size='md' className="my-16" - href={`https://airtable.com/shr67F20KG9Gdok6d?prefill_app_name=${project.title}&prefill_app_link=${project.website}`} + href={`https://airtable.com/shr67F20KG9Gdok6d?prefill_app_name=${project?.title}&prefill_app_link=${project?.website}`} newTab // onClick={onClaim} >Request Edit 📝