summaryrefslogtreecommitdiff
path: root/packages/frontend/src/widgets/WidgetRss.vue
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/widgets/WidgetRss.vue')
-rw-r--r--packages/frontend/src/widgets/WidgetRss.vue11
1 files changed, 8 insertions, 3 deletions
diff --git a/packages/frontend/src/widgets/WidgetRss.vue b/packages/frontend/src/widgets/WidgetRss.vue
index e5499aa0da..2495c5a6e9 100644
--- a/packages/frontend/src/widgets/WidgetRss.vue
+++ b/packages/frontend/src/widgets/WidgetRss.vue
@@ -25,28 +25,33 @@ import * as Misskey from 'misskey-js';
import { url as base } from '@@/js/config.js';
import { useInterval } from '@@/js/use-interval.js';
import { useWidgetPropsManager } from './widget.js';
+import { i18n } from '@/i18n.js';
import type { WidgetComponentEmits, WidgetComponentExpose, WidgetComponentProps } from './widget.js';
import type { FormWithDefault, GetFormResultType } from '@/utility/form.js';
import MkContainer from '@/components/MkContainer.vue';
-import { i18n } from '@/i18n.js';
const name = 'rss';
const widgetPropsDef = {
url: {
type: 'string',
+ label: i18n.ts._widgetOptions._rss.url,
default: 'http://feeds.afpbb.com/rss/afpbb/afpbbnews',
+ manualSave: true,
},
refreshIntervalSec: {
type: 'number',
+ label: i18n.ts._widgetOptions._rss.refreshIntervalSec,
default: 60,
},
maxEntries: {
type: 'number',
+ label: i18n.ts._widgetOptions._rss.maxEntries,
default: 15,
},
showHeader: {
type: 'boolean',
+ label: i18n.ts._widgetOptions.showHeader,
default: true,
},
} satisfies FormWithDefault;
@@ -68,7 +73,7 @@ const fetching = ref(true);
const fetchEndpoint = computed(() => {
const url = new URL('/api/fetch-rss', base);
url.searchParams.set('url', widgetProps.url);
- return url;
+ return url.toString();
});
const intervalClear = ref<(() => void) | undefined>();
@@ -83,7 +88,7 @@ const tick = () => {
});
};
-watch(() => fetchEndpoint, tick);
+watch(fetchEndpoint, tick);
watch(() => widgetProps.refreshIntervalSec, () => {
if (intervalClear.value) {
intervalClear.value();