From bc6bbc85d71584f783a5cb32170580e44dd4ccea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Geonizeli?= Date: Mon, 9 Aug 2021 23:11:18 -0300 Subject: [PATCH] add styles to devise --- app/assets/stylesheets/application.scss | 11 ---- app/helpers/home_helper.rb | 3 - app/helpers/tailwind_helper.rb | 17 +++++ app/javascript/packs/application.ts | 1 - app/javascript/packs/react.ts | 1 + .../src/components/Navbar/Navbar.tsx | 13 ++-- app/views/devise/registrations/edit.html.erb | 26 ++++---- app/views/devise/registrations/new.html.erb | 28 ++++---- app/views/devise/sessions/new.html.erb | 18 ++--- app/views/layouts/application.html.erb | 1 + app/views/layouts/devise.html.erb | 2 - config/locales/activerecord.yml | 13 ++++ .../locales/{pt-BR.yml => administrate.yml} | 0 config/locales/devise.en.yml | 65 ------------------- config/locales/en.yml | 33 ---------- spec/helpers/tailwind_helper_spec.rb | 16 +++++ 16 files changed, 92 insertions(+), 156 deletions(-) delete mode 100644 app/helpers/home_helper.rb create mode 100644 app/helpers/tailwind_helper.rb create mode 100644 app/javascript/packs/react.ts create mode 100644 config/locales/activerecord.yml rename config/locales/{pt-BR.yml => administrate.yml} (100%) delete mode 100644 config/locales/devise.en.yml delete mode 100644 config/locales/en.yml create mode 100644 spec/helpers/tailwind_helper_spec.rb diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss index 905915a..e69de29 100644 --- a/app/assets/stylesheets/application.scss +++ b/app/assets/stylesheets/application.scss @@ -1,11 +0,0 @@ -.grid { - display: grid; -} - -.place-items-center { - place-items: center; -} - -.h-screen { - height: 100vh; -} \ No newline at end of file diff --git a/app/helpers/home_helper.rb b/app/helpers/home_helper.rb deleted file mode 100644 index 8cec453..0000000 --- a/app/helpers/home_helper.rb +++ /dev/null @@ -1,3 +0,0 @@ -# frozen_string_literal: true -module HomeHelper -end diff --git a/app/helpers/tailwind_helper.rb b/app/helpers/tailwind_helper.rb new file mode 100644 index 0000000..49477e7 --- /dev/null +++ b/app/helpers/tailwind_helper.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true +# rubocop:disable Layout/LineLength +module TailwindHelper + class << self + def input_classes + "rounded-lg border-transparent flex-1 appearance-none border border-gray-300 w-full py-2 px-4 bg-white text-gray-700 placeholder-gray-400 shadow-sm text-base focus:outline-none focus:ring-2 focus:ring-blue-600 focus:border-transparent" + end + + def base_button_classes + "cursor-pointer py-2 px-4" + end + + def primary_button_classes + "#{base_button_classes} bg-purple-600 hover:bg-purple-700 focus:ring-purple-500 focus:ring-offset-purple-200 text-white w-full transition ease-in duration-200 text-center text-base font-semibold shadow-md focus:outline-none focus:ring-2 focus:ring-offset-2 rounded-lg" + end + end +end diff --git a/app/javascript/packs/application.ts b/app/javascript/packs/application.ts index 3e605ff..d1f8140 100644 --- a/app/javascript/packs/application.ts +++ b/app/javascript/packs/application.ts @@ -14,4 +14,3 @@ import "stylesheets/application"; import "regenerator-runtime"; -import "../src/index"; diff --git a/app/javascript/packs/react.ts b/app/javascript/packs/react.ts new file mode 100644 index 0000000..3077918 --- /dev/null +++ b/app/javascript/packs/react.ts @@ -0,0 +1 @@ +import "../src/index"; diff --git a/app/javascript/src/components/Navbar/Navbar.tsx b/app/javascript/src/components/Navbar/Navbar.tsx index 0f391a6..1377a04 100644 --- a/app/javascript/src/components/Navbar/Navbar.tsx +++ b/app/javascript/src/components/Navbar/Navbar.tsx @@ -5,7 +5,7 @@ import { useApp } from "../../contexts/AppProvider"; import { useCurrentUser } from "../../contexts/UserProvider"; const linkStyles = - "cursor-pointer hover:bg-gray-100 h-full px-4 font-bold flex items-center"; + "cursor-pointer bg-transparent hover:bg-gray-100 h-full px-4 font-bold flex items-center"; export const Navbar = () => { const { setSideNavExpanded } = useApp(); @@ -60,14 +60,9 @@ export const Navbar = () => { ) : ( -
- - -
+ + Entrar + )} diff --git a/app/views/devise/registrations/edit.html.erb b/app/views/devise/registrations/edit.html.erb index 07e65b7..fb8f31b 100644 --- a/app/views/devise/registrations/edit.html.erb +++ b/app/views/devise/registrations/edit.html.erb @@ -1,43 +1,47 @@ -

