diff --git a/.gitignore b/.gitignore index 5b61b73..01227f7 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,6 @@ node_modules # https://vitejs.dev/guide/env-and-mode.html#env-files *.local + +/app/assets/builds/* +!/app/assets/builds/.keep diff --git a/Gemfile b/Gemfile index 79bbe07..77c61ef 100644 --- a/Gemfile +++ b/Gemfile @@ -80,3 +80,5 @@ group :development do end gem "dockerfile-rails", ">= 1.2", :group => :development + +gem "tailwindcss-rails", "~> 2.7" diff --git a/Gemfile.lock b/Gemfile.lock index b3f74bd..ec796d3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -115,7 +115,6 @@ GEM factory_bot_rails (6.4.3) factory_bot (~> 6.4) railties (>= 5.0.0) - foreman (0.88.1) globalid (1.2.1) activesupport (>= 6.1) i18n (1.14.5) @@ -271,6 +270,18 @@ GEM railties (>= 6.0.0) stringio (3.1.1) strscan (3.1.0) + tailwindcss-rails (2.7.3) + railties (>= 7.0.0) + tailwindcss-rails (2.7.3-aarch64-linux) + railties (>= 7.0.0) + tailwindcss-rails (2.7.3-arm-linux) + railties (>= 7.0.0) + tailwindcss-rails (2.7.3-arm64-darwin) + railties (>= 7.0.0) + tailwindcss-rails (2.7.3-x86_64-darwin) + railties (>= 7.0.0) + tailwindcss-rails (2.7.3-x86_64-linux) + railties (>= 7.0.0) thor (1.3.1) timeout (0.4.1) turbo-rails (2.0.6) @@ -316,7 +327,6 @@ DEPENDENCIES dockerfile-rails (>= 1.2) dotenv-rails factory_bot_rails - foreman jbuilder jsbundling-rails pg (~> 1.5) @@ -326,6 +336,7 @@ DEPENDENCIES rubocop-rails sprockets-rails stimulus-rails + tailwindcss-rails (~> 2.7) turbo-rails tzinfo-data vite_rails diff --git a/Procfile.dev b/Procfile.dev index 79a517d..493b7b3 100644 --- a/Procfile.dev +++ b/Procfile.dev @@ -1,3 +1,4 @@ vite: bin/vite dev web: bin/rails s -p 3000 -b 0.0.0.0 +css: bin/rails tailwindcss:watch[always] diff --git a/app/assets/builds/.keep b/app/assets/builds/.keep new file mode 100644 index 0000000..e69de29 diff --git a/app/assets/config/manifest.js b/app/assets/config/manifest.js index 5918193..338a0e8 100644 --- a/app/assets/config/manifest.js +++ b/app/assets/config/manifest.js @@ -1,2 +1,3 @@ //= link_tree ../images //= link_directory ../stylesheets .css +//= link_tree ../builds diff --git a/app/assets/stylesheets/application.tailwind.css b/app/assets/stylesheets/application.tailwind.css new file mode 100644 index 0000000..8666d2f --- /dev/null +++ b/app/assets/stylesheets/application.tailwind.css @@ -0,0 +1,13 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +/* + +@layer components { + .btn-primary { + @apply py-2 px-4 bg-blue-200; + } +} + +*/ diff --git a/app/frontend/components/ApplicationEditView.vue b/app/frontend/components/ApplicationEditView.vue index fe89c81..eb58ccd 100644 --- a/app/frontend/components/ApplicationEditView.vue +++ b/app/frontend/components/ApplicationEditView.vue @@ -50,17 +50,18 @@ export default { diff --git a/app/frontend/components/ApplicationView.vue b/app/frontend/components/ApplicationView.vue index 8a7cc6e..8688dc8 100644 --- a/app/frontend/components/ApplicationView.vue +++ b/app/frontend/components/ApplicationView.vue @@ -49,10 +49,12 @@ export default { diff --git a/app/frontend/components/ErrorMessage.vue b/app/frontend/components/ErrorMessage.vue index bdba655..772ae49 100644 --- a/app/frontend/components/ErrorMessage.vue +++ b/app/frontend/components/ErrorMessage.vue @@ -5,9 +5,9 @@ defineProps({ diff --git a/app/frontend/components/HomeView.vue b/app/frontend/components/HomeView.vue index 42889be..90a3725 100644 --- a/app/frontend/components/HomeView.vue +++ b/app/frontend/components/HomeView.vue @@ -46,25 +46,25 @@ export default { diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 15a5bf1..a3b70b1 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -5,6 +5,7 @@ <%= csrf_meta_tags %> <%= csp_meta_tag %> + <%= stylesheet_link_tag "tailwind", "inter-font", "data-turbo-track": "reload" %> <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %> <%= vite_client_tag %> @@ -12,6 +13,6 @@ -
+
diff --git a/bin/dev b/bin/dev new file mode 100755 index 0000000..ad72c7d --- /dev/null +++ b/bin/dev @@ -0,0 +1,16 @@ +#!/usr/bin/env sh + +if ! gem list foreman -i --silent; then + echo "Installing foreman..." + gem install foreman +fi + +# Default to port 3000 if not specified +export PORT="${PORT:-3000}" + +# Let the debug gem allow remote connections, +# but avoid loading until `debugger` is called +export RUBY_DEBUG_OPEN="true" +export RUBY_DEBUG_LAZY="true" + +exec foreman start -f Procfile.dev "$@" diff --git a/config/tailwind.config.js b/config/tailwind.config.js new file mode 100644 index 0000000..5560ec1 --- /dev/null +++ b/config/tailwind.config.js @@ -0,0 +1,23 @@ +const defaultTheme = require('tailwindcss/defaultTheme') + +module.exports = { + content: [ + './public/*.html', + './app/helpers/**/*.rb', + './app/javascript/**/*.js', + './app/views/**/*.{erb,haml,html,slim}', + './app/frontend/**/*.{vue,js}' + ], + theme: { + extend: { + fontFamily: { + sans: ['Inter var', ...defaultTheme.fontFamily.sans], + }, + }, + }, + plugins: [ + require('@tailwindcss/forms'), + require('@tailwindcss/typography'), + require('@tailwindcss/container-queries'), + ] +}