feat: ui update

This commit is contained in:
2026-09-15 16:01:59 +08:00
parent 1a11816839
commit 26c392d612
89 changed files with 10377 additions and 4861 deletions
@@ -1,7 +1,9 @@
.create-page {
/** 创建分享:三视图(配置 / 选择衣物 / 成功预览)**/
.page-flex {
height: 100vh;
display: flex;
flex-direction: column;
overflow: hidden;
}
.scroll-body {
@@ -9,314 +11,196 @@
height: 0;
}
.section-title {
font-size: 26rpx;
color: #8E8E93;
padding: 24rpx 24rpx 16rpx;
.csc-grp {
margin-top: 64rpx;
}
.type-card {
position: relative;
margin: 0 24rpx 20rpx;
border: 2rpx solid transparent;
}
.type-card.active {
border-color: #007AFF;
}
.type-name {
font-size: 30rpx;
font-weight: 600;
color: #000;
}
.type-desc {
font-size: 24rpx;
color: #8E8E93;
margin-top: 8rpx;
}
.type-check {
position: absolute;
top: 32rpx;
right: 32rpx;
width: 36rpx;
height: 36rpx;
color: #007AFF;
}
.select-entry {
margin: 0 24rpx 20rpx;
display: flex;
align-items: center;
justify-content: space-between;
}
.entry-left {
display: flex;
align-items: center;
}
.entry-icon {
width: 72rpx;
height: 72rpx;
border-radius: 24rpx;
background: rgba(0, 122, 255, 0.1);
color: #007AFF;
display: flex;
align-items: center;
justify-content: center;
margin-right: 24rpx;
}
.entry-icon .icon {
width: 40rpx;
height: 40rpx;
}
.entry-title {
font-size: 28rpx;
font-weight: 600;
color: #1C1C1E;
}
.entry-right {
display: flex;
align-items: center;
color: #8E8E93;
}
.entry-count {
font-size: 26rpx;
margin-right: 8rpx;
}
.entry-count.on {
color: #007AFF;
}
.entry-right .icon {
width: 28rpx;
height: 28rpx;
color: #C7C7CC;
}
.expire-card {
margin: 0 24rpx;
padding: 0 32rpx;
}
.expire-item {
display: flex;
align-items: center;
justify-content: space-between;
height: 88rpx;
font-size: 28rpx;
color: #000;
}
.expire-check {
width: 36rpx;
height: 36rpx;
color: #007AFF;
}
.footer {
padding: 24rpx;
padding-bottom: calc(40rpx + env(safe-area-inset-bottom));
}
/* 选择视图 */
.select-view {
flex: 1;
height: 0;
/* 分享方式:两张可点卡片 */
.csc-types {
padding: 0 var(--pad);
display: flex;
flex-direction: column;
gap: 20rpx;
}
.cat-scroll {
background: #fff;
white-space: nowrap;
.csc-type {
position: relative;
padding: 34rpx 36rpx;
border-radius: var(--r-ctrl);
background: var(--fill);
transition: background .18s var(--ease), box-shadow .18s var(--ease);
}
.csc-type.is-on {
background: var(--paper);
box-shadow: inset 0 0 0 1rpx var(--ink);
}
.csc-type-n {
font-family: var(--serif);
font-size: 32rpx;
font-weight: 500;
}
.csc-type-d {
margin-top: 10rpx;
font-size: 23rpx;
color: var(--ink-2);
}
.csc-check {
position: absolute;
top: 34rpx;
right: 36rpx;
width: 34rpx;
height: 34rpx;
color: var(--ink);
}
.csc-entry {
margin-top: 32rpx;
}
.csc-tick {
width: 30rpx;
height: 30rpx;
color: var(--ink);
}
/* 选择衣物视图 */
.segbar {
position: sticky;
top: 0;
z-index: 20;
background: var(--glass);
-webkit-backdrop-filter: saturate(180%) blur(20px);
backdrop-filter: saturate(180%) blur(20px);
border-bottom: 1rpx solid var(--hairline);
flex-shrink: 0;
}
.cat-row {
display: inline-flex;
padding: 20rpx 24rpx;
}
.cat-item {
flex-shrink: 0;
padding: 0 32rpx;
height: 60rpx;
line-height: 60rpx;
border-radius: 30rpx;
font-size: 26rpx;
color: #3C3C43;
background: #F2F2F7;
margin-right: 16rpx;
}
.cat-item.active {
background: #007AFF;
color: #fff;
}
.select-body {
flex: 1;
height: 0;
}
.grid {
display: flex;
flex-wrap: wrap;
padding: 24rpx;
gap: 24rpx;
.csc-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 44rpx 26rpx;
padding: 40rpx var(--pad) 0;
}
.grid-item {
width: calc(50% - 12rpx);
box-sizing: border-box;
}
.sk-card {
height: 360rpx;
border-radius: 32rpx;
}
.select-footer {
flex-shrink: 0;
background: #fff;
border-top: 1rpx solid #E5E5EA;
display: flex;
align-items: center;
justify-content: space-between;
padding: 20rpx 32rpx;
padding-bottom: calc(20rpx + env(safe-area-inset-bottom));
}
.sf-count {
font-size: 30rpx;
font-weight: 600;
color: #1C1C1E;
}
.sf-confirm {
width: 200rpx;
height: 80rpx;
font-size: 28rpx;
}
/* 成功视图 */
.success-view {
flex: 1;
padding: 48rpx 24rpx;
.csc-skel {
display: flex;
flex-direction: column;
align-items: center;
gap: 18rpx;
}
.success-icon {
width: 120rpx;
height: 120rpx;
.csc-tile {
display: block;
width: 100%;
}
/* 成功预览 */
.csc-done-ic {
margin: 56rpx auto 0;
width: 104rpx;
height: 104rpx;
border-radius: 50%;
background: #34C759;
color: #fff;
color: var(--ink);
box-shadow: inset 0 0 0 1rpx var(--hairline-2);
display: flex;
align-items: center;
justify-content: center;
}
.success-icon .icon {
width: 64rpx;
height: 64rpx;
.csc-done-ic .icon {
width: 44rpx;
height: 44rpx;
}
.success-title {
font-size: 34rpx;
font-weight: 600;
color: #000;
margin-top: 24rpx;
.csc-preview {
margin: 64rpx var(--pad) 0;
border-top: 1rpx solid var(--hairline);
border-bottom: 1rpx solid var(--hairline);
padding: 40rpx 0;
}
.preview-card {
width: 100%;
background: #fff;
border-radius: 32rpx;
margin-top: 40rpx;
padding: 32rpx;
box-sizing: border-box;
}
.preview-top {
.csc-preview-hd {
display: flex;
align-items: center;
gap: 20rpx;
}
.avatar {
width: 64rpx;
height: 64rpx;
.csc-av {
width: 56rpx;
height: 56rpx;
border-radius: 50%;
background: #F2F2F7;
background: var(--paper-3);
color: var(--ink-3);
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
color: #C7C7CC;
margin-right: 16rpx;
flex-shrink: 0;
}
.avatar-img {
.csc-av .pic {
width: 100%;
height: 100%;
}
.avatar-placeholder {
width: 40rpx;
height: 40rpx;
.csc-av .icon {
width: 30rpx;
height: 30rpx;
}
.preview-name {
font-size: 26rpx;
color: #000;
.csc-preview-n {
font-size: 27rpx;
color: var(--ink-2);
}
.preview-body {
height: 320rpx;
background: #F8F8FA;
border-radius: 24rpx;
margin-top: 24rpx;
.csc-preview-body {
margin-top: 32rpx;
aspect-ratio: 16 / 9;
background: var(--paper-2);
border-radius: var(--r-img);
display: flex;
align-items: center;
justify-content: center;
color: #C7C7CC;
color: var(--art);
}
.preview-body .icon {
.csc-preview-body .icon {
width: 96rpx;
height: 96rpx;
}
.preview-btn {
margin-top: 24rpx;
/* 底部操作条 */
.csc-count-wrap {
flex: 1;
min-width: 0;
}
.csc-count-t {
font-size: 30rpx;
font-weight: 600;
color: var(--ink);
}
.csc-count-d {
margin-top: 4rpx;
font-size: 22rpx;
color: var(--ink-3);
}
.csc-confirm {
width: 240rpx;
height: 88rpx;
border-radius: 24rpx;
background: #007AFF;
color: #fff;
font-size: 28rpx;
display: flex;
align-items: center;
justify-content: center;
}
.success-btns {
width: 100%;
display: flex;
gap: 20rpx;
margin-top: 40rpx;
}
.success-btns .btn {
.dock-row .btn {
flex: 1;
}