Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions src/features/auth/OktaSignIn.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { useParams } from '@tanstack/react-router';
import { useEffect } from 'react';

export function OktaSignIn() {
const { oauthConfigId } = useParams({ strict: false });

useEffect(() => {
window.location.href = `/oauth/${oauthConfigId}/login?redirect=${encodeURIComponent('/#/check-oauth')}`;
}, [oauthConfigId]);

return (
<div className="text-foreground dark:text-white w-lg flex flex-col gap-4">
<h1 className="text-3xl font-light">
<span
aria-hidden="true"
className="text-2xl animate-flower-dance mr-4"
title="Redirecting"
>
🌼
</span>
Redirecting to sign in...
</h1>
</div>
);
}
8 changes: 8 additions & 0 deletions src/features/auth/routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { AuthLayout } from './AuthLayout';
import { CheckOAuth } from './CheckOAuth';
import { ClusterInstanceSignIn } from './ClusterInstanceSignIn';
import { ForgotPassword } from './ForgotPassword';
import { OktaSignIn } from './OktaSignIn';
import { ResetPassword } from './ResetPassword';
import { SignIn } from './SignIn';
import { SignUp } from './SignUp';
Expand Down Expand Up @@ -80,6 +81,12 @@ const resetPasswordRoute = createRoute({
component: ResetPassword,
});

const oktaSignInRoute = createRoute({
getParentRoute: () => authLayout,
path: '$oauthConfigId/sign-in',
component: OktaSignIn,
});

export const authRouteTree = authLayout.addChildren([
signInRoute,
signUpRoute,
Expand All @@ -88,6 +95,7 @@ export const authRouteTree = authLayout.addChildren([
verifyEmailRoute,
verifyingEmailRoute,
resetPasswordRoute,
oktaSignInRoute,
]);

export const localAuthRoutes = [
Expand Down
7 changes: 4 additions & 3 deletions src/features/clusters/hooks/useCreateNewCluster.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import { apiClient } from '@/config/apiClient';
import { SchemaCluster, SchemaClusterUpsert } from '@/integrations/api/api.gen';
import { SchemaCluster } from '@/integrations/api/api.gen';
import { ClusterUpsert } from '@/integrations/api/api.patch';
import { useMutation } from '@tanstack/react-query';

async function onNewClusterSubmit(
clusterInfo: SchemaClusterUpsert,
clusterInfo: ClusterUpsert,
): Promise<SchemaCluster> {
const { data } = await apiClient.post(
'/Cluster/',
Expand All @@ -14,7 +15,7 @@ async function onNewClusterSubmit(
}

export function useCreateNewClusterMutation() {
return useMutation<SchemaCluster, Error, SchemaClusterUpsert>({
return useMutation<SchemaCluster, Error, ClusterUpsert>({
mutationFn: (clusterInfo) => onNewClusterSubmit(clusterInfo),
});
}
7 changes: 4 additions & 3 deletions src/features/clusters/hooks/useUpdateCluster.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import { apiClient } from '@/config/apiClient';
import { SchemaCluster, SchemaClusterUpsert } from '@/integrations/api/api.gen';
import { SchemaCluster } from '@/integrations/api/api.gen';
import { ClusterUpsert } from '@/integrations/api/api.patch';
import { useMutation } from '@tanstack/react-query';

type EditRegionPlan = Pick<SchemaCluster, 'id'> & Pick<SchemaClusterUpsert, 'regionPlans' | 'skipGtmWait'>;
type EditVersion = Pick<SchemaCluster, 'id'> & Pick<SchemaClusterUpsert, 'version' | 'skipGtmWait'>;
type EditRegionPlan = Pick<SchemaCluster, 'id'> & Pick<ClusterUpsert, 'regionPlans' | 'skipGtmWait'>;
type EditVersion = Pick<SchemaCluster, 'id'> & Pick<ClusterUpsert, 'version' | 'skipGtmWait'>;

async function onEditClusterSubmit(
clusterInfo: EditRegionPlan | EditVersion,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export const ClusterDomainsList = ({
);
};

function ClusterDomainUrl({ domain }: { domain: string }) {
function ClusterDomainUrl({ domain }: { domain: string | undefined }) {
const [onCopyClick] = useCopyToClipboard(domain || '');
return (
<div key={domain}>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { queryOptions } from '@tanstack/react-query';

export async function getOrganization(orgId: string): Promise<Organization> {
const { data } = await apiClient.get(`/Organization/${orgId}` as '/Organization/{id}');
return data;
return data as Organization;
}

export function getOrganizationQueryOptions(orgId: string) {
Expand Down
8 changes: 8 additions & 0 deletions src/features/organization/routes.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { createBillingRouteTree } from '@/features/organization/billing/routes';
import { getOrganizationQueryOptions } from '@/features/organization/queries/getOrganizationQuery';
import { OrgConfigRolesIndex } from '@/features/organization/roles';
import { OrgSettingsIndex } from '@/features/organization/settings';
import { OrgConfigUsersIndex } from '@/features/organization/users';
import { orgsLayoutRoute } from '@/features/organizations/routes';
import { createRoute } from '@tanstack/react-router';
Expand Down Expand Up @@ -39,10 +40,17 @@ const orgUserRoute = createRoute({
component: OrgConfigUsersIndex,
});

const orgSettingsRoute = createRoute({
getParentRoute: () => orgLayoutRoute,
path: '/settings',
component: OrgSettingsIndex,
});

export const orgRoutes = [
createBillingRouteTree(orgLayoutRoute),
orgRolesRoute,
orgRoleRoute,
orgUsersRoute,
orgUserRoute,
orgSettingsRoute,
];
Loading