App.vue 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <template>
  2. <div
  3. v-show="$store.state.interface.themeApplied"
  4. id="app-loaded"
  5. :style="bgStyle"
  6. >
  7. <div
  8. id="app_bg_wrapper"
  9. class="app-bg-wrapper"
  10. />
  11. <MobileNav v-if="layoutType === 'mobile'" />
  12. <DesktopNav
  13. v-else
  14. :class="navClasses"
  15. />
  16. <Notifications v-if="currentUser" />
  17. <div
  18. id="content"
  19. class="app-layout container"
  20. :class="classes"
  21. >
  22. <div class="underlay" />
  23. <div
  24. id="sidebar"
  25. class="column -scrollable"
  26. :class="{ '-show-scrollbar': showScrollbars }"
  27. >
  28. <user-panel />
  29. <template v-if="layoutType !== 'mobile'">
  30. <nav-panel />
  31. <instance-specific-panel v-if="showInstanceSpecificPanel" />
  32. <features-panel v-if="!currentUser && showFeaturesPanel" />
  33. <who-to-follow-panel v-if="currentUser && suggestionsEnabled" />
  34. <div id="notifs-sidebar" />
  35. </template>
  36. </div>
  37. <main
  38. id="main-scroller"
  39. class="column main"
  40. :class="{ '-full-height': isChats || isListEdit }"
  41. >
  42. <div
  43. v-if="!currentUser"
  44. class="login-hint panel panel-default"
  45. >
  46. <router-link
  47. :to="{ name: 'login' }"
  48. class="panel-body"
  49. >
  50. {{ $t("login.hint") }}
  51. </router-link>
  52. </div>
  53. <router-view />
  54. </main>
  55. <div
  56. id="notifs-column"
  57. class="column -scrollable"
  58. :class="{ '-show-scrollbar': showScrollbars }"
  59. />
  60. </div>
  61. <MediaModal />
  62. <shout-panel
  63. v-if="currentUser && shout && !hideShoutbox"
  64. :floating="true"
  65. class="floating-shout mobile-hidden"
  66. :class="{ '-left': shoutboxPosition }"
  67. />
  68. <MobilePostStatusButton />
  69. <UserReportingModal />
  70. <PostStatusModal />
  71. <EditStatusModal v-if="editingAvailable" />
  72. <StatusHistoryModal v-if="editingAvailable" />
  73. <SettingsModal />
  74. <UpdateNotification />
  75. <GlobalNoticeList />
  76. </div>
  77. </template>
  78. <script src="./App.js"></script>
  79. <style lang="scss" src="./App.scss"></style>