27 lines
1.1 KiB
TypeScript
27 lines
1.1 KiB
TypeScript
|
|
import { useParams, useLocation } from 'react-router';
|
||
|
|
import { useEnvironmentStore } from '../../../api/environment-store';
|
||
|
|
import { useEnvironments } from '../../../api/queries/admin/environments';
|
||
|
|
import { useApps } from '../../../api/queries/admin/apps';
|
||
|
|
import { PageLoader } from '../../../components/PageLoader';
|
||
|
|
import styles from './AppDeploymentPage.module.css';
|
||
|
|
|
||
|
|
export default function AppDeploymentPage() {
|
||
|
|
const { appId } = useParams<{ appId?: string }>();
|
||
|
|
const location = useLocation();
|
||
|
|
const selectedEnv = useEnvironmentStore((s) => s.environment);
|
||
|
|
const { data: environments = [], isLoading: envLoading } = useEnvironments();
|
||
|
|
const { data: apps = [], isLoading: appsLoading } = useApps(selectedEnv);
|
||
|
|
|
||
|
|
const isNetNew = location.pathname.endsWith('/apps/new');
|
||
|
|
const app = isNetNew ? null : apps.find((a) => a.slug === appId) ?? null;
|
||
|
|
|
||
|
|
if (envLoading || appsLoading) return <PageLoader />;
|
||
|
|
|
||
|
|
return (
|
||
|
|
<div className={styles.container}>
|
||
|
|
<h2>{app ? app.displayName : 'Create Application'}</h2>
|
||
|
|
{/* Identity section, tabs, primary button land in subsequent tasks */}
|
||
|
|
</div>
|
||
|
|
);
|
||
|
|
}
|