Mattias Bodlund 2 months ago
parent
commit
f965d95766
7 changed files with 32 additions and 4 deletions
  1. +2
    -0
      Gemfile
  2. +3
    -1
      Gemfile.lock
  3. +2
    -0
      app/javascript/application.js
  4. +15
    -0
      app/javascript/plausible_controller.js
  5. +7
    -1
      app/views/layouts/application.html.erb
  6. +2
    -1
      config/importmap.rb
  7. +1
    -1
      vendor/javascript/@rails--activestorage.js

+ 2
- 0
Gemfile View File

@ -7,6 +7,8 @@ gem 'dotenv-rails'
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
gem "rails", "~> 8.0.2"
gem "openssl"
# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
# gem "sprockets-rails"
gem 'turbo-rails'


+ 3
- 1
Gemfile.lock View File

@ -102,7 +102,7 @@ GEM
dotenv (= 3.1.8)
railties (>= 6.1)
drb (2.2.3)
erb (5.0.3)
erb (5.1.1)
erubi (1.13.1)
ffi (1.17.2-aarch64-linux-gnu)
ffi (1.17.2-arm-linux-gnu)
@ -185,6 +185,7 @@ GEM
racc (~> 1.4)
nokogiri (1.18.10-x86_64-linux-gnu)
racc (~> 1.4)
openssl (3.3.1)
pg (1.6.2)
pg (1.6.2-aarch64-linux)
pg (1.6.2-arm64-darwin)
@ -321,6 +322,7 @@ DEPENDENCIES
jbuilder
kaminari
mobility (~> 1.3.0.rc1)
openssl
pg (~> 1.1)
pg_search
premailer-rails


+ 2
- 0
app/javascript/application.js View File

@ -3,6 +3,7 @@ import { Application } from "@hotwired/stimulus"
import LocaleController from "locale_controller"
import ImageController from "image_controller"
import PlausibleController from "plausible_controller"
import QuizImagePreloader from "quiz_preloader"
@ -10,6 +11,7 @@ const application = Application.start()
application.register("locale", LocaleController)
application.register("image", ImageController)
application.register("plausible", PlausibleController)
// Configure Stimulus development experience
application.debug = false


+ 15
- 0
app/javascript/plausible_controller.js View File

@ -0,0 +1,15 @@
import { Controller } from "@hotwired/stimulus"
let lastTrackedUrl = null;
export default class extends Controller {
connect() {
document.addEventListener("turbo:load", () => {
const currentUrl = window.location.pathname + window.location.search;
if (window.plausible && currentUrl !== lastTrackedUrl) {
window.plausible("pageview");
lastTrackedUrl = currentUrl;
}
});
}
}

+ 7
- 1
app/views/layouts/application.html.erb View File

@ -23,7 +23,13 @@
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag 'gsap/gsap.min.js' %>
<%= frontend_javascript_importmap_tags %w'application @hotwired/turbo-rails @hotwired/stimulus locale_controller image_controller quiz_preloader' %>
<%= frontend_javascript_importmap_tags %w'application @hotwired/turbo-rails @hotwired/stimulus locale_controller image_controller quiz_preloader plausible_controller' %>
<script async src="https://plausible.io/js/pa-kq4MBoO3HcKuUqds__gr_.js"></script>
<script>
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
plausible.init()
</script>
</head>
<% if content_for? :body_style %>


+ 2
- 1
config/importmap.rb View File

@ -8,7 +8,7 @@ pin_all_from "app/javascript/controllers", under: "controllers"
pin "sortablejs" # @1.15.6
pin "stimulus-use" # @0.52.3
pin "@rails/request.js", to: "@rails--request.js.js" # @0.0.12
pin "@rails/activestorage", to: "@rails--activestorage.js" # @8.0.201
pin "@rails/activestorage", to: "@rails--activestorage.js" # @8.0.300
pin "tom-select", to: "tom-select--dist--js--tom-select.base.min.js.js" # @2.4.3
pin "trix" # @2.1.15
@ -17,3 +17,4 @@ pin "application", preload: false
pin "locale_controller", preload: false
pin "image_controller", preload: false
pin "quiz_preloader", preload: false
pin 'plausible_controller', preload: false

+ 1
- 1
vendor/javascript/@rails--activestorage.js
File diff suppressed because it is too large
View File


Loading…
Cancel
Save