more sync changes

This commit is contained in:
Jeremy Kauffman 2018-03-13 18:56:25 -04:00
parent dcd04e895a
commit 6ac8ede582
11 changed files with 224 additions and 358 deletions

View file

@ -119,14 +119,15 @@ class Controller
$router->any('/dmca', 'ReportActions::executeDmca'); $router->any('/dmca', 'ReportActions::executeDmca');
$router->any('/youtube/thanks', 'AcquisitionActions::executeThanks');
$router->any('/youtube/sub', 'AcquisitionActions::executeYouTubeSub'); $router->any('/youtube/sub', 'AcquisitionActions::executeYouTubeSub');
$router->any('/youtube', 'AcquisitionActions::executeYT2');
$router->post('/youtube/edit', 'AcquisitionActions::executeYoutubeEdit'); $router->post('/youtube/edit', 'AcquisitionActions::executeYoutubeEdit');
$router->post('/youtube/token', 'AcquisitionActions::executeYoutubeToken'); $router->post('/youtube/token', 'AcquisitionActions::executeYoutubeToken');
$router->any('/youtube/status/{token}', 'AcquisitionActions::executeYoutubeStatus'); $router->any('/youtube/status/{token}', 'AcquisitionActions::executeYoutubeStatus');
$router->any('/youtube', 'AcquisitionActions::executeYouTube');
$router->get('/verify/{token}', 'AcquisitionActions::executeVerify'); $router->get('/verify/{token}', 'AcquisitionActions::executeVerify');
$router->get('/news/category/{category}', 'ContentActions::executePostCategoryFilter'); $router->get('/news/category/{category}', 'ContentActions::executePostCategoryFilter');
$router->post('/set-culture', 'i18nActions::setCulture'); $router->post('/set-culture', 'i18nActions::setCulture');

View file

@ -28,18 +28,9 @@ class AcquisitionActions extends Actions
return Controller::redirect(Request::getReferrer(), 303); return Controller::redirect(Request::getReferrer(), 303);
} }
public static function executeYouTube(string $campaignId = '') public static function executeYouTube()
{ {
$template = 'acquisition/youtube' . ($campaignId ? '-' . $campaignId : ''); return ['acquisition/youtube'];
if (!View::exists($template)) {
return NavActions::execute404();
}
return [$template];
}
public static function executeYT2()
{
return ['acquisition/yt2'];
} }
public static function executeVerify(string $token) public static function executeVerify(string $token)

View file

@ -39,7 +39,7 @@ class LBRY
// Check the sync status // Check the sync status
public static function statusYoutube($status_token) public static function statusYoutube($status_token)
{ {
return Curl::post(static::getApiUrl('/yt/status'), ['status_token' => $status_token], ['json_response' => true]); return Curl::get(static::getApiUrl('/yt/status'), ['status_token' => $status_token], ['json_response' => true]);
} }
public static function youtubeReward() public static function youtubeReward()

View file

@ -1,48 +0,0 @@
<?php echo View::render('nav/_header', ['isDark' => false]) ?>
<main>
<div class="content">
<h1>Thank You!</h1>
<p>Your account will be synced. If you have any questions, please contact <a href="mailto:reilly@lbry.io" class="link-primary">reilly@lbry.io</a></p>
</div>
<!-- Facebook Pixel Code -->
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '1618717031725766');
fbq('track', 'PageView');
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=1618717031725766&ev=PageView&noscript=1"
/></noscript>
<!-- DO NOT MODIFY -->
<!-- End Facebook Pixel Code -->
<!-- Google Code for Lead Conversion Page -->
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = 980489749;
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "B0ZpCIuLgV0QlazE0wM";
var google_remarketing_only = false;
/* ]]> */
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="//www.googleadservices.com/pagead/conversion/980489749/?label=B0ZpCIuLgV0QlazE0wM&amp;guid=ON&amp;script=0"/>
</div>
</noscript>
<!-- Twitter single-event website tag code -->
<script src="//platform.twitter.com/oct.js" type="text/javascript"></script>
<script type="text/javascript">twttr.conversion.trackPid('nvpu6', { tw_sale_amount: 0, tw_order_quantity: 0 });</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://analytics.twitter.com/i/adsct?txn_id=nvpu6&p_id=Twitter&tw_sale_amount=0&tw_order_quantity=0" />
<img height="1" width="1" style="display:none;" alt="" src="//t.co/i/adsct?txn_id=nvpu6&p_id=Twitter&tw_sale_amount=0&tw_order_quantity=0" />
</noscript>
<!-- End Twitter single-event website tag code -->
</main>

