(
{ notice, error, email, formData, helpEmail, isEmailVerificationEnabled, isSingleSignOnEnabled, singleSignOnUrl }: {
error?: string;
notice?: string;
email?: string;
formData?: FormData;
helpEmail: string;
isEmailVerificationEnabled: boolean;
isSingleSignOnEnabled: boolean;
singleSignOnUrl?: string;
},
)
| 148 | } |
| 149 | |
| 150 | function defaultHtmlContent( |
| 151 | { notice, error, email, formData, helpEmail, isEmailVerificationEnabled, isSingleSignOnEnabled, singleSignOnUrl }: { |
| 152 | error?: string; |
| 153 | notice?: string; |
| 154 | email?: string; |
| 155 | formData?: FormData; |
| 156 | helpEmail: string; |
| 157 | isEmailVerificationEnabled: boolean; |
| 158 | isSingleSignOnEnabled: boolean; |
| 159 | singleSignOnUrl?: string; |
| 160 | }, |
| 161 | ) { |
| 162 | return html` |
| 163 | <main id="main"> |
| 164 | <section class="max-w-3xl mx-auto flex flex-col items-center justify-center"> |
| 165 | <h1 class="text-4xl mb-6"> |
| 166 | Signup |
| 167 | </h1> |
| 168 | ${error |
| 169 | ? html` |
| 170 | <section class="notification-error"> |
| 171 | <h3>Failed to signup!</h3> |
| 172 | <p>${escapeHtml(error)}</p> |
| 173 | </section> |
| 174 | ` |
| 175 | : ''} ${notice |
| 176 | ? html` |
| 177 | <section class="notification-success"> |
| 178 | <h3>Success!</h3> |
| 179 | <p>${escapeHtml(notice)}</p> |
| 180 | </section> |
| 181 | ` |
| 182 | : ''} |
| 183 | |
| 184 | <form method="POST" class="${isSingleSignOnEnabled && singleSignOnUrl ? 'mb-4 pb-0' : 'mb-12'}"> |
| 185 | ${formFields({ isEmailVerificationEnabled, email }).map((field) => |
| 186 | generateFieldHtml(field, formData || new FormData()) |
| 187 | ).join('')} |
| 188 | <section |
| 189 | class="flex justify-center mt-8 ${isSingleSignOnEnabled && singleSignOnUrl ? 'mb-0' : 'mb-4'}" |
| 190 | > |
| 191 | <button class="button" type="submit">Signup</button> |
| 192 | </section> |
| 193 | </form> |
| 194 | |
| 195 | ${isSingleSignOnEnabled && singleSignOnUrl |
| 196 | ? html` |
| 197 | <section class="mb-12 max-w-sm mx-auto"> |
| 198 | <section class="text-center"> |
| 199 | <p class="text-gray-400 text-sm mb-3">or</p> |
| 200 | </section> |
| 201 | |
| 202 | <section class="space-y-4"> |
| 203 | <section class="flex justify-center mt-2 mb-4"> |
| 204 | <a |
| 205 | href="${singleSignOnUrl}" |
| 206 | class="button-secondary" |
| 207 | > |
no test coverage detected