mirror of
https://github.com/MetaFam/TheGame.git
synced 2026-04-24 03:00:09 -04:00
* incorporating configuration panes from #1078 * standardizing player hero subcomponents & removing `owner` var from `useProfileField` 🚪 * switching box type, ambiguating overly-specific names, & massaging heights 📱 * reordering profile details sections, updating deployment environment, & conditionally wrapping the hero elements 🎬 * fixing render of color disposition selector 🕍 * self code review changes: removed some `;`s 🎋 * getting yarn typecheck && yarn lint to pass post rebase 🏇🏾 * handling "missing <div> in <button>" error with mounted check & setting HTTP return codes for OpenSea API endpoint 🕺 * `ProfileWizard` extends `Wizard`, roles display better on mobile, & pronouns use `ProfileWizardPane` 🍊 * properly encapsulating ETH address regex 🚲 * adding some tasks 🏥 * fixed skills layou * handling default values? ❔ * corrections for revision comments from @dan13ram (UI bugs to follow) 🌋 * cleaning up memberships & explorer type 🧫 * refactoring player roles configuration and display to use `WizardPane` 🔮 * bunches of mobile fixes & repairing the display of deserialized skills 📟 * removing redirect in static props & formatting memberships display for responsiveness 🪆 * improving comprehensability of `/me` & more mobile tweaking 🍦 * various spacing fixes & a “try again” button for connecting 🫕 * maybe fixed issue with saving images for fields with default values 🇩🇿 * switched roles selection to a bounded `SimpleGrid` to fix sizing weirdness 🧰 * fix: removed verify on brightId button * fix: clean up username page * formatting & fixing skills issues 🥩 * reformatting NFT display 🚂 * adding `/join` 🚉 * style: peth's suggestions * added mainnet required message * style: slight tweak of megamenu item positions * chore(release): 0.2.0 Co-authored-by: tenfinney <scott@1box.onmicrosoft.com> Co-authored-by: dan13ram <dan13ram@gmail.com> Co-authored-by: vidvidvid <weetopol@gmail.com>
98 lines
2.7 KiB
TypeScript
98 lines
2.7 KiB
TypeScript
import { Button, Tooltip, Wrap, WrapItem } from '@metafam/ds';
|
|
import { Player } from 'graphql/autogen/types';
|
|
import { useCopyToClipboard } from 'lib/hooks/useCopyToClipboard';
|
|
import React from 'react';
|
|
import { FaEthereum, FaGithub, FaTwitter } from 'react-icons/fa';
|
|
import { formatAddress } from 'utils/playerHelpers';
|
|
|
|
import { PlayerBrightId } from './Section/PlayerBrightId';
|
|
|
|
type Props = {
|
|
player: Player;
|
|
disableBrightId?: boolean;
|
|
};
|
|
|
|
export const PlayerContacts: React.FC<Props> = ({
|
|
player,
|
|
disableBrightId = true, // TODO: enable after fixing issue #1068
|
|
}) => {
|
|
const [copied, handleCopy] = useCopyToClipboard();
|
|
return (
|
|
<Wrap justify="center">
|
|
{player?.accounts?.map((acc) => {
|
|
switch (acc.type) {
|
|
case 'TWITTER': {
|
|
const link = `https://twitter.com/${acc.identifier}`;
|
|
return (
|
|
<WrapItem key={link}>
|
|
<Button
|
|
as="a"
|
|
href={link}
|
|
target="_blank"
|
|
rel="noreferrer noopener"
|
|
size="xs"
|
|
colorScheme="twitter"
|
|
color="white"
|
|
leftIcon={<FaTwitter />}
|
|
>
|
|
{acc.identifier}
|
|
</Button>
|
|
</WrapItem>
|
|
);
|
|
}
|
|
case 'GITHUB': {
|
|
const link = `https://github.com/${acc.identifier}`;
|
|
return (
|
|
<WrapItem key={link}>
|
|
<Button
|
|
as="a"
|
|
href={link}
|
|
target="_blank"
|
|
rel="noreferrer noopener"
|
|
size="xs"
|
|
colorScheme="blackAlpha"
|
|
backgroundColor="black"
|
|
color="white"
|
|
leftIcon={<FaGithub />}
|
|
>
|
|
{acc.identifier}
|
|
</Button>
|
|
</WrapItem>
|
|
);
|
|
}
|
|
default: {
|
|
return null;
|
|
}
|
|
}
|
|
})}
|
|
{player?.ethereumAddress && (
|
|
<WrapItem>
|
|
<Tooltip
|
|
label={copied ? 'Copied!' : 'Copy to clipboard'}
|
|
closeOnClick={false}
|
|
hasArrow
|
|
>
|
|
<Button
|
|
onClick={(evt) => {
|
|
evt.preventDefault();
|
|
handleCopy(player.ethereumAddress);
|
|
}}
|
|
size="xs"
|
|
colorScheme="blackAlpha"
|
|
leftIcon={<FaEthereum />}
|
|
color="white"
|
|
>
|
|
{formatAddress(player.ethereumAddress)}
|
|
</Button>
|
|
</Tooltip>
|
|
</WrapItem>
|
|
)}
|
|
{!disableBrightId && (
|
|
<WrapItem>
|
|
<PlayerBrightId {...{ player }} />
|
|
</WrapItem>
|
|
)}
|
|
</Wrap>
|
|
);
|
|
};
|