myapp/app/views/devise/registrations/new.html.erb
<div class="w-full max-w-xs">
<h1 class="font-hairline mb-6 text-center">Sign Up</h1>
<%= form_for(resource,
as: resource_name,
url: registration_path(resource_name),
html: {
class: "bg-white mb-4 px-8 pt-6 pb-8 rounded shadow-md",
}) do |f| %>
<%= devise_error_messages! %>
<div class="mb-4">
<%= f.label :email, class: "block font-bold mb-2 text-gray-700 text-sm" %>
<%= f.email_field :email,
autocomplete: "email",
placeholder: "user@example.com",
class: "appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none shadow focus:shadow-outline" %>
</div>
<div class="mb-4">
<%= f.label :password, class: "block font-bold mb-2 text-gray-700 text-sm" %>
<% if @minimum_password_length %>
<small><em class="text-gray-600">(<%= @minimum_password_length %> characters minimum)</em></small>
<% end %>
<%= f.password_field :password,
autocomplete: "new-password",
class: "shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 mb-3 leading-tight focus:outline-none focus:shadow-outline" %>
</div>
<div class="mb-4">
<%= f.label :password_confirmation, class: "block font-bold mb-2 text-gray-700 text-sm" %>
<%= f.password_field :password_confirmation,
autocomplete: "new-password",
class: "appearance-none border leading-tight focus:outline-none px-3 py-2 rounded shadow focus:shadow-outline text-gray-700 w-full" %>
</div>
<div class="mb-4">
<%= f.submit "Sign Up",
class: "button bg-blue-500 hover:bg-blue-700 font-bold text-white focus:outline-none py-2 px-4 rounded focus:shadow-outline w-full" %>
</div>
<%= render "devise/shared/links" %>
<% end %>
<%= render "devise/shared/form_footer" %>
</div>