studio-engine 0.53.0 → 0.53.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5ce8edffaa3298d94b27113b1add2064ed036620a6c8372e84e947cfbeefb895
4
- data.tar.gz: d72221add8e7af3e036cb616779bf59fb9428573b478ecda56ebd804300387f5
3
+ metadata.gz: 16972aaa58808c367d4c21f31458b67e23e19e56e84198b4bb6721607a6f9d25
4
+ data.tar.gz: 1e88013ef4adbda0991bc14df7d9c9e398339ad2201b1d48ce913bc22b212d77
5
5
  SHA512:
6
- metadata.gz: f72e5c3f5c5e6c0f03deca8238fff54a8da590b384c0987689becee01ca791c645178ff32d5597664ed5320e5a82408f91d5d6b4cb3b8219be602536f6cb2dd7
7
- data.tar.gz: d28e41b0a6c6c1a2b58fbcfe66787e2be955e353e101ac567d78d628f3de865dfbf81aeb30b3cf1796809fe087cee5e5bb2ab77317510f4ff951da5bea038d64
6
+ metadata.gz: 9fa4d61d52965e76a67df8646261b59de6eb8729378093c414fa638b2211f020ac64f87ec47a1ddbb7005d69f25fa95699e10e5bb74b6a87137f62d5db25b7ea
7
+ data.tar.gz: d71d74679f35845bd0816fb1fade459ceb6ffa08c7e803798026909263f5de988345cec4972b063d8ebb2a1809fa355974e7ca9ef95d4c320538e0566b5213f9
data/CHANGELOG.md CHANGED
@@ -4,6 +4,23 @@ The format is [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). This pro
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ### Changed
8
+
9
+ - **Each `/profile` row is its own card.** They were rendered inside one merged
10
+ card separated by hairlines; they now get `card p-6 mb-6` each, matching
11
+ turf-monster's `/account` — the operator's reference — and matching the
12
+ identity header directly above them, which has always been its own card. A
13
+ merged card underneath it put two different treatments on one page.
14
+
15
+ The `border-t` divider is gone rather than ported: separate cards have nothing
16
+ to divide, and a leftover border draws a stray line inside every card.
17
+
18
+ The edit page's merged wrapper also carried `overflow-hidden`. Named here
19
+ because it looks load-bearing and is not: the birthday popover is
20
+ `position: fixed`, placed from the trigger's rect, so it never relied on that
21
+ wrapper as a containing block.
22
+
23
+
7
24
  ### Added
8
25
 
9
26
  - **`Studio.after_newsletter_change`** — a seam so a host can react to a
@@ -72,17 +72,19 @@
72
72
 
73
73
  <%= form_with url: profile_path, method: :patch, scope: :profile,
74
74
  data: { turbo: false }, html: { "x-ref": "form" } do %>
75
- <div class="card p-0 overflow-hidden">
76
- <% @profile_sections.each_with_index do |section, index| %>
77
- <section class="p-6 <%= "border-t border-subtle" unless index.zero? %>"
78
- data-profile-section="<%= section[:key] %>">
79
- <% if section[:title].present? %>
80
- <h2 class="text-sm font-bold text-heading mb-4"><%= section[:title] %></h2>
81
- <% end %>
82
- <%= render section[:partial], **section.fetch(:locals, {}).merge(user: current_user) %>
83
- </section>
84
- <% end %>
85
- </div>
75
+ <%# ONE CARD PER ROW — see show.html.erb. The merged wrapper also carried
76
+ `overflow-hidden`, which is worth naming as it goes: the birthday
77
+ popover is `position: fixed` and placed from the trigger's rect, so it
78
+ was never relying on that wrapper as a containing block and is
79
+ unaffected by its removal. %>
80
+ <% @profile_sections.each do |section| %>
81
+ <section class="card p-6 mb-6" data-profile-section="<%= section[:key] %>">
82
+ <% if section[:title].present? %>
83
+ <h2 class="text-sm font-bold text-heading mb-4"><%= section[:title] %></h2>
84
+ <% end %>
85
+ <%= render section[:partial], **section.fetch(:locals, {}).merge(user: current_user) %>
86
+ </section>
87
+ <% end %>
86
88
 
87
89
  <%# The JS-less path. Hidden once Alpine boots, because with the bar up
88
90
  there would be two Saves. %>
@@ -25,17 +25,22 @@
25
25
  <%= render "studio/profiles/identity", user: current_user, editable: false %>
26
26
 
27
27
  <% if @profile_sections.present? %>
28
- <div class="card p-0 overflow-hidden">
29
- <% @profile_sections.each_with_index do |section, index| %>
30
- <section class="p-6 <%= "border-t border-subtle" unless index.zero? %>"
31
- data-profile-section="<%= section[:key] %>">
32
- <% if section[:title].present? %>
33
- <h2 class="text-sm font-bold text-heading mb-4"><%= section[:title] %></h2>
34
- <% end %>
35
- <%= render section[:partial], **section.fetch(:locals, {}).merge(user: current_user) %>
36
- </section>
37
- <% end %>
38
- </div>
28
+ <%# ONE CARD PER ROW, not one card with hairlines (operator's call). The
29
+ identity header directly above already renders as its own `card p-6 mb-6`,
30
+ so a single merged card underneath it put two different treatments on one
31
+ page. turf-monster's /account — the reference — gives every card its own
32
+ `card shadow p-6 mb-6`.
33
+
34
+ The old `border-t unless index.zero?` divider is GONE rather than ported:
35
+ separate cards have nothing to divide. %>
36
+ <% @profile_sections.each do |section| %>
37
+ <section class="card p-6 mb-6" data-profile-section="<%= section[:key] %>">
38
+ <% if section[:title].present? %>
39
+ <h2 class="text-sm font-bold text-heading mb-4"><%= section[:title] %></h2>
40
+ <% end %>
41
+ <%= render section[:partial], **section.fetch(:locals, {}).merge(user: current_user) %>
42
+ </section>
43
+ <% end %>
39
44
  <% end %>
40
45
  </div>
41
46
 
@@ -1,3 +1,3 @@
1
1
  module Studio
2
- VERSION = "0.53.0"
2
+ VERSION = "0.53.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: studio-engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.53.0
4
+ version: 0.53.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex McRitchie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-15 00:00:00.000000000 Z
11
+ date: 2026-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails