diff --git a/src/components/utepils.tsx b/src/components/utepils.tsx
new file mode 100644
index 0000000..5e541b4
--- /dev/null
+++ b/src/components/utepils.tsx
@@ -0,0 +1,49 @@
+import { useUtepils } from "../hooks/use-utepils";
+
+function getBackgroundClass(score: number) {
+ if (score >= 75) return "bg-gradient-to-br from-amber-200 via-orange-200 to-yellow-100";
+ if (score >= 45) return "bg-gradient-to-br from-sky-200 via-blue-100 to-slate-100";
+ return "bg-gradient-to-br from-slate-300 via-slate-200 to-zinc-100";
+}
+
+function getBarClass(score: number) {
+ if (score >= 70) return "bg-green-500";
+ if (score >= 40) return "bg-amber-400";
+ return "bg-red-500";
+}
+
+export default function UtepilsCard() {
+ const { verdict, score, loading, error } = useUtepils();
+ console.log("Utepils verdict:", verdict, "Score:", score, "Loading:", loading, "Error:", error);
+ const title = verdict?.title || "Laster...";
+ const subtitle = verdict?.subtitle || "Henter utepils-data";
+ const emoji = verdict?.emoji || "⏳";
+
+ return (
+
+
+
+
+ Utepils-meter
+
+
{title}
+
{subtitle}
+
+
{emoji}
+
+
+
+
Utepils-score
+
{score}%
+
+
+
+ );
+}
diff --git a/src/hooks/use-utepils.ts b/src/hooks/use-utepils.ts
new file mode 100644
index 0000000..102b8ff
--- /dev/null
+++ b/src/hooks/use-utepils.ts
@@ -0,0 +1,32 @@
+import { useState, useEffect } from "react";
+
+export type Verdict = {
+ title: string;
+ subtitle: string;
+ emoji: string;
+ score: number;
+};
+
+export function useUtepils() {
+ const [verdict, setVerdict] = useState(null);
+ const [score, setScore] = useState(0);
+ const [loading, setLoading] = useState(true);
+ const [error, setError] = useState(null);
+
+ useEffect(() => {
+ fetch("https://utepils-ten.vercel.app/api/utepils/bergen")
+ .then((res) => {
+ if (!res.ok) throw new Error(`HTTP error! status: ${res.status}`);
+ console.log("Fetched utepils data:", res);
+ return res.json();
+ })
+ .then((data) => {
+ setVerdict(data.verdict);
+ setScore(data.score);
+ })
+ .catch((err) => setError(err.message))
+ .finally(() => setLoading(false));
+ }, []);
+
+ return { verdict, score, loading, error };
+}
diff --git a/src/pages/calendar-screen.tsx b/src/pages/calendar-screen.tsx
index ce74df3..f4e12e8 100644
--- a/src/pages/calendar-screen.tsx
+++ b/src/pages/calendar-screen.tsx
@@ -3,6 +3,7 @@
import Calendar from "../components/calendar";
import { Orakel } from "../components/orakel";
import TodaysBirthdays from "../components/todays-birthdays";
+import UtepilsCard from "../components/utepils";
// import SnowMinimal from "../components/christmas-decoration";
// import HeartsMinimal from "../components/valentines";
@@ -13,6 +14,7 @@ export const CalendarScreen = () => {
+
);