summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-05-19 14:08:51 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-05-19 14:08:51 +0900
commit56d4658b36edbd754b9e64a3b43f7befca28747d (patch)
tree63f476a0ae6a9082b74add67e1b663c4a5bcaaba
parentMerge branch 'develop' of https://github.com/misskey-dev/misskey into develop (diff)
downloadsharkey-56d4658b36edbd754b9e64a3b43f7befca28747d.tar.gz
sharkey-56d4658b36edbd754b9e64a3b43f7befca28747d.tar.bz2
sharkey-56d4658b36edbd754b9e64a3b43f7befca28747d.zip
refactor(frontend): use css module
-rw-r--r--packages/frontend/src/components/MkPoll.vue114
1 files changed, 49 insertions, 65 deletions
diff --git a/packages/frontend/src/components/MkPoll.vue b/packages/frontend/src/components/MkPoll.vue
index 0810061ff9..e2ca5603e3 100644
--- a/packages/frontend/src/components/MkPoll.vue
+++ b/packages/frontend/src/components/MkPoll.vue
@@ -1,19 +1,19 @@
<template>
-<div class="tivcixzd" :class="{ done: closed || isVoted }">
- <ul>
- <li v-for="(choice, i) in note.poll.choices" :key="i" :class="{ voted: choice.voted }" @click="vote(i)">
- <div class="backdrop" :style="{ 'width': `${showResult ? (choice.votes / total * 100) : 0}%` }"></div>
- <span>
- <template v-if="choice.isVoted"><i class="ti ti-check"></i></template>
+<div :class="{ [$style.done]: closed || isVoted }">
+ <ul :class="$style.choices">
+ <li v-for="(choice, i) in note.poll.choices" :key="i" :class="[$style.choice, { [$style.voted]: choice.voted }]" @click="vote(i)">
+ <div :class="$style.bg" :style="{ 'width': `${showResult ? (choice.votes / total * 100) : 0}%` }"></div>
+ <span :class="$style.fg">
+ <template v-if="choice.isVoted"><i class="ti ti-check" style="margin-right: 4px; color: var(--accent);"></i></template>
<Mfm :text="choice.text" :plain="true"/>
- <span v-if="showResult" class="votes">({{ i18n.t('_poll.votesCount', { n: choice.votes }) }})</span>
+ <span v-if="showResult" style="margin-left: 4px; opacity: 0.7;">({{ i18n.t('_poll.votesCount', { n: choice.votes }) }})</span>
</span>
</li>
</ul>
- <p v-if="!readOnly">
+ <p v-if="!readOnly" :class="$style.info">
<span>{{ i18n.t('_poll.totalVotes', { n: total }) }}</span>
<span> · </span>
- <a v-if="!closed && !isVoted" @click="showResult = !showResult">{{ showResult ? i18n.ts._poll.vote : i18n.ts._poll.showResult }}</a>
+ <a v-if="!closed && !isVoted" style="color: inherit;" @click="showResult = !showResult">{{ showResult ? i18n.ts._poll.vote : i18n.ts._poll.showResult }}</a>
<span v-if="isVoted">{{ i18n.ts._poll.voted }}</span>
<span v-else-if="closed">{{ i18n.ts._poll.closed }}</span>
<span v-if="remaining > 0"> · {{ timer }}</span>
@@ -86,67 +86,51 @@ const vote = async (id) => {
};
</script>
-<style lang="scss" scoped>
-.tivcixzd {
- > ul {
- display: block;
- margin: 0;
- padding: 0;
- list-style: none;
-
- > li {
- display: block;
- position: relative;
- margin: 4px 0;
- padding: 4px;
- //border: solid 0.5px var(--divider);
- background: var(--accentedBg);
- border-radius: 4px;
- overflow: clip;
- cursor: pointer;
-
- > .backdrop {
- position: absolute;
- top: 0;
- left: 0;
- height: 100%;
- background: var(--accent);
- background: linear-gradient(90deg,var(--buttonGradateA),var(--buttonGradateB));
- transition: width 1s ease;
- }
-
- > span {
- position: relative;
- display: inline-block;
- padding: 3px 5px;
- background: var(--panel);
- border-radius: 3px;
+<style lang="scss" module>
+.choices {
+ display: block;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
- > i {
- margin-right: 4px;
- color: var(--accent);
- }
+.choice {
+ display: block;
+ position: relative;
+ margin: 4px 0;
+ padding: 4px;
+ //border: solid 0.5px var(--divider);
+ background: var(--accentedBg);
+ border-radius: 4px;
+ overflow: clip;
+ cursor: pointer;
+}
- > .votes {
- margin-left: 4px;
- opacity: 0.7;
- }
- }
- }
- }
+.bg {
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ background: var(--accent);
+ background: linear-gradient(90deg,var(--buttonGradateA),var(--buttonGradateB));
+ transition: width 1s ease;
+}
- > p {
- color: var(--fg);
+.fg {
+ position: relative;
+ display: inline-block;
+ padding: 3px 5px;
+ background: var(--panel);
+ border-radius: 3px;
+}
- a {
- color: inherit;
- }
- }
+.info {
+ color: var(--fg);
+}
- &.done {
- > ul > li {
- cursor: default;
- }
+.done {
+ .choice {
+ cursor: default;
}
}
</style>