From ad3367dae0a8ec0621b7ca5a59ce64637c338ffa Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Wed, 23 Sep 2026 10:01:51 +0300 Subject: [PATCH 001/116] add date placeholder --- app/javascript/application.js | 2 ++ app/javascript/elements/date_placeholder.js | 10 ++++++++++ app/views/submissions/_detailed_form.html.erb | 5 ++++- 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 app/javascript/elements/date_placeholder.js diff --git a/app/javascript/application.js b/app/javascript/application.js index 6e8eec576..a9c3d0391 100644 --- a/app/javascript/application.js +++ b/app/javascript/application.js @@ -59,6 +59,7 @@ import ConfirmUpload from './elements/confirm_upload' import ScrollFade from './elements/scroll_fade' import OpenModalMobile from './elements/open_modal_mobile' import HistoryBack from './elements/history_back' +import DatePlaceholder from './elements/date_placeholder' import * as TurboInstantClick from './lib/turbo_instant_click' @@ -156,6 +157,7 @@ safeRegisterElement('confirm-upload', ConfirmUpload) safeRegisterElement('scroll-fade', ScrollFade) safeRegisterElement('open-modal-mobile', OpenModalMobile) safeRegisterElement('history-back', HistoryBack) +safeRegisterElement('date-placeholder', DatePlaceholder) safeRegisterElement('template-builder', class extends HTMLElement { connectedCallback () { diff --git a/app/javascript/elements/date_placeholder.js b/app/javascript/elements/date_placeholder.js new file mode 100644 index 000000000..8003b2adf --- /dev/null +++ b/app/javascript/elements/date_placeholder.js @@ -0,0 +1,10 @@ +export default class extends HTMLElement { + connectedCallback () { + const input = this.querySelector('input') + const placeholder = this.querySelector('span') + + input.addEventListener('change', () => { + placeholder.classList.toggle('hidden', !!input.value) + }) + } +} diff --git a/app/views/submissions/_detailed_form.html.erb b/app/views/submissions/_detailed_form.html.erb index 86e2f29d0..fbfc3892e 100644 --- a/app/views/submissions/_detailed_form.html.erb +++ b/app/views/submissions/_detailed_form.html.erb @@ -65,7 +65,10 @@ <% elsif field['type'] == 'select' || field['type'] == 'radio' %> <%= select_tag "submission[1][submitters][][values][#{field['uuid'] || field['name']}]", options_for_select(field['options'].pluck('value'), field['default_value']), prompt: t(:select), id: field_id, class: 'select select-sm base-input !h-10 mt-1.5 ', required: field['required'] %> <% elsif field['type'] == 'date' %> - <%= tag.input type: field['type'], name: "submission[1][submitters][][values][#{field['uuid'] || field['name']}]", autocomplete: 'off', class: 'base-input !h-10 mt-1.5 w-full border rounded p-3', placeholder: (field['required'] ? field['title'].presence || field['name'] : "#{field['title'].presence || field['name']} (#{t('optional')})"), value: field['default_value'], id: field_id, required: field['required'] %> + + <%= tag.input type: field['type'], name: "submission[1][submitters][][values][#{field['uuid'] || field['name']}]", autocomplete: 'off', class: 'peer base-input !h-10 w-full border rounded p-3', value: field['default_value'], id: field_id, required: field['required'] %> + <%= field['required'] ? field['title'].presence || field['name'] : "#{field['title'].presence || field['name']} (#{t('optional')})" %> + <% elsif field['type'] != 'phone' %> <%= tag.input type: field['type'], name: "submission[1][submitters][][values][#{field['uuid'] || field['name']}]", autocomplete: 'off', class: 'base-input !h-10 mt-1.5 w-full border rounded p-3', placeholder: (field['required'] ? field['title'].presence || field['name'] : "#{field['title'].presence || field['name']} (#{t('optional')})"), value: field['default_value'], id: field_id, required: field['required'] %> <% end %> From 22b2e7475a48fa978800fe2561deffc17db40aa3 Mon Sep 17 00:00:00 2001 From: Alex Turchyn Date: Sat, 5 Sep 2026 02:29:28 +0300 Subject: [PATCH 002/116] add native app --- app/views/layouts/_head_tags.html.erb | 2 +- app/views/layouts/application.html.erb | 2 +- app/views/settings/index.html.erb | 14 +-- app/views/shared/_flash.html.erb | 30 +++--- app/views/shared/_settings_nav.html.erb | 4 +- app/views/shared/_turbo_drawer.html.erb | 53 +++++----- app/views/shared/_turbo_modal.html.erb | 43 ++++---- app/views/shared/_turbo_modal_large.html.erb | 5 + app/views/submissions_archived/index.html.erb | 14 +-- .../submissions_dashboard/index.html.erb | 2 + app/views/template_folders/show.html.erb | 98 ++++++++++--------- app/views/templates_archived/index.html.erb | 14 +-- .../index.html.erb | 14 +-- app/views/templates_dashboard/index.html.erb | 2 + app/views/templates_shared/index.html.erb | 14 +-- app/views/webhook_events/show.html.erb | 2 +- package.json | 2 +- 17 files changed, 181 insertions(+), 134 deletions(-) diff --git a/app/views/layouts/_head_tags.html.erb b/app/views/layouts/_head_tags.html.erb index a6426f4fc..cedcab1b5 100644 --- a/app/views/layouts/_head_tags.html.erb +++ b/app/views/layouts/_head_tags.html.erb @@ -1,4 +1,4 @@ - <%= content_for(:html_title) || (signed_in? ? 'DocuSeal' : 'DocuSeal | Open Source Document Signing') %> + <%= content_for(:html_title) || (turbo_native_app? ? '' : (signed_in? ? 'DocuSeal' : 'DocuSeal | Open Source Document Signing')) %> <%= render 'shared/meta' %> diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 09cfb218f..2a434c25a 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -28,7 +28,7 @@ <% end %> - <%= render 'shared/navbar' %> + <%= render 'shared/navbar' unless turbo_native_app? %> <% if flash.present? %><%= render 'shared/flash' %><% end %>
<%= yield %> diff --git a/app/views/settings/index.html.erb b/app/views/settings/index.html.erb index 32973ea7b..1232a47cb 100644 --- a/app/views/settings/index.html.erb +++ b/app/views/settings/index.html.erb @@ -1,7 +1,9 @@ - +<% unless turbo_native_app? %> + +<% end %> <%= render 'shared/settings_nav', expanded: true %> diff --git a/app/views/shared/_flash.html.erb b/app/views/shared/_flash.html.erb index 28e40d17a..1759df18d 100644 --- a/app/views/shared/_flash.html.erb +++ b/app/views/shared/_flash.html.erb @@ -1,17 +1,21 @@ -