Skip to content

Commit 9835023

Browse files
committed
Integrate stimulus analytics with color scheme UX
1 parent ab93db9 commit 9835023

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

app/views/settings/color_schemes/select.rb

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ def view_template
2525
selected: previewing? && @settings.color_scheme.id
2626
},
2727
onchange: "this.form.requestSubmit()",
28-
class: ""
28+
class: "",
29+
data: send_analytics
2930
)
3031
noscript { f.submit "Preview", class: "button primary" }
3132
end
@@ -35,7 +36,8 @@ def view_template
3536

3637
link_to "I feel lucky!",
3738
url_for(settings: {color_scheme_id: random_curated_color_scheme_id}),
38-
class: "button secondary "
39+
class: "button secondary",
40+
data: send_analytics
3941
end
4042
end
4143

@@ -51,4 +53,8 @@ def random_curated_color_scheme_id
5153
_display_name, id = cached_curated_color_scheme_options.sample
5254
id
5355
end
56+
57+
def send_analytics
58+
{action: "analytics#send"}
59+
end
5460
end

app/views/settings/color_schemes/show_view.rb

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def view_template
2727
render Pages::Header.new(title: "Settings: Color Scheme")
2828

2929
section(class: "section-content container py-gap") do
30-
turbo_frame_tag "color-scheme-form", data: {turbo_action: "advance"} do
30+
turbo_frame_tag "color-scheme-form", data: {turbo_action: "advance", controller: "analytics", analytics_event_value: "Color Scheme Update"} do
3131
style do
3232
render(ColorSchemes::Css.new(color_scheme: @session_color_scheme)) if @session_color_scheme
3333
render(ColorSchemes::Css.new(color_scheme: @color_scheme, my_theme_enabled: true))
@@ -122,15 +122,17 @@ def save_preview_button
122122
button_to "Save #{@preview_color_scheme.display_name}",
123123
settings_color_scheme_path(settings: {color_scheme_id: @preview_color_scheme.id}),
124124
method: :patch,
125-
class: "button primary"
125+
class: "button primary",
126+
data: send_analytics
126127
end
127128

128129
def unsave_button
129130
button_to "Delete my color scheme choice",
130131
settings_color_scheme_path(settings: {color_scheme_id: ColorScheme.cached_default.id}),
131132
method: :patch,
132133
class: "button warn",
133-
style: "min-width: 25ch;"
134+
style: "min-width: 25ch;",
135+
data: {confirm: "Are you sure you want to delete your saved color scheme?", **send_analytics}
134136
end
135137

136138
def reset_button
@@ -165,4 +167,8 @@ def default_color_scheme? = @color_scheme.id == @default_color_scheme
165167
def inline_style_header_color(color_scheme)
166168
"color: var(--color-#{color_scheme.name.parameterize}-500)"
167169
end
170+
171+
def send_analytics
172+
{action: "analytics#send"}
173+
end
168174
end

0 commit comments

Comments
 (0)