summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkKeyValue.vue
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-12-27 14:36:33 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2022-12-27 14:36:33 +0900
commit9384f5399da39e53855beb8e7f8ded1aa56bf72e (patch)
treece5959571a981b9c4047da3c7b3fd080aa44222c /packages/frontend/src/components/MkKeyValue.vue
parentwip: retention for dashboard (diff)
downloadsharkey-9384f5399da39e53855beb8e7f8ded1aa56bf72e.tar.gz
sharkey-9384f5399da39e53855beb8e7f8ded1aa56bf72e.tar.bz2
sharkey-9384f5399da39e53855beb8e7f8ded1aa56bf72e.zip
rename: client -> frontend
Diffstat (limited to 'packages/frontend/src/components/MkKeyValue.vue')
-rw-r--r--packages/frontend/src/components/MkKeyValue.vue58
1 files changed, 58 insertions, 0 deletions
diff --git a/packages/frontend/src/components/MkKeyValue.vue b/packages/frontend/src/components/MkKeyValue.vue
new file mode 100644
index 0000000000..ff69c79641
--- /dev/null
+++ b/packages/frontend/src/components/MkKeyValue.vue
@@ -0,0 +1,58 @@
+<template>
+<div class="alqyeyti" :class="{ oneline }">
+ <div class="key">
+ <slot name="key"></slot>
+ </div>
+ <div class="value">
+ <slot name="value"></slot>
+ <button v-if="copy" v-tooltip="i18n.ts.copy" class="_textButton" style="margin-left: 0.5em;" @click="copy_"><i class="ti ti-copy"></i></button>
+ </div>
+</div>
+</template>
+
+<script lang="ts" setup>
+import { } from 'vue';
+import copyToClipboard from '@/scripts/copy-to-clipboard';
+import * as os from '@/os';
+import { i18n } from '@/i18n';
+
+const props = withDefaults(defineProps<{
+ copy?: string | null;
+ oneline?: boolean;
+}>(), {
+ copy: null,
+ oneline: false,
+});
+
+const copy_ = () => {
+ copyToClipboard(props.copy);
+ os.success();
+};
+</script>
+
+<style lang="scss" scoped>
+.alqyeyti {
+ > .key {
+ font-size: 0.85em;
+ padding: 0 0 0.25em 0;
+ opacity: 0.75;
+ }
+
+ &.oneline {
+ display: flex;
+
+ > .key {
+ width: 30%;
+ font-size: 1em;
+ padding: 0 8px 0 0;
+ }
+
+ > .value {
+ width: 70%;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+ }
+}
+</style>