2025-01-04 18:51:40 -05:00
// Code generated by templ - DO NOT EDIT.
2025-01-04 21:13:51 -05:00
// templ: version: v0.3.819
2025-01-04 18:51:40 -05:00
package islands
//lint:file-ignore SA4006 This context is only used if a nested component is present.
import "github.com/a-h/templ"
import templruntime "github.com/a-h/templ/runtime"
type Coin struct {
Ticker string
Name string
IsDefault bool
}
var defaultCoins = [ ] Coin {
{ Ticker : "SNR" , Name : "Sonr" , IsDefault : true } ,
{ Ticker : "BTC" , Name : "Bitcoin" , IsDefault : true } ,
{ Ticker : "ETH" , Name : "Ethereum" , IsDefault : true } ,
{ Ticker : "SOL" , Name : "Solana" , IsDefault : false } ,
{ Ticker : "LTC" , Name : "Litecoin" , IsDefault : false } ,
{ Ticker : "DOGE" , Name : "Dogecoin" , IsDefault : false } ,
{ Ticker : "XRP" , Name : "Ripple" , IsDefault : false } ,
{ Ticker : "OSMO" , Name : "Osmosis" , IsDefault : false } ,
{ Ticker : "ATOM" , Name : "Cosmos" , IsDefault : false } ,
{ Ticker : "STARZ" , Name : "Stargaze" , IsDefault : false } ,
{ Ticker : "AKT" , Name : "Akash" , IsDefault : false } ,
{ Ticker : "EVMOS" , Name : "Evmos" , IsDefault : false } ,
{ Ticker : "FIL" , Name : "Filecoin" , IsDefault : false } ,
{ Ticker : "AXL" , Name : "Axelar" , IsDefault : false } ,
}
func CoinSelect ( ) templ . Component {
return templruntime . GeneratedTemplate ( func ( templ_7745c5c3_Input templruntime . GeneratedComponentInput ) ( templ_7745c5c3_Err error ) {
templ_7745c5c3_W , ctx := templ_7745c5c3_Input . Writer , templ_7745c5c3_Input . Context
if templ_7745c5c3_CtxErr := ctx . Err ( ) ; templ_7745c5c3_CtxErr != nil {
return templ_7745c5c3_CtxErr
}
templ_7745c5c3_Buffer , templ_7745c5c3_IsBuffer := templruntime . GetBuffer ( templ_7745c5c3_W )
if ! templ_7745c5c3_IsBuffer {
defer func ( ) {
templ_7745c5c3_BufErr := templruntime . ReleaseBuffer ( templ_7745c5c3_Buffer )
if templ_7745c5c3_Err == nil {
templ_7745c5c3_Err = templ_7745c5c3_BufErr
}
} ( )
}
ctx = templ . InitializeContext ( ctx )
templ_7745c5c3_Var1 := templ . GetChildren ( ctx )
if templ_7745c5c3_Var1 == nil {
templ_7745c5c3_Var1 = templ . NopComponent
}
ctx = templ . ClearChildren ( ctx )
2025-01-04 21:13:51 -05:00
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 1 , "<sl-select label=\"Accounts\" name=\"selected_assets\" value=\"SNR BTC ETH\" help-text=\"Select Blockchains to connect with your Vault\" multiple class=\"custom-tag py-2\">" )
2025-01-04 18:51:40 -05:00
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
for _ , a := range defaultCoins {
templ_7745c5c3_Err = CoinOption ( a ) . Render ( ctx , templ_7745c5c3_Buffer )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
2025-01-04 21:13:51 -05:00
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 2 , "</sl-select><script>\n\t const select = document.querySelector('.custom-tag');\n select.getTag = (option, index) => {\n // Use the same icon used in the <sl-option>\n const name = option.querySelector('sl-icon[slot=\"prefix\"]').name;\n\n // You can return a string, a Lit Template, or an HTMLElement here\n return `\n <sl-tag removable>\n <sl-icon name=\"${name}\" library=\"crypto\" style=\"padding-inline-end: .5rem;\"></sl-icon>\n ${option.getTextLabel()}\n </sl-tag>\n `;\n };\n\t</script>" )
2025-01-04 18:51:40 -05:00
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
2025-01-04 21:13:51 -05:00
return nil
2025-01-04 18:51:40 -05:00
} )
}
func CoinOption ( a Coin ) templ . Component {
return templruntime . GeneratedTemplate ( func ( templ_7745c5c3_Input templruntime . GeneratedComponentInput ) ( templ_7745c5c3_Err error ) {
templ_7745c5c3_W , ctx := templ_7745c5c3_Input . Writer , templ_7745c5c3_Input . Context
if templ_7745c5c3_CtxErr := ctx . Err ( ) ; templ_7745c5c3_CtxErr != nil {
return templ_7745c5c3_CtxErr
}
templ_7745c5c3_Buffer , templ_7745c5c3_IsBuffer := templruntime . GetBuffer ( templ_7745c5c3_W )
if ! templ_7745c5c3_IsBuffer {
defer func ( ) {
templ_7745c5c3_BufErr := templruntime . ReleaseBuffer ( templ_7745c5c3_Buffer )
if templ_7745c5c3_Err == nil {
templ_7745c5c3_Err = templ_7745c5c3_BufErr
}
} ( )
}
ctx = templ . InitializeContext ( ctx )
templ_7745c5c3_Var2 := templ . GetChildren ( ctx )
if templ_7745c5c3_Var2 == nil {
templ_7745c5c3_Var2 = templ . NopComponent
}
ctx = templ . ClearChildren ( ctx )
if a . IsDefault {
2025-01-04 21:13:51 -05:00
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 3 , "<sl-option value=\"" )
2025-01-04 18:51:40 -05:00
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3 , templ_7745c5c3_Err = templ . JoinStringErrs ( a . Ticker )
if templ_7745c5c3_Err != nil {
2025-01-06 19:40:10 -05:00
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` app/islands/coin_select.templ ` , Line : 58 , Col : 29 }
2025-01-04 18:51:40 -05:00
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var3 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
2025-01-04 21:13:51 -05:00
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 4 , "\" selected disabled><sl-icon slot=\"prefix\" name=\"" )
2025-01-04 18:51:40 -05:00
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4 , templ_7745c5c3_Err = templ . JoinStringErrs ( a . Ticker )
if templ_7745c5c3_Err != nil {
2025-01-06 19:40:10 -05:00
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` app/islands/coin_select.templ ` , Line : 59 , Col : 41 }
2025-01-04 18:51:40 -05:00
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var4 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
2025-01-04 21:13:51 -05:00
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 5 , "\" library=\"crypto\"></sl-icon> " )
2025-01-04 18:51:40 -05:00
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5 , templ_7745c5c3_Err = templ . JoinStringErrs ( a . Name )
if templ_7745c5c3_Err != nil {
2025-01-06 19:40:10 -05:00
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` app/islands/coin_select.templ ` , Line : 60 , Col : 11 }
2025-01-04 18:51:40 -05:00
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var5 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
2025-01-04 21:13:51 -05:00
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 6 , "</sl-option> <sl-divider></sl-divider>" )
2025-01-04 18:51:40 -05:00
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
2025-01-04 21:13:51 -05:00
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 7 , "<sl-option value=\"" )
2025-01-04 18:51:40 -05:00
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var6 string
templ_7745c5c3_Var6 , templ_7745c5c3_Err = templ . JoinStringErrs ( a . Ticker )
if templ_7745c5c3_Err != nil {
2025-01-06 19:40:10 -05:00
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` app/islands/coin_select.templ ` , Line : 64 , Col : 29 }
2025-01-04 18:51:40 -05:00
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var6 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
2025-01-04 21:13:51 -05:00
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 8 , "\"><sl-icon slot=\"prefix\" name=\"" )
2025-01-04 18:51:40 -05:00
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var7 string
templ_7745c5c3_Var7 , templ_7745c5c3_Err = templ . JoinStringErrs ( a . Ticker )
if templ_7745c5c3_Err != nil {
2025-01-06 19:40:10 -05:00
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` app/islands/coin_select.templ ` , Line : 65 , Col : 41 }
2025-01-04 18:51:40 -05:00
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var7 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
2025-01-04 21:13:51 -05:00
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 9 , "\" library=\"crypto\"></sl-icon> " )
2025-01-04 18:51:40 -05:00
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var8 string
templ_7745c5c3_Var8 , templ_7745c5c3_Err = templ . JoinStringErrs ( a . Name )
if templ_7745c5c3_Err != nil {
2025-01-06 19:40:10 -05:00
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` app/islands/coin_select.templ ` , Line : 66 , Col : 11 }
2025-01-04 18:51:40 -05:00
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var8 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
2025-01-04 21:13:51 -05:00
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 10 , "</sl-option> <sl-divider></sl-divider>" )
2025-01-04 18:51:40 -05:00
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
2025-01-04 21:13:51 -05:00
return nil
2025-01-04 18:51:40 -05:00
} )
}
var _ = templruntime . GeneratedTemplate