Skip to content

Commit

Permalink
fix: Conversation details of archived conversation still show 'Archiv…
Browse files Browse the repository at this point in the history
…e' option (#16128)

* fix:  conversation details of archived conversation still show 'Archive' option

* fix: review comments

* Update src/script/page/RightSidebar/ConversationDetails/utils/getConversationActions.ts

Co-authored-by: Thomas Belin <thomasbelin4@gmail.com>

* Update src/script/view_model/ActionsViewModel.ts

Co-authored-by: Thomas Belin <thomasbelin4@gmail.com>

---------

Co-authored-by: Thomas Belin <thomasbelin4@gmail.com>
  • Loading branch information
arjita-mitra and atomrc committed Nov 6, 2023
1 parent 8a9b65b commit 50b77fc
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -61,14 +61,23 @@ const getConversationActions = (
},
},
{
condition: true,
condition: !conversationEntity.is_archived(),
item: {
click: async () => actionsViewModel.archiveConversation(conversationEntity),
icon: 'archive-icon',
identifier: 'do-archive',
label: t('conversationDetailsActionArchive'),
},
},
{
condition: conversationEntity.is_archived(),
item: {
click: async () => actionsViewModel.unarchiveConversation(conversationEntity),
icon: 'archive-icon',
identifier: 'do-unarchive',
label: t('conversationsPopoverUnarchive'),
},
},
{
condition: conversationEntity.isRequest(),
item: {
Expand Down
11 changes: 11 additions & 0 deletions src/script/view_model/ActionsViewModel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ import {PrimaryModal, removeCurrentModal, usePrimaryModalState} from 'Components
import {t} from 'Util/LocalizerUtil';
import {isBackendError} from 'Util/TypePredicateUtil';

import type {MainViewModel} from './MainViewModel';

import type {ClientEntity} from '../client';
import type {ConnectionRepository} from '../connection/ConnectionRepository';
import type {ConversationRepository} from '../conversation/ConversationRepository';
Expand All @@ -50,6 +52,7 @@ export class ActionsViewModel {
private readonly integrationRepository: IntegrationRepository,
private readonly messageRepository: MessageRepository,
private readonly userState = container.resolve(UserState),
private readonly mainViewModel: MainViewModel,
) {}

readonly acceptConnectionRequest = (userEntity: User): Promise<void> => {
Expand All @@ -64,6 +67,14 @@ export class ActionsViewModel {
return this.conversationRepository.archiveConversation(conversationEntity);
};

readonly unarchiveConversation = (conversationEntity: Conversation): void => {
if (!conversationEntity) {
return;
}

return this.mainViewModel.list.clickToUnarchive(conversationEntity);
};

/**
* @param userEntity User to block
* @param hideConversation Hide current conversation
Expand Down
2 changes: 2 additions & 0 deletions src/script/view_model/MainViewModel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,8 @@ export class MainViewModel {
repositories.conversation,
repositories.integration,
repositories.message,
userState,
this,
);

this.calling = new CallingViewModel(
Expand Down

0 comments on commit 50b77fc

Please sign in to comment.