(function(){"use strict";(function(){const s=document.currentScript,p=(s?.src||"").replace(/\/script\.js.*$/,""),t={token:s?.dataset.token||"",name:s?.dataset.name,email:s?.dataset.email,inputName:s?.dataset.inputName==="true",inputEmail:s?.dataset.inputEmail==="true",apiUrl:`${p}/api/feedback`};if(!t.token){console.error("One Dollar Feedback: Missing data-token attribute");return}function u(){const n=s?.dataset.theme;return n==="dark"||n==="light"?n:document.documentElement.classList.contains("dark")?"dark":"light"}const h=` :host { --odf-bg: #ffffff; --odf-fg: #09090b; --odf-muted: #71717a; --odf-border: #e4e4e7; --odf-primary: #18181b; --odf-primary-fg: #fafafa; --odf-secondary: #f4f4f5; --odf-secondary-fg: #18181b; --odf-ring: #a1a1aa; --odf-radius: 12px; } :host(.dark) { --odf-bg: #18181b; --odf-fg: #fafafa; --odf-muted: #a1a1aa; --odf-border: #27272a; --odf-primary: #fafafa; --odf-primary-fg: #18181b; --odf-secondary: #27272a; --odf-secondary-fg: #fafafa; --odf-ring: #52525b; } * { box-sizing: border-box; margin: 0; padding: 0; } .odf-trigger { position: fixed; bottom: 20px; right: 20px; width: 56px; height: 56px; border-radius: 50%; background: var(--odf-primary); color: var(--odf-primary-fg); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); transition: transform 0.2s, box-shadow 0.2s; z-index: 9999; } .odf-trigger:hover { transform: scale(1.05); box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2); } .odf-trigger svg { width: 24px; height: 24px; } .odf-panel { position: fixed; bottom: 90px; right: 20px; width: 360px; max-width: calc(100vw - 40px); background: var(--odf-bg); border-radius: var(--odf-radius); border: 1px solid var(--odf-border); box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15); overflow: hidden; opacity: 0; transform: translateY(10px) scale(0.95); pointer-events: none; transition: opacity 0.2s, transform 0.2s; z-index: 9998; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; } .odf-panel.open { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; } .odf-header { display: flex; align-items: center; gap: 12px; padding: 16px 20px; background: var(--odf-primary); border-bottom: 1px solid var(--odf-border); } .odf-header-icon { width: 40px; height: 40px; border-radius: 12px; background: rgba(255, 255, 255, 0.2); display: flex; align-items: center; justify-content: center; } .odf-header-icon svg { width: 20px; height: 20px; color: var(--odf-primary-fg); } .odf-header-text h3 { font-size: 16px; font-weight: 600; color: var(--odf-primary-fg); margin: 0; } .odf-header-text p { font-size: 14px; color: var(--odf-primary-fg); opacity: 0.8; margin: 0; } .odf-body { padding: 20px; } .odf-label { display: block; font-size: 14px; font-weight: 500; color: var(--odf-fg); margin-bottom: 8px; } .odf-types { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 16px; } .odf-type { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 16px; border: 2px solid var(--odf-border); border-radius: var(--odf-radius); background: transparent; cursor: pointer; transition: all 0.15s; font-family: inherit; } .odf-type:hover { border-color: var(--odf-ring); background: var(--odf-secondary); } .odf-type.active { border-color: var(--odf-primary); background: color-mix(in srgb, var(--odf-primary) 5%, transparent); } .odf-type-emoji { font-size: 20px; } .odf-type-label { font-size: 14px; font-weight: 500; color: var(--odf-muted); } .odf-type.active .odf-type-label { color: var(--odf-fg); } .odf-textarea { width: 100%; min-height: 100px; padding: 12px 16px; border: 1px solid var(--odf-border); border-radius: var(--odf-radius); background: var(--odf-bg); color: var(--odf-fg); font-size: 14px; font-family: inherit; resize: none; transition: border-color 0.15s, box-shadow 0.15s; } .odf-textarea:focus { outline: none; border-color: var(--odf-ring); box-shadow: 0 0 0 3px color-mix(in srgb, var(--odf-ring) 20%, transparent); } .odf-textarea::placeholder { color: var(--odf-muted); } .odf-input-group { margin-bottom: 16px; } .odf-input { width: 100%; padding: 12px 16px; border: 1px solid var(--odf-border); border-radius: var(--odf-radius); background: var(--odf-bg); color: var(--odf-fg); font-size: 14px; font-family: inherit; transition: border-color 0.15s, box-shadow 0.15s; } .odf-input:focus { outline: none; border-color: var(--odf-ring); box-shadow: 0 0 0 3px color-mix(in srgb, var(--odf-ring) 20%, transparent); } .odf-input::placeholder { color: var(--odf-muted); } .odf-input:disabled { opacity: 0.6; cursor: not-allowed; background: var(--odf-secondary); } .odf-submit { width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 16px; padding: 12px 24px; background: var(--odf-primary); color: var(--odf-primary-fg); border: none; border-radius: var(--odf-radius); font-size: 14px; font-weight: 500; font-family: inherit; cursor: pointer; transition: opacity 0.15s; } .odf-submit:disabled { opacity: 0.5; cursor: not-allowed; } .odf-submit:not(:disabled):hover { opacity: 0.9; } .odf-submit svg { width: 16px; height: 16px; } .odf-footer { margin-top: 16px; text-align: center; font-size: 12px; color: var(--odf-muted); } .odf-footer a { color: var(--odf-fg); font-weight: 500; text-decoration: none; } .odf-success { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 48px 20px; text-align: center; } .odf-success-icon { width: 64px; height: 64px; border-radius: 50%; background: var(--odf-secondary); display: flex; align-items: center; justify-content: center; margin-bottom: 16px; } .odf-success-icon svg { width: 32px; height: 32px; color: var(--odf-secondary-fg); } .odf-success h4 { font-size: 18px; font-weight: 600; color: var(--odf-fg); margin: 0 0 4px; } .odf-success p { font-size: 14px; color: var(--odf-muted); margin: 0; } `,c='',l='',m='',b='';class f{container;shadow;isOpen=!1;feedbackType="idea";submitted=!1;submitting=!1;constructor(){this.container=document.createElement("div"),this.container.id="odf-feedback-widget",this.shadow=this.container.attachShadow({mode:"open"});const r=document.createElement("style");r.textContent=h,this.shadow.appendChild(r),this.applyTheme(),this.setupThemeObservers(),this.render(),document.body.appendChild(this.container)}applyTheme(){u()==="dark"?this.container.classList.add("dark"):this.container.classList.remove("dark")}setupThemeObservers(){new MutationObserver(()=>this.applyTheme()).observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>this.applyTheme())}render(){const r=this.shadow.querySelector(".odf-widget");r&&r.remove();const a=document.createElement("div");a.className="odf-widget",a.innerHTML=`
We'd love to hear from you
We'll review it shortly.