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.

791 lines
22 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. <template>
  2. <div
  3. class="tw-px-[30px] tw-mb-[60px] md:tw-mb-[100px] xl:tw-px-[60px] xl:tw-max-w-screen-xl xl:tw-mx-auto xl:tw-grid xl:tw-grid-cols-[380px_auto] xl:tw-gap-[30px]">
  4. <section class="xl:tw-col-span-2 tw-mb-5 md:tw-mb-0">
  5. <centerMode :list="ads" v-if="ads.length"></centerMode>
  6. </section>
  7. <section class="xl:tw-col-span-2 tw-mb-[40px] xl:tw-mb-[10px]">
  8. <Breadcrumbs class="tw-py-[7px] md:tw-py-[10px] xl:tw-py-[13px] tw-mb-4 md:tw-mb-6 xl:tw-mb-0"></Breadcrumbs>
  9. <sort :results="result" :sortType="sortType" :sortBy="sortBy" @sort="updateSortBy($event)"
  10. @filter="$modal.show(`sidebar-filter-modal`)"></sort>
  11. </section>
  12. <section class="tw-grid tw-grid-cols-1 tw-gap-[30px] tw-auto-rows-min">
  13. <div class="tw-max-h-min" v-if="$vuetify.breakpoint.xl">
  14. <DateCard @update="updateDateFilter" :modalChecked="datesChecked" />
  15. </div>
  16. <div v-if="$vuetify.breakpoint.xl">
  17. <oneLevel :label="'Show Status'" :list="statuses" @update="updateStatusFilter"></oneLevel>
  18. </div>
  19. <div v-if="$vuetify.breakpoint.xl">
  20. <multipleLevel :label="'Categories'" :placeholder="'Find Categories...'" :list="categories"
  21. :queryItem="categoryQueryFilter" @update="updateCategoryFilter"></multipleLevel>
  22. </div>
  23. <div v-if="$vuetify.breakpoint.xl">
  24. <multipleLevel :label="'Location'" :placeholder="'Find country/city ...'" :list="locations"
  25. :queryItem="locationQueryFilter" @update="updateLocationFilter"></multipleLevel>
  26. </div>
  27. <div v-if="$vuetify.breakpoint.xl">
  28. <!-- <rating></rating> -->
  29. </div>
  30. </section>
  31. <!-- <section class="">
  32. <ExhibitionListCard v-for="(item, index) in renderList" :key="index" :item="item"
  33. @toggle-favorite="onToggleFavorite"></ExhibitionListCard>
  34. <div class="tw-mt-[34px] tw-flex tw-justify-end">
  35. <pagination :pageLength="pageLength" @update="updatePage"></pagination>
  36. </div>
  37. </section> -->
  38. <section class="">
  39. <ExhibitionListCard v-for="(item, index) in exhibitionList" :key="index" :item="item"
  40. ></ExhibitionListCard>
  41. <div class="tw-mt-[34px] tw-flex tw-justify-end">
  42. <pagination :pageLength="pageLength" @update="updatePage"></pagination>
  43. </div>
  44. </section>
  45. <div v-if="!$vuetify.breakpoint.xl">
  46. <ShowSidebarFilterModal :statusList="statuses" :locationList="locations" :categoryList="categories"
  47. :statusChecked="statusesChecked" :locationChecked="locationChecked" :categoryChecked="categoryChecked"
  48. :datesChecked="datesChecked" @updateCategoryFilter="updateCategoryFilter"
  49. @updateLocationFilter="updateLocationFilter" @updateStatusFilter="updateStatusFilter"
  50. @updateDateFilter="updateDateFilter"></ShowSidebarFilterModal>
  51. </div>
  52. <loading :isLoading="isPageLoading"></loading>
  53. </div>
  54. </template>
  55. <script>
  56. import Breadcrumbs from "~/components/Breadcrumbs.vue";
  57. import centerMode from "@/components/swiper/centerMode";
  58. import ExhibitionListCard from "~/components/exhibition/ExhibitionListCard.vue";
  59. import DateCard from "~/components/exhibition/DateCard.vue";
  60. import sort from "@/components/newComponent/sort/sort";
  61. import multipleLevel from "@/components/newComponent/filter/multipleLevel";
  62. import oneLevel from "@/components/newComponent/filter/oneLevel";
  63. import rating from "@/components/newComponent/filter/rating.vue";
  64. import pagination from "@/components/newComponent/pagination/pagination.vue";
  65. import ShowSidebarFilterModal from "@/components/exhibition/ShowSidebarFilterModal.vue";
  66. import { XIcon } from "vue-feather-icons";
  67. import loading from "@/components/newComponent/loading/loading.vue";
  68. export default {
  69. name: "ExhibitionView",
  70. auth: false,
  71. meta: {
  72. name: "Exhibition",
  73. },
  74. components: {
  75. centerMode,
  76. Breadcrumbs,
  77. DateCard,
  78. ExhibitionListCard,
  79. XIcon,
  80. sort,
  81. multipleLevel,
  82. oneLevel,
  83. rating,
  84. pagination,
  85. ShowSidebarFilterModal,
  86. loading,
  87. },
  88. async asyncData({ route, $auth, $axios, i18n }) {
  89. let isPageLoading = true;
  90. let langQuery = "?lang=" + i18n.localeProperties["langQuery"];
  91. let keyword = route.query.q;
  92. let data;
  93. // ({ data } = await $axios.get("/exhibitions/filters" + langQuery));
  94. let statuses;
  95. if (data) {
  96. statuses = data.filters.statuses.map((item) => {
  97. return {
  98. key: item.Key,
  99. title: item.Value,
  100. };
  101. });
  102. }
  103. // ({ data } = await $axios.get(
  104. // `/t/exhibitions/locations${langQuery}&sort=true`
  105. // ));
  106. let locations;
  107. if (data) {
  108. locations = data.sort_results.map((item) => {
  109. item.country_list = item.country_list.map((country) => {
  110. country.city_list = country.city_list.map((city) => {
  111. return {
  112. title: city.city_name,
  113. key: city.city_name,
  114. };
  115. });
  116. return {
  117. title: country.country_name,
  118. key: country.country_name,
  119. children: country.city_list,
  120. };
  121. });
  122. return {
  123. title: item.region_name,
  124. key: item.region_name,
  125. children: item.country_list,
  126. };
  127. });
  128. }
  129. // ({ data } = await $axios.get(
  130. // `/t/exhibitions/categories${langQuery}&sort=true`
  131. // ));
  132. let categories;
  133. if (data) {
  134. categories = data.sort_results.map((item) => {
  135. item.subcategories_list = item.subcategories_list.map((children) => {
  136. return {
  137. title: children.subcategory_name,
  138. key: children.subcategory_name,
  139. };
  140. });
  141. return {
  142. title: item.category_name,
  143. key: item.category_name,
  144. children: item.subcategories_list,
  145. };
  146. });
  147. }
  148. if (keyword) {
  149. langQuery = langQuery + "&q=" + keyword;
  150. }
  151. try {
  152. data = {
  153. exhibitions: [],
  154. ads: [],
  155. };
  156. // ({ data } = await $axios
  157. // .get("/exhibitions" + langQuery)
  158. // .then()
  159. // .catch((err) => {
  160. // console.log(err);
  161. // }));
  162. } catch (e) {
  163. data = {
  164. exhibitions: [],
  165. ads: [],
  166. };
  167. console.log(e);
  168. }
  169. // console.log(data.exhibitions);
  170. // let exhibitionList = data.exhibitions; // exhibitionApi2CardType();
  171. let userSavedList = [];
  172. if ($auth.loggedIn) {
  173. // await $axios
  174. // .get(
  175. // `/member/users/${$auth.$storage.getUniversal("jwt").user_id}?jwt=${
  176. // $auth.$storage.getUniversal("jwt").token
  177. // }`
  178. // )
  179. // .then((res) => {
  180. // userSavedList = res.data.UserExhibition; //.map(item=>item.exhibition_id)
  181. // })
  182. // .catch((err) => {
  183. // console.log(err);
  184. // });
  185. }
  186. // userSavedList = userSavedList.map((item) => item.exhibition_id);
  187. // for (let i = 0; i < exhibitionList.length; i++) {
  188. // if (userSavedList.includes(exhibitionList[i].id)) {
  189. // exhibitionList[i].saved = true;
  190. // } else {
  191. // exhibitionList[i].saved = false;
  192. // }
  193. // }
  194. let ads = data.ads;
  195. return {
  196. statuses: statuses,
  197. // categories: categories,
  198. // locations: locations,
  199. // rating: rating,
  200. isPageLoading: isPageLoading,
  201. // exhibitionList: exhibitionList,
  202. ads: ads,
  203. langQuery: langQuery,
  204. };
  205. },
  206. data: () => ({
  207. page: 1,
  208. perPage: 10,
  209. adList: [],
  210. exhibitionList: [],
  211. datesChecked: [],
  212. statusesChecked: [],
  213. categoryChecked: [],
  214. locationChecked: [],
  215. ratingChecked: [],
  216. selectedStatusJson: "",
  217. locations: [],
  218. statusMap: new Map(),
  219. regionMap: new Map(),
  220. countryMap: new Map(),
  221. cityMap: new Map(),
  222. selectedRegionJson: "",
  223. selectedCountryJson: "",
  224. selectedCityJson: "",
  225. mainCategoryMap: new Map(),
  226. subCategoryMap: new Map(),
  227. selectedMainCategoryJson: "",
  228. selectedSubCategoryJson: "",
  229. favoriteSet: new Set(),
  230. categories: [],
  231. unsortRegionList: [],
  232. unsortCountryList: [],
  233. unsortCityList: [],
  234. unsortCategoryList: [],
  235. unsortSubcategoryList: [],
  236. categoryQueryFilter: "",
  237. locationQueryFilter: "",
  238. width: undefined,
  239. sortType: [
  240. { name: "Recommended", value: "exhibition.Recommended" },
  241. { name: "ShowDate", value: "exhibition.ShowDate" },
  242. { name: "ExhibitorCount", value: "exhibition.ExhibitorCount" },
  243. { name: "VisitorCount", value: "exhibition.VisitorCount" },
  244. ],
  245. sortBy: "Show Dates",
  246. }),
  247. async created() {
  248. this.getAdList();
  249. this.getStatusList();
  250. this.getLocationList();
  251. this.getCategoryList();
  252. this.getFavorite();
  253. this.getExhibitionCard();
  254. // await this.getUnsortLocationList();
  255. // await this.getUnsortCategoryList();
  256. // await this.getQuery();
  257. // if (this.$route.query.hasOwnProperty("q")) {
  258. // this.sortType.splice(0, 0, {
  259. // name: "ShowEasy Recommended",
  260. // value: "ShowEasy Recommended",
  261. // });
  262. // this.sortBy = "ShowEasy Recommended";
  263. // }
  264. let userSavedList = [];
  265. if (this.$auth.loggedIn) {
  266. // await this.$axios
  267. // .get(
  268. // `/member/users/${this.$auth.$storage.getUniversal("jwt").user_id
  269. // }?jwt=${this.$auth.$storage.getUniversal("jwt").token}`
  270. // )
  271. // .then((res) => {
  272. // userSavedList = res.data.UserExhibition;
  273. // })
  274. // .catch((err) => {
  275. // console.log(err);
  276. // });
  277. // this.$store.dispatch("updatePicture");
  278. // this.$nextTick(() => {
  279. // this.$forceUpdate();
  280. // });
  281. }
  282. userSavedList = userSavedList.map((item) => item.exhibition_id);
  283. for (let i = 0; i < this.exhibitionList.length; i++) {
  284. if (userSavedList.includes(this.exhibitionList[i].id)) {
  285. this.exhibitionList[i].saved = true;
  286. } else {
  287. this.exhibitionList[i].saved = false;
  288. }
  289. }
  290. if (process.client) {
  291. this.width = window.innerWidth;
  292. }
  293. this.$nextTick(() => {
  294. this.isPageLoading = false;
  295. });
  296. },
  297. async mounted() {
  298. let userSavedList = [];
  299. if (this.$auth.loggedIn) {
  300. // await this.$axios
  301. // .get(
  302. // `/member/users/${this.$auth.$storage.getUniversal("jwt").user_id
  303. // }?jwt=${this.$auth.$storage.getUniversal("jwt").token}`
  304. // )
  305. // .then((res) => {
  306. // userSavedList = res.data.UserExhibition;
  307. // })
  308. // .catch((err) => {
  309. // console.log(err);
  310. // });
  311. // this.$store.dispatch("updatePicture");
  312. // this.$nextTick(() => {
  313. // this.$forceUpdate();
  314. // });
  315. }
  316. userSavedList = userSavedList.map((item) => item.exhibition_id);
  317. for (let i = 0; i < this.exhibitionList.length; i++) {
  318. if (userSavedList.includes(this.exhibitionList[i].id)) {
  319. this.exhibitionList[i].saved = true;
  320. } else {
  321. this.exhibitionList[i].saved = false;
  322. }
  323. }
  324. this.$nextTick(() => {
  325. window.addEventListener("resize", this.onResize);
  326. });
  327. },
  328. beforeDestroy() {
  329. window.removeEventListener("resize", this.onResize);
  330. this.fetchUser();
  331. },
  332. computed: {
  333. result() {
  334. // return this.exhibitionsFilter.length;
  335. return this.exhibitionList.length;
  336. },
  337. pageLength() {
  338. return Math.ceil(this.result / this.perPage);
  339. },
  340. // renderList() {
  341. // return this.sliceRenderList(this.exhibitionsFilter);
  342. // },
  343. },
  344. watch: {
  345. page() {
  346. // window.scrollTo(0, 0);
  347. },
  348. $route() {
  349. console.table(this.$route);
  350. this.getQuery();
  351. },
  352. },
  353. methods: {
  354. onResize() {
  355. if (process.client) {
  356. this.width = window.innerWidth;
  357. }
  358. },
  359. async fetchUser() {
  360. let userSavedList = [];
  361. if (this.$auth.loggedIn) {
  362. // await this.$axios
  363. // .get(
  364. // `/member/users/${this.$auth.$storage.getUniversal("jwt").user_id
  365. // }?jwt=${this.$auth.$storage.getUniversal("jwt").token}`
  366. // )
  367. // .then((res) => {
  368. // userSavedList = res.data.UserExhibition;
  369. // })
  370. // .catch((err) => {
  371. // console.log(err);
  372. // });
  373. }
  374. userSavedList = userSavedList.map((item) => item.exhibition_id);
  375. for (let i = 0; i < this.exhibitionList.length; i++) {
  376. if (userSavedList.includes(this.exhibitionList[i].id)) {
  377. this.exhibitionList[i].saved = true;
  378. } else {
  379. this.exhibitionList[i].saved = false;
  380. }
  381. }
  382. },
  383. getAdList() {
  384. this.ads = [{
  385. image: require('/assets/img/thems/Frame33.png')
  386. }, {
  387. image: require('/assets/img/thems/Frame33.png')
  388. }, {
  389. image: require('/assets/img/thems/Frame33.png')
  390. }]
  391. },
  392. getStatusList() {
  393. this.$axios
  394. .get(
  395. `/trending/api/Exhibition/Statuses?Lang=${this.$i18n.localeProperties["langQuery"]}`
  396. )
  397. .then((result) => {
  398. if (result.data.DATA.rel) {
  399. this.statuses = result.data.DATA.rel;
  400. this.statuses = this.statuses.map((item => {
  401. this.statusMap.set(item.Key, item.Value);
  402. return {
  403. title: item.Value,
  404. key: item.Key,
  405. };
  406. }));
  407. }
  408. })
  409. .catch((err) => {
  410. console.log(err);
  411. });
  412. },
  413. getCategoryList() {
  414. this.$axios
  415. .get(
  416. `/trending/api/Exhibition/Categories?Lang=${this.$i18n.localeProperties["langQuery"]}`
  417. )
  418. .then((result) => {
  419. if (result.data.DATA.rel) {
  420. this.categories = result.data.DATA.rel;
  421. this.categories = this.categories.map((item) => {
  422. this.mainCategoryMap.set(item.CategoryID, item);
  423. item.SubCategoryList = item.SubCategoryList.map(
  424. (children) => {
  425. this.subCategoryMap.set(children.CategoryID, children);
  426. return {
  427. title: children.CategoryName,
  428. key: children.CategoryID,
  429. };
  430. }
  431. );
  432. return {
  433. title: item.CategoryName,
  434. key: item.CategoryID,
  435. children: item.SubCategoryList,
  436. };
  437. });
  438. }
  439. })
  440. .catch((err) => {
  441. console.log(err);
  442. });
  443. },
  444. getLocationList() {
  445. this.$axios
  446. .get(
  447. `/trending/api/Exhibition/Locations?Lang=${this.$i18n.localeProperties["langQuery"]}`
  448. )
  449. .then((result) => {
  450. if (result.data.DATA.rel) {
  451. var vm = this;
  452. vm.locations = result.data.DATA.rel;
  453. vm.locations = vm.locations.map((region) => {
  454. this.regionMap.set(region.RegionID, region);
  455. region.CountryList = region.CountryList.map((country) => {
  456. this.countryMap.set(country.CountryID, country);
  457. country.CityList = country.CityList.map((city) => {
  458. this.cityMap.set(city.CityID, city);
  459. return {
  460. title: city.CityName,
  461. key: city.CityID,
  462. };
  463. });
  464. return {
  465. title: country.CountryName,
  466. key: country.CountryID,
  467. children: country.CityList,
  468. };
  469. });
  470. return {
  471. title: region.RegionName,
  472. key: region.RegionID,
  473. children: region.CountryList,
  474. };
  475. });
  476. return result.data.DATA.rel;
  477. }
  478. })
  479. .catch((err) => {
  480. console.log(err);
  481. });
  482. },
  483. getExhibitionCard() {
  484. this.$axios
  485. .get(
  486. `/trending/api/Exhibition/Cards?Lang=${this.$i18n.localeProperties["langQuery"]}` +
  487. `&RegionIDs=${this.selectedRegionJson}` +
  488. `&CountryIDs=${this.selectedCountryJson}` +
  489. `&CityIDs=${this.selectedCityJson}` +
  490. `&MainCategoryIDs=${this.selectedMainCategoryJson}` +
  491. `&SubCategoryIDs=${this.selectedSubCategoryJson}` +
  492. `&Status=${this.selectedStatusJson}` +
  493. `&Date=${JSON.stringify(this.datesChecked)}` +
  494. `&Sort=${this.sortBy}`
  495. )
  496. .then((result) => {
  497. if (result.data.DATA.rel) {
  498. this.exhibitionList = result.data.DATA.rel;
  499. this.setFavorite();
  500. }
  501. })
  502. .catch((err) => {
  503. console.log(err);
  504. this.exhibitionList = [];
  505. });
  506. },
  507. getFavorite() {
  508. this.favoriteSet.clear();
  509. if (this.$auth.loggedIn) {
  510. this.$axios
  511. .get(
  512. `/trending/api/Favorite/Favorites?Type=Exhibition`
  513. )
  514. .then((result) => {
  515. if (result.data.DATA.rel) {
  516. let favoriteList = [];
  517. favoriteList = result.data.DATA.rel;
  518. favoriteList.forEach(item => {
  519. this.favoriteSet.add(item.ParentID);
  520. })
  521. }
  522. })
  523. .catch((err) => {
  524. console.log(err);
  525. });
  526. }
  527. },
  528. setFavorite() {
  529. if(this.exhibitionList.length > 0 && this.$auth.loggedIn) {
  530. for(let i =0; i < this.exhibitionList.length; i++) {
  531. if (this.favoriteSet.has(this.exhibitionList[i].ExhibitionID)) {
  532. this.exhibitionList[i].IsFavorite = "Y";
  533. }
  534. }
  535. }
  536. },
  537. updateSortBy(data) {
  538. this.sortBy = data;
  539. this.getExhibitionCard();
  540. },
  541. updatePage(value) {
  542. this.page = value;
  543. },
  544. updateCategoryFilter(value) {
  545. var SelectedMainCategoryArray = [];
  546. var SelectedSubCategoryArray = [];
  547. this.selectedMainCategoryJson = "";
  548. this.selectedSubCategoryJson = "";
  549. value.forEach(key => {
  550. if (this.mainCategoryMap.has(key)) {
  551. SelectedMainCategoryArray.push(key);
  552. }
  553. if (this.subCategoryMap.has(key)) {
  554. SelectedSubCategoryArray.push(key);
  555. }
  556. });
  557. this.selectedMainCategoryJson = JSON.stringify(SelectedMainCategoryArray);
  558. this.selectedSubCategoryJson = JSON.stringify(SelectedSubCategoryArray);
  559. this.getExhibitionCard();
  560. },
  561. updateLocationFilter(value) {
  562. var SelectedRegionArray = [];
  563. var SelectedCountryArray = [];
  564. var SelectedCityArray = [];
  565. this.selectedRegionJson = "";
  566. this.selectedCountryJson = "";
  567. this.selectedCityJson = "";
  568. value.forEach(key => {
  569. if (this.regionMap.has(key)) {
  570. SelectedRegionArray.push(key);
  571. }
  572. if (this.countryMap.has(key)) {
  573. SelectedCountryArray.push(key);
  574. }
  575. if (this.cityMap.has(key)) {
  576. SelectedCityArray.push(key);
  577. }
  578. });
  579. this.selectedRegionJson = JSON.stringify(SelectedRegionArray);
  580. this.selectedCountryJson = JSON.stringify(SelectedCountryArray);
  581. this.selectedCityJson = JSON.stringify(SelectedCityArray);
  582. this.getExhibitionCard();
  583. },
  584. updateStatusFilter(value) {
  585. var SelectedStatusArray = [];
  586. this.selectedStatusJson = "";
  587. value.forEach(key => {
  588. if (this.statusMap.has(key)) {
  589. SelectedStatusArray.push(key);
  590. }
  591. });
  592. this.selectedStatusJson = JSON.stringify(SelectedStatusArray);
  593. this.getExhibitionCard();
  594. },
  595. updateDateFilter(value) {
  596. this.datesChecked = value;
  597. this.getExhibitionCard();
  598. },
  599. sortServiceList(data) {
  600. switch (this.sortBy) {
  601. case "ShowEasy Recommended":
  602. return data;
  603. case "Exhibitor Numbers":
  604. function Exhibitors(a, b) {
  605. if (
  606. Number(a.exhibitors ? a.exhibitors.replace(/[^0-9]/gi, "") : "") <
  607. Number(b.exhibitors ? b.exhibitors.replace(/[^0-9]/gi, "") : "")
  608. )
  609. return 1;
  610. if (
  611. Number(a.exhibitors ? a.exhibitors.replace(/[^0-9]/gi, "") : "") >
  612. Number(b.exhibitors ? b.exhibitors.replace(/[^0-9]/gi, "") : "")
  613. )
  614. return -1;
  615. return 0;
  616. }
  617. return data.sort(Exhibitors);
  618. case "Visitor Numbers":
  619. function Visitor(a, b) {
  620. if (
  621. Number(a.visitors ? a.visitors.replace(/[^0-9]/gi, "") : "") <
  622. Number(b.visitors ? b.visitors.replace(/[^0-9]/gi, "") : "")
  623. )
  624. return 1;
  625. if (
  626. Number(a.visitors ? a.visitors.replace(/[^0-9]/gi, "") : "") >
  627. Number(b.visitors ? b.visitors.replace(/[^0-9]/gi, "") : "")
  628. )
  629. return -1;
  630. return 0;
  631. }
  632. return data.sort(Visitor);
  633. case "Show Dates":
  634. function Date(a, b) {
  635. if (a.startdate.replace(/-/g, "") < b.startdate.replace(/-/g, ""))
  636. return 1;
  637. if (a.startdate.replace(/-/g, "") > b.startdate.replace(/-/g, ""))
  638. return -1;
  639. return 0;
  640. }
  641. return data.sort(Date);
  642. default:
  643. return data;
  644. }
  645. },
  646. sliceRenderList(data) {
  647. return data.slice(
  648. (this.page - 1) * this.perPage,
  649. this.page * this.perPage
  650. );
  651. },
  652. },
  653. };
  654. </script>
  655. <style scoped lang="scss">
  656. .sort-by-text {
  657. max-width: 142px;
  658. >h3 {
  659. border-right: 1px solid #e5e5e5;
  660. }
  661. }
  662. .sort-by-text-sm {
  663. max-width: 112px;
  664. >h3 {
  665. border-right: 1px solid #e5e5e5;
  666. }
  667. }
  668. </style>
  669. <style lang="scss">
  670. .filter-zindex {
  671. z-index: 499 !important;
  672. }
  673. .exhibition-pagination {
  674. .v-pagination {
  675. justify-content: flex-end;
  676. }
  677. .v-pagination__navigation,
  678. .v-pagination__item {
  679. box-shadow: none;
  680. margin: 0;
  681. min-width: 28px;
  682. &.v-pagination__item--active {
  683. color: $primary-orange !important;
  684. }
  685. }
  686. }
  687. .v-breadcrumbs {
  688. padding: 0px;
  689. }
  690. .v-application ul {
  691. padding-left: 0px;
  692. }
  693. </style>