Files
teaching-feedback-assistant/pages/feedback/index.wxss
2026-07-22 17:26:55 +08:00

363 lines
5.7 KiB
Plaintext

.feedback-page {
padding-top: 48rpx;
}
.feedback-form {
margin-top: 30rpx;
padding: 0;
}
.feedback-field,
.content-field {
padding: 24rpx;
background: transparent;
}
.feedback-field .form-label,
.feedback-field .form-value {
display: block;
}
.feedback-field .form-value {
margin-top: 10rpx;
color: #1c1c1e;
font-size: 30rpx;
line-height: 1.35;
}
.feedback-field + .feedback-field,
.content-field {
margin-top: 0;
border-top: 1rpx solid #e5e5ea;
}
.content-label-row,
.profiles-hint {
display: flex;
align-items: center;
justify-content: space-between;
gap: 20rpx;
}
.content-count {
color: #8e8e93;
font-size: 23rpx;
}
.content-actions {
display: flex;
align-items: center;
gap: 16rpx;
}
.content-clear-button,
.voice-record-text-button,
.voice-record-add-button {
width: auto;
min-width: 0;
height: 48rpx;
margin: 0;
padding: 0;
border: 0;
background: transparent;
font-size: 23rpx;
line-height: 48rpx;
}
.content-clear-button::after,
.voice-record-text-button::after,
.voice-record-add-button::after {
border: 0;
}
.content-clear-button {
color: #b8322d;
}
.feedback-textarea {
width: 100%;
min-height: 280rpx;
margin-top: 16rpx;
padding: 18rpx;
border-radius: 12rpx;
background: #f1f3f6;
color: #1c1c1e;
font-size: 28rpx;
line-height: 1.65;
}
.voice-input-row {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 12rpx;
margin-top: 20rpx;
}
.voice-button {
display: flex;
align-self: stretch;
align-items: center;
justify-content: center;
gap: 12rpx;
width: 100%;
min-width: 100%;
max-width: 100%;
height: 84rpx;
margin: 0;
padding: 0 20rpx;
border: 0;
border-radius: 12rpx;
background: #eaf3ff;
color: #007aff;
font-size: 26rpx;
font-weight: 600;
line-height: 1;
transition: transform 140ms cubic-bezier(0.23, 1, 0.32, 1);
transform-origin: center;
}
.voice-button::after {
border: 0;
}
.voice-button[disabled] {
background: #f1f3f6;
color: #aeaeb2;
opacity: 1;
}
.voice-button-recording,
.voice-button-recording[disabled] {
background: #fff0f0;
color: #d13f3a;
}
.voice-button:active {
transform: scale(0.98);
background: #dcecff;
}
.voice-button-recording:active {
background: #ffe2e1;
}
.voice-button-icon {
font-size: 20rpx;
line-height: 1;
}
.voice-state {
display: flex;
width: 100%;
min-height: 40rpx;
align-items: center;
justify-content: space-between;
min-width: 0;
color: #6e6e73;
font-size: 24rpx;
}
.voice-status {
flex: 1;
overflow: visible;
line-height: 1.45;
white-space: normal;
word-break: break-all;
}
.voice-state-actionable {
min-height: 64rpx;
padding: 14rpx 16rpx;
border: 1rpx solid #e5e5ea;
border-radius: 12rpx;
background: #f7f7f8;
transition: transform 140ms cubic-bezier(0.23, 1, 0.32, 1);
}
.voice-state-actionable:active {
transform: scale(0.99);
background: #ededf0;
}
.voice-state-arrow {
flex: none;
margin-left: 10rpx;
color: #8e8e93;
font-size: 30rpx;
line-height: 1;
}
.voice-record-list {
width: 100%;
border-top: 1rpx solid #d8d8dc;
border-bottom: 1rpx solid #d8d8dc;
}
.voice-record-list-heading,
.voice-record-header,
.voice-record-actions {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16rpx;
}
.voice-record-list-heading {
min-height: 64rpx;
color: #6e6e73;
font-size: 23rpx;
font-weight: 600;
}
.voice-record-item {
padding: 18rpx 0;
border-top: 1rpx solid #e5e5ea;
}
.voice-record-header > view {
min-width: 0;
}
.voice-record-title {
color: #1c1c1e;
font-size: 26rpx;
font-weight: 600;
}
.voice-record-duration {
margin-left: 12rpx;
color: #8e8e93;
font-size: 22rpx;
}
.voice-record-status {
flex: none;
color: #46715b;
font-size: 22rpx;
}
.voice-record-transcript,
.voice-record-empty {
margin-top: 12rpx;
color: #3a3a3c;
font-size: 24rpx;
line-height: 1.55;
white-space: pre-wrap;
word-break: break-all;
}
.voice-record-transcript {
display: -webkit-box;
overflow: hidden;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;
}
.voice-record-transcript-expanded {
display: block;
overflow: visible;
}
.voice-record-empty {
display: block;
color: #8e8e93;
}
.voice-record-actions {
min-height: 48rpx;
margin-top: 10rpx;
}
.voice-record-text-button {
color: #6e6e73;
}
.voice-record-add-button {
margin-left: auto;
color: #007aff;
font-weight: 600;
}
.voice-record-add-button[disabled],
.content-clear-button[disabled] {
color: #aeaeb2;
opacity: 1;
}
.recording-time {
flex: none;
margin-left: 12rpx;
color: #d13f3a;
font-variant-numeric: tabular-nums;
}
.voice-failure-recovery {
width: 100%;
padding: 16rpx;
border-left: 6rpx solid #d13f3a;
border-radius: 8rpx;
background: #fff7f6;
}
.voice-failure-hint {
display: block;
color: #6e3f3c;
font-size: 24rpx;
line-height: 1.55;
}
.voice-discard-button {
width: auto;
min-width: 0;
height: 56rpx;
margin: 12rpx 0 0;
padding: 0;
border: 0;
background: transparent;
color: #b8322d;
font-size: 24rpx;
font-weight: 600;
line-height: 56rpx;
text-align: left;
}
.voice-discard-button::after {
border: 0;
}
.voice-discard-button[disabled] {
color: #aeaeb2;
opacity: 1;
}
.save-feedback {
width: calc(100% - 48rpx);
min-width: calc(100% - 48rpx);
max-width: calc(100% - 48rpx);
margin: 20rpx 24rpx 24rpx;
}
.profiles-hint {
margin-top: 22rpx;
padding: 20rpx 22rpx;
border: 1rpx solid #d1e3fb;
border-radius: 12rpx;
background: #f7fbff;
color: #6e6e73;
font-size: 24rpx;
line-height: 1.45;
}
@media (prefers-reduced-motion: reduce) {
.voice-button,
.voice-state-actionable {
transition: none;
}
.voice-button:active,
.voice-state-actionable:active {
transform: none;
}
}