@@ -42,6 +42,7 @@ export { Plugins as plugins };
4242import { traceFunction } from "../debug/Tracer" ;
4343import { addAudioProcessor , removeAudioProcessor } from "./AudioPlayer" ;
4444import { addChannelToolbarButton , addHeaderBarButton , removeChannelToolbarButton , removeHeaderBarButton } from "./HeaderBar" ;
45+ import { addProfileCollection , removeProfileCollection } from "./ProfileCollections" ;
4546import { addUserAreaButton , removeUserAreaButton } from "./UserArea" ;
4647
4748const logger = new Logger ( "PluginManager" , "#a6d189" ) ;
@@ -196,7 +197,7 @@ export const startPlugin = traceFunction("startPlugin", function startPlugin(p:
196197 onBeforeMessageEdit, onBeforeMessageSend, onMessageClick,
197198 renderChatBarButton, chatBarButton, renderMemberListDecorator, renderMessageAccessory, renderMessageDecoration, renderMessagePopoverButton, messagePopoverButton,
198199 // Custom
199- renderNicknameIcon, headerBarButton, audioProcessor, userAreaButton
200+ renderNicknameIcon, headerBarButton, audioProcessor, userAreaButton, renderProfileCollection
200201 } = p ;
201202
202203 if ( p . start ) {
@@ -267,6 +268,7 @@ export const startPlugin = traceFunction("startPlugin", function startPlugin(p:
267268 }
268269 if ( audioProcessor ) addAudioProcessor ( name , audioProcessor ) ;
269270 if ( userAreaButton ) addUserAreaButton ( name , userAreaButton . render , userAreaButton . priority ) ;
271+ if ( renderProfileCollection ) addProfileCollection ( name , renderProfileCollection ) ;
270272
271273 return true ;
272274} , p => `startPlugin ${ p . name } ` ) ;
@@ -277,7 +279,7 @@ export const stopPlugin = traceFunction("stopPlugin", function stopPlugin(p: Plu
277279 onBeforeMessageEdit, onBeforeMessageSend, onMessageClick,
278280 renderChatBarButton, chatBarButton, renderMemberListDecorator, renderMessageAccessory, renderMessageDecoration, renderMessagePopoverButton, messagePopoverButton,
279281 // Custom
280- renderNicknameIcon, headerBarButton, audioProcessor, userAreaButton
282+ renderNicknameIcon, headerBarButton, audioProcessor, userAreaButton, renderProfileCollection
281283 } = p ;
282284
283285 if ( p . stop ) {
@@ -342,6 +344,7 @@ export const stopPlugin = traceFunction("stopPlugin", function stopPlugin(p: Plu
342344 }
343345 if ( audioProcessor ) removeAudioProcessor ( name ) ;
344346 if ( userAreaButton ) removeUserAreaButton ( name ) ;
347+ if ( renderProfileCollection ) removeProfileCollection ( name ) ;
345348
346349 return true ;
347350} , p => `stopPlugin ${ p . name } ` ) ;
@@ -354,7 +357,7 @@ export const initPluginManager = onlyOnce(function init() {
354357 "onBeforeMessageEdit" , "onBeforeMessageSend" , "onMessageClick" ,
355358 "renderChatBarButton" , "renderMemberListDecorator" , "renderMessageAccessory" , "renderMessageDecoration" , "renderMessagePopoverButton" ,
356359 // Custom
357- "renderNicknameIcon"
360+ "renderNicknameIcon" , "renderProfileCollection"
358361 ] ;
359362
360363 const neededApiPlugins = new Set < string > ( ) ;
@@ -396,6 +399,7 @@ export const initPluginManager = onlyOnce(function init() {
396399 if ( p . headerBarButton ) neededApiPlugins . add ( "HeaderBarAPI" ) ;
397400 if ( p . audioProcessor ) neededApiPlugins . add ( "AudioPlayerAPI" ) ;
398401 if ( p . userAreaButton ) neededApiPlugins . add ( "UserAreaAPI" ) ;
402+ if ( p . renderProfileCollection ) neededApiPlugins . add ( "ProfileCollectionsAPI" ) ;
399403
400404 for ( const key of pluginKeysToBind ) {
401405 p [ key ] &&= p [ key ] . bind ( p ) as any ;
0 commit comments