()
| 13030 | if (summary) { |
| 13031 | summary.innerHTML = '<p class="text-sm text-green-400">Authentication is enabled. Database is encrypted and hardware-bound. Expand to manage.</p>'; |
| 13032 | } |
| 13033 | } else { |
| 13034 | if (badge) { badge.classList.add('hidden'); } |
| 13035 | if (summary) { |
| 13036 | summary.innerHTML = '<p class="text-sm text-red-400">Set up authentication to protect your Ragnar instance. Once enabled, all access will require login. The database will be encrypted and bound to this hardware.</p>'; |
| 13037 | } |
| 13038 | } |
| 13039 | |
| 13040 | if (!status.configured) { |
| 13041 | // Show setup form |
| 13042 | container.innerHTML = ` |
| 13043 | <div class="mb-4"> |
| 13044 | <div class="p-3 rounded-lg bg-yellow-900/30 border border-yellow-700 text-sm text-yellow-300 mb-4"> |
| 13045 | Warning: Once authentication is enabled, you will need your password or recovery codes to access Ragnar. |
| 13046 | Make sure to save your recovery codes in a safe place. |
| 13047 | </div> |
| 13048 | </div> |
| 13049 | <form id="auth-setup-form" onsubmit="handleAuthSetup(event)" class="space-y-4"> |
| 13050 | <div> |
| 13051 | <label class="block text-sm font-medium text-gray-300 mb-2">Username</label> |
| 13052 | <input type="text" id="setup-username" required autocomplete="username" |
| 13053 | class="w-full px-4 py-2 rounded-lg bg-slate-700 border border-slate-600 text-white placeholder-gray-400 focus:ring-2 focus:ring-sky-500 focus:border-transparent outline-none" |
| 13054 | placeholder="Choose a username"> |
nothing calls this directly
no test coverage detected