mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-11-26 03:43:09 +02:00
64 lines
1.6 KiB
Vue
64 lines
1.6 KiB
Vue
<!--
|
|
SPDX-FileCopyrightText: syuilo and other misskey contributors
|
|
SPDX-License-Identifier: AGPL-3.0-only
|
|
-->
|
|
|
|
<template>
|
|
<MkContainer>
|
|
<template #icon><i class="ph-chart-line ph-bold pg-lg"></i></template>
|
|
<template #header>{{ i18n.ts.activity }}</template>
|
|
<template #func="{ buttonStyleClass }">
|
|
<button class="_button" :class="buttonStyleClass" @click="showMenu">
|
|
<i class="ph-dots-three ph-bold ph-lg"></i>
|
|
</button>
|
|
</template>
|
|
|
|
<div style="padding: 8px;">
|
|
<MkChart :src="chartSrc" :args="{ user, withoutAll: true }" span="day" :limit="limit" :bar="true" :stacked="true" :detailed="false" :aspectRatio="5"/>
|
|
</div>
|
|
</MkContainer>
|
|
</template>
|
|
|
|
<script lang="ts" setup>
|
|
import { } from 'vue';
|
|
import * as Misskey from 'misskey-js';
|
|
import MkContainer from '@/components/MkContainer.vue';
|
|
import MkChart from '@/components/MkChart.vue';
|
|
import * as os from '@/os.js';
|
|
import { i18n } from '@/i18n.js';
|
|
|
|
const props = withDefaults(defineProps<{
|
|
user: Misskey.entities.User;
|
|
limit?: number;
|
|
}>(), {
|
|
limit: 50,
|
|
});
|
|
|
|
let chartSrc = $ref('per-user-notes');
|
|
|
|
function showMenu(ev: MouseEvent) {
|
|
os.popupMenu([{
|
|
text: i18n.ts.notes,
|
|
active: chartSrc === 'per-user-notes',
|
|
action: () => {
|
|
chartSrc = 'per-user-notes';
|
|
},
|
|
}, {
|
|
text: i18n.ts.numberOfProfileView,
|
|
active: chartSrc === 'per-user-pv',
|
|
action: () => {
|
|
chartSrc = 'per-user-pv';
|
|
},
|
|
}, /*, {
|
|
text: i18n.ts.following,
|
|
action: () => {
|
|
chartSrc = 'per-user-following';
|
|
}
|
|
}, {
|
|
text: i18n.ts.followers,
|
|
action: () => {
|
|
chartSrc = 'per-user-followers';
|
|
}
|
|
}*/], ev.currentTarget ?? ev.target);
|
|
}
|
|
</script>
|