mirror of
https://github.com/TecharoHQ/anubis.git
synced 2025-10-04 05:41:59 +08:00
* feat: add 'proof of React' challenge Signed-off-by: Xe Iaso <me@xeiaso.net> * fix(challenge/preact): use JSX fragments Signed-off-by: Xe Iaso <me@xeiaso.net> * fix(challenge/preact): ensure that the client waits as long as it needs to Signed-off-by: Xe Iaso <me@xeiaso.net> * docs: fix spelling Signed-off-by: Xe Iaso <me@xeiaso.net> * fix(challenges/xeact): add noscript warning Signed-off-by: Xe Iaso <me@xeiaso.net> * fix(challenges/xeact): add default loading message Signed-off-by: Xe Iaso <me@xeiaso.net> * fix(challenges/xeact): make a UI render without JS Signed-off-by: Xe Iaso <me@xeiaso.net> * fix(challenges/xeact): use %s here, not %w Signed-off-by: Xe Iaso <me@xeiaso.net> * fix(test/healthcheck): run asset build Signed-off-by: Xe Iaso <me@xeiaso.net> * fix(challenge/preact): fix build in ci Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net> Signed-off-by: Xe Iaso <xe.iaso@techaro.lol>
28 lines
1 KiB
Text
28 lines
1 KiB
Text
package preact
|
|
|
|
import (
|
|
"github.com/TecharoHQ/anubis"
|
|
"github.com/TecharoHQ/anubis/lib/localization"
|
|
)
|
|
|
|
templ page(redir, challenge string, difficulty int, loc *localization.SimpleLocalizer) {
|
|
<div class="centered-div">
|
|
<div id="app">
|
|
<img id="image" style="width:100%;max-width:256px;" src={ anubis.BasePrefix + "/.within.website/x/cmd/anubis/static/img/pensive.webp?cacheBuster=" + anubis.Version }/>
|
|
<p id="status">{ loc.T("loading") }</p>
|
|
<p>{ loc.T("connection_security") }</p>
|
|
</div>
|
|
@templ.JSONScript("preact_info", map[string]any{
|
|
"redir": redir,
|
|
"challenge": challenge,
|
|
"difficulty": difficulty,
|
|
"connection_security_message": loc.T("connection_security"),
|
|
"loading_message": loc.T("loading"),
|
|
"pensive_url": anubis.BasePrefix + "/.within.website/x/cmd/anubis/static/img/pensive.webp?cacheBuster=" + anubis.Version,
|
|
})
|
|
@templ.ComponentFunc(renderAppJS)
|
|
<noscript>
|
|
{ loc.T("javascript_required") }
|
|
</noscript>
|
|
</div>
|
|
}
|