DonateHelpPage.vue 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <template>
  2. <div class="page">
  3. <div class="box">
  4. <p class="p">Проект существует исключительно на личном энтузиазме.</p>
  5. <p class="p">Чтобы энтузиазма было побольше, вы можете пожертвовать на развитие проекта любую сумму:</p>
  6. <div class="address">
  7. <img class="logo" src="./assets/Yandex_Money_rgb_ru.png">
  8. <el-button class="button" @click="donateYandexMoney">Пожертвовать</el-button><br>
  9. <div class="para">{{ yandexAddress }}</div>
  10. </div>
  11. <div class="address">
  12. <img class="logo" src="./assets/bitcoin.png">
  13. <el-button class="button" @click="copyAddress(bitcoinAddress, 'Bitcoin')">Скопировать</el-button><br>
  14. <div class="para">{{ bitcoinAddress }}</div>
  15. </div>
  16. <div class="address">
  17. <img class="logo" src="./assets/litecoin.png">
  18. <el-button class="button" @click="copyAddress(litecoinAddress, 'Litecoin')">Скопировать</el-button><br>
  19. <div class="para">{{ litecoinAddress }}</div>
  20. </div>
  21. <div class="address">
  22. <img class="logo" src="./assets/monero.png">
  23. <el-button class="button" @click="copyAddress(moneroAddress, 'Monero')">Скопировать</el-button><br>
  24. <div class="para">{{ moneroAddress }}</div>
  25. </div>
  26. </div>
  27. </div>
  28. </template>
  29. <script>
  30. //-----------------------------------------------------------------------------
  31. import Vue from 'vue';
  32. import Component from 'vue-class-component';
  33. import {copyTextToClipboard} from '../../../../share/utils';
  34. export default @Component({
  35. })
  36. class DonateHelpPage extends Vue {
  37. yandexAddress = '410018702323056';
  38. bitcoinAddress = '3EbgZ7MK1UVaN38Gty5DCBtS4PknM4Ut85';
  39. litecoinAddress = 'MP39Riec4oSNB3XMjiquKoLWxbufRYNXxZ';
  40. moneroAddress = '8BQPnvHcPSHM5gMQsmuypDgx9NNsYqwXKfDDuswEyF2Q2ewQSfd2pkK6ydH2wmMyq2JViZvy9DQ35hLMx7g72mFWNJTPtnz';
  41. created() {
  42. }
  43. donateYandexMoney() {
  44. window.open(`https://money.yandex.ru/to/${this.yandexAddress}`, '_blank');
  45. }
  46. async copyAddress(address, prefix) {
  47. const result = await copyTextToClipboard(address);
  48. const msg = (result ? `${prefix}-адрес ${address} успешно скопирован в буфер обмена` : 'Копирование не удалось');
  49. if (result)
  50. this.$notify.success({message: msg});
  51. else
  52. this.$notify.error({message: msg});
  53. }
  54. }
  55. //-----------------------------------------------------------------------------
  56. </script>
  57. <style scoped>
  58. .page {
  59. flex: 1;
  60. padding: 15px;
  61. overflow-y: auto;
  62. font-size: 120%;
  63. line-height: 130%;
  64. display: flex;
  65. }
  66. .p {
  67. margin: 0;
  68. padding: 0;
  69. text-indent: 20px;
  70. }
  71. .box {
  72. flex: 1;
  73. max-width: 550px;
  74. overflow-wrap: break-word;
  75. }
  76. h5 {
  77. margin: 0;
  78. }
  79. .address {
  80. padding-top: 10px;
  81. margin-top: 20px;
  82. }
  83. .para {
  84. margin: 10px 10px 10px 40px;
  85. }
  86. .button {
  87. margin-left: 10px;
  88. }
  89. .logo {
  90. width: 130px;
  91. position: relative;
  92. top: 10px;
  93. }
  94. </style>