diff --git a/Build_God_Game/index.html b/Build_God_Game/index.html index 9f188d6..d2bd890 100644 --- a/Build_God_Game/index.html +++ b/Build_God_Game/index.html @@ -4,7 +4,7 @@ - CUPOWER + God
diff --git a/Build_God_Game/src/components/Carousel/Carousel.vue b/Build_God_Game/src/components/Carousel/Carousel.vue new file mode 100644 index 0000000..83cd27c --- /dev/null +++ b/Build_God_Game/src/components/Carousel/Carousel.vue @@ -0,0 +1,307 @@ + + + + + diff --git a/Build_God_Game/src/components/MissionCarousel/MissionCarousel.vue b/Build_God_Game/src/components/MissionCarousel/MissionCarousel.vue new file mode 100644 index 0000000..1c88535 --- /dev/null +++ b/Build_God_Game/src/components/MissionCarousel/MissionCarousel.vue @@ -0,0 +1,175 @@ + + + + + diff --git a/Build_God_Game/src/views/CharacterView.vue b/Build_God_Game/src/views/CharacterView.vue index 9e90539..dacf545 100644 --- a/Build_God_Game/src/views/CharacterView.vue +++ b/Build_God_Game/src/views/CharacterView.vue @@ -465,8 +465,8 @@ const formatNumber = (num: number) => { justify-content: center; align-items: center; background: rgba(255, 255, 255, 0.03); - border: 1px solid rgba(255, 255, 255, 0.08); - border-radius: 12px; + border: 1px dashed red; + border-radius: 15px; padding: 12px 16px; cursor: pointer; transition: all 0.2s ease; diff --git a/Build_God_Game/src/views/DailyMissionView.vue b/Build_God_Game/src/views/DailyMissionView.vue index d42f9c3..a4617b4 100644 --- a/Build_God_Game/src/views/DailyMissionView.vue +++ b/Build_God_Game/src/views/DailyMissionView.vue @@ -3,9 +3,28 @@ import { ref, computed, onMounted } from 'vue' import { useRouter } from 'vue-router' import { dailyMissionApi, type DailyMission, DailyMissionStatus, RewardType } from '@/api/dailyMission' import Particles from '@/components/Particles/Particles.vue' +import MissionCarousel from '@/components/MissionCarousel/MissionCarousel.vue' +import Carousel from '@/components/Carousel/Carousel.vue' +import type { CarouselItem } from '@/components/Carousel/Carousel.vue' const router = useRouter() +const carouselItems: CarouselItem[] = [ + { + title: "Custom Item", + description: "A custom carousel item.", + id: 1, + icon: "circle", + }, + { + title: "Another Item", + description: "Another carousel item.", + id: 2, + icon: "layers", + }, + // Add more items as needed +]; + const missions = ref([]) const todayStats = ref({ claimed: 0, total: 0 }) const loading = ref(false) @@ -63,12 +82,6 @@ const getRewardIcon = (type: RewardType) => { } } -const formatTime = (dateStr?: string) => { - if (!dateStr) return '' - const date = new Date(dateStr) - return `${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}` -} - const formatRemainingTime = (endTime?: string) => { if (!endTime) return '' const end = new Date(endTime) @@ -139,14 +152,21 @@ const handleGoBack = () => { router.push('/game') } +const handleMissionSelect = (mission: DailyMission) => { + selectedMission.value = mission +} + onMounted(() => { loadMissions() timer = window.setInterval(updateRemainingTimes, 1000) }) -const activeMissions = computed(() => missions.value.filter(m => m.status !== DailyMissionStatus.Claimed)) +const selectedMission = ref(null) + const yesterdayMissions = computed(() => missions.value.filter(m => m.isFromYesterday && m.status === DailyMissionStatus.Completed)) const todayMissions = computed(() => missions.value.filter(m => !m.isFromYesterday)) + +const hasAnyMissions = computed(() => yesterdayMissions.value.length > 0 || todayMissions.value.length > 0)