12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <template>
- <div class="groups-home-component w-100 h-100">
- <div v-if="initialLoad" class="row border-bottom m-0 p-0">
- <sidebar />
- <div class="col-12 col-md-10">
- <self-notifications :profile="profile" />
- </div>
- </div>
- <div v-else class="row justify-content-center mt-5">
- <b-spinner />
- </div>
- </div>
- </template>
- <script type="text/javascript">
- import GroupStatus from '@/groups/partials/GroupStatus.vue';
- import SelfFeed from '@/groups/partials/SelfFeed.vue';
- import SelfDiscover from '@/groups/partials/SelfDiscover.vue';
- import SelfGroups from '@/groups/partials/SelfGroups.vue';
- import SelfNotifications from '@/groups/partials/SelfNotifications.vue';
- import SelfInvitations from '@/groups/partials/SelfInvitations.vue';
- import SelfRemoteSearch from '@/groups/partials/SelfRemoteSearch.vue';
- import CreateGroup from '@/groups/CreateGroup.vue';
- import SidebarComponent from '@/groups/sections/Sidebar.vue';
- import Autocomplete from '@trevoreyre/autocomplete-vue'
- import '@trevoreyre/autocomplete-vue/dist/style.css'
- export default {
- data() {
- return {
- initialLoad: false,
- config: {},
- groups: [],
- profile: {},
- tab: null,
- searchQuery: undefined,
- };
- },
- components: {
- 'autocomplete-input': Autocomplete,
- 'group-status': GroupStatus,
- 'self-discover': SelfDiscover,
- 'self-groups': SelfGroups,
- 'self-feed': SelfFeed,
- 'self-notifications': SelfNotifications,
- 'self-invitations': SelfInvitations,
- 'self-remote-search': SelfRemoteSearch,
- "create-group": CreateGroup,
- "sidebar": SidebarComponent
- },
- mounted() {
- this.fetchConfig();
- },
- methods: {
- init() {
- document.querySelectorAll("footer").forEach(e => e.parentNode.removeChild(e));
- document.querySelectorAll(".mobile-footer-spacer").forEach(e => e.parentNode.removeChild(e));
- document.querySelectorAll(".mobile-footer").forEach(e => e.parentNode.removeChild(e));
- this.initialLoad = true;
- },
- fetchConfig() {
- axios.get('/api/v0/groups/config')
- .then(res => {
- this.config = res.data;
- this.fetchProfile();
- });
- },
- fetchProfile() {
- axios.get('/api/pixelfed/v1/accounts/verify_credentials')
- .then(res => {
- this.profile = res.data;
- this.init();
- window._sharedData.curUser = res.data;
- window.App.util.navatar();
- })
- },
- }
- }
- </script>
- <style lang="scss">
- .groups-home-component {
- font-family: var(--font-family-sans-serif);
- }
- </style>
|