From 39cf79222eb125498ee08a84d139326daa054c6b Mon Sep 17 00:00:00 2001 From: aqua <84078890+phthallo@users.noreply.github.com> Date: Mon, 12 May 2025 13:25:49 -0400 Subject: [PATCH] add button sfx --- app/helpers/application_helper.rb | 18 ++++++++++++++++++ app/javascript/application.js | 11 ++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index aaa1247..bcbaa58 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -6,4 +6,22 @@ module ApplicationHelper def markdown_to_html(markdown) Kramdown::Document.new(markdown).to_html end + + def link_to(name = nil, options = nil, html_options = nil, &block) + # warning might be jank. it's overriding the default link_to method lol. + if block + options ||= {} + new_options = options + else + html_options ||= {} + new_options = html_options + end + new_options[:class] ||= [] + if new_options[:class].is_a? Array + new_options[:class] << "btn" + else + new_options[:class] << " btn" + end + super(name, options, html_options, &block) + end end diff --git a/app/javascript/application.js b/app/javascript/application.js index 8704537..c8e9616 100644 --- a/app/javascript/application.js +++ b/app/javascript/application.js @@ -12,4 +12,13 @@ function toggleMute() { // Update the button icon var audioToggle = document.getElementById('audio-toggle'); audioToggle.textContent = myAudio.muted ? '🔇' : '🔊'; -} \ No newline at end of file +} + +const audio = new Audio('https://hc-cdn.hel1.your-objectstorage.com/s/v3/98df9f1054b50821b1d2208a7d3386a2408134be_d3bd3f0972d62d58cdfce91bc042d32ee643aa94_ui_button_confirm_audio__mp3cut.net__audio.mp4'); +audio.volume = 0.75 +document.addEventListener('click', (event) => { + let el = event.target.closest('a.btn'); + if (el) { + audio.play(); + } +}); \ No newline at end of file