replaced many more ti-*

This commit is contained in:
dakkar 2024-06-22 15:12:43 +01:00
parent f2c56f395e
commit fccfde8f2b
42 changed files with 113 additions and 71 deletions

View file

@ -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',

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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;"/>

View file

@ -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 {

View file

@ -69,7 +69,7 @@ const headerTabs = computed(() => []);
definePageMetadata(() => ({
title: i18n.ts.serverRules,
icon: 'ph-check ph-bold ph-lg',
icon: 'ti ti-checkbox',
}));
</script>

View file

@ -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(() => ({

View file

@ -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,
}, {

View file

@ -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,

View file

@ -1220,7 +1220,7 @@ onDeactivated(() => {
definePageMetadata(() => ({
title: i18n.ts.bubbleGame,
icon: 'ph-orange-slice ph-bold ph-lg',
icon: 'ti ti-apple',
}));
</script>

View file

@ -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">

View file

@ -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,

View file

@ -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"/>

View file

@ -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>

View file

@ -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>

View file

@ -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,

View file

@ -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>

View file

@ -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,

View file

@ -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>

View file

@ -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() ? [{

View file

@ -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,

View file

@ -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>

View file

@ -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,

View file

@ -47,6 +47,6 @@ const headerTabs = computed(() => []);
definePageMetadata(() => ({
title: 'API',
icon: 'ph-webhooks-logo ph-bold ph-lg',
icon: 'ti ti-api',
}));
</script>

View file

@ -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>

View file

@ -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({

View file

@ -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>

View file

@ -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/>

View file

@ -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">

View file

@ -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>

View file

@ -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>

View file

@ -116,6 +116,6 @@ const headerTabs = computed(() => []);
definePageMetadata(() => ({
title: 'Edit webhook',
icon: 'ph-webhooks-logo ph-bold ph-lg',
icon: 'ti ti-webhook',
}));
</script>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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">

View file

@ -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>

View file

@ -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,

View file

@ -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),
},

View file

@ -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'