package server import ( "fmt" "strings" ) func userRegisterHTML(locale string) string { return fmt.Sprintf(` Verstak Sync — %s

%s

%s %s

`, t(locale, "server.registerTitle"), t(locale, "server.register"), t(locale, "server.username"), t(locale, "server.email"), t(locale, "server.password"), t(locale, "server.registerBtn"), t(locale, "server.alreadyHaveAccount"), t(locale, "server.loginBtn"), ) } func userLoginHTML(locale string) string { return fmt.Sprintf(` Verstak Sync — %s

Verstak Sync

`, t(locale, "server.loginTitle"), t(locale, "server.usernameOrEmail"), t(locale, "server.password"), t(locale, "server.loginBtn"), t(locale, "server.forgotPassword"), t(locale, "server.registerBtn"), t(locale, "server.adminLink"), ) } func confirmedHTML(locale string) string { return fmt.Sprintf(` Verstak Sync — %s

%s

%s

%s
`, t(locale, "server.emailConfirmed"), t(locale, "server.emailConfirmed"), t(locale, "server.emailConfirmedMessage"), t(locale, "server.loginBtn"), ) } func registrationOKHTML(locale string) string { return fmt.Sprintf(` Verstak Sync — %s

%s

%s

%s

%s
`, t(locale, "server.registerTitle"), t(locale, "server.registrationSuccess"), t(locale, "server.registrationEmailSent"), t(locale, "server.registrationCheckEmail"), t(locale, "server.loginBtn"), ) } func registrationAutoHTML(locale string) string { return fmt.Sprintf(` Verstak Sync — %s

%s

%s

%s
`, t(locale, "server.registerTitle"), t(locale, "server.registrationSuccess"), t(locale, "server.registrationAutoMessage"), t(locale, "server.loginBtn"), ) } func forgotPasswordHTML(locale string) string { return fmt.Sprintf(` %s

%s

%s

`, t(locale, "server.resetPasswordTitle"), t(locale, "server.resetPassword"), t(locale, "server.resetInstruction"), t(locale, "server.email"), t(locale, "server.sendLink"), t(locale, "server.backToLogin"), ) } func forgotSentHTML(locale string) string { return fmt.Sprintf(` %s

%s

%s

%s
`, t(locale, "server.emailSentTitle"), t(locale, "server.emailSent"), t(locale, "server.emailSentMessage"), t(locale, "server.goHome"), ) } func resetPasswordHTML(locale string) string { return fmt.Sprintf(` %s

%s

`, t(locale, "server.newPasswordTitle"), t(locale, "server.newPassword"), t(locale, "server.password"), t(locale, "server.passwordConfirm"), t(locale, "server.save"), ) } func resetDoneHTML(locale string) string { return fmt.Sprintf(` Verstak Sync — %s

%s

%s

%s
`, t(locale, "server.passwordChanged"), t(locale, "server.passwordChanged"), t(locale, "server.passwordChangedMessage"), t(locale, "server.loginBtn"), ) } func adminDashboardHTML(locale string, deviceCount, opsCount int, smtpHost, smtpPort, smtpUser, smtpFrom, smtpSecurity, srvURL string) string { return fmt.Sprintf(` %[1]s

Verstak Sync Server

%[2]s %[40]d
%[3]s %[41]d

%[4]s

`, t(locale, "admin.dashboard"), t(locale, "admin.deviceCount"), t(locale, "admin.opsCount"), t(locale, "admin.devices"), t(locale, "admin.noDevices"), t(locale, "admin.device"), t(locale, "admin.user"), t(locale, "admin.version"), t(locale, "admin.status"), t(locale, "admin.lastSeen"), t(locale, "admin.active"), t(locale, "admin.revoked"), t(locale, "admin.revoke"), t(locale, "common.loading"), t(locale, "admin.smtp"), t(locale, "admin.users"), t(locale, "admin.healthCheck"), t(locale, "admin.smtpServer"), t(locale, "admin.smtpPort"), t(locale, "admin.smtpType"), t(locale, "admin.smtpNoEncryption"), t(locale, "admin.smtpUsername"), t(locale, "admin.smtpPassword"), t(locale, "admin.smtpFrom"), t(locale, "admin.smtpServerURL"), t(locale, "admin.smtpSave"), t(locale, "admin.smtpTest"), t(locale, "admin.smtpTitle"), t(locale, "admin.smtpTesting"), t(locale, "admin.smtpPassed"), t(locale, "admin.revokeConfirm"), smtpHost, smtpPort, sel(smtpSecurity, "starttls"), sel(smtpSecurity, "tls"), sel(smtpSecurity, "none"), smtpUser, smtpFrom, srvURL, deviceCount, opsCount, ) } func userDashboardHTML(locale, username, deviceRows string) string { return fmt.Sprintf(` Verstak Sync — %[1]s

Verstak Sync

%[1]s · %[2]s

%[3]s

%[9]s
%[4]s%[5]s%[6]s%[7]s%[8]s

%[10]s

%[11]s

`, username, t(locale, "server.logout"), t(locale, "userDashboard.devices"), t(locale, "userDashboard.device"), t(locale, "userDashboard.status"), t(locale, "userDashboard.connected"), t(locale, "userDashboard.lastSeen"), t(locale, "userDashboard.version"), deviceRows, t(locale, "userDashboard.connectNew"), t(locale, "userDashboard.connectNewHint"), t(locale, "userDashboard.revokeConfirm"), t(locale, "userDashboard.revokePrompt"), ) } func adminCreateUserHTML(locale string) string { return fmt.Sprintf(` %[1]s

%[2]s

%[7]s

`, t(locale, "admin.createUser"), t(locale, "admin.createUser"), t(locale, "server.username"), t(locale, "server.email"), t(locale, "server.password"), t(locale, "admin.createUserBtn"), t(locale, "server.dashboard"), ) } func errorPageHTML(locale, title, msg, backURL string) string { return fmt.Sprintf(` Verstak Sync — %s

%s

%s

%s
`, title, title, msg, backURL, t(locale, "server.back")) } func adminUsersHTML(locale string) string { newPassResult := t(locale, "server.newPasswordResult") newPassParts := strings.SplitN(newPassResult, "%s", 2) newPassPrefix := newPassParts[0] newPassSuffix := "" if len(newPassParts) > 1 { newPassSuffix = strings.ReplaceAll(newPassParts[1], "\n", "\\n") } deleteMsg := t(locale, "admin.deleteUserMessage") deleteMsgParts := strings.SplitN(deleteMsg, "%s", 2) delMsgPrefix := deleteMsgParts[0] delMsgSuffix := "" if len(deleteMsgParts) > 1 { delMsgSuffix = deleteMsgParts[1] } return fmt.Sprintf(` %[1]s

%[2]s

%[3]s

%[5]s %[6]s %[7]s %[8]s %[9]s %[10]s
`, t(locale, "admin.users"), t(locale, "admin.usersHeading"), t(locale, "server.dashboard"), t(locale, "admin.filterPlaceholder"), t(locale, "admin.username"), t(locale, "admin.email"), t(locale, "admin.status"), t(locale, "admin.devices"), t(locale, "admin.lastSeen"), t(locale, "admin.actions"), t(locale, "admin.confirmTitle"), t(locale, "admin.modalCancel"), t(locale, "admin.modalConfirm"), t(locale, "admin.editUser"), t(locale, "admin.username"), t(locale, "admin.email"), t(locale, "admin.modalCancel"), t(locale, "admin.editBtn"), t(locale, "admin.resultTitle"), t(locale, "common.ok"), t(locale, "admin.confirmed"), t(locale, "admin.unconfirmed"), t(locale, "admin.blocked"), t(locale, "admin.unblock"), t(locale, "admin.block"), t(locale, "admin.resetPassword"), t(locale, "admin.noUsers"), t(locale, "server.newPassword"), newPassPrefix, newPassSuffix, t(locale, "admin.resetPasswordConfirm"), t(locale, "admin.resetPasswordMessage"), t(locale, "admin.resetBtn"), t(locale, "admin.deleteUser"), delMsgPrefix, delMsgSuffix, t(locale, "admin.deleteBtn"), t(locale, "admin.unblockUserTitle"), t(locale, "admin.blockUserTitle"), t(locale, "admin.unblockUserMessage"), t(locale, "admin.blockUserMessage"), t(locale, "admin.createUser"), ) }