35 lines
910 B
Plaintext
35 lines
910 B
Plaintext
|
package component
|
||
|
|
||
|
import common "forge.cadoles.com/wpetit/clearcase/internal/http/handler/webui/common/component"
|
||
|
|
||
|
type LoginPageVModel struct {
|
||
|
Providers []ProviderVModel
|
||
|
}
|
||
|
|
||
|
type ProviderVModel struct {
|
||
|
ID string
|
||
|
Label string
|
||
|
Icon string
|
||
|
}
|
||
|
|
||
|
templ LoginPage(vmodel LoginPageVModel) {
|
||
|
@common.Page() {
|
||
|
<div class="is-flex is-justify-content-center is-align-items-center is-fullheight">
|
||
|
<nav class="panel is-link" style="min-width: 33%">
|
||
|
<p class="panel-heading">
|
||
|
<div class="title">ClearCase</div>
|
||
|
<span> - choose your provider</span>
|
||
|
</p>
|
||
|
for _, provider := range vmodel.Providers {
|
||
|
<a class="panel-block" href={ templ.URL("/auth/providers/" + provider.ID) } hx-boost="false">
|
||
|
<span class="panel-icon is-size-3">
|
||
|
<i class={ "fab", provider.Icon } aria-hidden="true"></i>
|
||
|
</span>
|
||
|
{ provider.Label }
|
||
|
</a>
|
||
|
}
|
||
|
</nav>
|
||
|
</div>
|
||
|
}
|
||
|
}
|