Changeset 3068cc0 in Klonkt


Ignore:
Timestamp:
06/17/2026 01:10:17 AM (3 months ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
edc462d
Parents:
c2a9522
Message:

Slug field as URL: dimmed host prefix + slug in accent colour

The Slug (URL) field now shows website.com/<slug> — the host (real domain
via JS, hub → /user/) dimmed as a prefix, the slug itself in the accent
colour. Single unified field look.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/views/pages/admin-site-edit.ejs

    rc2a9522 r3068cc0  
    1111      <legend>Identiteit</legend>
    1212      <label>
    13         <span>Slug <% if (!isNew) { %><em>(vast)</em><% } %></span>
    14         <input type="text" name="slug" value="<%= site.slug %>" required <% if (!isNew) { %>readonly<% } %>
    15                pattern="[a-z0-9_-]{2,40}"
    16                placeholder="bedrijf1">
     13        <span>Slug (URL) <% if (!isNew) { %><em>(vast)</em><% } %></span>
     14        <span class="slug-url">
     15          <span class="slug-url-host" id="slug-host"
     16                data-prefix="<%= (typeof tenancy !== 'undefined' && tenancy === 'hub') ? '/user/' : '/' %>">website.com/</span><input
     17                type="text" name="slug" id="slug-input" class="slug-url-input" value="<%= site.slug %>" required <% if (!isNew) { %>readonly<% } %>
     18                pattern="[a-z0-9_-]{2,40}" placeholder="jouwslug"
     19                autocapitalize="none" autocorrect="off" spellcheck="false">
     20        </span>
    1721      </label>
    1822      <label>
     
    266270
    267271<script>
     272(function() {
     273  // Slug-URL-veld: toon de echte host als gedimde prefix (de slug zelf is
     274  // gekleurd via CSS). Hub → host/user/<slug>, anders host/<slug>.
     275  var sh = document.getElementById('slug-host');
     276  if (sh) sh.textContent = location.host + (sh.dataset.prefix || '/');
     277})();
    268278(function() {
    269279  // Profile-links repeater: add row from <template>, remove on click.
     
    403413.site-form input[readonly] { opacity: 0.6; cursor: not-allowed; background: var(--paper-2); }
    404414
     415/* Slug als URL-veld: gedimde host-prefix + de slug zelf in de accentkleur. */
     416.slug-url {
     417  display: flex; align-items: stretch;
     418  border: 1px solid var(--rule); border-radius: 5px;
     419  background: var(--paper); overflow: hidden;
     420  transition: border-color 120ms;
     421}
     422.slug-url:focus-within { border-color: var(--accent); }
     423.slug-url-host {
     424  display: inline-flex; align-items: center;
     425  padding-left: 0.85rem;
     426  color: var(--ink-muted, var(--ink-soft));
     427  white-space: nowrap; user-select: none;
     428  font-size: 0.95rem;
     429}
     430.site-form .slug-url-input {
     431  flex: 1 1 auto; min-width: 0;
     432  border: none !important; border-radius: 0 !important;
     433  background: transparent !important;
     434  color: var(--accent) !important; font-weight: 700;
     435  padding: 0.55rem 0.85rem 0.55rem 0.1rem;
     436}
     437.site-form .slug-url-input:focus { outline: none; }
     438.site-form .slug-url-input[readonly] {
     439  opacity: 1; cursor: default; background: transparent !important;
     440}
     441
    405442/* Selects: zelfde look als de inputs, met een eigen chevron i.p.v. de kale
    406443   native pijl. De geopende optielijst blijft door de browser gerenderd. */
Note: See TracChangeset for help on using the changeset viewer.