diff --git a/.gitignore b/.gitignore index f495eeb..436a5d1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,43 +1,42 @@ -# See https://help.github.com/articles/ignoring-files for more about ignoring files. -# -# If you find yourself ignoring temporary files generated by your text editor -# or operating system, you probably want to add a global ignore instead: -# git config --global core.excludesfile '~/.gitignore_global' - -# Ignore bundler config. -/.bundle - -# Ignore the default SQLite database. -/db/*.sqlite3 -/db/*.sqlite3-journal - -# Ignore all logfiles and tempfiles. -/log/* -/tmp/* -!/log/.keep -!/tmp/.keep - -# Ignore uploaded files in development -/storage/* -!/storage/.keep - -/node_modules -/yarn-error.log - -/public/assets -.byebug_history - -# Ignore master key for decrypting credentials and more. -/config/master.key - -# Ignore .vscode -/.vscode - -# Ignore all DS_Store file +``` +# Dependencies +node_modules/ + +# Build artifacts +dist/ +build/ +*.css.map + +# Cache directories +.sass-cache/ +.tailwind/ +.postcss-cache/ + +# Environment +.env +.env.local +*.env.* + +# Logs +*.log + +# Editor +.vscode/ +.idea/ +*.swp +*.swo + +# OS .DS_Store - -TODO.task -# Ignore application configuration -/config/application.yml - -coverage \ No newline at end of file +Thumbs.db + +# Ruby/Rails specific +*.gem +.bundle/ +vendor/bundle/ +.ruby-version +.rubocop.yml +coverage/ +tmp/ +log/ +``` \ No newline at end of file diff --git a/Gemfile b/Gemfile index 85497b5..b165e06 100644 --- a/Gemfile +++ b/Gemfile @@ -9,6 +9,8 @@ gem 'pg' gem 'puma', '~> 4.3' # Use SCSS for stylesheets gem 'sass-rails', '~> 5.0' +# Use Tailwind CSS for styling +gem 'tailwindcss-rails' # Use Uglifier as compressor for JavaScript assets gem 'uglifier', '>= 1.3.0' # See https://github.com/rails/execjs#readme for more supported runtimes @@ -28,8 +30,7 @@ gem 'bcrypt', '~> 3.1.7' # User slim for views gem 'slim-rails' -# Use Bootstrap for CSS framework -gem 'twitter-bootstrap-rails', '~> 2.2.8' + # Wysiwig editor gem 'tinymce-rails' diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 0388ae2..553ee3f 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -11,7 +11,6 @@ // about supported directives. // //= require jquery3 -//= require twitter/bootstrap //= require rails-ujs //= require activestorage //= require turbolinks diff --git a/app/assets/stylesheets/application.css.scss b/app/assets/stylesheets/application.css.scss index eb86642..61dcacc 100644 --- a/app/assets/stylesheets/application.css.scss +++ b/app/assets/stylesheets/application.css.scss @@ -11,7 +11,6 @@ * It is generally better to create a new file per style scope. * *= require_self - *= require bootstrap_and_overrides *= require font-awesome *= require jquery-ui *= require jquery.jqplot/jquery.jqplot.min.css @@ -19,3 +18,5 @@ *= require layout-base */ +/* Tailwind imports will be handled via the tailwind.config.js and import in the main application layout */ + diff --git a/app/assets/stylesheets/application.tailwind.css b/app/assets/stylesheets/application.tailwind.css new file mode 100644 index 0000000..8cf7605 --- /dev/null +++ b/app/assets/stylesheets/application.tailwind.css @@ -0,0 +1,5 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +/* Custom styles can go here */ \ No newline at end of file diff --git a/app/views/ahp_comparisons/_toolbar.html.slim b/app/views/ahp_comparisons/_toolbar.html.slim index 090976a..601afe1 100644 --- a/app/views/ahp_comparisons/_toolbar.html.slim +++ b/app/views/ahp_comparisons/_toolbar.html.slim @@ -1,6 +1,6 @@ #toolbar.button-toolbar button.btn.btn-primary Save ' - = link_to :back, class: 'btn' do + = link_to :back, class: "px-4 py-2 bg-blue-500 text-white rounded" do i.icon-remove | Close diff --git a/app/views/alternatives/edit.html.slim b/app/views/alternatives/edit.html.slim index 421d230..5d250bb 100644 --- a/app/views/alternatives/edit.html.slim +++ b/app/views/alternatives/edit.html.slim @@ -16,7 +16,7 @@ == render partial: 'fields', locals: { form: alt_form } #toolbar.button-toolbar - = alt_form.submit 'Save', class:"btn btn-primary" + = alt_form.submit 'Save', class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" = link_to ' Cancel'.html_safe, alternative_path(@alternative), diff --git a/app/views/alternatives/index.html.slim b/app/views/alternatives/index.html.slim index b5b8d87..51fc14d 100644 --- a/app/views/alternatives/index.html.slim +++ b/app/views/alternatives/index.html.slim @@ -16,5 +16,5 @@ = render partial: 'table' #toolbar.button-toolbar - = conditional_link_to new_article_alternative_path(@article), can?(:update, @article), class: "btn btn-primary" + = conditional_link_to new_article_alternative_path(@article), can?(:update, @article), class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" | Add new alternative diff --git a/app/views/alternatives/new.html.slim b/app/views/alternatives/new.html.slim index c71c302..40dedaf 100644 --- a/app/views/alternatives/new.html.slim +++ b/app/views/alternatives/new.html.slim @@ -15,7 +15,7 @@ = form_with model: [@article, @alternative] do |f| == render partial: 'fields', locals: { form: f } #toolbar.button-toolbar - = f.submit 'Save', class:"btn btn-primary" + = f.submit 'Save', class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" = link_to ' Cancel'.html_safe, article_alternatives_path(@article), class:"btn" diff --git a/app/views/alternatives/show.html.slim b/app/views/alternatives/show.html.slim index a8a0975..5c65b87 100644 --- a/app/views/alternatives/show.html.slim +++ b/app/views/alternatives/show.html.slim @@ -36,10 +36,10 @@ = property.value #toolbar.button-toolbar - = conditional_link_to edit_alternative_path(@alternative), can?(:update, @article), class:"btn btn-primary" do + = conditional_link_to edit_alternative_path(@alternative), can?(:update, @article), class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" do i.icon-edit | Edit - = conditional_link_to new_article_alternative_path(@article), can?(:update, @article), class:'btn btn-primary' do + = conditional_link_to new_article_alternative_path(@article), can?(:update, @article), class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" do i.icon-plus | Add new alternative diff --git a/app/views/articles/_article_content.html.slim b/app/views/articles/_article_content.html.slim index 012d034..b48a87d 100644 --- a/app/views/articles/_article_content.html.slim +++ b/app/views/articles/_article_content.html.slim @@ -21,7 +21,7 @@ .clearfix br #toolbar.button-toolbar - = conditional_link_to edit_article_path(@article), can?(:update, @article), class:'btn btn-primary' + = conditional_link_to edit_article_path(@article), can?(:update, @article), class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" i.icon-edit | Edit -if current_user != @article.user diff --git a/app/views/articles/_form.html.slim b/app/views/articles/_form.html.slim index f8762ef..8f35f70 100644 --- a/app/views/articles/_form.html.slim +++ b/app/views/articles/_form.html.slim @@ -22,7 +22,7 @@ = f.label :active, class: "checkbox" #toolbar.button-toolbar - = f.submit 'Save', class:'btn btn-primary', disable_with: 'Please wait...' + = f.submit 'Save', class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700", disable_with: 'Please wait...' = link_to @article, class:'btn' do i.icon-remove | Cancel diff --git a/app/views/bookmarks/_bookmark_form.html.slim b/app/views/bookmarks/_bookmark_form.html.slim index c369a45..c8aa565 100644 --- a/app/views/bookmarks/_bookmark_form.html.slim +++ b/app/views/bookmarks/_bookmark_form.html.slim @@ -6,8 +6,8 @@ |    | Bookmark: -if user.following_articles.include? article - = link_to user_bookmark_path(current_user, id: article.id), method: :delete, remote: true, class: 'btn btn-small' + = link_to user_bookmark_path(current_user, id: article.id), method: :delete, remote: true, class: "px-3 py-1 bg-blue-500 text-white rounded text-sm" i.icon-trash style="color: salmon" -else - = link_to user_bookmarks_path(current_user, id: article.id), method: :post, remote: true, class: 'btn btn-small' + = link_to user_bookmarks_path(current_user, id: article.id), method: :post, remote: true, class: "px-3 py-1 bg-blue-500 text-white rounded text-sm" | Add diff --git a/app/views/criteria/_table.html.slim b/app/views/criteria/_table.html.slim index 2f3fe40..6bdb0fd 100644 --- a/app/views/criteria/_table.html.slim +++ b/app/views/criteria/_table.html.slim @@ -17,12 +17,12 @@ .section style="padding-top:0px; padding-bottom:0px" .btn-toolbar.button-toolbar.mid-section .btn-group - = conditional_link_to edit_criterion_path(criterion.id), can?(:update, presenter.article), class:"btn btn-primary" + = conditional_link_to edit_criterion_path(criterion.id), can?(:update, presenter.article), class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" i.icon-edit | Edit .btn-group = conditional_link_to new_criterion_path(criterion), can?(:update, presenter.article), - class:"btn btn-primary", + class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700", data: presenter.confirm_destroy_related_appraisals i.icon-plus | New subcriterion diff --git a/app/views/criteria/_toolbar.html.slim b/app/views/criteria/_toolbar.html.slim index d66a211..e86d8e9 100644 --- a/app/views/criteria/_toolbar.html.slim +++ b/app/views/criteria/_toolbar.html.slim @@ -3,7 +3,7 @@ button.btn.btn-inverse.disabled | Compare - if can?(:update, presenter.article) - = link_to_comparison_method(presenter.comparison_type || 'AHPComparison', presenter, {class:'btn btn-primary', 'data-skip'=>true }) + = link_to_comparison_method(presenter.comparison_type || 'AHPComparison', presenter, {class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700", 'data-skip'=>true }) button.btn.btn-primary.dropdown-toggle data-toggle='dropdown' span.caret ul.dropdown-menu diff --git a/app/views/criteria/edit.html.slim b/app/views/criteria/edit.html.slim index 8073b22..348db36 100644 --- a/app/views/criteria/edit.html.slim +++ b/app/views/criteria/edit.html.slim @@ -14,7 +14,7 @@ == render partial: 'fields', locals: { form: f, criterion: @criterion, parent_id: @presenter.parent_id, cost: false } #toolbar.button-toolbar - = f.submit 'Save', class:"btn btn-primary" + = f.submit 'Save', class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" = link_to @criterion, class:"btn" do i.icon-remove | Cancel diff --git a/app/views/criteria/new.html.slim b/app/views/criteria/new.html.slim index dab8fb6..d95a86e 100644 --- a/app/views/criteria/new.html.slim +++ b/app/views/criteria/new.html.slim @@ -20,7 +20,7 @@ == render partial: 'fields', locals: { form: f, criterion: @criterion, parent_id: @presenter.parent_id, cost: false } br #toolbar.button-toolbar - = f.submit 'Save', class:"btn btn-primary" + = f.submit 'Save', class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" '   = link_to criterion_path(@presenter.parent), class:'btn' do i.icon-remove diff --git a/app/views/devise/confirmations/new.html.slim b/app/views/devise/confirmations/new.html.slim index e44d93f..18d8d78 100644 --- a/app/views/devise/confirmations/new.html.slim +++ b/app/views/devise/confirmations/new.html.slim @@ -11,5 +11,5 @@ = f.label :email = f.email_field :email, autofocus: true, autocomplete: "email", value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email) .button-toolbar - = f.submit "Resend confirmation instructions", class: 'btn btn-primary' + = f.submit "Resend confirmation instructions", class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" = render "devise/shared/links" diff --git a/app/views/devise/passwords/edit.html.slim b/app/views/devise/passwords/edit.html.slim index e3d0a5f..95990dd 100644 --- a/app/views/devise/passwords/edit.html.slim +++ b/app/views/devise/passwords/edit.html.slim @@ -21,5 +21,5 @@ = f.label :password_confirmation, "Confirm new password" = f.password_field :password_confirmation, autocomplete: "new-password" .button-toolbar - = f.submit "Change my password", class: 'btn btn-primary' + = f.submit "Change my password", class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" = render "devise/shared/links" diff --git a/app/views/devise/passwords/new.html.slim b/app/views/devise/passwords/new.html.slim index d0041c1..e9fe62f 100644 --- a/app/views/devise/passwords/new.html.slim +++ b/app/views/devise/passwords/new.html.slim @@ -12,6 +12,6 @@ .controls = f.email_field :email, autofocus: true, autocomplete: "email" .button-toolbar - = f.submit "Send me reset password instructions", class: 'btn btn-primary' + = f.submit "Send me reset password instructions", class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" = render "devise/shared/links" diff --git a/app/views/devise/registrations/edit.html.slim b/app/views/devise/registrations/edit.html.slim index 69c59f6..64342c9 100644 --- a/app/views/devise/registrations/edit.html.slim +++ b/app/views/devise/registrations/edit.html.slim @@ -37,7 +37,7 @@ | (we need your current password to confirm your changes) = f.password_field :current_password, autocomplete: "current-password" .button-toolbar - = f.submit "Update", class: 'btn btn-primary' + = f.submit "Update", class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" = button_to "Cancel my account", registration_path(resource_name), data: { confirm: "Are you sure?" }, method: :delete = link_to "Back", :back diff --git a/app/views/devise/registrations/new.html.slim b/app/views/devise/registrations/new.html.slim index 79d3692..cf5ee38 100644 --- a/app/views/devise/registrations/new.html.slim +++ b/app/views/devise/registrations/new.html.slim @@ -24,7 +24,7 @@ = f.password_field :password_confirmation, class: 'form-control', autocomplete: "new-password" .button-toolbar - = f.submit "Sign Up", class: 'btn btn-primary' + = f.submit "Sign Up", class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" = render "devise/shared/links" \ No newline at end of file diff --git a/app/views/devise/sessions/new.html.slim b/app/views/devise/sessions/new.html.slim index e25d472..8a2381f 100644 --- a/app/views/devise/sessions/new.html.slim +++ b/app/views/devise/sessions/new.html.slim @@ -20,6 +20,6 @@ = f.label :remember_me, class: "checkbox" .button-toolbar - = f.submit "Log in", class: 'btn btn-primary' + = f.submit "Log in", class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" = render "devise/shared/links" diff --git a/app/views/devise/unlocks/new.html.slim b/app/views/devise/unlocks/new.html.slim index 9b32c1b..533786a 100644 --- a/app/views/devise/unlocks/new.html.slim +++ b/app/views/devise/unlocks/new.html.slim @@ -12,6 +12,6 @@ = f.label :email = f.email_field :email, autofocus: true, autocomplete: "email" .button-toolbar - = f.submit "Resend unlock instructions", class: 'btn btn-primary' + = f.submit "Resend unlock instructions", class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" = render "devise/shared/links" diff --git a/app/views/direct_comparisons/_direct_form.html.slim b/app/views/direct_comparisons/_direct_form.html.slim index bd2f005..797ee11 100644 --- a/app/views/direct_comparisons/_direct_form.html.slim +++ b/app/views/direct_comparisons/_direct_form.html.slim @@ -53,6 +53,6 @@ #toolbar.button-toolbar button.btn.btn-primary Save ' - = link_to :back, class: 'btn' do + = link_to :back, class: "px-4 py-2 bg-blue-500 text-white rounded" do i.icon-remove | Close diff --git a/app/views/layouts/_footer.html.slim b/app/views/layouts/_footer.html.slim index ffb4502..a300b25 100644 --- a/app/views/layouts/_footer.html.slim +++ b/app/views/layouts/_footer.html.slim @@ -1,12 +1,12 @@ #footer-spacer #footer - .container-fluid.clearfix - .row-fluid - .span1 - .span2 - h5 Foreplot - .span2 - span.copyright © 2020 Foreplot - br - br - div 45832-19278 + .container.mx-auto.px-4.py-6 + .grid.grid-cols-1.md:grid-cols-3.gap-4 + .col-span-1 + .col-span-1 + h5.font-bold.text-lg Foreplot + .col-span-1 + span.copyright © 2020 Foreplot + br + br + div 45832-19278 diff --git a/app/views/layouts/_header.html.slim b/app/views/layouts/_header.html.slim index 15415fb..99c99d8 100644 --- a/app/views/layouts/_header.html.slim +++ b/app/views/layouts/_header.html.slim @@ -1,64 +1,65 @@ -.navbar.navbar-fixed-top - .navbar-inner - .container-fluid - header - a.btn.btn-navbar data-toggle="collapse" data-target=".nav-collapse" - span.icon-bar - span.icon-bar - span.icon-bar - = link_to logo, root_path, class: "brand" +nav class="bg-gray-800 sticky top-0 z-50" + .container.mx-auto.px-4.py-2 + .flex.items-center.justify-between + header.flex.items-center + button.btn.btn-navbar.md:hidden.text-white.mr-2 data-toggle="collapse" data-target=".nav-collapse" + .w-6.h-5.flex.flex-col.justify-between + span.block.w-6.h-0.5.bg-white + span.block.w-6.h-0.5.bg-white + span.block.w-6.h-0.5.bg-white + = link_to logo, root_path, class: "text-xl font-bold text-white" - nav.nav-collapse - ul.nav.pull-right + nav.nav-collapse.hidden.md:block + .flex.items-center + .search-form.mr-4 + = form_tag articles_path, method: :get, class:"form-inline" do |form| + = text_field_tag :q, "", class:"px-3 py-1 rounded border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500 w-48", placeholder:"Search articles..." + + ul.flex.space-x-4.items-center li - .search-form - = form_tag articles_path, method: :get, class:"form-horizontal" do |form| - = text_field_tag :q, "", class:"input-medium span3", placeholder:"Search articles..." + = link_to :root, class: "text-white hover:text-gray-300 flex items-center" do + i.icon-home.mr-1 + span.hidden.md:inline Home - li.divider-vertical - li rel="tooltip" data-original-title="Home" - = link_to :root do - i.icon-home - - li.divider-vertical - li.dropdown rel="tooltip" data-original-title="Articles" - a.dropdown-toggle href="/articles" data-toggle="dropdown" - | Articles - b.caret - ul.dropdown-menu - li - a href="/" - i.icon-star-empty - | Featured - -if signed_in? - li.divider - li - = link_to my_articles_path do - i.icon-file - | My articles - -if can? :create, Article - li.divider - li - = link_to new_article_path do - i.icon-plus - | Create new article + li + .relative + a.dropdown-toggle.text-white.hover:text-gray-300 href="/articles" data-toggle="dropdown" + | Articles + b.caret.ml-1.hidden.md:inline + .dropdown-menu.absolute.left-0.mt-2.py-2.bg-white.rounded.shadow-lg.hidden.opacity-0.transition-opacity.duration-300 + .py-1 + a.text-gray-800.hover:bg-gray-100.px-4.py-2.block href="/" + i.icon-star-empty.mr-2 + | Featured + -if signed_in? + .border-t.border-gray-200.my-1 + li + = link_to my_articles_path, class: "text-gray-800.hover:bg-gray-100.px-4.py-2.block flex items-center" do + i.icon-file.mr-2 + | My articles + -if can? :create, Article + .border-t.border-gray-200.my-1 + li + = link_to new_article_path, class: "text-gray-800.hover:bg-gray-100.px-4.py-2.block flex items-center" do + i.icon-plus.mr-2 + | Create new article - if signed_in? - li.dropdown - a.dropdown-toggle.user-name.user-avatar href="/users" data-toggle="dropdown" - i.icon-user + li.relative.ml-4 + a.dropdown-toggle.user-name.user-avatar.text-white.hover:text-gray-300.flex.items-center href="/users" data-toggle="dropdown" + i.icon-user.mr-2 strong = current_user.name - b.caret - ul.dropdown-menu - li = link_to "User Profile", current_user - li = link_to "Manage Account", edit_user_path(current_user)+"?fn=a1" - li.divider - li = link_to "Logout", destroy_user_session_path, method: :delete + b.caret.ml-1.hidden.md:inline + .dropdown-menu.absolute.right-0.mt-2.py-2.bg-white.rounded.shadow-lg.hidden.opacity-0.transition-opacity.duration-300 + .py-1 + = link_to "User Profile", current_user, class: "block px-4 py-2 text-gray-800 hover:bg-gray-100" + = link_to "Manage Account", edit_user_path(current_user)+"?fn=a1", class: "block px-4 py-2 text-gray-800 hover:bg-gray-100" + .border-t.border-gray-200.my-1 + = link_to "Logout", destroy_user_session_path, method: :delete, class: "block px-4 py-2 text-gray-800 hover:bg-gray-100" - else - li - = link_to "Login", new_user_session_path, 'data-skip' => true - li - = link_to "Sign up", new_user_registration_path - - + .flex.space-x-4 + li + = link_to "Login", new_user_session_path, 'data-skip' => true, class: "text-white hover:text-gray-300" + li + = link_to "Sign up", new_user_registration_path, class: "text-white hover:text-gray-300" diff --git a/app/views/layouts/application.html.slim b/app/views/layouts/application.html.slim index 67475b9..2ec8899 100644 --- a/app/views/layouts/application.html.slim +++ b/app/views/layouts/application.html.slim @@ -8,6 +8,7 @@ html = yield :head = turbolinks_cache_control_meta_tag = stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' + = stylesheet_link_tag 'application.tailwind', media: 'all' = javascript_include_tag 'application', 'data-turbolinks-track': 'reload' link href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap" rel="stylesheet" meta name="viewport" content="width=device-width, initial-scale=1.0" @@ -16,11 +17,11 @@ html = render 'layouts/header' = yield :article_menu - .container-fluid style="margin-top:32px" data-page-container=true - .row-fluid - .span3 + .container.mx-auto.pt-8 data-page-container=true + .flex.flex-col.md:flex-row.gap-4 + .w-full.md:w-1/4 = yield :left_frame - .span9 + .w-full.md:w-3/4 div = yield :layout diff --git a/app/views/magiq_comparisons/_toolbar.html.slim b/app/views/magiq_comparisons/_toolbar.html.slim index 6c0cfed..a180bbb 100644 --- a/app/views/magiq_comparisons/_toolbar.html.slim +++ b/app/views/magiq_comparisons/_toolbar.html.slim @@ -1,6 +1,6 @@ #toolbar.button-toolbar - = form.submit 'Save', class:"btn btn-primary", disabled: true + = form.submit 'Save', class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700", disabled: true ' - = link_to @form.criterion, class: 'btn' do + = link_to @form.criterion, class: "px-4 py-2 bg-blue-500 text-white rounded" do i.icon-remove | Close diff --git a/app/views/members/index.html.slim b/app/views/members/index.html.slim index 8bfb8f1..ac7618b 100644 --- a/app/views/members/index.html.slim +++ b/app/views/members/index.html.slim @@ -33,18 +33,18 @@ i.icon-remove td -if can?(:update, @article) - = link_to edit_member_path(member), class:'btn btn-small' do + = link_to edit_member_path(member), class: "px-3 py-1 bg-blue-500 text-white rounded text-sm" do i.icon-edit | Edit - = link_to member_path(member), class:'btn btn-small' do + = link_to member_path(member), class: "px-3 py-1 bg-blue-500 text-white rounded text-sm" do i.icon-eye-open | View br #toolbar.button-toolbar -if can? :update, @article - = link_to "Invite new participants", new_article_member_path(@article), class: "btn btn-primary" + = link_to "Invite new participants", new_article_member_path(@article), class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" -else - = link_to "Close", @article, class: "btn" + = link_to "Close", @article, class: "px-4 py-2 bg-blue-500 text-white rounded" .pull-right = link_to article_members_path(@article), class:'btn btn-icon' do i.icon-refresh diff --git a/app/views/members/new_request.html.slim b/app/views/members/new_request.html.slim index 454f745..02d4c20 100644 --- a/app/views/members/new_request.html.slim +++ b/app/views/members/new_request.html.slim @@ -20,6 +20,6 @@ = f.text_area :body, class: 'span5', rows: 5 br #toolbar.button-toolbar - = form.submit "Send request", class: "btn btn-primary" + = form.submit "Send request", class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" ' - = link_to "Cancel", article_members_path(@article), class: "btn" \ No newline at end of file + = link_to "Cancel", article_members_path(@article), class: "px-4 py-2 bg-blue-500 text-white rounded" \ No newline at end of file diff --git a/app/views/users/edit.html.slim b/app/views/users/edit.html.slim index 7d3e812..657abc6 100644 --- a/app/views/users/edit.html.slim +++ b/app/views/users/edit.html.slim @@ -25,7 +25,7 @@ = tinymce #toolbar.button-toolbar - = form.submit 'Save', class:"btn btn-primary" + = form.submit 'Save', class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" = link_to user_path(@user), class:"btn" do i.icon-remove | Cancel diff --git a/app/views/users/signup.html.slim b/app/views/users/signup.html.slim index 33d071a..de0a87d 100644 --- a/app/views/users/signup.html.slim +++ b/app/views/users/signup.html.slim @@ -19,7 +19,7 @@ = f.password_field :password_confirmation, class: 'form-control' .form-group.actions.text-center - = f.submit "Sign Up", class: 'btn btn-primary' + = f.submit "Sign Up", class: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..31e9403 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: [ + require('tailwindcss'), + require('autoprefixer'), + ] +} \ No newline at end of file diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..c9c41f7 --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,13 @@ +module.exports = { + content: [ + './app/views/**/*.html.erb', + './app/views/**/*.slim', + './app/helpers/**/*.rb', + './app/assets/stylesheets/**/*.css', + './app/javascript/**/*.js' + ], + theme: { + extend: {}, + }, + plugins: [], +} \ No newline at end of file