@@ -63,7 +63,8 @@ interface DefaultOptions {
6363 mouthStyle : MouthStyle [ ] ,
6464 shirtStyle : ShirtStyle [ ] ,
6565 shirtColor : string [ ] ,
66- bgColor : string [ ]
66+ bgColor : string [ ] ,
67+ gradientBgColor : string [ ]
6768}
6869export const defaultOptions : DefaultOptions = {
6970 sex : [ "man" , "woman" ] ,
@@ -81,7 +82,14 @@ export const defaultOptions: DefaultOptions = {
8182 mouthStyle : [ "laugh" , "smile" , "peace" ] ,
8283 shirtStyle : [ "hoody" , "short" , "polo" ] ,
8384 shirtColor : [ "#9287FF" , "#6BD9E9" , "#FC909F" , "#F4D150" , "#77311D" ] ,
84- bgColor : [ "#9287FF" , "#6BD9E9" , "#FC909F" , "#F4D150" , "#E0DDFF" , "#D2EFF3" , "#FFEDEF" , "#FFEBA4" , "#506AF4" , "#F48150" , "#74D153" ]
85+ bgColor : [ "#9287FF" , "#6BD9E9" , "#FC909F" , "#F4D150" , "#E0DDFF" , "#D2EFF3" , "#FFEDEF" , "#FFEBA4" , "#506AF4" , "#F48150" , "#74D153" ] ,
86+ gradientBgColor : [
87+ "linear-gradient(45deg, rgba(120,113,245,1) 0%, rgba(52,185,242,1) 100%)" ,
88+ "linear-gradient(45deg, rgba(242,127,52,1) 0%, rgba(242,200,52,1) 100%)" ,
89+ "linear-gradient(45deg, rgba(34,193,195,1) 0%, rgba(253,187,45,1) 100%)" ,
90+ "linear-gradient(90deg, rgba(148,187,233,1) 0%, rgba(238,174,202,1) 100%)" ,
91+ "linear-gradient(45deg, rgba(53,173,247,1) 0%, rgba(86,241,204,1) 100%)"
92+ ]
8593} ;
8694export const genConfig : GenConfigFunc = ( userConfig = { } ) => {
8795 const response = { } as Required < AvatarFullConfig > ;
@@ -142,7 +150,11 @@ export const genConfig: GenConfigFunc = (userConfig = {}) => {
142150 response . shirtColor = userConfig . shirtColor || pickRandomFromList ( defaultOptions . shirtColor , { avoidList : [ _hairOrHatColor ] } ) ;
143151
144152 // Background color
145- response . bgColor = userConfig . bgColor || pickRandomFromList ( defaultOptions . bgColor , { avoidList : [ _hairOrHatColor , response . shirtColor ] } ) ;
153+ if ( userConfig . isGradient ) {
154+ response . bgColor = userConfig . bgColor || pickRandomFromList ( defaultOptions . gradientBgColor ) ;
155+ } else {
156+ response . bgColor = userConfig . bgColor || pickRandomFromList ( defaultOptions . bgColor , { avoidList : [ _hairOrHatColor , response . shirtColor ] } ) ;
157+ }
146158
147159 return response ;
148160} ;
0 commit comments