diff --git a/controller/Controller.class.php b/controller/Controller.class.php index 8c2ef83b..888fe28f 100644 --- a/controller/Controller.class.php +++ b/controller/Controller.class.php @@ -97,6 +97,8 @@ class Controller $router->any('/dmca', 'ReportActions::executeDmca'); + $router->any('/youtube/sub', 'ReportActions::executeYoutubeSub'); + $router->post('/set-culture', 'i18nActions::setCulture'); $permanentRedirects = [ diff --git a/controller/action/ReportActions.class.php b/controller/action/ReportActions.class.php index 6ff6c68a..2acb1211 100644 --- a/controller/action/ReportActions.class.php +++ b/controller/action/ReportActions.class.php @@ -38,4 +38,24 @@ class ReportActions extends Actions return ['report/dmca', ['errors' => $errors, 'values' => $values]]; } + + public static function executeYouTubeSub() + { + if (!Request::isPost()) + { + return Controller::redirect('/youtube'); + } + + $email = Request::getPostParam('email'); + + if (!filter_var($email, FILTER_VALIDATE_EMAIL)) + { + Session::setFlash('error', 'Please enter a valid email.'); + return Controller::redirect('/youtube'); + } + + Mailgun::sendYouTubeWarmLead(['email' => $email]); + + return Controller::redirect(Request::getRelativeUri(), 303); + } } \ No newline at end of file diff --git a/lib/thirdparty/Mailgun.class.php b/lib/thirdparty/Mailgun.class.php index b69bab9a..ab5c2fb5 100644 --- a/lib/thirdparty/Mailgun.class.php +++ b/lib/thirdparty/Mailgun.class.php @@ -43,6 +43,20 @@ class Mailgun return $status == 200; } + public static function sendYouTubeWarmLead($data) + { + list($status, $headers, $body) = static::post('/lbry.io/messages', [ + 'from' => 'LBRY ', + 'to' => 'jeremy@lbry.io', + 'subject' => 'Interested YouTuber', + 'html' => '
' . var_export($data, true) . '
', + 'o:tracking-clicks' => 'no', + 'o:tracking-opens' => 'no' + ]); + + return $status == 200; + } + public static function sendSubscriptionConfirmation($email) { $confirmHash = static::getConfirmHash($email); diff --git a/view/template/page/youtube.php b/view/template/page/youtube.php index 1560219f..6b4617ec 100644 --- a/view/template/page/youtube.php +++ b/view/template/page/youtube.php @@ -1,55 +1,29 @@ - + true, 'isAbsolute' => true]) ?> - - Join thousands of YouTubers on the first - community‑controlled video sharing site. - - */ ?>
-
+

-

-
- (and get $50?) -
-
- Yes - Maybe - No + YouTubers!
+ Take Back Control. + +
+ Join thousands of other creators in a world where your content is made available directly to your audience, free of censorship and corporate influence.
-
- -

{{publish.partner}}

-

{{publish.how}}

-
    -
  • - Publish five pieces of content with the LBRY app. -
    Existing content is okay, so long as it's content you created.
    -
  • -
  • Set any price per view — from zero to a dime to one million dollars — you’re in control.
  • -
  • Receive 100% of your list price in real time as it is streamed.
  • -
  • - Receive approximately $1,000.
    - -
  • -
  • Answer our beta feedback survey about your experience.
  • -
-
-
*/ ?> -

Meet LBRY

+
+

+ LBRY +

['Community Run', 'Share (and optionally monetize) your content via a network powered entirely by users themselves.'], 'icon-cubes' => ['Blockchain', 'The power of decentralized consensus allows your content to be discovered and accessed by anyone in the world -- on your terms.'], 'icon-thumbs-up' => ['Take Control', 'Publish your content with whatever terms, price, and quality you desire. Update, re-release, and unpublish at any time.'], - 'icon-money' => ['Make $50', 'If you have a YouTube channel with at least, 250 followers or a video with 50,000 views, receive $50 for publishing. But everyone is welcome!'], + 'icon-money' => ['Make More', 'You control whether your content is free or paid. If paid, you get 100% of the price.'], 'icon-lock' => ['Secure', 'Made with encryption and love by dozens of bright contributors from MIT, CMU, RPI, Udacity, Dyn and more.'], 'icon-code' => ['Open Source', 'Entirely open-source and permissively licensed (MIT). Maintained by stewards, not overlords.'], //Easy @@ -58,7 +32,9 @@
- +
+ +

@@ -71,7 +47,7 @@

-
+

I'm In

    @@ -82,12 +58,9 @@
  1. 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.
  2. -
  3. - If you meet the sponsorship program criteria, you will receive $50 in network credit. -
*Unpublishing means removing the ability to decrypt and accessing your content via LBRY, but we cannot guarantee the deletion of all encrypted data.
@@ -96,11 +69,21 @@
-

Questions?

-

Say hello to Reilly. - If you're a creator, please email Reilly with your questions or to schedule a call.

- 'reilly-smith-youtube', 'orientation' => 'horizontal']) ?> -
+

I Have Questions

+

+ Schedule a meeting with Reilly, one of LBRY's founders and an experienced producer. + Or, email him directly. +

+
+ 'email', + 'type' => 'email', + 'label' => 'Email', + 'required' => true, + ]) ?> + +
+ 'reilly-smith-youtube', 'orientation' => 'horizontal']) ?>
diff --git a/web/img/youtube/tanks2.jpg b/web/img/youtube/tanks2.jpg new file mode 100644 index 00000000..c6746bd0 Binary files /dev/null and b/web/img/youtube/tanks2.jpg differ diff --git a/web/img/youtube/tanks3.jpg b/web/img/youtube/tanks3.jpg new file mode 100644 index 00000000..12ed896c Binary files /dev/null and b/web/img/youtube/tanks3.jpg differ diff --git a/web/scss/_cover.scss b/web/scss/_cover.scss index 369d6c49..b1a107d2 100644 --- a/web/scss/_cover.scss +++ b/web/scss/_cover.scss @@ -16,8 +16,9 @@ } .cover-full { - height: 100vh; + min-height: 100vh; font-size: 1.2em; + background-position: center; } @media (max-width: $mobile-width-threshold) { .cover { padding: $spacing-vertical $spacing-vertical * 2 / 3; } diff --git a/web/scss/_grid.scss b/web/scss/_grid.scss index 1dc8b7f0..a3315b53 100644 --- a/web/scss/_grid.scss +++ b/web/scss/_grid.scss @@ -54,18 +54,6 @@ $gutter_fluid: 4; } } -.column-fluid { - @include display-flex(); - @include flex-wrap(wrap); - > [class*="span"] { - @include display-flex(); - @include flex-wrap(wrap); - @include flex(1 0 auto); - overflow: hidden; - @include justify-content(center); - } -} - .column-fluid-constrained { max-width: 1400px; @@ -80,6 +68,18 @@ $gutter_fluid: 4; @media (min-width: $mobile-width-threshold) { .pull-left { float: left; } .pull-right { float: right; } + + .column-fluid { + @include display-flex(); + @include flex-wrap(wrap); + > [class*="span"] { + @include display-flex(); + @include flex-wrap(wrap); + @include flex(1 0 auto); + overflow: hidden; + @include justify-content(center); + } + } } @media (max-width: $mobile-width-threshold) { @@ -95,7 +95,9 @@ $gutter_fluid: 4; width: 100% !important; margin-left: 0 !important; display: block !important; - &:not(:last-child) + } + .row-fluid, .tile-fluid { + [class*="span"]:not(:last-child) { margin-bottom: $spacing-vertical; } diff --git a/web/scss/_icons.scss b/web/scss/_icons.scss index ea68748f..6924c2b3 100644 --- a/web/scss/_icons.scss +++ b/web/scss/_icons.scss @@ -36,6 +36,30 @@ line-height: 1; } +.icon-in-circle +{ + font-size: 100px; + color: $color-primary; + border-radius: 50%; + border: 2px solid $color-primary; + height: 150px; + width: 150px; + line-height: 150px; + margin: 0 auto; + /* hack fixes for weird icon placement on youtube page*/ + .icon-cubes + { + position: relative; + left: 5px; + top: -5px; + } + .icon-code + { + position: relative; + top: -5px; + } +} + /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen readers do not read off random characters that represent icons */ .icon-glass:before {