summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-12-28 18:22:46 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2022-12-28 18:22:46 +0900
commit6e6d9f3029dffeba71a7498467edcf8795f33832 (patch)
treee734edee6c03f07a3b8b1dc8cc5edf1307b8d5f9 /packages/frontend/src/components
parent:art: (diff)
downloadsharkey-6e6d9f3029dffeba71a7498467edcf8795f33832.tar.gz
sharkey-6e6d9f3029dffeba71a7498467edcf8795f33832.tar.bz2
sharkey-6e6d9f3029dffeba71a7498467edcf8795f33832.zip
:art:
Diffstat (limited to 'packages/frontend/src/components')
-rw-r--r--packages/frontend/src/components/MkButton.vue10
-rw-r--r--packages/frontend/src/components/MkUrlPreview.vue33
2 files changed, 27 insertions, 16 deletions
diff --git a/packages/frontend/src/components/MkButton.vue b/packages/frontend/src/components/MkButton.vue
index 891645bb2a..20bce2104b 100644
--- a/packages/frontend/src/components/MkButton.vue
+++ b/packages/frontend/src/components/MkButton.vue
@@ -2,7 +2,7 @@
<button
v-if="!link"
ref="el" class="bghgjjyj _button"
- :class="{ inline, primary, gradate, danger, rounded, full }"
+ :class="{ inline, primary, gradate, danger, rounded, full, small }"
:type="type"
@click="emit('click', $event)"
@mousedown="onMousedown"
@@ -14,7 +14,7 @@
</button>
<MkA
v-else class="bghgjjyj _button"
- :class="{ inline, primary, gradate, danger, rounded, full }"
+ :class="{ inline, primary, gradate, danger, rounded, full, small }"
:to="to"
@mousedown="onMousedown"
>
@@ -40,6 +40,7 @@ const props = defineProps<{
wait?: boolean;
danger?: boolean;
full?: boolean;
+ small?: boolean;
}>();
const emit = defineEmits<{
@@ -125,6 +126,11 @@ function onMousedown(evt: MouseEvent): void {
background: var(--buttonHoverBg);
}
+ &.small {
+ font-size: 90%;
+ padding: 6px 12px;
+ }
+
&.full {
width: 100%;
}
diff --git a/packages/frontend/src/components/MkUrlPreview.vue b/packages/frontend/src/components/MkUrlPreview.vue
index 4635537f9a..eb96b729b8 100644
--- a/packages/frontend/src/components/MkUrlPreview.vue
+++ b/packages/frontend/src/components/MkUrlPreview.vue
@@ -10,7 +10,6 @@
<transition :name="$store.state.animation ? 'zoom' : ''" mode="out-in">
<component :is="self ? 'MkA' : 'a'" v-if="!fetching" class="link" :class="{ compact }" :[attr]="self ? url.substr(local.length) : url" rel="nofollow noopener" :target="target" :title="url">
<div v-if="thumbnail" class="thumbnail" :style="`background-image: url('${thumbnail}')`">
- <button v-if="!playerEnabled && player.url" class="_button" :title="i18n.ts.enablePlayer" @click.prevent="isMobile? playerEnabled = true : openPlayer()"><i class="ti ti-player-play"></i></button>
</div>
<article>
<header>
@@ -24,10 +23,18 @@
</article>
</component>
</transition>
- <div v-if="tweetId" class="expandTweet">
- <a @click="tweetExpanded = true">
+ <div v-if="tweetId" class="action">
+ <MkButton :small="true" inline @click="tweetExpanded = true">
<i class="ti ti-brand-twitter"></i> {{ i18n.ts.expandTweet }}
- </a>
+ </MkButton>
+ </div>
+ <div v-if="!playerEnabled && player.url" class="action">
+ <MkButton :small="true" inline @click="playerEnabled = true">
+ <i class="ti ti-player-play"></i> {{ i18n.ts.enablePlayer }}
+ </MkButton>
+ <MkButton v-if="!isMobile" :small="true" inline @click="openPlayer()">
+ <i class="ti ti-picture-in-picture"></i> {{ i18n.ts.openInWindow }}
+ </MkButton>
</div>
</div>
</template>
@@ -38,6 +45,7 @@ import { url as local, lang } from '@/config';
import { i18n } from '@/i18n';
import * as os from '@/os';
import { deviceKind } from '@/scripts/device-kind';
+import MkButton from '@/components/MkButton.vue';
const props = withDefaults(defineProps<{
url: string;
@@ -181,16 +189,6 @@ onUnmounted(() => {
justify-content: center;
align-items: center;
- > button {
- font-size: 3.5em;
- opacity: 0.7;
-
- &:hover {
- font-size: 4em;
- opacity: 0.9;
- }
- }
-
& + article {
left: 100px;
width: calc(100% - 100px);
@@ -249,6 +247,13 @@ onUnmounted(() => {
}
}
}
+
+ > .action {
+ display: flex;
+ gap: 6px;
+ flex-wrap: wrap;
+ margin-top: 6px;
+ }
}
@container (max-width: 400px) {