"use strict"; function escapeHtml(value) { return String(value ?? "").replace(/[&<>"']/g, (c) => ({ "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }[c])); } function renderLoginPage(errorMessage) { return `
${escapeHtml(errorMessage)}
` : ""} `; } function renderDashboardPage({ records, message }) { const rows = records .map( (r) => `${escapeHtml(message)}
` : ""}| 連携キー | 対象アカウント | ステータス | 再認可目安(90日) |
|---|
連携キーはアカウントの@より前の部分から自動生成されます。
`; } function renderTempKeyPage({ url }) { return `有効期限60分。このURLを共有してください(Master Keyは含まれません):
${escapeHtml(url)}