App.vue 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <template>
  2. <div
  3. id="app"
  4. :style="bgStyle"
  5. >
  6. <div
  7. id="app_bg_wrapper"
  8. class="app-bg-wrapper"
  9. />
  10. <MobileNav v-if="isMobileLayout" />
  11. <DesktopNav v-else />
  12. <div class="app-bg-wrapper app-container-wrapper" />
  13. <div
  14. id="content"
  15. class="container underlay"
  16. >
  17. <div
  18. class="sidebar-flexer mobile-hidden"
  19. :style="sidebarAlign"
  20. >
  21. <div class="sidebar-bounds">
  22. <div class="sidebar-scroller">
  23. <div class="sidebar">
  24. <user-panel />
  25. <div v-if="!isMobileLayout">
  26. <nav-panel />
  27. <instance-specific-panel v-if="showInstanceSpecificPanel" />
  28. <features-panel v-if="!currentUser && showFeaturesPanel" />
  29. <who-to-follow-panel v-if="currentUser && suggestionsEnabled" />
  30. <notifications v-if="currentUser" />
  31. </div>
  32. </div>
  33. </div>
  34. </div>
  35. </div>
  36. <div class="main">
  37. <div
  38. v-if="!currentUser"
  39. class="login-hint panel panel-default"
  40. >
  41. <router-link
  42. :to="{ name: 'login' }"
  43. class="panel-body"
  44. >
  45. {{ $t("login.hint") }}
  46. </router-link>
  47. </div>
  48. <router-view />
  49. </div>
  50. <media-modal />
  51. </div>
  52. <shout-panel
  53. v-if="currentUser && shout && !hideShoutbox"
  54. :floating="true"
  55. class="floating-shout mobile-hidden"
  56. :class="{ 'left': shoutboxPosition }"
  57. />
  58. <MobilePostStatusButton />
  59. <UserReportingModal />
  60. <PostStatusModal />
  61. <SettingsModal />
  62. <portal-target name="modal" />
  63. <GlobalNoticeList />
  64. </div>
  65. </template>
  66. <script src="./App.js"></script>
  67. <style lang="scss" src="./App.scss"></style>