Skip to content

Commit

Permalink
Release v4.13.2
Browse files Browse the repository at this point in the history
  • Loading branch information
attemka authored Nov 14, 2023
2 parents 7b6caec + 92f8766 commit 30a6fac
Show file tree
Hide file tree
Showing 18 changed files with 178 additions and 177 deletions.
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [4.13.2] - 2023-11-14

### Changed

- YPP payout date is moved to Tuesday
- Account seed is now downloaded by default
- Changed referrals list on referrals page

### Fixed

- Fixed performance issues on mobile devices
- Fixed player styling on mobile devices
- Fixed incorrect rewards on YPP dashboard tab

## [4.13.1] - 2023-11-09

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion packages/atlas/atlas.config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
general:
appName: Atlas # Application name - used in the copy throughout the app, in index.html, open graph meta tags, etc. Don't use env variables here
appName: Gleev # Application name - used in the copy throughout the app, in index.html, open graph meta tags, etc. Don't use env variables here
appDescription: 'The streaming platform empowering viewers, creators, and builders. Built on and operated by the Joystream blockchain and DAO.' # Application description - used in index.html meta tags
appTagline: 'The streaming platform empowering viewers, creators, and builders. Built on and operated by the Joystream blockchain and DAO.'
appId: '$VITE_APP_ID' # App ID for Apps as first-class citizens
Expand Down
4 changes: 2 additions & 2 deletions packages/atlas/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@joystream/atlas",
"description": "UI for consuming Joystream - a user governed video platform",
"version": "4.13.1",
"version": "4.13.2",
"license": "GPL-3.0",
"scripts": {
"start": "vite",
Expand Down Expand Up @@ -96,7 +96,7 @@
"retry-axios": "^3.0.0",
"scroll-lock": "^2.1.5",
"subscriptions-transport-ws": "^0.11.0",
"swiper": "^9.1.1",
"swiper": "11.0.4",
"twemoji": "^14.0.2",
"use-draggable-scroll": "^0.1.0",
"use-resize-observer": "^9.1.0",
Expand Down
3 changes: 0 additions & 3 deletions packages/atlas/src/api/hooks/nfts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -194,9 +194,6 @@ export const useFeaturedNftsVideos = () => {
variables: {
limit: 10,
orderBy: [OwnedNftOrderByInput.VideoViewsNumDesc],
where: {
isFeatured_eq: true,
},
},
})

Expand Down
Binary file not shown.
13 changes: 13 additions & 0 deletions packages/atlas/src/components/Avatar/Avatar.styles.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import styled from '@emotion/styled'
import { SvgActionAddImage, SvgActionEdit, SvgIllustrativeFileFailed } from '@/assets/icons'
import { SvgAvatarSilhouette } from '@/assets/illustrations'
import { AssetImage } from '@/components/AssetImage'
import { smallBadgeStyles } from '@/components/Badge'
import { SkeletonLoader } from '@/components/_loaders/SkeletonLoader'
import { cVar, square, zIndex } from '@/styles'

