mirror of https://github.com/docusealco/docuseal
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
3.7 KiB
81 lines
3.7 KiB
<% if Docuseal.demo? %><%= render 'shared/demo_alert' %><% end %>
|
|
<div class="flex justify-between mb-4 items-center">
|
|
<h1 class="text-4xl font-bold"><span class="hidden md:inline">Document</span> Templates</h1>
|
|
<div class="flex space-x-2">
|
|
<% if params[:q].present? || @pagy.pages > 1 || @template_folders.present? %>
|
|
<%= render 'shared/search_input' %>
|
|
<% end %>
|
|
<% if can?(:create, ::Template) %>
|
|
<%= render 'templates/upload_button' %>
|
|
<%= link_to new_template_path, class: 'white-button !border gap-2', data: { turbo_frame: :modal } do %>
|
|
<%= svg_icon('plus', class: 'w-6 h-6 stroke-2') %>
|
|
<span class="hidden md:block">Create</span>
|
|
<% end %>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
<% view_archived_html = capture do %>
|
|
<% if current_account.templates.where.not(archived_at: nil).exists? %>
|
|
<div>
|
|
<a href="<%= templates_archived_index_path %>" class="link text-sm">View Archived</a>
|
|
</div>
|
|
<% end %>
|
|
<% end %>
|
|
<% if @template_folders.present? %>
|
|
<div class="grid gap-4 md:grid-cols-3 <%= 'mb-6' if @templates.present? %>">
|
|
<%= render partial: 'template_folders/folder', collection: @template_folders, as: :folder %>
|
|
</div>
|
|
<% end %>
|
|
<% if @templates.present? %>
|
|
<div class="grid gap-4 md:grid-cols-3">
|
|
<%= render partial: 'templates/template', collection: @templates %>
|
|
</div>
|
|
<% end %>
|
|
<% if params[:q].blank? && @pagy.pages == 1 && ((@template_folders.size < 10 && @templates.size.zero?) || (@template_folders.size < 7 && @templates.size < 4) || (@template_folders.size < 4 && @templates.size < 7)) %>
|
|
<%= form_for '', url: templates_upload_path, id: form_id = SecureRandom.uuid, method: :post, class: 'mt-8 block', html: { enctype: 'multipart/form-data' } do %>
|
|
<input type="hidden" name="form_id" value="<%= form_id %>">
|
|
<button type="submit" class="hidden"></button>
|
|
<file-dropzone data-submit-on-upload="true" class="w-full">
|
|
<label for="file_dropzone_input" class="w-full block h-52 relative hover:bg-base-200/30 rounded-xl border border-2 border-base-300 border-dashed">
|
|
<div class="absolute top-0 right-0 left-0 bottom-0 flex items-center justify-center">
|
|
<div class="flex flex-col items-center">
|
|
<span data-target="file-dropzone.icon" class="flex flex-col items-center">
|
|
<span>
|
|
<%= svg_icon('cloud_upload', class: 'w-10 h-10') %>
|
|
</span>
|
|
<div class="font-medium mb-1">
|
|
Upload New Document
|
|
</div>
|
|
<div class="text-xs">
|
|
<span class="font-medium">Click to upload</span> or drag and drop
|
|
</div>
|
|
</span>
|
|
<span data-target="file-dropzone.loading" class="flex flex-col items-center hidden">
|
|
<%= svg_icon('loader', class: 'w-10 h-10 animate-spin') %>
|
|
<div class="font-medium mb-1">
|
|
Uploading...
|
|
</div>
|
|
</span>
|
|
</div>
|
|
<input id="file_dropzone_input" name="files[]" class="hidden" data-action="change:file-dropzone#onSelectFiles" data-target="file-dropzone.input" type="file" accept="image/*, application/pdf<%= ', .docx, .doc, .xlsx, .xls' if Docuseal.multitenant? %>" multiple>
|
|
</div>
|
|
</label>
|
|
</file-dropzone>
|
|
<% end %>
|
|
<% end %>
|
|
<% if @templates.present? || params[:q].blank? %>
|
|
<% if @pagy.pages > 1 %>
|
|
<%= render 'shared/pagination', pagy: @pagy, items_name: 'templates', left_additional_html: view_archived_html %>
|
|
<% else %>
|
|
<div class="mt-2">
|
|
<%= view_archived_html %>
|
|
</div>
|
|
<% end %>
|
|
<% elsif params[:q].present? %>
|
|
<div class="text-center">
|
|
<div class="mt-16 text-3xl font-semibold">
|
|
Templates not Found
|
|
</div>
|
|
</div>
|
|
<% end %>
|