From c179d6f7354b7814a0215cf8a83c00c9ddbc2dfa Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 9 Jan 2023 20:23:06 +0900 Subject: [PATCH 01/51] feat(client): add profile widget Resolve #7722 --- CHANGELOG.md | 1 + locales/ja-JP.yml | 1 + packages/frontend/src/widgets/index.ts | 2 + packages/frontend/src/widgets/profile.vue | 96 +++++++++++++++++++++++ 4 files changed, 100 insertions(+) create mode 100644 packages/frontend/src/widgets/profile.vue diff --git a/CHANGELOG.md b/CHANGELOG.md index 5247f5b05c..b1ac3211c6 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 e42f9babe1..bdbd6efea5 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 eba4abd2f7..0b81892419 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 0000000000..3c70be12c3 --- /dev/null +++ b/packages/frontend/src/widgets/profile.vue @@ -0,0 +1,96 @@ + + + + + From d06f61f23f29b2571fb720666fb8b616bdc52e95 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 9 Jan 2023 20:35:36 +0900 Subject: [PATCH 02/51] feat(client): add instance info widget --- CHANGELOG.md | 7 +- locales/ja-JP.yml | 1 + packages/frontend/src/widgets/index.ts | 2 + .../frontend/src/widgets/instance-info.vue | 94 +++++++++++++++++++ packages/frontend/src/widgets/profile.vue | 2 +- 5 files changed, 102 insertions(+), 4 deletions(-) create mode 100644 packages/frontend/src/widgets/instance-info.vue diff --git a/CHANGELOG.md b/CHANGELOG.md index b1ac3211c6..3c1d99d831 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -66,7 +66,6 @@ You should also include the user name that made the change. - Server: delete outdated notes of antenna regularly to improve db performance @syuilo - Server: improve activitypub deliver performance @syuilo - Client: use tabler-icons instead of fontawesome to better design @syuilo -- Client: Add AiScript App widget - Client: Add new gabber kick sounds (thanks for noizenecio) - Client: Add link to user RSS feed in profile menu @ssmucny - Client: Compress non-animated PNG files @saschanaz @@ -74,16 +73,18 @@ You should also include the user name that made the change. - Client: enhance dashboard of control panel @syuilo - Client: Vite is upgraded to v4 @syuilo, @tamaina - Client: HMR is available while yarn dev @tamaina -- Client: Make widgets of universal/classic sync between devices @tamaina - Client: Implement the button to subscribe push notification @tamaina - Client: Implement the toggle to or not to close push notifications when notifications or messages are read @tamaina -- Client: Improve RSS widget @tamaina - Client: show Unicode emoji tooltip with its name in MkReactionsViewer.reaction @saschanaz - Client: OpenSearch support @SoniEx2 @chaoticryptidz - Client: Support remote objects in search @SoniEx2 - Client: user activity page @syuilo +- Client: Make widgets of universal/classic sync between devices @tamaina - Client: add user list widget @syuilo +- Client: Add AiScript App widget - Client: add profile widget @syuilo +- Client: add instance info widget @syuilo +- Client: Improve RSS widget @tamaina - 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 bdbd6efea5..aac89d8fe4 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1336,6 +1336,7 @@ _weekday: _widgets: profile: "プロフィール" + instanceInfo: "インスタンス情報" memo: "付箋" notifications: "通知" timeline: "タイムライン" diff --git a/packages/frontend/src/widgets/index.ts b/packages/frontend/src/widgets/index.ts index 0b81892419..10b8d94234 100644 --- a/packages/frontend/src/widgets/index.ts +++ b/packages/frontend/src/widgets/index.ts @@ -2,6 +2,7 @@ import { App, defineAsyncComponent } from 'vue'; export default function(app: App) { app.component('MkwProfile', defineAsyncComponent(() => import('./profile.vue'))); + app.component('MkwInstanceInfo', defineAsyncComponent(() => import('./instance-info.vue'))); app.component('MkwMemo', defineAsyncComponent(() => import('./memo.vue'))); app.component('MkwNotifications', defineAsyncComponent(() => import('./notifications.vue'))); app.component('MkwTimeline', defineAsyncComponent(() => import('./timeline.vue'))); @@ -31,6 +32,7 @@ export default function(app: App) { export const widgets = [ 'profile', + 'instanceInfo', 'memo', 'notifications', 'timeline', diff --git a/packages/frontend/src/widgets/instance-info.vue b/packages/frontend/src/widgets/instance-info.vue new file mode 100644 index 0000000000..990802d847 --- /dev/null +++ b/packages/frontend/src/widgets/instance-info.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/packages/frontend/src/widgets/profile.vue b/packages/frontend/src/widgets/profile.vue index 3c70be12c3..c6e66c1df2 100644 --- a/packages/frontend/src/widgets/profile.vue +++ b/packages/frontend/src/widgets/profile.vue @@ -6,7 +6,7 @@
- +
From 4d39d1caf6fa733beb2b18a7d1cc73479c1571b3 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 9 Jan 2023 20:41:52 +0900 Subject: [PATCH 03/51] :art: --- .../src/components/MkReactionsViewer.vue | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/packages/frontend/src/components/MkReactionsViewer.vue b/packages/frontend/src/components/MkReactionsViewer.vue index aa4608f849..724489bf86 100644 --- a/packages/frontend/src/components/MkReactionsViewer.vue +++ b/packages/frontend/src/components/MkReactionsViewer.vue @@ -1,9 +1,7 @@ diff --git a/packages/frontend/src/components/global/MkAcct.vue b/packages/frontend/src/components/global/MkAcct.vue index c3e806b5fb..2a43ded9e1 100644 --- a/packages/frontend/src/components/global/MkAcct.vue +++ b/packages/frontend/src/components/global/MkAcct.vue @@ -1,7 +1,7 @@ @@ -18,10 +18,3 @@ defineProps<{ const host = toUnicode(hostRaw); - diff --git a/packages/frontend/src/components/global/MkAvatar.vue b/packages/frontend/src/components/global/MkAvatar.vue index 2f8e7945fc..0a42a29323 100644 --- a/packages/frontend/src/components/global/MkAvatar.vue +++ b/packages/frontend/src/components/global/MkAvatar.vue @@ -1,11 +1,11 @@ @@ -68,75 +68,77 @@ watch(() => props.user.avatarBlurhash, () => { 75% { transform: rotate(0deg) skew(-30deg); } to { transform: rotate(-37.6deg) skew(-30deg); } } + -.eiwwqkts { + From c1cd018626b200f296d0305fa0c6c32ca38a26d7 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 10 Jan 2023 05:22:47 +0900 Subject: [PATCH 07/51] tweak style --- packages/frontend/src/components/MkNote.vue | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index 54afae952c..2a697a521d 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -39,12 +39,12 @@
-
+

- +

-
+
({{ i18n.ts.private }}) @@ -478,10 +478,6 @@ function readPromo() { min-width: 0; } -.body { - container-type: inline-size; -} - .cw { cursor: default; display: block; @@ -490,16 +486,6 @@ function readPromo() { overflow-wrap: break-word; } -.cwText { - margin-right: 8px; -} - -.content { -} - -.contentIsLong { -} - .showLess { width: 100%; margin-top: 1em; From 1e50b2688a1da4b8319a6b0e96dd08e47a351333 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 10 Jan 2023 05:31:02 +0900 Subject: [PATCH 08/51] refactor --- packages/frontend/src/components/MkNotes.vue | 6 +++--- packages/frontend/src/components/MkNotifications.vue | 6 +++--- packages/frontend/src/pages/favorites.vue | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/frontend/src/components/MkNotes.vue b/packages/frontend/src/components/MkNotes.vue index 0d77597531..66bb3f261e 100644 --- a/packages/frontend/src/components/MkNotes.vue +++ b/packages/frontend/src/components/MkNotes.vue @@ -9,9 +9,9 @@ @@ -20,7 +20,7 @@ - From 194fb14e072fd2a080fd1d002b0de641a58bb0de Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 10 Jan 2023 05:45:33 +0900 Subject: [PATCH 12/51] refactor(client): use css modules --- .../frontend/src/components/MkNoteSub.vue | 112 ++++++++---------- 1 file changed, 52 insertions(+), 60 deletions(-) diff --git a/packages/frontend/src/components/MkNoteSub.vue b/packages/frontend/src/components/MkNoteSub.vue index 85d525ac9b..d5d8b9f86d 100644 --- a/packages/frontend/src/components/MkNoteSub.vue +++ b/packages/frontend/src/components/MkNoteSub.vue @@ -1,25 +1,25 @@ @@ -57,8 +57,8 @@ if (props.detail) { } - From 0b08fcac4a966e0af347c80e96bdbdb059451a26 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 10 Jan 2023 06:02:46 +0900 Subject: [PATCH 14/51] refactor(client): use css modules --- packages/frontend/src/components/MkMenu.vue | 326 ++++++++++---------- 1 file changed, 163 insertions(+), 163 deletions(-) diff --git a/packages/frontend/src/components/MkMenu.vue b/packages/frontend/src/components/MkMenu.vue index abae272e8f..a1020ef151 100644 --- a/packages/frontend/src/components/MkMenu.vue +++ b/packages/frontend/src/components/MkMenu.vue @@ -2,54 +2,54 @@
- + {{ i18n.ts.none }}
-
+
@@ -186,8 +186,8 @@ onBeforeUnmount(() => { }); - From 618405c4d39753c1a9135fd0759aff2ecb3a94b3 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 10 Jan 2023 06:08:40 +0900 Subject: [PATCH 15/51] refactor(client): rename widget filename --- .../frontend/src/components/MkWidgets.vue | 6 +-- ...lendar.vue => WidgetActivity.calendar.vue} | 0 ...ity.chart.vue => WidgetActivity.chart.vue} | 0 .../{activity.vue => WidgetActivity.vue} | 0 .../widgets/{aichan.vue => WidgetAichan.vue} | 0 .../{aiscript.vue => WidgetAiscript.vue} | 0 ...aiscript-app.vue => WidgetAiscriptApp.vue} | 0 .../widgets/{button.vue => WidgetButton.vue} | 0 .../{calendar.vue => WidgetCalendar.vue} | 0 .../{clicker.vue => WidgetClicker.vue} | 0 .../widgets/{clock.vue => WidgetClock.vue} | 0 ...gital-clock.vue => WidgetDigitalClock.vue} | 0 .../{federation.vue => WidgetFederation.vue} | 0 ...ance-cloud.vue => WidgetInstanceCloud.vue} | 0 ...stance-info.vue => WidgetInstanceInfo.vue} | 0 .../{job-queue.vue => WidgetJobQueue.vue} | 0 .../src/widgets/{memo.vue => WidgetMemo.vue} | 0 ...ifications.vue => WidgetNotifications.vue} | 0 ...online-users.vue => WidgetOnlineUsers.vue} | 0 .../widgets/{photos.vue => WidgetPhotos.vue} | 0 .../{post-form.vue => WidgetPostForm.vue} | 0 .../{profile.vue => WidgetProfile.vue} | 0 .../src/widgets/{rss.vue => WidgetRss.vue} | 0 .../{rss-ticker.vue => WidgetRssTicker.vue} | 0 .../{slideshow.vue => WidgetSlideshow.vue} | 0 .../{timeline.vue => WidgetTimeline.vue} | 0 .../widgets/{trends.vue => WidgetTrends.vue} | 0 .../{unix-clock.vue => WidgetUnixClock.vue} | 0 .../{user-list.vue => WidgetUserList.vue} | 0 packages/frontend/src/widgets/index.ts | 54 +++++++++---------- 30 files changed, 30 insertions(+), 30 deletions(-) rename packages/frontend/src/widgets/{activity.calendar.vue => WidgetActivity.calendar.vue} (100%) rename packages/frontend/src/widgets/{activity.chart.vue => WidgetActivity.chart.vue} (100%) rename packages/frontend/src/widgets/{activity.vue => WidgetActivity.vue} (100%) rename packages/frontend/src/widgets/{aichan.vue => WidgetAichan.vue} (100%) rename packages/frontend/src/widgets/{aiscript.vue => WidgetAiscript.vue} (100%) rename packages/frontend/src/widgets/{aiscript-app.vue => WidgetAiscriptApp.vue} (100%) rename packages/frontend/src/widgets/{button.vue => WidgetButton.vue} (100%) rename packages/frontend/src/widgets/{calendar.vue => WidgetCalendar.vue} (100%) rename packages/frontend/src/widgets/{clicker.vue => WidgetClicker.vue} (100%) rename packages/frontend/src/widgets/{clock.vue => WidgetClock.vue} (100%) rename packages/frontend/src/widgets/{digital-clock.vue => WidgetDigitalClock.vue} (100%) rename packages/frontend/src/widgets/{federation.vue => WidgetFederation.vue} (100%) rename packages/frontend/src/widgets/{instance-cloud.vue => WidgetInstanceCloud.vue} (100%) rename packages/frontend/src/widgets/{instance-info.vue => WidgetInstanceInfo.vue} (100%) rename packages/frontend/src/widgets/{job-queue.vue => WidgetJobQueue.vue} (100%) rename packages/frontend/src/widgets/{memo.vue => WidgetMemo.vue} (100%) rename packages/frontend/src/widgets/{notifications.vue => WidgetNotifications.vue} (100%) rename packages/frontend/src/widgets/{online-users.vue => WidgetOnlineUsers.vue} (100%) rename packages/frontend/src/widgets/{photos.vue => WidgetPhotos.vue} (100%) rename packages/frontend/src/widgets/{post-form.vue => WidgetPostForm.vue} (100%) rename packages/frontend/src/widgets/{profile.vue => WidgetProfile.vue} (100%) rename packages/frontend/src/widgets/{rss.vue => WidgetRss.vue} (100%) rename packages/frontend/src/widgets/{rss-ticker.vue => WidgetRssTicker.vue} (100%) rename packages/frontend/src/widgets/{slideshow.vue => WidgetSlideshow.vue} (100%) rename packages/frontend/src/widgets/{timeline.vue => WidgetTimeline.vue} (100%) rename packages/frontend/src/widgets/{trends.vue => WidgetTrends.vue} (100%) rename packages/frontend/src/widgets/{unix-clock.vue => WidgetUnixClock.vue} (100%) rename packages/frontend/src/widgets/{user-list.vue => WidgetUserList.vue} (100%) diff --git a/packages/frontend/src/components/MkWidgets.vue b/packages/frontend/src/components/MkWidgets.vue index 21ebbf37b5..e3e4484405 100644 --- a/packages/frontend/src/components/MkWidgets.vue +++ b/packages/frontend/src/components/MkWidgets.vue @@ -15,21 +15,21 @@ handle=".handle" :animation="150" :group="{ name: 'SortableMkWidgets' }" - @update:model-value="v => emit('updateWidgets', v)" :class="$style['edit-editing']" + @update:model-value="v => emit('updateWidgets', v)" > - +
- From e4179336e4a5113f4fbd1498068f08246098250b Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 10 Jan 2023 09:53:01 +0900 Subject: [PATCH 21/51] refactor(client): use css modules --- packages/frontend/src/ui/deck/column.vue | 166 ++++++++++------------- 1 file changed, 74 insertions(+), 92 deletions(-) diff --git a/packages/frontend/src/ui/deck/column.vue b/packages/frontend/src/ui/deck/column.vue index cb945aa14b..62c2ab3968 100644 --- a/packages/frontend/src/ui/deck/column.vue +++ b/packages/frontend/src/ui/deck/column.vue @@ -1,31 +1,28 @@