diff --git a/extension/src/webview/factory.ts b/extension/src/webview/factory.ts index 13a44200c9..5455685cba 100644 --- a/extension/src/webview/factory.ts +++ b/extension/src/webview/factory.ts @@ -35,6 +35,7 @@ export const createWebview = async ( title, viewColumn || ViewColumn.Active, { + enableCommandUris: true, enableScripts: true, localResourceRoots: [Uri.file(distPath), ...getWorkspaceRootUris()], retainContextWhenHidden: true diff --git a/webview/icons/codicons.mjs b/webview/icons/codicons.mjs index 08bc78eda3..7a5c988732 100644 --- a/webview/icons/codicons.mjs +++ b/webview/icons/codicons.mjs @@ -10,6 +10,7 @@ export const codicons = [ 'copy', 'ellipsis', 'error', + 'extensions', 'filter', 'git-commit', 'git-merge', diff --git a/webview/src/setup/components/remotes/AmazonS3.tsx b/webview/src/setup/components/remotes/AmazonS3.tsx index 463f973a71..4d59df6fbe 100644 --- a/webview/src/setup/components/remotes/AmazonS3.tsx +++ b/webview/src/setup/components/remotes/AmazonS3.tsx @@ -3,6 +3,7 @@ import styles from './styles.module.scss' import { InfoText } from './InfoText' import { CloudVersioning } from './CloudVersioning' import { CustomAuth } from './CustomAuth' +import { ShowExtension } from './ShowExtension' export const AmazonS3 = () => (
@@ -13,7 +14,7 @@ export const AmazonS3 = () => ( . This reads the default AWS credentials file (if available) or env vars.

- + The AWS user needs the following permissions: s3:ListBucket, s3:GetObject, s3:PutObject, s3:DeleteObject. diff --git a/webview/src/setup/components/remotes/AzureBlobStorage.tsx b/webview/src/setup/components/remotes/AzureBlobStorage.tsx index 262d6133cf..e237a059f8 100644 --- a/webview/src/setup/components/remotes/AzureBlobStorage.tsx +++ b/webview/src/setup/components/remotes/AzureBlobStorage.tsx @@ -1,6 +1,7 @@ import React from 'react' import styles from './styles.module.scss' import { CloudVersioning } from './CloudVersioning' +import { ShowExtension } from './ShowExtension' export const AzureBlobStorage = () => (
@@ -11,6 +12,10 @@ export const AzureBlobStorage = () => ( {' '} for details on how to authenticate.

+ Blob versioning diff --git a/webview/src/setup/components/remotes/GoogleCloudStorage.tsx b/webview/src/setup/components/remotes/GoogleCloudStorage.tsx index 617d5be96a..f8fa16c1ab 100644 --- a/webview/src/setup/components/remotes/GoogleCloudStorage.tsx +++ b/webview/src/setup/components/remotes/GoogleCloudStorage.tsx @@ -2,6 +2,7 @@ import React from 'react' import styles from './styles.module.scss' import { CloudVersioning } from './CloudVersioning' import { CustomAuth } from './CustomAuth' +import { ShowExtension } from './ShowExtension' import { Icon } from '../../../shared/components/Icon' import { Warning } from '../../../shared/components/icons' @@ -14,6 +15,7 @@ export const GoogleCloudStorage: React.FC = () => ( . This reads the default GCP key file.

+

{' '} Make sure to run{' '} diff --git a/webview/src/setup/components/remotes/OtherStorageTypes.tsx b/webview/src/setup/components/remotes/OtherStorageTypes.tsx index 4f7403fbc5..b68f97d164 100644 --- a/webview/src/setup/components/remotes/OtherStorageTypes.tsx +++ b/webview/src/setup/components/remotes/OtherStorageTypes.tsx @@ -38,11 +38,9 @@ export const OtherStorageTypes: React.FC = () => ( -

- - is not currently supported by any of these - remotes. - -

+ + is not currently supported by any of these + remotes. +
) diff --git a/webview/src/setup/components/remotes/ShowExtension.tsx b/webview/src/setup/components/remotes/ShowExtension.tsx new file mode 100644 index 0000000000..97cd43c735 --- /dev/null +++ b/webview/src/setup/components/remotes/ShowExtension.tsx @@ -0,0 +1,31 @@ +import React from 'react' +import styles from './styles.module.scss' +import { Icon } from '../../../shared/components/Icon' +import { Extensions } from '../../../shared/components/icons' + +export const ShowExtension: React.FC<{ id: string; name: string }> = ({ + id, + name +}) => { + const idQuery = `"@id:${id}"` + + return ( +

+ {' '} + View the{' '} + + {name} + {' '} + extension. +

+ ) +} diff --git a/webview/src/shared/components/icons/Extensions.tsx b/webview/src/shared/components/icons/Extensions.tsx new file mode 100644 index 0000000000..6f22eadad6 --- /dev/null +++ b/webview/src/shared/components/icons/Extensions.tsx @@ -0,0 +1,19 @@ +import * as React from 'react' +import type { SVGProps } from 'react' +const Extensions = (props: SVGProps) => ( + + + +) +export default Extensions diff --git a/webview/src/shared/components/icons/index.ts b/webview/src/shared/components/icons/index.ts index 0a0d2e8462..1d4e51cddf 100644 --- a/webview/src/shared/components/icons/index.ts +++ b/webview/src/shared/components/icons/index.ts @@ -10,6 +10,7 @@ export { default as Close } from './Close' export { default as Copy } from './Copy' export { default as Ellipsis } from './Ellipsis' export { default as Error } from './Error' +export { default as Extensions } from './Extensions' export { default as Filter } from './Filter' export { default as GitCommit } from './GitCommit' export { default as GitMerge } from './GitMerge'