Redesign mini program navigation and add back controls
ci-cd / verify (push) Successful in 4s
ci-cd / deploy (push) Skipped

This commit is contained in:
2026-10-04 09:48:12 +08:00
parent 87dfc4f335
commit 8a3036f0db
17 changed files with 256 additions and 48 deletions
+175 -31
View File
@@ -1,47 +1,191 @@
.bar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
height: calc(124rpx + env(safe-area-inset-bottom));
padding-bottom: env(safe-area-inset-bottom);
background: #fff;
left: 24rpx;
right: 24rpx;
bottom: calc(env(safe-area-inset-bottom) + 20rpx);
height: 112rpx;
display: flex;
justify-content: space-around;
align-items: center;
box-shadow: 0 -8rpx 35rpx rgba(32, 68, 50, 0.06);
align-items: stretch;
background: rgba(255, 255, 255, 0.98);
border: 2rpx solid #e7eee8;
border-radius: 42rpx;
box-shadow: 0 12rpx 42rpx rgba(26, 74, 58, 0.13);
z-index: 20;
}
.item {
position: relative;
width: 20%;
min-height: 112rpx;
display: flex;
flex-direction: column;
align-items: center;
gap: 4rpx;
color: #9eafa4;
font-size: 21rpx;
font-weight: 600;
justify-content: center;
color: #9aaa9e;
}
.item.active {
color: #174d40;
color: #194f42;
}
.icon {
font-size: 46rpx;
height: 52rpx;
line-height: 52rpx;
.icon-wrap {
width: 58rpx;
height: 58rpx;
display: flex;
align-items: center;
justify-content: center;
border-radius: 22rpx;
}
.walk .icon {
width: 82rpx;
height: 82rpx;
line-height: 82rpx;
text-align: center;
background: #174d40;
color: #fff;
border-radius: 27rpx;
box-shadow: 0 10rpx 23rpx rgba(24, 74, 59, 0.23);
margin-top: -30rpx;
font-size: 39rpx;
.active .icon-wrap {
background: #e7f3e9;
transform: translateY(-4rpx);
}
.walk.active .icon {
background: #eaaa69;
.label {
font-size: 21rpx;
line-height: 27rpx;
font-weight: 600;
}
.active-dot {
position: absolute;
bottom: 4rpx;
width: 7rpx;
height: 7rpx;
border-radius: 50%;
background: #65b88f;
}
.home-icon {
position: relative;
width: 42rpx;
height: 42rpx;
}
.home-roof {
position: absolute;
top: 3rpx;
left: 10rpx;
width: 25rpx;
height: 25rpx;
border-left: 4rpx solid currentColor;
border-top: 4rpx solid currentColor;
border-radius: 3rpx;
transform: rotate(45deg);
}
.home-body {
position: absolute;
left: 6rpx;
right: 6rpx;
bottom: 1rpx;
height: 24rpx;
border-left: 4rpx solid currentColor;
border-right: 4rpx solid currentColor;
border-bottom: 4rpx solid currentColor;
border-radius: 0 0 5rpx 5rpx;
}
.home-door {
position: absolute;
left: 18rpx;
bottom: 2rpx;
width: 10rpx;
height: 15rpx;
border-left: 3rpx solid currentColor;
border-right: 3rpx solid currentColor;
border-top: 3rpx solid currentColor;
border-radius: 5rpx 5rpx 0 0;
}
.friends-icon {
position: relative;
width: 48rpx;
height: 45rpx;
}
.friend {
position: absolute;
bottom: 2rpx;
width: 25rpx;
height: 16rpx;
border: 4rpx solid currentColor;
border-radius: 18rpx 18rpx 5rpx 5rpx;
}
.friend::before {
content: "";
position: absolute;
top: -25rpx;
left: 3rpx;
width: 13rpx;
height: 13rpx;
border: 4rpx solid currentColor;
border-radius: 50%;
}
.friend-left { left: 1rpx; }
.friend-right { right: 1rpx; background: #fff; }
.active .friend-right { background: #e7f3e9; }
.task-icon {
position: relative;
width: 35rpx;
height: 35rpx;
border: 4rpx solid currentColor;
border-radius: 9rpx;
}
.task-tick {
position: absolute;
left: 8rpx;
top: 6rpx;
width: 13rpx;
height: 18rpx;
border-right: 4rpx solid currentColor;
border-bottom: 4rpx solid currentColor;
transform: rotate(45deg);
}
.pet-icon {
width: 46rpx;
height: 46rpx;
border-radius: 50%;
opacity: 0.55;
}
.active .pet-icon { opacity: 1; }
.walk-bubble {
position: absolute;
top: -43rpx;
width: 104rpx;
height: 104rpx;
display: flex;
align-items: center;
justify-content: center;
border: 8rpx solid #f6f9f6;
border-radius: 38rpx;
background: linear-gradient(145deg, #f8bd8e, #e38e69);
box-shadow: 0 10rpx 24rpx rgba(178, 105, 72, 0.26);
transform: rotate(-8deg);
}
.walk.active .walk-bubble {
background: linear-gradient(145deg, #276a55, #174d40);
box-shadow: 0 10rpx 24rpx rgba(24, 74, 59, 0.25);
}
.walk .label {
position: absolute;
bottom: 13rpx;
color: #aa7356;
}
.walk.active .label { color: #174d40; }
.paw {
position: relative;
width: 62rpx;
height: 62rpx;
transform: rotate(8deg);
}
.toe,
.pad {
position: absolute;
background: #fff;
}
.toe {
width: 11rpx;
height: 16rpx;
border-radius: 50%;
}
.toe-one { left: 3rpx; top: 19rpx; transform: rotate(-28deg); }
.toe-two { left: 17rpx; top: 5rpx; transform: rotate(-12deg); }
.toe-three { right: 17rpx; top: 5rpx; transform: rotate(12deg); }
.toe-four { right: 3rpx; top: 19rpx; transform: rotate(28deg); }
.pad {
left: 15rpx;
top: 30rpx;
width: 32rpx;
height: 26rpx;
border-radius: 50% 50% 45% 45%;
}