diff --git a/.github/workflows/ruby-ci.yml b/.github/workflows/ruby-ci.yml index 9f45a3ad9..b0f7f96dc 100644 --- a/.github/workflows/ruby-ci.yml +++ b/.github/workflows/ruby-ci.yml @@ -97,6 +97,8 @@ jobs: - name: Install Node packages run: | bin/yarn install --ignore-engines + - name: Install ImageMagick + run: sudo apt-get install imagemagick - name: Run tests run: | bundle exec rspec --fail-fast diff --git a/.ruby-version b/.ruby-version index a0cd9f0cc..97ceee1b9 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.1.0 \ No newline at end of file +3.1.5 \ No newline at end of file diff --git a/Gemfile b/Gemfile index 5eb7f2790..b944eaf6f 100644 --- a/Gemfile +++ b/Gemfile @@ -3,10 +3,10 @@ source "https://rubygems.org" git_source(:github) { |repo| "https://github.com/#{repo}.git" } -ruby "3.1.0" +ruby "3.1.5" # Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main' -gem "rails", "~> 7.0.8.5" +gem "rails", "~> 7.0.8.7" # Use postgresql as the database for Active Record gem "pg", "~> 1.1" # Use Puma as the app server @@ -24,7 +24,6 @@ gem "redis", "~> 4.0" # gem 'bcrypt', '~> 3.1.7' # Use Active Storage variant -# gem 'image_processing', '~> 1.2' # Use Devise for authentication gem "devise" @@ -66,7 +65,7 @@ gem "administrate" gem "administrate-field-active_storage" gem "administrate-field-nested_has_many", git: "https://github.com/TelosLabs/administrate-field-nested_has_many.git", branch: "feature/stimulus-controller" gem "administrate-field-select", "~> 2.0", require: "administrate/field/select_basic" -gem "image_processing" +gem "image_processing", "~> 1.13" # Reduces boot times through caching; required in config/boot.rb gem "bootsnap", require: false @@ -131,4 +130,4 @@ end # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem "tzinfo-data", platforms: %i[mingw mswin x64_mingw jruby] -gem "mini_magick", "~> 4.11" +gem "mini_magick" diff --git a/Gemfile.lock b/Gemfile.lock index e1c5812e9..961bf2509 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -10,81 +10,82 @@ GIT GEM remote: https://rubygems.org/ specs: - actioncable (7.0.8.5) - actionpack (= 7.0.8.5) - activesupport (= 7.0.8.5) + actioncable (7.0.8.7) + actionpack (= 7.0.8.7) + activesupport (= 7.0.8.7) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.8.5) - actionpack (= 7.0.8.5) - activejob (= 7.0.8.5) - activerecord (= 7.0.8.5) - activestorage (= 7.0.8.5) - activesupport (= 7.0.8.5) + actionmailbox (7.0.8.7) + actionpack (= 7.0.8.7) + activejob (= 7.0.8.7) + activerecord (= 7.0.8.7) + activestorage (= 7.0.8.7) + activesupport (= 7.0.8.7) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.8.5) - actionpack (= 7.0.8.5) - actionview (= 7.0.8.5) - activejob (= 7.0.8.5) - activesupport (= 7.0.8.5) + actionmailer (7.0.8.7) + actionpack (= 7.0.8.7) + actionview (= 7.0.8.7) + activejob (= 7.0.8.7) + activesupport (= 7.0.8.7) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.8.5) - actionview (= 7.0.8.5) - activesupport (= 7.0.8.5) + actionpack (7.0.8.7) + actionview (= 7.0.8.7) + activesupport (= 7.0.8.7) rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.8.5) - actionpack (= 7.0.8.5) - activerecord (= 7.0.8.5) - activestorage (= 7.0.8.5) - activesupport (= 7.0.8.5) + actiontext (7.0.8.7) + actionpack (= 7.0.8.7) + activerecord (= 7.0.8.7) + activestorage (= 7.0.8.7) + activesupport (= 7.0.8.7) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.8.5) - activesupport (= 7.0.8.5) + actionview (7.0.8.7) + activesupport (= 7.0.8.7) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - active_storage_validations (1.3.0) + active_storage_validations (1.4.0) activejob (>= 6.1.4) activemodel (>= 6.1.4) activestorage (>= 6.1.4) activesupport (>= 6.1.4) - activejob (7.0.8.5) - activesupport (= 7.0.8.5) + marcel (>= 1.0.3) + activejob (7.0.8.7) + activesupport (= 7.0.8.7) globalid (>= 0.3.6) - activemodel (7.0.8.5) - activesupport (= 7.0.8.5) + activemodel (7.0.8.7) + activesupport (= 7.0.8.7) activemodel-serializers-xml (1.0.3) activemodel (>= 5.0.0.a) activesupport (>= 5.0.0.a) builder (~> 3.1) - activerecord (7.0.8.5) - activemodel (= 7.0.8.5) - activesupport (= 7.0.8.5) - activerecord-import (1.8.1) + activerecord (7.0.8.7) + activemodel (= 7.0.8.7) + activesupport (= 7.0.8.7) + activerecord-import (2.0.0) activerecord (>= 4.2) activerecord-postgis-adapter (8.0.3) activerecord (~> 7.0.0) rgeo-activerecord (~> 7.0.0) - activestorage (7.0.8.5) - actionpack (= 7.0.8.5) - activejob (= 7.0.8.5) - activerecord (= 7.0.8.5) - activesupport (= 7.0.8.5) + activestorage (7.0.8.7) + actionpack (= 7.0.8.7) + activejob (= 7.0.8.7) + activerecord (= 7.0.8.7) + activesupport (= 7.0.8.7) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (7.0.8.5) + activesupport (7.0.8.7) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -109,16 +110,16 @@ GEM rake (>= 10.4, < 14.0) ast (2.4.2) aws-eventstream (1.3.0) - aws-partitions (1.992.0) - aws-sdk-core (3.211.0) + aws-partitions (1.1033.0) + aws-sdk-core (3.214.1) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.95.0) + aws-sdk-kms (1.96.0) aws-sdk-core (~> 3, >= 3.210.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.169.0) + aws-sdk-s3 (1.177.0) aws-sdk-core (~> 3, >= 3.210.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) @@ -135,10 +136,10 @@ GEM debug_inspector (>= 1.2.0) bootsnap (1.18.4) msgpack (~> 1.2) - brakeman (6.2.2) + brakeman (7.0.0) racc builder (3.3.0) - bullet (7.2.0) + bullet (8.0.0) activesupport (>= 3.0.0) uniform_notifier (~> 1.11) bundle-audit (0.1.0) @@ -156,7 +157,7 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - caxlsx (4.1.0) + caxlsx (4.2.0) htmlentities (~> 4.3, >= 4.3.4) marcel (~> 1.0) nokogiri (~> 1.10, >= 1.10.4) @@ -171,16 +172,16 @@ GEM cocoon (1.2.15) coderay (1.1.3) concurrent-ruby (1.3.4) - connection_pool (2.4.1) + connection_pool (2.5.0) crass (1.0.6) cssbundling-rails (1.4.1) railties (>= 6.0.0) cuprite (0.15.1) capybara (~> 3.0) ferrum (~> 0.15.0) - database_consistency (1.7.26) + database_consistency (2.0.3) activerecord (>= 3.2) - date (3.3.4) + date (3.4.1) debug_inspector (1.2.0) devise (4.9.4) bcrypt (~> 3.0) @@ -190,7 +191,7 @@ GEM warden (~> 1.2.3) diff-lcs (1.5.1) docile (1.4.1) - dotenv (3.1.4) + dotenv (3.1.7) draper (4.0.2) actionpack (>= 5.0) activemodel (>= 5.0) @@ -198,37 +199,42 @@ GEM activesupport (>= 5.0) request_store (>= 1.0) ruby2_keywords - erubi (1.13.0) + erubi (1.13.1) factory_bot (6.5.0) activesupport (>= 5.0.0) - factory_bot_rails (6.4.3) - factory_bot (~> 6.4) + factory_bot_rails (6.4.4) + factory_bot (~> 6.5) railties (>= 5.0.0) faker (3.5.1) i18n (>= 1.8.11, < 2) - faraday (2.12.0) - faraday-net_http (>= 2.0, < 3.4) + faraday (2.12.2) + faraday-net_http (>= 2.0, < 3.5) json logger - faraday-multipart (1.0.4) - multipart-post (~> 2) - faraday-net_http (3.3.0) - net-http + faraday-multipart (1.1.0) + multipart-post (~> 2.0) + faraday-net_http (3.4.0) + net-http (>= 0.5.0) ferrum (0.15) addressable (~> 2.5) concurrent-ruby (~> 1.1) webrick (~> 1.7) websocket-driver (~> 0.7) - ffi (1.17.0) + ffi (1.17.1-aarch64-linux-gnu) + ffi (1.17.1-arm64-darwin) + ffi (1.17.1-x86_64-darwin) + ffi (1.17.1-x86_64-linux-gnu) formatador (1.1.0) globalid (1.2.1) activesupport (>= 6.1) - guard (2.18.1) + guard (2.19.1) formatador (>= 0.2.4) listen (>= 2.7, < 4.0) + logger (~> 1.6) lumberjack (>= 1.0.12, < 2.0) nenv (~> 0.1) notiffany (~> 0.0) + ostruct (~> 0.6) pry (>= 0.13.0) shellany (~> 0.0) thor (>= 0.18.1) @@ -258,7 +264,7 @@ GEM thor (>= 0.14, < 2.0) jsbundling-rails (1.3.1) railties (>= 6.0.0) - json (2.7.2) + json (2.9.1) kaminari (1.2.2) activesupport (>= 4.1.0) kaminari-actionview (= 1.2.2) @@ -288,8 +294,8 @@ GEM listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) - logger (1.6.1) - loofah (2.23.1) + logger (1.6.4) + loofah (2.24.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) lumberjack (1.2.10) @@ -303,20 +309,20 @@ GEM method_source (1.1.0) mini_magick (4.13.2) mini_mime (1.1.5) - minitest (5.25.1) + minitest (5.25.4) mobility (1.1.3) i18n (>= 0.6.10, < 2) request_store (~> 1.0) momentjs-rails (2.29.4.1) railties (>= 3.1) - msgpack (1.7.3) + msgpack (1.7.5) multipart-post (2.4.1) name_of_person (1.1.3) activesupport (>= 5.2.0) nenv (0.3.0) - net-http (0.4.1) + net-http (0.6.0) uri - net-imap (0.5.0) + net-imap (0.5.5) date net-protocol net-pop (0.1.2) @@ -325,30 +331,30 @@ GEM timeout net-smtp (0.5.0) net-protocol - nio4r (2.7.3) - nokogiri (1.16.8-aarch64-linux) + nio4r (2.7.4) + nokogiri (1.18.1-aarch64-linux-gnu) racc (~> 1.4) - nokogiri (1.16.8-arm64-darwin) + nokogiri (1.18.1-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.8-x86_64-darwin) + nokogiri (1.18.1-x86_64-darwin) racc (~> 1.4) - nokogiri (1.16.8-x86_64-linux) + nokogiri (1.18.1-x86_64-linux-gnu) racc (~> 1.4) notiffany (0.1.3) nenv (~> 0.1) shellany (~> 0.0) orm_adapter (0.5.0) - ostruct (0.6.0) - pagy (9.3.1) + ostruct (0.6.1) + pagy (9.3.3) parallel (1.26.3) - parser (3.3.5.0) + parser (3.3.6.0) ast (~> 2.4.1) racc - pg (1.5.8) + pg (1.5.9) pg_search (2.3.7) activerecord (>= 6.1) activesupport (>= 6.1) - pry (0.14.2) + pry (0.15.2) coderay (~> 1.1) method_source (~> 1.0) pry-rails (0.3.11) @@ -364,22 +370,22 @@ GEM rack (>= 1.0, < 4) rack-mini-profiler (2.3.4) rack (>= 1.2.0) - rack-test (2.1.0) + rack-test (2.2.0) rack (>= 1.3) - rails (7.0.8.5) - actioncable (= 7.0.8.5) - actionmailbox (= 7.0.8.5) - actionmailer (= 7.0.8.5) - actionpack (= 7.0.8.5) - actiontext (= 7.0.8.5) - actionview (= 7.0.8.5) - activejob (= 7.0.8.5) - activemodel (= 7.0.8.5) - activerecord (= 7.0.8.5) - activestorage (= 7.0.8.5) - activesupport (= 7.0.8.5) + rails (7.0.8.7) + actioncable (= 7.0.8.7) + actionmailbox (= 7.0.8.7) + actionmailer (= 7.0.8.7) + actionpack (= 7.0.8.7) + actiontext (= 7.0.8.7) + actionview (= 7.0.8.7) + activejob (= 7.0.8.7) + activemodel (= 7.0.8.7) + activerecord (= 7.0.8.7) + activestorage (= 7.0.8.7) + activesupport (= 7.0.8.7) bundler (>= 1.15.0) - railties (= 7.0.8.5) + railties (= 7.0.8.7) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) @@ -388,12 +394,12 @@ GEM activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.1) + rails-html-sanitizer (1.6.2) loofah (~> 2.21) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) - railties (7.0.8.5) - actionpack (= 7.0.8.5) - activesupport (= 7.0.8.5) + railties (7.0.8.7) + actionpack (= 7.0.8.7) + activesupport (= 7.0.8.7) method_source rake (>= 12.2) thor (~> 1.0) @@ -403,15 +409,15 @@ GEM rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) - recaptcha (5.17.0) + recaptcha (5.18.0) redis (4.8.1) - regexp_parser (2.9.2) + regexp_parser (2.10.0) request_store (1.7.0) rack (>= 1.4) responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.3.9) + rexml (3.4.0) rgeo (3.0.1) rgeo-activerecord (7.0.1) activerecord (>= 5.0) @@ -420,7 +426,7 @@ GEM roo (2.8.3) nokogiri (~> 1) rubyzip (>= 1.3.0, < 3.0.0) - rouge (4.4.0) + rouge (4.5.1) rspec (3.13.0) rspec-core (~> 3.13.0) rspec-expectations (~> 3.13.0) @@ -448,24 +454,24 @@ GEM rspec-expectations (~> 3.0) rspec-mocks (~> 3.0) sidekiq (>= 5, < 8) - rspec-support (3.13.1) - rubocop (1.66.1) + rspec-support (3.13.2) + rubocop (1.69.2) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 2.4, < 3.0) - rubocop-ast (>= 1.32.2, < 2.0) + regexp_parser (>= 2.9.3, < 3.0) + rubocop-ast (>= 1.36.2, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.32.3) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.37.0) parser (>= 3.3.1.0) rubocop-capybara (2.21.0) rubocop (~> 1.41) rubocop-factory_bot (2.26.1) rubocop (~> 1.61) - rubocop-performance (1.22.1) + rubocop-performance (1.23.1) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) rubocop-rails (2.26.2) @@ -485,7 +491,7 @@ GEM ffi (~> 1.12) logger ruby2_keywords (0.0.5) - rubyzip (2.3.2) + rubyzip (2.4.1) sassc (2.4.0) ffi (~> 1.9) sassc-rails (2.1.2) @@ -494,7 +500,7 @@ GEM sprockets (> 3.0) sprockets-rails tilt - scout_apm (5.4.0) + scout_apm (5.5.0) parser selectize-rails (0.12.6) selenium-webdriver (4.10.0) @@ -517,7 +523,7 @@ GEM slim (5.2.1) temple (~> 0.10.0) tilt (>= 2.1.0) - slim-rails (3.6.3) + slim-rails (3.7.0) actionpack (>= 3.1) railties (>= 3.1) slim (>= 3.0, < 6.0, != 5.0.0) @@ -531,27 +537,27 @@ GEM actionpack (>= 6.1) activesupport (>= 6.1) sprockets (>= 3.0.0) - standard (1.41.1) + standard (1.43.0) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.0) - rubocop (~> 1.66.0) + rubocop (~> 1.69.1) standard-custom (~> 1.0.0) - standard-performance (~> 1.5) + standard-performance (~> 1.6) standard-custom (1.0.2) lint_roller (~> 1.0) rubocop (~> 1.50) - standard-performance (1.5.0) + standard-performance (1.6.0) lint_roller (~> 1.1) - rubocop-performance (~> 1.22.0) + rubocop-performance (~> 1.23.0) standard-rails (1.2.0) lint_roller (~> 1.0) rubocop-rails (~> 2.26.0) temple (0.10.3) - test-prof (1.4.2) + test-prof (1.4.4) thor (1.3.2) - tilt (2.4.0) + tilt (2.5.0) timecop (0.9.10) - timeout (0.4.1) + timeout (0.4.3) timezone (1.3.27) ostruct (~> 0.6) turbo-rails (2.0.11) @@ -559,11 +565,13 @@ GEM railties (>= 6.0.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (2.6.0) + unicode-display_width (3.1.3) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) uniform_notifier (1.16.0) - uri (0.13.1) - view_component (3.18.0) - activesupport (>= 5.2.0, < 8.0) + uri (1.0.2) + view_component (3.21.0) + activesupport (>= 5.2.0, < 8.1) concurrent-ruby (~> 1.0) method_source (~> 1.0) warden (1.2.9) @@ -577,9 +585,10 @@ GEM nokogiri (~> 1.6) rubyzip (>= 1.3.0) selenium-webdriver (~> 4.0, < 4.11) - webrick (1.8.2) + webrick (1.9.1) websocket (1.2.11) - websocket-driver (0.7.6) + websocket-driver (0.7.7) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) @@ -627,7 +636,7 @@ DEPENDENCIES factory_bot_rails faker guard-rspec - image_processing + image_processing (~> 1.13) inline_svg invisible_captcha jbuilder (~> 2.7) @@ -635,7 +644,7 @@ DEPENDENCIES koala letter_opener listen (~> 3.3) - mini_magick (~> 4.11) + mini_magick mobility (~> 1.1.3) momentjs-rails name_of_person @@ -650,7 +659,7 @@ DEPENDENCIES pundit rack-attack rack-mini-profiler (~> 2.0) - rails (~> 7.0.8.5) + rails (~> 7.0.8.7) rails-controller-testing recaptcha redis (~> 4.0) @@ -681,7 +690,7 @@ DEPENDENCIES webdrivers (~> 5.2) RUBY VERSION - ruby 3.1.0p0 + ruby 3.1.5p252 BUNDLED WITH 2.3.22 diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss index 8da6a1a2a..f22d8216e 100644 --- a/app/assets/stylesheets/application.scss +++ b/app/assets/stylesheets/application.scss @@ -215,4 +215,15 @@ input.admin-panel-population:disabled + label { width: 100%; } +} + +// Expandable panel on hover +#tabs-wrapper:hover #search-pills-panel { + max-height: 1000px; +} + +#search-pills-panel { + max-height: 0; + overflow: hidden; + transition: max-height 0.3s ease-in-out; } \ No newline at end of file diff --git a/app/components/save_button/component.html.erb b/app/components/save_button/component.html.erb index e95bc2e46..bd086ed07 100644 --- a/app/components/save_button/component.html.erb +++ b/app/components/save_button/component.html.erb @@ -11,7 +11,11 @@ svg_options: { class: "w-4 h-auto", aria_hidden: true } ) %> Save <% end %> \ No newline at end of file diff --git a/app/components/save_button/component.rb b/app/components/save_button/component.rb index 872486129..9347f5b35 100644 --- a/app/components/save_button/component.rb +++ b/app/components/save_button/component.rb @@ -6,6 +6,7 @@ def initialize(user:, location:, simplified: false, tooltip_position: "") @location = location @simplified = simplified @tooltip_position = tooltip_position + @removable_fav_location = removable_fav_location? end def link_args diff --git a/app/components/search_pills/component.html.slim b/app/components/search_pills/component.html.slim index f5a5b4df5..9b7498914 100644 --- a/app/components/search_pills/component.html.slim +++ b/app/components/search_pills/component.html.slim @@ -1,5 +1,5 @@ -div class="w-full bg-gray-9" - div data-controller="tabs" data-tabs-active-tab=("border-b-4 border-blue-medium") data-tabs-inactive-tab="underline-on-hover" +div class="w-full bg-gray-9" id="tabs-wrapper" + div data-controller="tabs" data-tabs-active-tab="underline-on-hover" data-tabs-inactive-tab="underline-on-hover" div class="flex" / Clear-Counter button span class="flex justify-center items-center py-3 pr-2 pl-5 w-14 text-xs bg-blue-pale" @@ -11,7 +11,7 @@ div class="w-full bg-gray-9" / Tabs ul class="flex overflow-x-auto overflow-y-hidden flex-1 gap-x-6 pr-6 pl-5 text-sm list-none bg-blue-pale text-gray-2" - @tabs_labels.each do |tab_label| - li data-action="click->tabs#change" data-tabs-target="tab" + li data-action="mouseover->tabs#change" data-tabs-target="tab" a class="inline-block py-3 whitespace-nowrap" href="#" = tab_label li data-action="click->modal#open" class="underline-on-hover" button class="inline-block py-3 whitespace-nowrap" type="button" id="advanced-filters-button" @@ -19,7 +19,7 @@ div class="w-full bg-gray-9" span class="hidden relative mb-2 ml-1 w-2 h-2 rounded-full bg-salmon" id="appliedIcon" / Panels - div class="bg-white" + div class="bg-white" id="search-pills-panel" / Causes div class="flex hidden overflow-y-auto flex-wrap gap-x-2 gap-y-3 px-6 py-4 max-h-28 border-r border-b border-l" data-tabs-target="panel" - @causes.each do |cause| diff --git a/app/decorators/alert_decorator.rb b/app/decorators/alert_decorator.rb index 0ac281d88..be6beaf0c 100644 --- a/app/decorators/alert_decorator.rb +++ b/app/decorators/alert_decorator.rb @@ -2,6 +2,10 @@ class AlertDecorator < ApplicationDecorator delegate_all def title(index) - object.keyword.presence || "Alert #{index + 1}" + if object.keyword.present? + "Keyword: #{object.keyword}" + else + "Alert #{index + 1}" + end end end diff --git a/app/javascript/controllers/places_controller.js b/app/javascript/controllers/places_controller.js index cbcaf8325..ea53a470b 100644 --- a/app/javascript/controllers/places_controller.js +++ b/app/javascript/controllers/places_controller.js @@ -124,6 +124,10 @@ export default class extends Controller { mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.DROPDOWN_MENU, position: google.maps.ControlPosition.TOP_CENTER + }, + zoomControl: true, + zoomControlOptions: { + position: google.maps.ControlPosition.TOP_LEFT } }) diff --git a/app/views/locations/show.html.slim b/app/views/locations/show.html.slim index 54a3e984a..63773734c 100644 --- a/app/views/locations/show.html.slim +++ b/app/views/locations/show.html.slim @@ -135,10 +135,12 @@ div class="" | #{@location.organization.name} - if @location.organization.verified? = render partial: "shared/popover", locals: { position: "right-0", wrapper_icon: "verified_nonprofit_check.svg", copy: "Information verified by nonprofit." } - p class="text-xs text-gray-4" - | #{@location.address} - p class="text-xs text-gray-4" - | #{@location.organization.decorate.website} + p class="text-xs text-gray-4" class="pop-out" + = link_to @location.formatted_address, @location.link_to_google_maps, target: "blank" + + p class="text-xs text-blue-medium" + = link_to @location.organization.decorate.website, @location.organization.decorate.website, target: "_blank" + p class="text-xs text-gray-4" - if @location.phone_number&.number.present? = link_to("call: #{@location.phone_number&.number}", "tel: #{@location.phone_number&.number}", class: "text-blue-medium") diff --git a/app/views/my_accounts/show.html.slim b/app/views/my_accounts/show.html.slim index b9c5d776e..a292e6b14 100644 --- a/app/views/my_accounts/show.html.slim +++ b/app/views/my_accounts/show.html.slim @@ -98,8 +98,12 @@ div class="w-full h-full bg-white" span class="text-lg font-bold text-black capitalize" | #{alert.decorate.title(index)} = link_to "Edit", edit_alert_path(alert), class: "text-blue-medium hover:text-blue-dark", data: { turbo_stream: true } - div class="flex flex-row text-sm font-normal text-gray-2" - | #{list_all_filters(alert).join(', ')} + div class="flex flex-col text-sm font-normal text-gray-2" + - if list_all_filters(alert).present? + p + | Filters: #{list_all_filters(alert).join(', ')} + p + | Frequency: #{alert.frequency.capitalize} - else div class="flex justify-center my-16 w-full" = inline_svg_tag 'empty_state_2.svg', size:'294*145' diff --git a/spec/system/support/precompile_assets.rb b/spec/system/support/precompile_assets.rb index 7c384e800..b36fe022d 100644 --- a/spec/system/support/precompile_assets.rb +++ b/spec/system/support/precompile_assets.rb @@ -15,7 +15,7 @@ start = Time.current begin - $stdout.reopen(File.new("/dev/null", "w")) + $stdout.reopen(File.new(File::NULL, "w")) require "rake" Rails.application.load_tasks