From 670bc32576821895a1bc19eb4e92b61af168da75 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Int=C3=A9bec?=
Date: Tue, 24 Feb 2026 01:24:14 +0000
Subject: [PATCH] Intebec Custom Setup
---
app/views/layouts/_head_tags.html.erb | 3 +-
app/views/pages/landing.html.erb | 81 +-----
app/views/shared/_email_attribution.html.erb | 9 +-
app/views/shared/_github.html.erb | 6 -
app/views/shared/_logo.html.erb | 5 +-
app/views/shared/_meta.html.erb | 4 +-
app/views/shared/_navbar_buttons.html.erb | 5 -
app/views/shared/_settings_nav.html.erb | 66 +----
app/views/shared/_title.html.erb | 2 +-
public/favicon-16x16.png | Bin 807 -> 934 bytes
public/favicon-32x32.png | Bin 1820 -> 1176 bytes
public/favicon-96x96.png | Bin 5584 -> 2267 bytes
public/favicon.ico | Bin 1150 -> 14318 bytes
public/intebec.css | 271 +++++++++++++++++++
public/logo.svg | 5 +-
15 files changed, 286 insertions(+), 171 deletions(-)
create mode 100644 public/intebec.css
diff --git a/app/views/layouts/_head_tags.html.erb b/app/views/layouts/_head_tags.html.erb
index a6426f4f..9eb52a35 100644
--- a/app/views/layouts/_head_tags.html.erb
+++ b/app/views/layouts/_head_tags.html.erb
@@ -1,4 +1,5 @@
- <%= content_for(:html_title) || (signed_in? ? 'DocuSeal' : 'DocuSeal | Open Source Document Signing') %>
+ <%= content_for(:html_title) || (signed_in? ? 'Intébec Signature' : 'Intébec | Signature') %>
<%= render 'shared/meta' %>
+
diff --git a/app/views/pages/landing.html.erb b/app/views/pages/landing.html.erb
index 78cc823e..26031df4 100644
--- a/app/views/pages/landing.html.erb
+++ b/app/views/pages/landing.html.erb
@@ -1,79 +1,2 @@
-
-
-
-
-
- <%= render 'shared/logo', width: '100', height: '100' %>
-
- DocuSeal
-
- <% if Docuseal.version.present? %>
-
- v<%= Docuseal.version %>
-
- <% end %>
-
-
- A self-hosted and open-source web platform that provides secure and efficient digital document signing and processing.
-
-
-
-
-
-
-
-
- <%= svg_icon('brand_docker', class: 'w-10 h-10 text-base-100 stroke-1') %>
-
-
Easy to Start
-
- Run on your own host using Docker container, or deploy on your favorite managed PaaS with a single click.
-
-
-
-
-
-
-
-
- <%= svg_icon('devices', class: 'w-10 h-10 text-base-100') %>
-
-
Mobile Optimized
-
- Review and sign digital documents online from any device.
- Docuseal document forms are optimized for screens of all sizes.
-
-
-
-
-
-
-
-
- <%= svg_icon('shield_check', class: 'w-10 h-10 text-base-100') %>
-
-
Secure
-
- Host it on your hardware under a VPN to ensure that important documents can be accesses only within your organization.
-
-
-
-
-
-
-
-
- <%= svg_icon('brand_github', class: 'w-10 h-10 text-base-100') %>
-
-
Open Source
-
- Source code is available under github.com/docusealco.
- Open-source contributors are always ready to help!
-
-
-
-
-
-
-
-<%= render 'shared/attribution', with_counter: true %>
+<% response.headers['Location'] = new_user_session_path %>
+<% response.status = 302 %>
diff --git a/app/views/shared/_email_attribution.html.erb b/app/views/shared/_email_attribution.html.erb
index 8cfd4988..17cf6ac9 100644
--- a/app/views/shared/_email_attribution.html.erb
+++ b/app/views/shared/_email_attribution.html.erb
@@ -2,9 +2,8 @@
---
- <% if @current_account&.testing? %>
- <%= t('sent_using_product_name_in_testing_mode_html', product_url: "#{Docuseal::PRODUCT_EMAIL_URL}/start", product_name: Docuseal.product_name) %>
- <% else %>
- <%= t('sent_using_product_name_free_document_signing_html', product_url: "#{Docuseal::PRODUCT_EMAIL_URL}/start", product_name: Docuseal.product_name) %>
- <% end %>
+ ---
+
+
+ Envoyé avec Intébec — signature de documents sécurisée.
diff --git a/app/views/shared/_github.html.erb b/app/views/shared/_github.html.erb
index 5bcc786a..e69de29b 100644
--- a/app/views/shared/_github.html.erb
+++ b/app/views/shared/_github.html.erb
@@ -1,6 +0,0 @@
-
-
- <%= svg_icon('start', class: 'h-3 w-3') %>
- 11k
-
-
diff --git a/app/views/shared/_logo.html.erb b/app/views/shared/_logo.html.erb
index ce505b8f..1f848620 100644
--- a/app/views/shared/_logo.html.erb
+++ b/app/views/shared/_logo.html.erb
@@ -1,4 +1 @@
-
+
diff --git a/app/views/shared/_meta.html.erb b/app/views/shared/_meta.html.erb
index a6d492f9..3228804c 100644
--- a/app/views/shared/_meta.html.erb
+++ b/app/views/shared/_meta.html.erb
@@ -1,8 +1,8 @@
<% if Docuseal.demo? || (request.path != '/' && !devise_controller?) %>
<% end %>
-<% title = content_for(:html_title) || (signed_in? ? 'DocuSeal' : 'DocuSeal | Open Source Document Signing') %>
-<% description = content_for(:html_description) || 'Open source, self-hosted tool to streamline document filling and signing. Create custom PDF forms to complete and sign with an easy to use online tool.' %>
+<% title = content_for(:html_title) || (signed_in? ? 'Intébec Signature' : 'Intébec | Signature') %>
+<% description = content_for(:html_description) || 'Outil de signature fait par Intébec. Permet de signer des documents facilement.' %>
diff --git a/app/views/shared/_navbar_buttons.html.erb b/app/views/shared/_navbar_buttons.html.erb
index f8692699..242af660 100644
--- a/app/views/shared/_navbar_buttons.html.erb
+++ b/app/views/shared/_navbar_buttons.html.erb
@@ -1,8 +1,3 @@
<% if signed_in? && current_user != true_user %>
<%= render 'shared/test_alert' %>
-<% elsif request.path.starts_with?('/settings') %>
- <%= link_to "#{Docuseal::CLOUD_URL}/sign_up?#{{ redir: "#{Docuseal::CONSOLE_URL}/on_premises" }.to_query}", class: 'hidden md:inline-flex btn btn-warning btn-sm', data: { prefetch: false } do %>
- <%= t('upgrade') %>
- <% end %>
-
<% end %>
diff --git a/app/views/shared/_settings_nav.html.erb b/app/views/shared/_settings_nav.html.erb
index ca074009..97b45add 100644
--- a/app/views/shared/_settings_nav.html.erb
+++ b/app/views/shared/_settings_nav.html.erb
@@ -13,7 +13,7 @@
<%= link_to t('account'), settings_account_path, class: 'text-base hover:bg-base-300' %>
<% unless Docuseal.multitenant? %>
- <% if can?(:read, EncryptedConfig.new(key: EncryptedConfig::EMAIL_SMTP_KEY, account: current_account)) && ENV['SMTP_ADDRESS'].blank? && true_user == current_user %>
+ <% if can?(:read, EncryptedConfig.new(key: EncryptedConfig::EMAIL_SMTP_KEY, account: current_account)) && ENV['SMTP_ADDRESS'].blank? && true_user == current_user %>
<%= link_to t('email'), settings_email_index_path, class: 'text-base hover:bg-base-300' %>
@@ -23,11 +23,6 @@
<%= link_to t('storage'), settings_storage_index_path, class: 'text-base hover:bg-base-300' %>
<% end %>
- <% if can?(:read, EncryptedConfig.new(key: 'submitter_invitation_sms', account: current_account)) && true_user == current_user %>
-
- <%= link_to 'SMS', settings_sms_path, class: 'text-base hover:bg-base-300' %>
-
- <% end %>
<% end %>
<% if can?(:read, AccountConfig) %>
@@ -64,32 +59,7 @@
<% end %>
<% end %>
- <% if !Docuseal.demo? && can?(:manage, EncryptedConfig) && (current_user != true_user || !current_account.linked_account_account) %>
-
- <%= content_for(:pro_link) || link_to(Docuseal.multitenant? ? console_redirect_index_path(redir: "#{Docuseal::CONSOLE_URL}/plans") : "#{Docuseal::CLOUD_URL}/sign_up?#{{ redir: "#{Docuseal::CONSOLE_URL}/on_premises" }.to_query}", class: 'text-base hover:bg-base-300', data: { turbo: false }) do %>
- <%= t('plans') %>
- <%= t('pro') %>
- <% end %>
-
- <% end %>
<% if !Docuseal.demo? && can?(:manage, EncryptedConfig) && (current_user == true_user || current_account.testing?) %>
-
- <%= link_to Docuseal.multitenant? ? console_redirect_index_path(redir: "#{Docuseal::CONSOLE_URL}#{'/test' if current_account.testing?}/api") : "#{Docuseal::CONSOLE_URL}/on_premises", class: 'text-base hover:bg-base-300', data: { turbo: false } do %>
- <% if Docuseal.multitenant? %> API <% else %> <%= t('console') %> <% end %>
- <% end %>
-
- <% if Docuseal.multitenant? %>
-
- <%= link_to console_redirect_index_path(redir: "#{Docuseal::CONSOLE_URL}#{'/test' if current_account.testing?}/embedding/form"), class: 'text-base hover:bg-base-300', data: { turbo: false } do %>
- <%= t('embedding') %>
- <% end %>
-
- <% end %>
- <% if (!Docuseal.multitenant? || can?(:manage, :saml_sso)) && can?(:read, EncryptedConfig.new(key: 'saml_configs', account: current_account)) && true_user == current_user %>
-
- <%= link_to 'SSO', settings_sso_index_path, class: 'text-base hover:bg-base-300' %>
-
- <% end %>
<%= render 'shared/settings_nav_extra2' %>
<% if (can?(:manage, EncryptedConfig) && current_user == true_user) || (current_user != true_user && current_account.testing?) %>
<%= form_for '', url: testing_account_path, method: current_account.testing? ? :delete : :get, html: { class: 'w-full' } do |f| %>
@@ -108,38 +78,4 @@
<% end %>
- <% if Docuseal.multitenant? || cannot?(:manage, :tenants) %>
-
- <% end %>
diff --git a/app/views/shared/_title.html.erb b/app/views/shared/_title.html.erb
index 9830a7ca..0bc369f8 100644
--- a/app/views/shared/_title.html.erb
+++ b/app/views/shared/_title.html.erb
@@ -1,2 +1,2 @@
<%= render 'shared/logo' %>
-DocuSeal
+Intébec
diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png
index e38921b8ffd46d9106ab82888c15ffc76a3a7189..0af913643890152bac8c92c58b9686c1489c9247 100644
GIT binary patch
literal 934
zcmeAS@N?(olHy`uVBq!ia0vp^{6H+g!3-q-bzC(AQVPi)LB0$ORcZ_j4J`}|zkosw
zFBlj~4Hy_+B``2p&0t^
zqR|uO-?`>qTR+#aT>1C?-lc1o4TFWm?2pfNO&0X6KE@aF=4;h`affI9{7>VKs`1R;
z;=R5^mUo|8?=+x|j7i?^E{y+~bngK<>?NMQuI#Uv#6*;ovz))q1PWdCba4#fxSpJl
zkd&6lnq*eS#>VF6#>VHTmnRpeXIIDQsHn!~#+EqIBv5gqNg?M+lR(WdH?~a4NXtrA
zSJhO}t0tzUZftC&yuOvJy18s@va!ClZftI~689ahU*I@qZf0m|ynVx#rcY~gb6mGx
zTJzN*%;`tjH@-=keSSO!U(e~S%X^n87iRF;rqOHfC6_%1zx|A8K9l~z_w(oU4O|>N
zTzrORoV?t8{@n?w9VPzW#(v)2U1I*;-JPik9o_wmjV&&pmplr2<1_o9J
z24AKw-HM_iH$NpatrE9}))TUvKn)sj8%i>BQ;SOya|>|mxpdd&8c+{|r>mdKI;Vst
E06+D9@c;k-
literal 807
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
E0Qm<#6))I3miAk(2;hqE96^cW@F
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
Ik1&M&3nlxpRR910
diff --git a/public/intebec.css b/public/intebec.css
new file mode 100644
index 00000000..1917c7c6
--- /dev/null
+++ b/public/intebec.css
@@ -0,0 +1,271 @@
+/* Intébec theme overrides for DocuSeal (DaisyUI/Tailwind)
+ Scope: only when docuseal theme is active.
+ v2 – Professional, restrained palette. Blue reserved for primary actions only. */
+
+[data-theme="docuseal"] {
+ /* Brand – used sparingly */
+ --ib-primary: 216 77% 52%;
+ --ib-primary-strong: 216 77% 44%;
+ --ib-primary-soft: 216 60% 95%;
+
+ /* Neutrals – the backbone of the UI */
+ --ib-neutral: 220 16% 12%;
+ --ib-neutral-soft: 220 12% 96%;
+
+ --ib-bg: 220 14% 98%;
+ --ib-surface: 0 0% 100%;
+ --ib-surface-2: 220 14% 96%;
+ --ib-border: 220 10% 88%;
+ --ib-text: 220 14% 10%;
+ --ib-text-secondary: 220 8% 40%;
+ --ib-muted: 220 6% 55%;
+
+ /* DaisyUI theme tokens (H S L space-separated) */
+ --p: var(--ib-primary);
+ --pf: var(--ib-primary-strong);
+ --pc: 0 0% 100%;
+
+ --s: 220 12% 45%;
+ --sf: 220 14% 36%;
+ --sc: 0 0% 100%;
+
+ --a: 160 50% 40%;
+ --af: 160 50% 34%;
+ --ac: 0 0% 100%;
+
+ --n: var(--ib-neutral);
+ --nf: 220 16% 8%;
+ --nc: 0 0% 100%;
+
+ --b1: var(--ib-surface);
+ --b2: var(--ib-surface-2);
+ --b3: 220 12% 93%;
+ --bc: var(--ib-text);
+
+ --in: 205 80% 50%;
+ --su: 154 55% 38%;
+ --wa: 38 88% 48%;
+ --er: 0 72% 50%;
+
+ /* Radii + shadow */
+ --rounded-box: 0.875rem;
+ --rounded-btn: 0.625rem;
+ --rounded-badge: 9999px;
+}
+
+/* ─── Global polish ─── */
+html, body {
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+[data-theme="docuseal"] body {
+ background: hsl(var(--ib-bg));
+ color: hsl(var(--ib-text));
+}
+
+/* ─── Links: dark by default, blue only on hover ─── */
+[data-theme="docuseal"] a {
+ color: hsl(var(--ib-text));
+ transition: color 0.15s ease;
+}
+[data-theme="docuseal"] a:hover {
+ color: hsl(var(--ib-primary));
+}
+
+/* Sidebar nav links — neutral dark, not blue */
+[data-theme="docuseal"] aside a,
+[data-theme="docuseal"] nav a,
+[data-theme="docuseal"] .menu a {
+ color: hsl(var(--ib-text-secondary));
+ font-weight: 500;
+}
+[data-theme="docuseal"] aside a:hover,
+[data-theme="docuseal"] nav a:hover,
+[data-theme="docuseal"] .menu a:hover {
+ color: hsl(var(--ib-text));
+ background: hsl(var(--ib-neutral-soft));
+}
+/* Active sidebar item */
+[data-theme="docuseal"] aside a.active,
+[data-theme="docuseal"] aside a[aria-current],
+[data-theme="docuseal"] .menu a.active {
+ color: hsl(var(--ib-primary));
+ font-weight: 600;
+ background: hsl(var(--ib-primary-soft));
+}
+
+/* ─── Navbar / header ─── */
+[data-theme="docuseal"] .navbar,
+[data-theme="docuseal"] header {
+ background: hsl(var(--ib-surface));
+ border-bottom: 1px solid hsl(var(--ib-border));
+}
+
+/* ─── Cards / panels ─── */
+[data-theme="docuseal"] .card,
+[data-theme="docuseal"] .modal-box,
+[data-theme="docuseal"] .rounded-box,
+[data-theme="docuseal"] .bg-base-100 {
+ background: hsl(var(--ib-surface));
+ border: 1px solid hsl(var(--ib-border));
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 4px 12px rgba(0, 0, 0, 0.03);
+}
+
+[data-theme="docuseal"] .bg-base-200 {
+ background: hsl(var(--ib-surface-2));
+}
+
+/* ─── Headings ─── */
+[data-theme="docuseal"] h1,
+[data-theme="docuseal"] h2,
+[data-theme="docuseal"] h3,
+[data-theme="docuseal"] h4 {
+ color: hsl(var(--ib-text));
+ font-weight: 700;
+}
+
+/* ─── Labels & secondary text ─── */
+[data-theme="docuseal"] label,
+[data-theme="docuseal"] .label-text {
+ color: hsl(var(--ib-text-secondary));
+ font-weight: 500;
+}
+
+/* ─── Buttons ─── */
+[data-theme="docuseal"] .btn {
+ border-radius: var(--rounded-btn);
+ font-weight: 600;
+ letter-spacing: 0.15px;
+ border-width: 1px;
+ transition: all 0.15s ease;
+}
+
+/* Primary – the only blue button */
+[data-theme="docuseal"] .btn-primary,
+[data-theme="docuseal"] .base-button {
+ background: hsl(var(--ib-primary));
+ border-color: hsl(var(--ib-primary));
+ color: white;
+ box-shadow: 0 1px 3px rgba(37, 99, 235, 0.25);
+}
+[data-theme="docuseal"] .btn-primary:hover,
+[data-theme="docuseal"] .base-button:hover {
+ background: hsl(var(--ib-primary-strong));
+ border-color: hsl(var(--ib-primary-strong));
+ box-shadow: 0 2px 6px rgba(37, 99, 235, 0.30);
+}
+
+/* Neutral button – dark, professional */
+[data-theme="docuseal"] .btn-neutral {
+ background: hsl(var(--ib-neutral));
+ border-color: hsl(var(--ib-neutral));
+ color: white;
+}
+[data-theme="docuseal"] .btn-neutral:hover {
+ filter: brightness(1.1);
+}
+
+/* Outline / ghost */
+[data-theme="docuseal"] .btn-outline {
+ background: transparent;
+ border-color: hsl(var(--ib-border));
+ color: hsl(var(--ib-text));
+}
+[data-theme="docuseal"] .btn-outline:hover {
+ background: hsl(var(--ib-neutral-soft));
+ border-color: hsl(220 10% 80%);
+ color: hsl(var(--ib-text));
+}
+
+/* White button */
+[data-theme="docuseal"] .white-button {
+ border-radius: var(--rounded-btn);
+ background: hsl(var(--ib-surface));
+ border: 1px solid hsl(var(--ib-border));
+ color: hsl(var(--ib-text));
+ font-weight: 600;
+}
+[data-theme="docuseal"] .white-button:hover {
+ background: hsl(var(--ib-surface-2));
+}
+
+/* ─── Badges ─── */
+[data-theme="docuseal"] .badge {
+ border-radius: var(--rounded-badge);
+ font-weight: 600;
+ font-size: 0.75rem;
+ letter-spacing: 0.2px;
+}
+[data-theme="docuseal"] .badge-success {
+ background: hsl(154 50% 93%);
+ border-color: hsl(154 35% 82%);
+ color: hsl(154 45% 22%);
+}
+[data-theme="docuseal"] .badge-info {
+ background: hsl(205 70% 94%);
+ border-color: hsl(205 45% 84%);
+ color: hsl(205 60% 22%);
+}
+[data-theme="docuseal"] .badge-warning {
+ background: hsl(38 80% 93%);
+ border-color: hsl(38 55% 82%);
+ color: hsl(38 60% 22%);
+}
+[data-theme="docuseal"] .badge-error {
+ background: hsl(0 70% 94%);
+ border-color: hsl(0 45% 84%);
+ color: hsl(0 55% 24%);
+}
+
+/* ─── Inputs ─── */
+[data-theme="docuseal"] .input,
+[data-theme="docuseal"] .select,
+[data-theme="docuseal"] .textarea {
+ border-radius: 0.625rem;
+ border-color: hsl(var(--ib-border));
+ background: hsl(var(--ib-surface));
+ color: hsl(var(--ib-text));
+}
+[data-theme="docuseal"] .input:focus,
+[data-theme="docuseal"] .select:focus,
+[data-theme="docuseal"] .textarea:focus,
+[data-theme="docuseal"] .input:focus-visible,
+[data-theme="docuseal"] .select:focus-visible,
+[data-theme="docuseal"] .textarea:focus-visible {
+ outline: none;
+ border-color: hsl(var(--ib-primary));
+ box-shadow: 0 0 0 3px hsla(216, 77%, 52%, 0.12);
+}
+
+/* ─── Tables ─── */
+[data-theme="docuseal"] .table :where(th, td) {
+ border-color: hsl(var(--ib-border));
+ color: hsl(var(--ib-text));
+}
+[data-theme="docuseal"] .table thead th {
+ background: hsl(var(--ib-surface-2));
+ color: hsl(var(--ib-text-secondary));
+ font-weight: 600;
+ text-transform: uppercase;
+ font-size: 0.75rem;
+ letter-spacing: 0.5px;
+}
+
+/* ─── Separators ─── */
+[data-theme="docuseal"] .divider,
+[data-theme="docuseal"] hr {
+ border-color: hsl(var(--ib-border));
+}
+
+/* ─── Dropzone ─── */
+[data-theme="docuseal"] [class*="border-dashed"] {
+ border-color: hsl(220 10% 82%);
+}
+
+/* ─── Root fallbacks ─── */
+:root {
+ --b1: 0 0% 100% !important;
+ --b2: 220 14% 96% !important;
+ --b3: 220 12% 93% !important;
+}
diff --git a/public/logo.svg b/public/logo.svg
index e45f6c09..164e3817 100644
--- a/public/logo.svg
+++ b/public/logo.svg
@@ -1,4 +1,3 @@
-