UsersList.vue 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <template>
  2. <div class="sidebar" transition="slide">
  3. <div class="inner-wrapper">
  4. <div class="title">
  5. Users
  6. </div>
  7. <h5 class="center">Total users: {{ $parent.userCount }}</h5>
  8. <aside class="menu">
  9. <ul class="menu-list">
  10. <li v-for="(username, index) in $parent.users" :key="index">
  11. <router-link
  12. :to="{ name: 'profile', params: { username } }"
  13. target="_blank"
  14. >
  15. {{ username }}
  16. </router-link>
  17. </li>
  18. </ul>
  19. </aside>
  20. </div>
  21. </div>
  22. </template>
  23. <style lang="scss" scoped>
  24. @import "styles/global.scss";
  25. .sidebar {
  26. position: fixed;
  27. z-index: 1;
  28. top: 0;
  29. right: 0;
  30. width: 300px;
  31. height: 100vh;
  32. background-color: #fff;
  33. box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16),
  34. 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  35. }
  36. .inner-wrapper {
  37. top: 60px;
  38. position: relative;
  39. }
  40. .slide-transition {
  41. transition: transform 0.6s ease-in-out;
  42. transform: translateX(0);
  43. }
  44. .slide-enter,
  45. .slide-leave {
  46. transform: translateX(100%);
  47. }
  48. .title {
  49. background-color: rgb(3, 169, 244);
  50. text-align: center;
  51. padding: 10px;
  52. color: white;
  53. font-weight: 600;
  54. }
  55. .menu {
  56. padding: 0 20px;
  57. }
  58. .menu-list li a:hover {
  59. color: #000 !important;
  60. }
  61. </style>