new lbc icon

This commit is contained in:
Sean Yesmunt 2020-09-02 16:08:37 -04:00
parent c9d7b46372
commit 83a6589cd0
60 changed files with 502 additions and 375 deletions

View file

@ -50,7 +50,7 @@
"The LBRY URL is the exact address where people find your content (ex. lbry://myvideo).": "The LBRY URL is the exact address where people find your content (ex. lbry://myvideo).",
"Learn more": "Learn more",
"Name": "Name",
"Deposit (LBC)": "Deposit (LBC)",
"Deposit": "Deposit",
"Language": "Language",
"English": "English",
"Chinese": "Chinese",
@ -70,7 +70,7 @@
"Enter a thumbnail URL": "Enter a thumbnail URL",
"Anonymous": "Anonymous",
"New channel...": "New channel...",
"This LBC remains yours and the deposit can be undone at any time.": "This LBC remains yours and the deposit can be undone at any time.",
"These LBRY Credits remain yours and the deposit can be undone at any time.": "These LBRY Credits remain yours and the deposit can be undone at any time.",
"License (Optional)": "License (Optional)",
"None": "None",
"Public Domain": "Public Domain",
@ -82,8 +82,6 @@
"Rewards": "Rewards",
"You have": "You have",
"Claim Rewards": "Claim Rewards",
"LBC": "LBC",
"Earned From Rewards": "Earned From Rewards",
"Invite a Friend": "Invite a Friend",
"Checking your invite status": "Checking your invite status",
"View Rewards": "View Rewards",
@ -104,8 +102,7 @@
"Balance": "Balance",
"Full History": "Full History",
"Refresh": "Refresh",
"Send credits": "Send credits",
"Send LBC to your friends or favorite creators": "Send LBC to your friends or favorite creators",
"Send LBRY Credits to your friends or favorite creators": "Send LBRY Credits to your friends or favorite creators",
"Amount": "Amount",
"Recipient address": "Recipient address",
"Send": "Send",
@ -156,10 +153,8 @@
"Application cache": "Application cache",
"Clear Cache": "Clear Cache",
"Currency": "Currency",
"LBRY Credits (LBC)": "LBRY Credits (LBC)",
"US Dollars": "US Dollars",
"There's nothing available at this location.": "There's nothing available at this location.",
"Loading decentralized data...": "Loading decentralized data...",
"Confirm File Remove": "Confirm File Remove",
"Remove": "Remove",
"Less": "Less",
@ -195,7 +190,7 @@
"View": "View",
"Edit": "Edit",
"Copied": "Copied",
"The publisher has chosen to charge LBC to view this content. Your balance is currently too low to view it. Check out %reward_link% for free LBC or send more LBC to your wallet. You can also %buy_link% more LBC.": "The publisher has chosen to charge LBC to view this content. Your balance is currently too low to view it. Check out %reward_link% for free LBC or send more LBC to your wallet. You can also %buy_link% more LBC.",
"The publisher has chosen to charge %lbc% to view this content. Your balance is currently too low to view it.": " Check out %reward_link% for free %lbc% or send more %lbc% to your wallet. You can also %buy_link% more %lbc%.",
"Connecting...": "Connecting...",
"Comments": "Comments",
"Comment": "Comment",
@ -237,7 +232,7 @@
"Installation ID": "Installation ID",
"Access Token": "Access Token",
"Backup your LBRY wallet": "Backup your LBRY wallet",
"Your LBRY credits, channels, and publishes are controllable by you and only you, via wallet file(s) stored locally on your computer.": "Your LBRY credits, channels, and publishes are controllable by you and only you, via wallet file(s) stored locally on your computer.",
"Your LBRY Credits, channels, and publishes are controllable by you and only you, via wallet file(s) stored locally on your computer.": "Your LBRY Credits, channels, and publishes are controllable by you and only you, via wallet file(s) stored locally on your computer.",
"Currently, there is no automatic wallet backup. If you lose access to these files, you will lose your credits permanently, as well as control of your channels and publishes.": "Currently, there is no automatic wallet backup. If you lose access to these files, you will lose your credits permanently, as well as control of your channels and publishes.",
"However, it is fairly easy to back up manually. To backup your wallet, make a copy of the folder listed below:": "However, it is fairly easy to back up manually. To backup your wallet, make a copy of the folder listed below:",
"Access to these files is equivalent to having access to your credits, channels, and publishes. Keep any copies you make of your wallet in a secure place.": "Access to these files are equivalent to having access to your credits, channels, and publishes. Keep any copies you make of your wallet in a secure place.",
@ -271,7 +266,6 @@
"Done": "Done",
"You can't upload things quite yet": "You can't upload things quite yet",
"LBRY uses a blockchain, which is a fancy way of saying that users (you) are in control of your data.": "LBRY uses a blockchain, which is a fancy way of saying that users (you) are in control of your data.",
"Because of the blockchain, some actions require LBRY credits": "Because of the blockchain, some actions require LBRY credits",
"allows you to do some neat things, like paying your favorite creators for their content. And no company can stop you.": "allows you to do some neat things, like paying your favorite creators for their content. And no company can stop you.",
"LBRY Credits Required": "LBRY Credits Required",
"Choose a file": "Choose a file",
@ -324,7 +318,7 @@
"Take a snapshot from your video": "Take a snapshot from your video",
"Upload your thumbnail to": "Upload your thumbnail to",
"Add a price to this file": "Add a price to this file",
"All content fees are charged in LBC. For non-LBC payment methods, the number of credits charged will be adjusted based on the value of LBRY credits at the time of purchase.": "All content fees are charged in LBC. For non-LBC payment methods, the number of credits charged will be adjusted based on the value of LBRY credits at the time of purchase.",
"All content fees are charged in LBRY Credits. For alternative payment methods, the number of LBRY Credits charged will be adjusted based on the value of LBRY Credits at the time of purchase.": "All content fees are charged in LBRY Credits. For alternative payment methods, the number of LBRY Credits charged will be adjusted based on the value of LBRY Credits at the time of purchase.",
"Additional Options": "Additional Options",
"A URL is required": "A URL is required",
"A name is required": "A name is required",
@ -363,7 +357,7 @@
"Got it": "Got it",
"View your channels": "View your channels",
"Unfollow": "Unfollow",
"This LBC remains yours. It is a deposit to reserve the name and can be undone at any time.": "This LBC remains yours. It is a deposit to reserve the name and can be undone at any time.",
"These LBRY Credits remain yours. It is a deposit to reserve the name and can be undone at any time.": "These LBRY Credits remain yours. It is a deposit to reserve the name and can be undone at any time.",
"Create channel": "Create channel",
"Uh oh. The flux in our Retro Encabulator must be out of whack. Try refreshing to fix it.": "Uh oh. The flux in our Retro Encabulator must be out of whack. Try refreshing to fix it.",
"Read the App Basics FAQ": "Read the App Basics FAQ",
@ -383,7 +377,6 @@
"Confirm Tip Unlock": "Confirm Tip Unlock",
"Confirm Support Revoke": "Confirm Support Revoke",
"Are you sure you want to remove this support?": "Are you sure you want to remove this support?",
"These credits are permanently yours and can be removed at any time. Removing this support will reduce the claim's discoverability and return the LBC to your spendable balance.": "These credits are permanently yours and can be removed at any time. Removing this support will reduce the claim's discoverability and return the LBC to your spendable balance.",
"Are you sure you want to unlock these credits?": "Are you sure you want to unlock these credits?",
"These credits are permanently yours and can be unlocked at any time. Unlocking them allows you to spend them, but can hurt the performance of your content in lookups and search results. It is recommended you leave tips locked until you need or want to spend them.": "These credits are permanently yours and can be unlocked at any time. Unlocking them allows you to spend them, but can hurt the performance of your content in lookups and search results. It is recommended you leave tips locked until you need or want to spend them.",
"Mature": "Mature",
@ -391,7 +384,7 @@
"Mature content may include nudity, intense sexuality, profanity, or other adult content. By displaying mature content, you are affirming you are of legal age to view mature content in your country or jurisdiction. ": "Mature content may include nudity, intense sexuality, profanity, or other adult content. By displaying mature content, you are affirming you are of legal age to view mature content in your country or jurisdiction. ",
"Encrypt my wallet with a custom password": "Encrypt my wallet with a custom password",
"Enable claim support": "Enable claim support",
"Send LBC to your friends or favorite creators.": "Send LBC to your friends or favorite creators.",
"Send %lbc% to your friends or favorite creators.": "Send %lbc% to your friends or favorite creators.",
"Your Address": "Your Address",
"Support this claim": "Support this claim",
"content viewing preferences": "content viewing preferences",
@ -416,7 +409,6 @@
"Not Accepted": "Not Accepted",
"Unclaimable": "Unclaimable",
"Enter reward code": "Enter reward code",
"Redeem a custom reward code for LBC": "Redeem a custom reward code for LBC",
"Redeem": "Redeem",
"Code": "Code",
"Nothing here": "Nothing here",
@ -473,7 +465,7 @@
"Max Connections": "Max Connections",
"For users with good bandwidth, try a higher value to improve streaming and download speeds. Low bandwidth users may benefit from a lower setting. Default is 4.": "For users with good bandwidth, try a higher value to improve streaming and download speeds. Low bandwidth users may benefit from a lower setting. Default is 4.",
"Show All": "Show All",
"Claim ??? LBC": "Claim ??? LBC",
"Claim ???": "Claim ???",
"LBRY names cannot contain spaces or reserved symbols": "LBRY names cannot contain spaces or reserved symbols",
"Creating channel...": "Creating channel...",
"Remember Password": "Remember Password",
@ -492,14 +484,13 @@
"light": "light",
"dark": "dark",
"Live help is available most hours in the %channel% channel of our Discord chat room. Or you can always email us at help@lbry.com.": "Live help is available most hours in the %channel% channel of our Discord chat room. Or you can always email us at help@lbry.com.",
"Your LBRY credits, channels, and publishes are controllable by you and only you, via a wallet file stored locally on your computer.": "Your LBRY credits, channels, and publishes are controllable by you and only you, via a wallet file stored locally on your computer.",
"Your LBRY Credits, channels, and publishes are controllable by you and only you, via a wallet file stored locally on your computer.": "Your LBRY Credits, channels, and publishes are controllable by you and only you, via a wallet file stored locally on your computer.",
"However, it is easy to back up manually. To backup your wallet, make a copy of the folder listed below:": "However, it is easy to back up manually. To backup your wallet, make a copy of the folder listed below:",
"Access to these files are equivalent to having access to your credits, channels, and publishes. Keep any copies you make of your wallet in a secure place. For more details on backing up and best practices %helpLink%.": "Access to these files are equivalent to having access to your credits, channels, and publishes. Keep any copies you make of your wallet in a secure place. For more details on backing up and best practices %helpLink%.",
"Your channels": "Your channels",
"Add Tags": "Add Tags",
"Available Balance": "Available Balance",
"Earned and bound in tips": "Earned and bound in tips",
"LBC Currently Staked": "LBC Currently Staked",
"... in your publishes": "... in your publishes",
"... in your supports": "... in your supports",
"Add a tag": "Add a tag",
@ -586,7 +577,7 @@
"Sync balance and preferences across devices.": "Sync balance and preferences across devices.",
"By creating an account, you agree to our %terms% and confirm you're over the age of 13.": "By creating an account, you agree to our %terms% and confirm you're over the age of 13.",
"Advanced Editor": "Advanced Editor",
"If you bid more than %amount% LBC, when someone navigates to %uri%, it will load your published content. However, you can get a longer version of this URL for any bid.": "If you bid more than %amount% LBC, when someone navigates to %uri%, it will load your published content. However, you can get a longer version of this URL for any bid.",
"If you bid more than %amount% LBRY Credits, when someone navigates to %uri%, it will load your published content. However, you can get a longer version of this URL for any bid.": "If you bid more than %amount% LBRY Credits, when someone navigates to %uri%, it will load your published content. However, you can get a longer version of this URL for any bid.",
"%nameOrTitle% has been published to lbry://%name%. Click here to view it.": "%nameOrTitle% has been published to lbry://%name%. Click here to view it.",
"If you don't choose a file, the file from your existing claim %name% will be used": "If you don't choose a file, the file from your existing claim %name% will be used",
"To enable this feature, check 'Save Password' the next time you start the app.": "To enable this feature, check 'Save Password' the next time you start the app.",
@ -616,13 +607,12 @@
"Your file is now pending on LBRY. It will take a few minutes to appear for other users.": "Your file is now pending on LBRY. It will take a few minutes to appear for other users.",
"Upload will continue in the background, please do not shut down immediately. Leaving the app running helps the network, thank you!": "Upload will continue in the background, please do not shut down immediately. Leaving the app running helps the network, thank you!",
"Are you sure want to revoke this claim?": "Are you sure want to revoke this claim?",
"This will prevent others from resolving and accessing the content you published. It will return the LBC to your spendable balance, less a small transaction fee.": "This will prevent others from resolving and accessing the content you published. It will return the LBC to your spendable balance, less a small transaction fee.",
"No results for %query%": "No results for %query%",
"You haven't downloaded anything from LBRY yet": "You haven't downloaded anything from LBRY yet",
"You haven't purchased anything yet": "You haven't purchased anything yet",
"Explore new content": "Explore new content",
"Explore New Content": "Explore New Content",
"Use this address to receive LBC.": "Use this address to receive LBC.",
"Use this address to receive LBRY Credits.": "Use this address to receive LBRY Credits.",
"Embedded": "Embedded",
"Failed to load %language% translations.": "Failed to load %language% translations.",
"contact support": "contact support",
@ -708,10 +698,9 @@
"Your deposit must be higher": "Your deposit must be higher",
"%view_count% views": "%view_count% views",
"1 view": "1 view",
"Claim %amount% LBC": "Claim %amount% LBC",
"Claim %range% LBC": "Claim %range% LBC",
"Claim %amount%": "Claim %amount%",
"Claim %range%": "Claim %range%",
"Did something go wrong? Have a look in your log file, or send it to %support_link%.": "Did something go wrong? Have a look in your log file, or send it to %support_link%.",
"%amount% LBC": "%amount% LBC",
"%amount% fee": "%amount% fee",
"Thumbnail": "Thumbnail",
"This Week": "This Week",
@ -735,7 +724,6 @@
"refreshing the app": "refreshing the app",
"Follower": "Follower",
"%repost_channel_link% reposted": "%repost_channel_link% reposted",
"Abandon on blockchain (reclaim %amount% LBC)": "Abandon on blockchain (reclaim %amount% LBC)",
"This channel may have been unpublished.": "This channel may have been unpublished.",
"Custom": "Custom",
"Playing in %seconds_left% seconds": "Playing in %seconds_left% seconds",
@ -755,7 +743,7 @@
"Official YouTube Creator - Last checked %time_ago%": "Official YouTube Creator - Last checked %time_ago%",
"Install Now": "Install Now",
"Invite Link": "Invite Link",
"Earn LBC for inviting subscribers, followers, fans, friends, etc. to join and follow you on %SITE_NAME%. You can use invites just like affiliate links.": "Earn LBC for inviting subscribers, followers, fans, friends, etc. to join and follow you on %SITE_NAME%. You can use invites just like affiliate links.",
"Earn LBRY Credits for inviting subscribers, followers, fans, friends, etc. to join and follow you on %SITE_NAME%. You can use invites just like affiliate links.": "Earn LBRY Credits for inviting subscribers, followers, fans, friends, etc. to join and follow you on %SITE_NAME%. You can use invites just like affiliate links.",
"Your invite link": "Your invite link",
"Customize link": "Customize link",
"rewards": "rewards",
@ -829,7 +817,6 @@
"You arent blocking any channels": "You arent blocking any channels",
"When you block a channel, all content from that channel will be hidden.": "When you block a channel, all content from that channel will be hidden.",
"View top claims for %normalized_uri%": "View top claims for %normalized_uri%",
"Staked LBC": "Staked LBC",
"view all claims": "view all claims",
"Top claims at lbry://%name%": "Top claims at lbry://%name%",
"Last Updated": "Last Updated",
@ -844,7 +831,6 @@
"other rewards": "other rewards",
"This step is not mandatory and not required in order for you to use %SITE_NAME%.": "This step is not mandatory and not required in order for you to use %SITE_NAME%.",
"A moderator can approve you within our discord server. Please review the instructions within #rewards-approval carefully.": "A moderator can approve you within our discord server. Please review the instructions within #rewards-approval carefully.",
"Verifying is optional. If you skip this, it just means you can't earn LBC.": "Verifying is optional. If you skip this, it just means you can't earn LBC.",
"Continue Without Verifying": "Continue Without Verifying",
"Validated accounts can earn for views and are eligible for %rewards_program%. Please complete one of the steps below. %Refresh% or %Skip%.": "Validated accounts can earn for views and are eligible for %rewards_program%. Please complete one of the steps below. %Refresh% or %Skip%.",
"verify your account": "verify your account",
@ -874,7 +860,7 @@
"Kannada": "Kannada",
"Transcoding this %size%MB file should take under %processTime% %units%.": "Transcoding this %size%MB file should take under %processTime% %units%.",
"FFmpeg not configured. More in %settings_link%.": "FFmpeg not configured. More in %settings_link%.",
"LBC Details": "LBC Details",
"Credit details": "Credit details",
"Publish Amount": "Publish Amount",
"Supports and Tips": "Supports and Tips",
"Amount must be a number": "Amount must be a number",
@ -909,7 +895,7 @@
"Don't have an account? %sign_up%": "Don't have an account? %sign_up%",
"Preparing your content": "Preparing your content",
"File details": "File details",
"You can unlock all or some of this LBC at any time.": "You can unlock all or some of this LBC at any time.",
"You can unlock all or some of these LBRY Credits at any time.": "You can unlock all or some of these LBRY Credits at any time.",
"Keeping it locked improves the trust and discoverability of your content.": "Keeping it locked improves the trust and discoverability of your content.",
"It's usually only worth unlocking what you intend to use immediately. %learn_more%": "It's usually only worth unlocking what you intend to use immediately. %learn_more%",
"%amount% available to unlock": "%amount% available to unlock",
@ -941,7 +927,6 @@
"Reposts": "Reposts",
"lbry": "lbry",
"Default": "Default",
"Amount (LBC)": "Amount (LBC)",
"Successfully unlocked your tip!": "Successfully unlocked your tip!",
"Successfully abandoned your claim.": "Successfully abandoned your claim.",
"You have %count% blocked %channels%.": "You have %count% blocked %channels%.",
@ -958,7 +943,6 @@
"%all_content_views% views": "%all_content_views% views",
"+ %all_content_views_weekly_change% this week": "+ %all_content_views_weekly_change% this week",
"%lbc_received_changed% this week": "%lbc_received_changed% this week",
"Earnings may also include any LBC you've sent yourself or added as support. We are working on making this more accurate. Check your wallet page for the correct total balance.": "Earnings may also include any LBC you've sent yourself or added as support. We are working on making this more accurate. Check your wallet page for the correct total balance.",
"Your recent content": "Your recent content",
"No recent uploads found for this channel. Upload something new and track how it's performing here.": "No recent uploads found for this channel. Upload something new and track how it's performing here.",
"Most Viewed Content": "Most Viewed Content",
@ -973,7 +957,6 @@
"Sorry about that. Try refreshing or something else.": "Sorry about that. Try refreshing or something else.",
"You are not able to see this channel's stats. Make sure you are signed in with the correct email and have data sharing turned on.": "You are not able to see this channel's stats. Make sure you are signed in with the correct email and have data sharing turned on.",
"%follower_count% followers": "%follower_count% followers",
"%lbc_received% LBC Earned": "%lbc_received% LBC Earned",
"Sign Up": "Sign Up",
"Add A Password": "Add A Password",
"Hide reposts": "Hide reposts",
@ -1056,7 +1039,6 @@
"Welcome!": "Welcome!",
"We've followed your invitee for you. Check them out!": "We've followed your invitee for you. Check them out!",
"Congrats": "Congrats",
"Invite someone you know by email and earn LBC when they join lbry.tv.": "Invite someone you know by email and earn LBC when they join lbry.tv.",
"Transcoding this %size% MB file should take under %processTime% %units%.": "Transcoding this %size% MB file should take under %processTime% %units%.",
"For video content, use MP4s in H264/AAC format and a friendly bitrate (under 5 Mbps) and resolution (720p) for more reliable streaming.": "For video content, use MP4s in H264/AAC format and a friendly bitrate (under 5 Mbps) and resolution (720p) for more reliable streaming.",
"Your video may not be the best format. Use MP4s in H264/AAC format and a friendly bitrate (under 5 Mbps) and resolution (720p) for more reliable streaming.": "Your video may not be the best format. Use MP4s in H264/AAC format and a friendly bitrate (under 5 Mbps) and resolution (720p) for more reliable streaming.",
@ -1107,7 +1089,6 @@
"Country": "Country",
"Only some countries are eligible at this time. We are working to make this available to everyone.": "Only some countries are eligible at this time. We are working to make this available to everyone.",
"Select your country": "Select your country",
"LBRY, Inc. partners with Moonpay to provide the option to purchase LBC. %learn_more%.": "LBRY, Inc. partners with Moonpay to provide the option to purchase LBC. %learn_more%.",
"Try Anyway": "Try Anyway",
"Purchase Amount": "Purchase Amount",
"Your browser does not support iframes.": "Your browser does not support iframes.",
@ -1120,7 +1101,6 @@
"Once the transaction is sent, it cannot be reversed.": "Once the transaction is sent, it cannot be reversed.",
"Update Your Password": "Update Your Password",
"Your Wallet is Empty": "Your Wallet is Empty",
"Never fear though, there are tons of ways to earn LBC! You can earn or purchase LBC, or you can have your friends send you some.": "Never fear though, there are tons of ways to earn LBC! You can earn or purchase LBC, or you can have your friends send you some.",
"Buy Credits": "Buy Credits",
"Earn Rewards": "Earn Rewards",
"Rewards are currently disabled for your account. Turn on diagnostic data sharing, in %settings%, to re-enable them.": "Rewards are currently disabled for your account. Turn on diagnostic data sharing, in %settings%, to re-enable them.",
@ -1161,12 +1141,11 @@
"Thanks for the feedback. Mark has been notified and is currently walking over to his computer to work on this.": "Thanks for the feedback. Mark has been notified and is currently walking over to his computer to work on this.",
"Changelog": "Changelog",
"Supporting content requires credits": "Supporting content requires credits",
"With LBC, you can send tips to your favorite creators, or help boost their content for more people to see.": "With LBC, you can send tips to your favorite creators, or help boost their content for more people to see.",
"Boost your content": "Boost your content",
"Send Revocable Support": "Send Revocable Support",
"Send a %amount% Tip": "Send a %amount% Tip",
"Channel to show support as": "Channel to show support as",
"Buy more LBC": "Buy more LBC",
"Buy more LBRY Credits": "Buy more LBRY Credits",
"Support this content": "Support this content",
"Make this a tip": "Make this a tip",
"Custom support amount": "Custom support amount",

