From d7f271729adf87984ed85cd65349d04ff11a9183 Mon Sep 17 00:00:00 2001 From: Sebastian Jambor Date: Sat, 15 Apr 2023 19:49:17 +0200 Subject: [PATCH] new signup page --- .../auth/registrations_controller.rb | 8 +- app/javascript/images/academy-mascot.webp | Bin 0 -> 26504 bytes app/javascript/styles/application.scss | 1 + app/javascript/styles/mastodon/academy.scss | 72 ++++++++++++++++++ app/views/auth/registrations/new.html.haml | 40 +++++----- app/views/layouts/academy-signup.html.haml | 10 +++ config/webpacker.yml | 1 + 7 files changed, 111 insertions(+), 21 deletions(-) create mode 100644 app/javascript/images/academy-mascot.webp create mode 100644 app/javascript/styles/mastodon/academy.scss create mode 100644 app/views/layouts/academy-signup.html.haml diff --git a/app/controllers/auth/registrations_controller.rb b/app/controllers/auth/registrations_controller.rb index 8f1909183..63632162e 100644 --- a/app/controllers/auth/registrations_controller.rb +++ b/app/controllers/auth/registrations_controller.rb @@ -145,7 +145,13 @@ class Auth::RegistrationsController < Devise::RegistrationsController end def determine_layout - %w(edit update).include?(action_name) ? 'admin' : 'auth' + if %w(edit update).include?(action_name) + 'admin' + elsif action_name == 'new' + 'academy-signup' + else + 'auth' + end end def set_sessions diff --git a/app/javascript/images/academy-mascot.webp b/app/javascript/images/academy-mascot.webp new file mode 100644 index 0000000000000000000000000000000000000000..17d4e23ef338a9dd9a1e5adb77f97d32d125a83e GIT binary patch literal 26504 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 * { + padding: 15px; + } +} + +@media screen and (max-width: 1150px) { + .academy-signup-container { + max-width: 800px; + flex-direction: column; + + .title { + font-size: 40px; + } + } +} + +@media screen and (max-width: 450px) { + .academy-signup-container { + .title { + font-size: 30px; + } + + .subtitle { + font-size: 24px; + } + + p { + font-size: 18px; + } + } +} diff --git a/app/views/auth/registrations/new.html.haml b/app/views/auth/registrations/new.html.haml index 02ebafd58..0e9a7684e 100644 --- a/app/views/auth/registrations/new.html.haml +++ b/app/views/auth/registrations/new.html.haml @@ -4,32 +4,32 @@ - content_for :header_tags do = render partial: 'shared/og', locals: { description: description_for_sign_up } -= simple_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { novalidate: false }) do |f| - %h1.title= t('auth.sign_up.title', domain: site_hostname) - %p.lead= t('auth.sign_up.activity_log_preamble_html') +.academy-introduction + %h1.title ActivityPub.Academy + %p.subtitle Explore the ActivityPub protocol interactively - = render 'shared/error_messages', object: resource - - if @invite.present? && @invite.autofollow? - .fields-group.invited-by - %p.hint= t('invites.invited_by') - = render 'application/card', account: @invite.user.account + %p ActivityPub.Academy is a learning resource for ActivityPub. The protocol is brought to life by showing Activities sent between different instances in real time! - .fields-group - = f.input :confirm_password, as: :string, placeholder: t('simple_form.labels.defaults.honeypot', label: t('simple_form.labels.defaults.password')), required: false, input_html: { 'aria-label' => t('simple_form.labels.defaults.honeypot', label: t('simple_form.labels.defaults.password')), :autocomplete => 'off' }, hint: false - = f.input :website, as: :url, wrapper: :with_label, label: t('simple_form.labels.defaults.honeypot', label: 'Website'), required: false, input_html: { 'aria-label' => t('simple_form.labels.defaults.honeypot', label: 'Website'), :autocomplete => 'off' } + %p Sign up for a fully functioning Mastodon account (accounts are deleted after one day, but you can always create a new one). Follow other accounts, create posts, boost & like, and see the effects on the protocol visualized. + + %p Learn more on my blog. + + = simple_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { novalidate: false }) do |f| + + = render 'shared/error_messages', object: resource - - if approved_registrations? && !@invite.present? .fields-group - = f.simple_fields_for :invite_request, resource.invite_request || resource.build_invite_request do |invite_request_fields| - = invite_request_fields.input :text, as: :text, wrapper: :with_block_label, required: Setting.require_invite_text + = f.input :confirm_password, as: :string, placeholder: t('simple_form.labels.defaults.honeypot', label: t('simple_form.labels.defaults.password')), required: false, input_html: { 'aria-label' => t('simple_form.labels.defaults.honeypot', label: t('simple_form.labels.defaults.password')), :autocomplete => 'off' }, hint: false + = f.input :website, as: :url, wrapper: :with_label, label: t('simple_form.labels.defaults.honeypot', label: 'Website'), required: false, input_html: { 'aria-label' => t('simple_form.labels.defaults.honeypot', label: 'Website'), :autocomplete => 'off' } + = hidden_field_tag :accept, params[:accept] + = f.input :invite_code, as: :hidden - = hidden_field_tag :accept, params[:accept] - = f.input :invite_code, as: :hidden + .fields-group + = f.input :agreement, as: :boolean, wrapper: :with_label, label: t('auth.privacy_policy_agreement_html', rules_path: about_more_path, privacy_policy_path: privacy_policy_path), required: true - .fields-group - = f.input :agreement, as: :boolean, wrapper: :with_label, label: t('auth.privacy_policy_agreement_html', rules_path: about_more_path, privacy_policy_path: privacy_policy_path), required: true + .actions + = f.button :button, @invite.present? ? t('auth.register') : sign_up_message, type: :submit - .actions - = f.button :button, @invite.present? ? t('auth.register') : sign_up_message, type: :submit += image_tag asset_pack_path('media/images/academy-mascot.webp'), alt: 'The Mastodon mascot wearing a university gown', class: 'mascot' diff --git a/app/views/layouts/academy-signup.html.haml b/app/views/layouts/academy-signup.html.haml new file mode 100644 index 000000000..0df672eeb --- /dev/null +++ b/app/views/layouts/academy-signup.html.haml @@ -0,0 +1,10 @@ +- content_for :header_tags do + = javascript_pack_tag 'public', crossorigin: 'anonymous' + +- content_for :content do + .academy-signup-container + = render 'flashes' + + = yield + += render template: 'layouts/application' diff --git a/config/webpacker.yml b/config/webpacker.yml index 4ad78a190..08e920eb0 100644 --- a/config/webpacker.yml +++ b/config/webpacker.yml @@ -23,6 +23,7 @@ default: &default - .jpg - .jpeg - .png + - .webp - .tiff - .ico - .svg