@@ -20,6 +20,8 @@ import {_t} from "../../../../../languageHandler";
2020import MatrixClientPeg from "../../../../../MatrixClientPeg" ;
2121import Pill from "../../../elements/Pill" ;
2222import { makeUserPermalink } from "../../../../../utils/permalinks/Permalinks" ;
23+ import BaseAvatar from "../../../avatars/BaseAvatar" ;
24+ import { ContentRepo } from "matrix-js-sdk" ;
2325
2426const BRIDGE_EVENT_TYPES = [
2527 "uk.half-shot.bridge" ,
@@ -47,9 +49,10 @@ export default class BridgeSettingsTab extends React.Component {
4749 if ( ! content || ! content . channel || ! content . protocol ) {
4850 return null ;
4951 }
52+ const { channel, network } = content ;
5053 const protocolName = content . protocol . displayname || content . protocol . id ;
51- const channelName = content . channel . displayname || content . channel . id ;
52- const networkName = content . network ? " on " + ( content . network . displayname || content . network . id ) : "" ;
54+ const channelName = channel . displayname || channel . id ;
55+ const networkName = network ? network . displayname || network . id : "" ;
5356 let status = null ;
5457 if ( content . status === "active" ) {
5558 status = ( < p > Status: < b > Active</ b > </ p > ) ;
@@ -78,13 +81,41 @@ export default class BridgeSettingsTab extends React.Component {
7881 /> bot user.</ p >
7982 ) ;
8083
84+ const channelLink = channel . external_url ? ( < a target = "_blank" href = { channel . external_url } > { channelName } </ a > ) : channelName ;
85+ const networkLink = network && network . external_url ? ( < a target = "_blank" href = { network . external_url } > { networkName } </ a > )
86+ : networkName ;
87+
8188 const chanAndNetworkInfo = (
82- < p > Bridged into { channelName } { networkName } , on { protocolName } </ p >
89+ < p > Bridged into { channelLink } { networkLink } , on { protocolName } </ p >
8390 ) ;
8491
92+ let networkIcon = null ;
93+ if ( networkName && network . avatar ) {
94+ const avatarUrl = ContentRepo . getHttpUriForMxc (
95+ MatrixClientPeg . get ( ) . getHomeserverUrl ( ) ,
96+ network . avatar , 32 , 32 , "crop" ,
97+ ) ;
98+ networkIcon = < BaseAvatar width = { 32 } height = { 32 } resizeMethod = 'crop'
99+ name = { networkName } idName = { networkName }
100+ url = { avatarUrl } /> ;
101+ }
102+
103+ let channelIcon = null ;
104+ if ( channel . avatar ) {
105+ const avatarUrl = ContentRepo . getHttpUriForMxc (
106+ MatrixClientPeg . get ( ) . getHomeserverUrl ( ) ,
107+ channel . avatar , 32 , 32 , "crop" ,
108+ ) ;
109+ console . log ( channel . avatar ) ;
110+ channelIcon = < BaseAvatar width = { 32 } height = { 32 } resizeMethod = 'crop'
111+ name = { networkName } idName = { networkName }
112+ url = { avatarUrl } /> ;
113+ }
114+
85115 return ( < li key = { event . stateKey } >
86116 < div >
87- < h3 > { channelName } { networkName } ({ protocolName } )</ h3 >
117+ < h3 > { channelIcon } { channelName } { networkName ? ` on ${ networkName } ` : "" } { networkIcon } </ h3 >
118+ < p > Connected via { protocolName } </ p >
88119 < details >
89120 { status }
90121 { creator }
0 commit comments