1
0

Logo.vue 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <template>
  2. <div class="sidebar-logo-container collapse">
  3. <transition name="sidebarLogoFade">
  4. <router-link v-if="enlarge" key="collapse" class="sidebar-logo-link" to="/">
  5. <img v-if="logo" :src="logo" class="sidebar-logo" />
  6. </router-link>
  7. </transition>
  8. </div>
  9. </template>
  10. <script>
  11. import logoImg from '@/assets/logo/logo.png'
  12. export default {
  13. name: 'SidebarLogo',
  14. computed: {
  15. enlarge() {
  16. return this.$store.state.app.enlarge
  17. }
  18. },
  19. data() {
  20. return {
  21. logo: logoImg
  22. }
  23. }
  24. }
  25. </script>
  26. <style lang="scss" scoped>
  27. .sidebarLogoFade-enter-active {
  28. transition: opacity 1.5s;
  29. }
  30. .sidebarLogoFade-enter,
  31. .sidebarLogoFade-leave-to {
  32. opacity: 0;
  33. }
  34. .sidebar-logo-container {
  35. position: relative;
  36. width: 100%;
  37. height: 50px;
  38. line-height: 50px;
  39. background: #2b2f3a;
  40. text-align: center;
  41. overflow: hidden;
  42. & .sidebar-logo-link {
  43. height: 100%;
  44. width: 100%;
  45. & .sidebar-logo {
  46. width: 32px;
  47. height: 32px;
  48. vertical-align: middle;
  49. margin-right: 12px;
  50. }
  51. & .sidebar-title {
  52. display: inline-block;
  53. margin: 0;
  54. color: #fff;
  55. font-weight: 600;
  56. line-height: 50px;
  57. font-size: 14px;
  58. font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
  59. vertical-align: middle;
  60. }
  61. }
  62. &.collapse {
  63. .sidebar-logo {
  64. margin-right: 0px;
  65. }
  66. }
  67. }
  68. </style>