summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkVisibilityPicker.vue
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-01-15 11:22:58 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-01-15 11:22:58 +0900
commitdaddec8362d4e37c5681ecd3043a1ee3511570d6 (patch)
tree164f646c5fa5bde61735372d6df0004672e3a86a /packages/frontend/src/components/MkVisibilityPicker.vue
parent13.0.0-rc.7 (diff)
downloadmisskey-daddec8362d4e37c5681ecd3043a1ee3511570d6.tar.gz
misskey-daddec8362d4e37c5681ecd3043a1ee3511570d6.tar.bz2
misskey-daddec8362d4e37c5681ecd3043a1ee3511570d6.zip
refactor(client): use css modules
Diffstat (limited to 'packages/frontend/src/components/MkVisibilityPicker.vue')
-rw-r--r--packages/frontend/src/components/MkVisibilityPicker.vue182
1 files changed, 91 insertions, 91 deletions
diff --git a/packages/frontend/src/components/MkVisibilityPicker.vue b/packages/frontend/src/components/MkVisibilityPicker.vue
index b05590e5ee..516b88c13d 100644
--- a/packages/frontend/src/components/MkVisibilityPicker.vue
+++ b/packages/frontend/src/components/MkVisibilityPicker.vue
@@ -1,42 +1,42 @@
<template>
<MkModal ref="modal" :z-priority="'high'" :src="src" @click="modal.close()" @closed="emit('closed')">
- <div class="gqyayizv _popup">
- <button key="public" class="_button item" :class="{ active: v === 'public' }" data-index="1" @click="choose('public')">
- <div class="icon"><i class="ti ti-world"></i></div>
- <div class="body">
- <span>{{ i18n.ts._visibility.public }}</span>
- <span>{{ i18n.ts._visibility.publicDescription }}</span>
+ <div class="_popup" :class="$style.root">
+ <button key="public" class="_button" :class="[$style.item, { [$style.active]: v === 'public' }]" data-index="1" @click="choose('public')">
+ <div :class="$style.icon"><i class="ti ti-world"></i></div>
+ <div :class="$style.body">
+ <span :class="$style.itemTitle">{{ i18n.ts._visibility.public }}</span>
+ <span :class="$style.itemDescription">{{ i18n.ts._visibility.publicDescription }}</span>
</div>
</button>
- <button key="home" class="_button item" :class="{ active: v === 'home' }" data-index="2" @click="choose('home')">
- <div class="icon"><i class="ti ti-home"></i></div>
- <div class="body">
- <span>{{ i18n.ts._visibility.home }}</span>
- <span>{{ i18n.ts._visibility.homeDescription }}</span>
+ <button key="home" class="_button" :class="[$style.item, { [$style.active]: v === 'home' }]" data-index="2" @click="choose('home')">
+ <div :class="$style.icon"><i class="ti ti-home"></i></div>
+ <div :class="$style.body">
+ <span :class="$style.itemTitle">{{ i18n.ts._visibility.home }}</span>
+ <span :class="$style.itemDescription">{{ i18n.ts._visibility.homeDescription }}</span>
</div>
</button>
- <button key="followers" class="_button item" :class="{ active: v === 'followers' }" data-index="3" @click="choose('followers')">
- <div class="icon"><i class="ti ti-lock"></i></div>
- <div class="body">
- <span>{{ i18n.ts._visibility.followers }}</span>
- <span>{{ i18n.ts._visibility.followersDescription }}</span>
+ <button key="followers" class="_button" :class="[$style.item, { [$style.active]: v === 'followers' }]" data-index="3" @click="choose('followers')">
+ <div :class="$style.icon"><i class="ti ti-lock"></i></div>
+ <div :class="$style.body">
+ <span :class="$style.itemTitle">{{ i18n.ts._visibility.followers }}</span>
+ <span :class="$style.itemDescription">{{ i18n.ts._visibility.followersDescription }}</span>
</div>
</button>
- <button key="specified" :disabled="localOnly" class="_button item" :class="{ active: v === 'specified' }" data-index="4" @click="choose('specified')">
- <div class="icon"><i class="ti ti-mail"></i></div>
- <div class="body">
- <span>{{ i18n.ts._visibility.specified }}</span>
- <span>{{ i18n.ts._visibility.specifiedDescription }}</span>
+ <button key="specified" :disabled="localOnly" class="_button" :class="[$style.item, { [$style.active]: v === 'specified' }]" data-index="4" @click="choose('specified')">
+ <div :class="$style.icon"><i class="ti ti-mail"></i></div>
+ <div :class="$style.body">
+ <span :class="$style.itemTitle">{{ i18n.ts._visibility.specified }}</span>
+ <span :class="$style.itemDescription">{{ i18n.ts._visibility.specifiedDescription }}</span>
</div>
</button>
- <div class="divider"></div>
- <button key="localOnly" class="_button item localOnly" :class="{ active: localOnly }" data-index="5" @click="localOnly = !localOnly">
- <div class="icon"><i class="ti ti-world-off"></i></div>
- <div class="body">
- <span>{{ i18n.ts._visibility.localOnly }}</span>
- <span>{{ i18n.ts._visibility.localOnlyDescription }}</span>
+ <div :class="$style.divider"></div>
+ <button key="localOnly" class="_button" :class="[$style.item, $style.localOnly, { [$style.active]: localOnly }]" data-index="5" @click="localOnly = !localOnly">
+ <div :class="$style.icon"><i class="ti ti-world-off"></i></div>
+ <div :class="$style.body">
+ <span :class="$style.itemTitle">{{ i18n.ts._visibility.localOnly }}</span>
+ <span :class="$style.itemDescription">{{ i18n.ts._visibility.localOnlyDescription }}</span>
</div>
- <div class="toggle"><i :class="localOnly ? 'ti ti-toggle-right' : 'ti ti-toggle-left'"></i></div>
+ <div :class="$style.toggle"><i :class="localOnly ? 'ti ti-toggle-right' : 'ti ti-toggle-left'"></i></div>
</button>
</div>
</MkModal>
@@ -79,81 +79,81 @@ function choose(visibility: typeof misskey.noteVisibilities[number]): void {
}
</script>
-<style lang="scss" scoped>
-.gqyayizv {
+<style lang="scss" module>
+.root {
width: 240px;
padding: 8px 0;
+}
- > .divider {
- margin: 8px 0;
- border-top: solid 0.5px var(--divider);
- }
+.divider {
+ margin: 8px 0;
+ border-top: solid 0.5px var(--divider);
+}
- > .item {
- display: flex;
- padding: 8px 14px;
- font-size: 12px;
- text-align: left;
- width: 100%;
- box-sizing: border-box;
+.item {
+ display: flex;
+ padding: 8px 14px;
+ font-size: 12px;
+ text-align: left;
+ width: 100%;
+ box-sizing: border-box;
- &:hover {
- background: rgba(0, 0, 0, 0.05);
- }
+ &:hover {
+ background: rgba(0, 0, 0, 0.05);
+ }
- &:active {
- background: rgba(0, 0, 0, 0.1);
- }
+ &:active {
+ background: rgba(0, 0, 0, 0.1);
+ }
- &.active {
- color: var(--fgOnAccent);
- background: var(--accent);
- }
+ &.active {
+ color: var(--fgOnAccent);
+ background: var(--accent);
+ }
- &.localOnly.active {
- color: var(--accent);
- background: inherit;
- }
+ &.localOnly.active {
+ color: var(--accent);
+ background: inherit;
+ }
+}
- > .icon {
- display: flex;
- justify-content: center;
- align-items: center;
- margin-right: 10px;
- width: 16px;
- top: 0;
- bottom: 0;
- margin-top: auto;
- margin-bottom: auto;
- }
+.icon {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-right: 10px;
+ width: 16px;
+ top: 0;
+ bottom: 0;
+ margin-top: auto;
+ margin-bottom: auto;
+}
- > .body {
- flex: 1 1 auto;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
+.body {
+ flex: 1 1 auto;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
- > span:first-child {
- display: block;
- font-weight: bold;
- }
+.itemTitle {
+ display: block;
+ font-weight: bold;
+}
- > span:last-child:not(:first-child) {
- opacity: 0.6;
- }
- }
+.itemDescription {
+ opacity: 0.6;
+}
- > .toggle {
- display: flex;
- justify-content: center;
- align-items: center;
- margin-left: 10px;
- width: 16px;
- top: 0;
- bottom: 0;
- margin-top: auto;
- margin-bottom: auto;
- }
- }
+.toggle {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-left: 10px;
+ width: 16px;
+ top: 0;
+ bottom: 0;
+ margin-top: auto;
+ margin-bottom: auto;
}
</style>