Skip to content

Commit 5a08b40

Browse files
committed
Make screenshot new work with auto param
1 parent d1ad186 commit 5a08b40

File tree

5 files changed

+19
-7
lines changed

5 files changed

+19
-7
lines changed

app/controllers/share/snippet_screenshots_controller.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ def show
99

1010
def new
1111
@snippet = Snippet.find(params[:snippet_id])
12+
@auto = params[:auto] == "true"
1213
end
1314

1415
def create

app/controllers/share/snippets_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def destroy
6767
def share_snippet_redirect_url(snippet)
6868
case params[:commit]
6969
when "Share"
70-
new_share_snippet_screenshot_url(snippet)
70+
new_share_snippet_screenshot_url(snippet, auto: true)
7171
else
7272
edit_share_snippet_url(snippet)
7373
end

app/javascript/controllers/snippets/screenshot.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,15 @@ import debug from '../../utils/debug';
66
const console = debug('app:javascript:controllers:snippets:screenshot');
77

88
export default class extends Controller<HTMLFormElement> {
9+
static values = {
10+
auto: Boolean,
11+
};
12+
913
static targets = ['snippet', 'submitButton'];
1014

1115
declare readonly snippetTarget: HTMLInputElement;
1216
declare readonly submitButtonTarget: HTMLInputElement;
17+
declare readonly autoValue: boolean;
1318

1419
connect(): void {
1520
console.log('Connect!');
@@ -19,9 +24,11 @@ export default class extends Controller<HTMLFormElement> {
1924
this.prepareScreenshot,
2025
);
2126

22-
// submit immediately
23-
this.submitButtonTarget.click();
24-
this.submitButtonTarget.disabled = true;
27+
if (this.autoValue) {
28+
// submit immediately
29+
this.submitButtonTarget.click();
30+
this.submitButtonTarget.disabled = true;
31+
}
2532
}
2633

2734
prepareScreenshot = async (event) => {

app/views/share/snippet_screenshots/form.rb

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ class Share::SnippetScreenshots::Form < ApplicationComponent
66

77
attr_accessor :snippet
88

9-
def initialize(snippet)
9+
def initialize(snippet, auto: false)
1010
@snippet = snippet
11+
@auto = auto
1112
end
1213

1314
def view_template
@@ -17,7 +18,8 @@ def view_template
1718
method: :post,
1819
class: "grid-content",
1920
data: {
20-
controller: "snippet-screenshot"
21+
controller: "snippet-screenshot",
22+
snippet_screenshot_auto_value: auto?.to_s
2123
}
2224
) do |form|
2325
errors
@@ -48,4 +50,6 @@ def errors
4850
end
4951
end
5052
end
53+
54+
def auto? = !!@auto
5155
end

app/views/share/snippet_screenshots/new.html.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<%= render Pages::Header.new(title: "Share Snippet: Screenshot") %>
22
<div class="section-content container py-gap mb-3xl">
33
<%= turbo_frame_tag :snippet_form, data: {turbo_action: "advance"} do %>
4-
<%= render Share::SnippetScreenshots::Form.new(@snippet) %>
4+
<%= render Share::SnippetScreenshots::Form.new(@snippet, auto: @auto) %>
55
<% end %>
66

77
<br>

0 commit comments

Comments
 (0)