summaryrefslogtreecommitdiff
path: root/packages/client/src/components
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-01-04 23:37:26 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2022-01-04 23:37:26 +0900
commit5e4877b8a4edaa89d2550e7c03c861536762ea7a (patch)
treead903b14df2aede8f7c9ee59d664a1933d67b059 /packages/client/src/components
parenttweak ui (diff)
downloadmisskey-5e4877b8a4edaa89d2550e7c03c861536762ea7a.tar.gz
misskey-5e4877b8a4edaa89d2550e7c03c861536762ea7a.tar.bz2
misskey-5e4877b8a4edaa89d2550e7c03c861536762ea7a.zip
tweak ui
Diffstat (limited to 'packages/client/src/components')
-rw-r--r--packages/client/src/components/object-view.value.vue108
-rw-r--r--packages/client/src/components/object-view.vue8
2 files changed, 114 insertions, 2 deletions
diff --git a/packages/client/src/components/object-view.value.vue b/packages/client/src/components/object-view.value.vue
new file mode 100644
index 0000000000..6f388636dd
--- /dev/null
+++ b/packages/client/src/components/object-view.value.vue
@@ -0,0 +1,108 @@
+<template>
+<div class="igpposuu _monospace">
+ <div v-if="value === null" class="null">null</div>
+ <div v-else-if="typeof value === 'boolean'" class="boolean">{{ value ? 'true' : 'false' }}</div>
+ <div v-else-if="typeof value === 'string'" class="string">"{{ value }}"</div>
+ <div v-else-if="typeof value === 'number'" class="number">{{ number(value) }}</div>
+ <div v-else-if="Array.isArray(value)" class="array">
+ <button @click="collapsed_ = !collapsed_">[ {{ collapsed_ ? '+' : '-' }} ]</button>
+ <template v-if="!collapsed_">
+ <div v-for="i in value.length" class="element">
+ {{ i }}: <XValue :value="value[i - 1]" collapsed/>
+ </div>
+ </template>
+ </div>
+ <div v-else-if="typeof value === 'object'" class="object">
+ <button @click="collapsed_ = !collapsed_">{ {{ collapsed_ ? '+' : '-' }} }</button>
+ <template v-if="!collapsed_">
+ <div v-for="k in Object.keys(value)" class="kv">
+ <div class="k">{{ k }}:</div>
+ <div class="v"><XValue :value="value[k]" collapsed/></div>
+ </div>
+ </template>
+ </div>
+</div>
+</template>
+
+<script lang="ts">
+import { computed, defineComponent, ref } from 'vue';
+import number from '@/filters/number';
+
+export default defineComponent({
+ name: 'XValue',
+
+ props: {
+ value: {
+ type: Object,
+ required: true,
+ },
+ collapsed: {
+ type: Boolean,
+ required: false,
+ default: false,
+ },
+ },
+
+ setup(props) {
+ const collapsed_ = ref(props.collapsed);
+
+ return {
+ number,
+ collapsed_,
+ };
+ }
+});
+</script>
+
+<style lang="scss" scoped>
+.igpposuu {
+ display: inline;
+
+ > .null {
+ display: inline;
+ opacity: 0.7;
+ }
+
+ > .boolean {
+ display: inline;
+ color: var(--codeBoolean);
+ }
+
+ > .string {
+ display: inline;
+ color: var(--codeString);
+ }
+
+ > .number {
+ display: inline;
+ color: var(--codeNumber);
+ }
+
+ > .array {
+ display: inline;
+
+ > .element {
+ display: block;
+ padding-left: 16px;
+ }
+ }
+
+ > .object {
+ display: inline;
+
+ > .kv {
+ display: block;
+ padding-left: 16px;
+
+ > .k {
+ display: inline;
+ margin-right: 8px;
+ }
+
+ > .v {
+ display: inline;
+ }
+ }
+ }
+}
+</style>
diff --git a/packages/client/src/components/object-view.vue b/packages/client/src/components/object-view.vue
index 4334917e6b..e9db96de8c 100644
--- a/packages/client/src/components/object-view.vue
+++ b/packages/client/src/components/object-view.vue
@@ -1,14 +1,18 @@
<template>
<div class="zhyxdalp">
-
+ <XValue :value="value" :collapsed="false"/>
</div>
</template>
<script lang="ts">
import { computed, defineComponent } from 'vue';
-import number from '@/filters/number';
+import XValue from './object-view.value.vue';
export default defineComponent({
+ components: {
+ XValue
+ },
+
props: {
value: {
type: Object,