summaryrefslogtreecommitdiff
path: root/packages/client/src/widgets/trends.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/client/src/widgets/trends.vue
parentwip: retention for dashboard (diff)
downloadmisskey-9384f5399da39e53855beb8e7f8ded1aa56bf72e.tar.gz
misskey-9384f5399da39e53855beb8e7f8ded1aa56bf72e.tar.bz2
misskey-9384f5399da39e53855beb8e7f8ded1aa56bf72e.zip
rename: client -> frontend
Diffstat (limited to 'packages/client/src/widgets/trends.vue')
-rw-r--r--packages/client/src/widgets/trends.vue120
1 files changed, 0 insertions, 120 deletions
diff --git a/packages/client/src/widgets/trends.vue b/packages/client/src/widgets/trends.vue
deleted file mode 100644
index 02eec0431e..0000000000
--- a/packages/client/src/widgets/trends.vue
+++ /dev/null
@@ -1,120 +0,0 @@
-<template>
-<MkContainer :show-header="widgetProps.showHeader" class="mkw-trends">
- <template #header><i class="ti ti-hash"></i>{{ i18n.ts._widgets.trends }}</template>
-
- <div class="wbrkwala">
- <MkLoading v-if="fetching"/>
- <transition-group v-else tag="div" :name="$store.state.animation ? 'chart' : ''" class="tags">
- <div v-for="stat in stats" :key="stat.tag">
- <div class="tag">
- <MkA class="a" :to="`/tags/${ encodeURIComponent(stat.tag) }`" :title="stat.tag">#{{ stat.tag }}</MkA>
- <p>{{ $t('nUsersMentioned', { n: stat.usersCount }) }}</p>
- </div>
- <MkMiniChart class="chart" :src="stat.chart"/>
- </div>
- </transition-group>
- </div>
-</MkContainer>
-</template>
-
-<script lang="ts" setup>
-import { onMounted, onUnmounted, ref } from 'vue';
-import { useWidgetPropsManager, Widget, WidgetComponentEmits, WidgetComponentExpose, WidgetComponentProps } from './widget';
-import { GetFormResultType } from '@/scripts/form';
-import MkContainer from '@/components/MkContainer.vue';
-import MkMiniChart from '@/components/MkMiniChart.vue';
-import * as os from '@/os';
-import { useInterval } from '@/scripts/use-interval';
-import { i18n } from '@/i18n';
-
-const name = 'hashtags';
-
-const widgetPropsDef = {
- showHeader: {
- type: 'boolean' as const,
- default: true,
- },
-};
-
-type WidgetProps = GetFormResultType<typeof widgetPropsDef>;
-
-// 現時点ではvueの制限によりimportしたtypeをジェネリックに渡せない
-//const props = defineProps<WidgetComponentProps<WidgetProps>>();
-//const emit = defineEmits<WidgetComponentEmits<WidgetProps>>();
-const props = defineProps<{ widget?: Widget<WidgetProps>; }>();
-const emit = defineEmits<{ (ev: 'updateProps', props: WidgetProps); }>();
-
-const { widgetProps, configure } = useWidgetPropsManager(name,
- widgetPropsDef,
- props,
- emit,
-);
-
-const stats = ref([]);
-const fetching = ref(true);
-
-const fetch = () => {
- os.api('hashtags/trend').then(res => {
- stats.value = res;
- fetching.value = false;
- });
-};
-
-useInterval(fetch, 1000 * 60, {
- immediate: true,
- afterMounted: true,
-});
-
-defineExpose<WidgetComponentExpose>({
- name,
- configure,
- id: props.widget ? props.widget.id : null,
-});
-</script>
-
-<style lang="scss" scoped>
-.wbrkwala {
- height: (62px + 1px) + (62px + 1px) + (62px + 1px) + (62px + 1px) + 62px;
- overflow: hidden;
-
- > .tags {
- .chart-move {
- transition: transform 1s ease;
- }
-
- > div {
- display: flex;
- align-items: center;
- padding: 14px 16px;
- border-bottom: solid 0.5px var(--divider);
-
- > .tag {
- flex: 1;
- overflow: hidden;
- font-size: 0.9em;
- color: var(--fg);
-
- > .a {
- display: block;
- width: 100%;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- line-height: 18px;
- }
-
- > p {
- margin: 0;
- font-size: 75%;
- opacity: 0.7;
- line-height: 16px;
- }
- }
-
- > .chart {
- height: 30px;
- }
- }
- }
-}
-</style>