index.vue 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. <template>
  2. <div v-if="state === 0" class="p-account">
  3. <h3 class="ptc-title">Account Information</h3>
  4. <div class="ptc-block">
  5. <div class="ptc-inner">
  6. <p class="ptc-label">QR code</p>
  7. <img class="qrcode" />
  8. </div>
  9. </div>
  10. <div class="ptc-block">
  11. <div class="ptc-inner">
  12. <div class="ptc-cell">
  13. <p class="ptc-label">Email</p>
  14. <p class="ptc-value">Rebecca123@gmail.com</p>
  15. </div>
  16. <div class="ptc-cell">
  17. <p class="ptc-label">Password</p>
  18. <p class="ptc-value">
  19. <span>********</span>
  20. <span class="ptc-text ml354-md" @click="state = 1">Edit ></span>
  21. </p>
  22. </div>
  23. </div>
  24. </div>
  25. <div class="ptc-block">
  26. <div class="ptc-inner">
  27. <div class="ptc-cell">
  28. <p class="ptc-label">Account</p>
  29. <p class="ptc-value flex-ac">
  30. Rebecca123@gmail.com<i
  31. class="account-icon"
  32. :class="1 ? 'a-google' : 2 ? 'a-apple' : 'a-facebook'"
  33. ></i>
  34. </p>
  35. </div>
  36. </div>
  37. </div>
  38. <h3 class="ptc-title pr">
  39. Login Detail<button class="stroke-btn" @click="state = 2">Edit</button>
  40. </h3>
  41. <div class="ptc-block">
  42. <div class="ptc-inner">
  43. <div class="ptc-cell">
  44. <p class="ptc-label">Name</p>
  45. <p class="ptc-value">Rebecca123@gmail.com</p>
  46. </div>
  47. <div class="ptc-cell">
  48. <p class="ptc-label">Pone number</p>
  49. <p class="ptc-value">Rebecca123@gmail.com</p>
  50. </div>
  51. <div class="ptc-cell">
  52. <p class="ptc-label">Address</p>
  53. <p class="ptc-value">449WATERDALEROAD,HEIDELBERGWEST, VIC,3081</p>
  54. </div>
  55. </div>
  56. </div>
  57. </div>
  58. <div v-else-if="state === 1" class="p-account">
  59. <h3 class="ptc-title">Change Password</h3>
  60. <div class="ptc-block">
  61. <div class="ptc-inner">
  62. <div class="ptc-cell">
  63. <p class="ptc-label">New password</p>
  64. <p class="ptc-value">
  65. <input
  66. class="ptc-input"
  67. type="password"
  68. placeholder="Please enter"
  69. />
  70. </p>
  71. </div>
  72. </div>
  73. </div>
  74. <div class="ptc-button-group">
  75. <div class="ptc-inner">
  76. <button class="ptc-button">SUBMIT</button>
  77. <button class="ptc-button ptc-button--stroke" @click="state = 0">
  78. BACK
  79. </button>
  80. </div>
  81. </div>
  82. </div>
  83. <div v-else class="p-account">
  84. <h3 class="ptc-title">Modify My profile</h3>
  85. <div class="ptc-block">
  86. <div class="ptc-inner">
  87. <div class="ptc-cell">
  88. <p class="ptc-label">Name</p>
  89. <p class="ptc-value">
  90. <input
  91. class="ptc-input"
  92. placeholder="Please enter your real name"
  93. />
  94. </p>
  95. </div>
  96. <div class="ptc-cell">
  97. <p class="ptc-label">Phone Number</p>
  98. <p class="ptc-value">
  99. <input
  100. class="ptc-input"
  101. placeholder="Please enter your phone number"
  102. />
  103. </p>
  104. </div>
  105. <div class="ptc-cell">
  106. <p class="ptc-label">Address</p>
  107. <p class="ptc-value">
  108. <input class="ptc-input mb24" placeholder="Road" />
  109. <input class="ptc-input mb24" placeholder="State" />
  110. <input class="ptc-input" placeholder="Zip code" />
  111. </p>
  112. </div>
  113. </div>
  114. </div>
  115. <div class="ptc-button-group">
  116. <div class="ptc-inner">
  117. <button class="ptc-button">SUBMIT</button>
  118. <button class="ptc-button ptc-button--stroke" @click="state = 0">
  119. BACK
  120. </button>
  121. </div>
  122. </div>
  123. </div>
  124. </template>
  125. <script setup lang="ts">
  126. import { ref, watch } from 'vue'
  127. const state = ref(0)
  128. watch(state, () => window.scrollTo(0, 0))
  129. </script>
  130. <style lang="scss">
  131. .p-account {
  132. background: #f7f7f7;
  133. .qrcode {
  134. width: 212px;
  135. height: 212px;
  136. background: #efefef;
  137. }
  138. .stroke-btn {
  139. position: absolute;
  140. top: 50%;
  141. transform: translateY(-50%);
  142. left: 310px;
  143. width: 132px;
  144. height: 56px;
  145. border-radius: 8px;
  146. border: 2px solid $primary-color;
  147. font-size: 32px;
  148. font-weight: bold;
  149. color: $primary-color;
  150. }
  151. .ptc-text {
  152. margin-left: 48px;
  153. }
  154. .account-icon {
  155. margin-left: 24px;
  156. width: 56px;
  157. height: 56px;
  158. background-size: contain;
  159. }
  160. .a-google {
  161. background-image: url(@img/a-google.png);
  162. }
  163. .a-apple {
  164. background-image: url(@img/a-apple.png);
  165. }
  166. .a-facebook {
  167. background-image: url(@img/a-facebook.png);
  168. }
  169. .mb24 {
  170. margin-bottom: 24px;
  171. }
  172. @media (min-width: 768px) {
  173. .ptc-block {
  174. margin-bottom: 0;
  175. }
  176. .ml354-md {
  177. margin-left: 354px;
  178. }
  179. }
  180. }
  181. </style>