You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

169 lines
4.1 KiB

2 years ago
  1. <template>
  2. <modal name="SeeMoreExhibitProfile" :clickToClose="false">
  3. <div class="tw-text-base-primary xl:tw-p-[5px]">
  4. <div
  5. class="modal-header tw-flex tw-w-full tw-justify-center tw-mb-[31px] md:tw-mb-[21px] xl:tw-justify-start"
  6. >
  7. <button
  8. class="close tw-transition tw-btn-md"
  9. @click="$modal.hide('SeeMoreExhibitProfile')"
  10. ></button>
  11. <div class="t18 xl:tw-text-[20px]">Exhibit Profile</div>
  12. </div>
  13. <div class="modal-content">
  14. <div v-if="Exhibit.categories">
  15. <div
  16. class="tw-w-[220px] tw-mb-[10px] md:tw-body-3 md:tw-w-[780px] md:tw-mb-[15px]"
  17. >
  18. <b>{{ $t("Categories") }}</b>
  19. <span
  20. v-for="(categories, index) in Exhibit.categories"
  21. :key="categories.id"
  22. >
  23. <nuxt-link class="black--text" :to="localePath(categories.id)">
  24. <span class="tw-underline">{{ categories.name }}</span>
  25. </nuxt-link>
  26. <span v-if="index < Exhibit.categories.length - 1">, </span>
  27. </span>
  28. </div>
  29. </div>
  30. <div v-if="Exhibit.subcategories">
  31. <div
  32. class="tw-w-[220px] tw-mb-[20px] md:tw-body-3 md:tw-w-[780px] md:tw-mb-[30px]"
  33. >
  34. <b>{{ $t("Subcategories") }}</b>
  35. <span
  36. v-for="(subcategories, index) in Exhibit.subcategories"
  37. :key="subcategories.id"
  38. >
  39. <nuxt-link class="black--text" :to="localePath(subcategories.id)">
  40. <span class="tw-underline">{{ subcategories.name }}</span>
  41. </nuxt-link>
  42. <span v-if="index < Exhibit.subcategories.length - 1">, </span>
  43. </span>
  44. </div>
  45. </div>
  46. <div
  47. class="tw-body-5 tw-grid tw-gap-[15px] tw-grid-cols-1 md:tw-body-3"
  48. v-html="SeeMoreExhibitProfile"
  49. ></div>
  50. </div>
  51. </div>
  52. </modal>
  53. </template>
  54. <script>
  55. export default {
  56. name: "SeeMoreExhibitProfile",
  57. props: {
  58. SeeMoreExhibitProfile: {
  59. type: String,
  60. },
  61. Exhibit: {
  62. type: Object,
  63. },
  64. data() {
  65. return {};
  66. },
  67. },
  68. };
  69. </script>
  70. <style lang="scss" scoped>
  71. .close {
  72. position: absolute;
  73. left: 25px;
  74. top: 25px;
  75. background-image: url("~/assets/svg/close.svg");
  76. background-position: center;
  77. background-repeat: no-repeat;
  78. background-size: cover;
  79. width: 14px;
  80. height: 14px;
  81. @media screen and (min-width: 1366px) {
  82. margin-left: 530px;
  83. }
  84. }
  85. :deep() {
  86. .v--modal-overlay {
  87. position: fixed;
  88. box-sizing: border-box;
  89. left: 0;
  90. top: 0;
  91. align-items: flex-end !important;
  92. width: 100%;
  93. max-height: 100%;
  94. background: rgba(0, 0, 0, 0.2);
  95. z-index: 999;
  96. opacity: 1;
  97. @media screen and (min-width: 1366px) {
  98. width: max-content !important;
  99. display: flex;
  100. justify-content: center;
  101. }
  102. }
  103. .v--modal {
  104. background-color: #fefefe !important;
  105. text-align: left;
  106. border-top-left-radius: 16px;
  107. border-top-right-radius: 16px;
  108. box-shadow: 0 20px 60px -2px rgb(27 33 58 / 40%);
  109. padding: 20px;
  110. min-width: 100% !important;
  111. top: 0 !important;
  112. left: 0 !important;
  113. right: 0 !important;
  114. margin: 0;
  115. height: auto !important;
  116. vertical-align: bottom;
  117. @media screen and (min-width: 1366px) {
  118. border-radius: 16px;
  119. width: max-content;
  120. vertical-align: middle;
  121. }
  122. }
  123. .v--modal-overlay {
  124. width: max-content !important;
  125. display: flex;
  126. justify-content: center;
  127. }
  128. .v--modal-box {
  129. top: 0;
  130. left: 0;
  131. width: 100%;
  132. max-height: 676px !important;
  133. overflow: auto !important;
  134. @media screen and (min-width: 1366px) {
  135. width: max-content;
  136. max-height: 904px;
  137. }
  138. }
  139. .v--modal-top-right {
  140. display: block;
  141. position: fixed;
  142. right: 0;
  143. top: 0;
  144. }
  145. .v--modal-background-click {
  146. display: flex;
  147. align-items: flex-end;
  148. margin: 0 auto;
  149. @media screen and (min-width: 1366px) {
  150. width: max-content;
  151. display: flex;
  152. align-items: center;
  153. justify-content: center;
  154. }
  155. }
  156. }
  157. </style>