"use client";
import { api } from "~/trpc/react";
import { Card } from "~/components/ui/card";
import AddHabitDialog from "./add-habit-dialog";
import EditHabitForm from "./edit-habit-form";
import ListSkeleton from "./skeletons/list-skeleton";
import { Fragment, Suspense } from "react";
import { useSession } from "next-auth/react";
export function MyHabits() {
const [myHabits] = api.habit.getByUser.useSuspenseQuery();
return myHabits ? (
myHabits.map((habit) => (
<Fragment key={habit.id}>
<EditHabitForm habit={habit} />
<hr />
</Fragment>
))
) : (
<p>You have no habits yet.</p>
);
}
export function MyHabitsContainer() {
const { data: session } = useSession();
return (
<Card className="flex flex-col gap-4 p-4">
{session?.user && (
<Suspense fallback={<ListSkeleton />}>
<span>My habits</span>
<MyHabits />
</Suspense>
)}
<AddHabitDialog />
</Card>
);
}
"use client";
import { api } from "~/trpc/react";
import { Card } from "~/components/ui/card";
import AddHabitDialog from "./add-habit-dialog";
import EditHabitForm from "./edit-habit-form";
import ListSkeleton from "./skeletons/list-skeleton";
import { Fragment, Suspense } from "react";
import { useSession } from "next-auth/react";
export function MyHabits() {
const [myHabits] = api.habit.getByUser.useSuspenseQuery();
return myHabits ? (
myHabits.map((habit) => (
<Fragment key={habit.id}>
<EditHabitForm habit={habit} />
<hr />
</Fragment>
))
) : (
<p>You have no habits yet.</p>
);
}
export function MyHabitsContainer() {
const { data: session } = useSession();
return (
<Card className="flex flex-col gap-4 p-4">
{session?.user && (
<Suspense fallback={<ListSkeleton />}>
<span>My habits</span>
<MyHabits />
</Suspense>
)}
<AddHabitDialog />
</Card>
);
}