@@ -24,14 +24,14 @@ final class NodeOpener {
2424
2525 switch megaNode. isFolder ( ) {
2626 case true : openFolderNode ( megaNode, config: config)
27- case false : openFileNode ( megaNode, allNodes: allMegaNodes)
27+ case false : openFileNode ( megaNode, allNodes: allMegaNodes, displayMode : config . displayMode )
2828 }
2929 }
3030
3131 func openNode( node: MEGANode , allNodes: [ MEGANode ] ? , config: CloudDriveViewControllerFactory . NodeBrowserConfig = . default) {
3232 switch node. isFolder ( ) {
3333 case true : openFolderNode ( node, config: config)
34- case false : openFileNode ( node, allNodes: allNodes)
34+ case false : openFileNode ( node, allNodes: allNodes, displayMode : config . displayMode )
3535 }
3636 }
3737
@@ -53,7 +53,7 @@ final class NodeOpener {
5353
5454 // MARK: - Private
5555
56- private func openFileNode( _ node: MEGANode , allNodes: [ MEGANode ] ? ) {
56+ private func openFileNode( _ node: MEGANode , allNodes: [ MEGANode ] ? , displayMode : DisplayMode ? ) {
5757 guard node. name? . fileExtensionGroup. isVisualMedia == true else {
5858 node. mnz_open ( in: navigationController, folderLink: false , fileLink: nil , messageId: nil , chatId: nil , allNodes: allNodes)
5959 return
@@ -62,10 +62,13 @@ final class NodeOpener {
6262 let nodes = allNodes ?? [ node]
6363 let index = nodes. firstIndex ( where: { $0. handle == node. handle } ) ?? 0
6464 let mediaNodes = NSMutableArray ( array: nodes)
65+ let isOwner = sdk. accessLevel ( for: node) == . accessOwner
66+ let passedThroughDisplayMode : DisplayMode = displayMode? . carriedOverDisplayMode ?? . cloudDrive
67+ let displayMode : DisplayMode = isOwner ? passedThroughDisplayMode : . sharedItem
6568 let photoBrowserForMediaNode = MEGAPhotoBrowserViewController . photoBrowser (
6669 withMediaNodes: mediaNodes,
6770 api: MEGASdk . sharedSdk,
68- displayMode: . cloudDrive ,
71+ displayMode: displayMode ,
6972 preferredIndex: UInt ( truncatingIfNeeded: index)
7073 )
7174 navigationController? . present ( photoBrowserForMediaNode, animated: true , completion: nil )
0 commit comments