index.less 4.75 KB
.feedback-page {
  min-height: 100vh;
  background-color: #f5f5f5;
  display: flex;
  flex-direction: column;
}

/* 头部导航 */
.header {
  background-color: #f97316;
  padding: 32rpx 32rpx 24rpx;
  padding-top: calc(32rpx + env(safe-area-inset-top));
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header-left {
  width: 48rpx;
  height: 48rpx;
  display: flex;
  align-items: center;
  justify-content: center;
}

.back-icon {
  font-size: 48rpx;
  color: white;
}

.header-title {
  font-size: 36rpx;
  font-weight: 600;
  color: white;
  flex: 1;
  text-align: center;
}

.header-right {
  width: 48rpx;
}

/* 内容区域 */
.content {
  flex: 1;
  padding: 32rpx;
}

/* 提示文字 */
.tip-text {
  font-size: 28rpx;
  color: #6b7280;
  margin-bottom: 32rpx;
  line-height: 1.5;
}

/* 反馈分类 */
.category-section {
  margin-bottom: 32rpx;
}

.category-grid {
  display: flex;
  justify-content: space-between;
  gap: 16rpx;
}

.category-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
}

.category-icon {
  width: 96rpx;
  height: 96rpx;
  border-radius: 50%;
  background-color: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16rpx;
  transition: all 0.3s ease;
}

.category-icon.active {
  background-color: #fed7aa;
}

.icon-text {
  font-size: 48rpx;
}

.category-name {
  font-size: 24rpx;
  color: #6b7280;
  text-align: center;
}

.category-item.active .category-name {
  color: #f97316;
}

/* 反馈内容 */
.feedback-section {
  margin-bottom: 32rpx;
}

.feedback-textarea {
  width: 100%;
  height: 256rpx;
  padding: 24rpx;
  background-color: #f9fafb;
  border-radius: 16rpx;
  border: none;
  font-size: 28rpx;
  color: #374151;
  line-height: 1.5;
  resize: none;
  box-sizing: border-box;
}

.feedback-textarea:focus {
  outline: none;
  background-color: #f3f4f6;
}

.char-count {
  display: flex;
  justify-content: flex-end;
  font-size: 24rpx;
  color: #9ca3af;
  margin-top: 16rpx;
}

/* 图片上传 */
.image-section {
  margin-bottom: 32rpx;
}

.section-label {
  font-size: 28rpx;
  color: #6b7280;
  margin-bottom: 16rpx;
}

.image-upload-grid {
  display: flex;
  gap: 24rpx;
  align-items: center;
}

.image-item {
  position: relative;
}

.image-preview {
  position: relative;
  width: 128rpx;
  height: 128rpx;
  border-radius: 16rpx;
  overflow: hidden;
}

.preview-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.delete-btn {
  position: absolute;
  top: 8rpx;
  right: 8rpx;
  width: 32rpx;
  height: 32rpx;
  background-color: #ef4444;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.15);
}

.delete-icon {
  font-size: 16rpx;
  color: white;
}

.upload-button {
  width: 128rpx;
  height: 128rpx;
  border: 2rpx dashed #d1d5db;
  border-radius: 16rpx;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f9fafb;
  transition: all 0.3s ease;
}

.upload-button:active {
  background-color: #f3f4f6;
  border-color: #f97316;
}

.upload-icon {
  font-size: 48rpx;
  color: #9ca3af;
}

.upload-tip {
  font-size: 24rpx;
  color: #9ca3af;
  margin-top: 16rpx;
  text-align: right;
}

/* 联系方式 */
.contact-section {
  margin-bottom: 48rpx;
}

.contact-input {
  width: 100%;
  padding: 28rpx;
  background-color: #f9fafb;
  border-radius: 16rpx;
  border: none;
  font-size: 28rpx;
  color: #374151;
  box-sizing: border-box;
  margin-top: 16rpx;
}

.contact-input:focus {
  outline: none;
  background-color: #f3f4f6;
}

/* 提交按钮 */
.submit-section {
  margin-bottom: 32rpx;
}

.submit-btn {
  width: 100%;
  padding: 12rpx;
  background-color: #f97316;
  color: white;
  border: none;
  border-radius: 16rpx;
  font-size: 32rpx;
  font-weight: 600;
  transition: all 0.3s ease;
}

.submit-btn.disabled {
  background-color: #fed7aa;
  color: white;
}

.submit-btn:not(.disabled):active {
  background-color: #ea580c;
}

/* 成功弹窗 */
.success-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.success-content {
  background-color: white;
  border-radius: 16rpx;
  padding: 48rpx;
  width: 480rpx;
  text-align: center;
  box-shadow: 0 8rpx 32rpx rgba(0, 0, 0, 0.1);
}

.success-icon {
  width: 128rpx;
  height: 128rpx;
  background-color: #dcfce7;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 32rpx;
}

.check-icon {
  font-size: 64rpx;
  color: #16a34a;
  font-weight: bold;
}

.success-title {
  font-size: 36rpx;
  font-weight: 600;
  color: #111827;
  margin-bottom: 16rpx;
}

.success-desc {
  font-size: 28rpx;
  color: #6b7280;
}