summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/super_sidebar/components/context_switcher_toggle.vue
blob: b6f058f7aeebb76f303a9740b3b8bf107a4981e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<script>
import { GlTruncate, GlAvatar, GlCollapseToggleDirective, GlIcon } from '@gitlab/ui';

export default {
  components: {
    GlTruncate,
    GlAvatar,
    GlIcon,
  },
  directives: {
    CollapseToggle: GlCollapseToggleDirective,
  },
  props: {
    context: {
      type: Object,
      required: true,
    },
    expanded: {
      type: Boolean,
      required: true,
    },
  },
  computed: {
    collapseIcon() {
      return this.expanded ? 'chevron-up' : 'chevron-down';
    },
  },
};
</script>

<template>
  <button
    v-collapse-toggle.context-switcher
    type="button"
    class="context-switcher-toggle gl-bg-transparent gl-border-0 border-top border-bottom gl-border-gray-a-08 gl-box-shadow-none gl-display-flex gl-align-items-center gl-font-weight-bold gl-w-full gl-pl-3 gl-pr-5 gl-h-8"
  >
    <gl-avatar :size="32" shape="rect" :src="context.avatar" class="gl-mr-3" />
    <div class="gl-overflow-auto">
      <gl-truncate :text="context.title" />
    </div>
    <span class="gl-flex-grow-1 gl-text-right">
      <gl-icon :name="collapseIcon" />
    </span>
  </button>
</template>