|
@@ -1,235 +1,180 @@
|
|
/* 全局卡片样式 */
|
|
/* 全局卡片样式 */
|
|
ion-card {
|
|
ion-card {
|
|
- --background: #ffffff;
|
|
|
|
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
|
|
|
|
- border-radius: 12px;
|
|
|
|
- margin: 16px;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /* 本周训练卡片 */
|
|
|
|
- .weekly-card {
|
|
|
|
- ion-card-header {
|
|
|
|
- padding-bottom: 8px;
|
|
|
|
-
|
|
|
|
- ion-card-title {
|
|
|
|
- font-size: 18px;
|
|
|
|
- display: flex;
|
|
|
|
- align-items: center;
|
|
|
|
-
|
|
|
|
- ion-icon {
|
|
|
|
- margin-right: 8px;
|
|
|
|
- font-size: 20px;
|
|
|
|
- color: var(--ion-color-primary);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ --background: #ffffff;
|
|
|
|
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
|
|
|
|
+ border-radius: 12px;
|
|
|
|
+ margin: 16px;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/* 本周训练卡片 */
|
|
|
|
+.weekly-card {
|
|
|
|
+ ion-card-header {
|
|
|
|
+ padding-bottom: 8px;
|
|
|
|
+
|
|
|
|
+ ion-card-title {
|
|
|
|
+ font-size: 18px;
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
|
|
- ion-card-subtitle {
|
|
|
|
- font-size: 14px;
|
|
|
|
- color: var(--ion-color-medium);
|
|
|
|
|
|
+ ion-icon {
|
|
|
|
+ margin-right: 8px;
|
|
|
|
+ font-size: 20px;
|
|
|
|
+ color: var(--ion-color-primary);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- .progress-container {
|
|
|
|
- margin: 12px 0;
|
|
|
|
|
|
+ ion-card-subtitle {
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ color: var(--ion-color-medium);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .progress-container {
|
|
|
|
+ margin: 12px 0;
|
|
|
|
+
|
|
|
|
+ .progress-text {
|
|
|
|
+ text-align: right;
|
|
|
|
+ font-size: 12px;
|
|
|
|
+ color: var(--ion-color-medium);
|
|
|
|
+ margin-top: 4px;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .day-grid {
|
|
|
|
+ padding: 0;
|
|
|
|
+
|
|
|
|
+ ion-col {
|
|
|
|
+ text-align: center;
|
|
|
|
+ padding: 8px 4px;
|
|
|
|
|
|
- .progress-text {
|
|
|
|
- text-align: right;
|
|
|
|
|
|
+ .day-name {
|
|
font-size: 12px;
|
|
font-size: 12px;
|
|
color: var(--ion-color-medium);
|
|
color: var(--ion-color-medium);
|
|
- margin-top: 4px;
|
|
|
|
|
|
+ margin-bottom: 4px;
|
|
}
|
|
}
|
|
- }
|
|
|
|
-
|
|
|
|
- .day-grid {
|
|
|
|
- padding: 0;
|
|
|
|
|
|
|
|
- ion-col {
|
|
|
|
- text-align: center;
|
|
|
|
- padding: 8px 4px;
|
|
|
|
-
|
|
|
|
|
|
+ ion-icon {
|
|
|
|
+ font-size: 20px;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ &.active {
|
|
.day-name {
|
|
.day-name {
|
|
- font-size: 12px;
|
|
|
|
- color: var(--ion-color-medium);
|
|
|
|
- margin-bottom: 4px;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- ion-icon {
|
|
|
|
- font-size: 20px;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- &.active {
|
|
|
|
- .day-name {
|
|
|
|
- color: var(--ion-color-primary);
|
|
|
|
- font-weight: bold;
|
|
|
|
- }
|
|
|
|
|
|
+ color: var(--ion-color-primary);
|
|
|
|
+ font-weight: bold;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/* 推荐计划 */
|
|
|
|
+.plan-slides {
|
|
|
|
+ display: flex;
|
|
|
|
+ overflow-x: auto;
|
|
|
|
+ padding: 0 16px 16px;
|
|
|
|
|
|
- /* 推荐计划轮播 */
|
|
|
|
- .plan-slides {
|
|
|
|
- padding: 0 0 16px 16px;
|
|
|
|
|
|
+ .plan-card {
|
|
|
|
+ min-width: 200px;
|
|
|
|
+ margin-right: 16px;
|
|
|
|
|
|
- ion-slide {
|
|
|
|
- width: 75%;
|
|
|
|
|
|
+ .plan-icon-container {
|
|
|
|
+ display: flex;
|
|
|
|
+ justify-content: center;
|
|
|
|
+ padding: 16px;
|
|
|
|
+
|
|
|
|
+ .plan-icon {
|
|
|
|
+ font-size: 48px;
|
|
|
|
+ color: var(--ion-color-primary);
|
|
|
|
+ padding: 12px;
|
|
|
|
+ background: rgba(var(--ion-color-primary-rgb), 0.1);
|
|
|
|
+ border-radius: 50%;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
- .plan-card {
|
|
|
|
- margin: 0 8px 16px 0;
|
|
|
|
- height: 100%;
|
|
|
|
|
|
+ ion-card-header {
|
|
|
|
+ padding: 0 12px 12px;
|
|
|
|
|
|
- img {
|
|
|
|
- width: 100%;
|
|
|
|
- height: 120px;
|
|
|
|
- object-fit: cover;
|
|
|
|
|
|
+ ion-badge {
|
|
|
|
+ position: absolute;
|
|
|
|
+ top: 10px;
|
|
|
|
+ right: 10px;
|
|
}
|
|
}
|
|
|
|
|
|
- ion-card-header {
|
|
|
|
- padding: 12px;
|
|
|
|
-
|
|
|
|
- ion-badge {
|
|
|
|
- position: absolute;
|
|
|
|
- top: 10px;
|
|
|
|
- right: 10px;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- ion-card-title {
|
|
|
|
- font-size: 16px;
|
|
|
|
- margin-bottom: 4px;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- ion-card-subtitle {
|
|
|
|
- font-size: 12px;
|
|
|
|
- display: flex;
|
|
|
|
- align-items: center;
|
|
|
|
-
|
|
|
|
- ion-icon {
|
|
|
|
- margin-right: 4px;
|
|
|
|
- font-size: 14px;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ ion-card-title {
|
|
|
|
+ font-size: 16px;
|
|
|
|
+ margin-bottom: 4px;
|
|
}
|
|
}
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /* 我的计划列表 */
|
|
|
|
- ion-list {
|
|
|
|
- background: transparent;
|
|
|
|
- padding: 0;
|
|
|
|
-
|
|
|
|
- ion-item {
|
|
|
|
- --padding-start: 16px;
|
|
|
|
- --padding-end: 16px;
|
|
|
|
- --inner-padding-end: 0;
|
|
|
|
- --background: #ffffff;
|
|
|
|
- margin-bottom: 8px;
|
|
|
|
|
|
|
|
- ion-avatar {
|
|
|
|
- width: 40px;
|
|
|
|
- height: 40px;
|
|
|
|
- background: rgba(var(--ion-color-primary-rgb), 0.1);
|
|
|
|
|
|
+ ion-card-subtitle {
|
|
|
|
+ font-size: 12px;
|
|
display: flex;
|
|
display: flex;
|
|
align-items: center;
|
|
align-items: center;
|
|
- justify-content: center;
|
|
|
|
|
|
|
|
ion-icon {
|
|
ion-icon {
|
|
- font-size: 20px;
|
|
|
|
|
|
+ margin-right: 4px;
|
|
|
|
+ font-size: 14px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
- ion-label {
|
|
|
|
- h3 {
|
|
|
|
- font-weight: 500;
|
|
|
|
- margin-bottom: 4px;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- p {
|
|
|
|
- font-size: 12px;
|
|
|
|
- color: var(--ion-color-medium);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- ion-badge {
|
|
|
|
- font-weight: normal;
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
- /* 响应式调整 */
|
|
|
|
- @media (min-width: 768px) {
|
|
|
|
- .plan-slides ion-slide {
|
|
|
|
- width: 50%;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- /* 添加到现有样式文件中 */
|
|
|
|
|
|
+}
|
|
|
|
|
|
-.image-placeholder {
|
|
|
|
- width: 100%;
|
|
|
|
- height: 120px;
|
|
|
|
- background: var(--ion-color-light);
|
|
|
|
- display: flex;
|
|
|
|
- align-items: center;
|
|
|
|
- justify-content: center;
|
|
|
|
- color: var(--ion-color-medium);
|
|
|
|
- }
|
|
|
|
|
|
+/* 我的计划列表 */
|
|
|
|
+ion-list {
|
|
|
|
+ background: transparent;
|
|
|
|
+ padding: 0;
|
|
|
|
|
|
- .empty-state {
|
|
|
|
- text-align: center;
|
|
|
|
- padding: 40px 20px;
|
|
|
|
|
|
+ ion-item {
|
|
|
|
+ --padding-start: 16px;
|
|
|
|
+ --padding-end: 16px;
|
|
|
|
+ --inner-padding-end: 0;
|
|
|
|
+ --background: #ffffff;
|
|
|
|
+ margin-bottom: 8px;
|
|
|
|
|
|
- ion-icon {
|
|
|
|
- font-size: 48px;
|
|
|
|
- color: var(--ion-color-medium);
|
|
|
|
- margin-bottom: 16px;
|
|
|
|
|
|
+ ion-avatar {
|
|
|
|
+ width: 40px;
|
|
|
|
+ height: 40px;
|
|
|
|
+ background: rgba(var(--ion-color-primary-rgb), 0.1);
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+ justify-content: center;
|
|
|
|
+
|
|
|
|
+ ion-icon {
|
|
|
|
+ font-size: 20px;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
- p {
|
|
|
|
- color: var(--ion-color-medium);
|
|
|
|
- margin-bottom: 20px;
|
|
|
|
|
|
+ ion-label {
|
|
|
|
+ h3 {
|
|
|
|
+ font-weight: 500;
|
|
|
|
+ margin-bottom: 4px;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ p {
|
|
|
|
+ font-size: 12px;
|
|
|
|
+ color: var(--ion-color-medium);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ ion-badge {
|
|
|
|
+ font-weight: normal;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- /* 添加到现有样式文件中 */
|
|
|
|
|
|
+}
|
|
|
|
|
|
-.image-placeholder {
|
|
|
|
- width: 100%;
|
|
|
|
- height: 120px;
|
|
|
|
- background: var(--ion-color-light);
|
|
|
|
- display: flex;
|
|
|
|
- align-items: center;
|
|
|
|
- justify-content: center;
|
|
|
|
|
|
+/* 空状态 */
|
|
|
|
+.empty-state {
|
|
|
|
+ text-align: center;
|
|
|
|
+ padding: 40px 20px;
|
|
|
|
+
|
|
|
|
+ ion-icon {
|
|
|
|
+ font-size: 48px;
|
|
color: var(--ion-color-medium);
|
|
color: var(--ion-color-medium);
|
|
|
|
+ margin-bottom: 16px;
|
|
}
|
|
}
|
|
|
|
|
|
- .empty-state {
|
|
|
|
- text-align: center;
|
|
|
|
- padding: 40px 20px;
|
|
|
|
-
|
|
|
|
- ion-icon {
|
|
|
|
- font-size: 48px;
|
|
|
|
- color: var(--ion-color-medium);
|
|
|
|
- margin-bottom: 16px;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- p {
|
|
|
|
- color: var(--ion-color-medium);
|
|
|
|
- margin-bottom: 20px;
|
|
|
|
- }
|
|
|
|
|
|
+ p {
|
|
|
|
+ color: var(--ion-color-medium);
|
|
|
|
+ margin-bottom: 20px;
|
|
}
|
|
}
|
|
-
|
|
|
|
- .swiper-container {
|
|
|
|
- width: 100%;
|
|
|
|
- padding: 0 16px 16px;
|
|
|
|
-
|
|
|
|
- .swiper-wrapper {
|
|
|
|
- display: flex;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- .swiper-slide {
|
|
|
|
- width: 75%;
|
|
|
|
-
|
|
|
|
- @media (min-width: 768px) {
|
|
|
|
- width: 50%;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+}
|