2024-04-02 20:35:35 +02:00
// Swedish phrases
export default {
com_ui_examples : 'Exempel' ,
com_ui_new_chat : 'Ny chatt' ,
com_ui_happy_birthday : 'Det är min första födelsedag!' ,
com_ui_example_quantum_computing : 'Förklara kvantberäkning på enkla termer' ,
com_ui_example_10_year_old_b_day : 'Har du några kreativa idéer till ett 10-årings födelsedag?' ,
com_ui_example_http_in_js : 'Hur gör jag en HTTP-förfrågan i Javascript?' ,
com_ui_capabilities : 'Möjligheter' ,
com_ui_capability_remember : 'Kommer ihåg vad användaren sa tidigare i konversationen' ,
com_ui_capability_correction : 'Tillåter användaren att ge uppföljande rättelser' ,
com_ui_capability_decline_requests : 'Tränad för att avvisa olämpliga förfrågningar' ,
com_ui_limitations : 'Begränsningar' ,
com_ui_limitation_incorrect_info : 'Kan ibland generera felaktig information' ,
com_ui_limitation_harmful_biased :
'Kan ibland producera skadliga instruktioner eller snedvridet innehåll' ,
com_ui_limitation_limited_2021 : 'Begränsad kunskap om världen och händelser efter 2021' ,
com_ui_input : 'Inmatning' ,
com_ui_close : 'Stäng' ,
com_ui_model : 'Modell' ,
com_ui_select_model : 'Välj en modell' ,
com_ui_use_prompt : 'Använd prompt' ,
com_ui_prev : 'Föregående' ,
com_ui_next : 'Nästa' ,
com_ui_prompt_templates : 'Prompt Mallar' ,
com_ui_hide_prompt_templates : 'Dölj Prompt Mallar' ,
com_ui_showing : 'Visar' ,
com_ui_of : 'av' ,
com_ui_entries : 'Inlägg' ,
com_ui_pay_per_call : 'Alla AI-konversationer på ett ställe. Betala per anrop och inte per månad' ,
com_ui_enter : 'Ange' ,
com_ui_submit : 'Skicka' ,
com_ui_upload_success : 'Uppladdningen av filen lyckades' ,
com_ui_upload_invalid : 'Ogiltig fil för uppladdning' ,
com_ui_cancel : 'Avbryt' ,
com_ui_save : 'Spara' ,
com_ui_copy_to_clipboard : 'Kopiera till urklipp' ,
com_ui_copied_to_clipboard : 'Kopierat till urklipp' ,
com_ui_regenerate : 'Återskapa' ,
com_ui_continue : 'Fortsätt' ,
com_ui_edit : 'Redigera' ,
com_ui_success : 'Lyckades' ,
com_ui_all : 'alla' ,
com_ui_clear : 'Rensa' ,
com_ui_revoke : 'Återkalla' ,
com_ui_revoke_info : 'Återkalla alla användaruppgifter.' ,
2024-05-02 08:48:26 +02:00
com_ui_import_conversation : 'Importera' ,
com_ui_import_conversation_info : 'Importera konversationer från en JSON-fil' ,
com_ui_import_conversation_success : 'Konversationer har importerats framgångsrikt' ,
com_ui_import_conversation_error : 'Det uppstod ett fel vid import av dina konversationer' ,
2024-04-02 20:35:35 +02:00
com_ui_confirm_action : 'Bekräfta åtgärd' ,
com_ui_chats : 'chattar' ,
com_ui_delete : 'Radera' ,
com_ui_delete_conversation : 'Radera chatt?' ,
com_ui_delete_conversation_confirm : 'Detta kommer att radera' ,
🚀feat: Archive conversations (#2590)
* 🔧chore: add internationalization labels for archive feature
* ✨ feat: Add function to useArchiveConversationMutation()
This commit adds a new mutation function `useArchiveConversationMutation()` for archiving conversations. This function takes the ID string of the conversation to be archived and returns a mutation result object. Upon successful archiving, it removes and refreshes the conversation from the query data cache.
While ChatGPT PATCHes the archived status by sending `{is_archived: true}` to the URL `/backend-api/conversation/$conversation_id`, this implementation uses the `dataService.updateConversation(payload)` with a POST method, aligning with the existing code conventions.
* ✨ feat(api): add is_archived field to Conversation schema and update getConvosByPage method
This commit adds a new field `is_archived` with a default value of false to the Conversation schema. It also modifies the `getConvosByPage` method within the Conversation API to adjust the query to only target conversations where `is_archived` is set to false or where the `is_archived` field does not exist. The function `getConvosQueried`, which returns conversations for a specified Conversation ID, was determined not to require consideration of whether `is_archived` is true or false, and thus was not modified.
* ♻️ refactor: add className prop to DotsIcon component
To enhance the versatility of the DotsIcon component, this commit introduces the ability to specify a className prop, allowing for greater customization.
* ✨ feat(ui): add Edit Button to group Title change and Conversation delete buttons
Added a new Edit Button to the conversations, similar to the ChatGPT UI, which groups options for editing the conversation title and deleting conversations. This grouping is accessible through a dialogue that appears when the three-dot icon is clicked.
* ♻️ refactor(ui): enhance Delete Button to accept className and label options
Enhanced the Delete Button component to accept a `className` for customization and an optional `appendLabel`. The DeleteButton component is used by both `Convo.tsx` and `Conversation.tsx`, but currently only `Convo.tsx` is active and `Conversation.tsx `is apparently not used; removing `Conversation.tsx` may eliminate the need for the `appendLabel` property in the future.
* ♻️ refactor(ui): enhance RenameButton to accept label options
Added the ability to optionally display labels; the Rename Button component is used by both `Convo.tsx` and `Conversation.tsx`, but currently only `Convo.tsx` is active and `Conversation.tsx `is apparently not used; removing `Conversation.tsx` may eliminate the need for the `appendLabel` property in the future.
* 🔧 chors: additional localization labels
* ♻️ refactor: change is_archived property of conversation to camelCase
* Refactor the is_archived property of conversation to camelCase (isArchived) to adhere to the existing code conventions
* Modify the function that retrieves conversations to accept the isArchived parameter
* ♻️ refactor: add archiveConversation mutation
I thought I could divert dataService.updateConversation, but added a new archiveConversation because the request types are different. It might be better to make them common, but to avoid side effects, I added a new function this time.
Added process to deleteConversationMutation to delete archived conversations
* ✨ feat: Add the function to hide a cancel button in DialogTemplate component
The Cancel button is not needed when displaying the archive list, so I made the Cancel button optional.
* ♻️ refactor: Add support for filtering archived conversations in Nav component
This commit modifies the Nav component to add the ability to filter out archived conversations when fetching data. This is done by adding `isArchived: false` to the query parameters for both the `useConversationsInfiniteQuery()` and `useSearchInfiniteQuery()` hooks, effectively excluding any archived conversations from the results returned.
* ♻️ refactor: add Tooltip to DeleteButton
* Add Tooltip to DeleteButton component
* Display Tooltip when DeleteButton only shows an Icon without text
* ✨ feat(ui): add ArchiveButton component for archiving conversations
To be compatible with the ChatGPT UI, no confirmation dialog is displayed when ArchiveButton is clicked. The basic behavior conforms to DeleteButton and RenameButton.
* ✨ feat(ui): add Archive button to list of conversations
Modify the Nav of the conversation list to include a dropdown that contains the Rename and Delete options, similar to the ChatGPT UI. Additionally, an Archive button has been added adjacent to the dropdown menu.
* ✨ feat: Add ArchivedChatsTable component
Adds the `ArchivedChatsTable` component, which displays a table of archived chats. It has been implemented to be as compatible with the ChatGPT UI as possible.
* 🚑 fix(tooltip): increase z-index to ensure visibility over Dialog
Resolve an issue where tooltips were not visible when displayed over a Dialog. The z-index of `DialogPrimitive.Portal` in `Dialog.tsx` is set to 999. Since the rationale for this value is unclear, the z-index of the tooltip has been increased to 1000 to guarantee its visibility above the Dialog component.
* 🔧 chors: add internationalization labels
2024-05-06 20:07:00 -07:00
com_ui_rename : 'byta namn på' ,
com_ui_archive : 'Arkiv' ,
com_ui_archive_error : 'Kunde inte arkivera chatt' ,
com_ui_unarchive : 'Avarkivera' ,
com_ui_unarchive_error : 'Kunde inte avarkivera chatt' ,
com_ui_more_options : 'Mer' ,
2024-04-02 20:35:35 +02:00
com_auth_error_login :
'Kunde inte logga in med den angivna informationen. Kontrollera dina uppgifter och försök igen.' ,
com_auth_error_login_rl :
'För många inloggningsförsök från den här IP-adressen på kort tid. Vänligen försök igen senare.' ,
com_auth_no_account : 'Har du inget konto?' ,
com_auth_sign_up : 'Registrera dig' ,
com_auth_sign_in : 'Logga in' ,
com_auth_google_login : 'Logga in med Google' ,
com_auth_facebook_login : 'Logga in med Facebook' ,
com_auth_github_login : 'Logga in med Github' ,
com_auth_discord_login : 'Logga in med Discord' ,
com_auth_email : 'E-post' ,
com_auth_email_required : 'E-post krävs' ,
com_auth_email_min_length : 'E-post måste vara minst 6 tecken' ,
com_auth_email_max_length : 'E-post får inte vara längre än 120 tecken' ,
com_auth_email_pattern : 'Du måste ange en giltig e-postadress' ,
com_auth_email_address : 'E-postadress' ,
com_auth_password : 'Lösenord' ,
com_auth_password_required : 'Lösenord krävs' ,
com_auth_password_min_length : 'Lösenordet måste vara minst 8 tecken' ,
com_auth_password_max_length : 'Lösenordet får inte vara längre än 128 tecken' ,
com_auth_password_forgot : 'Glömt lösenord?' ,
com_auth_password_confirm : 'Bekräfta lösenord' ,
com_auth_password_not_match : 'Lösenorden matchar inte' ,
com_auth_continue : 'Fortsätt' ,
com_auth_create_account : 'Skapa ditt konto' ,
com_auth_error_create :
'Det uppstod ett fel när du försökte registrera ditt konto. Vänligen försök igen.' ,
com_auth_full_name : 'Fullständigt namn' ,
com_auth_name_required : 'Namn krävs' ,
com_auth_name_min_length : 'Namnet måste vara minst 3 tecken' ,
com_auth_name_max_length : 'Namnet får inte vara längre än 80 tecken' ,
com_auth_username : 'Användarnamn (valfritt)' ,
com_auth_username_required : 'Användarnamn krävs' ,
com_auth_username_min_length : 'Användarnamnet måste vara minst 2 tecken' ,
com_auth_username_max_length : 'Användarnamnet får inte vara längre än 20 tecken' ,
com_auth_already_have_account : 'Har du redan ett konto?' ,
com_auth_login : 'Logga in' ,
com_auth_reset_password : 'Återställ ditt lösenord' ,
com_auth_click : 'Klicka' ,
com_auth_here : 'HÄR' ,
com_auth_to_reset_your_password : 'för att återställa ditt lösenord.' ,
com_auth_reset_password_link_sent : 'E-post skickad' ,
com_auth_reset_password_email_sent :
'Ett e-postmeddelande har skickats till dig med ytterligare instruktioner för att återställa ditt lösenord.' ,
com_auth_error_reset_password :
'Det uppstod ett problem med att återställa ditt lösenord. Ingen användare hittades med den angivna e-postadressen. Vänligen försök igen.' ,
com_auth_reset_password_success : 'Lösenordsåterställning lyckades' ,
com_auth_login_with_new_password : 'Du kan nu logga in med ditt nya lösenord.' ,
com_auth_error_invalid_reset_token : 'Detta lösenordsåterställningsnyckel är inte längre giltigt.' ,
com_auth_click_here : 'Klicka här' ,
com_auth_to_try_again : 'för att försöka igen.' ,
com_auth_submit_registration : 'Skicka registrering' ,
com_auth_welcome_back : 'Välkommen tillbaka' ,
com_endpoint_open_menu : 'Öppna meny' ,
com_endpoint_bing_enable_sydney : 'Aktivera Sydney' ,
com_endpoint_bing_to_enable_sydney : 'För att aktivera Sydney' ,
com_endpoint_bing_jailbreak : 'Jailbreak' ,
com_endpoint_bing_context_placeholder :
'Bing kan använda upp till 7k tokens för "kontext", som den kan referera till under konversationen. Den specifika gränsen är inte känd men kan stöta på fel om den överstiger 7k tokens' ,
com_endpoint_bing_system_message_placeholder :
'VARNING: Otillåten användning av denna funktion kan få dig BANNAD från att använda Bing! Klicka på "Systemmeddelande" för fullständiga instruktioner och standardmeddelandet om det utelämnas, vilket är "Sydney"-förinställningen som anses vara säker.' ,
com_endpoint_system_message : 'Systemmeddelande' ,
com_endpoint_default_blank : 'standard: tom' ,
com_endpoint_default_false : 'standard: falsk' ,
com_endpoint_default_creative : 'standard: kreativ' ,
com_endpoint_default_empty : 'standard: tom' ,
com_endpoint_default_with_num : 'standard: {0}' ,
com_endpoint_context : 'Kontext' ,
com_endpoint_tone_style : 'Tonstil' ,
com_endpoint_token_count : 'Antal tokens' ,
com_endpoint_output : 'Utdata' ,
com_endpoint_google_temp :
'Högre värden = mer slumpmässigt, medan lägre värden = mer fokuserat och bestämt. Vi rekommenderar att ändra detta eller Top P men inte båda.' ,
com_endpoint_google_topp :
'Top-p ändrar hur modellen väljer tokens för utdata. Tokens väljs från de mest K (se topK-parameter) sannolika till de minst tills summan av deras sannolikheter når top-p-värdet.' ,
com_endpoint_google_topk :
'Top-k ändrar hur modellen väljer tokens för utdata. Ett top-k av 1 innebär att den valda token är den mest sannolika bland alla tokens i modellens vokabulär (kallas också girig avkodning), medan ett top-k av 3 innebär att nästa token väljs bland de 3 mest sannolika tokens (med temperatur).' ,
com_endpoint_google_maxoutputtokens :
'Maximalt antal tokens som kan genereras i svaret. Ange ett lägre värde för kortare svar och ett högre värde för längre svar.' ,
com_endpoint_google_custom_name_placeholder : 'Ange ett anpassat namn för Google' ,
com_endpoint_prompt_prefix_placeholder :
'Ange anpassade instruktioner eller kontext. Ignoreras om tom.' ,
com_endpoint_custom_name : 'Anpassat namn' ,
com_endpoint_prompt_prefix : 'Uppmaningsprefix' ,
com_endpoint_temperature : 'Temperatur' ,
com_endpoint_default : 'standard' ,
com_endpoint_top_p : 'Top P' ,
com_endpoint_top_k : 'Top K' ,
com_endpoint_max_output_tokens : 'Max utdatatokens' ,
com_endpoint_openai_temp :
'Högre värden = mer slumpmässigt, medan lägre värden = mer fokuserat och bestämt. Vi rekommenderar att ändra detta eller Top P men inte båda.' ,
com_endpoint_openai_max :
'Max tokens att generera. Den totala längden på tokens för inmatning och svar är begränsad av modellen som används.' ,
com_endpoint_openai_topp :
'Ett alternativ till temperatur, kallat kärnprovtagning, där modellen beaktar resultaten av tokens med top_p-sannolikhetsmassa. Så 0,1 innebär att endast de tokens som utgör den översta 10% sannolikhetsmassan beaktas. Vi rekommenderar att ändra detta eller temperaturen men inte båda.' ,
com_endpoint_openai_freq :
'Nummer mellan -2,0 och 2,0. Positiva värden minskar nya tokens baserat på deras befintliga frekvens i texten hittills, vilket minskar modellens sannolikhet att upprepa samma rad ordagrant.' ,
com_endpoint_openai_pres :
'Nummer mellan -2,0 och 2,0. Positiva värden minskar nya tokens baserat på om de förekommer i texten hittills, vilket ökar modellens sannolikhet att prata om nya ämnen.' ,
com_endpoint_openai_custom_name_placeholder : 'Ange ett eget namn för ChatGPT' ,
com_endpoint_openai_prompt_prefix_placeholder :
'Ange anpassade instruktioner att inkludera i Systemmeddelande. Standard: inga' ,
com_endpoint_anthropic_temp :
'Varierar mellan 0 och 1. Använd temp närmare 0 för analytiska/flervalsfrågor och närmare 1 för kreativa och generativa uppgifter. Vi rekommenderar att ändra detta eller Top P men inte båda.' ,
com_endpoint_anthropic_topp :
'Top-p ändrar hur modellen väljer tokens för utdata. Tokens väljs från de mest K (se topK-parameter) sannolika till de minst tills summan av deras sannolikheter når top-p-värdet.' ,
com_endpoint_anthropic_topk :
'Top-k ändrar hur modellen väljer tokens för utdata. Ett top-k av 1 innebär att den valda token är den mest sannolika bland alla tokens i modellens vokabulär (kallas också girig avkodning), medan ett top-k av 3 innebär att nästa token väljs bland de 3 mest sannolika tokens (med temperatur).' ,
com_endpoint_anthropic_maxoutputtokens :
'Maximalt antal tokens som kan genereras i svaret. Ange ett lägre värde för kortare svar och ett högre värde för längre svar.' ,
com_endpoint_anthropic_custom_name_placeholder : 'Ange ett anpassat namn för Anthropic' ,
com_endpoint_frequency_penalty : 'Frekvensstraff' ,
com_endpoint_presence_penalty : 'Närvarostraff' ,
com_endpoint_plug_use_functions : 'Använd funktioner' ,
com_endpoint_plug_skip_completion : 'Hoppa över komplettering' ,
com_endpoint_disabled_with_tools : 'inaktiverad med verktyg' ,
com_endpoint_disabled_with_tools_placeholder : 'Inaktiverad med valda verktyg' ,
com_endpoint_plug_set_custom_instructions_for_gpt_placeholder :
'Ange anpassade instruktioner att inkludera i systemmeddelande. Standard: inga' ,
com_endpoint_import : 'Importera' ,
com_endpoint_set_custom_name : 'Ange ett eget namn, om du kan hitta denna förinställning' ,
com_endpoint_preset : 'förinställning' ,
com_endpoint_presets : 'förinställningar' ,
com_endpoint_preset_name : 'Förinställningsnamn' ,
com_endpoint_new_topic : 'Nytt ämne' ,
com_endpoint : 'Slutpunkt' ,
com_endpoint_hide : 'Dölj' ,
com_endpoint_show : 'Visa' ,
com_endpoint_examples : ' Förinställningar' ,
com_endpoint_completion : 'Komplettering' ,
com_endpoint_agent : 'Agent' ,
com_endpoint_show_what_settings : 'Visa {0} inställningar' ,
com_endpoint_save : 'Spara' ,
com_endpoint_export : 'Exportera' ,
com_endpoint_save_as_preset : 'Spara som förinställning' ,
com_endpoint_presets_clear_warning :
'Är du säker på att du vill rensa alla förinställningar? Detta går inte att ångra.' ,
com_endpoint_not_implemented : 'Ej implementerad' ,
com_endpoint_no_presets : 'Ingen förinställning ännu' ,
com_endpoint_not_available : 'Ingen slutpunkt tillgänglig' ,
com_endpoint_view_options : 'Visa alternativ' ,
com_endpoint_save_convo_as_preset : 'Spara konversation som förinställning' ,
com_endpoint_my_preset : 'Min förinställning' ,
com_endpoint_agent_model : 'Agentmodell (Rekommenderad: GPT-3.5)' ,
com_endpoint_completion_model : 'Kompletteringsmodell (Rekommenderad: GPT-4)' ,
com_endpoint_func_hover : 'Aktivera användning av tillägg som OpenAI-funktioner' ,
com_endpoint_skip_hover :
'Aktivera att hoppa över kompletteringssteg, som granskar det slutliga svaret och genererade steg' ,
com_endpoint_config_key : 'Ange API-nyckel' ,
com_endpoint_config_key_for : 'Ange API-nyckel för' ,
com_endpoint_config_key_name : 'Nyckel' ,
com_endpoint_config_value : 'Ange värde för' ,
com_endpoint_config_key_name_placeholder : 'Ange API-nyckel först' ,
com_endpoint_config_key_encryption : 'Din nyckel kommer att krypteras och raderas vid' ,
com_endpoint_config_key_expiry : 'utgångstiden' ,
com_endpoint_config_key_import_json_key : 'Importera JSON-nyckel för kontot.' ,
com_endpoint_config_key_import_json_key_success : 'Lyckades importera JSON-nyckel för kontot' ,
com_endpoint_config_key_import_json_key_invalid :
'Ogiltig JSON-nyckel för konto, importerade du rätt fil?' ,
com_endpoint_config_key_get_edge_key : 'För att få din åtkomstnyckel för Bing, logga in på' ,
com_endpoint_config_key_get_edge_key_dev_tool :
'Använd utvecklingsverktyg eller ett tillägg när du är inloggad på webbplatsen för att kopiera innehållet i _U-cookien. Om detta misslyckas, följ dessa' ,
com_endpoint_config_key_edge_instructions : 'instruktioner' ,
com_endpoint_config_key_edge_full_key_string : 'för att tillhandahålla hela cookie-strängarna.' ,
com_endpoint_config_key_chatgpt :
'För att få din åtkomstnyckel för ChatGPT "Gratisversion", logga in på' ,
com_endpoint_config_key_chatgpt_then_visit : 'sedan besök' ,
com_endpoint_config_key_chatgpt_copy_token : 'Kopiera åtkomstnyckel.' ,
com_endpoint_config_key_google_need_to : 'Du behöver' ,
com_endpoint_config_key_google_vertex_ai : 'Aktivera Vertex AI' ,
com_endpoint_config_key_google_vertex_api : 'API på Google Cloud, sedan' ,
com_endpoint_config_key_google_service_account : 'Skapa ett tjänstekonto' ,
com_endpoint_config_key_google_vertex_api_role :
'Se till att klicka på "Skapa och fortsätt" för att ge åtminstone rollen "Vertex AI-användare". Skapa slutligen en JSON-nyckel att importera här.' ,
com_nav_plugin_store : 'Pluginbutik' ,
com_nav_plugin_search : 'Sök efter plugins' ,
com_nav_plugin_auth_error :
'Det uppstod ett fel när försöket att autentisera denna plugin gjordes. Försök igen.' ,
com_nav_export_filename : 'Filnamn' ,
com_nav_export_filename_placeholder : 'Ange filnamnet' ,
com_nav_export_type : 'Typ' ,
com_nav_export_include_endpoint_options : 'Inkludera slutpunktsalternativ' ,
com_nav_enabled : 'Aktiverad' ,
com_nav_not_supported : 'Stöds ej' ,
com_nav_export_all_message_branches : 'Exportera alla grenar för meddelanden' ,
com_nav_export_recursive_or_sequential : 'Rekursiv eller sekventiell?' ,
com_nav_export_recursive : 'Rekursiv' ,
com_nav_export_conversation : 'Exportera konversation' ,
com_nav_theme : 'Tema' ,
com_nav_theme_system : 'System' ,
com_nav_theme_dark : 'Mörkt' ,
com_nav_theme_light : 'Ljust' ,
com_nav_clear_all_chats : 'Rensa alla chattar' ,
com_nav_confirm_clear : 'Bekräfta rensning' ,
com_nav_close_sidebar : 'Stäng sidofält' ,
com_nav_open_sidebar : 'Öppna sidofält' ,
com_nav_send_message : 'Skicka meddelande' ,
com_nav_log_out : 'Logga ut' ,
com_nav_user : 'ANVÄNDARE' ,
🚀feat: Archive conversations (#2590)
* 🔧chore: add internationalization labels for archive feature
* ✨ feat: Add function to useArchiveConversationMutation()
This commit adds a new mutation function `useArchiveConversationMutation()` for archiving conversations. This function takes the ID string of the conversation to be archived and returns a mutation result object. Upon successful archiving, it removes and refreshes the conversation from the query data cache.
While ChatGPT PATCHes the archived status by sending `{is_archived: true}` to the URL `/backend-api/conversation/$conversation_id`, this implementation uses the `dataService.updateConversation(payload)` with a POST method, aligning with the existing code conventions.
* ✨ feat(api): add is_archived field to Conversation schema and update getConvosByPage method
This commit adds a new field `is_archived` with a default value of false to the Conversation schema. It also modifies the `getConvosByPage` method within the Conversation API to adjust the query to only target conversations where `is_archived` is set to false or where the `is_archived` field does not exist. The function `getConvosQueried`, which returns conversations for a specified Conversation ID, was determined not to require consideration of whether `is_archived` is true or false, and thus was not modified.
* ♻️ refactor: add className prop to DotsIcon component
To enhance the versatility of the DotsIcon component, this commit introduces the ability to specify a className prop, allowing for greater customization.
* ✨ feat(ui): add Edit Button to group Title change and Conversation delete buttons
Added a new Edit Button to the conversations, similar to the ChatGPT UI, which groups options for editing the conversation title and deleting conversations. This grouping is accessible through a dialogue that appears when the three-dot icon is clicked.
* ♻️ refactor(ui): enhance Delete Button to accept className and label options
Enhanced the Delete Button component to accept a `className` for customization and an optional `appendLabel`. The DeleteButton component is used by both `Convo.tsx` and `Conversation.tsx`, but currently only `Convo.tsx` is active and `Conversation.tsx `is apparently not used; removing `Conversation.tsx` may eliminate the need for the `appendLabel` property in the future.
* ♻️ refactor(ui): enhance RenameButton to accept label options
Added the ability to optionally display labels; the Rename Button component is used by both `Convo.tsx` and `Conversation.tsx`, but currently only `Convo.tsx` is active and `Conversation.tsx `is apparently not used; removing `Conversation.tsx` may eliminate the need for the `appendLabel` property in the future.
* 🔧 chors: additional localization labels
* ♻️ refactor: change is_archived property of conversation to camelCase
* Refactor the is_archived property of conversation to camelCase (isArchived) to adhere to the existing code conventions
* Modify the function that retrieves conversations to accept the isArchived parameter
* ♻️ refactor: add archiveConversation mutation
I thought I could divert dataService.updateConversation, but added a new archiveConversation because the request types are different. It might be better to make them common, but to avoid side effects, I added a new function this time.
Added process to deleteConversationMutation to delete archived conversations
* ✨ feat: Add the function to hide a cancel button in DialogTemplate component
The Cancel button is not needed when displaying the archive list, so I made the Cancel button optional.
* ♻️ refactor: Add support for filtering archived conversations in Nav component
This commit modifies the Nav component to add the ability to filter out archived conversations when fetching data. This is done by adding `isArchived: false` to the query parameters for both the `useConversationsInfiniteQuery()` and `useSearchInfiniteQuery()` hooks, effectively excluding any archived conversations from the results returned.
* ♻️ refactor: add Tooltip to DeleteButton
* Add Tooltip to DeleteButton component
* Display Tooltip when DeleteButton only shows an Icon without text
* ✨ feat(ui): add ArchiveButton component for archiving conversations
To be compatible with the ChatGPT UI, no confirmation dialog is displayed when ArchiveButton is clicked. The basic behavior conforms to DeleteButton and RenameButton.
* ✨ feat(ui): add Archive button to list of conversations
Modify the Nav of the conversation list to include a dropdown that contains the Rename and Delete options, similar to the ChatGPT UI. Additionally, an Archive button has been added adjacent to the dropdown menu.
* ✨ feat: Add ArchivedChatsTable component
Adds the `ArchivedChatsTable` component, which displays a table of archived chats. It has been implemented to be as compatible with the ChatGPT UI as possible.
* 🚑 fix(tooltip): increase z-index to ensure visibility over Dialog
Resolve an issue where tooltips were not visible when displayed over a Dialog. The z-index of `DialogPrimitive.Portal` in `Dialog.tsx` is set to 999. Since the rationale for this value is unclear, the z-index of the tooltip has been increased to 1000 to guarantee its visibility above the Dialog component.
* 🔧 chors: add internationalization labels
2024-05-06 20:07:00 -07:00
com_nav_archived_chats : 'Arkiverade chattar' ,
com_nav_archived_chats_manage : 'Hantera' ,
com_nav_archived_chats_empty : 'Du har inga arkiverade chattar.' ,
com_nav_archive_all_chats : 'Arkivera alla chattar' ,
com_nav_archive_all : 'Arkivera alla' ,
com_nav_archive_name : 'Namn' ,
com_nav_archive_created_at : 'Skapad' ,
2024-04-02 20:35:35 +02:00
com_nav_clear_conversation : 'Rensa konversationer' ,
com_nav_clear_conversation_confirm_message :
'Är du säker på att du vill rensa alla konversationer? Detta går inte att ångra.' ,
com_nav_help_faq : 'Hjälp & Vanliga frågor' ,
com_nav_settings : 'Inställningar' ,
com_nav_search_placeholder : 'Sök meddelanden' ,
com_nav_setting_general : 'Allmänt' ,
com_nav_setting_data : 'Datakontroller' ,
} ;