Files
wordpress-theme-aksrt/assets/css/routes/sign.css
T
kate522 41366e7fc4 feat(auth): rebuild the sign-in surfaces on the shared sign-card contract
The login/register page and the auth modal had drifted into a parallel
system: floating-input fields, a sign-page-card shell and a bespoke
jio-auth-modal wrapper that none of the theme's own sign CSS targeted.
The reference card rules (.sign, .sign-img, .sign-content, .line-form-input,
.scale-placeholder, .social_loginbar, .title-h-left, #u_sign .modal-dialog,
.qrcode-signin-container) have been in main.css all along, so the fix is to
render the reference DOM instead of re-styling a second one.

auth-content.php now emits one .sign.jio-panel.blur-bg.relative card with a
.tab-content of #tab-sign-in / #tab-sign-up / #tab-resetpassword /
#tab-qrcode-signin / #tab-bind panes. Each pane opens with a
.title-h-left.fa-2x heading plus a .muted-color.px12 link, fields are
.relative.line-form.mb10 > .line-form-input + .scale-placeholder +
.line-form-line, the verification trigger is the .yztx.abs-right captchsubmit
button, and submits are .but.radius.jb-blue|jb-green.padding-lg.btn-block.
Social entries come from the shared render_social_buttons() separator +
.social_loginbar, and the OAuth bind pane uses the oauth-data-box avatar card.

The modal shell is #u_sign.modal > .modal-dialog > .sign-content >
.sign-img.absolute.hide-sm + .sign, and the page shell is the reference
.container.sign-page > .row.sign-row.gutters-5 > .col-md-6(.col-md-offset-6/
.col-md-offset-3).sign-col with a .fixed.lazyload background and a blurred
fixed footer. auth.js drives .in instead of .is-open, toggles the new
password/signin-mode/invite-gate controls and no longer touches the retired
markup. The page also drops two footer-hook removals that targeted functions
which no longer exist, and opts out of the fixed-nav offset.

The sign page's custom theme setting now actually applies: Router answers
jio_forced_theme_mode, jioData.themeForced wins over the stored cookie in
theme.js, theme-toggle positions are suppressed, and the page marks html/body
dark or white accordingly.

sign.css shrinks from ~114 lines of bespoke component styling to a thin
positioning layer, and the retired classes are gone rather than kept.

Verification: php -l on every changed PHP file, node --check on both JS files,
node --test across widget-system, navigation and front-submit (873 passing),
and tools/audit-psr4-paths.php / audit-admin-contracts.php both at 0 errors.
assets/js/runtime/main.min.js was rebuilt because theme.js gained the forced
theme branch.
2026-11-04 16:04:24 +08:00

149 lines
2.3 KiB
CSS

/* Authentication surfaces: modal (#u_sign) and the /sign/ page.
*
* Card, line inputs, tab panes, social bar and title rules come from the shared
* theme stylesheet; this file only positions the shells around them.
*/
#u_sign.jio-auth-modal {
z-index: 100050;
}
#u_sign.jio-auth-modal.in {
display: block;
overflow-x: hidden;
overflow-y: auto;
background: rgba(0, 0, 0, 0.4);
}
#u_sign.jio-auth-modal .modal-dialog {
opacity: 0;
transform: translateY(-12px);
transition: opacity 0.2s ease, transform 0.25s ease;
}
#u_sign.jio-auth-modal.in .modal-dialog {
opacity: 1;
transform: none;
}
#u_sign .sign-img {
inset: 0;
overflow: hidden;
}
#u_sign .sign-img img {
display: block;
width: 100%;
height: 100%;
border-radius: var(--main-radius);
object-fit: cover;
}
#u_sign .sign > .close {
position: absolute;
top: 10px;
right: 15px;
z-index: 3;
font-size: 18px;
}
body.auth-modal-open {
overflow: hidden;
}
/* ---- /sign/ page shell ---- */
.page-template-user-sign {
min-height: 500px;
}
.page-template-user-sign > .fixed {
z-index: 0;
}
.sign-page {
position: relative;
z-index: 1;
min-height: 500px;
padding-top: 70px;
padding-bottom: 60px;
}
.sign-row {
min-height: calc(100vh - 130px);
display: flex;
flex-wrap: wrap;
}
.sign-page .sign {
width: 350px;
}
.sign-col {
display: flex;
justify-content: center;
align-items: center;
}
.sign-page-footer {
top: auto;
height: auto;
padding: 10px;
z-index: 2;
}
.sign .sign-passw {
border: 0;
background: none;
padding: 0;
line-height: 1;
cursor: pointer;
}
.sign .oauth-data-box .muted-box {
margin-bottom: 10px;
}
.sign .oauth-data-box .avatar-img {
--this-size: 60px;
}
.sign [data-auth-qr-content] {
display: grid;
place-items: center;
min-height: 180px;
}
.sign .qrcode-signin-container button[data-auth-refresh-qr] {
border: 0;
background: none;
padding: 10px;
color: var(--focus-color);
cursor: pointer;
}
.sign [data-invite-feedback].is-error {
color: #ff5473;
}
@media (max-width: 991px) {
#u_sign .modal-dialog,
#u_sign.has-sign-img .modal-dialog {
width: auto;
margin: 30px;
}
}
@media (max-width: 767px) {
.sign-page {
padding-top: 20px;
}
.sign-row {
min-height: calc(100vh - 110px);
}
.sign-page .sign {
width: 340px;
max-width: 100%;
}
}