register.blade.php 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. @extends('common.layout')
  2. @section('content')
  3. <div id="registerForm" class="container-fluid">
  4. <header>
  5. <a href="/" type="text/html" rel="noreferrer" referrerpolicy="no-referrer">
  6. {{ strtoupper(config('app.name')) }}
  7. </a>
  8. </header>
  9. <main>
  10. <div class="row">
  11. <div class="col">
  12. <h5>{{ __('Register') }}</h5>
  13. </div>
  14. <div class="col text-end">
  15. <label id="registerTip"
  16. data-bs-toggle="tooltip"
  17. data-bs-title="정확한 정보를 입력해주셔야 원활한 이용이 가능합니다.">
  18. <i class="fa-solid fa-circle-exclamation"></i>
  19. </label>
  20. </div>
  21. </div>
  22. @if(config('use_register_block'))
  23. <!-- 회원가입 차단 안내 -->
  24. <div class="alert alert-danger" role="alert">
  25. <small>현재 신규 가입이 중단되어 회원가입이 불가합니다.</small>
  26. </div>
  27. @endif
  28. <form name="f_register" id="fRegister" method="post" action="{{ route('register') }}" accept-charset="UTF-8">
  29. @csrf
  30. <!-- 이메일 -->
  31. <div class="mb-3">
  32. <label for="email" class="form-label">{{ __('Email Address') }}</label>
  33. <input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email"/>
  34. @error('email')
  35. <span class="invalid-feedback" role="alert">
  36. <strong>{{ $message }}</strong>
  37. </span>
  38. @enderror
  39. </div>
  40. <!-- 닉네임 -->
  41. <div class="mb-3">
  42. <label for="nickname" class="form-label">닉네임</label>
  43. <input id="nickname" type="text" class="form-control @error('nickname') is-invalid @enderror" name="nickname" value="{{ old('nickname') }}" required autocomplete="nickname"/>
  44. @error('nickname')
  45. <span class="invalid-feedback" role="alert">
  46. <strong>{{ $message }}</strong>
  47. </span>
  48. @enderror
  49. </div>
  50. <!-- 비밀번호 -->
  51. <div class="mb-3">
  52. <div class="row">
  53. <div class="col">
  54. <label for="password" class="form-label">{{ __('Password') }}</label>
  55. </div>
  56. <div class="col text-end">
  57. @if($passwordGuideTip)
  58. <label id="passwordGuideTip"
  59. data-bs-toggle="tooltip"
  60. data-bs-title="비밀번호는 다음과 같은 수준의 규칙을 가져야 합니다. ({{ $passwordGuideTip }})">
  61. <i class="fa-solid fa-circle-exclamation"></i>
  62. </label>
  63. @endif
  64. </div>
  65. </div>
  66. <input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="new-password"/>
  67. @error('password')
  68. <span class="invalid-feedback" role="alert">
  69. <strong>{{ $message }}</strong>
  70. </span>
  71. @enderror
  72. </div>
  73. <!-- 비밀번호 확인 -->
  74. <div class="mb-3">
  75. <label for="password-confirm" class="form-label">{{ __('Confirm Password') }}</label>
  76. <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password"/>
  77. </div>
  78. <!-- 이용약관 동의 -->
  79. <div>
  80. <div class="form-check">
  81. <input type="checkbox" name="agree_1" id="agree_1" class="form-check-input" value="1"/>
  82. <label for="agree_1" class="form-check-label">
  83. <a href="{{ route('document', 'policy') }}" data-bs-toggle="modal" data-bs-target="#policyModal">이용약관</a>에 동의합니다.
  84. </label>
  85. </div>
  86. </div>
  87. <!-- 개인정보처리 동의 -->
  88. <div class="mb-3">
  89. <div class="form-check">
  90. <input type="checkbox" name="agree_2" id="agree_2" class="form-check-input" value="2"/>
  91. <label for="agree_2" class="form-check-label">
  92. <a href="{{ route('document', 'privacy') }}" data-bs-toggle="modal" data-bs-target="#privacyModal">개인정보처리방침</a>에 동의합니다.
  93. </label>
  94. </div>
  95. </div>
  96. <!-- 회원가입 버튼 -->
  97. <div class="mb-3">
  98. <button type="submit" class="btn btn-success w-100">
  99. {{ __('Register') }}
  100. </button>
  101. </div>
  102. <!-- 로그인 버튼 -->
  103. <div class="mb-3 text-center">
  104. @if (Route::has('login'))
  105. <a href="{{ route('login') }}">≪ {{ __('Login') }}</a>
  106. @endif
  107. </div>
  108. </form>
  109. <hr/>
  110. <footer>
  111. Copyright (C) @ {{ date('Y') }} {{ config('company_name') }} Corp. All Rights Reserved.
  112. </footer>
  113. <!-- 이용약관 -->
  114. <div class="modal fade" id="policyModal" tabindex="-1" aria-labelledby="policyModalLabel" aria-hidden="true">
  115. <div class="modal-dialog modal-dialog-centered modal-dialog-scrollable modal-xl">
  116. <div class="modal-content">
  117. <div class="modal-header bg-dark">
  118. <h1 class="modal-title fs-5 text-white" id="policyModalLabel">이용약관</h1>
  119. <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
  120. </div>
  121. <div class="modal-body">
  122. @isset($policy->content)
  123. {!! $policy->content !!}
  124. @endif
  125. </div>
  126. <div class="modal-footer justify-content-center">
  127. <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">확인</button>
  128. </div>
  129. </div>
  130. </div>
  131. </div>
  132. <!-- 개인정보처리방침 -->
  133. <div class="modal fade" id="privacyModal" tabindex="-1" aria-labelledby="privacyModalLabel" aria-hidden="true">
  134. <div class="modal-dialog modal-dialog-centered modal-dialog-scrollable modal-xl">
  135. <div class="modal-content">
  136. <div class="modal-header bg-dark">
  137. <h1 class="modal-title fs-5 text-white" id="privacyModalLabel">개인정보처리방침</h1>
  138. <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
  139. </div>
  140. <div class="modal-body">
  141. @isset($privacy->content)
  142. {!! $privacy->content !!}
  143. @endif
  144. </div>
  145. <div class="modal-footer justify-content-center">
  146. <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">확인</button>
  147. </div>
  148. </div>
  149. </div>
  150. </div>
  151. </main>
  152. </div>
  153. @endsection
  154. @push('styles')
  155. <link rel="stylesheet" href="{{ asset('css/auth/register.css') }}"/>
  156. @endpush
  157. @push('scripts')
  158. <script type="module" src="{{ asset('/js/auth/register.js') }}"></script>
  159. @endpush