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