fix redirect to checkout when the org has not a subscription
This commit is contained in:
@@ -67,7 +67,6 @@ export default function Route({
|
||||
loaderData: { enrollments }
|
||||
}: Route.ComponentProps) {
|
||||
const { orgid } = useParams()
|
||||
const { subscription } = useWorksapce()
|
||||
const [searchParams, setSearchParams] = useSearchParams()
|
||||
const [selectedRows, setSelectedRows] = useState<Enrollment[]>([])
|
||||
const status = searchParams.get('status')
|
||||
@@ -205,7 +204,7 @@ export default function Route({
|
||||
<DataTableViewOptions className="flex-1" />
|
||||
|
||||
<Button className="flex-1" asChild>
|
||||
<Link to={subscription ? 'add' : 'buy'}>
|
||||
<Link to="add">
|
||||
<PlusIcon /> Adicionar
|
||||
</Link>
|
||||
</Button>
|
||||
|
||||
@@ -72,6 +72,7 @@ import { ScheduledForInput } from './scheduled-for'
|
||||
import { CoursePicker } from './course-picker'
|
||||
import { UserPicker } from './user-picker'
|
||||
import { cn } from '@repo/ui/lib/utils'
|
||||
import { workspaceContext } from '@/middleware/workspace'
|
||||
|
||||
const emptyRow = {
|
||||
user: undefined,
|
||||
@@ -84,6 +85,12 @@ export function meta({}: Route.MetaArgs) {
|
||||
}
|
||||
|
||||
export async function loader({ params, context, request }: Route.LoaderArgs) {
|
||||
const { subscription } = context.get(workspaceContext)
|
||||
// If there's no subscription for the org, redirect to checkout
|
||||
if (!subscription) {
|
||||
throw redirect('../enrollments/buy')
|
||||
}
|
||||
|
||||
const url = new URL(request.url)
|
||||
const submissionId = url.searchParams.get('submission')
|
||||
const cloudflare = context.get(cloudflareContext)
|
||||
|
||||
@@ -27,32 +27,17 @@ export const middleware: Route.MiddlewareFunction[] = [
|
||||
workspaceMiddleware
|
||||
]
|
||||
|
||||
export async function loader({ params, context, request }: Route.ActionArgs) {
|
||||
export async function loader({ context, request }: Route.ActionArgs) {
|
||||
const user = context.get(userContext)!
|
||||
const { activeWorkspace, workspaces } = context.get(workspaceContext)
|
||||
const workspace = context.get(workspaceContext)
|
||||
const rawCookie = request.headers.get('cookie') || ''
|
||||
const parsedCookies = cookie.parse(rawCookie)
|
||||
const { sidebar_state = 'true' } = parsedCookies
|
||||
|
||||
const subscription = req({
|
||||
url: `/orgs/${activeWorkspace.id}/subscription`,
|
||||
request,
|
||||
context
|
||||
}).then((r) => r.json())
|
||||
|
||||
const address = req({
|
||||
url: `/orgs/${activeWorkspace.id}/address`,
|
||||
request,
|
||||
context
|
||||
}).then((r) => r.json())
|
||||
|
||||
return {
|
||||
user,
|
||||
activeWorkspace,
|
||||
workspaces,
|
||||
sidebar_state,
|
||||
subscription,
|
||||
address
|
||||
...workspace
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,9 +49,14 @@ export function shouldRevalidate({
|
||||
}
|
||||
|
||||
export default function Route({ loaderData }: Route.ComponentProps) {
|
||||
const { user, activeWorkspace, workspaces, sidebar_state } = loaderData
|
||||
const subscription = use(loaderData.subscription)
|
||||
const address = use(loaderData.address)
|
||||
const {
|
||||
user,
|
||||
activeWorkspace,
|
||||
workspaces,
|
||||
subscription,
|
||||
address,
|
||||
sidebar_state
|
||||
} = loaderData
|
||||
|
||||
useEffect(() => {
|
||||
if (typeof window !== 'undefined' && window.rybbit) {
|
||||
|
||||
Reference in New Issue
Block a user