updated settings templates

This commit is contained in:
Alex Turchyn
2023-05-31 23:49:19 +03:00
parent 4a303cb423
commit 97a712d888
12 changed files with 154 additions and 117 deletions
@@ -0,0 +1,28 @@
<%= f.fields_for :value do |ff| %>
<%= ff.hidden_field :service, value: 'aws_s3' %>
<%= ff.fields_for :configs, configs do |fff| %>
<div>
<%= fff.label :access_key_id, 'Access key ID' %>
<%= fff.text_field :access_key_id, value: configs['access_key_id'], required: true %>
</div>
<div>
<%= fff.label :secret_access_key %>
<%= fff.password_field :secret_access_key, value: configs['secret_access_key'], required: true %>
</div>
<div>
<%= fff.label :region %>
<%= fff.text_field :region, value: configs['region'], required: true %>
</div>
<div>
<%= fff.label :bucket %>
<%= fff.text_field :bucket, value: value['service'] == 'aws_s3' ? configs['bucket'] : '', required: true %>
</div>
<div>
<%= fff.label :endpoint %>
<%= fff.text_field :endpoint, value: configs['endpoint'], type: :url %>
<small>
For AWS S3 compantiable APIs like Minio.
</small>
</div>
<% end %>
<% end %>
@@ -0,0 +1,10 @@
<%= f.fields_for :value do |ff| %>
<%= ff.hidden_field :service, value: 'disk' %>
<% end %>
<div class="text-center max-w-xl mx-auto my-8 text-xl font-medium leading-9">
Store all files on disk
<br>
No configs are needed but make sure your disk is persistent
<br>
(not suitable for Heroku and other PaaS)
</div>
@@ -0,0 +1,17 @@
<%= f.fields_for :value do |ff| %>
<%= ff.hidden_field :service, value: 'google' %>
<%= ff.fields_for :configs, configs do |fff| %>
<div>
<%= fff.label :project, 'Project' %>
<%= fff.text_field :project, value: configs['project'], required: true %>
</div>
<div>
<%= fff.label :bucket %>
<%= fff.text_field :bucket, value: value['service'] == 'google' ? configs['bucket'] : '', required: true %>
</div>
<div>
<%= fff.label :credentials, 'Credentials (JSON key content)' %>
<%= fff.text_area :credentials, value: configs['credentials'], required: true %>
</div>
<% end %>
<% end %>
+6 -63
View File
@@ -1,8 +1,6 @@
<div class="max-w-6xl mx-auto">
<div class="flex">
<%= render 'shared/settings_nav' %>
<div class="mt-4 w-full">
<div class="max-w-xl mx-auto">
<div class="flex flex-wrap space-y-4 md:flex-nowrap md:space-y-0 md:space-x-16">
<%= render 'shared/settings_nav' %>
<div class="flex-grow max-w-xl">
<h1 class="text-4xl font-bold mb-4">Storage</h1>
<p class="mb-4">
Select files torage option (TODO)
@@ -22,72 +20,17 @@
</div>
</toggle-visible>
<disable-hidden id="disk" class="<%= 'hidden' if value['service'] != 'disk' %>">
<%= f.fields_for :value do |ff| %>
<%= ff.hidden_field :service, value: 'disk' %>
<% end %>
<div class="text-center max-w-xl mx-auto my-8 text-xl font-medium leading-9">
Store all files on disk
<br>
No configs are needed but make sure your disk is persistent
<br>
(not suitable for Heroku and other PaaS)
</div>
<%= render "disk_form", f: f %>
</disable-hidden>
<disable-hidden id="aws_s3" class="<%= 'hidden' if value['service'] != 'aws_s3' %>">
<%= f.fields_for :value do |ff| %>
<%= ff.hidden_field :service, value: 'aws_s3' %>
<%= ff.fields_for :configs, configs do |fff| %>
<div>
<%= fff.label :access_key_id, 'Access key ID' %>
<%= fff.text_field :access_key_id, value: configs['access_key_id'], required: true %>
</div>
<div>
<%= fff.label :secret_access_key %>
<%= fff.password_field :secret_access_key, value: configs['secret_access_key'], required: true %>
</div>
<div>
<%= fff.label :region %>
<%= fff.text_field :region, value: configs['region'], required: true %>
</div>
<div>
<%= fff.label :bucket %>
<%= fff.text_field :bucket, value: value['service'] == 'aws_s3' ? configs['bucket'] : '', required: true %>
</div>
<div>
<%= fff.label :endpoint %>
<%= fff.text_field :endpoint, value: configs['endpoint'], type: :url %>
<small>
For AWS S3 compantiable APIs like Minio.
</small>
</div>
<% end %>
<% end %>
<%= render "aws_form", f: f, configs: configs, value: value %>
</disable-hidden>
<disable-hidden id="google" class="<%= 'hidden' if value['service'] != 'google' %>">
<%= f.fields_for :value do |ff| %>
<%= ff.hidden_field :service, value: 'google' %>
<%= ff.fields_for :configs, configs do |fff| %>
<div>
<%= fff.label :project, 'Project' %>
<%= fff.text_field :project, value: configs['project'], required: true %>
</div>
<div>
<%= fff.label :bucket %>
<%= fff.text_field :bucket, value: value['service'] == 'google' ? configs['bucket'] : '', required: true %>
</div>
<div>
<%= fff.label :credentials, 'Credentials (JSON key content)' %>
<%= fff.text_area :credentials, value: configs['credentials'], required: true %>
</div>
<% end %>
<% end %>
<%= render "google_cloud", f: f, configs: configs, value: value %>
</disable-hidden>
<div class="form-control">
<%= f.button button_title('OK'), class: 'base-button' %>
</div>
<% end %>
</div>
</div>
<div class="px-2 w-52 flex-none"></div>
</div>
</div>