View file

@ -1,94 +1,201 @@
<?php Response::setMetaDescription('YouTuber? Take back control! LBRY allows publication on your terms. It\'s open-source, decentralized, and gives you 100% of the profit.') ?> <?php
<?php Response::setMetaTitle(__('YouTubers! Take back control.')) ?> Response::setCssAssets(['/css/yt2.css']);
<?php echo View::render('nav/_header', ['isDark' => true, 'isAbsolute' => true]) ?> Response::addJsAsset('/js/yt2/TweenMax.min.js');
<main > Response::addJsAsset('/js/yt2/ScrollToPlugin.min.js');
<?php //if you change the image, change it on download/_publish too! ?> Response::addJsAsset('/js/yt2/app.js');
<div class="cover cover-dark cover-center cover-full" style="padding-top: 80px; background-image: url('/img/youtube/spacerise.jpg')" > Response::addJsAsset('/js/yt2/FormValidation.js');
<div style="max-width: 700px; text-align: center"> Response::addJsAsset('/js/yt2/SyncStatus.js');
<?php echo View::render('nav/_flashes') ?> $reward = LBRY::youtubeReward();
<h1 class="cover-title"> ?>
Leave YouTube<br/> <main>
for good. <?php echo View::render('acquisition/_youtube_header') ?>
</h1> <section class="hero">
<div class="cover-subtitle" style="font-weight: bold"> <div class="shape">
No more demonetization or sneaky algorithms.<br/> <svg style="width: 100%; height: 100%;">
Publish on your terms, not Google's. <path d="M 0,0" stroke="#2F3C5C" stroke-width="0.3px" fill="none" data-from="-1" />
<path d="M 0,0" stroke="#2F3C5C" stroke-width="0.3px" fill="none" data-from="0" />
<path d="M 0,0" stroke="#2F3C5C" stroke-width="0.3px" fill="none" data-from="0" />
<path d="M 0,0" stroke="#2F3C5C" stroke-width="0.3px" fill="none" data-from="1" />
<path d="M 0,0" stroke="#2F3C5C" stroke-width="0.3px" fill="none" data-from="1" />
<path d="M 0,0" stroke="#2F3C5C" stroke-width="0.3px" fill="none" data-from="2" />
<path d="M 0,0" stroke="#2F3C5C" stroke-width="0.3px" fill="none" data-from="2" />
<path d="M 0,0" stroke="#2F3C5C" stroke-width="0.3px" fill="none" data-from="2" />
</svg>
<div class="circle one"></div>
<div class="circle two"></div>
<div class="circle three"></div>
<div class="dot a"></div>
<div class="dot b"></div>
<div class="dot c"></div>
<div class="dot d"></div>
<div class="dot e"></div>
</div>
<div class="title">
<div class="overflow"><h1>Leave YouTube</h1></div>
<div class="overflow"><h1>for good.</h1></div>
<p>No more demonetization or sneaky algorithms</p>
<div class="button">Claim Your Channel</div>
</div>
</section>
<section class="claim section">
<div class="inner">
<div class="content">
<?php
if (isset($_GET['error'])): echo "<div>" . "The following error occurred: ". $_GET['error_message'] . " For support please send an email to hello@lbry.io" . "</div>";
endif;?>
<div class="zigzag"></div>
<h1>Own your identity. For real this time.</h1>
<div hidden id="sync-status" class="sync-status">
</div>
<form id="youtube_claim" method="post" action="/youtube/token">
<div class="form-inner" >
<div class="block">
<input id="lbry_channel_name" type="text" name="desired_lbry_channel_name" placeholder="Desired LBRY channel name" />
<label>@</label>
<div hidden id="lbry_error" class="error">LBRY channel name is not valid or blank</div>
</div>
</form>
<div class="block">
<input type="submit" value="Claim now" onClick="return submitDetailsForm()"/>
</div>
<div class="meta">
This will verify you are an active YouTuber, then instructions and your welcome credits will be emailed to you.
<a href="/faq/youtube">Learn more</a>.
</div> </div>
<div class="text-center control-group spacer2">
<a href="#do-it" class="btn-primary">Let's Do This</a>
<a href="#more-words" class="btn-alt">More Words, Please</a>
</div>
</div> </div>
</div> </div>
<div class="content content-light" id="more-words"> </section>
<h2 class="spacer2" style="text-align: center"> <section class="join section">
<img src="/img/lbry-dark-1600x528.png" style="max-height: 80px" alt="LBRY"/> <div class="inner">
</h2> <div class="content">
<div class="column-fluid" > <h1>LBRY is more fun with friends</h1>
<?php foreach([ <p>Take your peers and your audience with you. Create without limits.</p>
'icon-money' => ['Earn More', 'Integrated tipjars, pay-per-stream, or free: the choice is yours. And you earn 100% of it.'], <div class="boxes">
'icon-group' => ['Community Run', 'Your audiencenot advertisersdecide what they want and how they want it.'], <div class="box">
'icon-code' => ['Accountable', 'Entirely open-source platform. Maintained by stewards, not overlords.'], <a href="https://spee.ch/ever-wonder-how-bitcoin-and-other" class="image" target="_blank">
//Easy <img src="/img/youtube/01@2x.jpg">
] as $iconClass => $copyTuple): ?> </a>
<?php list($title, $body) = $copyTuple ?> <div class="text">
<div class="span4 spacer2"> <p>@3Blue1Brown</p>
<div class="content content-light content-tile">
<div class="text-center spacer-half">
<div class="icon-in-circle">
<span class="<?php echo $iconClass ?>"></span>
</div>
</div>
<h3><?php echo $title ?></h3>
<p>
<?php echo $body ?>
</p>
</div> </div>
</div> </div>
<?php endforeach ?> <div class="box">
<a href="https://spee.ch/3c96f32de285db6c04e80bd6f5fad573250541e9/casually-successful" class="image" target="_blank">
<img src="/img/youtube/02@2x.jpg">
</a>
<div class="text">
<p>@CasuallyExplained</p>
</div>
</div>
<div class="box">
<a href="https://spee.ch/the-historical-elements-of-wolfenstein" class="image" target="_blank">
<img src="/img/youtube/03@2x.jpg">
</a>
<div class="text">
<p>@ColinsLastStand</p>
</div>
</div>
</div>
</div> </div>
</div> </div>
<div class="column-fluid" > </section>
<div class="span6" id="do-it"> <section class="how section">
<div class="cover cover-dark cover-dark-grad"> <div class="inner">
<div class="content content-dark content-tile"> <div class="content">
<h3 class="cover-title cover-title-tile cover-title-flat">Leave YouTube in one click</h3> <h1>Migrating to LBRY</h1>
<ol> <p>We will automatically mirror your existing YouTube channel to the LBRY Network.</p>
<li> <div class="steps">
Clicking below will authenticate with YouTube and grant permission for your content to be available on the decentralized LBRY network. <div class="path">
You may revoke this permission and unpublish* your content at any time. <div class="journey"></div>
</li> </div>
<li> <div class="step one enabled" data-enable="12">
Our team will automate publishing your content to LBRY. When it's done, you'll receive a notification and a login to review, update, and manage it. <div class="circle">1</div>
</li> <p class="text">Claim your LBRY name</p>
</ol> </div>
<div class="text-center spacer2"> <div class="step two enabled" data-enable="33">
<a href="https://api.lbry.io/yt/connect?type=sync" class="btn-alt">Sync Channel</a> <div class="circle">2</div>
</div> <p class="text">Check your email for confirmation</p>
<div class="meta">*Unpublishing means removing the ability to decrypt and accessing your content via LBRY, but we cannot guarantee the deletion of all encrypted data.</div> </div>
<div class="step three enabled" data-enable="75">
<div class="circle">3</div>
<p class="text">Sync your existing YouTube content</p>
</div> </div>
</div> </div>
</div> </div>
<div class="span6"> </div>
<div class="cover cover-light-alt cover-light-alt-grad"> </section>
<div class="content content-light content-tile"> <section class="sync section">
<h3 class="cover-title cover-title-tile cover-title-flat">I Have Questions</h3> <div class="inner">
<p> <div class="content">
Have a big audience? Let Reilly know how we can support you <div class="zigzag"></div>
by <a class="link-primary" href=mailto:reilly@lbry.io?subject=YouTube+Freedom>emailing him directly</a>. <h1>Sync &amp; Earn</h1>
</p> <p>LBRY offers a single-click sync process<br>for existing YouTubers</p>
<form action="/youtube/sub" method="POST" class="spacer2"> <div class="button">
<?php echo View::render('form/_formRow', [ <a href="https://api.lbry.io/yt/connect?type=sync">Sync now</a>
'field' => 'email', </div>
'type' => 'email', <div class="meta">
'label' => 'Email', By syncing, you agree to mirror your content to the LBRY network for 1 year, and acknowledge <a href="/faq/youtube-terms">these terms</a>.
'required' => true,
]) ?>
<input type="submit" value="Let's Talk" class="btn-primary">
</form>
<?php echo View::render('content/_bio', ['person' => 'reilly-smith']) ?>
</div> </div>
</div> </div>
</div> </div>
</section>
<section class="rewards section">
<div class="inner">
<div class="content">
<h1>LBRY Credits and Your Channel</h1>
<p>After you sync, receive LBRY Credits every month for one year based on your current subscriber count.</p>
<p>The more you give to the network, the more it gives back.</p>
<div class="price">
<h3>Partner Programs</h3>
<p>LBC <span class="current-value"></span></p>
</div>
<div class="table">
<div class="head">
<p>Subscribers</p>
<p>Monthly</p>
<p>Amount</p>
</div>
<div class="line">
<p>1,000</p>
<p><?php echo $reward['data']['1000']; ?><span></span></p>
<p></p>
</div>
<div class="line">
<p>10,000</p>
<p><?php echo $reward['data']['10000']; ?><span></span></p>
<p></p>
</div>
<div class="line">
<p>100,000</p>
<p><?php echo $reward['data']['100000']; ?> <span></span></p>
<p></p>
</div>
<div class="line">
<p>1,000,000</p>
<p><?php echo $reward['data']['1000000']; ?> <span></span></p>
<p></p>
</div>
</div>
</div>
</div>
</section>
<section class="contact section">
<div class="inner">
<div class="content">
<h1>Tell me more.</h1>
<p>We have a guy that elaborates on things. Apply directly to the forehead.</p>
<div class="v-card">
<div class="photo"><img src="/img/youtube/reilly-smith@2x.png"></div>
<div class="text">
<h3>Reilly Smith</h3>
<p>Head of Content</p>
<a href="mailto:reilly@lbry.io?subject=YouTube+Freedom">Contact</a>
</div>
</div>
</div>
</div>
</section>
<div class="to-top"><span>to top</span></div>
</main> </main>
<?php echo View::render('nav/_footer') ?>

