update (project modal): update project params prefill

This commit is contained in:
MTG\mtg09
2022-12-02 11:35:25 +04:00
parent b78aa1da5b
commit 72807ed5a4

View File

@@ -5,7 +5,7 @@ import { setProject } from 'src/redux/features/project.slice';
import Button from 'src/Components/Button/Button';
import ProjectCardSkeleton from './ProjectDetailsCard.Skeleton'
import { NotificationsService } from 'src/services'
import { useProjectDetailsQuery } from 'src/graphql';
import { ProjectDetailsQuery, Projects, useProjectDetailsQuery } from 'src/graphql';
import ErrorMessage from 'src/Components/Errors/ErrorMessage/ErrorMessage';
import { MEDIA_QUERIES } from 'src/utils/theme';
import { FaDiscord, } from 'react-icons/fa';
@@ -16,15 +16,17 @@ import { IoMdClose } from 'react-icons/io';
import { CgGitFork } from 'react-icons/cg';
import { Helmet } from 'react-helmet';
import OgTags from 'src/Components/OgTags/OgTags';
import qs from 'qs'
interface Props extends ModalCard {
params: {
projectId: string;
}
}
type Project = NonNullable<ProjectDetailsQuery['getProject']>[number]
export default function ProjectDetailsCard({ params: { projectId }, ...props }: Props) {
const dispatch = useAppDispatch();
@@ -217,7 +219,7 @@ export default function ProjectDetailsCard({ params: { projectId }, ...props }:
color='gray'
size='md'
className="my-16"
href={`https://airtable.com/shrlMIVAhkp5khCrs?prefill_Project=${project.id}`}
href={createEditUrl(project)}
newTab
// onClick={onClaim}
>Request Edit 📝</Button>
@@ -226,3 +228,31 @@ export default function ProjectDetailsCard({ params: { projectId }, ...props }:
</div>
)
}
function createEditUrl(project:Project){
const baseUrl = 'https://airtable.com/shrlMIVAhkp5khCrs';
const params = {
"Project": project?.id,
"Title": project?.title,
"Description": project?.description,
"Website": project?.website,
"Category": project?.category,
"Year Founded": project?.yearFounded,
"Dead": project?.dead,
"Company": project?.companyName,
"Twitter":project?.twitter,
"Telegram":project?.telegram,
"Discord":project?.discord,
"LinkedIn":project?.linkedIn,
"Repository":project?.repository,
"License":project?.license,
}
const paramsWithPrefix = Object.entries(params).reduce((result,[key,value])=>{
return {...result,[`prefill_${key}`]:value}
},{})
return baseUrl + `?${qs.stringify(paramsWithPrefix)}`
}