css
This commit is contained in:
560
src/App.css
560
src/App.css
@@ -487,6 +487,25 @@
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
||||
transition: all 0.3s ease;
|
||||
backdrop-filter: blur(10px);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pain-point::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 60%;
|
||||
background: radial-gradient(
|
||||
ellipse at center bottom,
|
||||
rgba(250, 227, 7, 0.15) 0%,
|
||||
rgba(250, 227, 7, 0.08) 40%,
|
||||
transparent 70%
|
||||
);
|
||||
pointer-events: none;
|
||||
border-radius: 0 0 16px 16px;
|
||||
}
|
||||
|
||||
.pain-point:hover {
|
||||
@@ -496,56 +515,121 @@
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
.pain-point:hover::before {
|
||||
background: radial-gradient(
|
||||
ellipse at center bottom,
|
||||
rgba(250, 227, 7, 0.25) 0%,
|
||||
rgba(250, 227, 7, 0.12) 40%,
|
||||
transparent 70%
|
||||
);
|
||||
}
|
||||
|
||||
.pain-point h3 {
|
||||
font-size: 24px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 16px;
|
||||
color: var(--primary);
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.pain-point p {
|
||||
font-size: 16px;
|
||||
line-height: 1.8;
|
||||
color: rgba(245, 245, 245, 0.78);
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
/* 功能卡片网格 */
|
||||
.features-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
||||
gap: 32px;
|
||||
margin-top: 48px;
|
||||
/* 功能列表 */
|
||||
.features-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0;
|
||||
margin-top: 64px;
|
||||
max-width: 900px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
border-top: 1px solid rgba(250, 227, 7, 0.2);
|
||||
}
|
||||
|
||||
.feature-card {
|
||||
padding: 40px 32px;
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||
border-radius: 16px;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
||||
.feature-item {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 40px;
|
||||
padding: 48px 0;
|
||||
border-bottom: 1px solid rgba(250, 227, 7, 0.2);
|
||||
transition: all 0.3s ease;
|
||||
border-top: 4px solid var(--primary);
|
||||
backdrop-filter: blur(10px);
|
||||
opacity: 0;
|
||||
transform: translateX(-30px);
|
||||
animation: featureItemFadeIn 0.6s ease-out forwards;
|
||||
}
|
||||
|
||||
.feature-card:hover {
|
||||
transform: translateY(-4px);
|
||||
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
|
||||
border-color: rgba(250, 227, 7, 0.3);
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
.feature-item:nth-child(1) {
|
||||
animation-delay: 0.1s;
|
||||
}
|
||||
|
||||
.feature-card h3 {
|
||||
font-size: 22px;
|
||||
.feature-item:nth-child(2) {
|
||||
animation-delay: 0.2s;
|
||||
}
|
||||
|
||||
.feature-item:nth-child(3) {
|
||||
animation-delay: 0.3s;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
@keyframes featureItemFadeIn {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateX(-30px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
}
|
||||
|
||||
.feature-item:hover {
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
.feature-number {
|
||||
font-size: 48px;
|
||||
font-weight: 700;
|
||||
color: var(--primary);
|
||||
line-height: 1;
|
||||
flex-shrink: 0;
|
||||
width: 80px;
|
||||
text-align: center;
|
||||
opacity: 0.8;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.feature-item:hover .feature-number {
|
||||
opacity: 1;
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
.feature-content {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.feature-item h3 {
|
||||
font-size: 28px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 16px;
|
||||
color: #fdfdfd;
|
||||
color: #ffffff;
|
||||
transition: color 0.3s ease;
|
||||
}
|
||||
|
||||
.feature-card p {
|
||||
font-size: 16px;
|
||||
line-height: 1.8;
|
||||
color: rgba(245, 245, 245, 0.78);
|
||||
.feature-item:hover h3 {
|
||||
color: var(--primary);
|
||||
}
|
||||
|
||||
.feature-item p {
|
||||
font-size: 18px;
|
||||
line-height: 1.9;
|
||||
color: rgba(245, 245, 245, 0.85);
|
||||
}
|
||||
|
||||
/* 场景卡片 */
|
||||
@@ -554,91 +638,213 @@
|
||||
flex-direction: column;
|
||||
gap: 48px;
|
||||
margin-top: 64px;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
.scenario-card {
|
||||
padding: 48px;
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||
border-radius: 20px;
|
||||
border-radius: 24px;
|
||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
|
||||
transition: all 0.3s ease;
|
||||
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
width: 100%;
|
||||
max-width: 900px;
|
||||
margin: 0 auto;
|
||||
margin: 0 auto;
|
||||
backdrop-filter: blur(10px);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
box-sizing: border-box;
|
||||
opacity: 0;
|
||||
transform: translateY(40px);
|
||||
}
|
||||
|
||||
@keyframes scenarioCardFadeIn {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(40px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes scenarioFloat {
|
||||
0%, 100% {
|
||||
transform: translateY(0);
|
||||
}
|
||||
50% {
|
||||
transform: translateY(-4px);
|
||||
}
|
||||
}
|
||||
|
||||
.scenario-card:nth-child(1) {
|
||||
animation: scenarioCardFadeIn 0.8s ease-out 0.1s forwards,
|
||||
scenarioFloat 6s ease-in-out 1.2s infinite;
|
||||
}
|
||||
|
||||
.scenario-card:nth-child(2) {
|
||||
animation: scenarioCardFadeIn 0.8s ease-out 0.3s forwards,
|
||||
scenarioFloat 6s ease-in-out 1.6s infinite;
|
||||
}
|
||||
|
||||
.scenario-card:nth-child(3) {
|
||||
animation: scenarioCardFadeIn 0.8s ease-out 0.5s forwards,
|
||||
scenarioFloat 6s ease-in-out 2s infinite;
|
||||
}
|
||||
|
||||
.scenario-card::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
background: radial-gradient(
|
||||
circle,
|
||||
rgba(250, 227, 7, 0.15) 0%,
|
||||
transparent 70%
|
||||
);
|
||||
filter: blur(40px);
|
||||
pointer-events: none;
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s ease;
|
||||
}
|
||||
|
||||
.scenario-card:hover::before {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.scenario-card:hover {
|
||||
transform: translateY(-6px);
|
||||
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
|
||||
border-color: rgba(250, 227, 7, 0.3);
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
transform: translateY(-12px) scale(1.02);
|
||||
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5), 0 0 60px rgba(250, 227, 7, 0.2);
|
||||
border-color: rgba(250, 227, 7, 0.5);
|
||||
background: linear-gradient(
|
||||
135deg,
|
||||
rgba(250, 227, 7, 0.12) 0%,
|
||||
rgba(255, 255, 255, 0.06) 50%,
|
||||
rgba(255, 255, 255, 0.04) 100%
|
||||
);
|
||||
}
|
||||
|
||||
.scenario-card:hover .scenario-label {
|
||||
transform: scale(1.05);
|
||||
box-shadow: 0 6px 20px rgba(250, 227, 7, 0.4);
|
||||
}
|
||||
|
||||
.scenario-card:hover h3 {
|
||||
color: var(--primary);
|
||||
transition: color 0.3s ease;
|
||||
}
|
||||
|
||||
.scenario-card h3 {
|
||||
font-size: 28px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 12px;
|
||||
color: #fdfdfd;
|
||||
margin-bottom: 16px;
|
||||
color: #ffffff;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
transition: color 0.3s ease;
|
||||
}
|
||||
|
||||
.scenario-label {
|
||||
display: inline-block;
|
||||
padding: 6px 16px;
|
||||
background: var(--primary);
|
||||
color: #ffffff;
|
||||
border-radius: 20px;
|
||||
padding: 8px 20px;
|
||||
background: linear-gradient(135deg, var(--primary) 0%, rgba(250, 227, 7, 0.9) 100%);
|
||||
color: #000000;
|
||||
border-radius: 24px;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
margin-bottom: 24px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 28px;
|
||||
box-shadow: 0 4px 12px rgba(250, 227, 7, 0.3);
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
||||
}
|
||||
|
||||
.scenario-desc {
|
||||
font-size: 18px;
|
||||
line-height: 1.8;
|
||||
color: rgba(245, 245, 245, 0.78);
|
||||
line-height: 1.9;
|
||||
color: rgba(245, 245, 245, 0.85);
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
/* 功能列表 */
|
||||
.functions-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 24px;
|
||||
margin-top: 48px;
|
||||
max-width: 900px;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 32px;
|
||||
margin-top: 64px;
|
||||
max-width: 1100px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.function-item {
|
||||
padding: 32px;
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||
border-radius: 16px;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
||||
padding: 48px 40px;
|
||||
background: linear-gradient(
|
||||
135deg,
|
||||
rgba(0, 0, 0, 0.6) 0%,
|
||||
rgba(0, 0, 0, 0.8) 50%,
|
||||
rgba(250, 227, 7, 0.08) 100%
|
||||
);
|
||||
border: 1px solid rgba(250, 227, 7, 0.3);
|
||||
border-radius: 20px;
|
||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
|
||||
transition: all 0.3s ease;
|
||||
border-left: 4px solid var(--primary);
|
||||
backdrop-filter: blur(10px);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.function-item::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 60%;
|
||||
height: 60%;
|
||||
background: radial-gradient(
|
||||
ellipse at bottom right,
|
||||
rgba(250, 227, 7, 0.15) 0%,
|
||||
rgba(250, 227, 7, 0.05) 40%,
|
||||
transparent 70%
|
||||
);
|
||||
pointer-events: none;
|
||||
transition: opacity 0.3s ease;
|
||||
}
|
||||
|
||||
.function-item:hover::before {
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.function-item:hover {
|
||||
transform: translateX(8px);
|
||||
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
|
||||
border-color: rgba(250, 227, 7, 0.3);
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
transform: translateY(-4px);
|
||||
border-color: rgba(250, 227, 7, 0.5);
|
||||
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), 0 0 30px rgba(250, 227, 7, 0.1);
|
||||
}
|
||||
|
||||
.function-item h3 {
|
||||
font-size: 22px;
|
||||
font-size: 24px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 12px;
|
||||
color: #fdfdfd;
|
||||
margin-bottom: 16px;
|
||||
color: #ffffff;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.function-item p {
|
||||
font-size: 16px;
|
||||
line-height: 1.8;
|
||||
color: rgba(245, 245, 245, 0.78);
|
||||
font-size: 17px;
|
||||
line-height: 1.9;
|
||||
color: rgba(245, 245, 245, 0.85);
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
/* 愿景列表 */
|
||||
@@ -688,25 +894,83 @@
|
||||
}
|
||||
|
||||
.faq-item {
|
||||
padding: 32px;
|
||||
padding: 0;
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||
border-radius: 16px;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
cursor: pointer;
|
||||
transition: all 0.3s ease;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.faq-item:hover {
|
||||
border-color: rgba(250, 227, 7, 0.3);
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
.faq-item.open {
|
||||
border-color: rgba(250, 227, 7, 0.4);
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
.faq-question {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 24px 32px;
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.faq-item h3 {
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 16px;
|
||||
color: #fdfdfd;
|
||||
margin: 0;
|
||||
color: #ffffff;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.faq-icon {
|
||||
font-size: 24px;
|
||||
font-weight: 300;
|
||||
color: rgba(250, 227, 7, 0.8);
|
||||
transition: transform 0.3s ease, color 0.3s ease;
|
||||
flex-shrink: 0;
|
||||
width: 24px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.faq-item:hover .faq-icon {
|
||||
color: var(--primary);
|
||||
}
|
||||
|
||||
.faq-item.open .faq-icon {
|
||||
color: var(--primary);
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
||||
.faq-answer {
|
||||
padding: 0 32px 24px 32px;
|
||||
animation: slideDown 0.3s ease-out;
|
||||
}
|
||||
|
||||
@keyframes slideDown {
|
||||
from {
|
||||
opacity: 0;
|
||||
max-height: 0;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
max-height: 500px;
|
||||
}
|
||||
}
|
||||
|
||||
.faq-item p {
|
||||
font-size: 16px;
|
||||
line-height: 1.8;
|
||||
color: rgba(245, 245, 245, 0.78);
|
||||
color: rgba(245, 245, 245, 0.85);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* CTA 区块 */
|
||||
@@ -715,12 +979,94 @@
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.cta-section .section-title {
|
||||
color: #ffffff;
|
||||
.cta-card {
|
||||
max-width: 900px;
|
||||
margin: 0 auto;
|
||||
padding: 80px 64px;
|
||||
background: linear-gradient(
|
||||
150deg,
|
||||
rgba(250, 227, 7,0.12) 0%,
|
||||
rgba(250, 227, 7,0.05) 25%,
|
||||
rgba(0, 0, 0,0.2) 50%,
|
||||
rgba(250, 227, 7,0.05) 75%,
|
||||
rgba(250, 227, 7, 0.12) 100%
|
||||
);
|
||||
border-radius: 24px;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
backdrop-filter: blur(10px);
|
||||
}
|
||||
|
||||
.cta-section .section-subtitle {
|
||||
color: rgba(255, 255, 255, 0.9);
|
||||
.cta-card::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: radial-gradient(
|
||||
ellipse at center,
|
||||
rgba(250, 227, 7, 0.1) 0%,
|
||||
transparent 70%
|
||||
);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.cta-card-title {
|
||||
font-size: 48px;
|
||||
font-weight: 700;
|
||||
line-height: 1.2;
|
||||
margin-bottom: 24px;
|
||||
color: #ffffff;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.cta-card-subtitle {
|
||||
font-size: 20px;
|
||||
font-weight: 400;
|
||||
margin-bottom: 48px;
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.cta-card-button {
|
||||
padding: 18px 48px;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
background: var(--primary);
|
||||
color: #000000;
|
||||
border: none;
|
||||
border-radius: 12px;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s ease;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
box-shadow: 0 4px 16px rgba(250, 227, 7, 0.3);
|
||||
}
|
||||
|
||||
.cta-card-button:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 8px 24px rgba(250, 227, 7, 0.5);
|
||||
filter: brightness(1.1);
|
||||
}
|
||||
|
||||
.cta-card-button:active {
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.cta-arrow {
|
||||
font-size: 20px;
|
||||
transition: transform 0.3s ease;
|
||||
}
|
||||
|
||||
.cta-card-button:hover .cta-arrow {
|
||||
transform: translate(4px, -4px);
|
||||
}
|
||||
|
||||
|
||||
@@ -751,6 +1097,18 @@
|
||||
font-size: 36px;
|
||||
}
|
||||
|
||||
.cta-card {
|
||||
padding: 60px 40px;
|
||||
}
|
||||
|
||||
.cta-card-title {
|
||||
font-size: 36px;
|
||||
}
|
||||
|
||||
.cta-card-subtitle {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.hero-subtitle {
|
||||
font-size: 18px;
|
||||
}
|
||||
@@ -779,17 +1137,50 @@
|
||||
}
|
||||
|
||||
.pain-points,
|
||||
.features-grid {
|
||||
grid-template-columns: 1fr;
|
||||
.feature-item {
|
||||
flex-direction: column;
|
||||
gap: 24px;
|
||||
padding: 40px 0;
|
||||
}
|
||||
|
||||
.feature-number {
|
||||
font-size: 40px;
|
||||
width: auto;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.feature-item:hover {
|
||||
padding-left: 0;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
.scenario-card {
|
||||
padding: 32px 24px;
|
||||
}
|
||||
|
||||
.function-item,
|
||||
.functions-list {
|
||||
grid-template-columns: 1fr;
|
||||
gap: 24px;
|
||||
}
|
||||
|
||||
.function-item {
|
||||
padding: 40px 32px;
|
||||
}
|
||||
|
||||
.faq-item {
|
||||
padding: 24px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.faq-question {
|
||||
padding: 20px 24px;
|
||||
}
|
||||
|
||||
.faq-answer {
|
||||
padding: 0 24px 20px 24px;
|
||||
}
|
||||
|
||||
.faq-item h3 {
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -814,6 +1205,23 @@
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
.cta-card {
|
||||
padding: 48px 32px;
|
||||
}
|
||||
|
||||
.cta-card-title {
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
.cta-card-subtitle {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.cta-card-button {
|
||||
padding: 16px 36px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
@keyframes soft-float {
|
||||
0% {
|
||||
transform: translateY(0);
|
||||
|
||||
157
src/App.tsx
157
src/App.tsx
@@ -1,6 +1,8 @@
|
||||
import { useState } from 'react'
|
||||
import './App.css'
|
||||
|
||||
function App() {
|
||||
const [openFaq, setOpenFaq] = useState<number | null>(0)
|
||||
return (
|
||||
<div className="app">
|
||||
{/* Hero 区 */}
|
||||
@@ -11,7 +13,7 @@ function App() {
|
||||
用数字吧唧记录每一次心动、每一段关系,把情绪变成可以收藏、分享和互动的「小宇宙」。
|
||||
</p>
|
||||
<p className="hero-desc">
|
||||
不再只是聊天记录,而是可以捏、可以赚、可以展示的电子吧唧,专属于你和他/她。
|
||||
不再只是聊天记录,而是可以捏、可以展示的电子吧唧,专属于你和他/她。
|
||||
</p>
|
||||
<div className="hero-features">
|
||||
<span className="feature-tag">情绪上链:用电子吧唧记录每个瞬间</span>
|
||||
@@ -61,18 +63,27 @@ function App() {
|
||||
<br />
|
||||
你可以把它送给自己,也可以送给在意的人,让"感觉"变成一个可以看见、可以点亮的小物件。
|
||||
</p>
|
||||
<div className="features-grid">
|
||||
<div className="feature-card">
|
||||
<h3>自定义吧唧</h3>
|
||||
<p>名字、图标、颜色、含义,都由你来设定。</p>
|
||||
<div className="features-list">
|
||||
<div className="feature-item">
|
||||
<div className="feature-number">01</div>
|
||||
<div className="feature-content">
|
||||
<h3>自定义吧唧</h3>
|
||||
<p>名字、图标、颜色、含义,都由你来设定。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="feature-card">
|
||||
<h3>互动点亮</h3>
|
||||
<p>对方可以收下、点亮、回复,形成一条完整的情绪互动链路。</p>
|
||||
<div className="feature-item">
|
||||
<div className="feature-number">02</div>
|
||||
<div className="feature-content">
|
||||
<h3>互动点亮</h3>
|
||||
<p>对方可以收下、点亮、回复,形成一条完整的情绪互动链路。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="feature-card">
|
||||
<h3>情绪档案</h3>
|
||||
<p>所有送出/收到的吧唧,都会沉淀为「情绪档案」,成为你的小小人生博物馆。</p>
|
||||
<div className="feature-item">
|
||||
<div className="feature-number">03</div>
|
||||
<div className="feature-content">
|
||||
<h3>情绪档案</h3>
|
||||
<p>所有送出/收到的吧唧,都会沉淀为「情绪档案」,成为你的小小人生博物馆。</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -127,6 +138,10 @@ function App() {
|
||||
<h3>情绪统计与回顾</h3>
|
||||
<p>以日/周/月为单位,看看你最近都在为什么事情「吧唧」,重新认识自己的情绪习惯。</p>
|
||||
</div>
|
||||
<div className="function-item">
|
||||
<h3>一键生成专属吧唧图</h3>
|
||||
<p>快速生成精美的吧唧图片,方便分享到社交平台。</p>
|
||||
</div>
|
||||
<div className="function-item">
|
||||
<h3>多端同步</h3>
|
||||
<p>手机多设备同步,换机不丢记忆。</p>
|
||||
@@ -160,21 +175,103 @@ function App() {
|
||||
<div className="container">
|
||||
<h2 className="section-title">常见问题</h2>
|
||||
<div className="faq-list">
|
||||
<div className="faq-item">
|
||||
<h3>电子吧唧是虚拟货币吗?</h3>
|
||||
<p>不是。电子吧唧是一种情绪/关系的数字徽章,用于表达、记录和互动,而不是金融产品或代币。</p>
|
||||
<div
|
||||
className={`faq-item ${openFaq === 0 ? 'open' : ''}`}
|
||||
onClick={() => setOpenFaq(openFaq === 0 ? null : 0)}
|
||||
>
|
||||
<div className="faq-question">
|
||||
<h3>电子吧唧是虚拟货币吗?</h3>
|
||||
<span className="faq-icon">{openFaq === 0 ? '^' : 'v'}</span>
|
||||
</div>
|
||||
{openFaq === 0 && (
|
||||
<div className="faq-answer">
|
||||
<p>不是。电子吧唧是一种情绪/关系的数字徽章,用于表达、记录和互动,而不是金融产品或代币。</p>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
<div className="faq-item">
|
||||
<h3>我的数据会安全吗?</h3>
|
||||
<p>你在 duooomi 的情绪记录和关系数据,会严格加密存储。你可以为敏感吧唧设置仅自己可见,任何第三方(包括我们)都无法查看你的私密内容。</p>
|
||||
<div
|
||||
className={`faq-item ${openFaq === 1 ? 'open' : ''}`}
|
||||
onClick={() => setOpenFaq(openFaq === 1 ? null : 1)}
|
||||
>
|
||||
<div className="faq-question">
|
||||
<h3>我的数据会安全吗?</h3>
|
||||
<span className="faq-icon">{openFaq === 1 ? '^' : 'v'}</span>
|
||||
</div>
|
||||
{openFaq === 1 && (
|
||||
<div className="faq-answer">
|
||||
<p>你在 duooomi 的情绪记录和关系数据,会严格加密存储。你可以为敏感吧唧设置仅自己可见,任何第三方(包括我们)都无法查看你的私密内容。</p>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
<div className="faq-item">
|
||||
<h3>一个人也可以用 duooomi 吗?</h3>
|
||||
<p>当然可以。你可以给自己送吧唧,把它当成一个"情绪日记本",记录成长和心境变化。</p>
|
||||
<div
|
||||
className={`faq-item ${openFaq === 2 ? 'open' : ''}`}
|
||||
onClick={() => setOpenFaq(openFaq === 2 ? null : 2)}
|
||||
>
|
||||
<div className="faq-question">
|
||||
<h3>一个人也可以用 duooomi 吗?</h3>
|
||||
<span className="faq-icon">{openFaq === 2 ? '^' : 'v'}</span>
|
||||
</div>
|
||||
{openFaq === 2 && (
|
||||
<div className="faq-answer">
|
||||
<p>当然可以。你可以给自己送吧唧,把它当成一个"情绪日记本",记录成长和心境变化。</p>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
<div className="faq-item">
|
||||
<h3>未来会有更多玩法吗?</h3>
|
||||
<p>我们会逐步增加更多互动玩法,比如吧唧主题活动、关系等级、特殊时期限定吧唧等,让你的情绪宇宙持续长出新星球。</p>
|
||||
<div
|
||||
className={`faq-item ${openFaq === 4 ? 'open' : ''}`}
|
||||
onClick={() => setOpenFaq(openFaq === 4 ? null : 4)}
|
||||
>
|
||||
<div className="faq-question">
|
||||
<h3>如何创建一个电子吧唧?</h3>
|
||||
<span className="faq-icon">{openFaq === 4 ? '^' : 'v'}</span>
|
||||
</div>
|
||||
{openFaq === 4 && (
|
||||
<div className="faq-answer">
|
||||
<p>创建电子吧唧非常简单:打开 duooomi,点击"创建吧唧",选择图标、颜色,输入名称和含义,一分钟就能完成。你可以为不同的情绪和场景创建专属的吧唧。</p>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
<div
|
||||
className={`faq-item ${openFaq === 6 ? 'open' : ''}`}
|
||||
onClick={() => setOpenFaq(openFaq === 6 ? null : 6)}
|
||||
>
|
||||
<div className="faq-question">
|
||||
<h3>电子吧唧可以删除或修改吗?</h3>
|
||||
<span className="faq-icon">{openFaq === 6 ? '^' : 'v'}</span>
|
||||
</div>
|
||||
{openFaq === 6 && (
|
||||
<div className="faq-answer">
|
||||
<p>可以。你可以随时编辑或删除自己创建的电子吧唧。但已经送出的吧唧会保留在对方的情绪档案中,这是你们共同记忆的一部分。</p>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
{/* <div
|
||||
className={`faq-item ${openFaq === 7 ? 'open' : ''}`}
|
||||
onClick={() => setOpenFaq(openFaq === 7 ? null : 7)}
|
||||
>
|
||||
<div className="faq-question">
|
||||
<h3>duooomi 是免费的吗?</h3>
|
||||
<span className="faq-icon">{openFaq === 7 ? '^' : 'v'}</span>
|
||||
</div>
|
||||
{openFaq === 7 && (
|
||||
<div className="faq-answer">
|
||||
<p>duooomi 提供免费版本,包含核心功能。未来我们可能会推出高级功能,但基础的情绪记录和互动功能将始终保持免费,让每个人都能记录和分享自己的情绪瞬间。</p>
|
||||
</div>
|
||||
)}
|
||||
</div> */}
|
||||
<div
|
||||
className={`faq-item ${openFaq === 3 ? 'open' : ''}`}
|
||||
onClick={() => setOpenFaq(openFaq === 3 ? null : 3)}
|
||||
>
|
||||
<div className="faq-question">
|
||||
<h3>未来会有更多玩法吗?</h3>
|
||||
<span className="faq-icon">{openFaq === 3 ? '^' : 'v'}</span>
|
||||
</div>
|
||||
{openFaq === 3 && (
|
||||
<div className="faq-answer">
|
||||
<p>我们会逐步增加更多互动玩法,比如吧唧主题活动、关系等级、特殊时期限定吧唧等,让你的情绪宇宙持续长出新星球。</p>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -183,13 +280,13 @@ function App() {
|
||||
{/* 底部 CTA 区 */}
|
||||
<section className="section cta-section">
|
||||
<div className="container">
|
||||
<h2 className="section-title">开始收集你的第一枚电子吧唧</h2>
|
||||
<p className="section-subtitle">
|
||||
也许是一句「谢谢」、一句「辛苦了」,或者一句从没说出口的「我在乎你」。
|
||||
</p>
|
||||
<div className="hero-cta">
|
||||
<button className="btn-primary">立即下载 duooomi</button>
|
||||
<button className="btn-secondary">加入内测社区</button>
|
||||
<div className="cta-card">
|
||||
<h2 className="cta-card-title">开始收集你的第一枚电子吧唧</h2>
|
||||
<p className="cta-card-subtitle">AI never sleep,情绪永远被看见</p>
|
||||
<button className="cta-card-button">
|
||||
立即下载 duooomi
|
||||
<span className="cta-arrow">→</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
Reference in New Issue
Block a user