import React from "react"; import { useRouter } from "next/router"; import { useTranslation } from "next-i18next"; import classNames from "classnames"; import PlusIcon from "~public/icons/Add.svg"; import "./index.scss"; // Props interface Props extends React.ComponentPropsWithoutRef<"div"> { skill?: JobSkill; editable: boolean; hasJob: boolean; } const JobSkillItem = React.forwardRef( function useJobSkillItem({ ...props }, forwardedRef) { const router = useRouter(); const { t } = useTranslation("common"); const locale = router.locale && ["en", "ja"].includes(router.locale) ? router.locale : "en"; const classes = classNames({ JobSkill: true, editable: props.editable, }); const imageClasses = classNames({ placeholder: !props.skill, editable: props.editable && props.hasJob, }); const skillImage = () => { let jsx: React.ReactNode; if (props.skill) { jsx = ( {props.skill.name[locale]} ); } else { jsx = (
{props.editable && props.hasJob ? : ""}
); } return jsx; }; const label = () => { let jsx: React.ReactNode; if (props.skill) { jsx =

{props.skill.name[locale]}

; } else if (props.editable && props.hasJob) { jsx =

{t("job_skills.state.selectable")}

; } else { jsx =

{t("job_skills.state.no_skill")}

; } return jsx; }; return (
{skillImage()} {label()}
); } ); export default JobSkillItem;