feat: migrate static pages to native tabbar

This commit is contained in:
2026-04-23 21:25:24 +08:00
parent f3cd0c3a98
commit cd30f57f2c
116 changed files with 7143 additions and 311 deletions

View File

@@ -1,68 +1,323 @@
.hero {
display: flex;
flex-direction: column;
gap: 24rpx;
padding: 36rpx 32rpx;
background: linear-gradient(160deg, #0f172a 0%, #1e293b 100%);
color: #f8fafc;
page {
min-height: 100%;
background:
linear-gradient(180deg, #f8edd6 0%, #f9f0de 24%, #f6ead4 100%);
}
.hero__eyebrow {
font-size: 22rpx;
letter-spacing: 4rpx;
text-transform: uppercase;
color: #93c5fd;
.home-page {
position: relative;
min-height: 100vh;
box-sizing: border-box;
padding: 12rpx 18rpx 36rpx;
background:
linear-gradient(135deg, rgba(255, 255, 255, 0.65) 0%, rgba(255, 248, 236, 0) 36%),
linear-gradient(225deg, rgba(255, 245, 227, 0.7) 0%, rgba(255, 245, 227, 0) 44%);
}
.hero__title {
font-size: 48rpx;
.home-page__brand {
display: inline-flex;
padding: 12rpx 20rpx;
border-radius: 999rpx;
background: rgba(241, 222, 190, 0.95);
color: #946739;
font-size: 26rpx;
line-height: 1;
box-shadow: 0 12rpx 24rpx rgba(173, 120, 56, 0.08);
}
.home-page__greeting {
display: block;
margin-top: 12rpx;
font-family: 'STSong', 'Songti SC', serif;
font-size: 60rpx;
font-weight: 700;
line-height: 1.1;
color: #2f1f12;
}
.home-page__subtitle {
display: block;
margin-top: 10rpx;
font-family: 'STSong', 'Songti SC', serif;
font-size: 24rpx;
line-height: 1.65;
color: #8f6a42;
}
.search-card {
display: flex;
align-items: center;
margin-top: 16rpx;
padding: 16rpx 18rpx 16rpx 20rpx;
border: 1rpx solid rgba(182, 151, 112, 0.24);
border-radius: 30rpx;
background: rgba(255, 251, 245, 0.96);
box-shadow: 0 16rpx 30rpx rgba(185, 152, 108, 0.14);
}
.search-card__leading {
margin-right: 12rpx;
width: 40rpx;
height: 40rpx;
border-radius: 50%;
background: linear-gradient(135deg, #78c7dd 0%, #7b60bf 100%);
color: #ffffff;
font-size: 22rpx;
font-weight: 700;
line-height: 40rpx;
text-align: center;
box-shadow: 0 10rpx 18rpx rgba(123, 96, 191, 0.22);
}
.search-card__placeholder {
flex: 1;
margin-right: 12rpx;
font-size: 26rpx;
color: #a18463;
}
.search-card__badge {
flex-shrink: 0;
min-width: 80rpx;
padding: 10rpx 18rpx;
border-radius: 999rpx;
background: linear-gradient(135deg, #b67b35 0%, #8f5e21 100%);
color: #fff4de;
font-family: 'Georgia', 'Times New Roman', serif;
font-size: 24rpx;
font-weight: 700;
line-height: 1;
text-align: center;
}
.section-card {
margin-top: 16rpx;
padding: 24rpx 18rpx 16rpx;
border: 1rpx solid rgba(189, 155, 105, 0.14);
border-radius: 30rpx;
background: rgba(255, 250, 243, 0.94);
box-shadow: 0 18rpx 36rpx rgba(178, 144, 99, 0.12);
}
.section-card--last {
margin-bottom: 0;
}
.section-card__header {
display: flex;
align-items: flex-end;
justify-content: space-between;
margin-bottom: 18rpx;
padding: 0 4rpx;
}
.section-card__header .section-card__title {
margin-bottom: 0;
padding-left: 0;
}
.section-card__title {
display: block;
margin-bottom: 18rpx;
padding-left: 4rpx;
font-family: 'STSong', 'Songti SC', serif;
font-size: 42rpx;
font-weight: 700;
line-height: 1.2;
color: #2f1f12;
}
.section-card__action {
color: #be8b4a;
font-family: 'STSong', 'Songti SC', serif;
font-size: 24rpx;
line-height: 1.2;
}
.hero__summary {
font-size: 26rpx;
line-height: 1.8;
color: rgba(248, 250, 252, 0.8);
.portal-grid {
overflow: hidden;
margin: 0 -5rpx;
}
.session-card {
.portal-grid__item {
box-sizing: border-box;
float: left;
width: 50%;
padding: 0 5rpx 10rpx;
}
.portal-card {
min-height: 164rpx;
padding: 18rpx 18rpx 16rpx;
border: 1rpx solid rgba(191, 169, 140, 0.46);
border-radius: 24rpx;
background: linear-gradient(180deg, rgba(255, 255, 255, 0.78) 0%, rgba(250, 243, 232, 0.96) 100%);
box-shadow: 0 10rpx 20rpx rgba(182, 150, 107, 0.1);
}
.portal-card__badge {
display: inline-block;
padding: 6rpx 14rpx;
border-radius: 999rpx;
background: rgba(246, 234, 214, 0.94);
color: #b67c31;
font-size: 18rpx;
line-height: 1;
}
.portal-card__title {
display: block;
margin-top: 18rpx;
font-family: 'STSong', 'Songti SC', serif;
font-size: 28rpx;
font-weight: 700;
line-height: 1.2;
color: #38261a;
}
.portal-card__subtitle {
display: block;
margin-top: 10rpx;
font-size: 22rpx;
line-height: 1.55;
color: #8f6a42;
}
.feature-grid {
display: flex;
flex-direction: column;
gap: 24rpx;
padding: 32rpx;
flex-wrap: wrap;
margin: 0 -4rpx;
}
.session-card__rows {
.feature-grid__item {
box-sizing: border-box;
padding: 0 4rpx 10rpx;
}
.feature-grid--four .feature-grid__item {
width: 25%;
}
.feature-grid--three .feature-grid__item {
width: 33.3333%;
}
.feature-card {
position: relative;
display: flex;
box-sizing: border-box;
width: 100%;
flex-direction: column;
gap: 20rpx;
align-items: center;
justify-content: center;
padding: 18rpx 8rpx;
border: 1rpx solid rgba(191, 169, 140, 0.46);
border-radius: 22rpx;
background: linear-gradient(180deg, rgba(255, 255, 255, 0.7) 0%, rgba(250, 243, 232, 0.92) 100%);
}
.session-card__label {
flex-shrink: 0;
.feature-grid--four .feature-card {
min-height: 152rpx;
}
.feature-grid--three .feature-card {
min-height: 182rpx;
}
.feature-card__status {
position: absolute;
top: 8rpx;
right: 8rpx;
padding: 6rpx 12rpx;
border-radius: 999rpx;
background: rgba(246, 234, 214, 0.94);
color: #c39d6a;
font-size: 18rpx;
line-height: 1;
}
.feature-card__icon {
width: 60rpx;
height: 60rpx;
border-radius: 20rpx;
background: linear-gradient(180deg, #f5ebdc 0%, #efe1cc 100%);
color: #b67c31;
font-size: 28rpx;
font-weight: 700;
line-height: 60rpx;
text-align: center;
box-shadow: inset 0 -8rpx 16rpx rgba(189, 150, 95, 0.08);
}
.feature-card__emoji-box {
display: flex;
align-items: center;
justify-content: center;
width: 72rpx;
height: 72rpx;
border-radius: 20rpx;
background: linear-gradient(180deg, #f7efe3 0%, #efe0ca 100%);
box-shadow: inset 0 -8rpx 16rpx rgba(189, 150, 95, 0.06);
}
.feature-card__emoji {
font-size: 36rpx;
line-height: 1;
}
.feature-card__icon + .feature-card__title {
margin-top: 12rpx;
}
.feature-card__title {
font-family: 'STSong', 'Songti SC', serif;
font-size: 22rpx;
font-weight: 700;
line-height: 1.35;
color: #38261a;
text-align: center;
}
.feature-card__title--wellness {
margin-top: 16rpx;
font-size: 24rpx;
color: #64748b;
}
.session-card__value {
flex: 1;
text-align: right;
font-size: 24rpx;
color: #0f172a;
.feature-card--classic {
justify-content: flex-start;
padding-top: 18rpx;
padding-bottom: 14rpx;
}
.session-card__value--mono {
font-family: 'Cascadia Code', 'Courier New', monospace;
word-break: break-all;
.feature-card__book {
position: relative;
width: 76rpx;
height: 112rpx;
border-radius: 8rpx;
background:
linear-gradient(90deg, rgba(138, 93, 48, 0.44) 0, rgba(138, 93, 48, 0.44) 10rpx, transparent 10rpx, transparent 100%),
linear-gradient(180deg, #cfaa75 0%, #c79d67 100%);
box-shadow: 0 10rpx 18rpx rgba(173, 128, 70, 0.12);
}
.entry-list {
display: flex;
flex-direction: column;
gap: 24rpx;
.feature-card__book-char {
position: absolute;
top: 50%;
left: 10rpx;
right: 0;
transform: translateY(-50%);
color: #fff7eb;
font-family: 'STSong', 'Songti SC', serif;
font-size: 28rpx;
font-weight: 700;
line-height: 1;
text-align: center;
}
.meta-row--top {
align-items: flex-start;
.feature-card__title--classic {
margin-top: 14rpx;
min-height: 56rpx;
padding: 0 4rpx;
font-size: 20rpx;
line-height: 1.45;
}