diff --git a/packages/frontend/src/pages/admin/index.vue b/packages/frontend/src/pages/admin/index.vue index 26ef540563..c5bb2766dc 100644 --- a/packages/frontend/src/pages/admin/index.vue +++ b/packages/frontend/src/pages/admin/index.vue @@ -172,7 +172,7 @@ const menuDef = computed(() => [{ to: '/admin/abuses', active: currentPage.value?.route.name === 'abuses', }, { - icon: 'ph-list ph-bold ph-lg-search', + icon: 'ti ti-list-search', text: i18n.ts.moderationLogs, to: '/admin/modlog', active: currentPage.value?.route.name === 'modlog', diff --git a/packages/frontend/src/pages/admin/modlog.ModLog.vue b/packages/frontend/src/pages/admin/modlog.ModLog.vue index 1a37e820e6..c1e633df23 100644 --- a/packages/frontend/src/pages/admin/modlog.ModLog.vue +++ b/packages/frontend/src/pages/admin/modlog.ModLog.vue @@ -19,7 +19,7 @@ SPDX-License-Identifier: AGPL-3.0-only <span v-else-if="log.type === 'unsuspend'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</span> <span v-else-if="log.type === 'resetPassword'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }}</span> <span v-else-if="log.type === 'assignRole'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }} <i class="ti ti-arrow-right"></i> {{ log.info.roleName }}</span> - <span v-else-if="log.type === 'unassignRole'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }} <i class="ph-prohibit ph-bold ph-lg"></i> {{ log.info.roleName }}</span> + <span v-else-if="log.type === 'unassignRole'">: @{{ log.info.userUsername }}{{ log.info.userHost ? '@' + log.info.userHost : '' }} <i class="ti ti-equal-not"></i> {{ log.info.roleName }}</span> <span v-else-if="log.type === 'createRole'">: {{ log.info.role.name }}</span> <span v-else-if="log.type === 'updateRole'">: {{ log.info.before.name }}</span> <span v-else-if="log.type === 'deleteRole'">: {{ log.info.role.name }}</span> diff --git a/packages/frontend/src/pages/admin/modlog.vue b/packages/frontend/src/pages/admin/modlog.vue index 850d36063e..4e0d0f941e 100644 --- a/packages/frontend/src/pages/admin/modlog.vue +++ b/packages/frontend/src/pages/admin/modlog.vue @@ -60,6 +60,6 @@ const headerTabs = computed(() => []); definePageMetadata(() => ({ title: i18n.ts.moderationLogs, - icon: 'ph-list ph-bold ph-lg-search', + icon: 'ti ti-list-search', })); </script> diff --git a/packages/frontend/src/pages/admin/overview.federation.vue b/packages/frontend/src/pages/admin/overview.federation.vue index 3a3550c6c0..ea01d073ea 100644 --- a/packages/frontend/src/pages/admin/overview.federation.vue +++ b/packages/frontend/src/pages/admin/overview.federation.vue @@ -21,7 +21,7 @@ SPDX-License-Identifier: AGPL-3.0-only </div> <div v-if="!fetching" class="items"> <div class="item _panel sub"> - <div class="icon"><i class="ph-globe-hemisphere-west ph-bold ph-lg-download"></i></div> + <div class="icon"><i class="ti ti-world-download"></i></div> <div class="body"> <div class="value"> {{ number(federationSubActive) }} @@ -31,7 +31,7 @@ SPDX-License-Identifier: AGPL-3.0-only </div> </div> <div class="item _panel pub"> - <div class="icon"><i class="ph-globe-hemisphere-west ph-bold ph-lg-upload"></i></div> + <div class="icon"><i class="ti ti-world-upload"></i></div> <div class="body"> <div class="value"> {{ number(federationPubActive) }} @@ -193,4 +193,3 @@ onMounted(async () => { } } </style> - diff --git a/packages/frontend/src/pages/admin/overview.stats.vue b/packages/frontend/src/pages/admin/overview.stats.vue index 6fdb0ea96e..37399a5724 100644 --- a/packages/frontend/src/pages/admin/overview.stats.vue +++ b/packages/frontend/src/pages/admin/overview.stats.vue @@ -47,7 +47,7 @@ SPDX-License-Identifier: AGPL-3.0-only </div> </div> <div class="item _panel online"> - <div class="icon"><i class="ph-broadcast ph-bold ph-lg"></i></div> + <div class="icon"><i class="ti ti-access-point"></i></div> <div class="body"> <div class="value"> <MkNumber :value="onlineUsersCount" style="margin-right: 0.5em;"/> diff --git a/packages/frontend/src/pages/admin/roles.editor.vue b/packages/frontend/src/pages/admin/roles.editor.vue index 9656f76400..0bff6e39aa 100644 --- a/packages/frontend/src/pages/admin/roles.editor.vue +++ b/packages/frontend/src/pages/admin/roles.editor.vue @@ -667,7 +667,7 @@ const q = ref(''); function getPriorityIcon(option) { if (option.priority === 2) return 'ti ti-arrows-up'; if (option.priority === 1) return 'ti ti-arrow-narrow-up'; - return 'ph-circle ph-bold ph-lg'; + return 'ti ti-point'; } function matchQuery(keywords: string[]): boolean { diff --git a/packages/frontend/src/pages/admin/server-rules.vue b/packages/frontend/src/pages/admin/server-rules.vue index 36e2a29923..4788c16830 100644 --- a/packages/frontend/src/pages/admin/server-rules.vue +++ b/packages/frontend/src/pages/admin/server-rules.vue @@ -69,7 +69,7 @@ const headerTabs = computed(() => []); definePageMetadata(() => ({ title: i18n.ts.serverRules, - icon: 'ph-check ph-bold ph-lg', + icon: 'ti ti-checkbox', })); </script> diff --git a/packages/frontend/src/pages/announcements.vue b/packages/frontend/src/pages/announcements.vue index ffbea15a73..a9bcfee803 100644 --- a/packages/frontend/src/pages/announcements.vue +++ b/packages/frontend/src/pages/announcements.vue @@ -104,11 +104,11 @@ const headerActions = computed(() => []); const headerTabs = computed(() => [{ key: 'current', title: i18n.ts.currentAnnouncements, - icon: 'ph-fire ph-bold ph-lg', + icon: 'ti ti-flare', }, { key: 'past', title: i18n.ts.pastAnnouncements, - icon: 'ph-circle ph-bold ph-lg', + icon: 'ti ti-point', }]); definePageMetadata(() => ({ diff --git a/packages/frontend/src/pages/antenna-timeline.vue b/packages/frontend/src/pages/antenna-timeline.vue index 82dcf57d2d..22e8fe8071 100644 --- a/packages/frontend/src/pages/antenna-timeline.vue +++ b/packages/frontend/src/pages/antenna-timeline.vue @@ -80,7 +80,7 @@ watch(() => props.antennaId, async () => { }, { immediate: true }); const headerActions = computed(() => antenna.value ? [{ - icon: 'ph-calendar ph-bold ph-lg', + icon: 'ti ti-calendar-time', text: i18n.ts.jumpToSpecifiedDate, handler: timetravel, }, { diff --git a/packages/frontend/src/pages/channels.vue b/packages/frontend/src/pages/channels.vue index a88ade14eb..bde1650754 100644 --- a/packages/frontend/src/pages/channels.vue +++ b/packages/frontend/src/pages/channels.vue @@ -137,7 +137,7 @@ const headerTabs = computed(() => [{ }, { key: 'featured', title: i18n.ts._channel.featured, - icon: 'ph-shooting-star ph-bold ph-lg', + icon: 'ti ti-comet', }, { key: 'favorites', title: i18n.ts.favorites, diff --git a/packages/frontend/src/pages/drop-and-fusion.game.vue b/packages/frontend/src/pages/drop-and-fusion.game.vue index 55d1254188..eba5b92154 100644 --- a/packages/frontend/src/pages/drop-and-fusion.game.vue +++ b/packages/frontend/src/pages/drop-and-fusion.game.vue @@ -1220,7 +1220,7 @@ onDeactivated(() => { definePageMetadata(() => ({ title: i18n.ts.bubbleGame, - icon: 'ph-orange-slice ph-bold ph-lg', + icon: 'ti ti-apple', })); </script> diff --git a/packages/frontend/src/pages/explore.users.vue b/packages/frontend/src/pages/explore.users.vue index 117c032c94..805d826946 100644 --- a/packages/frontend/src/pages/explore.users.vue +++ b/packages/frontend/src/pages/explore.users.vue @@ -12,7 +12,7 @@ SPDX-License-Identifier: AGPL-3.0-only <div v-if="origin === 'local'"> <template v-if="tag == null"> <MkFoldableSection class="_margin" persistKey="explore-pinned-users"> - <template #header><i class="ph-bookmark ph-bold ph-lg ti-fw" style="margin-right: 0.5em;"></i>{{ i18n.ts.pinnedUsers }}</template> + <template #header><i class="ti ti-bookmark ti-fw" style="margin-right: 0.5em;"></i>{{ i18n.ts.pinnedUsers }}</template> <MkUserList :pagination="pinnedUsers"/> </MkFoldableSection> <MkFoldableSection class="_margin" persistKey="explore-popular-users"> diff --git a/packages/frontend/src/pages/flash/flash-index.vue b/packages/frontend/src/pages/flash/flash-index.vue index b9ee7cb41c..f63a799365 100644 --- a/packages/frontend/src/pages/flash/flash-index.vue +++ b/packages/frontend/src/pages/flash/flash-index.vue @@ -79,7 +79,7 @@ const headerActions = computed(() => [{ const headerTabs = computed(() => [{ key: 'featured', title: i18n.ts._play.featured, - icon: 'ph-fire ph-bold ph-lg', + icon: 'ti ti-flare', }, { key: 'my', title: i18n.ts._play.my, diff --git a/packages/frontend/src/pages/gallery/index.vue b/packages/frontend/src/pages/gallery/index.vue index bc8bc6d5f9..e0b137ed28 100644 --- a/packages/frontend/src/pages/gallery/index.vue +++ b/packages/frontend/src/pages/gallery/index.vue @@ -18,7 +18,7 @@ SPDX-License-Identifier: AGPL-3.0-only </MkPagination> </MkFoldableSection> <MkFoldableSection class="_margin"> - <template #header><i class="ph-shooting-star ph-bold ph-lg"></i>{{ i18n.ts.popularPosts }}</template> + <template #header><i class="ti ti-comet"></i>{{ i18n.ts.popularPosts }}</template> <MkPagination v-slot="{items}" :pagination="popularPostsPagination" :disableAutoLoad="true"> <div :class="$style.items"> <MkGalleryPostPreview v-for="post in items" :key="post.id" :post="post" class="post"/> diff --git a/packages/frontend/src/pages/gallery/post.vue b/packages/frontend/src/pages/gallery/post.vue index 9c0b6c1d47..ab0305ca8d 100644 --- a/packages/frontend/src/pages/gallery/post.vue +++ b/packages/frontend/src/pages/gallery/post.vue @@ -23,13 +23,13 @@ SPDX-License-Identifier: AGPL-3.0-only </div> <div class="actions"> <div class="like"> - <MkButton v-if="post.isLiked" v-tooltip="i18n.ts._gallery.unlike" class="button" primary @click="unlike()"><i class="ph-heart-break ph-bold ph-lg"></i><span v-if="post.likedCount > 0" class="count">{{ post.likedCount }}</span></MkButton> + <MkButton v-if="post.isLiked" v-tooltip="i18n.ts._gallery.unlike" class="button" primary @click="unlike()"><i class="ti ti-heart-off"></i><span v-if="post.likedCount > 0" class="count">{{ post.likedCount }}</span></MkButton> <MkButton v-else v-tooltip="i18n.ts._gallery.like" class="button" @click="like()"><i class="ti ti-heart"></i><span v-if="post.likedCount > 0" class="count">{{ post.likedCount }}</span></MkButton> </div> <div class="other"> <button v-if="$i && $i.id === post.user.id" v-tooltip="i18n.ts.edit" v-click-anime class="_button" @click="edit"><i class="ti ti-pencil ti-fw"></i></button> <button v-tooltip="i18n.ts.shareWithNote" v-click-anime class="_button" @click="shareWithNote"><i class="ti ti-repeat ti-fw"></i></button> - <button v-tooltip="i18n.ts.copyLink" v-click-anime class="_button" @click="copyLink"><i class="ti ti-share ti-fw"></i></button> + <button v-tooltip="i18n.ts.copyLink" v-click-anime class="_button" @click="copyLink"><i class="ti ti-link ti-fw"></i></button> <button v-if="isSupportShare()" v-tooltip="i18n.ts.share" v-click-anime class="_button" @click="share"><i class="ti ti-share ti-fw"></i></button> </div> </div> diff --git a/packages/frontend/src/pages/list.vue b/packages/frontend/src/pages/list.vue index 091ea53124..03ab804d05 100644 --- a/packages/frontend/src/pages/list.vue +++ b/packages/frontend/src/pages/list.vue @@ -26,7 +26,7 @@ SPDX-License-Identifier: AGPL-3.0-only </div> </div> </div> - <MkButton v-if="list.isLiked" v-tooltip="i18n.ts.unlike" inline :class="$style.button" asLike primary @click="unlike()"><i class="ph-heart-break ph-bold ph-lg"></i><span v-if="list.likedCount > 0" class="count">{{ list.likedCount }}</span></MkButton> + <MkButton v-if="list.isLiked" v-tooltip="i18n.ts.unlike" inline :class="$style.button" asLike primary @click="unlike()"><i class="ti ti-heart-off"></i><span v-if="list.likedCount > 0" class="count">{{ list.likedCount }}</span></MkButton> <MkButton v-if="!list.isLiked" v-tooltip="i18n.ts.like" inline :class="$style.button" asLike @click="like()"><i class="ti ti-heart"></i><span v-if="1 > 0" class="count">{{ list.likedCount }}</span></MkButton> <MkButton inline @click="create()"><i class="ti ti-download" :class="$style.import"></i>{{ i18n.ts.import }}</MkButton> </MkSpacer> diff --git a/packages/frontend/src/pages/my-lists/list.vue b/packages/frontend/src/pages/my-lists/list.vue index 369d5a5ef8..7492b099ea 100644 --- a/packages/frontend/src/pages/my-lists/list.vue +++ b/packages/frontend/src/pages/my-lists/list.vue @@ -135,7 +135,7 @@ async function removeUser(item, ev) { async function showMembershipMenu(item, ev) { os.popupMenu([{ text: item.withReplies ? i18n.ts.hideRepliesToOthersInTimeline : i18n.ts.showRepliesToOthersInTimeline, - icon: item.withReplies ? 'ph-envelope-open ph-bold ph-lg' : 'ti ti-messages', + icon: item.withReplies ? 'ti ti-messages-off' : 'ti ti-messages', action: async () => { misskeyApi('users/lists/update-membership', { listId: list.value.id, diff --git a/packages/frontend/src/pages/note.vue b/packages/frontend/src/pages/note.vue index 78b44f05a1..9b5289786f 100644 --- a/packages/frontend/src/pages/note.vue +++ b/packages/frontend/src/pages/note.vue @@ -16,7 +16,7 @@ SPDX-License-Identifier: AGPL-3.0-only <div class="_margin"> <div v-if="!showNext" class="_buttons" :class="$style.loadNext"> - <MkButton v-if="note.channelId" rounded :class="$style.loadButton" @click="showNext = 'channel'"><i class="ti ti-chevron-up"></i> <i class="ph-television-simple ph-bold ph-lg"></i></MkButton> + <MkButton v-if="note.channelId" rounded :class="$style.loadButton" @click="showNext = 'channel'"><i class="ti ti-chevron-up"></i> <i class="ti ti-device-tv"></i></MkButton> <MkButton rounded :class="$style.loadButton" @click="showNext = 'user'"><i class="ti ti-chevron-up"></i> <i class="ti ti-user"></i></MkButton> </div> <div v-if="defaultStore.state.noteDesign === 'misskey'" class="_margin _gaps_s"> @@ -34,7 +34,7 @@ SPDX-License-Identifier: AGPL-3.0-only </div> </div> <div v-if="!showPrev" class="_buttons" :class="$style.loadPrev"> - <MkButton v-if="note.channelId" rounded :class="$style.loadButton" @click="showPrev = 'channel'"><i class="ti ti-chevron-down"></i> <i class="ph-television-simple ph-bold ph-lg"></i></MkButton> + <MkButton v-if="note.channelId" rounded :class="$style.loadButton" @click="showPrev = 'channel'"><i class="ti ti-chevron-down"></i> <i class="ti ti-device-tv"></i></MkButton> <MkButton rounded :class="$style.loadButton" @click="showPrev = 'user'"><i class="ti ti-chevron-down"></i> <i class="ti ti-user"></i></MkButton> </div> </div> diff --git a/packages/frontend/src/pages/notifications.vue b/packages/frontend/src/pages/notifications.vue index bd537363f2..28f5838296 100644 --- a/packages/frontend/src/pages/notifications.vue +++ b/packages/frontend/src/pages/notifications.vue @@ -69,7 +69,7 @@ function setFilter(ev) { const headerActions = computed(() => [tab.value === 'all' ? { text: i18n.ts.filter, - icon: 'ph-funnel ph-bold ph-lg', + icon: 'ti ti-filter', highlighted: includeTypes.value != null, handler: setFilter, } : undefined, tab.value === 'all' ? { @@ -83,7 +83,7 @@ const headerActions = computed(() => [tab.value === 'all' ? { const headerTabs = computed(() => [{ key: 'all', title: i18n.ts.all, - icon: 'ph-circle ph-bold ph-lg', + icon: 'ti ti-point', }, { key: 'mentions', title: i18n.ts.mentions, diff --git a/packages/frontend/src/pages/page-editor/els/page-editor.el.text.vue b/packages/frontend/src/pages/page-editor/els/page-editor.el.text.vue index e83ad058b4..14c3e6845e 100644 --- a/packages/frontend/src/pages/page-editor/els/page-editor.el.text.vue +++ b/packages/frontend/src/pages/page-editor/els/page-editor.el.text.vue @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only <template> <!-- eslint-disable vue/no-mutating-props --> <XContainer :draggable="true" @remove="() => $emit('remove')"> - <template #header><i class="ph-text-align-left ph-bold ph-lg"></i> {{ i18n.ts._pages.blocks.text }}</template> + <template #header><i class="ti ti-align-left"></i> {{ i18n.ts._pages.blocks.text }}</template> <section> <textarea ref="inputEl" v-model="text" :class="$style.textarea"></textarea> diff --git a/packages/frontend/src/pages/page.vue b/packages/frontend/src/pages/page.vue index 85bd8b6828..1e38f42890 100644 --- a/packages/frontend/src/pages/page.vue +++ b/packages/frontend/src/pages/page.vue @@ -58,7 +58,7 @@ SPDX-License-Identifier: AGPL-3.0-only </div> <div :class="$style.pageActions"> <div> - <MkButton v-if="page.isLiked" v-tooltip="i18n.ts._pages.unlike" class="button" asLike primary @click="unlike()"><i class="ph-heart-break ph-bold ph-lg"></i><span v-if="page.likedCount > 0" class="count">{{ page.likedCount }}</span></MkButton> + <MkButton v-if="page.isLiked" v-tooltip="i18n.ts._pages.unlike" class="button" asLike primary @click="unlike()"><i class="ti ti-heart-off"></i><span v-if="page.likedCount > 0" class="count">{{ page.likedCount }}</span></MkButton> <MkButton v-else v-tooltip="i18n.ts._pages.like" class="button" asLike @click="like()"><i class="ti ti-heart"></i><span v-if="page.likedCount > 0" class="count">{{ page.likedCount }}</span></MkButton> </div> <div :class="$style.other"> @@ -76,7 +76,7 @@ SPDX-License-Identifier: AGPL-3.0-only </div> <div :class="$style.pageDate"> <div><i class="ti ti-clock"></i> {{ i18n.ts.createdAt }}: <MkTime :time="page.createdAt" mode="detail"/></div> - <div v-if="page.createdAt != page.updatedAt"><i class="ph-pencil-simple ph-bold ph-lg"></i> {{ i18n.ts.updatedAt }}: <MkTime :time="page.updatedAt" mode="detail"/></div> + <div v-if="page.createdAt != page.updatedAt"><i class="ti ti-clock-edit"></i> {{ i18n.ts.updatedAt }}: <MkTime :time="page.updatedAt" mode="detail"/></div> </div> <div :class="$style.pageLinks"> <MkA v-if="!$i || $i.id !== page.userId" :to="`/@${username}/pages/${pageName}/view-source`" class="link">{{ i18n.ts._pages.viewSource }}</MkA> @@ -170,7 +170,7 @@ function share(ev: MouseEvent) { os.popupMenu([ { text: i18n.ts.shareWithNote, - icon: 'ph-pencil-simple', + icon: 'ti ti-pencil', action: shareWithNote, }, ...(isSupportShare() ? [{ diff --git a/packages/frontend/src/pages/pages.vue b/packages/frontend/src/pages/pages.vue index f7ad571d09..4ef9d3b091 100644 --- a/packages/frontend/src/pages/pages.vue +++ b/packages/frontend/src/pages/pages.vue @@ -77,7 +77,7 @@ const headerActions = computed(() => [{ const headerTabs = computed(() => [{ key: 'featured', title: i18n.ts._pages.featured, - icon: 'ph-fire ph-bold ph-lg', + icon: 'ti ti-flare', }, { key: 'my', title: i18n.ts._pages.my, diff --git a/packages/frontend/src/pages/reversi/game.setting.vue b/packages/frontend/src/pages/reversi/game.setting.vue index 93b0972e9c..31c0003130 100644 --- a/packages/frontend/src/pages/reversi/game.setting.vue +++ b/packages/frontend/src/pages/reversi/game.setting.vue @@ -23,10 +23,10 @@ SPDX-License-Identifier: AGPL-3.0-only </div> <div style="padding: 16px;"> - <div v-if="game.map == null"><i class="ph-dice-five ph-bold ph-lg"></i></div> + <div v-if="game.map == null"><i class="ti ti-dice"></i></div> <div v-else :class="$style.board" :style="{ 'grid-template-rows': `repeat(${ game.map.length }, 1fr)`, 'grid-template-columns': `repeat(${ game.map[0].length }, 1fr)` }"> <div v-for="(x, i) in game.map.join('')" :class="[$style.boardCell, { [$style.boardCellNone]: x == ' ' }]" @click="onMapCellClick(i, x)"> - <i v-if="x === 'b' || x === 'w'" style="pointer-events: none; user-select: none;" :class="x === 'b' ? 'ph-circle-half ph-bold ph-lg' : 'ph-circle ph-bold ph-lg'"></i> + <i v-if="x === 'b' || x === 'w'" style="pointer-events: none; user-select: none;" :class="x === 'b' ? 'ti ti-circle-filled' : 'ti ti-circle'"></i> </div> </div> </div> diff --git a/packages/frontend/src/pages/settings/accounts.vue b/packages/frontend/src/pages/settings/accounts.vue index 6276dc680a..1182346de9 100644 --- a/packages/frontend/src/pages/settings/accounts.vue +++ b/packages/frontend/src/pages/settings/accounts.vue @@ -48,7 +48,7 @@ const init = async () => { function menu(account, ev) { os.popupMenu([{ text: i18n.ts.switch, - icon: 'ph-arrows-left-right ph-bold ph-lg', + icon: 'ti ti-switch-horizontal', action: () => switchAccount(account), }, { text: i18n.ts.logout, diff --git a/packages/frontend/src/pages/settings/api.vue b/packages/frontend/src/pages/settings/api.vue index f8f340d602..d9596b4e45 100644 --- a/packages/frontend/src/pages/settings/api.vue +++ b/packages/frontend/src/pages/settings/api.vue @@ -47,6 +47,6 @@ const headerTabs = computed(() => []); definePageMetadata(() => ({ title: 'API', - icon: 'ph-webhooks-logo ph-bold ph-lg', + icon: 'ti ti-api', })); </script> diff --git a/packages/frontend/src/pages/settings/import-export.vue b/packages/frontend/src/pages/settings/import-export.vue index 8bb5972aa2..9c02b604c0 100644 --- a/packages/frontend/src/pages/settings/import-export.vue +++ b/packages/frontend/src/pages/settings/import-export.vue @@ -86,7 +86,7 @@ SPDX-License-Identifier: AGPL-3.0-only </div> </FormSection> <FormSection> - <template #label><i class="ph-user-minus ph-bold ph-lg"></i> {{ i18n.ts._exportOrImport.muteList }}</template> + <template #label><i class="ti ti-user-off"></i> {{ i18n.ts._exportOrImport.muteList }}</template> <div class="_gaps_s"> <MkFolder> <template #label>{{ i18n.ts.export }}</template> @@ -101,7 +101,7 @@ SPDX-License-Identifier: AGPL-3.0-only </div> </FormSection> <FormSection> - <template #label><i class="ph-user-minus ph-bold ph-lg"></i> {{ i18n.ts._exportOrImport.blockingList }}</template> + <template #label><i class="ti ti-user-off"></i> {{ i18n.ts._exportOrImport.blockingList }}</template> <div class="_gaps_s"> <MkFolder> <template #label>{{ i18n.ts.export }}</template> @@ -252,7 +252,7 @@ const headerTabs = computed(() => []); definePageMetadata(() => ({ title: i18n.ts.importAndExport, - icon: 'ph-package ph-bold ph-lg', + icon: 'ti ti-package', })); </script> diff --git a/packages/frontend/src/pages/settings/index.vue b/packages/frontend/src/pages/settings/index.vue index c9e616f379..67df43e15b 100644 --- a/packages/frontend/src/pages/settings/index.vue +++ b/packages/frontend/src/pages/settings/index.vue @@ -115,7 +115,7 @@ const menuDef = computed(() => [{ to: '/settings/navbar', active: currentPage.value?.route.name === 'navbar', }, { - icon: 'ph-equals ph-bold ph-lg', + icon: 'ti ti-equal-double', text: i18n.ts.statusbar, to: '/settings/statusbar', active: currentPage.value?.route.name === 'statusbar', @@ -143,22 +143,22 @@ const menuDef = computed(() => [{ to: '/settings/mute-block', active: currentPage.value?.route.name === 'mute-block', }, { - icon: 'ph-key ph-bold ph-lg', + icon: 'ti ti-api', text: 'API', to: '/settings/api', active: currentPage.value?.route.name === 'api', }, { - icon: 'ph-webhooks-logo ph-bold ph-lg', + icon: 'ti ti-webhook', text: 'Webhook', to: '/settings/webhook', active: currentPage.value?.route.name === 'webhook', }, { - icon: 'ph-package ph-bold ph-lg', + icon: 'ti ti-package', text: i18n.ts.importAndExport, to: '/settings/import-export', active: currentPage.value?.route.name === 'import-export', }, { - icon: 'ph-airplane ph-bold ph-lg', + icon: 'ti ti-plane', text: `${i18n.ts.accountMigration}`, to: '/settings/migration', active: currentPage.value?.route.name === 'migration', @@ -183,7 +183,7 @@ const menuDef = computed(() => [{ }, }, { type: 'button', - icon: 'ph-power ph-bold ph-lg', + icon: 'ti ti-power', text: i18n.ts.logout, action: async () => { const { canceled } = await os.confirm({ diff --git a/packages/frontend/src/pages/settings/migration.vue b/packages/frontend/src/pages/settings/migration.vue index 9caa49d4b9..ddc23945dd 100644 --- a/packages/frontend/src/pages/settings/migration.vue +++ b/packages/frontend/src/pages/settings/migration.vue @@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only <template> <div class="_gaps_m"> <MkFolder :defaultOpen="true"> - <template #icon><i class="ph-airplane-landing ph-bold ph-lg"></i></template> + <template #icon><i class="ti ti-plane-arrival"></i></template> <template #label>{{ i18n.ts._accountMigration.moveFrom }}</template> <template #caption>{{ i18n.ts._accountMigration.moveFromSub }}</template> @@ -20,7 +20,7 @@ SPDX-License-Identifier: AGPL-3.0-only </div> <div class="_gaps"> <MkInput v-for="(_, i) in accountAliases" v-model="accountAliases[i]"> - <template #prefix><i class="ph-airplane-landing ph-bold ph-lg"></i></template> + <template #prefix><i class="ti ti-plane-arrival"></i></template> <template #label>{{ i18n.tsx._accountMigration.moveFromLabel({ n: i + 1 }) }}</template> </MkInput> </div> @@ -123,7 +123,7 @@ init(); definePageMetadata(() => ({ title: i18n.ts.accountMigration, - icon: 'ph-airplane ph-bold ph-lg', + icon: 'ti ti-plane', })); </script> diff --git a/packages/frontend/src/pages/settings/mute-block.vue b/packages/frontend/src/pages/settings/mute-block.vue index 3c20505497..a5c381200f 100644 --- a/packages/frontend/src/pages/settings/mute-block.vue +++ b/packages/frontend/src/pages/settings/mute-block.vue @@ -20,7 +20,7 @@ SPDX-License-Identifier: AGPL-3.0-only </MkFolder> <MkFolder> - <template #icon><i class="ph-globe-simple ph-bold ph-lg"></i></template> + <template #icon><i class="ti ti-planet-off"></i></template> <template #label>{{ i18n.ts.instanceMute }}</template> <XInstanceMute/> diff --git a/packages/frontend/src/pages/settings/other.vue b/packages/frontend/src/pages/settings/other.vue index 99dab20000..86bbae431d 100644 --- a/packages/frontend/src/pages/settings/other.vue +++ b/packages/frontend/src/pages/settings/other.vue @@ -58,7 +58,7 @@ SPDX-License-Identifier: AGPL-3.0-only </MkFolder> <MkFolder> - <template #icon><i class="ph-flask ph-bold ph-lg"></i></template> + <template #icon><i class="ti ti-flask"></i></template> <template #label>{{ i18n.ts.experimentalFeatures }}</template> <div class="_gaps_m"> diff --git a/packages/frontend/src/pages/settings/profile.vue b/packages/frontend/src/pages/settings/profile.vue index aac3d8a4a5..4ffa367365 100644 --- a/packages/frontend/src/pages/settings/profile.vue +++ b/packages/frontend/src/pages/settings/profile.vue @@ -30,7 +30,7 @@ SPDX-License-Identifier: AGPL-3.0-only <MkInput v-model="profile.location" manualSave> <template #label>{{ i18n.ts.location }}</template> - <template #prefix><i class="ph-map-pin ph-bold ph-lg"></i></template> + <template #prefix><i class="ti ti-map-pin"></i></template> </MkInput> <MkInput v-model="profile.birthday" :max="setMaxBirthDate()" type="date" manualSave> diff --git a/packages/frontend/src/pages/settings/theme.vue b/packages/frontend/src/pages/settings/theme.vue index ecbab06733..eaa9b5b97e 100644 --- a/packages/frontend/src/pages/settings/theme.vue +++ b/packages/frontend/src/pages/settings/theme.vue @@ -34,7 +34,7 @@ SPDX-License-Identifier: AGPL-3.0-only <div class="selects"> <MkSelect v-model="lightThemeId" large class="select"> <template #label>{{ i18n.ts.themeForLightMode }}</template> - <template #prefix><i class="ph-sun ph-bold ph-lg"></i></template> + <template #prefix><i class="ti ti-sun"></i></template> <option v-if="instanceLightTheme" :key="'instance:' + instanceLightTheme.id" :value="instanceLightTheme.id">{{ instanceLightTheme.name }}</option> <optgroup v-if="installedLightThemes.length > 0" :label="i18n.ts._theme.installedThemes"> <option v-for="x in installedLightThemes" :key="'installed:' + x.id" :value="x.id">{{ x.name }}</option> @@ -45,7 +45,7 @@ SPDX-License-Identifier: AGPL-3.0-only </MkSelect> <MkSelect v-model="darkThemeId" large class="select"> <template #label>{{ i18n.ts.themeForDarkMode }}</template> - <template #prefix><i class="ph-moon ph-bold ph-lg"></i></template> + <template #prefix><i class="ti ti-moon"></i></template> <option v-if="instanceDarkTheme" :key="'instance:' + instanceDarkTheme.id" :value="instanceDarkTheme.id">{{ instanceDarkTheme.name }}</option> <optgroup v-if="installedDarkThemes.length > 0" :label="i18n.ts._theme.installedThemes"> <option v-for="x in installedDarkThemes" :key="'installed:' + x.id" :value="x.id">{{ x.name }}</option> diff --git a/packages/frontend/src/pages/settings/webhook.edit.vue b/packages/frontend/src/pages/settings/webhook.edit.vue index 2083b276c3..e9fb1e471e 100644 --- a/packages/frontend/src/pages/settings/webhook.edit.vue +++ b/packages/frontend/src/pages/settings/webhook.edit.vue @@ -116,6 +116,6 @@ const headerTabs = computed(() => []); definePageMetadata(() => ({ title: 'Edit webhook', - icon: 'ph-webhooks-logo ph-bold ph-lg', + icon: 'ti ti-webhook', })); </script> diff --git a/packages/frontend/src/pages/settings/webhook.new.vue b/packages/frontend/src/pages/settings/webhook.new.vue index 8a0e72193e..5bf85e48f4 100644 --- a/packages/frontend/src/pages/settings/webhook.new.vue +++ b/packages/frontend/src/pages/settings/webhook.new.vue @@ -84,6 +84,6 @@ const headerTabs = computed(() => []); definePageMetadata(() => ({ title: 'Create new webhook', - icon: 'ph-webhooks-logo ph-bold ph-lg', + icon: 'ti ti-webhook', })); </script> diff --git a/packages/frontend/src/pages/settings/webhook.vue b/packages/frontend/src/pages/settings/webhook.vue index 204441ade3..0d11b00c97 100644 --- a/packages/frontend/src/pages/settings/webhook.vue +++ b/packages/frontend/src/pages/settings/webhook.vue @@ -16,7 +16,7 @@ SPDX-License-Identifier: AGPL-3.0-only <FormLink v-for="webhook in items" :key="webhook.id" :to="`/settings/webhook/edit/${webhook.id}`"> <template #icon> <i v-if="webhook.active === false" class="ti ti-player-pause"></i> - <i v-else-if="webhook.latestStatus === null" class="ph-circle ph-bold ph-lg"></i> + <i v-else-if="webhook.latestStatus === null" class="ti ti-circle"></i> <i v-else-if="[200, 201, 204].includes(webhook.latestStatus)" class="ti ti-check" :style="{ color: 'var(--success)' }"></i> <i v-else class="ti ti-alert-triangle" :style="{ color: 'var(--error)' }"></i> </template> @@ -52,6 +52,6 @@ const headerTabs = computed(() => []); definePageMetadata(() => ({ title: 'Webhook', - icon: 'ph-webhooks-logo ph-bold ph-lg', + icon: 'ti ti-webhook', })); </script> diff --git a/packages/frontend/src/pages/signup-complete.vue b/packages/frontend/src/pages/signup-complete.vue index c679ec4bb1..226f08bf8e 100644 --- a/packages/frontend/src/pages/signup-complete.vue +++ b/packages/frontend/src/pages/signup-complete.vue @@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-only <div :class="$style.formContainer"> <form :class="$style.form" class="_panel" @submit.prevent="submit()"> <div :class="$style.banner"> - <i class="ti ti-check"></i> + <i class="ti ti-user-check"></i> </div> <div class="_gaps_m" style="padding: 32px;"> <div>{{ i18n.tsx.clickToFinishEmailVerification({ ok: i18n.ts.gotIt }) }}</div> diff --git a/packages/frontend/src/pages/user-tag.vue b/packages/frontend/src/pages/user-tag.vue index b6ebfb8abc..a77493fe47 100644 --- a/packages/frontend/src/pages/user-tag.vue +++ b/packages/frontend/src/pages/user-tag.vue @@ -36,7 +36,7 @@ const tagUsers = computed(() => ({ definePageMetadata(() => ({ title: props.tag, - icon: 'ph-user-circle ph-bold ph-lg', + icon: 'ti ti-user-search', })); </script> diff --git a/packages/frontend/src/pages/user/activity.vue b/packages/frontend/src/pages/user/activity.vue index c8d79ea670..994bd52705 100644 --- a/packages/frontend/src/pages/user/activity.vue +++ b/packages/frontend/src/pages/user/activity.vue @@ -7,7 +7,7 @@ SPDX-License-Identifier: AGPL-3.0-only <MkSpacer :contentMax="700"> <div class="_gaps"> <MkFoldableSection class="item"> - <template #header><i class="ph-pulse ph-bold ph-lg"></i> Heatmap</template> + <template #header><i class="ti ti-activity"></i> Heatmap</template> <MkHeatmap :user="user" :src="'notes'"/> </MkFoldableSection> <MkFoldableSection class="item"> diff --git a/packages/frontend/src/pages/user/home.vue b/packages/frontend/src/pages/user/home.vue index fb94e507ac..9d5d991d00 100644 --- a/packages/frontend/src/pages/user/home.vue +++ b/packages/frontend/src/pages/user/home.vue @@ -24,7 +24,7 @@ SPDX-License-Identifier: AGPL-3.0-only <span class="username"><MkAcct :user="user" :detail="true"/></span> <span v-if="user.isAdmin" :title="i18n.ts.isAdmin" style="color: var(--badge);"><i class="ti ti-shield"></i></span> <span v-if="user.isLocked" :title="i18n.ts.isLocked"><i class="ti ti-lock"></i></span> - <span v-if="user.isBot" :title="i18n.ts.isBot"><i class="ph-robot ph-bold ph-lg"></i></span> + <span v-if="user.isBot" :title="i18n.ts.isBot"><i class="ti ti-robot"></i></span> <button v-if="$i && !isEditingMemo && !memoDraft" class="_button add-note-button" @click="showMemoTextarea"> <i class="ti ti-edit"/> {{ i18n.ts.addMemo }} </button> @@ -43,7 +43,7 @@ SPDX-License-Identifier: AGPL-3.0-only <span class="username"><MkAcct :user="user" :detail="true"/></span> <span v-if="user.isAdmin" :title="i18n.ts.isAdmin" style="color: var(--badge);"><i class="ti ti-shield"></i></span> <span v-if="user.isLocked" :title="i18n.ts.isLocked"><i class="ti ti-lock"></i></span> - <span v-if="user.isBot" :title="i18n.ts.isBot"><i class="ph-robot ph-bold ph-lg"></i></span> + <span v-if="user.isBot" :title="i18n.ts.isBot"><i class="ti ti-robot"></i></span> </div> </div> <div v-if="user.roles.length > 0" class="roles"> @@ -79,7 +79,7 @@ SPDX-License-Identifier: AGPL-3.0-only </div> <div class="fields system"> <dl v-if="user.location" class="field"> - <dt class="name"><i class="ph-map-pin ph-bold ph-lg ti-fw"></i> {{ i18n.ts.location }}</dt> + <dt class="name"><i class="ti ti-map-pin ti-fw"></i> {{ i18n.ts.location }}</dt> <dd class="value">{{ user.location }}</dd> </dl> <dl v-if="user.birthday" class="field"> @@ -87,7 +87,7 @@ SPDX-License-Identifier: AGPL-3.0-only <dd class="value">{{ user.birthday.replace('-', '/').replace('-', '/') }} ({{ i18n.tsx.yearsOld({ age }) }})</dd> </dl> <dl class="field"> - <dt class="name"><i class="ph-calendar ph-bold ph-lg ti-fw"></i> {{ i18n.ts.registeredDate }}</dt> + <dt class="name"><i class="ti ti-calendar ti-fw"></i> {{ i18n.ts.registeredDate }}</dt> <dd class="value">{{ dateString(user.createdAt) }} (<MkTime :time="user.createdAt"/>)</dd> </dl> </div> @@ -98,7 +98,7 @@ SPDX-License-Identifier: AGPL-3.0-only </dt> <dd class="value"> <Mfm :text="field.value" :author="user" :colored="false"/> - <i v-if="user.verifiedLinks.includes(field.value)" v-tooltip:dialog="i18n.ts.verifiedLink" class="ph-seal-check ph-bold ph-lg" :class="$style.verifiedLink"></i> + <i v-if="user.verifiedLinks.includes(field.value)" v-tooltip:dialog="i18n.ts.verifiedLink" class="ti ti-circle-check" :class="$style.verifiedLink"></i> </dd> </dl> </div> diff --git a/packages/frontend/src/scripts/get-note-menu.ts b/packages/frontend/src/scripts/get-note-menu.ts index a252486b29..433ddb1ff4 100644 --- a/packages/frontend/src/scripts/get-note-menu.ts +++ b/packages/frontend/src/scripts/get-note-menu.ts @@ -317,7 +317,7 @@ export function getNoteMenu(props: { menu = [ ...( props.currentClip?.userId === $i.id ? [{ - icon: 'ph-backspace ph-bold ph-lg', + icon: 'ti ti-backspace', text: i18n.ts.unclip, danger: true, action: unclip, @@ -347,13 +347,13 @@ export function getNoteMenu(props: { action: share, }] : []), $i && $i.policies.canUseTranslator && instance.translatorAvailable ? { - icon: 'ph-translate ph-bold ph-lg', + icon: 'ti ti-language-hiragana', text: i18n.ts.translate, action: translate, } : undefined, { type: 'divider' }, statePromise.then(state => state.isFavorited ? { - icon: 'ph-star-half ph-bold ph-lg', + icon: 'ti ti-star-off', text: i18n.ts.unfavorite, action: () => toggleFavorite(false), } : { @@ -368,16 +368,16 @@ export function getNoteMenu(props: { children: () => getNoteClipMenu(props), }, statePromise.then(state => state.isMutedThread ? { - icon: 'ph-bell-slash ph-bold ph-lg', + icon: 'ti ti-message-off', text: i18n.ts.unmuteThread, action: () => toggleThreadMute(false), } : { - icon: 'ph-bell-slash ph-bold ph-lg', + icon: 'ti ti-message-off', text: i18n.ts.muteThread, action: () => toggleThreadMute(true), }), appearNote.userId === $i.id ? ($i.pinnedNoteIds ?? []).includes(appearNote.id) ? { - icon: 'ph-push-pin-slash ph-bold ph-lg', + icon: 'ti ti-pinned-off', text: i18n.ts.unpin, action: () => togglePin(false), } : { @@ -425,7 +425,7 @@ export function getNoteMenu(props: { if (channel.pinnedNoteIds.includes(appearNote.id)) { channelChildMenu.push({ - icon: 'ph-push-pin-slash ph-bold ph-lg', + icon: 'ti ti-pinned-off', text: i18n.ts.unpin, action: () => os.apiWithDialog('channels/update', { channelId: appearNote.channel!.id, diff --git a/packages/frontend/src/ui/deck/antenna-column.vue b/packages/frontend/src/ui/deck/antenna-column.vue index 0185d742eb..c3dc1e4fce 100644 --- a/packages/frontend/src/ui/deck/antenna-column.vue +++ b/packages/frontend/src/ui/deck/antenna-column.vue @@ -79,7 +79,7 @@ const menu: MenuItem[] = [ action: editAntenna, }, { - icon: 'ph-bell-ringing ph-bold ph-lg', + icon: 'ti ti-bell', text: i18n.ts._deck.newNoteNotificationSettings, action: () => soundSettingsButton(soundSetting), }, diff --git a/packages/frontend/vite.config.ts b/packages/frontend/vite.config.ts index 2023b7e18e..f5f65fc254 100644 --- a/packages/frontend/vite.config.ts +++ b/packages/frontend/vite.config.ts @@ -381,6 +381,49 @@ export function getConfig(): UserConfig { 'ti ti-messages-off': 'ph-envelope-open ph-bold ph-lg', 'ti ti-share': 'ph-share-network ph-bold ph-lg', 'ti ti-edit': 'ph-pencil-simple-line ph-bold ph-lg', + 'ti ti-list-search': 'ph-list ph-bold ph-lg-search', + 'ti ti-equal-not': 'ph-prohibit ph-bold ph-lg', + 'ti ti-world-download': 'ph-cloud-arrow-down ph-bold ph-lg', + 'ti ti-world-upload': 'ph-cloud-arrow-up ph-bold ph-lg', + 'ti ti-access-point': 'ph-broadcast ph-bold ph-lg', + 'ti ti-point': 'ph-circle ph-bold ph-lg', + 'ti ti-checkbox': 'ph-check ph-bold ph-lg', + 'ti ti-flare': 'ph-fire ph-bold ph-lg', + 'ti ti-calendar-time': 'ph-calendar ph-bold ph-lg', + 'ti ti-calendar': 'ph-calendar ph-bold ph-lg', + 'ti ti-comet': 'ph-shooting-star ph-bold ph-lg', + 'ti ti-apple': 'ph-orange-slice ph-bold ph-lg', + 'ti ti-bookmark': 'ph-bookmark ph-bold ph-lg', + 'ti ti-heart-off': 'ph-heart-break ph-bold ph-lg', + 'ti ti-filter': 'ph-funnel ph-bold ph-lg', + 'ti ti-align-left': 'ph-text-align-left ph-bold ph-lg', + 'ti ti-clock-edit': 'ph-pencil-simple ph-bold ph-lg', + 'ti ti-circle-filled': 'ph-circle-half ph-bold ph-lg', + 'ti ti-circle': 'ph-circle ph-bold ph-lg', + 'ti ti-circle-check': 'ph-seal-check ph-bold ph-lg', + 'ti ti-switch-horizontal': 'ph-arrows-left-right ph-bold ph-lg', + 'ti ti-api': 'ph-key ph-bold ph-lg', + 'ti ti-webhook': 'ph-webhooks-logo ph-bold ph-lg', + 'ti ti-package': 'ph-package ph-bold ph-lg', + 'ti ti-plane': 'ph-airplane ph-bold ph-lg', + 'ti ti-power': 'ph-power ph-bold ph-lg', + 'ti ti-plane-arrival': 'ph-airplane-landing ph-bold ph-lg', + 'ti ti-equal-double': 'ph-equals ph-bold ph-lg', + 'ti ti-planet-off': 'ph-globe-simple ph-bold ph-lg', + 'ti ti-flask': 'ph-flask ph-bold ph-lg', + 'ti ti-map-pin': 'ph-map-pin ph-bold ph-lg', + 'ti ti-sun': 'ph-sun ph-bold ph-lg', + 'ti ti-moon': 'ph-moon ph-bold ph-lg', + 'ti ti-user-check': 'ph-check ph-bold ph-lg', + 'ti ti-user-search': 'ph-user-circle ph-bold ph-lg', + 'ti ti-activity': 'ph-pulse ph-bold ph-lg', + 'ti ti-robot': 'ph-robot ph-bold ph-lg', + 'ti ti-backspace': 'ph-backspace ph-bold ph-lg', + 'ti ti-language-hiragana': 'ph-translate ph-bold ph-lg', + 'ti ti-star-off': 'ph-star-half ph-bold ph-lg', + 'ti ti-message-off': 'ph-bell-slash ph-bold ph-lg', + 'ti ti-pinned-off': 'ph-push-pin-slash ph-bold ph-lg', + 'ti ti-user-off': 'ph-user-minus ph-bold ph-lg', }, }), ...process.env.NODE_ENV === 'production'