auth.html 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <!-- auth.component.html -->
  2. <div class="auth-container">
  3. <!-- 装饰元素 -->
  4. <div class="decorator decorator-1"></div>
  5. <div class="decorator decorator-2"></div>
  6. <div class="auth-header">
  7. <h1 class="auth-title">{{ isLoginMode() ? '用户登录' : '用户注册' }}</h1>
  8. <p class="auth-subtitle">{{ isLoginMode() ? '欢迎回到未来世界' : '加入我们的科技社区' }}</p>
  9. </div>
  10. <!-- 错误消息 -->
  11. @if (errorMessage()) {
  12. <div class="message error-message">
  13. {{ errorMessage() }}
  14. </div>
  15. }
  16. <!-- 成功消息 -->
  17. @if (successMessage()) {
  18. <div class="message success-message">
  19. {{ successMessage() }}
  20. </div>
  21. }
  22. <form class="auth-form" (ngSubmit)="onSubmit()">
  23. <div class="form-group">
  24. <label class="form-label" for="username">用户名</label>
  25. <input
  26. class="form-input"
  27. id="username"
  28. type="text"
  29. [(ngModel)]="username"
  30. name="username"
  31. required
  32. placeholder="输入您的用户名"
  33. >
  34. </div>
  35. <div class="form-group">
  36. <label class="form-label" for="password">密码</label>
  37. <input
  38. class="form-input"
  39. id="password"
  40. type="password"
  41. [(ngModel)]="password"
  42. name="password"
  43. required
  44. placeholder="输入您的密码"
  45. >
  46. @if (!isLoginMode()) {
  47. <small style="color: #94a3b8; font-size: 0.8rem;">密码长度必须大于8个字符</small>
  48. }
  49. </div>
  50. <button class="submit-btn" type="submit">
  51. {{ isLoginMode() ? '登录' : '注册' }}
  52. </button>
  53. </form>
  54. <div class="mode-toggle">
  55. {{ isLoginMode() ? '没有账号?' : '已有账号?' }}
  56. <a class="toggle-link" (click)="toggleMode()">
  57. {{ isLoginMode() ? '立即注册' : '立即登录' }}
  58. </a>
  59. </div>
  60. </div>