deotalandAi/apps/frontend/src/components/tours/tour4.vue

307 lines
5.7 KiB
Vue
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="tour-container">
<div class="tour-card">
<div class="icon-wrapper">
<svg class="star-icon" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="3" y="3" width="18" height="18" rx="2" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="8.5" cy="8.5" r="1.5" fill="currentColor"/>
<path d="M21 15L16 10L5 21" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</div>
<h3 class="title">{{ $t('tour4.title') }}</h3>
<p class="description">{{ $t('tour4.description') }}</p>
<div class="features-container">
<div class="feature-item">
<div class="feature-icon-wrapper">
<span class="feature-icon">📁</span>
</div>
<div class="feature-content">
<h4 class="feature-title">{{ $t('tour4.feature1') }}</h4>
</div>
</div>
<div class="feature-item">
<div class="feature-icon-wrapper">
<span class="feature-icon">🖼</span>
</div>
<div class="feature-content">
<h4 class="feature-title">{{ $t('tour4.feature2') }}</h4>
</div>
</div>
<div class="feature-item">
<div class="feature-icon-wrapper">
<span class="feature-icon">🎨</span>
</div>
<div class="feature-content">
<h4 class="feature-title">{{ $t('tour4.feature3') }}</h4>
</div>
</div>
</div>
<div class="action-section">
<p class="action-text">{{ $t('tour4.actionText') }}</p>
<p class="action-highlight">{{ $t('tour4.actionHighlight') }}</p>
</div>
</div>
</div>
</template>
<script setup>
import { useI18n } from 'vue-i18n'
const { t } = useI18n()
</script>
<style scoped>
.tour-container {
padding: 20px;
display: flex;
justify-content: center;
align-items: center;
min-height: 400px;
}
.tour-card {
background: #ffffff;
border-radius: 16px;
padding: 32px;
box-shadow: 0 4px 20px rgba(107, 70, 193, 0.15);
max-width: 480px;
width: 100%;
animation: fadeIn 0.5s ease-out;
}
.icon-wrapper {
display: flex;
justify-content: center;
margin-bottom: 20px;
}
.star-icon {
width: 48px;
height: 48px;
color: #6B46C1;
animation: float 3s ease-in-out infinite;
}
.title {
font-size: 24px;
font-weight: 600;
color: #1F2937;
text-align: center;
margin: 0 0 12px 0;
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.description {
font-size: 15px;
color: #4B5563;
text-align: center;
margin-bottom: 24px;
line-height: 1.6;
}
.features-container {
display: flex;
flex-direction: column;
gap: 12px;
margin-bottom: 24px;
}
.feature-item {
display: flex;
align-items: center;
gap: 12px;
padding: 16px;
background: rgba(107, 70, 193, 0.05);
border-radius: 12px;
transition: all 0.3s ease;
cursor: default;
}
.feature-item:hover {
background: rgba(107, 70, 193, 0.1);
transform: translateX(4px);
}
.feature-icon-wrapper {
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background: linear-gradient(135deg, #6B46C1 0%, #A78BFA 100%);
flex-shrink: 0;
}
.feature-icon {
font-size: 20px;
animation: pulse 2s ease-in-out infinite;
}
.feature-content {
flex: 1;
}
.feature-title {
font-size: 14px;
font-weight: 500;
color: #1F2937;
margin: 0;
line-height: 1.4;
}
.action-section {
text-align: center;
padding-top: 16px;
border-top: 1px solid rgba(107, 70, 193, 0.1);
}
.action-text {
font-size: 14px;
color: #6B7280;
margin: 0 0 8px 0;
}
.action-highlight {
font-size: 16px;
font-weight: 600;
color: #6B46C1;
margin: 0;
background: linear-gradient(135deg, #6B46C1 0%, #A78BFA 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
animation: shimmer 2s ease-in-out infinite;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes float {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-8px);
}
}
@keyframes pulse {
0%, 100% {
transform: scale(1);
}
50% {
transform: scale(1.1);
}
}
@keyframes shimmer {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.8;
}
}
@media (max-width: 768px) {
.tour-container {
padding: 16px;
}
.tour-card {
padding: 24px;
max-width: 100%;
}
.title {
font-size: 20px;
}
.star-icon {
width: 40px;
height: 40px;
}
.feature-item {
padding: 12px;
}
.feature-icon-wrapper {
width: 36px;
height: 36px;
}
.feature-icon {
font-size: 18px;
}
.feature-title {
font-size: 13px;
}
}
@media (min-width: 768px) and (max-width: 1024px) {
.tour-card {
max-width: 420px;
}
}
html.dark .tour-card {
background: #1F2937;
box-shadow: 0 4px 20px rgba(139, 92, 246, 0.2);
}
html.dark .star-icon {
color: #A78BFA;
}
html.dark .title {
color: #F3F4F6;
}
html.dark .description {
color: #D1D5DB;
}
html.dark .feature-item {
background: rgba(139, 92, 246, 0.1);
}
html.dark .feature-item:hover {
background: rgba(139, 92, 246, 0.2);
}
html.dark .feature-title {
color: #E5E7EB;
}
html.dark .action-section {
border-top: 1px solid rgba(139, 92, 246, 0.2);
}
html.dark .action-text {
color: #9CA3AF;
}
html.dark .action-highlight {
background: linear-gradient(135deg, #A78BFA 0%, #C4B5FD 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
</style>