aboutsummaryrefslogtreecommitdiff
path: root/src/components/retweet_button/retweet_button.vue
blob: 706c6b81852b4f25a7587bfa2f79e72113b7845b (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
46
47
48
49
50
51
52
53
54
55
56
57
58
<template>
  <div v-if="loggedIn">
    <template v-if="visibility !== 'private' && visibility !== 'direct'">
      <FAIcon
        :class="classes"
        class="RetweetButton button-icon -interactive"
        icon="retweet"
        size="lg"
        :spin="animated"
        :title="$t('tool_tip.repeat')"
        @click.prevent="retweet()"
      />
      <span v-if="!mergedConfig.hidePostStats && status.repeat_num > 0">{{ status.repeat_num }}</span>
    </template>
    <template v-else>
      <FAIcon
        :class="classes"
        class="RetweetButton button-icon"
        icon="lock"
        size="lg"
        :title="$t('timeline.no_retweet_hint')"
      />
    </template>
  </div>
  <div v-else-if="!loggedIn">
    <FAIcon
      :class="classes"
      class="button-icon"
      icon="retweet"
      size="lg"
      :title="$t('tool_tip.repeat')"
    />
    <span v-if="!mergedConfig.hidePostStats && status.repeat_num > 0">{{ status.repeat_num }}</span>
  </div>
</template>

<script src="./retweet_button.js" ></script>

<style lang="scss">
@import '../../_variables.scss';

.RetweetButton {
  &.-interactive {
    cursor: pointer;
    animation-duration: 0.6s;

    &:hover {
      color: $fallback--cGreen;
      color: var(--cGreen, $fallback--cGreen);
    }
  }

  &.-repeated {
    color: $fallback--cGreen;
    color: var(--cGreen, $fallback--cGreen);
  }
}
</style>