diff --git a/packages/atlas/atlas.config.yml b/packages/atlas/atlas.config.yml index f3bb88050a..4b00af0faf 100644 --- a/packages/atlas/atlas.config.yml +++ b/packages/atlas/atlas.config.yml @@ -116,8 +116,8 @@ features: actionButtonText: Get referral link actionButtonAction: copyReferral widgets: # Widgets on Ypp landing page - - title: Program details - link: https://www.notion.so/joystream/YPP-programme-d492c2eb88ff4ace955b5f2902ec21fb + - title: Creators Wiki + link: https://discord.com/channels/811216481340751934/1224709788592767136 linkText: Go to Notion # Used only on YPP Dashboard - if empty defaults to "Go to {title}" label: Notion # Used for YPP Dashboard to inform user which vendor given feature uses - if empty defaults to title icon: info # Optional icon to be displayed. Possible icons: message, info, tokenStack @@ -126,8 +126,8 @@ features: linkText: Go to Payments label: Studio icon: tokenStack - - title: Support - link: https://discord.com/channels/811216481340751934/1053294778529353788 + - title: Community + link: https://discord.com/channels/811216481340751934/1224709788592767136 linkText: Go to Discord label: Discord icon: message diff --git a/packages/atlas/src/views/studio/YppDashboard/tabs/YppDashboardMainTab.tsx b/packages/atlas/src/views/studio/YppDashboard/tabs/YppDashboardMainTab.tsx index 32420fc9b6..e54ddf9c6c 100644 --- a/packages/atlas/src/views/studio/YppDashboard/tabs/YppDashboardMainTab.tsx +++ b/packages/atlas/src/views/studio/YppDashboard/tabs/YppDashboardMainTab.tsx @@ -26,7 +26,6 @@ import { atlasConfig } from '@/config' import { absoluteRoutes } from '@/config/routes' import { useMediaMatch } from '@/hooks/useMediaMatch' import { useYppAuthorizeHandler } from '@/hooks/useYppAuthorizeHandler' -import { usePersonalDataStore } from '@/providers/personalData' import { useUser } from '@/providers/user/user.hooks' import { cVar, sizes, transitions } from '@/styles' import { formatDate, getNextWeekday } from '@/utils/time' @@ -37,20 +36,68 @@ import { useGetYppSyncedChannels } from '@/views/global/YppLandingView/useGetYpp import { StatusDot, StatusDotWrapper, WidgetTileContent, YppSyncStatus } from './YppDashboardTabs.styles' -const SIGNUP_MESSAGE = 'YPP_SIGNUP_MESSAGE-' - -const getMessageIdForChannel = (channelId: string) => { - return SIGNUP_MESSAGE + channelId +const benefitsMetadata = { + discordCommunity: { + title: 'Discord Community', + description: + 'Connect with other creators on Discord and participate in building the platform with us. Each week 5 new active participants selected by community are rewarded with new joiner bonus.', + reward: '20 USD', + actionLink: 'https://discord.com/channels/811216481340751934/1224709788592767136', + tooltipLink: 'https://www.notion.so/joystream/Creators-Discord-bc8df1d87b58435a9ea325b073bea4d6?pvs=4', + }, + twitterPost: { + title: 'Post on X', + description: 'Follow JoystreamDAO on X and post about why you signed up to Gleev.', + reward: '10 USD', + actionLink: 'https://twitter.com/joystreamdao?lang=en', + tooltipLink: + 'https://www.notion.so/joystream/Social-Promotions-15a5e2ca49734b2094a7356e49e07b9f?pvs=4#27143338f8f645f0970baa830e0c8b99', + }, + roundTableEvents: { + title: 'Roundtable events', + description: `Participate in Creator Roundtable events held on Discord to exchange perspectives on current ${atlasConfig.general.appName} opportunities and features in the pipeline. Best questions are rewarded.`, + reward: '25 USD', + actionLink: 'https://discord.com/channels/811216481340751934/1231911228398637077', + tooltipLink: 'https://www.notion.so/joystream/Roundtable-Events-cd106924a7314f75acf8813277fc21a8?pvs=4', + }, + originalCreatorsContent: { + title: `${atlasConfig.general.appName} Original Content`, + description: `Earn more by publishing content to ${atlasConfig.general.appName} at least 24 hours ahead of YouTube. Make sure to add hashtag "#JoystreamOriginal" and hyperlink to the video uploaded to ${atlasConfig.general.appName}. Text of the link should be "#watchOn${atlasConfig.general.appName}".`, + reward: 'x5 per video', + actionLink: 'https://athd8d2ml5u.typeform.com/to/jvKcRyCP', + tooltipLink: 'https://www.notion.so/joystream/Original-Content-Rewards-de1acdc52ef549119b700df106675ce4?pvs=4', + }, + branding: { + title: `${atlasConfig.general.appName} Branding`, + description: `Add Joystream branding to your video and multiply your rewards for original uploads to ${atlasConfig.general.appName}. Branded video description posted to Youtube must contain hashtag #jsb and #watchOn${atlasConfig.general.appName}.`, + reward: 'x5 per video', + actionLink: 'https://athd8d2ml5u.typeform.com/to/jvKcRyCP', + tooltipLink: 'sdfaf', + }, + shareNft: { + title: 'Share NFT', + reward: '30 USD', + tooltipLink: 'https://www.notion.so/joystream/Social-Promotions-15a5e2ca49734b2094a7356e49e07b9f?pvs=4', + }, + shareToken: { + title: 'Share Token', + reward: '50 USD', + tooltipLink: 'https://www.notion.so/joystream/Social-Promotions-15a5e2ca49734b2094a7356e49e07b9f?pvs=4', + }, + ambassadorProgram: { + title: 'Ambassador Program', + description: 'Become Joystream ambassador and work with our marketing and product team on growing the platform.', + reward: 'Up to 1k USD', + actionLink: 'https://joystream.notion.site/Ambassador-Program-Space-93dfd2767d6b4729ac7dab79f9970d5b', + tooltipLink: 'https://joystream.notion.site/Ambassador-Program-Space-93dfd2767d6b4729ac7dab79f9970d5b', + }, + discordLink: 'https://discord.com/channels/811216481340751934/1053294778529353788', } export const YppDashboardMainTab: FC = () => { const { channelId } = useUser() const navigate = useNavigate() const _handleYppSignUpClick = useYppAuthorizeHandler() - const hasDismissedSignupMessage = usePersonalDataStore((state) => - state.dismissedMessages.some((message) => message.id === getMessageIdForChannel(channelId as string)) - ) - const updateDismissedMessages = usePersonalDataStore((state) => state.actions.updateDismissedMessages) const { unsyncedChannels, currentChannel } = useGetYppSyncedChannels() const mdMatch = useMediaMatch('md') @@ -159,13 +206,13 @@ export const YppDashboardMainTab: FC = () => { ))} - {!hasDismissedSignupMessage && !currentChannel?.yppStatus.startsWith('Suspended') && ( + {!currentChannel?.yppStatus.startsWith('Suspended') && ( { !currentChannel || !currentChannel.yppStatus.startsWith('Verified') ? currentChannel?.yppStatus.startsWith('Suspended') ? undefined - : 'Up to +5 USD' + : 'Up to 5 USD' : `+${getTierRewards(yppBackendTierToConfig(currentChannel.yppStatus))?.videoSync} USD` } rewardTooltip={ @@ -237,7 +284,7 @@ export const YppDashboardMainTab: FC = () => { Referrals is the easiest way to ramp up rewards. Top referrers are published to the regularly updated @@ -251,149 +298,161 @@ export const YppDashboardMainTab: FC = () => { We are proud to be building a vibrant community of forward looking creators across a wide set of content categories. To stay ahead of the new opportunities to earn with Gleev and connect with the peers and support team join our Discord. Newcomers are rewarded with JOY tokens for active participation. - Learn more + Learn more } - actionNode={} + actionNode={} /> JoystreamDAO has 50 thousand followers and we are going strong towards our first million. Join the club, get exposure to our growing follower base and get a chance to receive a bonus. - Learn more + Learn more } - actionNode={} + actionNode={} /> During every event the panelists and hosts vote on selecting 3 best questions from the audience which are rewarded with JOY and other prizes. - Learn more + Learn more } - actionNode={} + actionNode={} /> - {isSilverOrAbove ? ( - - - Original content published to Gleev is rewarded at a multiple. We are gathering applicants for the - beta testing of this feature. Apply early for higher multiples. - Learn more - - } - actionNode={} - /> - - Using branded assets as a preroll for your videos published to Gleev first allow to maximise the - rewards. We are gathering early applicants for the beta test of this feature. Apply early to get - higher multiple. - Learn more - - } - actionNode={} - /> - - ) : null} + + + Original content published to Gleev is rewarded at a multiple. We are gathering applicants for the beta + testing of this feature. Apply early for higher multiples. + Learn more + + } + actionNode={ + + } + /> + + Using branded assets as a preroll for your videos published to Gleev first allow to maximise the + rewards. We are gathering early applicants for the beta test of this feature. Apply early to get higher + multiple. + Learn more + + } + actionNode={ + + } + /> + - {isSilverOrAbove ? ( - - - Drop the link of your post to{' '} - - shared NFTs channel - {' '} - on Discord to participate in rewards. - - } - rewardNode="Up to 100 USD" - rewardTooltip={ - - Promote your NFTs on social media and get rewarded by the DAO for this. Rewards assigned are based on - peer upvotes held in a dedicated Discord channel. - Learn more - - } - actionNode={ - - } - /> - - Drop the link of your post to{' '} - - shared Tokens channel{' '} - {' '} - on Discord to participate in rewards. - - } - rewardNode="Up to 100 USD" - rewardTooltip={ - - Promote your Creator Token on social media and get rewarded by the DAO for this. Rewards assigned are - based on peer upvotes held in a dedicated Discord channel. - Learn more - - } - actionNode={ - - } - /> - - Ambassador program is open for creators dedicated to Joystream and entails versatile tasks of your - choice for collaboration and promotion. - Learn more - - } - actionNode={} - /> - - ) : null} + + + Drop the link of your post to{' '} + + shared NFTs channel + {' '} + on Discord to participate in rewards. + + } + rewardTooltip={ + + Promote your NFTs on social media and get rewarded by the DAO for this. Rewards assigned are based on + peer upvotes held in a dedicated Discord channel. + Learn more + + } + actionNode={ + + } + /> + + Drop the link of your post to{' '} + + shared Tokens channel{' '} + {' '} + on Discord to participate in rewards. + + } + rewardTooltip={ + + Promote your Creator Token on social media and get rewarded by the DAO for this. Rewards assigned are + based on peer upvotes held in a dedicated Discord channel. + Learn more + + } + actionNode={ + + } + /> + + Ambassador program is open for creators dedicated to Joystream and entails versatile tasks of your + choice for collaboration and promotion. + Learn more + + } + actionNode={ + + } + /> + Have a question? Ask for help on{' '} - + Discord