Files
TheGame/packages/web/components/Guild/GuildTile.tsx
HHH 5ae48a3210 Use line clamp to limit lines shown for player/guild/patron description
* Use Chakra noOfLines to limit the length of Player/Patron/
Guild descriptions in the leaderboards

* Make the appearance of Player tiles and Guild tiles match better

Contact section is pushed to the bottom of the tile

Consistent spacing between section headings and text in the tile body

Bit of text shadow on the tile heading in case the player picture/guild logo has a light background

* Set background for tile heading, remove unneeded code and comments, guild type caption moved inside the conditional

Suggestions from code review from @dysbulic

* Add the Join CTA to the Patrons, Players, and Guilds pages

* Set a max width for the grid of tiles in PlayerList

* More descriptive meta title/description for players page

* Empty base of new Search and Filters layout

Plus code comments, commenting out the existing search and filters components

* Set up sticky container in PlayerFilter

Move the sticky container out of DesktopFilters so it can wrap the search box and the filters, add test content to help with making the layout

* Basic flex layout for the search and filters box

* Add the Filters icon SVG and import in design system

* Add Chakra Search icon to design system export

* Search box and filters styling finished for small screen design

* Layout for the desktop filters and large screen views

* Tidy the comments, remove unused components

* Better spacing for Join CTA

Make a larger margin on small screens, a consistent space between page header and the CTA and the lists

* Add nowrap to links in CTA to prevent line-breaks in the middle of the link

* Updated spacing around the Join CTA links (forgot a breakpoint in previous change)

* Remove the extra spacing added to Vstack at lg

Ref https://github.com/MetaFam/TheGame/pull/1484#discussion_r1058950645

* Make the loading component the same width as the loaded cards

* Text search is triggered by onChange in the search input instead of a form submission

Co-authored-by: vidvidvid <weetopol@gmail.com>

* maxW is 7xl instead of 79rem, matching the other components

* Use Chakra noOfLines to limit the length of Player/Patron/
Guild descriptions in the leaderboards

* Make the appearance of Player tiles and Guild tiles match better

Contact section is pushed to the bottom of the tile

Consistent spacing between section headings and text in the tile body

Bit of text shadow on the tile heading in case the player picture/guild logo has a light background

* Set background for tile heading, remove unneeded code and comments, guild type caption moved inside the conditional

Suggestions from code review from @dysbulic

* Use Chakra noOfLines to limit the length of Player/Patron/
Guild descriptions in the leaderboards

* Make the appearance of Player tiles and Guild tiles match better

Contact section is pushed to the bottom of the tile

Consistent spacing between section headings and text in the tile body

Bit of text shadow on the tile heading in case the player picture/guild logo has a light background

* Set background for tile heading, remove unneeded code and comments, guild type caption moved inside the conditional

Suggestions from code review from @dysbulic

