Skip to content

Conversation

@mujacica
Copy link
Contributor

This commit adds frontend support for Perforce version control integration:

  • New Perforce icon component and assets
  • Integration icon and plugin support
  • Updated repository project path config form to support Perforce
  • Type definitions for Perforce integration

The frontend changes enable:

  • Visual representation of Perforce integration in the UI
  • Configuration UI for repository and code mappings
  • Integration with existing VCS provider infrastructure

This commit adds frontend support for Perforce version control integration:

- New Perforce icon component and assets
- Integration icon and plugin support
- Updated repository project path config form to support Perforce
- Type definitions for Perforce integration

The frontend changes enable:
- Visual representation of Perforce integration in the UI
- Configuration UI for repository and code mappings
- Integration with existing VCS provider infrastructure
@github-actions github-actions bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Nov 11, 2025
label: t('Branch'),
placeholder: t('Type your branch'),
required: !isPerforce,
label: isPerforce ? t('Stream') : t('Branch'),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Being too futuristic here but instead of isperforce does it make sense to call this isStreamBased or something so we share the same code for future stream based integrations?


const initialData = {
defaultBranch: 'main',
defaultBranch: isPerforce ? '' : 'main',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For example isStreamBased or doesSupportBranch here makes the code more readable for someone who doesn't know perforce.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mujacica all our icons in this directory have to conform to a specific viewbox size, so I'll have to supply you with a new svg. Can do this today

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's the new asset. :)

export function IconPerforce(props: SVGIconProps) {
  return (
    <SvgIcon {...props}>
      <path d="M1.28125 1.8457C2.08337 1.38511 3.0417 1.38512 3.84473 1.8457L6.44434 3.33789L4.8877 4.23145L3.06738 3.18555C2.61281 2.92531 2.21222 3.09894 2.06055 3.18555C1.9092 3.27207 1.55673 3.53097 1.55664 4.05273V11.9482C1.55676 12.47 1.90921 12.7289 2.06055 12.8154C2.21223 12.902 2.61372 13.0757 3.06738 12.8154L9.94141 8.86816C10.3951 8.6077 10.4443 8.17496 10.4443 8.00098C10.4443 7.82703 10.3952 7.39429 9.94141 7.13379L9.55664 6.91309L11.0762 6.04004C11.6607 6.51866 12 7.22487 12 8C12 8.92108 11.5207 9.7464 10.7188 10.207L3.84473 14.1543C3.4433 14.3841 3.00387 14.4999 2.56348 14.5C2.12299 14.5 1.68277 14.385 1.28125 14.1543C0.479393 13.6937 5.80635e-05 12.8683 0 11.9473V4.05273C6.83815e-05 3.13175 0.479391 2.30721 1.28125 1.8457ZM13.4365 1.5C13.877 1.5 14.3172 1.61497 14.7188 1.8457C15.5206 2.30632 15.9999 3.13177 16 4.05273V11.9473C15.9999 12.8682 15.5206 13.6937 14.7188 14.1543C13.9166 14.6149 12.9574 14.6149 12.1553 14.1543L9.55566 12.6621L11.1123 11.7686L12.9326 12.8145C13.3872 13.0747 13.7878 12.9011 13.9395 12.8145C14.0908 12.7279 14.4423 12.469 14.4424 11.9473V4.05273C14.4423 3.53097 14.0908 3.27207 13.9395 3.18555C13.7878 3.09894 13.3863 2.92531 12.9326 3.18555L6.05859 7.13281C5.60478 7.39332 5.55567 7.82606 5.55566 8C5.55566 8.17393 5.60478 8.60667 6.05859 8.86719L6.44336 9.08789L4.92383 9.96094V9.95996C4.33928 9.48134 4 8.77514 4 8C4.00001 7.07891 4.47928 6.25359 5.28125 5.79297L12.1553 1.8457C12.5567 1.61592 12.9961 1.50005 13.4365 1.5Z" />
    </SvgIcon>
  );
}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mujacica like with the bazzite, this needs to conform to a specific art style. will supply today

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, I know, that's why I added you as a reviewer so I could share the icon/files that need rework here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's the asset. Can use this for the integrations icon as well.

perforce-80

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants