jan/web-client/app/_components/OverviewPane.tsx
NamH d55a83888b
refactor: replacing mobx with jotai (#160)
* refactor: replacing mobx with jotai

Signed-off-by: James <james@jan.ai>
Co-authored-by: James <james@jan.ai>
Co-authored-by: Louis <louis@jan.ai>
2023-09-13 21:33:53 -07:00

59 lines
1.5 KiB
TypeScript

"use client";
import { useAtomValue } from "jotai";
import TryItYourself from "./TryItYourself";
import React from "react";
import { currentProductAtom } from "@/_helpers/JotaiWrapper";
const OverviewPane: React.FC = () => {
const product = useAtomValue(currentProductAtom);
return (
<div className="scroll overflow-y-auto">
<div className="flex flex-col flex-grow gap-6 m-3">
<AboutProductItem
title={"About this AI"}
value={product?.description ?? ""}
/>
<SmallItem title={"Model Version"} value={product?.version ?? ""} />
<div className="flex flex-col">
<span className="text-[#6B7280]">Model URL</span>
<a
className="text-[#1C64F2]"
href={product?.modelUrl ?? "#"}
target="_blank_"
>
{product?.modelUrl}
</a>
</div>
<TryItYourself />
</div>
</div>
);
};
export default OverviewPane;
type Props = {
title: string;
value: string;
};
const AboutProductItem: React.FC<Props> = ({ title, value }) => {
return (
<div className="flex flex-col items-start">
<h2 className="text-black font-bold">{title}</h2>
<p className="text-[#6B7280]">{value}</p>
</div>
);
};
const SmallItem: React.FC<Props> = ({ title, value }) => {
return (
<div className="flex flex-col">
<span className="text-[#6B7280] ">{title}</span>
<span className="font-semibold">{value}</span>
</div>
);
};