diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5247f5b05..b1ac3211c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -83,6 +83,7 @@ You should also include the user name that made the change.
- Client: Support remote objects in search @SoniEx2
- Client: user activity page @syuilo
- Client: add user list widget @syuilo
+- Client: add profile widget @syuilo
- Client: add heatmap of daily active users to about page @syuilo
- Client: introduce fluent emoji @syuilo
- Client: add new theme @syuilo
diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml
index e42f9babe..bdbd6efea 100644
--- a/locales/ja-JP.yml
+++ b/locales/ja-JP.yml
@@ -1335,6 +1335,7 @@ _weekday:
saturday: "土曜日"
_widgets:
+ profile: "プロフィール"
memo: "付箋"
notifications: "通知"
timeline: "タイムライン"
diff --git a/packages/frontend/src/widgets/index.ts b/packages/frontend/src/widgets/index.ts
index eba4abd2f..0b8189241 100644
--- a/packages/frontend/src/widgets/index.ts
+++ b/packages/frontend/src/widgets/index.ts
@@ -1,6 +1,7 @@
import { App, defineAsyncComponent } from 'vue';
export default function(app: App) {
+ app.component('MkwProfile', defineAsyncComponent(() => import('./profile.vue')));
app.component('MkwMemo', defineAsyncComponent(() => import('./memo.vue')));
app.component('MkwNotifications', defineAsyncComponent(() => import('./notifications.vue')));
app.component('MkwTimeline', defineAsyncComponent(() => import('./timeline.vue')));
@@ -29,6 +30,7 @@ export default function(app: App) {
}
export const widgets = [
+ 'profile',
'memo',
'notifications',
'timeline',
diff --git a/packages/frontend/src/widgets/profile.vue b/packages/frontend/src/widgets/profile.vue
new file mode 100644
index 000000000..3c70be12c
--- /dev/null
+++ b/packages/frontend/src/widgets/profile.vue
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+