components.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. window.Vue = require('vue');
  2. import BootstrapVue from 'bootstrap-vue'
  3. Vue.use(BootstrapVue);
  4. window.InfiniteScroll = require('infinite-scroll');
  5. window.filesize = require('filesize');
  6. import swal from 'sweetalert';
  7. require('./components/localstorage');
  8. require('./components/likebutton');
  9. require('./components/commentform');
  10. require('./components/searchform');
  11. require('./components/bookmarkform');
  12. require('./components/statusform');
  13. require('./components/embed');
  14. require('./components/notifications');
  15. // import Echo from "laravel-echo"
  16. // window.io = require('socket.io-client');
  17. // window.pixelfed.bootEcho = function() {
  18. // window.Echo = new Echo({
  19. // broadcaster: 'socket.io',
  20. // host: window.location.hostname + ':2096',
  21. // auth: {
  22. // headers: {
  23. // Authorization: 'Bearer ' + token.content,
  24. // },
  25. // },
  26. // });
  27. // }
  28. // Initalize Notification Helper
  29. window.pixelfed.n = {};
  30. Vue.component(
  31. 'follow-suggestions',
  32. require('./components/FollowSuggestions.vue')
  33. );
  34. Vue.component(
  35. 'discover-component',
  36. require('./components/DiscoverComponent.vue')
  37. );
  38. // Vue.component(
  39. // 'circle-panel',
  40. // require('./components/CirclePanel.vue')
  41. // );
  42. Vue.component(
  43. 'post-component',
  44. require('./components/PostComponent.vue')
  45. );
  46. Vue.component(
  47. 'post-comments',
  48. require('./components/PostComments.vue')
  49. );
  50. Vue.component(
  51. 'passport-clients',
  52. require('./components/passport/Clients.vue')
  53. );
  54. Vue.component(
  55. 'passport-authorized-clients',
  56. require('./components/passport/AuthorizedClients.vue')
  57. );
  58. Vue.component(
  59. 'passport-personal-access-tokens',
  60. require('./components/passport/PersonalAccessTokens.vue')
  61. );
  62. window.pixelfed.copyToClipboard = (str) => {
  63. const el = document.createElement('textarea');
  64. el.value = str;
  65. el.setAttribute('readonly', '');
  66. el.style.position = 'absolute';
  67. el.style.left = '-9999px';
  68. document.body.appendChild(el);
  69. const selected =
  70. document.getSelection().rangeCount > 0
  71. ? document.getSelection().getRangeAt(0)
  72. : false;
  73. el.select();
  74. document.execCommand('copy');
  75. document.body.removeChild(el);
  76. if (selected) {
  77. document.getSelection().removeAllRanges();
  78. document.getSelection().addRange(selected);
  79. }
  80. };
  81. $(document).ready(function() {
  82. $(function () {
  83. $('[data-toggle="tooltip"]').tooltip()
  84. });
  85. });