feat: improved agents page filtering and layout adjustments, added russian translations support

This commit is contained in:
kangfenmao 2024-11-19 12:04:01 +08:00
parent 535b7d0a92
commit 9b7e2282fe
2 changed files with 85 additions and 39 deletions

View File

@ -44,16 +44,23 @@ const AgentsPage: FC = () => {
const { t, i18n } = useTranslation()
const filteredAgentGroups = useMemo(() => {
const groups = { : [] }
const groups: Record<string, Agent[]> = {
: [],
精选: agentGroups['精选'] || []
}
if (!search.trim()) {
Object.entries(agentGroups).forEach(([group, agents]) => {
groups[group] = agents
if (group !== '精选') {
groups[group] = agents
}
})
return groups
}
Object.entries(agentGroups).forEach(([group, agents]) => {
if (group === '精选') return
const filteredAgents = agents.filter(
(agent) =>
agent.name.toLowerCase().includes(search.toLowerCase()) ||
@ -111,9 +118,7 @@ const AgentsPage: FC = () => {
)
const tabItems = useMemo(() => {
let groups = Object.keys(filteredAgentGroups)
groups = groups.includes('精选') ? [groups[0], '精选', ...groups.filter((g) => g !== '精选')] : groups
const groups = Object.keys(filteredAgentGroups)
return groups.map((group, i) => {
const id = String(i + 1)
@ -250,6 +255,12 @@ const Tabs = styled(TabsAntd)`
font-size: 13px;
justify-content: left;
padding: 7px 12px !important;
.ant-tabs-tab-btn {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 100px;
}
&:hover {
color: var(--color-text) !important;
background-color: var(--color-background-soft);

View File

@ -3,6 +3,7 @@ export type GroupTranslations = {
'en-US': string
'zh-CN': string
'zh-TW': string
'ru-RU': string
}
}
@ -10,171 +11,205 @@ export const groupTranslations: GroupTranslations = {
: {
'en-US': 'My Agents',
'zh-CN': '我的',
'zh-TW': '我的'
'zh-TW': '我的',
'ru-RU': 'Мои агенты'
},
: {
'en-US': 'Career',
'zh-CN': '职业',
'zh-TW': '職業'
'zh-TW': '職業',
'ru-RU': 'Карьера'
},
: {
'en-US': 'Business',
'zh-CN': '商业',
'zh-TW': '商業'
'zh-TW': '商業',
'ru-RU': 'Бизнес'
},
: {
'en-US': 'Tools',
'zh-CN': '工具',
'zh-TW': '工具'
'zh-TW': '工具',
'ru-RU': 'Инструменты'
},
: {
'en-US': 'Language',
'zh-CN': '语言',
'zh-TW': '語言'
'zh-TW': '語言',
'ru-RU': 'Язык'
},
: {
'en-US': 'Office',
'zh-CN': '办公',
'zh-TW': '辦公'
'zh-TW': '辦公',
'ru-RU': 'Офис'
},
: {
'en-US': 'General',
'zh-CN': '通用',
'zh-TW': '通用'
'zh-TW': '通用',
'ru-RU': 'Общее'
},
: {
'en-US': 'Writing',
'zh-CN': '写作',
'zh-TW': '寫作'
'zh-TW': '寫作',
'ru-RU': 'Письмо'
},
: {
'en-US': 'Featured',
'zh-CN': '精选',
'zh-TW': '精選'
'zh-TW': '精選',
'ru-RU': 'Избранное'
},
: {
'en-US': 'Programming',
'zh-CN': '编程',
'zh-TW': '編程'
'zh-TW': '編程',
'ru-RU': 'Программирование'
},
: {
'en-US': 'Emotion',
'zh-CN': '情感',
'zh-TW': '情感'
'zh-TW': '情感',
'ru-RU': 'Эмоции'
},
: {
'en-US': 'Education',
'zh-CN': '教育',
'zh-TW': '教育'
'zh-TW': '教育',
'ru-RU': 'Образование'
},
: {
'en-US': 'Creative',
'zh-CN': '创意',
'zh-TW': '創意'
'zh-TW': '創意',
'ru-RU': 'Креатив'
},
: {
'en-US': 'Academic',
'zh-CN': '学术',
'zh-TW': '學術'
'zh-TW': '學術',
'ru-RU': 'Академический'
},
: {
'en-US': 'Design',
'zh-CN': '设计',
'zh-TW': '設計'
'zh-TW': '設計',
'ru-RU': 'Дизайн'
},
: {
'en-US': 'Art',
'zh-CN': '艺术',
'zh-TW': '藝術'
'zh-TW': '藝術',
'ru-RU': 'Искусство'
},
: {
'en-US': 'Entertainment',
'zh-CN': '娱乐',
'zh-TW': '娛樂'
'zh-TW': '娛樂',
'ru-RU': 'Развлечения'
},
: {
'en-US': 'Life',
'zh-CN': '生活',
'zh-TW': '生活'
'zh-TW': '生活',
'ru-RU': 'Жизнь'
},
: {
'en-US': 'Medical',
'zh-CN': '医疗',
'zh-TW': '醫療'
'zh-TW': '醫療',
'ru-RU': 'Медицина'
},
: {
'en-US': 'Games',
'zh-CN': '游戏',
'zh-TW': '遊戲'
'zh-TW': '遊戲',
'ru-RU': 'Игры'
},
: {
'en-US': 'Translation',
'zh-CN': '翻译',
'zh-TW': '翻譯'
'zh-TW': '翻譯',
'ru-RU': 'Перевод'
},
: {
'en-US': 'Music',
'zh-CN': '音乐',
'zh-TW': '音樂'
'zh-TW': '音樂',
'ru-RU': 'Музыка'
},
: {
'en-US': 'Review',
'zh-CN': '点评',
'zh-TW': '點評'
'zh-TW': '點評',
'ru-RU': 'Обзор'
},
: {
'en-US': 'Copywriting',
'zh-CN': '文案',
'zh-TW': '文案'
'zh-TW': '文案',
'ru-RU': 'Копирайтинг'
},
: {
'en-US': 'Encyclopedia',
'zh-CN': '百科',
'zh-TW': '百科'
'zh-TW': '百科',
'ru-RU': 'Энциклопедия'
},
: {
'en-US': 'Health',
'zh-CN': '健康',
'zh-TW': '健康'
'zh-TW': '健康',
'ru-RU': 'Здоровье'
},
: {
'en-US': 'Marketing',
'zh-CN': '营销',
'zh-TW': '營銷'
'zh-TW': '營銷',
'ru-RU': 'Маркетинг'
},
: {
'en-US': 'Science',
'zh-CN': '科学',
'zh-TW': '科學'
'zh-TW': '科學',
'ru-RU': 'Наука'
},
: {
'en-US': 'Analysis',
'zh-CN': '分析',
'zh-TW': '分析'
'zh-TW': '分析',
'ru-RU': 'Анализ'
},
: {
'en-US': 'Legal',
'zh-CN': '法律',
'zh-TW': '法律'
'zh-TW': '法律',
'ru-RU': 'Право'
},
: {
'en-US': 'Consulting',
'zh-CN': '咨询',
'zh-TW': '諮詢'
'zh-TW': '諮詢',
'ru-RU': 'Консалтинг'
},
: {
'en-US': 'Finance',
'zh-CN': '金融',
'zh-TW': '金融'
'zh-TW': '金融',
'ru-RU': 'Финансы'
},
: {
'en-US': 'Travel',
'zh-CN': '旅游',
'zh-TW': '旅遊'
'zh-TW': '旅遊',
'ru-RU': 'Путешествия'
},
: {
'en-US': 'Management',
'zh-CN': '管理',
'zh-TW': '管理'
'zh-TW': '管理',
'ru-RU': 'Управление'
}
}