mirror of https://github.com/docusealco/docuseal
parent
b64a84a362
commit
cd83d918e5
@ -0,0 +1,21 @@
|
|||||||
|
export default class extends HTMLElement {
|
||||||
|
connectedCallback () {
|
||||||
|
const originalFontValue = this.field.style.fontSize
|
||||||
|
|
||||||
|
if (this.field.scrollHeight > this.field.clientHeight) {
|
||||||
|
this.field.style.fontSize = `calc(${originalFontValue} / 1.5)`
|
||||||
|
this.field.style.lineHeight = `calc(${this.field.style.fontSize} * 1.3)`
|
||||||
|
|
||||||
|
if (this.field.scrollHeight > this.field.clientHeight) {
|
||||||
|
this.field.style.fontSize = `calc(${originalFontValue} / 2.0)`
|
||||||
|
this.field.style.lineHeight = `calc(${this.field.style.fontSize} * 1.3)`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.field.classList.remove('hidden')
|
||||||
|
}
|
||||||
|
|
||||||
|
get field () {
|
||||||
|
return this.closest('field-value')
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,52 +0,0 @@
|
|||||||
<% eu_server = request.host == 'docuseal.eu' %>
|
|
||||||
<server-selector>
|
|
||||||
<div id="global_server_selector" class="text-center hidden">
|
|
||||||
<div class="join">
|
|
||||||
<a href="https://docuseal.com<%= request.fullpath.gsub('docuseal.eu', 'docuseal.com') %>" class="btn bg-base-200 join-item w-40 <%= 'bg-base-300' unless eu_server %>">
|
|
||||||
<%= svg_icon 'world', class: 'w-5 h-5' %>
|
|
||||||
Global
|
|
||||||
</a>
|
|
||||||
<a href="https://docuseal.eu<%= request.fullpath.gsub('docuseal.com', 'docuseal.eu') %>" class="relative btn bg-base-200 join-item w-40 <%= 'bg-base-300' if eu_server %>">
|
|
||||||
<%= svg_icon 'eu_flag', class: 'w-5 h-5' %>
|
|
||||||
Europe
|
|
||||||
<% unless eu_server %>
|
|
||||||
<span id="eu_server_alert" class="absolute flex space-x-0.5 hidden" style="top: -1.5rem;">
|
|
||||||
<span class="text-xs font-normal leading-none text-base-content normal-case">
|
|
||||||
<%= t('eu_data_residency') %>
|
|
||||||
</span>
|
|
||||||
<%= svg_icon 'corner_right_down', class: 'w-4 h-5 stroke-1 shrink-0 pt-1' %>
|
|
||||||
</span>
|
|
||||||
<% end %>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="server_selector" class="flex justify-center <%= 'hidden' unless eu_server %>">
|
|
||||||
<div class="dropdown">
|
|
||||||
<label tabindex="0" class="relative btn btn-sm bg-transparent font-medium normal-case border-base-content/20 justify-start" style="width: 141px; padding: 0 20px">
|
|
||||||
<% if eu_server %>
|
|
||||||
<%= svg_icon 'eu_flag', class: 'w-5 h-5' %>
|
|
||||||
<span>EU Cloud</span>
|
|
||||||
<% else %>
|
|
||||||
<%= svg_icon 'usa_flag', class: 'w-5 h-5' %>
|
|
||||||
<span>US Cloud</span>
|
|
||||||
<% end %>
|
|
||||||
<%= svg_icon 'chevron_down', class: 'mr-1 w-4 h-4 absolute right-1' %>
|
|
||||||
</label>
|
|
||||||
<ul tabindex="0" class="dropdown-content z-[1] menu border border-base-content/20 mt-1 bg-base-100 rounded-box w-36">
|
|
||||||
<li>
|
|
||||||
<a href="https://docuseal.com<%= request.fullpath.gsub('docuseal.eu', 'docuseal.com') %>" class="flex items-center space-x-2 <%= 'bg-base-300' unless eu_server %>">
|
|
||||||
<%= svg_icon 'usa_flag', class: 'w-5 h-5' %>
|
|
||||||
US Cloud
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="https://docuseal.eu<%= request.fullpath.gsub('docuseal.com', 'docuseal.eu') %>" class="flex items-center space-x-2 <%= 'bg-base-300' if eu_server %>">
|
|
||||||
<%= svg_icon 'eu_flag', class: 'w-5 h-5' %>
|
|
||||||
EU Cloud
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</server-selector>
|
|
||||||
<%= render 'scripts/server_selector' %>
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
<script nonce="<%= content_security_policy_nonce %>">
|
|
||||||
if (!window.customElements.get('server-selector')) {
|
|
||||||
customElements.define('server-selector', class extends HTMLElement {
|
|
||||||
connectedCallback() {
|
|
||||||
const serverSelector = this.querySelector('#server_selector');
|
|
||||||
const globalServerSelector = this.querySelector('#global_server_selector');
|
|
||||||
const euServerAlert = this.querySelector('#eu_server_alert');
|
|
||||||
const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
||||||
const usTimezones = /^(?:America\/(?:New_York|Detroit|Kentucky|Indiana|Chicago|Menominee|North_Dakota|Denver|Boise|Phoenix|Los_Angeles|Anchorage|Juneau|Sitka|Metlakatla|Yakutat|Nome|Adak)|Pacific\/Honolulu)/;
|
|
||||||
|
|
||||||
if (!serverSelector.classList.contains('hidden')) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if (usTimezones.test(timezone)) {
|
|
||||||
serverSelector.classList.remove('hidden');
|
|
||||||
} else if (timezone.includes('Europe')) {
|
|
||||||
globalServerSelector.classList.remove('hidden');
|
|
||||||
euServerAlert?.classList?.remove('hidden');
|
|
||||||
} else {
|
|
||||||
globalServerSelector.classList.remove('hidden');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
Loading…
Reference in new issue