import React, { useState, useEffect } from "react" import { Card, Image, Icon, Popup, Button } from "semantic-ui-react" import { useHistory } from "react-router-dom" import english_internal from "../../utils/english_internal.json" import { wpnMedium } from "../../assets/imageImports" import top500 from "../../assets/xleaderboardIcons/all.png" import BuildDeleteModal from "../user/BuildDeleteModal.js" import AddBuildForm from "../user/AddBuildForm.js" import BuildAbilityView from "./BuildAbilityView.js" import BuildApView from "./BuildApView.js" const BuildCard = ({ build, existingAbilities, setAbilities, removeBuildFunction, editBuildFunction, buildsArray, setWeapon, setHeadgear, setClothing, setShoes, prefersAPView, showWeapon = true, showDescription = true, }) => { const [showEdit, setShowEdit] = useState(false) const [apView, setApView] = useState(prefersAPView ? prefersAPView : false) const history = useHistory() useEffect(() => { setApView(prefersAPView) }, [prefersAPView]) if (showEdit) { return (
) } const buildTitle = !build.title || build.title === "" ? `${build.weapon} Build` : build.title const buildDescription = !build.description ? "" : build.description return ( setApView(!apView)} > {showWeapon && ( (setWeapon ? setWeapon("") : null)} /> )} {build.top && ( top 500 )}{" "} {buildTitle} {build.discord_user && ( history.push(`/u/${build.discord_id}`)} style={{ color: "#4183C4" }} > {build.discord_user.username}#{build.discord_user.discriminator} )} {build.updatedAt && ( {new Date(parseInt(build.updatedAt)).toLocaleString()} {build.description && showDescription && ( } /> )} )} {apView ? ( ) : ( )} {removeBuildFunction && (
Delete build } buildTitle={buildTitle} onConfirm={() => removeBuildFunction(build)} />
)}
) } export default BuildCard