UsersList.vue 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <template>
  2. <div class="sidebar" transition="slide">
  3. <div class="inner-wrapper">
  4. <div class="sidebar-title">Users</div>
  5. <h5 class="has-text-centered">Total users: {{ userCount }}</h5>
  6. <aside class="menu">
  7. <ul class="menu-list">
  8. <li v-for="(username, index) in users" :key="index">
  9. <router-link
  10. :to="{ name: 'profile', params: { username } }"
  11. target="_blank"
  12. >
  13. {{ username }}
  14. </router-link>
  15. </li>
  16. </ul>
  17. </aside>
  18. </div>
  19. </div>
  20. </template>
  21. <script>
  22. import { mapState } from "vuex";
  23. export default {
  24. computed: mapState({
  25. users: state => state.station.users,
  26. userCount: state => state.station.userCount
  27. })
  28. };
  29. </script>
  30. <style lang="scss" scoped>
  31. @import "styles/global.scss";
  32. .night-mode {
  33. .sidebar {
  34. background-color: $night-mode-secondary;
  35. .sidebar-title {
  36. color: #fff;
  37. }
  38. * {
  39. color: #ddd;
  40. }
  41. }
  42. }
  43. .sidebar-title {
  44. background-color: rgb(3, 169, 244);
  45. text-align: center;
  46. padding: 10px;
  47. color: $white;
  48. font-weight: 600;
  49. font-size: 20px;
  50. }
  51. .menu {
  52. padding: 0 20px;
  53. }
  54. .menu-list li a:hover {
  55. color: #000 !important;
  56. }
  57. </style>