+
Moons
+ {props.moons.map((moon, id) => (
+
+ ))}
+
+
+ {isMining &&
Mining time: {miningTime}
}
+
+
Here you will see your mined resources
+ {farmedResources.length <= 0 ? (
+
Start mining to get resources
+ ) : (
+ <>
+ {farmedResources.map((farmedResource, index) => (
+
+ {farmedResource}
+
+
+ ))}
+ >
+ )}
+
+ );
+};
+
+export default MoonsView;
diff --git a/src/app/Components/ResourceItem.tsx b/src/app/Components/ResourceItem.tsx
new file mode 100644
index 0000000..acb39af
--- /dev/null
+++ b/src/app/Components/ResourceItem.tsx
@@ -0,0 +1,51 @@
+"use client";
+import React, { useEffect, useState } from "react";
+import { IResourceCardProps } from "typings";
+
+const ResourceItem = (props: { resourceCardProps: IResourceCardProps }) => {
+ const [totalYield, settotalYield] = useState(100);
+ const [isMining, setIsMining] = useState(props.resourceCardProps.isMining);
+
+ useEffect(() => {
+ if (isMining) {
+ const intervalId = setInterval(() => {
+ settotalYield((prev) => prev + props.resourceCardProps.yieldPerSecond);
+ }, 1000);
+
+ return () => {
+ clearInterval(intervalId);
+ };
+ }
+ }, [totalYield]);
+
+ return (
+
+
+
+ {props.resourceCardProps.resource.name}
+
+
+ {totalYield.toLocaleString("en-US", {
+ minimumFractionDigits: 2,
+ maximumFractionDigits: 2,
+ })}{" "}
+ kg
+
+
+ {props.resourceCardProps.yieldPerSecond * 3600} / hour
+
+
+
+ );
+};
+
+export default ResourceItem;
diff --git a/src/app/Components/ResourceView.tsx b/src/app/Components/ResourceView.tsx
new file mode 100644
index 0000000..b9fcbd9
--- /dev/null
+++ b/src/app/Components/ResourceView.tsx
@@ -0,0 +1,34 @@
+"use client";
+import React from "react";
+import { Resource } from "typings";
+import ResourceItem from "./ResourceItem";
+
+const ResourceView = (props: { resources: Resource[] }) => {
+ return (
+