SetUp.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <script setup>
  2. import { ref, reactive, watch } from "vue";
  3. import { useMainStore } from "@/stores/store";
  4. import axios from "axios";
  5. import Navbar from "@/components/Navbar.vue";
  6. import { Swiper, SwiperSlide } from "swiper/vue";
  7. import { Pagination } from "swiper/modules";
  8. import "swiper/css";
  9. import "swiper/css/pagination";
  10. import "swiper/css/navigation";
  11. const store = useMainStore();
  12. let isLogin = store.checkToken();
  13. console.log("isLogin", isLogin);
  14. const modules = [Pagination];
  15. </script>
  16. <template>
  17. <Navbar />
  18. <v-container class="my-16 py-16">
  19. <v-row>
  20. <v-col cols="12" md="6">
  21. <div class="options">
  22. <img src="@/assets/img/setup-courses/素材-01.png" alt="" />
  23. <router-link to="/setup-courses/tutorial">觀看開課教學</router-link>
  24. </div>
  25. </v-col>
  26. <v-col cols="12" md="6" class="mt-16 mt-md-0">
  27. <div v-if="!isLogin" class="options">
  28. <img src="@/assets/img/setup-courses/素材-02.png" alt="" />
  29. <button @click="store.openLoginDialog()">登入會員開課</button>
  30. </div>
  31. <div v-else class="options">
  32. <img src="@/assets/img/setup-courses/素材-03.png" alt="" />
  33. <router-link to="/setup-courses/create">開始創建課程</router-link>
  34. </div>
  35. </v-col>
  36. </v-row>
  37. </v-container>
  38. </template>
  39. <style lang="scss" scoped>
  40. .swiper-slide {
  41. height: 500px !important;
  42. }
  43. .options {
  44. display: flex;
  45. flex-direction: column;
  46. align-items: center;
  47. a,
  48. button {
  49. display: block;
  50. padding: 20px 80px;
  51. font-size: 20px;
  52. letter-spacing: 2px;
  53. border: 2px solid var(--purple);
  54. border-radius: 15px;
  55. transition: all 0.3s;
  56. &:hover {
  57. box-shadow: 0 0 8px var(--purple);
  58. }
  59. @media (max-width: 600px) {
  60. font-size: 18px;
  61. }
  62. }
  63. img {
  64. width: 100%;
  65. max-width: 500px;
  66. }
  67. }
  68. // Swiper
  69. .background-image {
  70. background-image: url("@/assets/img/default.png");
  71. width: 100%;
  72. height: 100%;
  73. position: absolute;
  74. background-size: cover;
  75. z-index: -1;
  76. }
  77. .swiper {
  78. width: 100%;
  79. height: 100%;
  80. }
  81. .swiper-slide {
  82. text-align: center;
  83. font-size: 18px;
  84. /* Center slide text vertically */
  85. display: flex;
  86. justify-content: center;
  87. align-items: center;
  88. }
  89. .swiper-slide img {
  90. display: block;
  91. width: 100%;
  92. height: 100%;
  93. object-fit: cover;
  94. }
  95. </style>