app/views/reservations/_rcon.html.erb
<%= turbo_stream_from "reservation_#{@logsecret}_log_lines" %>
<div class="row">
<div class="col-md-12">
<% if @reservation.now? %>
<%= simple_form_for(@reservation, url: url_for(controller: "reservations", action: @action || "rcon_command"), html: { class: "form-inline rcon-command", autocomplete: "off"}, data: { controller: "rcon", action: "turbo:submit-end->rcon#reset"}) do |f| %>
<div class="suggestions" data-controller="suggestions" data-suggestions-input-field="query" data-suggestions-url-value="<%= rcon_autocomplete_url(reservation_id: @reservation.id) %>">
<%= f.input :query, label: false, class: "col-md-12 form-control required" do %>
<%= text_field_tag :query, nil, placeholder: "RCON command (e.g., changelevel cp_badlands)", class: "col-md-12 form-control required", autocomplete: "off", autofocus: true, spellcheck: false, data: { action: "keyup->suggestions#fetchResults keydown->suggestions#navigateResults", suggestions_target: "query" } %>
<% end %>
<div data-suggestions-target="results"></div>
</div>
<%= submit_tag "Send", name: "commit", class: "btn btn-primary" %>
<% end %>
<small class="form-text text-muted">Type help for example commands. You can also !extend and !end the reservation</small>
<% end %>
<br />
<pre class="web-rcon-log-lines" id="<%= "reservation_#{@logsecret}_log_lines" %>">
<% @log_lines.each do |line| %><%= render "reservations/log_line", log_line: line %><% end %>
</pre>
</div>
</div>