Добавлены настройки для удаленных изображений в конфигурацию Next.js. Удалены неиспользуемые заголовки и улучшен интерфейс компонентов панели управления и мессенджера, включая добавление новых заголовков с кнопками и сокращенных названий компаний. Оптимизированы стили и структура кода в компонентах.
This commit is contained in:
@ -122,6 +122,37 @@ export function MessengerChat({ counterparty }: MessengerChatProps) {
|
||||
return name.charAt(0).toUpperCase()
|
||||
}
|
||||
|
||||
const getShortCompanyName = (fullName: string) => {
|
||||
if (!fullName) return 'Полное название не указано'
|
||||
|
||||
// Словарь для замены полных форм на сокращенные
|
||||
const legalFormReplacements: { [key: string]: string } = {
|
||||
'Общество с ограниченной ответственностью': 'ООО',
|
||||
'Открытое акционерное общество': 'ОАО',
|
||||
'Закрытое акционерное общество': 'ЗАО',
|
||||
'Публичное акционерное общество': 'ПАО',
|
||||
'Непубличное акционерное общество': 'НАО',
|
||||
'Акционерное общество': 'АО',
|
||||
'Индивидуальный предприниматель': 'ИП',
|
||||
'Товарищество с ограниченной ответственностью': 'ТОО',
|
||||
'Частное предприятие': 'ЧП',
|
||||
'Субъект предпринимательской деятельности': 'СПД'
|
||||
}
|
||||
|
||||
let result = fullName
|
||||
|
||||
// Заменяем полные формы на сокращенные
|
||||
for (const [fullForm, shortForm] of Object.entries(legalFormReplacements)) {
|
||||
const regex = new RegExp(`^${fullForm}\\s+`, 'i')
|
||||
if (regex.test(result)) {
|
||||
result = result.replace(regex, `${shortForm} `)
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
const getTypeLabel = (type: string) => {
|
||||
switch (type) {
|
||||
case 'FULFILLMENT':
|
||||
@ -273,17 +304,17 @@ export function MessengerChat({ counterparty }: MessengerChatProps) {
|
||||
</Avatar>
|
||||
|
||||
<div>
|
||||
<h3 className="text-white font-medium">
|
||||
{getOrganizationName(counterparty)}
|
||||
</h3>
|
||||
<p className="text-white/60 text-sm mb-1">
|
||||
{getManagerName(counterparty)}
|
||||
</p>
|
||||
<div className="flex items-center space-x-2">
|
||||
<div className="flex items-center space-x-3">
|
||||
<h3 className="text-white font-medium">
|
||||
{getOrganizationName(counterparty)}
|
||||
</h3>
|
||||
<Badge className={`${getTypeColor(counterparty.type)} text-xs`}>
|
||||
{getTypeLabel(counterparty.type)}
|
||||
</Badge>
|
||||
</div>
|
||||
<p className="text-white/60 text-sm">
|
||||
{getShortCompanyName(counterparty.fullName || '')}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
Reference in New Issue
Block a user