diff --git a/src/web/public/index.html b/src/web/public/index.html index e9a18b4..512c7a9 100644 --- a/src/web/public/index.html +++ b/src/web/public/index.html @@ -502,7 +502,7 @@ cl_filter_segment:'Segment', cl_filter_status:'Status', cl_filter_tag:'Tag', cl_filter_limit:'Limit', cl_load:'Load', cl_tag_ph:'Filter tag', cl_shown:'shown', cl_col_name:'Name', cl_col_email:'Email', cl_col_org:'Org', cl_col_region:'Region', - cl_col_segment:'Segment', cl_col_status:'Status', cl_col_last:'Last Contacted', cl_col_actions:'', cl_sort_hint:'Click to sort', + cl_col_segment:'Segment', cl_col_status:'Status', cl_col_last:'Last Contacted', cl_col_tags:'Tags', cl_col_actions:'', cl_sort_hint:'Click to sort', cl_no_contacts:'No contacts found', cl_never:'Never', cl_import_title:'Import Contacts', cl_import_btn:'Import', cl_optional:'optional', cl_segment:'Segment', @@ -612,7 +612,7 @@ cl_filter_segment:'Сегмент', cl_filter_status:'Статус', cl_filter_tag:'Тег', cl_filter_limit:'Ліміт', cl_load:'Завантажити', cl_tag_ph:'Фільтр тегів', cl_shown:'показано', cl_col_name:'Ім\'я', cl_col_email:'Email', cl_col_org:'Організація', cl_col_region:'Регіон', - cl_col_segment:'Сегмент', cl_col_status:'Статус', cl_col_last:'Останній контакт', cl_col_actions:'', cl_sort_hint:'Клікніть, щоб сортувати', + cl_col_segment:'Сегмент', cl_col_status:'Статус', cl_col_last:'Останній контакт', cl_col_tags:'Теги', cl_col_actions:'', cl_sort_hint:'Клікніть, щоб сортувати', cl_no_contacts:'Контактів не знайдено', cl_never:'Ніколи', cl_import_title:'Імпорт контактів', cl_import_btn:'Імпортувати', cl_optional:'необов\'язково', cl_segment:'Сегмент', @@ -2730,11 +2730,22 @@ const CL_COLS=[ {key:'name',label:'cl_col_name'},{key:'email',label:'cl_col_email'},{key:'org',label:'cl_col_org'}, {key:'region',label:'cl_col_region'},{key:'segment',label:'cl_col_segment'},{key:'status',label:'cl_col_status'}, - {key:'last',label:'cl_col_last'}, + {key:'last',label:'cl_col_last'},{key:'tags',label:'cl_col_tags'}, ]; let clItems=[]; let clSort={key:'',dir:1}; +// Render comma-separated tags as small colored chips (firm:/verified:/hunter get accents). +function clTagChips(tags){ + const list=String(tags||'').split(',').map(x=>x.trim()).filter(Boolean); + if(!list.length) return '—'; + return list.map(x=>{ + const cls = x.startsWith('verified:valid')?'teal' : x.startsWith('verified:')?'amber' + : x.startsWith('firm:')?'blue' : x==='hunter'?'teal' : ''; + return `${esc(x)}`; + }).join(''); +} + async function loadClients(){ const box=$('cl-tbl'); if(!box)return; const p=new URLSearchParams(); @@ -2759,7 +2770,7 @@
| ${t(col.label)}${arrow(col.key)} | `).join('')}${clSegLabel(c.segment)} | ${clStatusTag(c.status)} | ${c.lastContactedAt?fmtFull(c.lastContactedAt):t('cl_never')} | +${clTagChips(c.tags)} | - `).join(''):` | |||
|---|---|---|---|---|---|---|---|---|
| ${t('cl_no_contacts')} | ||||||||
| ${t('cl_no_contacts')} | ||||||||