diff --git a/app/assets/stylesheets/card-columns.css b/app/assets/stylesheets/card-columns.css index 846008bfe..96d77ab0b 100644 --- a/app/assets/stylesheets/card-columns.css +++ b/app/assets/stylesheets/card-columns.css @@ -89,6 +89,22 @@ &:not(.is-collapsed) { padding-inline: calc(var(--column-gap) * 2); } + + .bubble { + inset-inline-start: 100%; + translate: -60% -60%; + } + + @media (any-hover: hover) { + .card:has(.card__background img:not([src=""])):hover .card__background img:not([src=""]) { + filter: blur(3px) brightness(1.2); + opacity: 0.2; + } + } + + .card__steps { + display: flex; + } } /* Used when filtering */ diff --git a/app/assets/stylesheets/icons.css b/app/assets/stylesheets/icons.css index 3733ceb34..0f2e8177a 100644 --- a/app/assets/stylesheets/icons.css +++ b/app/assets/stylesheets/icons.css @@ -63,6 +63,8 @@ .icon--move { --svg: url("move.svg "); } .icon--notification-bell-access-only { --svg: url("bell.svg "); } .icon--notification-bell-watching { --svg: url("bell-off.svg "); } + .icon--notification-bell-reverse-access-only { --svg: url("bell-off.svg "); } + .icon--notification-bell-reverse-watching { --svg: url("bell.svg "); } .icon--password { --svg: url("password.svg "); } .icon--pencil { --svg: url("pencil.svg "); } .icon--person { --svg: url("person.svg "); } diff --git a/app/helpers/accesses_helper.rb b/app/helpers/accesses_helper.rb index 833a1a2b0..8e3dee6a3 100644 --- a/app/helpers/accesses_helper.rb +++ b/app/helpers/accesses_helper.rb @@ -51,10 +51,10 @@ module AccessesHelper method: :put, aria: { labelledby: involvement_label_id }, class: "btn", - params: { show_watchers: show_watchers, involvement: next_involvement(access.involvement) } + params: { show_watchers: show_watchers, involvement: next_involvement(access.involvement), icon_only: icon_only } ) do safe_join([ - icon_tag("notification-bell-#{access.involvement.dasherize}"), + icon_tag("notification-bell-#{icon_only ? 'reverse-' : nil}#{access.involvement.dasherize}"), tag.span( involvement_access_label(collection, access.involvement), class: class_names("txt-nowrap txt-uppercase", "for-screen-reader": icon_only), diff --git a/app/views/collections/involvements/update.html.erb b/app/views/collections/involvements/update.html.erb index 28c5cfe0e..3b9539e4f 100644 --- a/app/views/collections/involvements/update.html.erb +++ b/app/views/collections/involvements/update.html.erb @@ -1 +1 @@ -<%= access_involvement_advance_button(@collection, Current.user, show_watchers: params[:show_watchers] == 'true') %> +<%= access_involvement_advance_button(@collection, Current.user, show_watchers: params[:show_watchers] == 'true', icon_only: params[:icon_only] == 'true') %> diff --git a/config/deploy.beta.yml b/config/deploy.beta.yml index c6a817bcc..9720dd8db 100644 --- a/config/deploy.beta.yml +++ b/config/deploy.beta.yml @@ -27,10 +27,12 @@ accessories: - BASECAMP_REGISTRY_PASSWORD options: user: 1000 # Match the UID of the Rails app, for volume permissions + publish: + - 5001:5001 + - 9000:9000 volumes: - fizzy:/home/beamer cmd: beamer run --retention=1h --metrics-port=9000 - port: 5001:5001 hosts: - fizzy-beta-app-01 - fizzy-beta-app-101 diff --git a/config/deploy.production.yml b/config/deploy.production.yml index 186af0a2f..b7b755479 100644 --- a/config/deploy.production.yml +++ b/config/deploy.production.yml @@ -27,10 +27,12 @@ accessories: - BASECAMP_REGISTRY_PASSWORD options: user: 1000 # Match the UID of the Rails app, for volume permissions + publish: + - 5001:5001 + - 9000:9000 volumes: - fizzy:/home/beamer cmd: beamer run --retention=1h --metrics-port=9000 - port: 5001:5001 hosts: - fizzy-app-101 - fizzy-app-102 diff --git a/config/deploy.staging.yml b/config/deploy.staging.yml index 5f577d830..c0b6502e4 100644 --- a/config/deploy.staging.yml +++ b/config/deploy.staging.yml @@ -27,10 +27,12 @@ accessories: - BASECAMP_REGISTRY_PASSWORD options: user: 1000 # Match the UID of the Rails app, for volume permissions + publish: + - 5001:5001 + - 9000:9000 volumes: - fizzy:/home/beamer cmd: beamer run --retention=1h --metrics-port=9000 - port: 5001:5001 hosts: - fizzy-staging-app-01 - fizzy-staging-app-101 diff --git a/config/otel_collector.yml b/config/otel_collector.yml index 4e1ac5ead..38ad41224 100644 --- a/config/otel_collector.yml +++ b/config/otel_collector.yml @@ -8,12 +8,12 @@ receivers: - host: unix:///var/run/docker.sock refresh_interval: 10s relabel_configs: - # Limit scraping to labeled containers with port 9394 exposed + # Limit scraping to labeled containers with port 9394 or 9000 exposed - source_labels: [__address__] - regex: .*:9394 + regex: .*:(9394|9000) action: keep - source_labels: [__meta_docker_container_name] - regex: (/fizzy-(web|jobs)-.*|/kamal-proxy) + regex: (/fizzy-(web|jobs)-.*|/fizzy-beamer|/kamal-proxy) action: keep # Pull service and role from Kamal Docker labels @@ -23,14 +23,20 @@ receivers: target_label: role - source_labels: [__meta_docker_container_name] - regex: ^/kamal-proxy$ + regex: ^/(kamal-proxy|fizzy-beamer)$ target_label: service - replacement: kamal-proxy + replacement: $1 + - source_labels: [__meta_docker_container_name] regex: ^/kamal-proxy$ target_label: role replacement: proxy + - source_labels: [__meta_docker_container_name] + regex: ^/fizzy-beamer$ + target_label: role + replacement: beamer + exporters: prometheus: endpoint: 0.0.0.0:9394