(in-package :mfa-tool)
(capi:define-interface reauth-interface ()
((error-message :initarg :error-message)
(auth-user :initarg :auth-user))
(:panes (error-display capi:display-pane
:background :transparent
:text error-message)
(user-input capi:text-input-pane
:title "User:"
:title-position :left
:title-args '(:visible-min-width (:character 10))
:text auth-user
:reader user-input)
(mfa-input capi:text-input-pane
:title "MFA Token:"
:title-position :left
:max-characters 6
:title-args '(:visible-min-width (:character 10))
:reader mfa-input))
(:layouts (main-layout capi:column-layout
'(error-display
nil
user-input
mfa-input)
:visible-min-width '(:character 50)
:adjust :center))
(:default-initargs
:layout 'main-layout))
(defun reauth-result (reauth-interface)
(let ((result (list (capi:text-input-pane-text (user-input reauth-interface))
(capi:text-input-pane-text (mfa-input reauth-interface)))))
(if (and (position #\@ (first result))
(every 'digit-char-p (second result))
)
result
(values result t))))
|