View file

@ -2,7 +2,7 @@
<?php Response::setMetaTitle(__('YouTubers! Take back control.')) ?> <?php Response::setMetaTitle(__('YouTubers! Take back control.')) ?>
<?php Response::setCssAssets(['/css/yt2.css']) ?> <?php Response::setCssAssets(['/css/yt2.css']) ?>
<?php Response::addJsAsset('/js/yt2/FormValidation.js')?> <?php Response::addJsAsset('/js/yt2/FormValidation.js')?>
<?php $status= LBRY::statusYoutube($token);?> <?php $status= LBRY::statusYoutube($token); ?>
<main class="channel-settings"> <main class="channel-settings">
<?php echo View::render('acquisition/_youtube_header') ?> <?php echo View::render('acquisition/_youtube_header') ?>
@ -11,15 +11,27 @@
<div class="content"> <div class="content">
<div class="zigzag"></div> <div class="zigzag"></div>
<h1>Your Channel</h1> <h1>Your Channel</h1>
<div class="block"> <div>
<p>Number of subscriber<br> <div class="block">
<span><?php echo $status['data']['subscribers']?></span> <p>Sync Status<br>
</p> <span><?php switch ($status['data']['status']) {
</div> case "pending": echo __("Pending Your Approval"); break;
<div class="block"> case "queued": echo __("Queued For Syncing"); break;
<p>Number of video<br> case "syncing": echo __("Sync in Progress!"); break;
<span><?php echo $status['data']['videos']?></span> case "synced": echo __("Content is Live!"); break;
} ?></span>
</p> </p>
</div>
<div class="block">
<p>Subscribers<br>
<span><?php echo $status['data']['subscribers']?></span>
</p>
</div>
<div class="block">
<p>Videos<br>
<span><?php echo $status['data']['videos']?></span>
</p>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -28,7 +40,7 @@
<div class="inner"> <div class="inner">
<div class="content"> <div class="content">
<div class="zigzag"></div> <div class="zigzag"></div>
<h1>Edit Your Settings</h1> <h1>Your LBRY Settings</h1>
<form id="youtube_settings" action="/youtube/edit" method="post"> <form id="youtube_settings" action="/youtube/edit" method="post">
<div> <div>
<input type="hidden" name="status_token" id="status_token" value="<?php echo $token?>"/> <input type="hidden" name="status_token" id="status_token" value="<?php echo $token?>"/>
@ -37,17 +49,17 @@
if (isset($_GET['error'])): echo "<div>" . "The following error occurred: ". $_GET['error_message'] . " For support please send an email to hello@lbry.io" . "</div>"; if (isset($_GET['error'])): echo "<div>" . "The following error occurred: ". $_GET['error_message'] . " For support please send an email to hello@lbry.io" . "</div>";
endif;?> endif;?>
<div class="block"> <div class="block">
<label for="channel-name">LBRY channel name:</label> <label for="channel-name">LBRY channel name</label>
<input type="text" id="channel-name" name="new_preferred_channel" placeholder="@YourPreferredChannelName" value="<?php echo $status['data']['lbry_channel_name'];?>" <?php if($status['data']['status'] == 'syncing' || $status['data']['status'] == 'synced'): echo "disabled"; endif; ?> > <input type="text" id="channel-name" name="new_preferred_channel" placeholder="@YourPreferredChannelName" value="<?php echo $status['data']['lbry_channel_name'];?>" <?php if($status['data']['status'] == 'syncing' || $status['data']['status'] == 'synced'): echo "disabled"; endif; ?> >
<div hidden id="channel-name-error" class="error">Channel is invalid or blank</div> <div hidden id="channel-name-error" class="error">Channel is invalid or blank</div>
</div> </div>
<div class="block"> <div class="block">
<label for="email">Email:</label> <label for="email">Email</label>
<input type="text" id="email" name="new_email" placeholder="bill@gmail.com" value="<?php echo $status['data']['email'];?>"> <input type="text" id="email" name="new_email" placeholder="bill@gmail.com" value="<?php echo $status['data']['email'];?>">
<div hidden id="email-error" class="error">Email is invalid or blank</div> <div hidden id="email-error" class="error">Email is invalid or blank</div>
</div> </div>
<div class="block full"> <div class="block full">
<input name="sync_consent" id="sync-consent" type="checkbox" <?php if($status['data']['status'] == 'queued'): echo "checked"; endif;?> <?php if($status['data']['status'] == 'syncing' || $status['data']['status'] == 'synced'): echo "disabled "; echo "checked"; endif; ?>>I want to sync my content to the LBRY network and agree to the "terms" <input name="sync_consent" id="sync-consent" type="checkbox" <?php if($status['data']['status'] == 'queued'): echo "checked"; endif;?> <?php if($status['data']['status'] == 'syncing' || $status['data']['status'] == 'synced'): echo "disabled "; echo "checked"; endif; ?>>I want to sync my content to the LBRY network and agree to <a href="/faq/youtube-terms">these terms</a>.
<div hidden id="sync-consent-error" class="error">You must agreed to sync to continue</div> <div hidden id="sync-consent-error" class="error">You must agreed to sync to continue</div>
</div> </div>
<div class="block"> <div class="block">
@ -68,7 +80,8 @@
</p> </p>
</div> </div>
<div class="block get-credits"> <div class="block get-credits">
<p>To get your credits... lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ipsum velit, convallis ac libero sit amet, viverra dictum tortor.</p> <p>To get your credits, <a href="/get">download the app</a> and navigate to the "Rewards" area inside of your Wallet.
For more details, see <a href="/faq/youtube">this page</a>.</p>
</div> </div>
</div> </div>
</div> </div>

