forked from github/plane
5d331477ef
* fix: settings bug fixes and ui improvement * chore: setting sidebar scroll fix & code refactor
74 lines
2.3 KiB
TypeScript
74 lines
2.3 KiB
TypeScript
import React from "react";
|
|
|
|
import { useRouter } from "next/router";
|
|
|
|
import useSWR from "swr";
|
|
|
|
// services
|
|
import workspaceService from "services/workspace.service";
|
|
// layouts
|
|
import { WorkspaceAuthorizationLayout } from "layouts/auth-layout";
|
|
// component
|
|
import { SettingsSidebar } from "components/project";
|
|
// ui
|
|
import { SecondaryButton } from "components/ui";
|
|
import { BreadcrumbItem, Breadcrumbs } from "components/breadcrumbs";
|
|
// types
|
|
import type { NextPage } from "next";
|
|
// fetch-keys
|
|
import { WORKSPACE_DETAILS } from "constants/fetch-keys";
|
|
// helper
|
|
import { truncateText } from "helpers/string.helper";
|
|
|
|
const BillingSettings: NextPage = () => {
|
|
const {
|
|
query: { workspaceSlug },
|
|
} = useRouter();
|
|
|
|
const { data: activeWorkspace } = useSWR(
|
|
workspaceSlug ? WORKSPACE_DETAILS(workspaceSlug as string) : null,
|
|
() => (workspaceSlug ? workspaceService.getWorkspace(workspaceSlug as string) : null)
|
|
);
|
|
|
|
return (
|
|
<WorkspaceAuthorizationLayout
|
|
breadcrumbs={
|
|
<Breadcrumbs>
|
|
<BreadcrumbItem
|
|
title={`${truncateText(activeWorkspace?.name ?? "Workspace", 32)}`}
|
|
link={`/${workspaceSlug}`}
|
|
linkTruncate
|
|
/>
|
|
<BreadcrumbItem title="Billing & Plans Settings" unshrinkTitle />
|
|
</Breadcrumbs>
|
|
}
|
|
>
|
|
<div className="flex flex-row gap-2 h-full">
|
|
<div className="w-80 pt-8 overflow-y-hidden flex-shrink-0">
|
|
<SettingsSidebar />
|
|
</div>
|
|
<section className="pr-9 py-8 w-full overflow-y-auto">
|
|
<div>
|
|
<div className="flex items-center py-3.5 border-b border-custom-border-200">
|
|
<h3 className="text-xl font-medium">Billing & Plan</h3>
|
|
</div>
|
|
</div>
|
|
<div className="px-4 py-6">
|
|
<div>
|
|
<h4 className="text-md mb-1 leading-6">Current plan</h4>
|
|
<p className="mb-3 text-sm text-custom-text-200">
|
|
You are currently using the free plan
|
|
</p>
|
|
<a href="https://plane.so/pricing" target="_blank" rel="noreferrer">
|
|
<SecondaryButton outline>View Plans</SecondaryButton>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</WorkspaceAuthorizationLayout>
|
|
);
|
|
};
|
|
|
|
export default BillingSettings;
|