dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

commit 6af29ceaaf59a842312477d0f4d4437661f65ef4
parent 44a03cdc0cc6d1f741262e0ba8a9d9df512b59bd
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Wed, 14 Dec 2022 20:38:48 -0500

cleanup

Diffstat:
Mpkg/web/handlers/handlers.go | 24++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/pkg/web/handlers/handlers.go b/pkg/web/handlers/handlers.go @@ -154,15 +154,11 @@ func protectHomeHandler(c echo.Context) error { } waitTime := int64(time.Until(loginLink.ValidUntil).Seconds()) - var frames []string // Generate css frames - step := 100.0 / float64(waitTime) - pct := 0.0 - for i := int64(0); i <= waitTime; i++ { - frames = append(frames, fmt.Sprintf(`%.2f%% { content: "%s"; }`, pct, utils.ShortDur(time.Duration(waitTime-i)*time.Second))) - pct += step - } + frames := generateCaptchaCssFrames(waitTime, func(i int64) string { + return utils.ShortDur(time.Duration(i) * time.Second) + }) time.Sleep(utils.RandSec(1, 2)) bufTmp := make([]byte, 0, 1024*4) @@ -778,7 +774,7 @@ func waitPageWrapper(c echo.Context, clb echo.HandlerFunc, cookieName string) er var data1 waitData // Generate css frames - data1.Frames = generateCaptchaCssFrames(waitTime) + data1.Frames = generateCaptchaCssFrames(waitTime, nil) data1.WaitTime = waitTime data1.SignupToken = signupToken return c.Render(http.StatusOK, "signup-wait", data1) @@ -844,7 +840,7 @@ func signupHandler(c echo.Context) error { config.SignupPageLoad.Inc() data.CaptchaSec = 120 - data.Frames = generateCaptchaCssFrames(data.CaptchaSec) + data.Frames = generateCaptchaCssFrames(data.CaptchaSec, nil) hbCookie, hbCookieErr := c.Cookie(hutils.HBCookieName) hasHBCookie := hbCookieErr == nil && hbCookie.Value != "" @@ -968,11 +964,15 @@ const ( RecoveryGpgValidated ) -func generateCaptchaCssFrames(captchaSec int64) (frames []string) { +func generateCaptchaCssFrames(captchaSec int64, contentFn func(int64) string) (frames []string) { step := 100.0 / float64(captchaSec) pct := 0.0 for i := int64(0); i <= captchaSec; i++ { - frames = append(frames, fmt.Sprintf(`%.2f%% { content: "%d"; }`, pct, captchaSec-i)) + if contentFn == nil { + frames = append(frames, fmt.Sprintf(`%.2f%% { content: "%d"; }`, pct, captchaSec-i)) + } else { + frames = append(frames, fmt.Sprintf(`%.2f%% { content: "%s"; }`, pct, contentFn(captchaSec-i))) + } pct += step } return @@ -988,7 +988,7 @@ func forgotPasswordHandler(c echo.Context) error { data.Step = 1 data.CaptchaSec = 120 - data.Frames = generateCaptchaCssFrames(data.CaptchaSec) + data.Frames = generateCaptchaCssFrames(data.CaptchaSec, nil) data.CaptchaID, data.CaptchaImg = captcha.New()