Expand Down Expand Up @@ -171,3 +172,15 @@ export const StyledSvgIllustrativeFileFailed = styled(SvgIllustrativeFileFailed)
fill: ${cVar('colorCoreNeutral100')};
}
`

export const BadgeContainer = styled.div<{ 'data-badge': string | number | boolean | undefined }>`
display: ${(props) => (props['data-badge'] ? 'block' : 'contents')};
position: relative;
${smallBadgeStyles}
&[data-badge]::after {
position: absolute;
right: -6px;
top: -6px;
}
`
2 changes: 1 addition & 1 deletion packages/atlas/src/components/Carousel/Carousel.styles.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import styled from '@emotion/styled'
import { SwiperOptions } from 'swiper'
import { Swiper } from 'swiper/react'
import { SwiperOptions } from 'swiper/types'

import { Button } from '@/components/_buttons/Button'
import { cVar, media, sizes, transitions, zIndex } from '@/styles'
Expand Down
4 changes: 2 additions & 2 deletions packages/atlas/src/components/Carousel/Carousel.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { ReactNode } from 'react'
import { Pagination } from 'swiper'
import 'swiper/css'
import { Navigation, Pagination } from 'swiper/modules'
import { SwiperProps, SwiperSlide } from 'swiper/react'
import { Swiper as SwiperType } from 'swiper/types'

Expand All @@ -15,7 +15,7 @@ export type CarouselProps = {
} & SwiperProps

const dotsProps = {
modules: [Pagination],
modules: [Pagination, Navigation],
pagination: {
clickable: true,
bulletClass: 'bullet',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ export const InformationContainer = styled.div<{ isPaused: boolean }>`
}
`

export const Container = styled.div<{ isActive: boolean }>`
export const Container = styled.div`
display: flex;
flex-direction: column;
position: relative;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,10 @@ import { Text } from '@/components/Text'
import { SkeletonLoader } from '@/components/_loaders/SkeletonLoader'
import { DetailsContent } from '@/components/_nft/NftTile'
import { BackgroundVideoPlayer } from '@/components/_video/BackgroundVideoPlayer'
import { VideoPoster, VideoWrapper } from '@/components/_video/BackgroundVideoPlayer/BackgroundVideoPlayer.styles'
import { absoluteRoutes } from '@/config/routes'
import { useBlockTimeEstimation } from '@/hooks/useBlockTimeEstimation'
import { useDebounceValue } from '@/hooks/useDebounceValue'
import { useMediaMatch } from '@/hooks/useMediaMatch'
import { hapiBnToTokenNumber } from '@/joystream-lib/utils'
import { getMemberAvatar } from '@/providers/assets/assets.helpers'
Expand All @@ -42,6 +44,7 @@ export const NftCarouselDetails = ({
const [isPaused, setIsPaused] = useState(!active)
const { convertBlockToMsTimestamp } = useBlockTimeEstimation()
const nftStatus = getNftStatus(nft, nft?.video)
const debouncedActive = useDebounceValue(active, 500)

const ownerAvatarUrls =
nft.owner.__typename === 'NftOwnerChannel'
Expand Down Expand Up @@ -157,97 +160,101 @@ export const NftCarouselDetails = ({
}

return (
<Container isActive={active}>
<Container>
<VideoContainer>
<BackgroundVideoPlayer
videoId={nft.video.id}
withFade={active}
playing={active}
muted={true}
onPause={() => setIsPaused(true)}
onPlay={() => setIsPaused(false)}
preload="auto"
src={mediaUrls ?? undefined}
poster={thumbnailUrls ?? undefined}
handleActions={active}
videoPlaytime={30}
onEnded={slideNext}
/>
{!active ? (
<VideoWrapper>
<VideoPoster resolvedUrls={thumbnailUrls ?? undefined} type="cover" alt="" />
</VideoWrapper>
) : (
<BackgroundVideoPlayer
videoId={nft.video.id}
withFade={active ? debouncedActive : active}
playing={active ? debouncedActive : active}
muted={true}
onPause={() => setIsPaused(true)}
onPlay={() => setIsPaused(false)}
preload="auto"
src={mediaUrls ?? undefined}
poster={thumbnailUrls ?? undefined}
handleActions={active ? debouncedActive : active}
videoPlaytime={30}
onEnded={slideNext}
/>
)}
</VideoContainer>
{active && (
<CSSTransition in={active} timeout={100} classNames={transitions.names.fade} unmountOnExit>
<InformationContainer isPaused={isPaused}>
<DetailsContainer>
<AvatarGroup spreadAvatars avatarStrokeColor="transparent" avatars={avatars} />
<Text variant={smMatch ? 'h500' : 'h400'} as={smMatch ? 'h5' : 'h4'}>
<StyledLink to={absoluteRoutes.viewer.video(nft.video.id)}>{nftDetails.title}</StyledLink>
</Text>
<StatsContainer>
{nftDetails.buyNow && (
<DetailsContent
avoidIconStyling
tileSize={smMatch ? 'big' : 'bigSmall'}
caption="BUY NOW"
content={nftDetails.buyNow}
icon={<JoyTokenIcon size={smMatch ? 24 : 16} variant="silver" />}
withDenomination
/>
)}
{nftDetails.topBid && (
<DetailsContent
avoidIconStyling
tileSize={smMatch ? 'big' : 'bigSmall'}
caption="TOP BID"
content={nftDetails.topBid}
icon={<JoyTokenIcon size={smMatch ? 24 : 16} variant="silver" />}
withDenomination
/>
)}
{nftDetails.minBid && (
<DetailsContent
avoidIconStyling
tileSize={smMatch ? 'big' : 'bigSmall'}
caption="MIN BID"
content={nftDetails.minBid}
icon={<JoyTokenIcon size={smMatch ? 24 : 16} variant="silver" />}
withDenomination
/>
)}
{nftStatus?.status === 'idle' && (
<DetailsContent
tileSize={smMatch ? 'big' : 'bigSmall'}
caption="STATUS"
content="Not for sale"
secondary
icon={<SvgActionNotForSale width={smMatch ? 24 : 16} height={smMatch ? 24 : 16} />}
/>
)}
<CSSTransition in={active} timeout={100} classNames={transitions.names.fade} unmountOnExit>
<InformationContainer isPaused={isPaused}>
<DetailsContainer>
<AvatarGroup spreadAvatars avatarStrokeColor="transparent" avatars={avatars} />
<Text variant={smMatch ? 'h500' : 'h400'} as={smMatch ? 'h5' : 'h4'}>
<StyledLink to={absoluteRoutes.viewer.video(nft.video.id)}>{nftDetails.title}</StyledLink>
</Text>
<StatsContainer>
{nftDetails.buyNow && (
<DetailsContent
avoidIconStyling
tileSize={smMatch ? 'big' : 'bigSmall'}
caption="BUY NOW"
content={nftDetails.buyNow}
icon={<JoyTokenIcon size={smMatch ? 24 : 16} variant="silver" />}
withDenomination
/>
)}
{nftDetails.topBid && (
<DetailsContent
avoidIconStyling
tileSize={smMatch ? 'big' : 'bigSmall'}
caption="TOP BID"
content={nftDetails.topBid}
icon={<JoyTokenIcon size={smMatch ? 24 : 16} variant="silver" />}
withDenomination
/>
)}
{nftDetails.minBid && (
<DetailsContent
avoidIconStyling
tileSize={smMatch ? 'big' : 'bigSmall'}
caption="MIN BID"
content={nftDetails.minBid}
icon={<JoyTokenIcon size={smMatch ? 24 : 16} variant="silver" />}
withDenomination
/>
)}
{nftStatus?.status === 'idle' && (
<DetailsContent
tileSize={smMatch ? 'big' : 'bigSmall'}
caption="STATUS"
content="Not for sale"
secondary
icon={<SvgActionNotForSale width={smMatch ? 24 : 16} height={smMatch ? 24 : 16} />}
/>
)}

{timeLeft && (
<DetailsContent
tileSize={smMatch ? 'big' : 'bigSmall'}
caption="AUCTION ENDS IN"
content={timeLeft.split(':').map((tick, i) => {
return (
<>
{i !== 0 ? (
<Text as="span" color="colorText" variant={smMatch ? 'h500' : 'h400'}>
:
</Text>
) : null}
<Text as="span" variant={smMatch ? 'h500' : 'h400'}>
{tick}
{timeLeft && (
<DetailsContent
tileSize={smMatch ? 'big' : 'bigSmall'}
caption="AUCTION ENDS IN"
content={timeLeft.split(':').map((tick, i) => {
return (
<>
{i !== 0 ? (
<Text as="span" color="colorText" variant={smMatch ? 'h500' : 'h400'}>
:
</Text>
</>
)
})}
/>
)}
</StatsContainer>
</DetailsContainer>
</InformationContainer>
</CSSTransition>
)}
) : null}
<Text as="span" variant={smMatch ? 'h500' : 'h400'}>
{tick}
</Text>
</>
)
})}
/>
)}
</StatsContainer>
</DetailsContainer>
</InformationContainer>
</CSSTransition>
</Container>
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ const SIGNUP_FORM_DATA_INITIAL_STATE: AccountFormData & MemberFormData = {
avatar: undefined,
captchaToken: undefined,
confirmedTerms: false,
confirmedCopy: false,
allowDownload: true,
memberId: '',
referrerChannelId: undefined,
}
Expand Down Expand Up @@ -248,7 +248,7 @@ export const SignUpModal = () => {
)

const handleCreateMemberOnSeedStepSubmit = useCallback(
async (mnemonic: string, confirmedCopy: boolean) => {
async (mnemonic: string, allowDownload: boolean) => {
let handle = signUpFormData.current.handle
let blob = signUpFormData.current.avatar?.blob

Expand All @@ -266,8 +266,8 @@ export const SignUpModal = () => {

const memberData = {
mnemonic,
allowDownload,
handle,
confirmedCopy,
avatar: blob ? { blob } : undefined,
}

Expand Down Expand Up @@ -383,7 +383,7 @@ export const SignUpModal = () => {
{...commonProps}
onSeedSubmit={handleCreateMemberOnSeedStepSubmit}
mnemonic={signUpFormData.current.mnemonic}
confirmedCopy={signUpFormData.current.confirmedCopy}
allowDownload={signUpFormData.current.allowDownload}
/>
)}
{currentStep === SignUpSteps.SignUpPassword && (
Expand Down
Loading

0 comments on commit 30a6fac

Please sign in to comment.