UI updates (#135)

This commit is contained in:
Alejandro
2023-01-25 19:08:53 +01:00
committed by GitHub
parent a8414d2b0f
commit 9ca3b547c2
47 changed files with 628 additions and 433 deletions

View File

@ -7,14 +7,12 @@ import { RootState } from "State/Store";
export interface FollowButtonProps {
pubkey: HexKey,
className?: string,
className?: string
}
export default function FollowButton(props: FollowButtonProps) {
const pubkey = props.pubkey;
const publiser = useEventPublisher();
const isFollowing = useSelector<RootState, boolean>(s => s.login.follows?.includes(pubkey) ?? false);
const baseClassName = isFollowing ? `btn btn-warn follow-button` : `btn btn-success follow-button`
const className = props.className ? `${baseClassName} ${props.className}` : `${baseClassName}`;
async function follow(pubkey: HexKey) {
let ev = await publiser.addFollow(pubkey);
@ -27,8 +25,8 @@ export default function FollowButton(props: FollowButtonProps) {
}
return (
<div className={className} onClick={() => isFollowing ? unfollow(pubkey) : follow(pubkey)}>
<FontAwesomeIcon icon={isFollowing ? faUserMinus : faUserPlus} size="lg" />
</div>
<button type="button" className={isFollowing ? `${props.className ?? ''} secondary` : props.className} onClick={() => isFollowing ? unfollow(pubkey) : follow(pubkey)}>
{isFollowing ? 'Unfollow' : 'Follow'}
</button>
)
}
}