diff --git a/app/controllers/boards/publications_controller.rb b/app/controllers/boards/publications_controller.rb index 9435bd8bf..b2f3d46dd 100644 --- a/app/controllers/boards/publications_controller.rb +++ b/app/controllers/boards/publications_controller.rb @@ -5,10 +5,20 @@ class Boards::PublicationsController < ApplicationController def create @board.publish + + respond_to do |format| + format.turbo_stream + format.json { render partial: "boards/board", locals: { board: @board }, status: :created } + end end def destroy @board.unpublish @board.reload + + respond_to do |format| + format.turbo_stream + format.json { head :no_content } + end end end diff --git a/app/controllers/my/access_tokens_controller.rb b/app/controllers/my/access_tokens_controller.rb index 99c87893f..82cd93842 100644 --- a/app/controllers/my/access_tokens_controller.rb +++ b/app/controllers/my/access_tokens_controller.rb @@ -15,9 +15,18 @@ class My::AccessTokensController < ApplicationController def create access_token = my_access_tokens.create!(access_token_params) - expiring_id = verifier.generate access_token.id, expires_in: 10.seconds - redirect_to my_access_token_path(expiring_id) + respond_to do |format| + format.html do + expiring_id = verifier.generate access_token.id, expires_in: 10.seconds + redirect_to my_access_token_path(expiring_id) + end + + format.json do + render status: :created, json: \ + { token: access_token.token, description: access_token.description, permission: access_token.permission } + end + end end def destroy diff --git a/app/controllers/public/boards/columns/closeds_controller.rb b/app/controllers/public/boards/columns/closeds_controller.rb index 63ca9de7b..36df35f14 100644 --- a/app/controllers/public/boards/columns/closeds_controller.rb +++ b/app/controllers/public/boards/columns/closeds_controller.rb @@ -1,5 +1,5 @@ class Public::Boards::Columns::ClosedsController < Public::BaseController def show - set_page_and_extract_portion_from @board.cards.closed.recently_closed_first + set_page_and_extract_portion_from @board.cards.closed.published.recently_closed_first end end diff --git a/app/javascript/controllers/collapsible_columns_controller.js b/app/javascript/controllers/collapsible_columns_controller.js index 35c5efedf..b3c429140 100644 --- a/app/javascript/controllers/collapsible_columns_controller.js +++ b/app/javascript/controllers/collapsible_columns_controller.js @@ -54,6 +54,12 @@ export default class extends Controller { } } + frameColumnOnMobile(event) { + if (!this.#isDesktop) { + event.currentTarget.scrollIntoView({ behavior: "smooth", inline: "center" }) + } + } + async #restoreColumnsDisablingTransitions() { this.#disableTransitions() this.#restoreColumns() diff --git a/app/javascript/controllers/dialog_controller.js b/app/javascript/controllers/dialog_controller.js index b52eb2ea6..1790ac471 100644 --- a/app/javascript/controllers/dialog_controller.js +++ b/app/javascript/controllers/dialog_controller.js @@ -7,7 +7,8 @@ export default class extends Controller { static values = { modal: { type: Boolean, default: false }, sizing: { type: Boolean, default: true }, - autoOpen: { type: Boolean, default: false } + autoOpen: { type: Boolean, default: false }, + orient: { type: Boolean, default: true } } connect() { @@ -26,7 +27,9 @@ export default class extends Controller { this.dialogTarget.showModal() } else { this.dialogTarget.show() - orient({ target: this.dialogTarget, anchor: this.element }) + if (this.orientValue) { + orient({ target: this.dialogTarget, anchor: this.element }) + } } this.loadLazyFrames() diff --git a/app/views/boards/_board.json.jbuilder b/app/views/boards/_board.json.jbuilder index fd4e891d7..7c85a1dc5 100644 --- a/app/views/boards/_board.json.jbuilder +++ b/app/views/boards/_board.json.jbuilder @@ -4,4 +4,6 @@ json.cache! board do json.url board_url(board) json.creator board.creator, partial: "users/user", as: :user + + json.public_url published_board_url(board) if board.published? end diff --git a/app/views/boards/show/_column.html.erb b/app/views/boards/show/_column.html.erb index b5bba3339..e99143c83 100644 --- a/app/views/boards/show/_column.html.erb +++ b/app/views/boards/show/_column.html.erb @@ -4,7 +4,7 @@ drag_and_strum_target: "container", collapsible_columns_target: "column", controller: "clicker", - action: "turbo:before-stream-render@document->collapsible-columns#restoreState focus->collapsible-columns#focusOnColumn" + action: "turbo:before-stream-render@document->collapsible-columns#restoreState focus->collapsible-columns#focusOnColumn dialog:show->collapsible-columns#frameColumnOnMobile" } do %>
<%= render "boards/show/menu/column", column: column %> diff --git a/app/views/boards/show/menu/_column.html.erb b/app/views/boards/show/menu/_column.html.erb index ebfdd3855..10c751bca 100644 --- a/app/views/boards/show/menu/_column.html.erb +++ b/app/views/boards/show/menu/_column.html.erb @@ -1,4 +1,4 @@ -
+