🔖 feat: Conversation Bookmarks (#3344)

* feat: add tags property in Conversation model

* feat: add ConversationTag model

* feat: add the tags parameter to getConvosByPage

* feat: add API route to ConversationTag

* feat: add types of ConversationTag

* feat: add data access functions for conversation tags

* feat: add Bookmark table component

* feat: Add an action to bookmark

* feat: add Bookmark nav component

* fix: failed test

* refactor: made 'Saved' tag a constant

* feat: add new bookmark to current conversation

* chore: Add comment

* fix: delete tag from conversations when it's deleted

* fix: Update the query cache when the tag title is changed.

* chore: fix typo

* refactor: add description of rebuilding bookmarks

* chore: remove unused variables

* fix: position when adding a new bookmark

* refactor: add comment, rename a function

* refactor: add a unique constraint in ConversationTag

* chore: add localizations
This commit is contained in:
Yuichi Oneda 2024-07-29 07:45:59 -07:00 committed by GitHub
parent d4d56281e3
commit e565e0faab
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
65 changed files with 3751 additions and 36 deletions

View file

@ -11,6 +11,7 @@ export default {
com_sidepanel_hide_panel: 'Ocultar Painel',
com_sidepanel_attach_files: 'Anexar Arquivos',
com_sidepanel_manage_files: 'Gerenciar Arquivos',
com_sidepanel_conversation_tags: 'Favoritos',
com_assistants_capabilities: 'Capacidades',
com_assistants_knowledge: 'Conhecimento',
com_assistants_knowledge_info:
@ -168,6 +169,20 @@ export default {
'O envio de "{0}" está levando mais tempo do que o esperado. Aguarde enquanto o arquivo é indexado para recuperação.',
com_ui_privacy_policy: 'Política de privacidade',
com_ui_terms_of_service: 'Termos de serviço',
com_ui_bookmarks: 'Favoritos',
com_ui_bookmarks_rebuild: 'Reconstruir',
com_ui_bookmarks_new: 'Novo Favorito',
com_ui_bookmark_delete_confirm: 'Tem certeza de que deseja excluir este favorito?',
com_ui_bookmarks_title: 'Título',
com_ui_bookmarks_count: 'Contagem',
com_ui_bookmarks_description: 'Descrição',
com_ui_bookmarks_create_success: 'Favorito criado com sucesso',
com_ui_bookmarks_update_success: 'Favorito atualizado com sucesso',
com_ui_bookmarks_delete_success: 'Favorito excluído com sucesso',
com_ui_bookmarks_create_error: 'Houve um erro ao criar o favorito',
com_ui_bookmarks_update_error: 'Houve um erro ao atualizar o favorito',
com_ui_bookmarks_delete_error: 'Houve um erro ao excluir o favorito',
com_ui_bookmarks_add_to_conversation: 'Adicionar à conversa atual',
com_auth_error_login:
'Não foi possível fazer login com as informações fornecidas. Por favor, verifique suas credenciais e tente novamente.',
com_auth_error_login_rl:
@ -467,6 +482,8 @@ export default {
com_nav_help_faq: 'Ajuda & FAQ',
com_nav_settings: 'Configurações',
com_nav_search_placeholder: 'Pesquisar mensagens',
com_nav_info_bookmarks_rebuild:
'Se a contagem de favoritos estiver incorreta, por favor, reconstrua as informações de favoritos. A contagem de favoritos será recalculada e os dados serão restaurados ao estado correto.',
com_nav_setting_general: 'Geral',
com_nav_setting_beta: 'Recursos beta',
com_nav_setting_data: 'Controles de dados',
@ -509,6 +526,10 @@ export const comparisons = {
english: 'Manage Files',
translated: 'Gerenciar Arquivos',
},
com_sidepanel_conversation_tags: {
english: 'Bookmarks',
translated: 'Favoritos',
},
com_assistants_capabilities: {
english: 'Capabilities',
translated: 'Capacidades',
@ -1103,6 +1124,62 @@ export const comparisons = {
english: 'Terms of service',
translated: 'Termos de serviço',
},
com_ui_bookmarks: {
english: 'Bookmarks',
translated: 'Favoritos',
},
com_ui_bookmarks_rebuild: {
english: 'Rebuild',
translated: 'Reconstruir',
},
com_ui_bookmarks_new: {
english: 'New Bookmark',
translated: 'Novo Favorito',
},
com_ui_bookmark_delete_confirm: {
english: 'Are you sure you want to delete this bookmark?',
translated: 'Tem certeza de que deseja excluir este favorito?',
},
com_ui_bookmarks_title: {
english: 'Title',
translated: 'Título',
},
com_ui_bookmarks_count: {
english: 'Count',
translated: 'Contagem',
},
com_ui_bookmarks_description: {
english: 'Description',
translated: 'Descrição',
},
com_ui_bookmarks_create_success: {
english: 'Bookmark created successfully',
translated: 'Favorito criado com sucesso',
},
com_ui_bookmarks_update_success: {
english: 'Bookmark updated successfully',
translated: 'Favorito atualizado com sucesso',
},
com_ui_bookmarks_delete_success: {
english: 'Bookmark deleted successfully',
translated: 'Favorito excluído com sucesso',
},
com_ui_bookmarks_create_error: {
english: 'There was an error creating the bookmark',
translated: 'Houve um erro ao criar o favorito',
},
com_ui_bookmarks_update_error: {
english: 'There was an error updating the bookmark',
translated: 'Houve um erro ao atualizar o favorito',
},
com_ui_bookmarks_delete_error: {
english: 'There was an error deleting the bookmark',
translated: 'Houve um erro ao excluir o favorito',
},
com_ui_bookmarks_add_to_conversation: {
english: 'Add to current conversation',
translated: 'Adicionar à conversa atual',
},
com_auth_error_login: {
english:
'Unable to login with the information provided. Please check your credentials and try again.',
@ -2160,6 +2237,12 @@ export const comparisons = {
english: 'Search messages',
translated: 'Pesquisar mensagens',
},
com_nav_info_bookmarks_rebuild: {
english:
'If the bookmark count is incorrect, please rebuild the bookmark information. The bookmark count will be recalculated and the data will be restored to its correct state.',
translated:
'Se a contagem de favoritos estiver incorreta, por favor, reconstrua as informações de favoritos. A contagem de favoritos será recalculada e os dados serão restaurados ao estado correto.',
},
com_nav_setting_general: {
english: 'General',
translated: 'Geral',