Merge pull request #1561 from basecamp/update-public-boards

Update public boards
This commit is contained in:
Jason Zimdars
2025-11-12 09:20:36 -06:00
committed by GitHub
15 changed files with 161 additions and 96 deletions
-4
View File
@@ -417,10 +417,6 @@
display: initial;
}
}
.cards--grid &:not(.blank-slate-for-grid) {
display: none;
}
}
}
+3
View File
@@ -0,0 +1,3 @@
<div class="txt-align-center center margin-block-double txt-subtle txt-small">
<strong><%= link_to "Fizzy", "https://www.fizzy.do", class: "txt-subtle" %></strong> is designed, built, and backed by <strong class="txt-nowrap"><%= icon_tag "37signals", class: "v-align-middle" %> <a href="https://37signals.com" target="_blank" class="txt-subtle">37signals</a></strong>.
</div>
@@ -1,11 +1,34 @@
<%= turbo_frame_tag :closed_column do %>
<% if @page.used? %>
<%= with_automatic_pagination :closed_column, @page do %>
<%= render "public/boards/columns/list", cards: @page.records %>
<% @page_title = "Column: Closed" %>
<% content_for :header do %>
<div class="header__actions header__actions--start">
<%= link_to published_board_url(@board), class: "btn borderless txt-medium", data: { controller: "hotkey", action: "keydown.left@document->hotkey#click" } do %>
<span class="flex align-center">
<strong class="overflow-ellipsis">Back to <%= @board.name %></strong>
<kbd class="txt-x-small hide-on-touch margin-inline-start">&larr;</kbd>
</span>
<% end %>
<% else %>
<div class="card blank-slate blank-slate--card">
<p class="txt-align-center txt-normal">No cards here</p>
</div>
<% end %>
</div>
<h1 class="header__title divider divider--fade full-width">
<span class="overflow-ellipsis"><%= @page_title %></span>
</h1>
<% end %>
<section class="cards cards--grid">
<%= turbo_frame_tag :closed_column do %>
<% if @page.used? %>
<%= with_automatic_pagination :closed_column, @page do %>
<%= render "public/boards/columns/list", cards: @page.records %>
<% end %>
<% else %>
<div class="card blank-slate blank-slate--card">
<p class="txt-align-center txt-normal">No cards here</p>
</div>
<% end %>
<% end %>
</section>
<% content_for :footer do %>
<%= render "public/footer" %>
<% end %>
@@ -1,11 +1,34 @@
<%= turbo_frame_tag :not_now_column do %>
<% if @page.used? %>
<%= with_automatic_pagination :not_now_column, @page do %>
<%= render "public/boards/columns/list", cards: @page.records %>
<% @page_title = "Column: Not now" %>
<% content_for :header do %>
<div class="header__actions header__actions--start">
<%= link_to published_board_url(@board), class: "btn borderless txt-medium", data: { controller: "hotkey", action: "keydown.left@document->hotkey#click" } do %>
<span class="flex align-center">
<strong class="overflow-ellipsis">Back to <%= @board.name %></strong>
<kbd class="txt-x-small hide-on-touch margin-inline-start">&larr;</kbd>
</span>
<% end %>
<% else %>
<div class="card blank-slate blank-slate--card">
<p class="txt-align-center txt-normal">No cards here</p>
</div>
<% end %>
</div>
<h1 class="header__title divider divider--fade full-width">
<span class="overflow-ellipsis"><%= @page_title %></span>
</h1>
<% end %>
<section class="cards cards--grid">
<%= turbo_frame_tag :not_now_column do %>
<% if @page.used? %>
<%= with_automatic_pagination :not_now_column, @page do %>
<%= render "public/boards/columns/list", cards: @page.records %>
<% end %>
<% else %>
<div class="card blank-slate blank-slate--card">
<p class="txt-align-center txt-normal">No cards here</p>
</div>
<% end %>
<% end %>
</section>
<% content_for :footer do %>
<%= render "public/footer" %>
<% end %>
+33 -9
View File
@@ -1,11 +1,35 @@
<%= turbo_frame_tag @column, :cards do %>
<% if @page.used? %>
<%= with_automatic_pagination dom_id(@column, :cards), @page do %>
<%= render "public/boards/columns/list", cards: @page.records %>
<% @page_title = "Column: #{ @column.name }" %>
<% content_for :header do %>
<div class="header__actions header__actions--start">
<%= link_to published_board_url(@column.board), class: "btn borderless txt-medium", data: { controller: "hotkey", action: "keydown.left@document->hotkey#click" } do %>
<span class="flex align-center">
<strong class="overflow-ellipsis">Back to <%= @column.board.name %></strong>
<kbd class="txt-x-small hide-on-touch margin-inline-start">&larr;</kbd>
</span>
<% end %>
<% else %>
<div class="card blank-slate blank-slate--card">
<p class="txt-align-center txt-normal">No cards here</p>
</div>
<% end %>
</div>
<h1 class="header__title divider divider--fade full-width">
<span class="overflow-ellipsis"><%= @page_title %></span>
</h1>
<% end %>
<section class="cards cards--grid">
<%= turbo_frame_tag @column, :cards do %>
<% if @page.used? %>
<%= with_automatic_pagination dom_id(@column, :cards), @page do %>
<%= render "public/boards/columns/list", cards: @page.records %>
<% end %>
<% else %>
<div class="card blank-slate blank-slate--card">
<p class="txt-align-center txt-normal">No cards here</p>
</div>
<% end %>
<% end %>
</section>
<% content_for :footer do %>
<%= render "public/footer" %>
<% end %>
@@ -1,11 +1,34 @@
<%= turbo_frame_tag :stream_column do %>
<% if @page.used? %>
<%= with_automatic_pagination :stream_column, @page do %>
<%= render "public/boards/columns/list", cards: @page.records %>
<% @page_title = "Column: Maybe?" %>
<% content_for :header do %>
<div class="header__actions header__actions--start">
<%= link_to published_board_url(@board), class: "btn borderless txt-medium", data: { controller: "hotkey", action: "keydown.left@document->hotkey#click" } do %>
<span class="flex align-center">
<strong class="overflow-ellipsis">Back to <%= @board.name %></strong>
<kbd class="txt-x-small hide-on-touch margin-inline-start">&larr;</kbd>
</span>
<% end %>
<% else %>
<div class="card blank-slate blank-slate--card">
<p class="txt-align-center txt-normal">No cards here</p>
</div>
<% end %>
</div>
<h1 class="header__title divider divider--fade full-width">
<span class="overflow-ellipsis"><%= @page_title %></span>
</h1>
<% end %>
<section class="cards cards--grid">
<%= turbo_frame_tag :stream_column do %>
<% if @page.used? %>
<%= with_automatic_pagination :stream_column, @page do %>
<%= render "public/boards/columns/list", cards: @page.records %>
<% end %>
<% else %>
<div class="card blank-slate blank-slate--card">
<p class="txt-align-center txt-normal">No cards here</p>
</div>
<% end %>
<% end %>
</section>
<% content_for :footer do %>
<%= render "public/footer" %>
<% end %>
+4
View File
@@ -25,3 +25,7 @@
<% end %>
<%= render "public/boards/show/columns", page: @page, board: @board %>
<% content_for :footer do %>
<%= render "public/footer" %>
<% end %>
@@ -6,6 +6,11 @@
<div class="cards__transition-container">
<header class="cards__header">
<%= render "boards/show/expander", title: "Done", count: board.cards.closed.count, column_id: "closed-cards" %>
<%= link_to public_board_columns_closed_url(board.publication.key), class: "cards__maximize-button btn btn--circle txt-x-small borderless", data: { turbo_frame: "_top" } do %>
<%= icon_tag "grid", class: "translucent" %>
<span class="for-screen-reader">Maximize column</span>
<% end %>
</header>
<%= column_frame_tag :closed_column, src: public_board_columns_closed_path(board.publication.key) %>
@@ -7,6 +7,11 @@
<div class="cards__transition-container">
<header class="cards__header">
<%= render "boards/show/expander", title: column.name, count: column.cards.active.count, column_id: dom_id(column) %>
<%= link_to public_board_column_url(column.board.publication.key, column), class: "cards__maximize-button btn btn--circle txt-x-small borderless", data: { turbo_frame: "_top" } do %>
<%= icon_tag "grid", class: "translucent" %>
<span class="for-screen-reader">Maximize column</span>
<% end %>
</header>
<%= column_frame_tag dom_id(column, :cards), src: public_board_column_path(column.board.publication.key, column) %>
@@ -1,13 +0,0 @@
<section id="considering-cards" class="cards cards--considering">
<% if page.used? %>
<%= render "cards/display/public_previews", cards: page.records %>
<% unless page.last? %>
<div class="full-width">
<%= public_board_cards_next_page_link board, "considering-cards", page: page %>
</div>
<% end %>
<% else %>
<p class="txt-medium translucent">Nothing here</p>
<% end %>
</section>
@@ -1,17 +0,0 @@
<section id="doing-cards" class="cards cards--doing">
<h2 class="cards__heading">
Working On
</h2>
<% if page.used? %>
<%= render "cards/display/public_previews", cards: page.records %>
<% unless page.last? %>
<div class="full-width">
<%= public_board_cards_next_page_link board, "doing-cards", page: page %>
</div>
<% end %>
<% else %>
<p class="txt-medium translucent">Nothing here</p>
<% end %>
</section>
@@ -6,6 +6,11 @@
<div class="cards__transition-container">
<header class="cards__header">
<%= render "boards/show/expander", title: "Not Now", count: board.cards.postponed.count, column_id: "not-now" %>
<%= link_to public_board_columns_not_now_url(board.publication.key), class: "cards__maximize-button btn btn--circle txt-x-small borderless", data: { turbo_frame: "_top" } do %>
<%= icon_tag "grid", class: "translucent" %>
<span class="for-screen-reader">Maximize column</span>
<% end %>
</header>
<%= column_frame_tag :not_now_column, src: public_board_columns_not_now_path(board.publication.key) %>
@@ -1,17 +0,0 @@
<section id="considering-cards" class="cards cards--on-deck">
<h2 class="cards__heading">
On Deck
</h2>
<% if page.used? %>
<%= render partial: "cards/display/public_preview", collection: page.records, as: :card, cached: true %>
<% unless page.last? %>
<div class="full-width">
<%= public_board_cards_next_page_link board, "on-deck-cards", page: page %>
</div>
<% end %>
<% else %>
<p class="txt-medium translucent">Nothing here</p>
<% end %>
</section>
@@ -5,16 +5,13 @@
<div class="cards__expander">
<h2 class="cards__expander-title" data-collapsible-columns-target="title">Maybe?</h2>
</div>
<%= link_to public_board_columns_stream_url(board.publication.key), class: "cards__maximize-button btn btn--circle txt-x-small borderless", data: { turbo_frame: "_top" } do %>
<%= icon_tag "grid", class: "translucent" %>
<span class="for-screen-reader">Maximize column</span>
<% end %>
</header>
<% if page.used? %>
<%= with_automatic_pagination "the-stream", @page do %>
<%= render "public/boards/columns/list", cards: page.records %>
<% end %>
<% else %>
<div class="card blank-slate blank-slate--card">
<p class="txt-align-center txt-normal">No cards here</p>
</div>
<% end %>
<%= column_frame_tag :stream_column, src: public_board_columns_stream_path(board.publication.key) %>
</div>
</section>
+4
View File
@@ -48,3 +48,7 @@
<%= render "layouts/lightbox" %>
</section>
<% content_for :footer do %>
<%= render "public/footer" %>
<% end %>