From 154a9ab32ae1447c191d0b1f565b1e905851a9e2 Mon Sep 17 00:00:00 2001 From: Matthew Lemon Date: Mon, 11 Nov 2024 17:12:50 +0000 Subject: Adds a Create new account page and part way through configging the form --- app/controllers/registrations_controller.rb | 8 ++++++ app/views/registrations/new.html.erb | 41 +++++++++++++++++++++++++++++ app/views/sessions/new.html.erb | 5 ++++ config/routes.rb | 1 + 4 files changed, 55 insertions(+) create mode 100644 app/controllers/registrations_controller.rb create mode 100644 app/views/registrations/new.html.erb diff --git a/app/controllers/registrations_controller.rb b/app/controllers/registrations_controller.rb new file mode 100644 index 0000000..13ef4dd --- /dev/null +++ b/app/controllers/registrations_controller.rb @@ -0,0 +1,8 @@ +class RegistrationsController < ApplicationController + allow_unauthenticated_access only: %i[ new create ] + def new + end + + def create + end +end \ No newline at end of file diff --git a/app/views/registrations/new.html.erb b/app/views/registrations/new.html.erb new file mode 100644 index 0000000..eeafa1c --- /dev/null +++ b/app/views/registrations/new.html.erb @@ -0,0 +1,41 @@ +
+

Create account

+ +

Please sign up for your Alphabet Learning account here.

+ + <% if alert = flash[:alert] %> +

<%= alert %>

+ <% end %> + + <% if notice = flash[:notice] %> +

<%= notice %>

+ <% end %> + + <%= form_with url: registration_url, class: "contents" do |form| %> +
+ <%= form.text_field :first_name, required: true, autofocus: true, autocomplete: "first_name", placeholder: "Enter your first name", value: params[:first_name], class: "block shadow rounded-md border border-gray-400 outline-none px-3 py-2 mt-2 w-full" %> +
+ +
+ <%= form.text_field :last_name, required: true, autofocus: true, autocomplete: "last_name", placeholder: "Enter your last name", value: params[:last_name], class: "block shadow rounded-md border border-gray-400 outline-none px-3 py-2 mt-2 w-full" %> +
+ +
+ <%= form.email_field :email_address, required: true, autofocus: true, autocomplete: "username", placeholder: "Enter your email address", value: params[:email_address], class: "block shadow rounded-md border border-gray-400 outline-none px-3 py-2 mt-2 w-full" %> +
+ +
+ <%= form.password_field :password, required: true, autocomplete: "current-password", placeholder: "Enter your password", maxlength: 72, class: "block shadow rounded-md border border-gray-400 outline-none px-3 py-2 mt-2 w-full" %> +
+ +
+
+ <%= form.submit "Sign in", class: "rounded-lg py-3 px-5 bg-blue-600 text-white inline-block font-medium cursor-pointer" %> +
+ +
+ <%= link_to "Forgot password?", new_password_path, class: "text-gray-700 underline" %> +
+
+ <% end %> +
\ No newline at end of file diff --git a/app/views/sessions/new.html.erb b/app/views/sessions/new.html.erb index 638f9c7..5b87b16 100644 --- a/app/views/sessions/new.html.erb +++ b/app/views/sessions/new.html.erb @@ -28,4 +28,9 @@ <% end %> + +
+ + <%= link_to "Create Account", new_registration_path, class: "bg-green-500 text-white p-3 rounded-md" %> + diff --git a/config/routes.rb b/config/routes.rb index af58cd0..66bd997 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -2,6 +2,7 @@ Rails.application.routes.draw do resources :pdfresources resource :session resources :passwords, param: :token + resource :registration, only: [:new, :create] # Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html # Reveal health status on /up that returns 200 if the app boots with no exceptions, otherwise 500. -- cgit v1.2.3