View file

@ -79,7 +79,7 @@ function ChannelAbout(props: Props) {
<div className="media__info-text media__info-text--constrained">{claim.claim_id}</div>
</div>
<label>{__('Staked LBC')}</label>
<label>{__('Staked LBRY Credits')}</label>
<div className="media__info-text">
<CreditAmount
badge={false}

View file

@ -4,7 +4,7 @@ import { isNameValid } from 'lbry-redux';
import { Form, FormField } from 'component/common/form';
import Button from 'component/button';
import analytics from 'analytics';
import LbcSymbol from 'component/common/lbc-symbol';
import { MINIMUM_PUBLISH_BID, INVALID_NAME_ERROR } from 'constants/claim';
type Props = {
@ -112,11 +112,13 @@ class ChannelCreate extends React.PureComponent<Props, State> {
<FormField
className="form-field--price-amount"
name="channel-deposit"
label={__('Deposit (LBC)')}
label={<LbcSymbol prefix={__('Deposit')} size={14} />}
step="any"
min="0"
type="number"
helper={__('This LBC remains yours. It is a deposit to reserve the name and can be undone at any time.')}
helper={__(
'These LBRY Credits remain yours. It is a deposit to reserve the name and can be undone at any time.'
)}
error={newChannelBidError}
value={newChannelBid}
onChange={event => this.handleNewChannelBidChange(parseFloat(event.target.value))}

View file

@ -17,6 +17,7 @@ import { Tabs, TabList, Tab, TabPanels, TabPanel } from 'component/common/tabs';
import Card from 'component/common/card';
import * as PAGES from 'constants/pages';
import analytics from 'analytics';
import LbcSymbol from 'component/common/lbc-symbol';
const MAX_TAG_SELECT = 5;
type Props = {
@ -46,6 +47,7 @@ type Props = {
{ onUpdate: string => void, assetName: string, helpText: string, currentValue: string, title: string }
) => void,
uri: string,
disabled: boolean,
};
function ChannelForm(props: Props) {
@ -236,7 +238,7 @@ function ChannelForm(props: Props) {
<Tabs>
<TabList className="tabs__list--channel-page">
<Tab>{__('General')}</Tab>
<Tab>{__('LBC Details')}</Tab>
<Tab>{__('LBRY Credit Details')}</Tab>
<Tab>{__('Tags')}</Tab>
<Tab>{__('Other')}</Tab>
</TabList>
@ -293,8 +295,7 @@ function ChannelForm(props: Props) {
type="number"
name="content_bid2"
step="any"
label={__('Deposit (LBC)')}
postfix="LBC"
label={<LbcSymbol prefix={__('Deposit')} size={14} />}
value={params.amount}
error={bidError}
min="0.0"

View file

@ -1,19 +1,20 @@
// @flow
import React from 'react';
import LbcSymbol from 'component/common/lbc-symbol';
type Props = {
uri: string,
claim: ?Claim,
};
function ClaimRepostAuthor(props: Props) {
function ClaimEffectiveAmount(props: Props) {
const { claim } = props;
if (!claim) {
return null;
}
return <span>{claim.meta.effective_amount} LBC</span>;
return <LbcSymbol prefix={claim.meta.effective_amount} />;
}
export default ClaimRepostAuthor;
export default ClaimEffectiveAmount;

View file

@ -2,6 +2,7 @@
import * as React from 'react';
import Button from 'component/button';
import I18nMessage from 'component/i18nMessage';
import LbcSymbol from 'component/common/lbc-symbol';
type Props = {
uri: string,
@ -23,10 +24,11 @@ function ClaimInsufficientCredits(props: Props) {
tokens={{
reward_link: <Button button="link" navigate="/$/rewards" label={__('Rewards')} />,
buy_link: <Button button="link" navigate="/$/buy" label={__('buy')} />,
lbc: <LbcSymbol />,
}}
>
The publisher has chosen to charge LBC to view this content. Your balance is currently too low to view it. Check
out %reward_link% for free LBC or send more LBC to your wallet. You can also %buy_link% more LBC.
The publisher has chosen to charge %lbc% to view this content. Your balance is currently too low to view it.
Check out %reward_link% for free %lbc% or send more %lbc% to your wallet. You can also %buy_link% more %lbc%.
</I18nMessage>
</div>
);

View file

@ -15,7 +15,7 @@ export default function ClaimSupportButton(props: Props) {
return (
<Button
button="alt"
icon={ICONS.SUPPORT}
icon={ICONS.LBC}
label={__('Support')}
requiresAuth={IS_WEB}
title={__('Support this claim')}

View file

@ -1,6 +1,7 @@
// @flow
import React from 'react';
import classnames from 'classnames';
import LbcSymbol from 'component/common/lbc-symbol';
import { formatCredits, formatFullPrice } from 'lbry-redux';
type Props = {
@ -12,7 +13,6 @@ type Props = {
isEstimate?: boolean,
showLBC?: boolean,
fee?: boolean,
badge?: boolean,
className?: string,
};
@ -23,22 +23,10 @@ class CreditAmount extends React.PureComponent<Props> {
showFullPrice: false,
showPlus: false,
showLBC: true,
badge: true,
};
render() {
const {
amount,
precision,
showFullPrice,
showFree,
showPlus,
isEstimate,
fee,
showLBC,
badge,
className,
} = this.props;
const { amount, precision, showFullPrice, showFree, showPlus, isEstimate, fee, showLBC, className } = this.props;
const minimumRenderableAmount = 10 ** (-1 * precision);
const fullPrice = formatFullPrice(amount, 2);
@ -65,7 +53,7 @@ class CreditAmount extends React.PureComponent<Props> {
}
if (showLBC) {
amountText = __('%amount% LBC', { amount: amountText });
amountText = <LbcSymbol prefix={amountText} />;
}
if (fee) {
@ -74,14 +62,7 @@ class CreditAmount extends React.PureComponent<Props> {
}
return (
<span
title={fullPrice}
className={classnames(className, {
badge,
'badge--cost': badge && amount > 0,
'badge--free': badge && isFree,
})}
>
<span title={fullPrice} className={classnames(className, {})}>
<span className="credit-amount">{amountText}</span>
{isEstimate ? (

View file

@ -70,7 +70,7 @@ export class FormFieldPrice extends React.PureComponent<Props> {
onChange={this.handleCurrencyChange}
value={price.currency}
>
<option value="LBC">{__('LBRY Credits (LBC)')}</option>
<option value="LBC">{__('LBRY Credits')}</option>
<option value="USD">{__('US Dollars')}</option>
</FormField>
</fieldset-group>

View file

@ -41,6 +41,89 @@ export const icons = {
<path d="M294.3,150.9l2-12.6l-12.2-2.1l0.8-4.9l17.1,2.9l-2.8,17.5L294.3,150.9L294.3,150.9z" />
</svg>
),
[ICONS.LBC]: buildIcon(
<>
<path
d="M17.2106 4.45688L17.1881 4.44L15.9131 3.3825L11.8331 0L1.43811 8.89875V14.5087L6.39749 19.0406L11.8219 24L22.5619 14.9044V8.895L17.2106 4.45688Z"
fill="black"
/>
<path
d="M14.6269 4.47001L11.8519 2.16751L3.0975 9.66188V13.7775L3.36938 14.0269L9.19125 9.06376L14.6269 4.47001Z"
// fill="url(#paint0_linear)"
fill="white"
/>
<path
d="M13.3444 13.1381L9.19126 9.06375L3.36938 14.0269L7.67063 17.9587L13.3444 13.1381Z"
// fill="url(#paint1_linear)"
fill="white"
/>
<path
d="M20.61 9.43125L15.9244 5.54437L11.6512 9.15562L15.8025 13.2262L20.6062 9.43312L20.61 9.43125Z"
// fill="url(#paint2_linear)"
fill="white"
/>
<path
d="M20.6062 9.43315L15.8025 13.2263L8.90436 19.0875L11.8631 21.7913L20.9025 14.1375V9.67502L20.61 9.43127L20.6062 9.43315Z"
// fill="url(#paint3_linear)"
fill="white"
/>
<defs>
<linearGradient
id="paint0_linear"
x1="3.0975"
y1="8.09813"
x2="14.6269"
y2="8.09813"
gradientUnits="userSpaceOnUse"
>
<stop offset="0.42" stopColor="#FABD09" />
<stop offset="0.83" stopColor="#FA6B00" />
</linearGradient>
<linearGradient
id="paint1_linear"
x1="3.09751"
y1="13.5112"
x2="14.6269"
y2="13.5112"
gradientUnits="userSpaceOnUse"
>
<stop offset="0.25" stopColor="#E700FF" />
<stop offset="0.32" stopColor="#E804F9" />
<stop offset="0.41" stopColor="#E90EE8" />
<stop offset="0.52" stopColor="#EC1FCC" />
<stop offset="0.64" stopColor="#F037A5" />
<stop offset="0.76" stopColor="#F45672" />
<stop offset="0.89" stopColor="#FA7A36" />
<stop offset="1" stopColor="#FF9B00" />
</linearGradient>
<linearGradient
id="paint2_linear"
x1="8.90437"
y1="9.38625"
x2="20.9025"
y2="9.38625"
gradientUnits="userSpaceOnUse"
>
<stop stopColor="#BAFF8E" />
<stop offset="0.63" stopColor="#008EBB" />
</linearGradient>
<linearGradient
id="paint3_linear"
x1="1220.59"
y1="418.3"
x2="608.328"
y2="1952.52"
gradientUnits="userSpaceOnUse"
>
<stop stopColor="#BAFF8E" />
<stop offset="0.63" stopColor="#008EBB" />
</linearGradient>
</defs>
</>,
{
'stroke-width': 0,
}
),
[ICONS.REWARDS]: buildIcon(
<g fill="none" fillRule="evenodd" strokeLinecap="round">
<circle cx="12" cy="8" r="7" />

View file

@ -1,6 +1,28 @@
// @flow
import * as ICONS from 'constants/icons';
import React from 'react';
import classnames from 'classnames';
import Icon from 'component/common/icon';
const LbcSymbol = () => <span>LBC</span>; //
type Props = {
withText?: boolean,
isTitle?: boolean,
size?: number,
prefix?: string | number,
};
const LbcSymbol = (props: Props) => {
const { prefix, size, isTitle = false } = props;
return (
<>
{prefix}
<Icon
icon={ICONS.LBC}
size={isTitle ? 22 : size}
className={classnames('icon__lbc', { 'icon__lbc--with-text': prefix, 'icon__lbc--title': isTitle })}
/>
</>
);
};
export default LbcSymbol;

View file

@ -88,17 +88,19 @@ export default function CreatorAnalytics(props: Props) {
? __('No recent uploads')
: __("You haven't uploaded anything with this channel yet!")
}
subtitle={
<Button
button="primary"
label={__('Upload Something')}
onClick={() => {
if (claim) {
prepareEdit(claim.name);
history.push(`/$/${PAGES.UPLOAD}`);
}
}}
/>
actions={
<div className="section__actions">
<Button
button="primary"
label={__('Upload Something')}
onClick={() => {
if (claim) {
prepareEdit(claim.name);
history.push(`/$/${PAGES.UPLOAD}`);
}
}}
/>
</div>
}
/>
)}
@ -145,7 +147,7 @@ export default function CreatorAnalytics(props: Props) {
{/* <Card
iconColor
className="section"
title={<span>{__('%lbc_received% LBC Earned', { lbc_received: stats.AllLBCReceived })}</span>}
title={<span>{__('%lbc_received% LBRY Credits Earned', { lbc_received: stats.AllLBCReceived })}</span>}
icon={ICONS.REWARDS}
subtitle={
<React.Fragment>

View file

@ -65,7 +65,6 @@ class FilePrice extends React.PureComponent<Props> {
'file-price--modal': type === 'modal',
})}
showFree
badge={false}
showLBC={showLBC}
amount={costInfo.cost}
isEstimate={!costInfo.includesData}

View file

@ -25,7 +25,6 @@ function FileSubtitle(props: Props) {
{!SIMPLE_SITE && (
<>
<CreditAmount
badge={false}
amount={parseFloat(claim.amount) + parseFloat(pendingAmount || claim.meta.support_amount)}
precision={2}
/>

View file

@ -34,7 +34,7 @@ class FileValues extends PureComponent<Props> {
return (
<Fragment>
<Card
title={__('LBC details')}
title={__('Credit details')}
defaultExpand={false}
actions={
<table className="table table--condensed table--fixed table--lbc-details">
@ -46,7 +46,7 @@ class FileValues extends PureComponent<Props> {
<Button
button="link"
href={`https://explorer.lbry.com/tx/${purchaseReceipt.txid}`}
label={<CreditAmount badge={false} amount={Number(purchaseReceipt.amount)} precision={2} />}
label={<CreditAmount amount={Number(purchaseReceipt.amount)} precision={2} />}
/>
</td>
</tr>
@ -54,11 +54,7 @@ class FileValues extends PureComponent<Props> {
<tr>
<td> {__('Original Publish Amount')}</td>
<td>
{claim && claim.amount ? (
<CreditAmount badge={false} amount={Number(claim.amount)} precision={2} />
) : (
<p>...</p>
)}
{claim && claim.amount ? <CreditAmount amount={Number(claim.amount)} precision={2} /> : <p>...</p>}
</td>
</tr>
<tr>
@ -73,7 +69,7 @@ class FileValues extends PureComponent<Props> {
button="link"
className="expandable__button"
icon={ICONS.UNLOCK}
label={<CreditAmount badge={false} amount={Number(supportsAmount)} precision={2} />}
label={<CreditAmount amount={Number(supportsAmount)} precision={2} />}
onClick={() => {
openModal(MODALS.LIQUIDATE_SUPPORTS, { uri });
}}
@ -81,7 +77,7 @@ class FileValues extends PureComponent<Props> {
</>
)}
{(!claimIsMine || (claimIsMine && !pendingAmount && supportsAmount === 0)) && (
<CreditAmount badge={false} amount={Number(supportsAmount)} precision={2} />
<CreditAmount amount={Number(supportsAmount)} precision={2} />
)}
{claimIsMine && pendingAmount && <Spinner type={'small'} />}
@ -95,7 +91,7 @@ class FileValues extends PureComponent<Props> {
</div>
</td>
<td>
<CreditAmount badge={false} amount={Number(claim.meta.effective_amount)} precision={2} />
<CreditAmount amount={Number(claim.meta.effective_amount)} precision={2} />
</td>
</tr>
<tr>

View file

@ -6,7 +6,6 @@ import React from 'react';
import { withRouter } from 'react-router';
import classnames from 'classnames';
import Button from 'component/button';
import LbcSymbol from 'component/common/lbc-symbol';
import WunderBar from 'component/wunderbar';
import Icon from 'component/common/icon';
import { Menu, MenuList, MenuButton, MenuItem } from '@reach/menu-button';
@ -152,13 +151,7 @@ const Header = (props: Props) => {
}
function getWalletTitle() {
return hideBalance || Number(roundedBalance) === 0 ? (
__('Your Wallet')
) : (
<React.Fragment>
{roundedBalance} <LbcSymbol />
</React.Fragment>
);
return hideBalance || Number(roundedBalance) === 0 ? __('Your Wallet') : roundedBalance;
}
return (
@ -190,6 +183,7 @@ const Header = (props: Props) => {
navigate={`/$/${PAGES.WALLET}`}
className="header__navigation-item menu__title header__navigation-item--balance"
label={getWalletTitle()}
iconRight={ICONS.LBC}
// @if TARGET='app'
onDoubleClick={e => {
e.stopPropagation();
@ -369,6 +363,7 @@ const Header = (props: Props) => {
navigate={`/$/${PAGES.WALLET}`}
className="header__navigation-item menu__title header__navigation-item--balance"
label={getWalletTitle()}
iconRight={ICONS.LBC}
// @if TARGET='app'
onDoubleClick={e => {
e.stopPropagation();

View file

@ -46,7 +46,7 @@ class InviteList extends React.PureComponent<Props> {
{referralReward && showClaimable && (
<RewardLink
button
label={__(`Claim Your ${rewardAmount} LBC Invite Reward`)}
label={__(`Claim Your ${rewardAmount} Credit Invite Reward`)}
claim_code={referralReward.claim_code}
/>
)}

View file

@ -75,7 +75,7 @@ function InviteNew(props: Props) {
<Card
title={__('Invites')}
subtitle={__(
'Earn LBC for inviting subscribers, followers, fans, friends, etc. to join and follow you on %SITE_NAME%. You can use invites just like affiliate links.',
'Earn LBRY Credits for inviting subscribers, followers, fans, friends, etc. to join and follow you on %SITE_NAME%. You can use invites just like affiliate links.',
{ SITE_NAME }
)}
actions={
@ -107,7 +107,9 @@ function InviteNew(props: Props) {
<Card
title={__('Invite by email')}
subtitle={__('Invite someone you know by email and earn LBC when they join %SITE_NAME%.', { SITE_NAME })}
subtitle={__('Invite someone you know by email and earn LBRY Credits when they join %SITE_NAME%.', {
SITE_NAME,
})}
actions={
<React.Fragment>
<Form onSubmit={handleSubmit}>

View file

@ -21,7 +21,7 @@ function BidHelpText(props: Props) {
);
} else {
bidHelpText = __(
'If you bid more than %amount% LBC, when someone navigates to %uri%, it will load your published content. However, you can get a longer version of this URL for any bid.',
'If you bid more than %amount% LBRY Credits, when someone navigates to %uri%, it will load your published content. However, you can get a longer version of this URL for any bid.',
{
amount: amountNeededForTakeover,
uri: uri,
@ -29,7 +29,7 @@ function BidHelpText(props: Props) {
);
}
} else {
bidHelpText = __('This LBC remains yours and the deposit can be undone at any time.');
bidHelpText = __('These LBRY Credits remain yours and the deposit can be undone at any time.');
}
return bidHelpText;

View file

@ -6,6 +6,7 @@ import { FormField } from 'component/common/form';
import NameHelpText from './name-help-text';
import BidHelpText from './bid-help-text';
import Card from 'component/common/card';
import LbcSymbol from 'component/common/lbc-symbol';
type Props = {
name: string,
@ -89,7 +90,7 @@ function PublishName(props: Props) {
} else if (totalAvailableBidAmount < bid) {
bidError = __('Deposit cannot be higher than your balance');
} else if (totalAvailableBidAmount <= bid + 0.05) {
bidError = __('Please decrease your deposit to account for transaction fees or acquire more LBC.');
bidError = __('Please decrease your deposit to account for transaction fees or acquire more LBRY Credits.');
}
setBidError(bidError);
@ -131,8 +132,7 @@ function PublishName(props: Props) {
step="any"
placeholder="0.123"
className="form-field--price-amount"
label={__('Deposit (LBC)')}
postfix="LBC"
label={<LbcSymbol prefix={__('Deposit')} size={14} />}
value={bid}
error={bidError}
disabled={!name}

View file

@ -45,7 +45,7 @@ function PublishPrice(props: Props) {
{fee && fee.currency !== 'LBC' && (
<p className="form-field__help">
{__(
'All content fees are charged in LBC. For non-LBC payment methods, the number of credits charged will be adjusted based on the value of LBRY credits at the time of purchase.'
'All content fees are charged in LBRY Credits. For alternative payment methods, the number of LBRY Credits charged will be adjusted based on the value of LBRY Credits at the time of purchase.'
)}
</p>
)}

View file

@ -1,4 +1,5 @@
// @flow
import * as ICONS from 'constants/icons';
import React from 'react';
import Button from 'component/button';
@ -23,11 +24,11 @@ const RewardLink = (props: Props) => {
} else if (label) {
displayLabel = label;
} else if (reward && reward.reward_range && reward.reward_range.includes('-')) {
displayLabel = __('Claim %range% LBC', { range: reward.reward_range });
displayLabel = __('Claim %range%', { range: reward.reward_range });
} else if (reward && reward.reward_amount > 0) {
displayLabel = __('Claim %amount% LBC', { amount: reward.reward_amount });
displayLabel = __('Claim %amount%', { amount: reward.reward_amount });
} else {
displayLabel = __('Claim ??? LBC');
displayLabel = __('Claim ???');
}
return !reward ? null : (
@ -35,6 +36,7 @@ const RewardLink = (props: Props) => {
button={button ? 'primary' : 'link'}
disabled={isPending}
label={displayLabel}
iconRight={ICONS.LBC}
onClick={() => {
claimReward(reward);
}}

View file

@ -2,6 +2,7 @@
import React from 'react';
import ButtonTransaction from 'component/common/transaction-link';
import moment from 'moment';
import LbcSymbol from 'component/common/lbc-symbol';
type Reward = {
id: string,
@ -42,7 +43,9 @@ const RewardListClaimed = (props: Props) => {
<thead>
<tr>
<th>{__('Title')}</th>
<th>{__('Amount')}</th>
<th>
<LbcSymbol size={20} />
</th>
<th>{__('Transaction')}</th>
<th>{__('Date')}</th>
</tr>

View file

@ -2,6 +2,8 @@
import React from 'react';
import TotalBackground from './total-background.png';
import useTween from 'effects/use-tween';
import I18nMessage from 'component/i18nMessage';
import LbcSymbol from 'component/common/lbc-symbol';
type Props = {
rewards: Array<Reward>,
@ -16,7 +18,7 @@ function RewardTotal(props: Props) {
return (
<section className="card card--section card--reward-total" style={{ backgroundImage: `url(${TotalBackground})` }}>
{integer} LBC {__('Earned From Rewards')}
<I18nMessage tokens={{ amount: integer, lbc: <LbcSymbol /> }}>%amount% %lbc% earned from rewards</I18nMessage>
</section>
);
}

View file

@ -93,7 +93,7 @@ const SupportsLiquidate = (props: Props) => {
subtitle={
<>
<p>
{__('You can unlock all or some of this LBC at any time.')}{' '}
{__('You can unlock all or some of these LBRY Credits at any time.')}{' '}
{__('Keeping it locked improves the trust and discoverability of your content.')}
</p>
<p>
@ -107,60 +107,58 @@ const SupportsLiquidate = (props: Props) => {
</p>
</>
}
body={
abandonClaimError ? (
<div className="error__wrapper--no-overflow">
<ErrorText>{abandonClaimError}</ErrorText>
</div>
) : (
<>
<div className="section">
<I18nMessage
tokens={{
amount: (
<strong>
<CreditAmount badge={false} amount={Number(previewBalance)} precision={8} />
</strong>
),
}}
>
%amount% available to unlock
</I18nMessage>
</div>
<div className="section">
{previewBalance === 0 && <p>{__('No unlockable tips available')}</p>}
{previewBalance === undefined && <p>{__('Loading...')}</p>}
{previewBalance && (
<Form onSubmit={handleSubmit}>
<label htmlFor="supports_liquidate_range">{__('Amount to unlock')}</label>
<FormField
name="supports_liquidate_range"
type={'range'}
min={0}
step={0.01}
max={previewBalance}
value={Number(amount) >= 0 ? amount : previewBalance / 4} // by default, set it to 25% of available
onChange={e => handleChange(e.target.value)}
/>
<label className="range__label">
<span>0</span>
<span>{previewBalance / 2}</span>
<span>{previewBalance}</span>
</label>
<FormField
type="text"
value={amount >= 0 ? amount || '' : previewBalance && previewBalance / 4}
helper={message}
onChange={e => handleChange(e.target.value)}
/>
</Form>
)}
</div>
</>
)
}
actions={
<React.Fragment>
{abandonClaimError ? (
<div className="error__wrapper--no-overflow">
<ErrorText>{abandonClaimError}</ErrorText>
</div>
) : (
<>
<div className="section">
<I18nMessage
tokens={{
amount: (
<strong>
<CreditAmount amount={Number(previewBalance)} precision={8} />
</strong>
),
}}
>
%amount% available to unlock
</I18nMessage>
</div>
<div className="section">
{previewBalance === 0 && <p>{__('No unlockable tips available')}</p>}
{previewBalance === undefined && <p>{__('Loading...')}</p>}
{previewBalance && (
<Form onSubmit={handleSubmit}>
<label htmlFor="supports_liquidate_range">{__('Amount to unlock')}</label>
<FormField
name="supports_liquidate_range"
type={'range'}
min={0}
step={0.01}
max={previewBalance}
value={Number(amount) >= 0 ? amount : previewBalance / 4} // by default, set it to 25% of available
onChange={e => handleChange(e.target.value)}
/>
<label className="range__label">
<span>0</span>
<span>{previewBalance / 2}</span>
<span>{previewBalance}</span>
</label>
<FormField
type="text"
value={amount >= 0 ? amount || '' : previewBalance && previewBalance / 4}
helper={message}
onChange={e => handleChange(e.target.value)}
/>
</Form>
)}
</div>
</>
)}
<div className="section__actions">
<Button
disabled={error}

View file

@ -136,7 +136,6 @@ class TxoListItem extends React.PureComponent<Props, State> {
</td>
<td className="table__item--align-right">
<CreditAmount
badge={false}
showPlus={isMinus}
amount={isMinus ? Number(0 - amount) : Number(amount)}
precision={8}

View file

@ -3,6 +3,7 @@ import * as MODALS from 'constants/modal_types';
import React from 'react';
import TxoListItem from './internal/txo-list-item';
import Spinner from 'component/spinner';
import LbcSymbol from 'component/common/lbc-symbol';
type Props = {
emptyMessage: ?string,
@ -36,7 +37,9 @@ function TransactionListTable(props: Props) {
<th>{<>{__('Type')}</>}</th>
<th>{__('Details')} </th>
<th>{__('Transaction')}</th>
<th className="table__item--align-right">{__('Amount (LBC)')}</th>
<th className="table__item--align-right">
<LbcSymbol size={18} />
</th>
</tr>
</thead>
<tbody>

View file

@ -7,6 +7,7 @@ import CardVerify from 'component/cardVerify';
import { Lbryio } from 'lbryinc';
import Card from 'component/common/card';
import I18nMessage from 'component/i18nMessage';
import LbcSymbol from 'component/common/lbc-symbol';
type Props = {
errorMessage: ?string,
@ -38,7 +39,16 @@ class UserVerify extends React.PureComponent<Props> {
return (
<div className="main__auth-content">
<section className="section__header">
<h1 className="section__title--large">{__('Verify to earn LBC')}</h1>
<h1 className="section__title--large">
{__('')}
<I18nMessage
tokens={{
lbc: <LbcSymbol size={48} />,
}}
>
Verify to earn %lbc%
</I18nMessage>
</h1>
<p>
<I18nMessage
tokens={{
@ -50,8 +60,8 @@ class UserVerify extends React.PureComponent<Props> {
SITE_NAME,
}}
>
Verified accounts are eligible to earn LBC for views, watching and reposting content, sharing invite links
etc. Verifying also helps us keep the %SITE_NAME% community safe too! %Refresh% or %Skip%.
Verified accounts are eligible to earn LBRY Credits for views, watching and reposting content, sharing
invite links etc. Verifying also helps us keep the %SITE_NAME% community safe too! %Refresh% or %Skip%.
</I18nMessage>
</p>
<p className="help">
@ -138,7 +148,7 @@ class UserVerify extends React.PureComponent<Props> {
<Card
icon={ICONS.REMOVE}
title={__('Skip')}
subtitle={__("Verifying is optional. If you skip this, it just means you can't earn LBC.")}
subtitle={__("Verifying is optional. If you skip this, it just means you can't earn LBRY Credits.")}
actions={
<Fragment>
<Button {...skipButtonProps} button="primary" label={__('Continue Without Verifying')} />

View file

@ -4,6 +4,7 @@ import Button from 'component/button';
import CopyableText from 'component/copyableText';
import QRCode from 'component/common/qr-code';
import Card from 'component/common/card';
import LbcSymbol from 'component/common/lbc-symbol';
type Props = {
checkAddressIsMine: string => void,
@ -48,8 +49,8 @@ class WalletAddress extends React.PureComponent<Props, State> {
return (
<Card
title={__('Receive Credits')}
subtitle={__('Use this address to receive LBC.')}
title={<LbcSymbol prefix={__('Receive')} isTitle />}
subtitle={__('Use this address to receive LBRY Credits.')}
actions={
<React.Fragment>
<CopyableText

View file

@ -97,7 +97,7 @@ class WalletBackup extends React.PureComponent<Props, State> {
<ul>
<li>
{__(
'Your LBRY credits, channels, and publishes are controllable by you and only you, via wallet file(s) stored locally on your computer.'
'Your LBRY Credits, channels, and publishes are controllable by you and only you, via wallet file(s) stored locally on your computer.'
)}
</li>
<li>

View file

@ -8,6 +8,7 @@ import Button from 'component/button';
import Icon from 'component/common/icon';
import HelpLink from 'component/common/help-link';
import Card from 'component/common/card';
import LbcSymbol from 'component/common/lbc-symbol';
type Props = {
balance: number,
@ -26,14 +27,7 @@ const WalletBalance = (props: Props) => {
<React.Fragment>
<section className="columns">
<Card
title={
<span>
{(balance || balance === 0) && (
<CreditAmount badge={false} amount={balance} precision={8} showLBC={false} />
)}{' '}
<span className="section__title--small">LBC</span>
</span>
}
title={<LbcSymbol prefix={balance} isTitle />}
subtitle={__('Available Balance')}
actions={
<div className="section__actions">
@ -86,7 +80,7 @@ const WalletBalance = (props: Props) => {
<Icon sectionIcon icon={ICONS.SUPPORT} />
<h2 className="section__title--small">
<strong>
<CreditAmount badge={false} amount={tipsBalance} precision={8} />
<CreditAmount amount={tipsBalance} precision={8} />
</strong>{' '}
{__('earned and bound in tips')}
</h2>
@ -99,7 +93,7 @@ const WalletBalance = (props: Props) => {
<div>
<h2 className="section__title--small">
<strong>
<CreditAmount badge={false} amount={claimsBalance + supportsBalance} precision={8} />
<CreditAmount amount={claimsBalance + supportsBalance} precision={8} />
</strong>{' '}
{__('currently staked')}
</h2>
@ -107,12 +101,12 @@ const WalletBalance = (props: Props) => {
<dl>
<dt>{__('... in your publishes')}</dt>
<dd>
<CreditAmount badge={false} amount={claimsBalance} precision={8} />
<CreditAmount amount={claimsBalance} precision={8} />
</dd>
<dt>{__('... in your supports')}</dt>
<dd>
<CreditAmount badge={false} amount={supportsBalance} precision={8} />
<CreditAmount amount={supportsBalance} precision={8} />
</dd>
</dl>
</div>

View file

@ -6,6 +6,8 @@ import { Form, FormField } from 'component/common/form';
import { Formik } from 'formik';
import { validateSendTx } from 'util/form-validation';
import Card from 'component/common/card';
import I18nMessage from 'component/i18nMessage';
import LbcSymbol from 'component/common/lbc-symbol';
type DraftTransaction = {
address: string,
@ -38,8 +40,12 @@ class WalletSend extends React.PureComponent<Props> {
return (
<Card
title={__('Send credits')}
subtitle={__('Send LBC to your friends or favorite creators.')}
title={<LbcSymbol prefix={__('Send')} isTitle />}
subtitle={
<I18nMessage tokens={{ lbc: <LbcSymbol /> }}>
Send LBRY Credits to your friends or favorite creators.
</I18nMessage>
}
actions={
<Formik
initialValues={{
@ -52,10 +58,10 @@ class WalletSend extends React.PureComponent<Props> {
<Form onSubmit={handleSubmit}>
<fieldset-group class="fieldset-group--smushed">
<FormField
autoFocus
type="number"
name="amount"
label={__('Amount')}
postfix={__('LBC')}
className="form-field--price-amount"
affixClass="form-field--fix-no-height"
min="0"

View file

@ -11,6 +11,7 @@ import { Lbryio } from 'lbryinc';
import Card from 'component/common/card';
import classnames from 'classnames';
import SelectChannel from 'component/selectChannel';
import LbcSymbol from 'component/common/lbc-symbol';
import { parseURI } from 'lbry-redux';
import usePersistedState from 'effects/use-persisted-state';
@ -152,10 +153,13 @@ function WalletSendTip(props: Props) {
<Form onSubmit={handleSubmit}>
{noBalance ? (
<Card
title={__('Supporting content requires credits')}
subtitle={__(
'With LBC, you can send tips to your favorite creators, or help boost their content for more people to see.'
)}
title={<I18nMessage tokens={{ lbc: <LbcSymbol size={22} /> }}>Supporting content requires %lbc%</I18nMessage>}
subtitle={
<I18nMessage tokens={{ lbc: <LbcSymbol /> }}>
With %lbc%, you can send tips to your favorite creators, or help boost their content for more people to
see.
</I18nMessage>
}
actions={
<div className="section__actions">
<Button
@ -192,7 +196,9 @@ function WalletSendTip(props: Props) {
<div className="confirm__label">{__('From')}</div>
<div className="confirm__value">{selectedChannel}</div>
<div className="confirm__label">{__(isSupport ? 'Supporting' : 'Tipping')}</div>
<div className="confirm__value">{tipAmount} LBC</div>
<div className="confirm__value">
<LbcSymbol prefix={tipAmount} size={22} />
</div>
</div>
</div>
<div className="section__actions">
@ -226,7 +232,8 @@ function WalletSendTip(props: Props) {
'button-toggle--active': tipAmount === amount,
'button-toggle--disabled': amount > balance,
})}
label={`${amount} LBC`}
label={amount}
iconRight={ICONS.LBC}
onClick={() => {
setPresetTipAmount(amount);
setUseCustomTip(false);
@ -246,7 +253,7 @@ function WalletSendTip(props: Props) {
button="secondary"
className="button-toggle-group-action"
icon={ICONS.BUY}
title={__('Buy more LBC')}
title={__('Buy more LBRY Credits')}
navigate={`/$/${PAGES.BUY}`}
/>
)}
@ -260,9 +267,7 @@ function WalletSendTip(props: Props) {
label={
<React.Fragment>
{__('Custom support amount')}{' '}
<I18nMessage
tokens={{ lbc_balance: <CreditAmount badge={false} precision={4} amount={balance} /> }}
>
<I18nMessage tokens={{ lbc_balance: <CreditAmount precision={4} amount={balance} /> }}>
(%lbc_balance% available)
</I18nMessage>
</React.Fragment>
@ -289,7 +294,7 @@ function WalletSendTip(props: Props) {
label={
isSupport
? __('Send Revocable Support')
: __('Send a %amount% Tip', { amount: tipAmount ? `${tipAmount} LBC` : '' })
: __('Send a %amount% Tip', { amount: tipAmount ? `${tipAmount} Credit` : '' })
}
/>
{fetchingChannels && <span className="help">{__('Loading your channels...')}</span>}

View file

@ -1,4 +1,5 @@
// @flow
import type { Node } from 'react';
import * as React from 'react';
import classnames from 'classnames';
import { YRBL_HAPPY_IMG_URL, YRBL_SAD_IMG_URL } from 'config';
@ -8,6 +9,7 @@ type Props = {
subtitle?: string | React.Node,
type: string,
className?: string,
actions?: Node,
};
const yrblTypes = {
@ -21,19 +23,22 @@ export default class extends React.PureComponent<Props> {
};
render() {
const { title, subtitle, type, className } = this.props;
const { title, subtitle, type, className, actions } = this.props;
const image = yrblTypes[type];
return (
<div className="yrbl__wrap">
<img alt="Friendly gerbil" className={classnames('yrbl', className)} src={`${image}`} />
{title && subtitle && (
<div className="yrbl__content">
<h2 className="section__title">{title}</h2>
<p className="section__subtitle">{subtitle}</p>
</div>
)}
<div>
{title && subtitle && (
<div className="yrbl__content">
<h2 className="section__title">{title}</h2>
<p className="section__subtitle">{subtitle}</p>
</div>
)}
{actions}
</div>
</div>
);
}

View file

@ -6,6 +6,8 @@ import * as PAGES from 'constants/pages';
import React from 'react';
import Button from 'component/button';
import Yrbl from 'component/yrbl';
import I18nMessage from 'component/i18nMessage';
import LbcSymbol from 'component/common/lbc-symbol';
type Props = {
includeWalletLink: boolean,
@ -23,29 +25,31 @@ export default function YrblHelp(props: Props) {
title={__('Your wallet is empty')}
subtitle={
<div>
<p>{__('You need LBC to create a channel and upload content.')}</p>
<p>
{__(
'Never fear though, there are tons of ways to earn LBC! You can earn or purchase LBC, or you can have your friends send you some.'
)}
<I18nMessage tokens={{ lbc: <LbcSymbol /> }}>
You need %lbc% to create a channel and upload content.
</I18nMessage>
</p>
<div className="section__actions">
<p>
<I18nMessage tokens={{ lbc: <LbcSymbol /> }}>
Never fear though, there are tons of ways to earn %lbc%! You can earn or purchase %lbc%, or you can have
your friends send you some.
</I18nMessage>
</p>
</div>
}
actions={
<div className="section__actions">
<Button button="primary" icon={ICONS.REWARDS} label={__('Earn Rewards')} navigate={`/$/${PAGES.REWARDS}`} />
<Button button="secondary" icon={ICONS.BUY} label={'Buy Credits'} navigate={`/$/${PAGES.BUY}`} />
{includeWalletLink && (
<Button
button="primary"
icon={ICONS.REWARDS}
label={__('Earn Rewards')}
navigate={`/$/${PAGES.REWARDS}`}
icon={ICONS.RECEIVE}
button="secondary"
label={__('Your Address')}
onClick={() => doOpenModal(MODALS.WALLET_RECEIVE)}
/>
<Button button="secondary" icon={ICONS.BUY} label={__('Buy Credits')} navigate={`/$/${PAGES.BUY}`} />
{includeWalletLink && (
<Button
icon={ICONS.RECEIVE}
button="secondary"
label={__('Your Address')}
onClick={() => doOpenModal(MODALS.WALLET_RECEIVE)}
/>
)}
</div>
)}
</div>
}
/>

View file

@ -61,6 +61,7 @@ export const MENU = 'Menu';
export const BACKUP = 'Database';
export const TRANSACTIONS = 'FileText';
export const LBRY = 'Lbry';
export const LBC = 'LBC';
export const DISCOVER = 'Compass';
export const VISUALIZER_ON = 'Eye';
export const VISUALIZER_OFF = 'EyeOff';

View file

@ -1,5 +1,3 @@
import isDev from 'electron-is-dev';
export default function doLogWarningConsoleMessage() {
const style = {
redTitle:
@ -16,17 +14,17 @@ export default function doLogWarningConsoleMessage() {
);
console.log(
'%cPasting anything in here could give attackers access to your LBC credits or wallet.',
'%cPasting anything in here could give attackers access to your LBRY Credits or wallet.',
style.normalText
);
console.log(
"%cIf you don't understand exactly what you are doing here, please close this window and keep your LBC credits/wallet safe.",
"%cIf you don't understand exactly what you are doing here, please close this window and keep your LBRY Credits/wallet safe.",
style.redText
);
console.log(
'%cIf you do understand exactly what you are doing, joins us, earn LBC, and make LBRY better! All of LBRY is open-source and we have a sweet secret handshake. Get started at https://lbry.tech/contribute',
'%cIf you do understand exactly what you are doing, joins us, earn LBRY Credits, and make LBRY better! All of LBRY is open-source and we have a sweet secret handshake. Get started at https://lbry.tech/contribute',
style.normalText
);
}

View file

@ -4,6 +4,7 @@ import Button from 'component/button';
import { Form } from 'component/common/form';
import { Modal } from 'modal/modal';
import Card from 'component/common/card';
import LbcSymbol from 'component/common/lbc-symbol';
type Props = {
address: string,
@ -28,16 +29,14 @@ class ModalConfirmTransaction extends React.PureComponent<Props> {
<Card
title={title}
body={
<>
<div className="section section--padded card--inline confirm__wrapper">
<div className="section">
<label>{__('Sending: ')}</label>
<blockquote>{amount} LBC</blockquote>
<div className="confirm__label">{__('Sending')}</div>
<div className="confirm__value">{<LbcSymbol prefix={amount} size={22} />}</div>
<div className="confirm__label">{__('To')}</div>
<div className="confirm__value">{address}</div>
</div>
<div className="section">
<p>{__('To address: ')}</p>
<blockquote>{address}</blockquote>
</div>
</>
</div>
}
actions={
<>

View file

@ -6,6 +6,7 @@ import Button from 'component/button';
import usePersistedState from 'effects/use-persisted-state';
import Card from 'component/common/card';
import I18nMessage from 'component/i18nMessage';
import LbcSymbol from 'component/common/lbc-symbol';
type Props = {
uri: string,
@ -50,7 +51,13 @@ function ModalRemoveFile(props: Props) {
<React.Fragment>
<FormField
name="claim_abandon"
label={__('Abandon on blockchain (reclaim %amount% LBC)', { amount: claim.amount })}
label={
<I18nMessage
tokens={{ lbc: <LbcSymbol prefix={__('reclaim %amount%', { amount: claim.amount })} /> }}
>
Abandon on blockchain (%lbc%)
</I18nMessage>
}
type="checkbox"
checked={abandonChecked}
onChange={() => setAbandonChecked(!abandonChecked)}

View file

@ -12,6 +12,7 @@ import { parseURI, isNameValid, creditsToString } from 'lbry-redux';
import usePersistedState from 'effects/use-persisted-state';
import I18nMessage from 'component/i18nMessage';
import analytics from 'analytics';
import LbcSymbol from '../../component/common/lbc-symbol';
type Props = {
doHideModal: () => void,
@ -180,8 +181,7 @@ function ModalRepost(props: Props) {
step="any"
placeholder="0.123"
className="form-field--price-amount"
label={__('Deposit (LBC)')}
postfix="LBC"
label={<LbcSymbol prefix={__('Deposit')} size={14} />}
value={repostBid}
error={repostBidError}
disabled={!repostName}

View file

@ -5,6 +5,8 @@ import { FormField } from 'component/common/form';
import * as txnTypes from 'constants/transaction_types';
import Card from 'component/common/card';
import Button from 'component/button';
import I18nMessage from 'component/i18nMessage';
import LbcSymbol from 'component/common/lbc-symbol';
type Props = {
closeModal: () => void,
@ -38,9 +40,10 @@ export default function ModalRevokeClaim(props: Props) {
<React.Fragment>
<p>{__('Are you sure you want to remove this support?')}</p>
<p>
{__(
"These credits are permanently yours and can be removed at any time. Removing this support will reduce the claim's discoverability and return the LBC to your spendable balance."
)}
<I18nMessage tokens={{ lbc: <LbcSymbol /> }}>
These credits are permanently yours and can be removed at any time. Removing this support will reduce the
claim's discoverability and return the %lbc% to your spendable balance.
</I18nMessage>
</p>
</React.Fragment>
);
@ -73,9 +76,10 @@ export default function ModalRevokeClaim(props: Props) {
<React.Fragment>
<p>{__('Are you sure want to revoke this claim?')}</p>
<p>
{__(
'This will prevent others from resolving and accessing the content you published. It will return the LBC to your spendable balance, less a small transaction fee.'
)}
<I18nMessage tokens={{ lbc: <LbcSymbol /> }}>
This will prevent others from resolving and accessing the content you published. It will return the %lbc% to
your spendable balance, less a small transaction fee.
</I18nMessage>
</p>
<p className="help error__text"> {__('FINAL WARNING: This action is permanent and cannot be undone.')}</p>
</React.Fragment>

View file

@ -3,6 +3,9 @@ import * as React from 'react';
import { FormField, Form } from 'component/common/form';
import { Modal } from 'modal/modal';
import Button from 'component/button';
import Card from 'component/common/card';
import I18nMessage from 'component/i18nMessage';
import LbcSymbol from 'component/common/lbc-symbol';
type Props = {
closeModal: () => void,
@ -37,41 +40,49 @@ class ModalRewardCode extends React.PureComponent<Props, State> {
const { rewardCode } = this.state;
return (
<Modal
isOpen
title={__('Enter reward code')}
contentLabel={__('Enter reward code')}
type="custom"
onAborted={closeModal}
>
<Form onSubmit={this.handleSubmit}>
<p>
{__('Redeem a custom reward code for LBC')}
{'. '}
<Button button="link" href="https://lbry.com/faq/rewards#reward-code" label={__('Learn more')} />.
</p>
<FormField
autoFocus
type="text"
name="reward-code"
inputButton={
<Button
button="primary"
type="submit"
disabled={!rewardCode || rewardIsPending}
label={rewardIsPending ? __('Redeeming') : __('Redeem')}
/>
}
label={__('Code')}
placeholder="0123abc"
error={error}
value={rewardCode}
onChange={e => this.setState({ rewardCode: e.target.value })}
/>
</Form>
<div className="card__actions">
<Button button="link" label={__('Cancel')} onClick={closeModal} />
</div>
<Modal isOpen contentLabel={__('Enter reward code')} type="card" onAborted={closeModal}>
<Card
title={__('Enter reward code')}
subtitle={
<I18nMessage
tokens={{
lbc: <LbcSymbol prefix={__('Redeem a custom reward code for')} />,
learn_more: (
<Button button="link" href="https://lbry.com/faq/rewards#reward-code" label={__('Learn more')} />
),
}}
>
%lbc%. %learn_more%.
</I18nMessage>
}
actions={
<>
<Form onSubmit={this.handleSubmit}>
<FormField
autoFocus
type="text"
name="reward-code"
inputButton={
<Button
button="primary"
type="submit"
disabled={!rewardCode || rewardIsPending}
label={rewardIsPending ? __('Redeeming') : __('Redeem')}
/>
}
label={__('Code')}
placeholder="0123abc"
error={error}
value={rewardCode}
onChange={e => this.setState({ rewardCode: e.target.value })}
/>
</Form>
<div className="card__actions">
<Button button="link" label={__('Cancel')} onClick={closeModal} />
</div>
</>
}
/>
</Modal>
);
}

View file

@ -1,9 +0,0 @@
import { connect } from 'react-redux';
import AccountPage from './view';
const select = state => ({});
export default connect(
select,
null
)(AccountPage);

View file

@ -1,27 +0,0 @@
// @flow
import React from 'react';
import RewardSummary from 'component/rewardSummary';
import RewardTotal from 'component/rewardTotal';
import Page from 'component/page';
import UserEmail from 'component/userEmail';
import InviteNew from 'component/inviteNew';
import InviteList from 'component/inviteList';
const AccountPage = (props: any) => {
return (
<Page>
<div className="columns section">
<div>
<RewardTotal />
<UserEmail />
</div>
<div>
<RewardSummary />
<InviteNew />
</div>
</div>
<InviteList />
</Page>
);
};
export default AccountPage;

View file

@ -12,6 +12,7 @@ import { useHistory } from 'react-router';
import Button from 'component/button';
import Nag from 'component/common/nag';
import I18nMessage from 'component/i18nMessage';
import LbcSymbol from 'component/common/lbc-symbol';
const MOONPAY_KEY = process.env.MOONPAY_SECRET_KEY;
const COUNTRIES = Array.from(
@ -83,12 +84,23 @@ export default function BuyPage(props: Props) {
learn_more: <Button button="link" label={__('Learn more')} href="https://lbry.com/faq/buy-lbc" />,
}}
>
LBRY, Inc. partners with Moonpay to provide the option to purchase LBC. %learn_more%.
LBRY, Inc. partners with Moonpay to provide the option to purchase LBRY Credits. %learn_more%.
</I18nMessage>
);
return (
<Page noSideNavigation className="main--buy" backout={{ backoutLabel: __('Done'), title: __('Buy credits') }}>
<Page
noSideNavigation
className="main--buy"
backout={{
backoutLabel: __('Done'),
title: (
<>
<LbcSymbol prefix={__('Buy')} size={28} />
</>
),
}}
>
{!user && (
<div className="main--empty">
<Spinner delayed />

View file

@ -45,11 +45,9 @@ export default function CreatorDashboardPage(props: Props) {
<Yrbl
type="happy"
title={__("You haven't created a channel yet, let's fix that!")}
subtitle={
<div>
<div className="section__actions">
<Button button="primary" navigate={`/$/${PAGES.CHANNEL_NEW}`} label={__('Create A Channel')} />
</div>
actions={
<div className="section__actions">
<Button button="primary" navigate={`/$/${PAGES.CHANNEL_NEW}`} label={__('Create A Channel')} />
</div>
}
/>

View file

@ -96,14 +96,12 @@ function FileListDownloaded(props: Props) {
<Yrbl
title={__('Try out the app!')}
subtitle={
<>
<p className="section__subtitle">
{__("Download the app to track files you've viewed and downloaded.")}
</p>
<div className="section__actions">
<Button button="primary" label={__('Get The App')} href="https://lbry.com/get" />
</div>
</>
<p className="section__subtitle">{__("Download the app to track files you've viewed and downloaded.")}</p>
}
actions={
<div className="section__actions">
<Button button="primary" label={__('Get The App')} href="https://lbry.com/get" />
</div>
}
/>
</div>

View file

@ -44,7 +44,7 @@ function LibraryPage(props: Props) {
title={
IS_WEB ? __("You haven't purchased anything yet") : __("You haven't downloaded anything from LBRY yet")
}
subtitle={
actions={
<div className="section__actions">
<Button button="primary" navigate="/" label={__('Explore New Content')} />
</div>

View file

@ -67,12 +67,10 @@ export default function NotificationsPage(props: Props) {
<div className="main--empty">
<Yrbl
title={__('No notifications')}
subtitle={
<div>
<p>{__("You don't have any notifications yet, but they will be here when you do!")}</p>
<div className="section__actions">
<Button button="primary" icon={ICONS.HOME} label={__('Go Home')} navigate="/" />
</div>
subtitle={<p>{__("You don't have any notifications yet, but they will be here when you do!")}</p>}
actions={
<div className="section__actions">
<Button button="primary" icon={ICONS.HOME} label={__('Go Home')} navigate="/" />
</div>
}
/>

View file

@ -169,7 +169,7 @@ class RewardsPage extends PureComponent<Props> {
<Page>
{this.renderPageHeader()}
<div className="section">{this.renderUnclaimedRewards()}</div>
{<RewardListClaimed />}
<RewardListClaimed />
</Page>
);
}

View file

@ -99,19 +99,17 @@ export default function NotificationSettingsPage(props: Props) {
<Yrbl
type="sad"
title={__('Uh oh')}
subtitle={
<>
<div>{__('There was an error displaying this page.')}</div>
<div className="section__actions">
<Button
button="secondary"
label={__('Refresh')}
icon={ICONS.REFRESH}
onClick={() => window.location.reload()}
/>
<Button button="secondary" label={__('Go Home')} icon={ICONS.HOME} navigate={'/'} />
</div>
</>
subtitle={__('There was an error displaying this page.')}
actions={
<div className="section__actions">
<Button
button="secondary"
label={__('Refresh')}
icon={ICONS.REFRESH}
onClick={() => window.location.reload()}
/>
<Button button="secondary" label={__('Go Home')} icon={ICONS.HOME} navigate={'/'} />
</div>
}
/>
) : (

View file

@ -2,7 +2,7 @@
import { DOMAIN } from 'config';
import React, { useEffect } from 'react';
import { Redirect } from 'react-router-dom';
import BusyIndicator from 'component/common/busy-indicator';
import Spinner from 'component/spinner';
import ChannelPage from 'page/channel';
import FilePage from 'page/file';
import Page from 'component/page';
@ -78,7 +78,11 @@ function ShowPage(props: Props) {
if (!claim || (claim && !claim.name)) {
innerContent = (
<Page>
{(claim === undefined || isResolvingUri) && <BusyIndicator message={__('Loading decentralized data...')} />}
{(claim === undefined || isResolvingUri) && (
<div className="main--empty">
<Spinner />
</div>
)}
{!isResolvingUri && !isSubscribed && (
<span className="empty">{__("There's nothing available at this location.")}</span>
)}

View file

@ -87,6 +87,7 @@ export function doCommentCreate(
});
})
.catch(error => {
console.log('error', error);
dispatch({
type: ACTIONS.COMMENT_CREATE_FAILED,
data: error,

View file

@ -27,7 +27,7 @@ rewards.claimReward = (type, rewardParams) => {
}
Lbryio.call('reward', 'claim', params, 'post').then(reward => {
const message = reward.reward_notification || `You have claimed a ${reward.reward_amount} LBC reward.`;
const message = reward.reward_notification || `You have claimed a ${reward.reward_amount} LBRY Credit reward.`;
// Display global notice
const action = doToast({

View file

@ -176,11 +176,14 @@
}
// Handle icons on the left or right side of the button label
svg + .button__label,
.button__label + svg {
svg + .button__label {
margin-left: var(--spacing-s);
}
.button__label + svg {
margin-left: var(--spacing-xs);
}
.button-toggle {
padding: 0 var(--spacing-m);
height: var(--height-button);
@ -190,12 +193,10 @@ svg + .button__label,
border-radius: 0;
margin: 0;
background-color: var(--color-card-background);
@media (max-width: $breakpoint-small) {
padding: var(--spacing-m) var(--spacing-s);
}
svg {
opacity: 0.5;
}
&:first-of-type {
border-left-width: 1px;

View file

@ -31,6 +31,10 @@
}
}
> * {
width: 100%;
}
@media (max-width: $breakpoint-medium) {
flex-direction: column;
}

View file

@ -43,3 +43,20 @@
.icon--hidden {
margin-right: var(--spacing-s);
}
.icon__lbc {
vertical-align: middle;
// fill: none;
path {
// fill: none;
}
}
.icon__lbc--with-text {
margin-left: 5px;
}
.icon__lbc--title {
margin-bottom: 4px;
}

View file

@ -1,3 +1,12 @@
.credit-amount {
display: inline-flex;
align-items: center;
.icon {
// margin-left: var(--spacing-xs);
}
}
.file-price {
position: relative;
display: flex;

View file

@ -79,6 +79,11 @@ th {
.table__item--align-right {
text-align: right;
* {
text-align: right;
justify-content: flex-end;
}
}
.table__wrapper {

View file

@ -214,12 +214,12 @@ textarea {
font-size: var(--font-small);
color: var(--color-text-help);
margin-top: var(--spacing-s);
margin-bottom: var(--spacing-s);
}
.help--warning {
@extend .help;
color: var(--color-text-help-warning);
margin-bottom: var(--spacing-s);
}
.help--inline {
@ -315,6 +315,8 @@ textarea {
}
.confirm__value {
display: flex;
align-items: center;
margin-bottom: var(--spacing-m);
font-size: var(--font-large);