294 lines
6.4 KiB
SCSS
294 lines
6.4 KiB
SCSS
/* weekly.vue 录入弹窗 — 沿用 MCP 主色 */
|
|
|
|
.weekly-page .input-modal-mask {
|
|
position: fixed;
|
|
inset: 0;
|
|
background: rgba(15, 23, 42, 0.45);
|
|
backdrop-filter: blur(12px);
|
|
z-index: 999;
|
|
display: flex;
|
|
align-items: flex-end;
|
|
justify-content: center;
|
|
animation: input-modal-mask-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) both;
|
|
}
|
|
|
|
.weekly-page .input-modal {
|
|
width: 100%;
|
|
max-width: 750rpx;
|
|
background: var(--surface-container-lowest);
|
|
border-radius: 36rpx 36rpx 0 0;
|
|
padding: 16rpx 0 calc(20rpx + env(safe-area-inset-bottom));
|
|
box-shadow: 0 -12rpx 36rpx rgba(15, 23, 42, 0.12);
|
|
max-height: 88vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
animation: input-modal-rise 0.46s cubic-bezier(0.22, 1, 0.36, 1) both;
|
|
}
|
|
|
|
@keyframes input-modal-mask-in {
|
|
from { opacity: 0; }
|
|
to { opacity: 1; }
|
|
}
|
|
|
|
@keyframes input-modal-rise {
|
|
from { transform: translate3d(0, 100%, 0); opacity: 0.96; }
|
|
to { transform: translate3d(0, 0, 0); opacity: 1; }
|
|
}
|
|
|
|
@keyframes input-modal-content-in {
|
|
from { opacity: 0; transform: translate3d(0, 24rpx, 0); }
|
|
to { opacity: 1; transform: translate3d(0, 0, 0); }
|
|
}
|
|
|
|
.weekly-page .input-modal-grip {
|
|
width: 80rpx;
|
|
height: 6rpx;
|
|
border-radius: 999rpx;
|
|
background: var(--surface-container-highest);
|
|
margin: 0 auto 8rpx;
|
|
}
|
|
|
|
.weekly-page .input-modal-head {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 12rpx 32rpx 16rpx;
|
|
border-bottom: 1rpx solid var(--surface-container-low);
|
|
}
|
|
|
|
.weekly-page .input-modal-title {
|
|
font-size: 40rpx;
|
|
font-weight: 800;
|
|
color: var(--on-surface);
|
|
}
|
|
|
|
.weekly-page .input-modal-sub {
|
|
font-size: 26rpx;
|
|
color: var(--on-surface-variant);
|
|
margin-top: 4rpx;
|
|
}
|
|
|
|
.weekly-page .input-modal-close {
|
|
width: 80rpx;
|
|
height: 80rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: 999rpx;
|
|
background: var(--surface-container-low);
|
|
}
|
|
|
|
.weekly-page .input-modal-close-icon {
|
|
font-size: 42rpx;
|
|
color: var(--outline);
|
|
line-height: 1;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.weekly-page .phone-gate-body {
|
|
padding: 32rpx;
|
|
}
|
|
|
|
.weekly-page .phone-gate-tip {
|
|
display: block;
|
|
font-size: 28rpx;
|
|
color: var(--on-surface-variant);
|
|
line-height: 1.6;
|
|
margin-bottom: 24rpx;
|
|
}
|
|
|
|
.weekly-page .phone-gate-gender-label {
|
|
display: block;
|
|
font-size: 28rpx;
|
|
font-weight: 700;
|
|
color: var(--primary);
|
|
margin-bottom: 16rpx;
|
|
}
|
|
|
|
.weekly-page .phone-gate-gender-row {
|
|
display: flex;
|
|
gap: 20rpx;
|
|
margin-bottom: 32rpx;
|
|
}
|
|
|
|
.weekly-page .phone-gate-gender-opt {
|
|
flex: 1;
|
|
min-height: 88rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: var(--st-radius-xl);
|
|
background: var(--surface-container-lowest);
|
|
border: 2rpx solid var(--outline-variant);
|
|
color: var(--on-surface-variant);
|
|
font-size: 32rpx;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.weekly-page .phone-gate-gender-opt.active {
|
|
border-color: var(--primary);
|
|
color: var(--primary);
|
|
}
|
|
|
|
.weekly-page .phone-gate-btn {
|
|
width: 100%;
|
|
min-height: 96rpx;
|
|
line-height: 96rpx;
|
|
border-radius: var(--st-radius-xl);
|
|
background: var(--primary);
|
|
color: var(--on-primary);
|
|
font-size: 32rpx;
|
|
font-weight: 700;
|
|
border: none;
|
|
}
|
|
|
|
.weekly-page .phone-gate-btn::after {
|
|
border: none;
|
|
}
|
|
|
|
.weekly-page .input-modal-loading {
|
|
min-height: 520rpx;
|
|
padding: 120rpx 0;
|
|
text-align: center;
|
|
color: var(--outline);
|
|
font-size: 30rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.weekly-page .input-modal-body {
|
|
flex: 1;
|
|
min-height: 520rpx;
|
|
padding: 20rpx 32rpx 28rpx;
|
|
box-sizing: border-box;
|
|
width: 100%;
|
|
}
|
|
|
|
.weekly-page .input-modal-body-ready {
|
|
animation: input-modal-content-in 0.34s cubic-bezier(0.22, 1, 0.36, 1) both;
|
|
}
|
|
|
|
.weekly-page .input-modal-tip {
|
|
background: var(--surface-container-low);
|
|
border: 1rpx dashed var(--outline-variant);
|
|
border-radius: 14rpx;
|
|
padding: 18rpx 20rpx;
|
|
font-size: 26rpx;
|
|
color: var(--on-surface-variant);
|
|
line-height: 1.5;
|
|
margin-bottom: 22rpx;
|
|
}
|
|
|
|
.weekly-page .input-section-title {
|
|
font-size: 28rpx;
|
|
font-weight: 700;
|
|
color: var(--on-surface);
|
|
margin: 18rpx 0 14rpx;
|
|
}
|
|
|
|
.weekly-page .input-field {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 18rpx;
|
|
padding: 14rpx 0;
|
|
border-bottom: 1rpx solid var(--surface-container-low);
|
|
min-height: 88rpx;
|
|
}
|
|
|
|
.weekly-page .input-field-label {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10rpx;
|
|
width: 180rpx;
|
|
font-size: 30rpx;
|
|
color: var(--on-surface);
|
|
font-weight: 700;
|
|
}
|
|
|
|
.weekly-page .input-field-dot {
|
|
width: 14rpx;
|
|
height: 14rpx;
|
|
border-radius: 999rpx;
|
|
}
|
|
|
|
.weekly-page .input-field-dot-fasting {
|
|
background: var(--primary);
|
|
}
|
|
|
|
.weekly-page .input-field-dot-postprandial {
|
|
background: var(--tertiary-container);
|
|
}
|
|
|
|
.weekly-page .input-field-dot-other {
|
|
background: var(--outline);
|
|
}
|
|
|
|
.weekly-page .input-field-input {
|
|
flex: 1;
|
|
min-width: 0;
|
|
background: var(--surface);
|
|
border-radius: 16rpx;
|
|
padding: 18rpx 20rpx;
|
|
min-height: 76rpx;
|
|
border: 2rpx solid transparent;
|
|
}
|
|
|
|
.weekly-page .input-field-input input {
|
|
width: 100%;
|
|
font-size: 34rpx;
|
|
color: var(--on-surface);
|
|
text-align: right;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.weekly-page .input-placeholder {
|
|
color: var(--outline);
|
|
font-size: 28rpx;
|
|
}
|
|
|
|
.weekly-page .input-field-textarea textarea {
|
|
width: 100%;
|
|
min-height: 140rpx;
|
|
background: var(--surface);
|
|
border-radius: 14rpx;
|
|
padding: 20rpx 22rpx;
|
|
font-size: 30rpx;
|
|
color: var(--on-surface);
|
|
border: 2rpx solid var(--outline-variant);
|
|
}
|
|
|
|
.weekly-page .input-modal-actions {
|
|
display: flex;
|
|
gap: 18rpx;
|
|
padding: 20rpx 32rpx 0;
|
|
border-top: 1rpx solid var(--surface-container-low);
|
|
}
|
|
|
|
.weekly-page .input-modal-btn {
|
|
flex: 1;
|
|
height: 100rpx;
|
|
border-radius: var(--st-radius-xl);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 32rpx;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.weekly-page .input-modal-btn.primary {
|
|
background: var(--primary);
|
|
color: var(--on-primary);
|
|
}
|
|
|
|
.weekly-page .input-modal-btn.danger {
|
|
flex: 0 0 180rpx;
|
|
background: var(--error-container);
|
|
color: var(--error);
|
|
}
|
|
|
|
.weekly-page .input-modal-btn.disabled {
|
|
opacity: 0.5;
|
|
pointer-events: none;
|
|
}
|