mirror of
https://github.com/hcengineering/platform.git
synced 2024-11-22 03:14:40 +03:00
Replace "you and" (#2921)
This commit is contained in:
parent
4b091fa868
commit
be23c96c5a
@ -69,4 +69,8 @@
|
||||
<path d="M11.9,13.5c0,0,0.1,0,0.2,0c0,0,0.1,0,0.1,0c0,0,0,0,0,0c2.2-0.1,3.9-1.8,3.9-4c0-2.2-1.8-4-4-4c-2.2,0-4,1.8-4,4 C8,11.7,9.7,13.5,11.9,13.5z M12,7c1.4,0,2.5,1.1,2.5,2.5c0,1.4-1.1,2.5-2.4,2.5c-0.1,0-0.2,0-0.3,0c-1.3-0.1-2.4-1.2-2.4-2.5 C9.5,8.1,10.6,7,12,7z" />
|
||||
<path d="M22.8,12c0-5.9-4.8-10.8-10.8-10.8S1.2,6.1,1.2,12c0,3.1,1.3,5.9,3.5,7.9c0,0,0,0,0,0C4.8,20,4.9,20,5,20.1 c0.1,0.1,0.3,0.2,0.4,0.3c0.1,0.1,0.3,0.2,0.4,0.3C5.9,20.8,6,20.9,6.2,21c0.2,0.1,0.3,0.2,0.5,0.3c0.1,0.1,0.3,0.2,0.4,0.2 c0.2,0.1,0.3,0.2,0.5,0.2C7.7,21.8,7.8,21.9,8,22c0.2,0.1,0.4,0.1,0.5,0.2c0.1,0,0.3,0.1,0.4,0.1c0.2,0.1,0.4,0.1,0.6,0.1 c0.1,0,0.3,0.1,0.4,0.1c0.2,0,0.4,0.1,0.6,0.1c0.1,0,0.3,0,0.4,0.1c0.3,0,0.7,0.1,1,0.1c0.4,0,0.7,0,1-0.1c0.1,0,0.3,0,0.4-0.1 c0.2,0,0.4-0.1,0.6-0.1c0.1,0,0.3-0.1,0.4-0.1c0.2,0,0.4-0.1,0.6-0.1c0.1,0,0.3-0.1,0.4-0.1c0.2-0.1,0.4-0.1,0.5-0.2 c0.1-0.1,0.3-0.1,0.4-0.2c0.2-0.1,0.3-0.2,0.5-0.2c0.1-0.1,0.3-0.1,0.4-0.2c0.2-0.1,0.3-0.2,0.5-0.3c0.1-0.1,0.3-0.2,0.4-0.3 c0.1-0.1,0.3-0.2,0.4-0.3c0.1-0.1,0.3-0.2,0.4-0.3c0.1-0.1,0.1-0.1,0.2-0.2c0,0,0,0,0,0C21.4,17.9,22.8,15.1,22.8,12z M2.8,12 c0-5.1,4.1-9.2,9.2-9.2s9.2,4.1,9.2,9.2c0,2.3-0.8,4.3-2.2,6c-0.4-0.7-0.9-1.3-1.7-1.8c-3-2-7.8-2-10.8,0c-0.7,0.5-1.3,1.1-1.7,1.8 C3.6,16.3,2.8,14.3,2.8,12z M17.9,19.1c-0.1,0.1-0.2,0.1-0.3,0.2c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.2,0.1-0.3,0.2 c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.2,0.1-0.3,0.2c-0.2,0.1-0.3,0.2-0.5,0.2c-0.1,0-0.2,0.1-0.3,0.1c-0.2,0.1-0.3,0.1-0.5,0.2 c-0.1,0-0.2,0.1-0.4,0.1c-0.2,0-0.3,0.1-0.5,0.1c-0.1,0-0.2,0.1-0.4,0.1c-0.2,0-0.4,0.1-0.6,0.1c-0.1,0-0.2,0-0.3,0 c-0.3,0-0.6,0-0.9,0c-0.3,0-0.6,0-0.9,0c-0.1,0-0.2,0-0.3,0c-0.2,0-0.4,0-0.6-0.1c-0.1,0-0.2-0.1-0.4-0.1c-0.2,0-0.3-0.1-0.5-0.1 c-0.1,0-0.2-0.1-0.4-0.1c-0.2-0.1-0.3-0.1-0.5-0.2c-0.1,0-0.2-0.1-0.3-0.1c-0.2-0.1-0.3-0.1-0.5-0.2c-0.1-0.1-0.2-0.1-0.3-0.2 c-0.2-0.1-0.3-0.2-0.4-0.3c-0.1-0.1-0.2-0.1-0.3-0.2c-0.1-0.1-0.3-0.2-0.4-0.3c-0.1-0.1-0.2-0.1-0.3-0.2c0,0,0,0,0,0 c0.2-0.6,0.7-1.2,1.4-1.7c2.5-1.6,6.6-1.6,9.1,0C17.3,17.9,17.7,18.5,17.9,19.1C17.9,19.1,17.9,19.1,17.9,19.1z" />
|
||||
</symbol>
|
||||
<symbol id="componentMembers" viewBox="0 0 16 16">
|
||||
<path d="M1 3C1 1.89543 1.89543 1 3 1H9C10.1046 1 11 1.89543 11 3V3.5H6C4.61929 3.5 3.5 4.61929 3.5 6V11H3C1.89543 11 1 10.1046 1 9V3Z" />
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 5C5.89543 5 5 5.89543 5 7V13C5 14.1046 5.89543 15 7 15H13C14.1046 15 15 14.1046 15 13V7C15 5.89543 14.1046 5 13 5H7ZM10 10C10.9665 10 11.5 9.2165 11.5 8.25C11.5 7.2835 10.9665 6.5 10 6.5C9.0335 6.5 8.5 7.2835 8.5 8.25C8.5 9.2165 9.0335 10 10 10ZM7 12.5616C7 11.5144 7.9841 10.746 9 11C9.47572 11.7136 10.5243 11.7136 11 11C12.0159 10.746 13 11.5144 13 12.5616V13.0101C13 13.2806 12.7806 13.5 12.5101 13.5H7.48995C7.21936 13.5 7 13.2806 7 13.0101V12.5616Z" />
|
||||
</symbol>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 15 KiB |
@ -37,6 +37,7 @@ loadMetadata(contact.icon, {
|
||||
SocialEdit: `${icons}#social-edit`,
|
||||
Homepage: `${icons}#homepage`,
|
||||
Whatsapp: `${icons}#whatsapp`,
|
||||
Profile: `${icons}#profile`
|
||||
Profile: `${icons}#profile`,
|
||||
ComponentMembers: `${icons}#componentMembers`
|
||||
})
|
||||
addStringsLoader(contactId, async (lang: string) => await import(`../lang/${lang}.json`))
|
||||
|
@ -19,7 +19,6 @@
|
||||
import contact, { Employee } from '@hcengineering/contact'
|
||||
import { getClient } from '@hcengineering/presentation'
|
||||
import { IntlString, translate } from '@hcengineering/platform'
|
||||
import tracker from '../../../tracker-resources/src/plugin'
|
||||
import UsersPopup from './UsersPopup.svelte'
|
||||
|
||||
export let value: Doc
|
||||
@ -83,6 +82,6 @@
|
||||
{width}
|
||||
{justify}
|
||||
title={buttonTitle}
|
||||
icon={tracker.icon.ComponentMembers}
|
||||
icon={contact.icon.ComponentMembers}
|
||||
on:click={handleMembersEditorOpened}
|
||||
/>
|
||||
|
@ -226,6 +226,7 @@ export const contactPlugin = plugin(contactId, {
|
||||
SocialEdit: '' as Asset,
|
||||
Homepage: '' as Asset,
|
||||
Whatsapp: '' as Asset,
|
||||
ComponentMembers: '' as Asset,
|
||||
Profile: '' as Asset
|
||||
},
|
||||
space: {
|
||||
|
@ -9,7 +9,6 @@
|
||||
"Copy": "Copy",
|
||||
"MessagesSelected": "messages selected",
|
||||
"PublishSelected": "Publish selected",
|
||||
"YouAnd": "You and",
|
||||
"CreateMessage": "Create message",
|
||||
"ShareMessages": "Share messages",
|
||||
"Connect": "Connect",
|
||||
@ -33,6 +32,6 @@
|
||||
"WriteEmail": "Write Email",
|
||||
"Shared": "Shared",
|
||||
"AvailableTo": "Available to",
|
||||
"HaveWrittenEmail": "have written an"
|
||||
"HaveWrittenEmail": "have written an email"
|
||||
}
|
||||
}
|
@ -9,7 +9,6 @@
|
||||
"Copy": "Копия",
|
||||
"MessagesSelected": "сообщений выбрано",
|
||||
"PublishSelected": "Опубликовать выбранное",
|
||||
"YouAnd": "Вы и",
|
||||
"CreateMessage": "Создать сообщение",
|
||||
"ShareMessages": "Поделиться сообщениями",
|
||||
"Connect": "Подключить",
|
||||
@ -33,6 +32,6 @@
|
||||
"WriteEmail": "Написать Email",
|
||||
"Shared": "Публичный",
|
||||
"AvailableTo": "Доступен для",
|
||||
"HaveWrittenEmail": "написал(а)"
|
||||
"HaveWrittenEmail": "написал(а) сообщение"
|
||||
}
|
||||
}
|
@ -123,7 +123,6 @@
|
||||
<div class="title-wrapper">
|
||||
<span class="wrapped-title">Email</span>
|
||||
<span class="wrapped-subtitle">
|
||||
<Label label={gmail.string.YouAnd} />
|
||||
<b>{getName(object)}</b>
|
||||
</span>
|
||||
</div>
|
||||
|
@ -15,8 +15,7 @@
|
||||
<script lang="ts">
|
||||
import { Message } from '@hcengineering/gmail'
|
||||
import { getClient } from '@hcengineering/presentation'
|
||||
import { Label, showPopup } from '@hcengineering/ui'
|
||||
import gmail from '../../plugin'
|
||||
import { showPopup } from '@hcengineering/ui'
|
||||
import Main from '../Main.svelte'
|
||||
|
||||
export let value: Message
|
||||
@ -30,4 +29,4 @@
|
||||
}
|
||||
</script>
|
||||
|
||||
<span class="over-underline" on:click={click}><Label label={gmail.string.Email} /></span>
|
||||
<span class="over-underline overflow-label max-w-80" on:click={click}>{value.subject}</span>
|
||||
|
@ -25,7 +25,6 @@ export default mergeIds(gmailId, gmail, {
|
||||
Copy: '' as IntlString,
|
||||
MessagesSelected: '' as IntlString,
|
||||
PublishSelected: '' as IntlString,
|
||||
YouAnd: '' as IntlString,
|
||||
CreateMessage: '' as IntlString,
|
||||
ShareMessages: '' as IntlString,
|
||||
Connect: '' as IntlString,
|
||||
|
@ -22,7 +22,6 @@
|
||||
"Telegram": "Telegram",
|
||||
"TelegramIntegrationDesc": "Use telegram integration",
|
||||
"Status": "Status",
|
||||
"YouAnd": "You and",
|
||||
"MessagesSelected": "messages selected"
|
||||
}
|
||||
}
|
@ -22,7 +22,6 @@
|
||||
"Telegram": "Telegram",
|
||||
"TelegramIntegrationDesc": "Подключить Telegram",
|
||||
"Status": "Статус",
|
||||
"YouAnd": "Вы и",
|
||||
"MessagesSelected": "сообщений выбрано"
|
||||
}
|
||||
}
|
@ -42,6 +42,7 @@
|
||||
"@hcengineering/chunter": "^0.6.2",
|
||||
"@hcengineering/login": "^0.6.1",
|
||||
"@hcengineering/core": "^0.6.21",
|
||||
"@hcengineering/contact-resources": "^0.6.0",
|
||||
"@hcengineering/notification-resources": "^0.6.0",
|
||||
"@hcengineering/attachment": "^0.6.1",
|
||||
"@hcengineering/attachment-resources": "^0.6.0",
|
||||
|
@ -16,15 +16,32 @@
|
||||
<script lang="ts">
|
||||
import attachment from '@hcengineering/attachment'
|
||||
import { AttachmentRefInput } from '@hcengineering/attachment-resources'
|
||||
import contact, { Channel, Contact, EmployeeAccount, getName as getContactName } from '@hcengineering/contact'
|
||||
import { Class, generateId, getCurrentAccount, Ref, SortingOrder } from '@hcengineering/core'
|
||||
import contact, {
|
||||
Channel,
|
||||
Contact,
|
||||
Employee,
|
||||
EmployeeAccount,
|
||||
getName as getContactName
|
||||
} from '@hcengineering/contact'
|
||||
import { Class, generateId, getCurrentAccount, IdMap, Ref, SortingOrder } from '@hcengineering/core'
|
||||
import { NotificationClientImpl } from '@hcengineering/notification-resources'
|
||||
import { getResource } from '@hcengineering/platform'
|
||||
import { getEmbeddedLabel, getResource } from '@hcengineering/platform'
|
||||
import { createQuery, getClient } from '@hcengineering/presentation'
|
||||
import setting, { Integration } from '@hcengineering/setting'
|
||||
import type { NewTelegramMessage, SharedTelegramMessage, TelegramMessage } from '@hcengineering/telegram'
|
||||
import templates, { TemplateDataProvider } from '@hcengineering/templates'
|
||||
import { Button, eventToHTMLElement, Icon, IconShare, Label, Panel, Scroller, showPopup } from '@hcengineering/ui'
|
||||
import {
|
||||
Button,
|
||||
eventToHTMLElement,
|
||||
Icon,
|
||||
IconShare,
|
||||
Label,
|
||||
Panel,
|
||||
Scroller,
|
||||
showPopup,
|
||||
tooltip
|
||||
} from '@hcengineering/ui'
|
||||
import { Avatar, employeeByIdStore } from '@hcengineering/contact-resources'
|
||||
import { createEventDispatcher, onDestroy } from 'svelte'
|
||||
import telegram from '../plugin'
|
||||
import Connect from './Connect.svelte'
|
||||
@ -96,8 +113,6 @@
|
||||
if (channel !== undefined) {
|
||||
notificationClient.updateLastView(channel._id, channel._class, undefined, true)
|
||||
}
|
||||
const accountsIds = new Set(messages.map((p) => p.modifiedBy as Ref<EmployeeAccount>))
|
||||
updateAccountsQuery(accountsIds)
|
||||
},
|
||||
{
|
||||
sort: { sendOn: SortingOrder.Descending },
|
||||
@ -111,11 +126,9 @@
|
||||
|
||||
$: channel && updateMessagesQuery(channel._id)
|
||||
|
||||
function updateAccountsQuery (accountsIds: Set<Ref<EmployeeAccount>>): void {
|
||||
accauntsQuery.query(contact.class.EmployeeAccount, { _id: { $in: Array.from(accountsIds) } }, (result) => {
|
||||
accounts = result
|
||||
})
|
||||
}
|
||||
accauntsQuery.query(contact.class.EmployeeAccount, {}, (result) => {
|
||||
accounts = result
|
||||
})
|
||||
|
||||
settingsQuery.query(
|
||||
setting.class.Integration,
|
||||
@ -202,6 +215,30 @@
|
||||
}
|
||||
}
|
||||
let loading = false
|
||||
|
||||
function getParticipants (
|
||||
messages: TelegramMessage[],
|
||||
accounts: EmployeeAccount[],
|
||||
object: Contact | undefined,
|
||||
employees: IdMap<Employee>
|
||||
): Contact[] {
|
||||
if (object === undefined || accounts.length === 0) return []
|
||||
const res: IdMap<Contact> = new Map()
|
||||
res.set(object._id, object)
|
||||
const accs = new Set(messages.map((p) => p.modifiedBy))
|
||||
for (const acc of accs) {
|
||||
const account = accounts.find((p) => p._id === acc)
|
||||
if (account !== undefined) {
|
||||
const emp = employees.get(account.employee)
|
||||
if (emp !== undefined) {
|
||||
res.set(emp._id, emp)
|
||||
}
|
||||
}
|
||||
}
|
||||
return Array.from(res.values())
|
||||
}
|
||||
|
||||
$: participants = getParticipants(messages, accounts, object, $employeeByIdStore)
|
||||
</script>
|
||||
|
||||
{#if object !== undefined}
|
||||
@ -218,11 +255,14 @@
|
||||
<div class="antiTitle icon-wrapper">
|
||||
<div class="wrapped-icon"><Icon icon={TelegramIcon} size={'medium'} /></div>
|
||||
<div class="title-wrapper">
|
||||
<span class="wrapped-title">Telegram</span>
|
||||
<span class="wrapped-subtitle">
|
||||
<Label label={telegram.string.YouAnd} />
|
||||
<b>{getContactName(object)}</b>
|
||||
</span>
|
||||
<div class="wrapped-title flex">
|
||||
Telegram
|
||||
{#each participants as participant}
|
||||
<div class="ml-2" use:tooltip={{ label: getEmbeddedLabel(getContactName(participant)) }}>
|
||||
<Avatar size="x-small" avatar={participant.avatar} />
|
||||
</div>
|
||||
{/each}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</svelte:fragment>
|
||||
|
@ -34,7 +34,6 @@ export default mergeIds(telegramId, telegram, {
|
||||
Cancel: '' as IntlString,
|
||||
Share: '' as IntlString,
|
||||
PublishSelected: '' as IntlString,
|
||||
YouAnd: '' as IntlString,
|
||||
MessagesSelected: '' as IntlString
|
||||
}
|
||||
})
|
||||
|
@ -119,10 +119,6 @@
|
||||
<rect x="1" y="5.75" width="9" height="2.5" rx="0.5" />
|
||||
<rect x="4" y="10.5" width="9" height="2.5" rx="0.5" />
|
||||
</symbol>
|
||||
<symbol id="componentMembers" viewBox="0 0 16 16">
|
||||
<path d="M1 3C1 1.89543 1.89543 1 3 1H9C10.1046 1 11 1.89543 11 3V3.5H6C4.61929 3.5 3.5 4.61929 3.5 6V11H3C1.89543 11 1 10.1046 1 9V3Z" />
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 5C5.89543 5 5 5.89543 5 7V13C5 14.1046 5.89543 15 7 15H13C14.1046 15 15 14.1046 15 13V7C15 5.89543 14.1046 5 13 5H7ZM10 10C10.9665 10 11.5 9.2165 11.5 8.25C11.5 7.2835 10.9665 6.5 10 6.5C9.0335 6.5 8.5 7.2835 8.5 8.25C8.5 9.2165 9.0335 10 10 10ZM7 12.5616C7 11.5144 7.9841 10.746 9 11C9.47572 11.7136 10.5243 11.7136 11 11C12.0159 10.746 13 11.5144 13 12.5616V13.0101C13 13.2806 12.7806 13.5 12.5101 13.5H7.48995C7.21936 13.5 7 13.2806 7 13.0101V12.5616Z" />
|
||||
</symbol>
|
||||
|
||||
<symbol id="component-status-backlog" viewBox="1 1 14 14" fill="#F2994A">
|
||||
<path d="M2 4.74695C2 4.68722 2.01039 4.62899 2.02989 4.57451L2.11601 4.42269C2.15266 4.37819 2.19711 4.33975 2.24806 4.30966L3.16473 3.76824L3.92054 5.08013L3.5 5.32852V5.8313H2V4.74695Z" />
|
||||
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 32 KiB |
@ -54,7 +54,6 @@ loadMetadata(tracker.icon, {
|
||||
|
||||
ComponentsList: `${icons}#list`,
|
||||
ComponentsTimeline: `${icons}#timeline`,
|
||||
ComponentMembers: `${icons}#componentMembers`,
|
||||
|
||||
ComponentStatusBacklog: `${icons}#component-status-backlog`,
|
||||
ComponentStatusPlanned: `${icons}#component-status-planned`,
|
||||
|
@ -460,7 +460,6 @@ export default plugin(trackerId, {
|
||||
|
||||
ComponentsList: '' as Asset,
|
||||
ComponentsTimeline: '' as Asset,
|
||||
ComponentMembers: '' as Asset,
|
||||
|
||||
ComponentStatusBacklog: '' as Asset,
|
||||
ComponentStatusPlanned: '' as Asset,
|
||||
|
Loading…
Reference in New Issue
Block a user