View file

@ -1,201 +0,0 @@
<?php
Response::setCssAssets(['/css/yt2.css']);
Response::addJsAsset('/js/yt2/TweenMax.min.js');
Response::addJsAsset('/js/yt2/ScrollToPlugin.min.js');
Response::addJsAsset('/js/yt2/app.js');
Response::addJsAsset('/js/yt2/FormValidation.js');
Response::addJsAsset('/js/yt2/SyncStatus.js');
$reward = LBRY::youtubeReward();
?>
<main>
<?php echo View::render('acquisition/_youtube_header') ?>
<section class="hero">
<div class="shape">
<svg style="width: 100%; height: 100%;">
<path d="M 0,0" stroke="#2F3C5C" stroke-width="0.3px" fill="none" data-from="-1" />
<path d="M 0,0" stroke="#2F3C5C" stroke-width="0.3px" fill="none" data-from="0" />
<path d="M 0,0" stroke="#2F3C5C" stroke-width="0.3px" fill="none" data-from="0" />
<path d="M 0,0" stroke="#2F3C5C" stroke-width="0.3px" fill="none" data-from="1" />
<path d="M 0,0" stroke="#2F3C5C" stroke-width="0.3px" fill="none" data-from="1" />
<path d="M 0,0" stroke="#2F3C5C" stroke-width="0.3px" fill="none" data-from="2" />
<path d="M 0,0" stroke="#2F3C5C" stroke-width="0.3px" fill="none" data-from="2" />
<path d="M 0,0" stroke="#2F3C5C" stroke-width="0.3px" fill="none" data-from="2" />
</svg>
<div class="circle one"></div>
<div class="circle two"></div>
<div class="circle three"></div>
<div class="dot a"></div>
<div class="dot b"></div>
<div class="dot c"></div>
<div class="dot d"></div>
<div class="dot e"></div>
</div>
<div class="title">
<div class="overflow"><h1>Leave YouTube</h1></div>
<div class="overflow"><h1>for good.</h1></div>
<p>No more demonetization or sneaky algorithms</p>
<div class="button">Claim Your Channel</div>
</div>
</section>
<section class="claim section">
<div class="inner">
<div class="content">
<?php
if (isset($_GET['error'])): echo "<div>" . "The following error occurred: ". $_GET['error_message'] . " For support please send an email to hello@lbry.io" . "</div>";
endif;?>
<div class="zigzag"></div>
<h1>Own your identity. For real this time.</h1>
<div hidden id="sync-status" class="sync-status">
</div>
<form id="youtube_claim" method="post" action="/youtube/token">
<div class="form-inner" >
<div class="block">
<input id="lbry_channel_name" type="text" name="desired_lbry_channel_name" placeholder="Desired LBRY channel name" />
<label>@</label>
<div hidden id="lbry_error" class="error">LBRY channel name is not valid or blank</div>
</div>
</form>
<div class="block">
<input type="submit" value="Claim now" onClick="return submitDetailsForm()"/>
</div>
<div class="meta">
This will verify you are an active YouTuber, then instructions and your welcome credits will be emailed to you.
<a href="//faq/youtube">Learn more</a>.
</div>
</div>
</div>
</section>
<section class="join section">
<div class="inner">
<div class="content">
<h1>LBRY is more fun with friends</h1>
<p>Take your peers and your audience with you. Create without limits.</p>
<div class="boxes">
<div class="box">
<a href="https://spee.ch/ever-wonder-how-bitcoin-and-other" class="image" target="_blank">
<img src="/img/youtube/01@2x.jpg">
</a>
<div class="text">
<p>@3Blue1Brown</p>
</div>
</div>
<div class="box">
<a href="https://spee.ch/3c96f32de285db6c04e80bd6f5fad573250541e9/casually-successful" class="image" target="_blank">
<img src="/img/youtube/02@2x.jpg">
</a>
<div class="text">
<p>@CasuallyExplained</p>
</div>
</div>
<div class="box">
<a href="https://spee.ch/the-historical-elements-of-wolfenstein" class="image" target="_blank">
<img src="/img/youtube/03@2x.jpg">
</a>
<div class="text">
<p>@ColinsLastStand</p>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="how section">
<div class="inner">
<div class="content">
<h1>Migrating to LBRY</h1>
<p>We will automatically mirror your existing YouTube channel to the LBRY Network.</p>
<div class="steps">
<div class="path">
<div class="journey"></div>
</div>
<div class="step one enabled" data-enable="12">
<div class="circle">1</div>
<p class="text">Claim your LBRY name</p>
</div>
<div class="step two enabled" data-enable="33">
<div class="circle">2</div>
<p class="text">Check your email for confirmation</p>
</div>
<div class="step three enabled" data-enable="75">
<div class="circle">3</div>
<p class="text">Sync your existing YouTube content</p>
</div>
</div>
</div>
</div>
</section>
<section class="sync section">
<div class="inner">
<div class="content">
<div class="zigzag"></div>
<h1>Sync &amp; Earn</h1>
<p>LBRY offers a single-click sync process<br>for existing YouTubers</p>
<div class="button">
<a href="https://api.lbry.io/yt/connect?type=sync">Sync now</a>
</div>
<div class="meta">
By syncing, you agree to mirror your content to the LBRY network for 1 year, and acknowledge <a href="//faq/youtube">these terms</a>.
</div>
</div>
</div>
</section>
<section class="rewards section">
<div class="inner">
<div class="content">
<h1>LBRY Credits and Your Channel</h1>
<p>After you sync, receive LBRY Credits every month for one year based on your current subscriber count.</p>
<p>The more you give to the network, the more it gives back.</p>
<div class="price">
<h3>Partner Programs</h3>
<p>LBC <span class="current-value">(0.3267 USD)</span></p>
</div>
<div class="table">
<div class="head">
<p>Subscribers</p>
<p>Monthly</p>
<p>Amount</p>
</div>
<div class="line">
<p>1,000</p>
<p><?php echo $reward['data']['1000']; ?><span></span></p>
<p></p>
</div>
<div class="line">
<p>10,000</p>
<p><?php echo $reward['data']['10000']; ?><span></span></p>
<p></p>
</div>
<div class="line">
<p>100,000</p>
<p><?php echo $reward['data']['100000']; ?> <span></span></p>
<p></p>
</div>
<div class="line">
<p>1,000,000</p>
<p><?php echo $reward['data']['1000000']; ?> <span></span></p>
<p></p>
</div>
</div>
</div>
</div>
</section>
<section class="contact section">
<div class="inner">
<div class="content">
<h1>Tell me more.</h1>
<p>We have a guy that elaborates on things. Apply directly to the forehead.</p>
<div class="v-card">
<div class="photo"><img src="/img/youtube/reilly-smith@2x.png"></div>
<div class="text">
<h3>Reilly Smith</h3>
<p>Head of Content</p>
<a href="mailto:reilly@lbry.io?subject=YouTube+Freedom">Contact</a>
</div>
</div>
</div>
</div>
</section>
<div class="to-top"><span>to top</span></div>
</main>

View file

@ -770,6 +770,9 @@ header .right a.github {
margin-top: 40px; margin-top: 40px;
box-sizing: border-box; box-sizing: border-box;
} }
.channel .block:not(:first-child) {
width: 25%;
}
.settings .block { .settings .block {
padding-right: 60px; padding-right: 60px;
} }
@ -792,7 +795,7 @@ header .right a.github {
.channel .block p span { .channel .block p span {
float: left; float: left;
width: 100%; width: 100%;
font: normal 400 60px/60px 'metropolis-medium'; font: normal 400 40px/40px 'metropolis-medium';
color: #2F3C5C; color: #2F3C5C;
margin-top: 8px; margin-top: 8px;
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 452 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 518 KiB