* FIX: show the search icon for all screen sizes (#1411)

Made some changes for vid, forgot to put the icon back before the PR was merged

* FIX: didn't fix this conflict properly during the rebase

* Code formatting updates and decluttering

As requested by @dysbulic

* fixed bug in section heights

* fixed version of ethers in utils package

* fixed remove bug with player & guild sections

* added custom text box type

* added custom text section component

* support custom text sections in all pages

* add custom text block to supported boxes

* add the custom text metadata editor

* support multiple custom text blocks

* added a guide for creating a custom block

* minor typo

* Add card & pointer animations

* Change card list styles & background height

* Fix background, widows & button link.

* Fix background position and size

* Fix overflow on smaller screens

* Redirect user to profile setup

* Resolve comments

* Add overflow to full page container

* Fix spacing on onboarding guidance page

* Fixes for the appearance of the Patrons Join page (#1442)

Ref: https://github.com/MetaFam/TheGame/issues/1442

* Code tidy and tweaks, &nbsp-ing

&nbsp's join the last two words in some of the boxes so those words don't end up on a line all by themselves (requested by peth)

* Use Chakra noOfLines to limit the length of Player/Patron/
Guild descriptions in the leaderboards

* Make the appearance of Player tiles and Guild tiles match better

Contact section is pushed to the bottom of the tile

Consistent spacing between section headings and text in the tile body

Bit of text shadow on the tile heading in case the player picture/guild logo has a light background

* Set background for tile heading, remove unneeded code and comments, guild type caption moved inside the conditional

Suggestions from code review from @dysbulic

* Use Chakra noOfLines to limit the length of Player/Patron/
Guild descriptions in the leaderboards

* Make the appearance of Player tiles and Guild tiles match better

Contact section is pushed to the bottom of the tile

Consistent spacing between section headings and text in the tile body

Bit of text shadow on the tile heading in case the player picture/guild logo has a light background

* Set background for tile heading, remove unneeded code and comments, guild type caption moved inside the conditional

Suggestions from code review from @dysbulic

* Make the appearance of Player tiles and Guild tiles match better

Contact section is pushed to the bottom of the tile

Consistent spacing between section headings and text in the tile body

Bit of text shadow on the tile heading in case the player picture/guild logo has a light background

* Set background for tile heading, remove unneeded code and comments, guild type caption moved inside the conditional

Suggestions from code review from @dysbulic

* FIX: show the search icon for all screen sizes (#1411)

Made some changes for vid, forgot to put the icon back before the PR was merged

* Code formatting updates and decluttering

As requested by @dysbulic

Co-authored-by: vidvidvid <weetopol@gmail.com>
Co-authored-by: dan13ram <dan13ram@gmail.com>
Co-authored-by: nitegeist <nitegeist.dev@gmail.com>
2023-01-23 13:33:00 -05:00

97 lines
2.8 KiB
TypeScript

import {
Box,
Flex,
Heading,
Link,
MetaTag,
MetaTile,
MetaTileBody,
MetaTileHeader,
Text,
VStack,
} from '@metafam/ds';
import { SquareImage } from 'components/SquareImage';
import { GuildFragment } from 'graphql/autogen/types';
import React from 'react';
import { optimizedImage } from 'utils/imageHelpers';
import { GuildLinksSmall } from './Section/GuildLinks';
type Props = {
guild: GuildFragment;
};
export const GuildTile: React.FC<Props> = ({ guild }) => (
<Link
role="group"
_hover={{ textDecoration: 'none' }}
href={`/guild/${guild.guildname}`}
>
<MetaTile minW={'300px'} height="full" width="full" cursor="pointer">
<MetaTileHeader>
{guild.logo && (
<SquareImage src={optimizedImage('logoURL', guild.logo)} />
)}
<Flex px={3} w="full" pos="absolute" bottom={-6} zIndex={1}>
<Heading
size="lg"
color="white"
bgColor="whiteAlpha.100"
backdropFilter="blur(10px)"
lineHeight={1.8}
justifyContent="center"
px={3}
width="full"
textAlign="center"
borderRadius={10}
fontFamily="body"
fontWeight={400}
textShadow="0 0 8px var(--chakra-colors-blackAlpha-400)" // v. light shadow makes the text readable if the logo/avatar is white
>
{guild.name}
</Heading>
</Flex>
</MetaTileHeader>
<MetaTileBody justifyContent="space-between">
{/**
* The mb="auto" pushes the last block (Barriers/Contact) down to the bottom of the tile
*/}
<Flex direction="column" gap={2} mb="auto">
{guild.description && (
<VStack spacing={1} align="stretch">
<Text textStyle="caption">About</Text>
<Text fontSize="sm" noOfLines={4}>
{guild.description}
</Text>
</VStack>
)}
<VStack spacing={1} align="stretch" mb={1}>
{guild.type && (
<>
<Text textStyle="caption">Type</Text>
<MetaTag size="sm" fontWeight="normal" w="fit-content">
{guild.type} GUILD
</MetaTag>
</>
)}
</VStack>
</Flex>
<Box>
<Flex justifyContent="space-between">
<VStack spacing={1} align="stretch">
<Text textStyle="caption">Barrier of Entry</Text>
<Text fontStyle="italic">Coming soon</Text>
</VStack>
<VStack spacing={1} align="stretch">
<Text textStyle="caption">Contact</Text>
<GuildLinksSmall {...{ guild }} />
</VStack>
</Flex>
</Box>
</MetaTileBody>
</MetaTile>
</Link>
);