diff --git a/app/tests/singleMissionGuide.tsx b/app/tests/singleMissionGuide.tsx index 4ffc709a..be82376c 100644 --- a/app/tests/singleMissionGuide.tsx +++ b/app/tests/singleMissionGuide.tsx @@ -5,6 +5,7 @@ import { CloudDrizzleIcon, LightbulbIcon, Telescope, ArrowUpIcon, ArrowDownIcon import { motion, AnimatePresence } from "framer-motion"; import { useSupabaseClient, useSession } from "@supabase/auth-helpers-react"; import JournalPage from "@/components/Structures/Missions/Stardust/Journal"; +import MilestoneCard from "@/components/Structures/Missions/Milestones/MilestoneCard"; export interface Mission { id: number; @@ -92,7 +93,8 @@ const defaultMission: Mission = { id: 0, name: "Welcome to Star Sailors", description: "You've been given some basic structures to start your journey. Click on their icons to classify the data they've collected for you. New data & projects are being added weekly.", - additionalDescription: "You'll get to explore various missions, starting with basic tasks such as classifying objects in the sky and on Earth. Each task you complete unlocks new insights.", // + // additionalDescription: "You'll get to explore various missions, starting with basic tasks such as classifying objects in the sky and on Earth. Each task you complete unlocks new insights.", // + additionalDescription: , icon: LightbulbIcon, color: "text-blue-400", identifier: "default-starting-mission", @@ -133,7 +135,7 @@ const SimpleeMissionGuide = () => {

{defaultMission.name}

{defaultMission.description}

diff --git a/components/Structures/Missions/Biologists/BiomassOnPlanet.tsx b/components/Structures/Missions/Biologists/BiomassOnPlanet.tsx index b5c059d2..a4553957 100644 --- a/components/Structures/Missions/Biologists/BiomassOnPlanet.tsx +++ b/components/Structures/Missions/Biologists/BiomassOnPlanet.tsx @@ -46,7 +46,7 @@ const BiomassStats = () => { if ( error ) { return; } ; - + setTotalBio(data.length); const oneYearAgo = new Date(); diff --git a/components/Structures/Missions/Biologists/ResearchStations.tsx b/components/Structures/Missions/Biologists/ResearchStations.tsx index ec07708f..f0bbe659 100644 --- a/components/Structures/Missions/Biologists/ResearchStations.tsx +++ b/components/Structures/Missions/Biologists/ResearchStations.tsx @@ -9,6 +9,7 @@ import { InventoryItem } from "@/types/Items"; import BiomassStats from "./BiomassOnPlanet"; import StationModal from "./StationModal"; import ClassificationStats from "../Milestones/ClassificationNumber"; +import MilestoneCard from "../Milestones/MilestoneCard"; const initialStations: Station[] = [ { @@ -230,6 +231,7 @@ export function GreenhouseResearchStations() { {/* */} {/*
*/}
+
diff --git a/components/Structures/Missions/Milestones/MilestoneCard.tsx b/components/Structures/Missions/Milestones/MilestoneCard.tsx new file mode 100644 index 00000000..a5d544be --- /dev/null +++ b/components/Structures/Missions/Milestones/MilestoneCard.tsx @@ -0,0 +1,32 @@ +import { Card, CardContent } from "@/components/ui/card"; +import { useSession, useSupabaseClient } from "@supabase/auth-helpers-react"; +import { GlassWaterIcon, PawPrintIcon, SnowflakeIcon } from "lucide-react"; + +const MilestoneCard = () => { + const supabase = useSupabaseClient(); + const session = useSession(); + + const milestones = [ + { icon: , text: "Find 3 desert creatures" }, + { icon: , text: "Find ice on a planet" }, + { icon: , text: "Find a planet in the habitable zone" } + ]; + + return ( + + +

Weekly Missions

+
    + {milestones.map((milestone, index) => ( +
  • + {milestone.icon} +

    {milestone.text}

    +
  • + ))} +
+
+
+ ); +}; + +export default MilestoneCard; \ No newline at end of file diff --git a/constants/Structures/Properties.tsx b/constants/Structures/Properties.tsx index 04b9537b..7af582ab 100644 --- a/constants/Structures/Properties.tsx +++ b/constants/Structures/Properties.tsx @@ -5,7 +5,7 @@ import AutomatonUpgrade from "@/components/Structures/Config/AutomatonUpgradeBox import AllAutomatonsOnActivePlanet from "@/components/Structures/Auto/AllAutomatons"; import { StarterTelescopeTess } from "@/components/Projects/Telescopes/Transiting"; import { StarterLidar } from "@/components/Projects/Lidar/Clouds"; -import { BarChart, BeanIcon, BookAIcon, BookAudioIcon, BookCopy, BookDashedIcon, BriefcaseIcon, CameraIcon, CameraOffIcon, CaravanIcon, CloudCogIcon, CloudDrizzleIcon, CogIcon, ConstructionIcon, DogIcon, DotSquare, EarthIcon, FishIcon, FlagIcon, GemIcon, GlassesIcon, HeartIcon, LockIcon, LucideSalad, MehIcon, MicroscopeIcon, MoonStarIcon, PenBox, PhoneIcon, PickaxeIcon, PowerIcon, RssIcon, SaladIcon, StarIcon, SunIcon, SwitchCamera, TelescopeIcon, TestTubeDiagonal, TestTubeDiagonalIcon, TreePalmIcon, WebcamIcon } from "lucide-react"; +import { BarChart, BeanIcon, BookAIcon, BookAudioIcon, BookCopy, BookDashedIcon, BriefcaseIcon, CameraIcon, CameraOffIcon, CaravanIcon, CloudCogIcon, CloudDrizzleIcon, CogIcon, ConstructionIcon, DogIcon, DotSquare, EarthIcon, FishIcon, FlagIcon, GemIcon, GlassesIcon, HeartIcon, LockIcon, LucideSalad, MehIcon, MicroscopeIcon, MoonStarIcon, PenBox, PhoneIcon, PickaxeIcon, PowerIcon, RssIcon, SaladIcon, StarIcon, SunIcon, SwitchCamera, TelescopeIcon, TestTubeDiagonal, TestTubeDiagonalIcon, TreePalmIcon, Trophy, WebcamIcon } from "lucide-react"; import StructureRepair from "@/components/Structures/Config/RepairStructure"; import { RoverPhoto } from "@/components/Projects/Auto/Mars-Photos"; import { AnomalyRoverPhoto } from "@/components/Structures/Auto/AutomatonClassificationShell"; @@ -35,6 +35,7 @@ import PlanetFour from "@/components/Structures/Missions/Astronomers/SatellitePh import AI4M from "@/components/Structures/Missions/Astronomers/SatellitePhotos/AI4M/AIForMars"; import MySettlementsLocations from "@/content/Classifications/UserLocations"; import { GreenhouseResearchStations } from "@/components/Structures/Missions/Biologists/ResearchStations"; +import MilestoneCard from "@/components/Structures/Missions/Milestones/MilestoneCard"; interface IndividualStructureProps { name?: string; @@ -157,7 +158,12 @@ export const StructuresConfig: StructureConfig = { icon: , text: "My Locations", dynamicComponent: - } + }, + { + icon: , + text: "Weekly goals", + dynamicComponent: + }, // { // icon: , // text: "View all discoveries", diff --git a/content/Classifications/UserLocations.tsx b/content/Classifications/UserLocations.tsx index 1e81b30e..9628b672 100644 --- a/content/Classifications/UserLocations.tsx +++ b/content/Classifications/UserLocations.tsx @@ -109,56 +109,65 @@ export default function MySettlementsLocations() { return

No locations found.

; } + // Track the anomalies we've already displayed + const displayedAnomalies = new Set(); + return (
{myLocations - // Ensure only "planet" classifications are shown - .map((location) => ( -
-

- {location.anomalyContent || `Location #${location.id}`} -

-

{location.content || ""}

- - {location.images && location.images.length > 0 && ( -
- {location.relatedClassifications && location.relatedClassifications.length > 0 && ( -
-

Related Classifications:

-
    - {location.relatedClassifications.map((related) => ( -
  • - {related.content || `Classification #${related.id}`} -
  • - ))} -
-
- )} - {location.images.map((image, index) => ( - {`Location - ))} -
- )} - - {/* */} - - -
- ))} - Show asteroids and non-planet location anomalies here (below) +

+ {location.anomalyContent || `Location #${location.id}`} +

+

{location.content || ""}

+ + {location.images && location.images.length > 0 && ( +
+ {location.relatedClassifications && location.relatedClassifications.length > 0 && ( +
+

Related Classifications:

+
    + {location.relatedClassifications.map((related) => ( +
  • + {related.content || `Classification #${related.id}`} +
  • + ))} +
+
+ )} + {location.images.map((image, index) => ( + {`Location + ))} +
+ )} + + +
+ ); + })} ); }; \ No newline at end of file