DonateHelpPage.vue 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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.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. if (result)
  49. this.$notify.success({message: `${prefix}-адрес ${address} успешно скопирован в буфер обмена`});
  50. else
  51. this.$notify.error({message: 'Копирование не удалось'});
  52. }
  53. }
  54. //-----------------------------------------------------------------------------
  55. </script>
  56. <style scoped>
  57. .page {
  58. flex: 1;
  59. padding: 15px;
  60. overflow-y: auto;
  61. font-size: 120%;
  62. line-height: 130%;
  63. display: flex;
  64. }
  65. .p {
  66. margin: 0;
  67. padding: 0;
  68. text-indent: 20px;
  69. }
  70. .box {
  71. flex: 1;
  72. max-width: 550px;
  73. overflow-wrap: break-word;
  74. }
  75. h5 {
  76. margin: 0;
  77. }
  78. .address {
  79. padding-top: 10px;
  80. margin-top: 20px;
  81. }
  82. .para {
  83. margin: 10px 10px 10px 40px;
  84. }
  85. .button {
  86. margin-left: 10px;
  87. }
  88. .logo {
  89. width: 130px;
  90. position: relative;
  91. top: 10px;
  92. }
  93. </style>