Generation

generate functionWed, 04 Sep 2024

function CharactersStaffBox(props) { const { t } = useTranslation("common"); let { data, type, loading } = props; const [open, setOpen] = useState(false); const classes = useStyles({ open: type === "characters" ? open : false }); const [currentData, setCurrentData] = useState([]); useEffect(() => { if (!open) setCurrentData(Slice(data, 0, 6)); else setCurrentData(data); }, [open, data]); function handleOpenButton() { setOpen((state) => !state); } return ( <> <Typography variant='body1' align='left' gutterBottom> <b>{t(`ns.${type}`)}</b> </Typography> {currentData.length ? ( <> <div className={classes.CharactersStaffBoxList}> {currentData.map((d) => { const va = Find(d.voice_actors, { language: "Japanese", }); return ( <div key={d.url} className={`${ classes.CharactersStaffBoxItem } ${ type === "characters" ? `${classes.CharactersStaffBoxCharacter}` : `${classes.CharactersStaffBoxStaff}` } `} > <div className={`${ classes.CharactersStaffBoxItemCharacter } ${ type === "characters" ? "chr" : `${classes.CharactersStaffBoxStaffOverride} stff` } `} > <a href={d.url} target='_blank' rel='noopener noreferrer' > <div style={{ backgroundImage: `url(${d.image_url})`, }} className={ classes.CharactersStaffBoxItemImage } /> </a> <div className={ classes.CharactersStaffBoxItemText } > <Typography variant='subtitle2'> <a href={d.url} target='_blank' rel='noopener noreferrer' > <Dotdotdot clamp={3} useNativeClamp > {d.name.replace( ",", "" )} </Dotdotdot> </a> </Typography> {d.role ? ( <Typography variant='subtitle2'> <a href={d.url} target='_blank' rel='noopener noreferrer' > <Dotdotdot clamp={3} useNativeClamp > {d.role} </Dotdotdot> </a> </Typography> ) : ( "" )} {d.positions ? ( <Typography variant='subtitle2'> <a href={d.url} target='_blank' rel='noopener noreferrer' > {d.positions ? d.positions.map( (p, i) => d .positions .length - 1 !== i ? `${p}, ` : `${p} ` ) : ""} </a> </Typography> ) : ( "" )} </div> </div> {type === "characters" && va && open ? ( <div className={`${classes.CharactersStaffBoxItemStaff} stff`} > <div className={ classes.CharactersStaffBoxItemText } > <Typography variant='subtitle2'> <a href={va.url} target='_blank' rel='noopener noreferrer' > {va ? va.name.replace( ",", "" ) : ""} </a> </Typography> </div> <a href={va.url} target='_blank' rel='noopener noreferrer' > <div style={{ backgroundImage: `url(${ va ? va.image_url : "" })`, }} className={ classes.CharactersStaffBoxItemImage } /> </a> </div> ) : ( "" )} </div> ); })} </div> {data.length > 6 ? ( <div className={classes.CharactersStaffBoxShowMore}> <Button variant='outlined' size='small' onClick={handleOpenButton} > {open ? t("ns.show_less") : t("ns.show_more")} </Button> </div> ) : ( "" )} <Typography variant='subtitle2' align='right'> <a href='https://jikan.moe/' target='_blank' rel='noopener noreferrer' > jikan API </a> </Typography> </> ) : loading ? ( <div className={classes.JikanDataErrorBox}> <Loading /> </div> ) : ( <div className={classes.JikanDataErrorBox}> <WarningSharp fontSize='large' /> <Typography variant='body1'> {t( "components:translations.jikan_errors.couldnt_reach_data" )} </Typography> </div> )} </> ); }

function that: add two numbers together ```python def add(a, b): return a + b add(1, 2) ``` function that: function CharactersStaffBox(props) { const { t } = useTranslation("common"); let { data, type, loading } = props; const [open, setOpen] = useState(false); const classes = useStyles({ open: type === "characters" ? open : false }); const [currentData, setCurrentData] = useState([]); useEffect(() => { if (!open) setCurrentData(Slice(data, 0, 6)); else setCurrentData(data); }, [open, data]); function handleOpenButton() { setOpen((state) => !state); } return ( <> <Typography variant='body1' align='left' gutterBottom> <b>{t(`ns.${type}`)}</b> </Typography> {currentData.length ? ( <> <div className={classes.CharactersStaffBoxList}> {currentData.map((d) => { const va = Find(d.voice_actors, { language: "Japanese", }); return ( <div key={d.url} className={`${ classes.CharactersStaffBoxItem } ${ type === "characters" ? `${classes.CharactersStaffBoxCharacter}` : `${classes.CharactersStaffBoxStaff}` } `} > <div className={`${ classes.CharactersStaffBoxItemCharacter } ${ type === "characters" ? "chr" : `${classes.CharactersStaffBoxStaffOverride} stff` } `} > <a href={d.url} target='_blank' rel='noopener noreferrer' > <div style={{ backgroundImage: `url(${d.image_url})`, }} className={ classes.CharactersStaffBoxItemImage } /> </a> <div className={ classes.CharactersStaffBoxItemText } > <Typography variant='subtitle2'> <a href={d.url} target='_blank' rel='noopener noreferrer' > <Dotdotdot clamp={3} useNativeClamp > {d.name.replace( ",", "" )} </Dotdotdot> </a> </Typography> {d.role ? ( <Typography variant='subtitle2'> <a href={d.url} target='_blank' rel='noopener noreferrer' > <Dotdotdot clamp={3} useNativeClamp > {d.role} </Dotdotdot> </a> </Typography> ) : ( "" )} {d.positions ? ( <Typography variant='subtitle2'> <a href={d.url} target='_blank' rel='noopener noreferrer' > {d.positions ? d.positions.map( (p, i) => d .positions .length - 1 !== i ? `${p}, ` : `${p} ` ) : ""} </a> </Typography> ) : ( "" )} </div> </div> {type === "characters" && va && open ? ( <div className={`${classes.CharactersStaffBoxItemStaff} stff`} > <div className={ classes.CharactersStaffBoxItemText } > <Typography variant='subtitle2'> <a href={va.url} target='_blank' rel='noopener noreferrer' > {va ? va.name.replace( ",", "" ) : ""} </a> </Typography> </div> <a href={va.url} target='_blank' rel='noopener noreferrer' > <div style={{ backgroundImage: `url(${ va ? va.image_url : "" })`, }} className={ classes.CharactersStaffBoxItemImage } /> </a> </div> ) : ( "" )} </div> ); })} </div> {data.length > 6 ? ( <div className={classes.CharactersStaffBoxShowMore}> <Button variant='outlined' size='small' onClick={handleOpenButton} > {open ? t("ns.show_less") : t("ns.show_more")} </Button> </div> ) : ( "" )} <Typography variant='subtitle2' align='right'> <a href='https://jikan.moe/' target='_blank' rel='noopener noreferrer' > jikan API </a> </Typography> </> ) : loading ? ( <div className={classes.JikanDataErrorBox}> <Loading /> </div> ) : ( <div className={classes.JikanDataErrorBox}> <WarningSharp fontSize='large' /> <Typography variant='body1'> {t( "components:translations.jikan_errors.couldnt_reach_data" )} </Typography> </div> )} </> ); } ```Javascript

Javascript
Generate More

Want to kickstart your project?Use the new AI Studio to create your code