diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2023-01-15 11:22:58 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2023-01-15 11:22:58 +0900 |
| commit | daddec8362d4e37c5681ecd3043a1ee3511570d6 (patch) | |
| tree | 164f646c5fa5bde61735372d6df0004672e3a86a /packages/frontend/src/components/MkVisibilityPicker.vue | |
| parent | 13.0.0-rc.7 (diff) | |
| download | misskey-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.vue | 182 |
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> |