cwg-custom-footer.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <template>
  2. <view class="custom-footer">
  3. <view class="footer-description">
  4. <view class="desc-block">
  5. <view class="desc-text" v-t="'newSignin.item12'" />
  6. <view class="desc-text" v-t="'newSignin.item10'" />
  7. <view class="desc-text" v-t="'newSignin.item11'" />
  8. <view class="desc-text">
  9. <text v-t="'newSignin.item13'" />
  10. <a :href="'https://www.' +
  11. ho +
  12. '.com/doc/Risk-Disclosures-and-Acknowledgements-2020-08.pdf'
  13. " target="_blank" v-t="'newSignin.item13_1'" class="desc-link" />
  14. <text class="desc-text" v-t="'newSignin.item13_2'" />
  15. </view>
  16. <text class="desc-text" v-t="'newSignin.item13_3'" />
  17. <text class="desc-text" v-t="'newSignin.item13_4'" />
  18. </view>
  19. </view>
  20. <view class="footer-placeholder"></view>
  21. <view class="footer-links">
  22. <view v-for="(item, index) in linkList" :key="index" class="link-item" @click="openLink(item)"
  23. v-t="item.text" />
  24. <!-- <view class="copyright">© 2008 - 2026. Exness</view> -->
  25. </view>
  26. </view>
  27. </template>
  28. <script setup>
  29. import { openLocalPdf } from '@/utils/pdf.js'
  30. const linkList = [
  31. { text: 'signup.agreemnet2', url: 'pdf/Client_Agreement.pdf' },
  32. { text: 'signup.agreemnet4', url: 'pdf/Terms&Conditions.pdf' },
  33. { text: 'signup.agreemnet6', url: 'pdf/Privacy_Policy.pdf' },
  34. { text: 'news_add_field.OpenAccount.Des2', url: 'pdf/PrivacyPolicy2019_01.pdf' }
  35. ]
  36. const openLink = ({url, text}) => {
  37. openLocalPdf(url, text)
  38. }
  39. </script>
  40. <style lang="scss" scoped>
  41. @import "@/uni.scss";
  42. .custom-footer {
  43. font-family: var(--f-country-simple-family);
  44. font-weight: 400;
  45. line-height: px2rpx(16);
  46. font-size: px2rpx(12);
  47. letter-spacing: px2rpx(0.5);
  48. display: grid;
  49. grid-template-columns: 1fr;
  50. margin: px2rpx(16) px2rpx(24);
  51. margin: px2rpx(64) 0px;
  52. .footer-description {
  53. .desc-block {
  54. margin-bottom: px2rpx(32);
  55. .desc-text {
  56. display: inline-block;
  57. margin-bottom: px2rpx(8);
  58. }
  59. .desc-link {
  60. display: inline-block;
  61. color: #0066cc;
  62. text-decoration: underline;
  63. margin-top: px2rpx(4);
  64. }
  65. }
  66. }
  67. .footer-placeholder {
  68. display: block;
  69. }
  70. .footer-links {
  71. display: flex;
  72. flex-direction: column;
  73. align-items: flex-start;
  74. .link-item {
  75. line-height: px2rpx(20);
  76. font-size: px2rpx(12);
  77. letter-spacing: px2rpx(0.5);
  78. color: #0066cc;
  79. text-decoration: underline;
  80. cursor: pointer;
  81. &:active {
  82. opacity: 0.7;
  83. }
  84. }
  85. .copyright {
  86. width: 100%;
  87. color: #999;
  88. margin-top: px2rpx(12);
  89. }
  90. }
  91. }
  92. @media screen and (min-width: 768px) {
  93. .custom-footer {
  94. grid-template-columns: 4fr 2fr;
  95. }
  96. }
  97. @media screen and (min-width: 992px) {
  98. .custom-footer {
  99. grid-template-columns: 8fr 4fr;
  100. }
  101. }
  102. @media screen and (min-width: 1200px) {
  103. .custom-footer {
  104. grid-template-columns: 7fr 1fr 3fr;
  105. }
  106. }
  107. </style>