shellphone.app/app/phone-calls/pages/calls.tsx

42 lines
1.2 KiB
TypeScript
Raw Normal View History

import { Suspense } from "react";
import type { BlitzPage } from "blitz";
2021-08-01 03:05:40 +00:00
import { Routes } from "blitz";
2021-07-31 14:33:18 +00:00
import AppLayout from "app/core/layouts/layout";
import PhoneCallsList from "../components/phone-calls-list";
2021-10-15 22:24:28 +00:00
import MissingTwilioCredentials from "app/core/components/missing-twilio-credentials";
import useCurrentUser from "app/core/hooks/use-current-user";
import PageTitle from "../../core/components/page-title";
import Spinner from "../../core/components/spinner";
2021-07-31 14:33:18 +00:00
const PhoneCalls: BlitzPage = () => {
2021-10-15 23:25:13 +00:00
const { hasFilledTwilioCredentials, hasPhoneNumber } = useCurrentUser();
2021-10-15 22:24:28 +00:00
2021-10-15 23:25:13 +00:00
if (!hasFilledTwilioCredentials || !hasPhoneNumber) {
2021-10-15 22:24:28 +00:00
return (
<>
<MissingTwilioCredentials />
<PageTitle className="filter blur-sm select-none absolute top-0" title="Calls" />
2021-10-15 22:24:28 +00:00
</>
);
}
2021-07-31 14:33:18 +00:00
return (
2021-08-01 03:05:40 +00:00
<>
2021-10-15 22:24:28 +00:00
<PageTitle className="pl-12" title="Calls" />
2021-09-24 23:07:40 +00:00
<section className="flex flex-grow flex-col">
<Suspense fallback={<Spinner />}>
{/* TODO: skeleton phone calls list */}
2021-09-24 23:07:40 +00:00
<PhoneCallsList />
</Suspense>
</section>
2021-08-01 03:05:40 +00:00
</>
);
};
2021-07-31 14:33:18 +00:00
PhoneCalls.getLayout = (page) => <AppLayout title="Calls">{page}</AppLayout>;
2021-08-01 03:05:40 +00:00
PhoneCalls.authenticate = { redirectTo: Routes.SignIn() };
2021-07-31 14:33:18 +00:00
export default PhoneCalls;