<%= t('.title', resource: resource.model_name.human) %>

+

+ <%= t('.title', resource: resource.model_name.human) %> +

<%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %> <%= render "devise/shared/error_messages", resource: resource %> -
+
<%= f.label :email %>
- <%= f.email_field :email, autofocus: true, autocomplete: "email" %> + <%= f.email_field :email, autofocus: true, autocomplete: "email", class: TailwindHelper.input_classes %>
<% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
<%= t('.currently_waiting_confirmation_for_email', email: resource.unconfirmed_email) %>
<% end %> -
+
<%= f.label :password %> (<%= t('.leave_blank_if_you_don_t_want_to_change_it') %>)
- <%= f.password_field :password, autocomplete: "new-password" %> + <%= f.password_field :password, autocomplete: "new-password", class: TailwindHelper.input_classes %> <% if @minimum_password_length %>
<%= t('devise.shared.minimum_password_length', count: @minimum_password_length) %> <% end %>
-
+
<%= f.label :password_confirmation %>
- <%= f.password_field :password_confirmation, autocomplete: "new-password" %> + <%= f.password_field :password_confirmation, autocomplete: "new-password", class: TailwindHelper.input_classes %>
-
+
<%= f.label :current_password %> (<%= t('.we_need_your_current_password_to_confirm_your_changes') %>)
- <%= f.password_field :current_password, autocomplete: "current-password" %> + <%= f.password_field :current_password, autocomplete: "current-password", class: TailwindHelper.input_classes %>
-
- <%= f.submit t('.update') %> +
+ <%= f.submit t('.update'), class: TailwindHelper.primary_button_classes %>
<% end %> + diff --git a/app/views/devise/registrations/new.html.erb b/app/views/devise/registrations/new.html.erb index 81f108a..07ec36d 100644 --- a/app/views/devise/registrations/new.html.erb +++ b/app/views/devise/registrations/new.html.erb @@ -1,38 +1,40 @@ -

<%= t('.sign_up') %>

+

+ <%= t('.sign_up') %> +

<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %> <%= render "devise/shared/error_messages", resource: resource %> -
+
<%= f.label :first_name %>
- <%= f.text_field :first_name, autofocus: true %> + <%= f.text_field :first_name, autofocus: true, class: TailwindHelper.input_classes %>
-
+
<%= f.label :last_name %>
- <%= f.text_field :last_name %> + <%= f.text_field :last_name, class: TailwindHelper.input_classes %>
-
+
<%= f.label :email %>
- <%= f.email_field :email, autocomplete: "email" %> + <%= f.email_field :email, autocomplete: "email", class: TailwindHelper.input_classes %>
-
+
<%= f.label :password %> <% if @minimum_password_length %> <%= t('devise.shared.minimum_password_length', count: @minimum_password_length) %> <% end %>
- <%= f.password_field :password, autocomplete: "new-password" %> + <%= f.password_field :password, autocomplete: "new-password", class: TailwindHelper.input_classes %>
-
+
<%= f.label :password_confirmation %>
- <%= f.password_field :password_confirmation, autocomplete: "new-password" %> + <%= f.password_field :password_confirmation, autocomplete: "new-password", class: TailwindHelper.input_classes %>
-
- <%= f.submit t('.sign_up') %> +
+ <%= f.submit t('.sign_up'), class: TailwindHelper.primary_button_classes %>
<% end %> diff --git a/app/views/devise/sessions/new.html.erb b/app/views/devise/sessions/new.html.erb index b350857..e8e7704 100644 --- a/app/views/devise/sessions/new.html.erb +++ b/app/views/devise/sessions/new.html.erb @@ -1,25 +1,27 @@ -

<%= t('.sign_in') %>

+

+ <%= t('.sign_in') %> +

