Merge pull request #1775 from basecamp/default-hotkeys

Default hotkeys
This commit is contained in:
Jason Zimdars
2025-12-01 14:36:08 -06:00
committed by GitHub
9 changed files with 19 additions and 20 deletions
-2
View File
@@ -6,8 +6,6 @@ module HotkeysHelper
""
elsif key == "enter"
platform.mac? ? "return" : "enter"
elsif key == "shift"
""
else
key
end.capitalize
+1 -1
View File
@@ -34,7 +34,7 @@
placeholder: "Add a public note about this board…",
data: { action: "keydown.ctrl+enter->form#submit:prevent keydown.meta+enter->form#submit:prevent keydown.esc->form#cancel:stop" },
readonly: !Current.user.can_administer_board?(@board) %>
<%= form.button "Save changes", type: :submit, class: "btn txt-small" %>
<%= form.button "Save changes", type: :submit, class: "btn txt-small", title: "Save changes (#{ hotkey_label(["ctrl", "enter"]) })" %>
<% end %>
</div>
</div>
+1
View File
@@ -16,6 +16,7 @@
<span class="flex-inline align-center gap">
<%= form.button class: "comment__submit btn btn--reversed",
title: "Post this comment (#{ hotkey_label(["ctrl", "enter"]) })",
data: { form_target: "submit" }, disabled: true do %>
<span>Post</span>
<% end %>
+2 -2
View File
@@ -12,10 +12,10 @@
<%= general_prompts(@card.board) %>
<% end %>
<div class="flex gap-half justify-start align-center">
<%= form.button class: "btn btn--reversed", type: :submit do %>
<%= form.button class: "btn btn--reversed", type: :submit, title: "Save changes (#{ hotkey_label(["ctrl", "enter"]) })" do %>
<span>Save</span>
<% end %>
<%= link_to card_comment_path(@card, @comment), class: "btn", data: { form_target: "cancel" } do %>
<%= link_to card_comment_path(@card, @comment), class: "btn", data: { form_target: "cancel" },title: "Cancel (#{ hotkey_label(["esc"]) })" do %>
<span>Cancel</span>
<% end %>
+4 -4
View File
@@ -1,11 +1,11 @@
<% if card.golden? %>
<%= button_to card_goldness_path(card), method: :delete, class: "btn btn--reversed", data: { controller: "tooltip" } do %>
<%= button_to card_goldness_path(card), method: :delete, class: "btn btn--reversed", data: { controller: "tooltip hotkey", action: "keydown.shift+g@document->hotkey#click" } do %>
<%= icon_tag "golden-ticket" %>
<span class="for-screen-reader">Demote to normal</span>
<span class="for-screen-reader">Demote to normal (shift+g)</span>
<% end %>
<% else %>
<%= button_to card_goldness_path(card), class: "btn", data: { controller: "tooltip" } do %>
<%= button_to card_goldness_path(card), class: "btn", data: { controller: "tooltip hotkey", action: "keydown.shift+g@document->hotkey#click" } do %>
<%= icon_tag "golden-ticket" %>
<span class="for-screen-reader">Promote to golden</span>
<span class="for-screen-reader">Promote to golden (shift+g)</span>
<% end %>
<% end %>
@@ -1,7 +1,7 @@
<div class="flex gap-half">
<%= button_tag type: :submit, form: dom_id(card, :edit_form), class: "btn borderless",
title: "Save changes (#{ hotkey_label(["ctrl", "enter"]) })",
data: { controller: "hotkey", action: "keydown.ctrl+enter@document->hotkey#click keydown.meta+enter@document->hotkey#click" } do %>
<span>Save changes</span>
<kbd class="txt-x-small hide-on-touch"><%= hotkey_label(["ctrl", "enter"]) %></kbd>
<% end %>
</div>
@@ -1,14 +1,14 @@
<div class="card-perma__notch card-perma__notch--bottom">
<%= button_to card_publish_path(card), name: "creation_type", value: "add", class: "btn",
title: "Create card (#{ hotkey_label(["ctrl", "enter"]) })",
form: { data: { controller: "form" } },
data: { form_target: "submit", controller: "clicker", action: "keydown.ctrl+enter@document->clicker#click keydown.meta+enter@document->clicker#click" } do %>
<span>Create card</span>
<% end %>
<%= button_to card_publish_path(card), method: :post, class: "btn btn--reversed", name: "creation_type", value: "add_another",
title: "Create and add another (ctrl+shift+enter)", form: { data: { controller: "form" } },
title: "Create and add another (#{ hotkey_label(["ctrl", "shift", "enter"]) })", form: { data: { controller: "form" } },
data: { form_target: "submit", controller: "clicker", action: "keydown.ctrl+shift+enter@document->clicker#click keydown.meta+shift+enter@document->clicker#click" } do %>
<span>Create and add another</span>
<kbd class="txt-x-small hide-on-touch"><%= hotkey_label([ "ctrl", "shift", "enter" ]) %></kbd>
<% end %>
</div>
+4 -4
View File
@@ -1,11 +1,11 @@
<div id="<%= dom_id(card, :pin_button) %>">
<% if card.pinned_by? Current.user %>
<%= button_to card_pin_path(card), method: :delete, class: "btn btn--reversed", data: { controller: "tooltip" } do %>
<%= icon_tag "pinned" %> <span class="for-screen-reader">Un-pin this card</span>
<%= button_to card_pin_path(card), method: :delete, class: "btn btn--reversed", data: { controller: "tooltip hotkey", action: "keydown.shift+p@document->hotkey#click" } do %>
<%= icon_tag "pinned" %> <span class="for-screen-reader">Un-pin this card (shift+p)</span>
<% end %>
<% else %>
<%= button_to card_pin_path(card), class: "btn", data: { controller: "tooltip" } do %>
<%= icon_tag "unpinned" %> <span class="for-screen-reader">Pin this card</span>
<%= button_to card_pin_path(card), class: "btn", data: { controller: "tooltip hotkey", action: "keydown.shift+p@document->hotkey#click" } do %>
<%= icon_tag "unpinned" %> <span class="for-screen-reader">Pin this card (shift+p)</span>
<% end %>
<% end %>
</div>
@@ -1,13 +1,13 @@
<div id="<%= dom_id(card, :watch_button) %>">
<% if card.watched_by? Current.user %>
<%= button_to card_watch_path(card), method: :delete, class: "btn btn--reversed", data: { controller: "tooltip" } do %>
<%= button_to card_watch_path(card), method: :delete, class: "btn btn--reversed", data: { controller: "tooltip hotkey", action: "keydown.shift+n@document->hotkey#click" } do %>
<%= icon_tag "bell" %>
<span class="for-screen-reader">Stop watching</span>
<span class="for-screen-reader">Stop watching (shift+n)</span>
<% end %>
<% else %>
<%= button_to card_watch_path(card), class: "btn", data: { controller: "tooltip" } do %>
<%= button_to card_watch_path(card), class: "btn", data: { controller: "tooltip hotkey", action: "keydown.shift+n@document->hotkey#click" } do %>
<%= icon_tag "bell-off" %>
<span class="for-screen-reader">Watch this</span>
<span class="for-screen-reader">Watch this (shift+n)</span>
<% end %>
<% end %>
</div>