@@ -84,10 +84,8 @@ public static async Task<Modal> ToModalAsync<T>(this IDiscordInteraction interac
8484 var inputBuilder = new TextInputBuilder ( textComponent . CustomId , textComponent . Style , textComponent . Placeholder , textComponent . IsRequired ? textComponent . MinLength : null ,
8585 textComponent . MaxLength , textComponent . IsRequired ) ;
8686
87- if ( modalInstance != null )
88- {
89- await textComponent . TypeConverter . WriteAsync ( inputBuilder , interaction , textComponent , textComponent . Getter ( modalInstance ) ) ;
90- }
87+ var instanceValue = modalInstance is not null ? textComponent . Getter ( modalInstance ) : null ;
88+ await textComponent . TypeConverter . WriteAsync ( inputBuilder , interaction , textComponent , instanceValue ) ;
9189
9290 var labelBuilder = new LabelBuilder ( textComponent . Label , inputBuilder , textComponent . Description ) ;
9391 builder . AddLabel ( labelBuilder ) ;
@@ -97,10 +95,8 @@ public static async Task<Modal> ToModalAsync<T>(this IDiscordInteraction interac
9795 {
9896 var inputBuilder = new SelectMenuBuilder ( selectMenuComponent . CustomId , selectMenuComponent . Options . Select ( x => new SelectMenuOptionBuilder ( x ) ) . ToList ( ) , selectMenuComponent . Placeholder , selectMenuComponent . MaxValues , selectMenuComponent . MinValues , false , isRequired : selectMenuComponent . IsRequired ) ;
9997
100- if ( modalInstance != null )
101- {
102- await selectMenuComponent . TypeConverter . WriteAsync ( inputBuilder , interaction , selectMenuComponent , selectMenuComponent . Getter ( modalInstance ) ) ;
103- }
98+ var instanceValue = modalInstance is not null ? selectMenuComponent . Getter ( modalInstance ) : null ;
99+ await selectMenuComponent . TypeConverter . WriteAsync ( inputBuilder , interaction , selectMenuComponent , instanceValue ) ;
104100
105101 var labelBuilder = new LabelBuilder ( selectMenuComponent . Label , inputBuilder , selectMenuComponent . Description ) ;
106102 builder . AddLabel ( labelBuilder ) ;
@@ -111,10 +107,8 @@ public static async Task<Modal> ToModalAsync<T>(this IDiscordInteraction interac
111107 var channelTypes = snowflakeSelectComponent is ChannelSelectComponentInfo channelSelectComponent ? channelSelectComponent . ChannelTypes : null ;
112108 var inputBuilder = new SelectMenuBuilder ( snowflakeSelectComponent . CustomId , null , snowflakeSelectComponent . Placeholder , snowflakeSelectComponent . MaxValues , snowflakeSelectComponent . MinValues , false , snowflakeSelectComponent . ComponentType , [ ..channelTypes ] , snowflakeSelectComponent . DefaultValues . ToList ( ) , null , snowflakeSelectComponent . IsRequired ) ;
113109
114- if ( modalInstance != null )
115- {
116- await snowflakeSelectComponent . TypeConverter . WriteAsync ( inputBuilder , interaction , snowflakeSelectComponent , snowflakeSelectComponent . Getter ( modalInstance ) ) ;
117- }
110+ var instanceValue = modalInstance is not null ? snowflakeSelectComponent . Getter ( modalInstance ) : null ;
111+ await snowflakeSelectComponent . TypeConverter . WriteAsync ( inputBuilder , interaction , snowflakeSelectComponent , instanceValue ) ;
118112
119113 var labelBuilder = new LabelBuilder ( snowflakeSelectComponent . Label , inputBuilder , snowflakeSelectComponent . Description ) ;
120114 builder . AddLabel ( labelBuilder ) ;
@@ -124,21 +118,20 @@ public static async Task<Modal> ToModalAsync<T>(this IDiscordInteraction interac
124118 {
125119 var inputBuilder = new FileUploadComponentBuilder ( fileUploadComponent . CustomId , fileUploadComponent . MinValues , fileUploadComponent . MaxValues , fileUploadComponent . IsRequired ) ;
126120
127- if ( modalInstance != null )
128- {
129- await fileUploadComponent . TypeConverter . WriteAsync ( inputBuilder , interaction , fileUploadComponent , fileUploadComponent . Getter ( modalInstance ) ) ;
130- }
121+ var instanceValue = modalInstance is not null ? fileUploadComponent . Getter ( modalInstance ) : null ;
122+ await fileUploadComponent . TypeConverter . WriteAsync ( inputBuilder , interaction , fileUploadComponent , instanceValue ) ;
131123
132124 var labelBuilder = new LabelBuilder ( fileUploadComponent . Label , inputBuilder , fileUploadComponent . Description ) ;
133125 builder . AddLabel ( labelBuilder ) ;
134126 }
135127 break ;
136128 case TextDisplayComponentInfo textDisplayComponent :
137- {
138- var instanceValue = modalInstance is not null ? textDisplayComponent . Getter ( modalInstance ) . ToString ( ) : null ;
139- var content = instanceValue ?? ( textDisplayComponent . DefaultValue as string ) ?? textDisplayComponent . Content ;
140- var componentBuilder = new TextDisplayBuilder ( content ) ;
141- builder . AddTextDisplay ( componentBuilder ) ;
129+ {
130+ var instanceValue = modalInstance is not null ? textDisplayComponent . Getter ( modalInstance ) . ToString ( ) : null ;
131+ var content = instanceValue ?? ( textDisplayComponent . DefaultValue as string ) ?? textDisplayComponent . Content ;
132+
133+ var componentBuilder = new TextDisplayBuilder ( content ) ;
134+ builder . AddTextDisplay ( componentBuilder ) ;
142135 }
143136 break ;
144137 default :
0 commit comments