<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %> -
+
<%= f.label :email %>
- <%= f.email_field :email, autofocus: true, autocomplete: "email" %> + <%= f.email_field :email, autofocus: true, autocomplete: "email", class: TailwindHelper.input_classes %>
-
+
<%= f.label :password %>
- <%= f.password_field :password, autocomplete: "current-password" %> + <%= f.password_field :password, autocomplete: "current-password", class: TailwindHelper.input_classes %>
<% if devise_mapping.rememberable? %> -
+
<%= f.check_box :remember_me %> <%= f.label :remember_me %>
<% end %> -
- <%= f.submit t('.sign_in') %> +
+ <%= f.submit t('.sign_in'), class: TailwindHelper.primary_button_classes %>
<% end %> diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index c82ff68..5c8025c 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -8,6 +8,7 @@ <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %> + <%= javascript_pack_tag 'react', 'data-turbolinks-track': 'reload' %> diff --git a/app/views/layouts/devise.html.erb b/app/views/layouts/devise.html.erb index 7420ddf..ae29191 100644 --- a/app/views/layouts/devise.html.erb +++ b/app/views/layouts/devise.html.erb @@ -8,8 +8,6 @@ <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %> - - diff --git a/config/locales/activerecord.yml b/config/locales/activerecord.yml new file mode 100644 index 0000000..803fcda --- /dev/null +++ b/config/locales/activerecord.yml @@ -0,0 +1,13 @@ +pt-BR: + activerecord: + models: + user_document: + one: Documentos de Usuário + other: Documentos de Usuários + admin_user: + one: Usuário Administrador + other: Usuários Administradores + attributes: + user: + first_name: Primeiro nome + last_name: Último nome diff --git a/config/locales/pt-BR.yml b/config/locales/administrate.yml similarity index 100% rename from config/locales/pt-BR.yml rename to config/locales/administrate.yml diff --git a/config/locales/devise.en.yml b/config/locales/devise.en.yml deleted file mode 100644 index 260e1c4..0000000 --- a/config/locales/devise.en.yml +++ /dev/null @@ -1,65 +0,0 @@ -# Additional translations at https://github.com/heartcombo/devise/wiki/I18n - -en: - devise: - confirmations: - confirmed: "Your email address has been successfully confirmed." - send_instructions: "You will receive an email with instructions for how to confirm your email address in a few minutes." - send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes." - failure: - already_authenticated: "You are already signed in." - inactive: "Your account is not activated yet." - invalid: "Invalid %{authentication_keys} or password." - locked: "Your account is locked." - last_attempt: "You have one more attempt before your account is locked." - not_found_in_database: "Invalid %{authentication_keys} or password." - timeout: "Your session expired. Please sign in again to continue." - unauthenticated: "You need to sign in or sign up before continuing." - unconfirmed: "You have to confirm your email address before continuing." - mailer: - confirmation_instructions: - subject: "Confirmation instructions" - reset_password_instructions: - subject: "Reset password instructions" - unlock_instructions: - subject: "Unlock instructions" - email_changed: - subject: "Email Changed" - password_change: - subject: "Password Changed" - omniauth_callbacks: - failure: "Could not authenticate you from %{kind} because \"%{reason}\"." - success: "Successfully authenticated from %{kind} account." - passwords: - no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided." - send_instructions: "You will receive an email with instructions on how to reset your password in a few minutes." - send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes." - updated: "Your password has been changed successfully. You are now signed in." - updated_not_active: "Your password has been changed successfully." - registrations: - destroyed: "Bye! Your account has been successfully cancelled. We hope to see you again soon." - signed_up: "Welcome! You have signed up successfully." - signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated." - signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked." - signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account." - update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirmation link to confirm your new email address." - updated: "Your account has been updated successfully." - updated_but_not_signed_in: "Your account has been updated successfully, but since your password was changed, you need to sign in again." - sessions: - signed_in: "Signed in successfully." - signed_out: "Signed out successfully." - already_signed_out: "Signed out successfully." - unlocks: - send_instructions: "You will receive an email with instructions for how to unlock your account in a few minutes." - send_paranoid_instructions: "If your account exists, you will receive an email with instructions for how to unlock it in a few minutes." - unlocked: "Your account has been unlocked successfully. Please sign in to continue." - errors: - messages: - already_confirmed: "was already confirmed, please try signing in" - confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one" - expired: "has expired, please request a new one" - not_found: "not found" - not_locked: "was not locked" - not_saved: - one: "1 error prohibited this %{resource} from being saved:" - other: "%{count} errors prohibited this %{resource} from being saved:" diff --git a/config/locales/en.yml b/config/locales/en.yml deleted file mode 100644 index cf9b342..0000000 --- a/config/locales/en.yml +++ /dev/null @@ -1,33 +0,0 @@ -# Files in the config/locales directory are used for internationalization -# and are automatically loaded by Rails. If you want to use locales other -# than English, add the necessary files in this directory. -# -# To use the locales, use `I18n.t`: -# -# I18n.t 'hello' -# -# In views, this is aliased to just `t`: -# -# <%= t('hello') %> -# -# To use a different locale, set it with `I18n.locale`: -# -# I18n.locale = :es -# -# This would use the information in config/locales/es.yml. -# -# The following keys must be escaped otherwise they will not be retrieved by -# the default I18n backend: -# -# true, false, on, off, yes, no -# -# Instead, surround them with single quotes. -# -# en: -# 'true': 'foo' -# -# To learn more, please read the Rails Internationalization guide -# available at https://guides.rubyonrails.org/i18n.html. - -en: - hello: "Hello world" diff --git a/spec/helpers/tailwind_helper_spec.rb b/spec/helpers/tailwind_helper_spec.rb new file mode 100644 index 0000000..d3f70fe --- /dev/null +++ b/spec/helpers/tailwind_helper_spec.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true +require "rails_helper" + +# Specs in this file have access to a helper object that includes +# the TailwindHelper. For example: +# +# describe TailwindHelper do +# describe "string concat" do +# it "concats two strings with spaces" do +# expect(helper.concat_strings("this","that")).to eq("this that") +# end +# end +# end +RSpec.describe(TailwindHelper, type: :helper) do + pending "add some examples to (or delete) #{__FILE__}" +end