From 2c33ec382d7a2bd64fca65a96477698ed3ef4b60 Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Wed, 12 Nov 2025 16:44:58 +0200 Subject: [PATCH] fix device icon --- app/views/submission_events/index.html.erb | 9 +++++---- lib/detect_browser_device.rb | 14 ++++---------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/app/views/submission_events/index.html.erb b/app/views/submission_events/index.html.erb index c97f7a7d..8dec75f3 100644 --- a/app/views/submission_events/index.html.erb +++ b/app/views/submission_events/index.html.erb @@ -21,7 +21,6 @@

<% @submission.submission_events.order(:event_timestamp).each do |event| %> - <% device = DetectBrowserDevice.call(event.data['ua']) %> <% submitter = @submission.submitters.find { |e| e.id == event.submitter_id } %> <% bg_class = event_colors[submitters_uuids.index(submitter.uuid) % event_colors.length] %> <% submitter_name = event.event_type.include?('sms') || event.event_type.include?('phone') ? (event.data['phone'] || submitter.phone) : (submitter.name || submitter.email || submitter.phone) %> @@ -33,9 +32,11 @@ <%= l(event.event_timestamp.in_time_zone(current_account.timezone), format: :long, locale: current_account.locale) %> - - <%= svg_icon("device_#{device}", class: 'w-4 h-4') %> - + <% if (device = DetectBrowserDevice.call(event.data['ua'])) %> + + <%= svg_icon("device_#{device}", class: 'w-4 h-4') %> + + <% end %>

<% if event.event_type == 'complete_verification' %> diff --git a/lib/detect_browser_device.rb b/lib/detect_browser_device.rb index 64f4bf51..0240d278 100644 --- a/lib/detect_browser_device.rb +++ b/lib/detect_browser_device.rb @@ -27,17 +27,11 @@ module DetectBrowserDevice /ix def call(user_agent) - return :mobile if mobile?(user_agent) - return :tablet if tablet?(user_agent) + return if user_agent.blank? - :desktop - end - - def mobile?(user_agent) - user_agent.to_s =~ MOBILE_USER_AGENT_REGEXP - end + return 'mobile' if MOBILE_USER_AGENT_REGEXP.match?(user_agent) + return 'tablet' if TABLET_USER_AGENT_REGEXP.match?(user_agent) - def tablet?(user_agent) - user_agent.to_s =~ TABLET_USER_AGENT_REGEXP + 'desktop' end end