5ebbbb8bf2
* refactor: move ActionButton component * refactor: move BanUserButton component * refactor: move ChatActionMessage component * refactor: move ChatContainer component * refactor: move AuthModal component * refactor: move BrowserNotifyModal component * refactor: move ChatUserMessage component * refactor: move ChatJoinMessage component * refactor: move ChatTextField component * refactor: move ChatUserBadge component * refactor: move FollowerCollection and SingleFollower components * fix: bad import path * refactor: move FollowModal component * refactor: move Modal component * refactor: move ContentHeader component * refactor: move ChatSystemMessage component * refactor: move Header component * refactor: move Footer component * refactor: move StatusBar component * refactor: move OfflineBanner component * refactor: move OwncastPlayer component * refactor: move IndieAuthModal component * refactor: move SocialLinks component * refactor: move VideoPoster component * refactor: move FollowModal component * refactor: move FediAuthModal.tsx component * refactor: move UserDropdown component * refactor: move ChatSocialMessage component * refactor: move Logo component * refactor: move NotifyReminderPopup component * refactor: move NameChangeModal component * refactor: move FatalErrorStateModal component * refactor: move ChatModeratorNotification component * refactor: move ChatModerationActionMenu and ChatModerationDetailsModal components * refactor: move CustomPageContent component * refactor: move storybook Introduction file * refactor: update storybook story import path * refactor: move storybook preview styles * refactor: move storybook doc pages * refactor: move Color and ImageAsset components * fix: bad import path * fix: bad import path in story file
71 lines
1.4 KiB
TypeScript
71 lines
1.4 KiB
TypeScript
export function ImageAsset(props: ImageAssetProps) {
|
|
const { name, src } = props;
|
|
|
|
const containerStyle = {
|
|
borderRadius: '20px',
|
|
width: '12vw',
|
|
height: '12vw',
|
|
minWidth: '100px',
|
|
minHeight: '100px',
|
|
borderWidth: '1.5px',
|
|
borderStyle: 'solid',
|
|
borderColor: 'lightgray',
|
|
overflow: 'hidden',
|
|
margin: '0.3vw',
|
|
};
|
|
|
|
const colorDescriptionStyle = {
|
|
textAlign: 'center' as 'center',
|
|
color: 'gray',
|
|
fontSize: '0.8em',
|
|
};
|
|
|
|
const imageStyle = {
|
|
width: '100%',
|
|
height: '80%',
|
|
backgroundRepeat: 'no-repeat',
|
|
backgroundSize: 'contain',
|
|
backgroundPosition: 'center',
|
|
marginTop: '5px',
|
|
backgroundImage: `url(${src})`,
|
|
};
|
|
|
|
return (
|
|
<figure style={containerStyle}>
|
|
<a href={src} target="_blank" rel="noopener noreferrer">
|
|
<div style={imageStyle} />
|
|
<figcaption style={colorDescriptionStyle}>{name}</figcaption>
|
|
</a>
|
|
</figure>
|
|
);
|
|
}
|
|
|
|
interface ImageAssetProps {
|
|
name: string;
|
|
src: string;
|
|
}
|
|
|
|
const rowStyle = {
|
|
display: 'flex',
|
|
flexDirection: 'row' as 'row',
|
|
flexWrap: 'wrap' as 'wrap',
|
|
// justifyContent: 'space-around',
|
|
alignItems: 'center',
|
|
};
|
|
|
|
export function ImageRow(props: ImageRowProps) {
|
|
const { images } = props;
|
|
|
|
return (
|
|
<div style={rowStyle}>
|
|
{images.map(image => (
|
|
<ImageAsset key={image.src} src={image.src} name={image.name} />
|
|
))}
|
|
</div>
|
|
);
|
|
}
|
|
|
|
interface ImageRowProps {
|
|
images: ImageAssetProps[];
|
|
}
|