mirror of
https://github.com/Shu-Ying/main_plugin_farm.git
synced 2026-10-29 13:40:00 +08:00
230 lines
6.3 KiB
HTML
230 lines
6.3 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>每日签到</title>
|
||
<style>
|
||
* {
|
||
margin: 0;
|
||
padding: 0;
|
||
box-sizing: border-box;
|
||
font-family: "{{ font_family }}", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
|
||
}
|
||
|
||
@font-face {
|
||
font-family: "{{ font_family }}";
|
||
src: url("../font/Rounded.ttf") format("truetype");
|
||
font-weight: 400;
|
||
font-style: normal;
|
||
font-display: swap;
|
||
}
|
||
|
||
body {
|
||
background: linear-gradient(135deg, #ff9a9e 0%, #fad0c4 100%);
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
min-height: 100vh;
|
||
padding: 20px;
|
||
}
|
||
|
||
.container {
|
||
background: white;
|
||
border-radius: 25px;
|
||
box-shadow: 0 15px 35px rgba(255, 105, 180, 0.3);
|
||
padding: 30px;
|
||
max-width: 500px;
|
||
width: 100%;
|
||
}
|
||
|
||
.header {
|
||
text-align: center;
|
||
margin-bottom: 25px;
|
||
}
|
||
|
||
.header h1 {
|
||
color: #ff6b95;
|
||
font-size: 28px;
|
||
margin-bottom: 8px;
|
||
text-shadow: 2px 2px 0 #ffe4ec;
|
||
}
|
||
|
||
.date {
|
||
color: #ff85b8;
|
||
font-size: 16px;
|
||
font-weight: bold;
|
||
}
|
||
|
||
.todayReward {
|
||
background: linear-gradient(135deg, #fff5f7, #ffeef2);
|
||
border-radius: 20px;
|
||
padding: 25px;
|
||
margin-bottom: 25px;
|
||
border: 3px dashed #ffb6c1;
|
||
}
|
||
|
||
.sectionTitle {
|
||
color: #ff6b95;
|
||
font-size: 20px;
|
||
margin-bottom: 15px;
|
||
text-align: center;
|
||
font-weight: bold;
|
||
}
|
||
|
||
.rewardItem {
|
||
display: flex;
|
||
align-items: center;
|
||
background: white;
|
||
border-radius: 15px;
|
||
padding: 15px;
|
||
margin-bottom: 12px;
|
||
box-shadow: 0 5px 15px rgba(255, 107, 149, 0.1);
|
||
border: 2px solid #ffe4ec;
|
||
}
|
||
|
||
.rewardItem:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.rewardImage {
|
||
width: 50px;
|
||
height: 50px;
|
||
border-radius: 12px;
|
||
margin-right: 15px;
|
||
object-fit: cover;
|
||
border: 2px solid #ffb6c1;
|
||
}
|
||
|
||
.rewardText {
|
||
color: #ff6b95;
|
||
font-size: 16px;
|
||
font-weight: bold;
|
||
flex: 1;
|
||
}
|
||
|
||
.progressSection {
|
||
background: linear-gradient(135deg, #fff5f7, #ffeef2);
|
||
border-radius: 20px;
|
||
padding: 25px;
|
||
border: 3px dashed #ffb6c1;
|
||
}
|
||
|
||
.progressInfo {
|
||
display: flex;
|
||
justify-content: space-between;
|
||
margin-bottom: 10px;
|
||
color: #ff6b95;
|
||
font-weight: bold;
|
||
}
|
||
|
||
.progressBar {
|
||
height: 20px;
|
||
background: #ffe4ec;
|
||
border-radius: 10px;
|
||
margin-bottom: 20px;
|
||
overflow: hidden;
|
||
box-shadow: inset 0 2px 5px rgba(0,0,0,0.1);
|
||
}
|
||
|
||
.progressFill {
|
||
height: 100%;
|
||
background: linear-gradient(90deg, #ff6b95, #ff9eb5);
|
||
border-radius: 10px;
|
||
transition: width 0.5s ease;
|
||
position: relative;
|
||
}
|
||
|
||
.progressFill::after {
|
||
content: "";
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
right: 0;
|
||
bottom: 0;
|
||
background: linear-gradient(90deg,
|
||
transparent 0%,
|
||
rgba(255,255,255,0.4) 50%,
|
||
transparent 100%);
|
||
animation: shimmer 2s infinite;
|
||
}
|
||
|
||
@keyframes shimmer {
|
||
0% { transform: translateX(-100%); }
|
||
100% { transform: translateX(100%); }
|
||
}
|
||
|
||
.milestone {
|
||
text-align: center;
|
||
color: #ff85b8;
|
||
font-size: 14px;
|
||
margin-top: 5px;
|
||
font-weight: bold;
|
||
}
|
||
|
||
.footer {
|
||
text-align: center;
|
||
margin-top: 20px;
|
||
color: #ff85b8;
|
||
font-size: 14px;
|
||
}
|
||
|
||
.highlight {
|
||
color: #ff6b95;
|
||
font-weight: bold;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="container">
|
||
<div class="header">
|
||
<h1>🎯 每日签到奖励</h1>
|
||
<div class="date">{{ currentDate }}</div>
|
||
</div>
|
||
|
||
<div class="todayReward">
|
||
<h2 class="sectionTitle">🎁 今日签到奖励</h2>
|
||
{% for reward in todayRewards %}
|
||
<div class="rewardItem">
|
||
<img src="{{ reward.imagePath }}" alt="{{ reward.name }}" class="rewardImage">
|
||
<div class="rewardText">{{ reward.name }} × {{ reward.quantity }}</div>
|
||
</div>
|
||
{% endfor %}
|
||
</div>
|
||
|
||
<div class="progressSection">
|
||
<h2 class="sectionTitle">📊 累计签到进度</h2>
|
||
|
||
<div class="progressInfo">
|
||
<span>当前进度</span>
|
||
<span>{{ currentProgress }} / {{ totalMilestones }}</span>
|
||
</div>
|
||
|
||
<div class="progressBar">
|
||
<div class="progressFill" style="width: {{ progressPercentage }}%"></div>
|
||
</div>
|
||
|
||
<div class="milestone">
|
||
已达成 {{ achievedMilestones }} 个里程碑
|
||
</div>
|
||
|
||
<!-- 累计奖励列表 -->
|
||
{% for reward in cumulativeRewards %}
|
||
<div class="rewardItem {% if reward.achieved %}achieved{% endif %}">
|
||
<img src="{{ reward.imagePath }}" alt="{{ reward.name }}" class="rewardImage">
|
||
<div class="rewardText">
|
||
{{ reward.name }} × {{ reward.quantity }}
|
||
<div style="font-size: 12px; color: #ff85b8; margin-top: 5px;">
|
||
{{ reward.description }}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{% endfor %}
|
||
</div>
|
||
|
||
<div class="footer">
|
||
连续签到<span class="highlight">{{ consecutiveDays }}</span>天,继续加油!
|
||
</div>
|
||
</div>
|
||
</body>
|
||
</html> |