import React from "react" import * as antd from "antd" import { Icons } from "components/Icons" import { FollowsModel } from "models" import { MobileUserCard } from "components/UserCard" import NFCModel from "comty.js/models/nfc" import "./index.less" const BehaviorTypeToAction = { "url": "Open an URL", "profile": "Open profile", } const handleAction = { "url": (value) => { window.location.href = value }, "profile": (value) => { app.navigation.goToAccount(value) }, "post": (value) => { app.message.error("Not supported yet") } } export default (props) => { const [L_Tag, R_Tag, E_Tag] = app.cores.api.useRequest(NFCModel.getTagBySerial, props.tag.serialNumber) const [isSelf, setSelf] = React.useState(false) const [followers, setFollowers] = React.useState(null) const [following, setFollowing] = React.useState(null) React.useEffect(async () => { if (!R_Tag) { return null } const isSelf = R_Tag.user._id === app.userData._id if (!isSelf) { const followedResult = await FollowsModel.imFollowing(R_Tag.user._id).catch(() => false) setFollowing(followedResult.isFollowed) } const followers = await FollowsModel.getFollowers(R_Tag.user._id).catch(() => false) setSelf(isSelf) setFollowers(followers) }, [R_Tag]) if (L_Tag) { return } if (!R_Tag || E_Tag) { return } const onClick = (action) => { handleAction[action.type](action.value) props.close() } const actions = [ R_Tag.behavior, { type: "profile", value: R_Tag.user.username } ] return

Choose a action

{ actions.map((action, index) => { return
{ onClick(action) }} > { BehaviorTypeToAction[action.type] } { action.value }
}) }
}