@@ -719,6 +719,47 @@ async def select_element(self, view: SettingsView, interaction: discore.Interact
719719 )
720720 await view .refresh (interaction )
721721
722+ @property
723+ async def items (self ) -> List [discore .ui .Item ]:
724+ if is_premium (self .interaction ) or not self .ctx .member .bot :
725+ toggle_button = discore .ui .Button (
726+ style = discore .ButtonStyle .primary if self .enabled else discore .ButtonStyle .secondary ,
727+ label = t (f'settings.filters.button.toggle.{ l (self .enabled )} ' ),
728+ custom_id = f'{ self .id } _toggle'
729+ )
730+ else :
731+ toggle_button = discore .ui .Button (
732+ label = t ('settings.members.toggle_bot_premium' ),
733+ disabled = True
734+ )
735+ edit_callback (toggle_button , self .view , self .toggle )
736+ if is_premium (self .interaction ):
737+ toggle_default_button = discore .ui .Button (
738+ style = discore .ButtonStyle .primary if self .use_deny_list else discore .ButtonStyle .secondary ,
739+ label = t (f'settings.filters.button.toggle_default.{ l (self .use_deny_list )} ' ),
740+ custom_id = f'{ self .id } _default'
741+ )
742+ else :
743+ toggle_default_button = discore .ui .Button (
744+ label = t ('settings.filters.button.toggle_default.premium' ),
745+ disabled = True
746+ )
747+ edit_callback (toggle_default_button , self .view , self .toggle_default )
748+ reset_button = discore .ui .Button (
749+ style = discore .ButtonStyle .danger ,
750+ label = t (f'settings.filters.button.reset.{ l (self .reset_clicked_level > 1 )} ' ),
751+ custom_id = f'{ self .id } _reset'
752+ )
753+ edit_callback (reset_button , self .view , self .reset )
754+ selector = self .Select (
755+ custom_id = f'{ self .id } _select' ,
756+ default_values = [self .element .discord_object ],
757+ placeholder = t (f'settings.{ self .id } .select' ),
758+ ** self .select_kwargs
759+ )
760+ edit_callback (selector , self .view , self .select_element )
761+ return [toggle_button , toggle_default_button , reset_button , selector ]
762+
722763
723764
724765class ChannelSetting (GenericFilterSetting ):
0 commit comments