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 this nonprofit to you account!
+ <% if @removable_fav_location %>
+ Remove this nonprofit from your account
+ <% else %>
+ Save this nonprofit to you account!
+ <% end %>
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