App.vue 2.0 KB

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