diff --git a/app/javascript/packs/application.js b/app/javascript/packs/application.js index 9cd55d4b..8ff003ee 100644 --- a/app/javascript/packs/application.js +++ b/app/javascript/packs/application.js @@ -8,6 +8,8 @@ require("turbolinks").start() require("@rails/activestorage").start() require("channels") +require("./bootstrap_custom") +require("../stylesheets/application") // Uncomment to copy all static images under ../images to the output folder and reference // them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>) diff --git a/app/javascript/packs/bootstrap_custom.js b/app/javascript/packs/bootstrap_custom.js new file mode 100644 index 00000000..447ed642 --- /dev/null +++ b/app/javascript/packs/bootstrap_custom.js @@ -0,0 +1,13 @@ +import 'bootstrap/js/dist/alert' +import 'bootstrap/js/dist/button' +import 'bootstrap/js/dist/carousel' +import 'bootstrap/js/dist/collapse' +import 'bootstrap/js/dist/dropdown' +import 'bootstrap/js/dist/index' +import 'bootstrap/js/dist/modal' +import 'bootstrap/js/dist/popover' +import 'bootstrap/js/dist/scrollspy' +import 'bootstrap/js/dist/tab' +import 'bootstrap/js/dist/toast' +import 'bootstrap/js/dist/tooltip' +import 'bootstrap/js/dist/util' \ No newline at end of file diff --git a/app/javascript/stylesheets/application.scss b/app/javascript/stylesheets/application.scss new file mode 100644 index 00000000..a2893c5c --- /dev/null +++ b/app/javascript/stylesheets/application.scss @@ -0,0 +1 @@ +@import './bootstrap_custom.scss' \ No newline at end of file diff --git a/app/javascript/stylesheets/bootstrap_custom.scss b/app/javascript/stylesheets/bootstrap_custom.scss new file mode 100644 index 00000000..34958a14 --- /dev/null +++ b/app/javascript/stylesheets/bootstrap_custom.scss @@ -0,0 +1,38 @@ +@import '~bootstrap/scss/_functions.scss'; +@import '~bootstrap/scss/_variables.scss'; +@import '~bootstrap/scss/_mixins.scss'; +@import '~bootstrap/scss/_root.scss'; +@import '~bootstrap/scss/_reboot.scss'; +@import '~bootstrap/scss/_type.scss'; +@import '~bootstrap/scss/_alert.scss'; +@import '~bootstrap/scss/_badge'; +@import '~bootstrap/scss/_breadcrumb'; +@import '~bootstrap/scss/_button-group'; +@import '~bootstrap/scss/_buttons'; +@import '~bootstrap/scss/_buttons.scss'; +@import '~bootstrap/scss/_card.scss'; +@import '~bootstrap/scss/_carousel.scss'; +@import '~bootstrap/scss/_close.scss'; +@import '~bootstrap/scss/_code.scss'; +@import '~bootstrap/scss/_custom-forms.scss'; +@import '~bootstrap/scss/_dropdown.scss'; +@import '~bootstrap/scss/_forms.scss'; +@import '~bootstrap/scss/_grid.scss'; +@import '~bootstrap/scss/_images.scss'; +@import '~bootstrap/scss/_input-group.scss'; +@import '~bootstrap/scss/_jumbotron.scss'; +@import '~bootstrap/scss/_list-group.scss'; +@import '~bootstrap/scss/_media.scss'; +@import '~bootstrap/scss/_modal.scss'; +@import '~bootstrap/scss/_nav.scss'; +@import '~bootstrap/scss/_navbar.scss'; +@import '~bootstrap/scss/_pagination.scss'; +@import '~bootstrap/scss/_popover.scss'; +@import '~bootstrap/scss/_print.scss'; +@import '~bootstrap/scss/_progress.scss'; +@import '~bootstrap/scss/_spinners.scss'; +@import '~bootstrap/scss/_tables.scss'; +@import '~bootstrap/scss/_toasts.scss'; +@import '~bootstrap/scss/_tooltip.scss'; +@import '~bootstrap/scss/_transitions.scss'; +@import '~bootstrap/scss/_utilities.scss'; \ No newline at end of file diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index d61bbe51..7cc11dbd 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -5,7 +5,7 @@ <%= csrf_meta_tags %> <%= csp_meta_tag %> - <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> + <%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %> diff --git a/config/webpack/environment.js b/config/webpack/environment.js index d16d9af7..1d13b3c4 100644 --- a/config/webpack/environment.js +++ b/config/webpack/environment.js @@ -1,3 +1,13 @@ const { environment } = require('@rails/webpacker') +const webpack = require('webpack') + +environment.plugins.append( + 'Provide', + new webpack.ProvidePlugin({ + $: 'jquery', + jQuery: 'jquery', + Popper: ['popper.js', 'default'] + }) +) module.exports = environment diff --git a/package.json b/package.json index 6432d8cc..6ee10e02 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,9 @@ "@rails/activestorage": "^6.0.0-alpha", "@rails/ujs": "^6.0.0-alpha", "@rails/webpacker": "^4.0.7", + "bootstrap": "4.3.1", + "jquery": "^3.4.1", + "popper.js": "^1.15.0", "turbolinks": "^5.2.0" }, "version": "0.1.0", diff --git a/yarn.lock b/yarn.lock index debe8d91..2d999f49 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1294,6 +1294,11 @@ boolbase@^1.0.0, boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= +bootstrap@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.3.1.tgz#280ca8f610504d99d7b6b4bfc4b68cec601704ac" + integrity sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag== + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -3669,6 +3674,11 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= +jquery@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz#714f1f8d9dde4bdfa55764ba37ef214630d80ef2" + integrity sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw== + js-base64@^2.1.8: version "2.5.1" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121" @@ -4815,6 +4825,11 @@ pnp-webpack-plugin@^1.4.3: dependencies: ts-pnp "^1.1.2" +popper.js@^1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.15.0.tgz#5560b99bbad7647e9faa475c6b8056621f5a4ff2" + integrity sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA== + portfinder@^1.0.21: version "1.0.22" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.22.tgz#abd10a488b5696e98ee25c60731f8ae0b76f8ddd"