From b3a5fdb1e0832ea10474a65c56a1e3c8bfa68f94 Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Sun, 6 Nov 2022 17:33:52 -0800 Subject: [PATCH] feat: :lipstick: Phosphor icons! --- CALCKEY.md | 1 + gulpfile.js | 6 +- package.json | 3 +- .../backend/src/server/web/views/base.pug | 2 +- packages/client/src/account.ts | 4 +- .../src/components/MkAbuseReportWindow.vue | 2 +- .../src/components/MkChannelFollowButton.vue | 6 +- .../src/components/MkChannelPreview.vue | 6 +- .../client/src/components/MkContainer.vue | 4 +- .../src/components/MkDateSeparatedList.vue | 4 +- packages/client/src/components/MkDialog.vue | 14 ++-- .../client/src/components/MkDrive.file.vue | 12 +-- .../client/src/components/MkDrive.folder.vue | 10 +-- .../src/components/MkDrive.navFolder.vue | 2 +- packages/client/src/components/MkDrive.vue | 16 ++-- .../src/components/MkDriveFileThumbnail.vue | 20 ++--- .../src/components/MkEmojiPicker.section.vue | 2 +- .../client/src/components/MkEmojiPicker.vue | 10 +-- .../client/src/components/MkFileTypeIcon.vue | 2 +- packages/client/src/components/MkFolder.vue | 4 +- .../client/src/components/MkFollowButton.vue | 12 +-- packages/client/src/components/MkGoogle.vue | 2 +- packages/client/src/components/MkInfo.vue | 4 +- .../client/src/components/MkLaunchPad.vue | 4 +- packages/client/src/components/MkLink.vue | 2 +- .../client/src/components/MkMediaBanner.vue | 4 +- .../client/src/components/MkMediaImage.vue | 4 +- .../client/src/components/MkMediaVideo.vue | 4 +- packages/client/src/components/MkMenu.vue | 18 ++--- .../src/components/MkModalPageWindow.vue | 12 +-- .../client/src/components/MkModalWindow.vue | 6 +- packages/client/src/components/MkNote.vue | 26 +++---- .../client/src/components/MkNoteDetailed.vue | 20 ++--- packages/client/src/components/MkNoteSub.vue | 2 +- .../client/src/components/MkNotification.vue | 36 ++++----- .../client/src/components/MkPageWindow.vue | 12 +-- packages/client/src/components/MkPoll.vue | 2 +- .../client/src/components/MkPollEditor.vue | 4 +- packages/client/src/components/MkPostForm.vue | 36 ++++----- .../src/components/MkPostFormAttaches.vue | 10 +-- .../client/src/components/MkQuoteButton.vue | 2 +- .../client/src/components/MkRemoteCaution.vue | 2 +- .../client/src/components/MkRenoteButton.vue | 8 +- packages/client/src/components/MkSignin.vue | 6 +- packages/client/src/components/MkSignup.vue | 50 ++++++------- .../client/src/components/MkStarButton.vue | 2 +- .../src/components/MkSubNoteContent.vue | 2 +- .../client/src/components/MkSuperMenu.vue | 6 +- .../client/src/components/MkUrlPreview.vue | 4 +- .../client/src/components/MkVisibility.vue | 8 +- .../src/components/MkVisibilityPicker.vue | 12 +-- .../client/src/components/MkWaitingDialog.vue | 4 +- packages/client/src/components/MkWidgets.vue | 8 +- packages/client/src/components/MkWindow.vue | 6 +- .../client/src/components/form/checkbox.vue | 2 +- .../client/src/components/form/folder.vue | 4 +- packages/client/src/components/form/input.vue | 2 +- packages/client/src/components/form/link.vue | 4 +- .../client/src/components/form/select.vue | 4 +- .../client/src/components/form/suspense.vue | 4 +- .../client/src/components/form/textarea.vue | 2 +- packages/client/src/components/global/MkA.vue | 8 +- .../client/src/components/global/MkAd.vue | 2 +- .../client/src/components/global/MkError.vue | 2 +- .../client/src/components/global/MkUrl.vue | 2 +- .../client/src/components/page/page.post.vue | 4 +- packages/client/src/navbar.ts | 36 ++++----- packages/client/src/pages/_error_.vue | 4 +- packages/client/src/pages/about-calckey.vue | 2 +- packages/client/src/pages/about.emojis.vue | 2 +- .../client/src/pages/about.federation.vue | 2 +- packages/client/src/pages/about.vue | 10 +-- packages/client/src/pages/admin-file.vue | 12 +-- packages/client/src/pages/admin/abuses.vue | 2 +- packages/client/src/pages/admin/ads.vue | 8 +- .../client/src/pages/admin/announcements.vue | 8 +- .../client/src/pages/admin/bot-protection.vue | 10 +-- .../client/src/pages/admin/custom-css.vue | 2 +- packages/client/src/pages/admin/database.vue | 2 +- .../client/src/pages/admin/email-settings.vue | 4 +- .../src/pages/admin/emoji-edit-dialog.vue | 2 +- packages/client/src/pages/admin/emojis.vue | 16 ++-- packages/client/src/pages/admin/files.vue | 6 +- packages/client/src/pages/admin/index.vue | 52 ++++++------- .../client/src/pages/admin/instance-block.vue | 4 +- .../src/pages/admin/integrations.discord.vue | 6 +- .../src/pages/admin/integrations.github.vue | 6 +- .../src/pages/admin/integrations.twitter.vue | 6 +- .../client/src/pages/admin/integrations.vue | 2 +- packages/client/src/pages/admin/metrics.vue | 6 +- .../client/src/pages/admin/object-storage.vue | 8 +- .../client/src/pages/admin/other-settings.vue | 4 +- packages/client/src/pages/admin/overview.vue | 2 +- .../client/src/pages/admin/proxy-account.vue | 2 +- packages/client/src/pages/admin/queue.vue | 4 +- packages/client/src/pages/admin/relays.vue | 12 +-- packages/client/src/pages/admin/security.vue | 14 ++-- packages/client/src/pages/admin/settings.vue | 24 +++--- packages/client/src/pages/admin/users.vue | 8 +- packages/client/src/pages/announcements.vue | 4 +- .../client/src/pages/antenna-timeline.vue | 6 +- packages/client/src/pages/api-console.vue | 4 +- packages/client/src/pages/channel-editor.vue | 10 +-- packages/client/src/pages/channel.vue | 12 +-- packages/client/src/pages/channels.vue | 12 +-- packages/client/src/pages/clip.vue | 6 +- packages/client/src/pages/drive.vue | 2 +- packages/client/src/pages/emojis.emoji.vue | 2 +- packages/client/src/pages/explore.users.vue | 18 ++--- packages/client/src/pages/explore.vue | 10 +-- packages/client/src/pages/favorites.vue | 2 +- packages/client/src/pages/follow-requests.vue | 6 +- packages/client/src/pages/gallery/edit.vue | 14 ++-- packages/client/src/pages/gallery/index.vue | 16 ++-- packages/client/src/pages/gallery/post.vue | 14 ++-- packages/client/src/pages/instance-info.vue | 14 ++-- packages/client/src/pages/messaging/index.vue | 12 +-- .../pages/messaging/messaging-room.form.vue | 6 +- .../messaging/messaging-room.message.vue | 2 +- .../src/pages/messaging/messaging-room.vue | 4 +- packages/client/src/pages/mfm-cheat-sheet.vue | 2 +- .../client/src/pages/my-antennas/create.vue | 2 +- .../client/src/pages/my-antennas/edit.vue | 2 +- .../client/src/pages/my-antennas/editor.vue | 4 +- .../client/src/pages/my-antennas/index.vue | 4 +- packages/client/src/pages/my-clips/index.vue | 6 +- packages/client/src/pages/my-groups/group.vue | 12 +-- packages/client/src/pages/my-groups/index.vue | 6 +- packages/client/src/pages/my-lists/index.vue | 6 +- packages/client/src/pages/my-lists/list.vue | 4 +- packages/client/src/pages/not-found.vue | 2 +- packages/client/src/pages/note.vue | 4 +- packages/client/src/pages/notifications.vue | 16 ++-- .../page-editor/els/page-editor.el.button.vue | 2 +- .../page-editor/els/page-editor.el.canvas.vue | 4 +- .../els/page-editor.el.counter.vue | 4 +- .../page-editor/els/page-editor.el.if.vue | 4 +- .../page-editor/els/page-editor.el.image.vue | 4 +- .../page-editor/els/page-editor.el.note.vue | 2 +- .../els/page-editor.el.number-input.vue | 4 +- .../page-editor/els/page-editor.el.post.vue | 2 +- .../els/page-editor.el.radio-button.vue | 4 +- .../els/page-editor.el.section.vue | 6 +- .../page-editor/els/page-editor.el.switch.vue | 4 +- .../els/page-editor.el.text-input.vue | 4 +- .../page-editor/els/page-editor.el.text.vue | 2 +- .../els/page-editor.el.textarea-input.vue | 4 +- .../els/page-editor.el.textarea.vue | 2 +- .../page-editor/page-editor.container.vue | 8 +- .../page-editor/page-editor.script-block.vue | 4 +- .../src/pages/page-editor/page-editor.vue | 26 +++---- packages/client/src/pages/page.vue | 8 +- packages/client/src/pages/pages.vue | 12 +-- packages/client/src/pages/preview.vue | 2 +- packages/client/src/pages/registry.keys.vue | 2 +- packages/client/src/pages/registry.value.vue | 6 +- packages/client/src/pages/registry.vue | 2 +- packages/client/src/pages/reset-password.vue | 4 +- packages/client/src/pages/scratchpad.vue | 4 +- packages/client/src/pages/search.vue | 2 +- packages/client/src/pages/settings/2fa.vue | 4 +- .../src/pages/settings/account-info.vue | 2 +- .../client/src/pages/settings/accounts.vue | 8 +- packages/client/src/pages/settings/api.vue | 2 +- packages/client/src/pages/settings/apps.vue | 4 +- .../client/src/pages/settings/custom-css.vue | 2 +- packages/client/src/pages/settings/deck.vue | 2 +- .../src/pages/settings/delete-account.vue | 2 +- packages/client/src/pages/settings/drive.vue | 4 +- packages/client/src/pages/settings/email.vue | 6 +- .../client/src/pages/settings/general.vue | 10 +-- .../src/pages/settings/import-export.vue | 38 +++++----- packages/client/src/pages/settings/index.vue | 50 ++++++------- .../src/pages/settings/instance-mute.vue | 4 +- .../client/src/pages/settings/integration.vue | 2 +- .../client/src/pages/settings/mute-block.vue | 2 +- packages/client/src/pages/settings/navbar.vue | 4 +- .../src/pages/settings/notifications.vue | 4 +- packages/client/src/pages/settings/other.vue | 6 +- .../src/pages/settings/plugin.install.vue | 4 +- packages/client/src/pages/settings/plugin.vue | 8 +- .../pages/settings/preferences-backups.vue | 12 +-- .../client/src/pages/settings/privacy.vue | 2 +- .../client/src/pages/settings/profile.vue | 12 +-- .../client/src/pages/settings/reaction.vue | 10 +-- .../client/src/pages/settings/security.vue | 8 +- packages/client/src/pages/settings/sounds.vue | 8 +- .../client/src/pages/settings/statusbar.vue | 2 +- .../src/pages/settings/theme.install.vue | 6 +- .../src/pages/settings/theme.manage.vue | 4 +- packages/client/src/pages/settings/theme.vue | 14 ++-- .../src/pages/settings/webhook.edit.vue | 6 +- .../client/src/pages/settings/webhook.new.vue | 6 +- .../client/src/pages/settings/webhook.vue | 8 +- .../client/src/pages/settings/word-mute.vue | 4 +- packages/client/src/pages/share.vue | 2 +- packages/client/src/pages/signup-complete.vue | 2 +- packages/client/src/pages/tag.vue | 2 +- packages/client/src/pages/theme-editor.vue | 8 +- .../client/src/pages/timeline.tutorial.vue | 10 +-- packages/client/src/pages/timeline.vue | 26 +++---- packages/client/src/pages/user-info.vue | 16 ++-- .../client/src/pages/user-list-timeline.vue | 6 +- packages/client/src/pages/user/followers.vue | 2 +- packages/client/src/pages/user/following.vue | 2 +- packages/client/src/pages/user/home.vue | 24 +++--- .../client/src/pages/user/index.activity.vue | 4 +- .../client/src/pages/user/index.photos.vue | 2 +- packages/client/src/pages/user/index.vue | 12 +-- .../client/src/pages/welcome.entrance.a.vue | 8 +- .../client/src/pages/welcome.entrance.b.vue | 6 +- .../client/src/pages/welcome.entrance.c.vue | 8 +- packages/client/src/pages/welcome.setup.vue | 2 +- .../client/src/pages/welcome.timeline.vue | 2 +- packages/client/src/scripts/get-note-menu.ts | 48 ++++++------ packages/client/src/scripts/get-user-menu.ts | 28 +++---- packages/client/src/scripts/hpml/index.ts | 14 ++-- packages/client/src/scripts/hpml/lib.ts | 74 +++++++++---------- packages/client/src/scripts/search.ts | 2 +- packages/client/src/scripts/select-file.ts | 6 +- packages/client/src/style.scss | 9 +++ .../src/ui/_common_/navbar-for-mobile.vue | 32 ++++---- packages/client/src/ui/_common_/navbar.vue | 32 ++++---- packages/client/src/ui/_common_/upload.vue | 2 +- packages/client/src/ui/classic.header.vue | 16 ++-- packages/client/src/ui/classic.sidebar.vue | 32 ++++---- packages/client/src/ui/classic.vue | 4 +- packages/client/src/ui/classic.widgets.vue | 4 +- packages/client/src/ui/deck.vue | 18 ++--- .../client/src/ui/deck/antenna-column.vue | 4 +- packages/client/src/ui/deck/column.vue | 24 +++--- packages/client/src/ui/deck/direct-column.vue | 2 +- packages/client/src/ui/deck/list-column.vue | 4 +- packages/client/src/ui/deck/main-column.vue | 2 +- .../client/src/ui/deck/mentions-column.vue | 2 +- .../src/ui/deck/notifications-column.vue | 4 +- packages/client/src/ui/deck/tl-column.vue | 12 +-- .../client/src/ui/deck/widgets-column.vue | 4 +- packages/client/src/ui/universal.vue | 14 ++-- packages/client/src/ui/universal.widgets.vue | 4 +- packages/client/src/ui/visitor/b.vue | 12 +-- packages/client/src/ui/visitor/header.vue | 16 ++-- packages/client/src/widgets/activity.vue | 4 +- packages/client/src/widgets/aiscript.vue | 2 +- packages/client/src/widgets/federation.vue | 2 +- packages/client/src/widgets/job-queue.vue | 4 +- packages/client/src/widgets/memo.vue | 2 +- packages/client/src/widgets/notifications.vue | 4 +- packages/client/src/widgets/photos.vue | 2 +- packages/client/src/widgets/rss-ticker.vue | 4 +- packages/client/src/widgets/rss.vue | 4 +- .../client/src/widgets/server-metric/cpu.vue | 2 +- .../client/src/widgets/server-metric/disk.vue | 2 +- .../src/widgets/server-metric/index.vue | 4 +- .../client/src/widgets/server-metric/mem.vue | 2 +- packages/client/src/widgets/timeline.vue | 26 +++---- packages/client/src/widgets/trends.vue | 2 +- 257 files changed, 1046 insertions(+), 1035 deletions(-) diff --git a/CALCKEY.md b/CALCKEY.md index 8e979b4b6..7f74e77e0 100644 --- a/CALCKEY.md +++ b/CALCKEY.md @@ -48,6 +48,7 @@ - Star as default reaction - Like/star button - Rosé Pine by default (+ non-themable elements made Rosé Pine) +- Phosphor icons instead of FontAwesome - Better sidebar/navbar - Add back groups - Integrate groups UI into chats UI diff --git a/gulpfile.js b/gulpfile.js index 2eaeac0f3..17d224177 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -23,8 +23,8 @@ gulp.task('copy:client:fonts', () => gulp.src('./packages/client/node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/_client_dist_/fonts/')) ); -gulp.task('copy:client:fontawesome', () => - gulp.src('./packages/client/node_modules/@fortawesome/fontawesome-free/**/*').pipe(gulp.dest('./built/_client_dist_/fontawesome/')) +gulp.task('copy:client:phosphor', () => + gulp.src('./packages/client/node_modules/phosphor-icons/src/css/*').pipe(gulp.dest('./built/_client_dist_/phosphor/')) ); gulp.task('copy:client:locales', cb => { @@ -58,7 +58,7 @@ gulp.task('build:backend:style', () => { }); gulp.task('build', gulp.parallel( - 'copy:client:locales', 'copy:backend:views', 'copy:backend:custom', 'build:backend:script', 'build:backend:style', 'copy:client:fonts', 'copy:client:fontawesome' + 'copy:client:locales', 'copy:backend:views', 'copy:backend:custom', 'build:backend:script', 'build:backend:style', 'copy:client:fonts', 'copy:client:phosphor' )); gulp.task('default', gulp.task('build')); diff --git a/package.json b/package.json index aead92a27..915d93cf9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "calckey", - "version": "12.119.0-calc.8.1", + "version": "12.119.0-calc.8.2", "codename": "aqua", "repository": { "type": "git", @@ -51,6 +51,7 @@ "gulp-terser": "2.1.0", "js-yaml": "4.1.0", "long": "^5.2.1", + "phosphor-icons": "^1.4.2", "seedrandom": "^3.0.5" }, "devDependencies": { diff --git a/packages/backend/src/server/web/views/base.pug b/packages/backend/src/server/web/views/base.pug index f06f2cab2..a1a6c3a4e 100644 --- a/packages/backend/src/server/web/views/base.pug +++ b/packages/backend/src/server/web/views/base.pug @@ -35,7 +35,7 @@ html link(rel='prefetch' href=`/static-assets/badges/info.png?${ nowDateMs }`) link(rel='prefetch' href=`/static-assets/badges/not-found.png?${ nowDateMs }`) link(rel='prefetch' href=`/static-assets/badges/error.png?${ nowDateMs }`) - link(rel='stylesheet' href='/assets/fontawesome/css/all.css') + link(rel='stylesheet' href='/assets/phosphor/css/icons.css') link(rel='stylesheet' href=`/static-assets/instance.css?${ nowDateMs }`) link(rel='modulepreload' href=`/assets/${clientEntry.file}`) diff --git a/packages/client/src/account.ts b/packages/client/src/account.ts index 10257b841..8421ad23d 100644 --- a/packages/client/src/account.ts +++ b/packages/client/src/account.ts @@ -207,7 +207,7 @@ export async function openAccountMenu(opts: { avatar: $i, }, null, ...(opts.includeCurrentAccount ? [createItem($i)] : []), ...accountItemPromises, { type: 'parent', - icon: 'fas fa-plus', + icon: 'ph-plus', text: i18n.ts.addAccount, children: [{ text: i18n.ts.existingAccount, @@ -218,7 +218,7 @@ export async function openAccountMenu(opts: { }], }, { type: 'link', - icon: 'fas fa-users', + icon: 'ph-users', text: i18n.ts.manageAccounts, to: '/settings/accounts', }]], ev.currentTarget ?? ev.target, { diff --git a/packages/client/src/components/MkAbuseReportWindow.vue b/packages/client/src/components/MkAbuseReportWindow.vue index 1862d0a0e..b52e5814c 100644 --- a/packages/client/src/components/MkAbuseReportWindow.vue +++ b/packages/client/src/components/MkAbuseReportWindow.vue @@ -1,7 +1,7 @@