diff --git a/CHANGELOG.md b/CHANGELOG.md
index 063ebf5251..405c92bb3a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -17,6 +17,7 @@ You should also include the user name that made the change.
- Client: Improve control panel @syuilo
- Client: Show warning in control panel when there is an unresolved abuse report @syuilo
- Client: Add instance-cloud widget @syuilo
+- Client: Add rss-marquee widget @syuilo
- Make possible to delete an account by admin @syuilo
- Improve player detection in URL preview @mei23
- Add Badge Image to Push Notification #8012 @tamaina
diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml
index 7436407258..1f52c2c259 100644
--- a/locales/ja-JP.yml
+++ b/locales/ja-JP.yml
@@ -1246,6 +1246,7 @@ _widgets:
trends: "トレンド"
clock: "時計"
rss: "RSSリーダー"
+ rssMarquee: "RSSリーダー(マーキー)"
activity: "アクティビティ"
photos: "フォト"
digitalClock: "デジタル時計"
diff --git a/packages/client/package.json b/packages/client/package.json
index 56467fc842..54ee7dee53 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -76,6 +76,7 @@
"vanilla-tilt": "1.7.2",
"vite": "3.0.0-beta.5",
"vue": "3.2.37",
+ "vue-marquee-text-component": "2.0.1",
"vue-prism-editor": "2.0.0-alpha.2",
"vuedraggable": "4.0.1",
"websocket": "1.0.34",
diff --git a/packages/client/src/widgets/index.ts b/packages/client/src/widgets/index.ts
index feda16c91d..ed65f52913 100644
--- a/packages/client/src/widgets/index.ts
+++ b/packages/client/src/widgets/index.ts
@@ -6,6 +6,7 @@ export default function(app: App) {
app.component('MkwTimeline', defineAsyncComponent(() => import('./timeline.vue')));
app.component('MkwCalendar', defineAsyncComponent(() => import('./calendar.vue')));
app.component('MkwRss', defineAsyncComponent(() => import('./rss.vue')));
+ app.component('MkwRssMarquee', defineAsyncComponent(() => import('./rss-marquee.vue')));
app.component('MkwTrends', defineAsyncComponent(() => import('./trends.vue')));
app.component('MkwClock', defineAsyncComponent(() => import('./clock.vue')));
app.component('MkwActivity', defineAsyncComponent(() => import('./activity.vue')));
@@ -29,13 +30,14 @@ export const widgets = [
'timeline',
'calendar',
'rss',
+ 'rssMarquee',
'trends',
'clock',
'activity',
'photos',
'digitalClock',
'federation',
- 'instance-cloud',
+ 'instanceCloud',
'postForm',
'slideshow',
'serverMetric',
diff --git a/packages/client/src/widgets/rss-marquee.vue b/packages/client/src/widgets/rss-marquee.vue
new file mode 100644
index 0000000000..e23f916d3a
--- /dev/null
+++ b/packages/client/src/widgets/rss-marquee.vue
@@ -0,0 +1,115 @@
+
+