diff --git a/packages/deployer/deploy-frontend.staging.sh b/packages/deployer/deploy-frontend.staging.sh
index 0aba8e70..2672ddbd 100755
--- a/packages/deployer/deploy-frontend.staging.sh
+++ b/packages/deployer/deploy-frontend.staging.sh
@@ -1,7 +1,7 @@
#!/bin/bash
# Repository URL
-REPO_URL="https://github.com/snowball-tools/snowballtools-base"
+REPO_URL="https://git.vdb.to/cerc-io/snowballtools-base"
# Get the latest commit hash from the repository
LATEST_HASH=$(git ls-remote $REPO_URL HEAD | awk '{print $1}')
diff --git a/packages/deployer/records/application-deployment-request.yml b/packages/deployer/records/application-deployment-request.yml
index eb2eccb6..4ac07d40 100644
--- a/packages/deployer/records/application-deployment-request.yml
+++ b/packages/deployer/records/application-deployment-request.yml
@@ -14,5 +14,5 @@ record:
LACONIC_HOSTED_CONFIG_app_wallet_connect_id: eda9ba18042a5ea500f358194611ece2
meta:
note: Added by Snowball @ Thu Apr 4 14:49:41 UTC 2024
- repository: "https://github.com/snowball-tools/snowballtools-base"
+ repository: "https://git.vdb.to/cerc-io/snowballtools-base"
repository_ref: 351db16336eacc3e1f9119ceb8d1282b8e27a27e
diff --git a/packages/deployer/records/application-record.yml b/packages/deployer/records/application-record.yml
index ea3538f9..9c1d614c 100644
--- a/packages/deployer/records/application-record.yml
+++ b/packages/deployer/records/application-record.yml
@@ -2,7 +2,7 @@ record:
type: ApplicationRecord
version: 0.0.2
repository_ref: 351db16336eacc3e1f9119ceb8d1282b8e27a27e
- repository: ["https://github.com/snowball-tools/snowballtools-base"]
+ repository: ["https://git.vdb.to/cerc-io/snowballtools-base"]
app_type: webapp
name: snowballtools-base-frontend
app_version: 0.1.8
diff --git a/packages/deployer/staging-records/application-deployment-request.yml b/packages/deployer/staging-records/application-deployment-request.yml
index 1378a94c..e3a022a7 100644
--- a/packages/deployer/staging-records/application-deployment-request.yml
+++ b/packages/deployer/staging-records/application-deployment-request.yml
@@ -20,5 +20,5 @@ record:
LACONIC_HOSTED_CONFIG_turnkey_organization_id: 5049ae99-5bca-40b3-8317-504384d4e591
meta:
note: Added by Snowball @ Mon Jun 24 23:51:48 UTC 2024
- repository: "https://github.com/snowball-tools/snowballtools-base"
+ repository: "https://git.vdb.to/cerc-io/snowballtools-base"
repository_ref: 61e3e88a6c9d57e95441059369ee5a46f5c07601
diff --git a/packages/deployer/staging-records/application-record.yml b/packages/deployer/staging-records/application-record.yml
index cbfa4af6..fa9b4089 100644
--- a/packages/deployer/staging-records/application-record.yml
+++ b/packages/deployer/staging-records/application-record.yml
@@ -2,7 +2,7 @@ record:
type: ApplicationRecord
version: 0.0.1
repository_ref: 61e3e88a6c9d57e95441059369ee5a46f5c07601
- repository: ["https://github.com/snowball-tools/snowballtools-base"]
+ repository: ["https://git.vdb.to/cerc-io/snowballtools-base"]
app_type: webapp
name: staging-snowballtools-base-frontend
app_version: 0.0.0
diff --git a/packages/frontend/src/components/projects/Dialog/ChangeStateToProductionDialog.tsx b/packages/frontend/src/components/projects/Dialog/ChangeStateToProductionDialog.tsx
index 1e6d9f58..efb9c2fa 100644
--- a/packages/frontend/src/components/projects/Dialog/ChangeStateToProductionDialog.tsx
+++ b/packages/frontend/src/components/projects/Dialog/ChangeStateToProductionDialog.tsx
@@ -10,11 +10,16 @@ import {
LinkChainIcon,
} from 'components/shared/CustomIcon';
import { TagProps } from 'components/shared/Tag';
+import {
+ ArrowRightCircleFilledIcon,
+ LoadingIcon,
+} from 'components/shared/CustomIcon';
interface ChangeStateToProductionDialogProps extends ConfirmDialogProps {
deployment: Deployment;
newDeployment?: Deployment;
domains: Domain[];
+ isConfirmButtonLoading?: boolean;
}
export const ChangeStateToProductionDialog = ({
@@ -24,6 +29,7 @@ export const ChangeStateToProductionDialog = ({
open,
handleCancel,
handleConfirm,
+ isConfirmButtonLoading,
...props
}: ChangeStateToProductionDialogProps) => {
const currentChip = {
@@ -41,6 +47,14 @@ export const ChangeStateToProductionDialog = ({
handleCancel={handleCancel}
open={open}
handleConfirm={handleConfirm}
+ confirmButtonProps={{
+ disabled: isConfirmButtonLoading,
+ rightIcon: isConfirmButtonLoading ? (
+
+ ) : (
+
+ ),
+ }}
>
diff --git a/packages/frontend/src/components/projects/create/Configure.tsx b/packages/frontend/src/components/projects/create/Configure.tsx
index 09a0b6b4..d1380f64 100644
--- a/packages/frontend/src/components/projects/create/Configure.tsx
+++ b/packages/frontend/src/components/projects/create/Configure.tsx
@@ -25,7 +25,8 @@ type ConfigureDeploymentFormValues = {
maxPrice?: string;
};
-type ConfigureFormValues = ConfigureDeploymentFormValues & EnvironmentVariablesFormValues;
+type ConfigureFormValues = ConfigureDeploymentFormValues &
+ EnvironmentVariablesFormValues;
const Configure = () => {
const [isLoading, setIsLoading] = useState(false);
@@ -55,7 +56,10 @@ const Configure = () => {
const isTabletView = useMediaQuery('(min-width: 720px)'); // md:
const buttonSize = isTabletView ? { size: 'lg' as const } : {};
- const createProject = async (data: FieldValues, envVariables: AddEnvironmentVariableInput[]): Promise
=> {
+ const createProject = async (
+ data: FieldValues,
+ envVariables: AddEnvironmentVariableInput[],
+ ): Promise => {
setIsLoading(true);
let projectId: string | null = null;
@@ -68,7 +72,7 @@ const Configure = () => {
} else if (data.option === 'Auction') {
auctionParams = {
numProviders: Number(data.numProviders!),
- maxPrice: (data.maxPrice!).toString(),
+ maxPrice: data.maxPrice!.toString(),
};
}
@@ -86,7 +90,7 @@ const Configure = () => {
projectData,
lrn,
auctionParams,
- envVariables
+ envVariables,
);
projectId = addProjectFromTemplate.id;
@@ -94,14 +98,14 @@ const Configure = () => {
const { addProject } = await client.addProject(
orgSlug!,
{
- name: fullName!,
+ name: `${owner}-${name}`,
prodBranch: defaultBranch!,
repository: fullName!,
template: 'webapp',
},
lrn,
auctionParams,
- envVariables
+ envVariables,
);
projectId = addProject.id;
@@ -127,39 +131,44 @@ const Configure = () => {
const handleFormSubmit = useCallback(
async (createFormData: FieldValues) => {
- const environmentVariables = createFormData.variables.map((variable: any) => {
- return {
- key: variable.key,
- value: variable.value,
- environments: Object.entries(createFormData.environment)
- .filter(([, value]) => value === true)
- .map(([key]) => key.charAt(0).toUpperCase() + key.slice(1)),
- };
- });
+ const environmentVariables = createFormData.variables.map(
+ (variable: any) => {
+ return {
+ key: variable.key,
+ value: variable.value,
+ environments: Object.entries(createFormData.environment)
+ .filter(([, value]) => value === true)
+ .map(([key]) => key.charAt(0).toUpperCase() + key.slice(1)),
+ };
+ },
+ );
- const projectId = await createProject(createFormData, environmentVariables);
+ const projectId = await createProject(
+ createFormData,
+ environmentVariables,
+ );
await client.getEnvironmentVariables(projectId);
if (templateId) {
createFormData.option === 'Auction'
? navigate(
- `/${orgSlug}/projects/create/success/${projectId}?isAuction=true`,
- )
+ `/${orgSlug}/projects/create/success/${projectId}?isAuction=true`,
+ )
: navigate(
- `/${orgSlug}/projects/create/template/deploy?projectId=${projectId}&templateId=${templateId}`
- );
+ `/${orgSlug}/projects/create/template/deploy?projectId=${projectId}&templateId=${templateId}`,
+ );
} else {
createFormData.option === 'Auction'
? navigate(
- `/${orgSlug}/projects/create/success/${projectId}?isAuction=true`
- )
+ `/${orgSlug}/projects/create/success/${projectId}?isAuction=true`,
+ )
: navigate(
- `/${orgSlug}/projects/create/deploy?projectId=${projectId}`
- );
+ `/${orgSlug}/projects/create/deploy?projectId=${projectId}`,
+ );
}
},
- [client, createProject, dismiss, toast]
+ [client, createProject, dismiss, toast],
);
return (
@@ -190,10 +199,15 @@ const Configure = () => {
value={
{
value: value || 'LRN',
- label: value === 'Auction' ? 'Create Auction' : 'Deployer LRN',
+ label:
+ value === 'Auction'
+ ? 'Create Auction'
+ : 'Deployer LRN',
} as SelectOption
}
- onChange={(value) => onChange((value as SelectOption).value)}
+ onChange={(value) =>
+ onChange((value as SelectOption).value)
+ }
options={[
{ value: 'LRN', label: 'Deployer LRN' },
{ value: 'Auction', label: 'Create Auction' },
@@ -205,7 +219,10 @@ const Configure = () => {
{selectedOption === 'LRN' && (
-
+
The app will be deployed by the configured deployer
@@ -225,8 +242,12 @@ const Configure = () => {
{selectedOption === 'Auction' && (
<>
-
- Set the number of deployers and maximum price for each deployment
+
+ Set the number of deployers and maximum price for each
+ deployment
Number of Deployers
diff --git a/packages/frontend/src/components/projects/create/ProjectRepoCard/ProjectRepoCard.tsx b/packages/frontend/src/components/projects/create/ProjectRepoCard/ProjectRepoCard.tsx
index 29b4b065..48650ca5 100644
--- a/packages/frontend/src/components/projects/create/ProjectRepoCard/ProjectRepoCard.tsx
+++ b/packages/frontend/src/components/projects/create/ProjectRepoCard/ProjectRepoCard.tsx
@@ -39,7 +39,7 @@ export const ProjectRepoCard: React.FC = ({
}
navigate(
- `configure?owner=${repository.owner?.login}&name=${repository.name}&defaultBranch=${repository.default_branch}&fullName=${repository.full_name}&orgSlug=${orgSlug}`
+ `configure?owner=${repository.owner?.login}&name=${repository.name}&defaultBranch=${repository.default_branch}&fullName=${repository.full_name}&orgSlug=${orgSlug}`,
);
}, [client, repository, orgSlug, setIsLoading, navigate, toast]);
diff --git a/packages/frontend/src/components/projects/project/deployments/DeploymentDetailsCard.tsx b/packages/frontend/src/components/projects/project/deployments/DeploymentDetailsCard.tsx
index 499aed76..ea5a33a1 100644
--- a/packages/frontend/src/components/projects/project/deployments/DeploymentDetailsCard.tsx
+++ b/packages/frontend/src/components/projects/project/deployments/DeploymentDetailsCard.tsx
@@ -34,13 +34,13 @@ import { formatAddress } from '../../../../utils/format';
import { DeploymentMenu } from './DeploymentMenu';
const DEPLOYMENT_LOGS_STYLE = {
- backgroundColor: "rgba(0,0,0, .9)",
- padding: "2em",
- borderRadius: "0.5em",
- marginLeft: "0.5em",
- marginRight: "0.5em",
- color: "gray",
- fontSize: "small",
+ backgroundColor: 'rgba(0,0,0, .9)',
+ padding: '2em',
+ borderRadius: '0.5em',
+ marginLeft: '0.5em',
+ marginRight: '0.5em',
+ color: 'gray',
+ fontSize: 'small',
};
interface DeployDetailsCardProps {
@@ -95,7 +95,11 @@ const DeploymentDetailsCard = ({
const logs = await res.text();
setDeploymentLogs(logs);
handleOpenDialog();
- }, [deployment.deployer.deployerApiUrl, deployment.applicationDeploymentRequestId, handleOpenDialog]);
+ }, [
+ deployment.deployer.deployerApiUrl,
+ deployment.applicationDeploymentRequestId,
+ handleOpenDialog,
+ ]);
const renderDeploymentStatus = useCallback(
(className?: string) => {
@@ -201,10 +205,15 @@ const DeploymentDetailsCard = ({
prodBranchDomains={prodBranchDomains}
/>
-
diff --git a/packages/frontend/src/pages/org-slug/projects/id/settings/EnvironmentVariables.tsx b/packages/frontend/src/pages/org-slug/projects/id/settings/EnvironmentVariables.tsx
index d284a4a6..e76aa364 100644
--- a/packages/frontend/src/pages/org-slug/projects/id/settings/EnvironmentVariables.tsx
+++ b/packages/frontend/src/pages/org-slug/projects/id/settings/EnvironmentVariables.tsx
@@ -64,15 +64,17 @@ export const EnvironmentVariablesTabPanel = () => {
const createEnvironmentVariablesHandler = useCallback(
async (createFormData: FieldValues) => {
- const environmentVariables = createFormData.variables.map((variable: any) => {
- return {
- key: variable.key,
- value: variable.value,
- environments: Object.entries(createFormData.environment)
- .filter(([, value]) => value === true)
- .map(([key]) => key.charAt(0).toUpperCase() + key.slice(1)),
- };
- });
+ const environmentVariables = createFormData.variables.map(
+ (variable: any) => {
+ return {
+ key: variable.key,
+ value: variable.value,
+ environments: Object.entries(createFormData.environment)
+ .filter(([, value]) => value === true)
+ .map(([key]) => key.charAt(0).toUpperCase() + key.slice(1)),
+ };
+ },
+ );
const { addEnvironmentVariables: isEnvironmentVariablesAdded } =
await client.addEnvironmentVariables(id!, environmentVariables);
@@ -124,7 +126,11 @@ export const EnvironmentVariablesTabPanel = () => {
-