diff --git a/studio/components/interfaces/Organization/OAuthApps/DeleteAppModal.tsx b/studio/components/interfaces/Organization/OAuthApps/DeleteAppModal.tsx index 4cc29703d3e..fa1620037bb 100644 --- a/studio/components/interfaces/Organization/OAuthApps/DeleteAppModal.tsx +++ b/studio/components/interfaces/Organization/OAuthApps/DeleteAppModal.tsx @@ -2,7 +2,7 @@ import { useParams } from 'common' import { useOAuthAppDeleteMutation } from 'data/oauth/oauth-app-delete-mutation' import { OAuthApp } from 'data/oauth/oauth-apps-query' import { useStore } from 'hooks' -import { Alert, Modal } from 'ui' +import { Alert, IconAlertOctagon, IconLock, IconShieldOff, Modal } from 'ui' export interface DeleteAppModalProps { selectedApp?: OAuthApp @@ -46,9 +46,34 @@ const DeleteAppModal = ({ selectedApp, onClose }: DeleteAppModalProps) => {
- Any applications which have been authorized through this app will no longer have access - to your organization's settings and projects. + You will no longer have access to any applications that were authorized through this app +
diff --git a/studio/components/interfaces/Organization/OAuthApps/OAuthApps.tsx b/studio/components/interfaces/Organization/OAuthApps/OAuthApps.tsx index ddc7bee88cc..fd1e34afce6 100644 --- a/studio/components/interfaces/Organization/OAuthApps/OAuthApps.tsx +++ b/studio/components/interfaces/Organization/OAuthApps/OAuthApps.tsx @@ -9,7 +9,7 @@ import { OAuthApp, useOAuthAppsQuery } from 'data/oauth/oauth-apps-query' import { Alert, Button, IconX, Input } from 'ui' import DeleteAppModal from './DeleteAppModal' import OAuthAppRow from './OAuthAppRow' -import PublishAppModal from './PublishAppModal' +import PublishAppModal from './PublishAppSidePanel' import { AuthorizedApp, useAuthorizedAppsQuery } from 'data/oauth/authorized-apps-query' import AuthorizedAppRow from './AuthorizedAppRow' import RevokeAppModal from './RevokeAppModal' diff --git a/studio/components/interfaces/Organization/OAuthApps/PublishAppModal.tsx b/studio/components/interfaces/Organization/OAuthApps/PublishAppSidePanel.tsx similarity index 59% rename from studio/components/interfaces/Organization/OAuthApps/PublishAppModal.tsx rename to studio/components/interfaces/Organization/OAuthApps/PublishAppSidePanel.tsx index 30c0380e33f..43eaa6e9044 100644 --- a/studio/components/interfaces/Organization/OAuthApps/PublishAppModal.tsx +++ b/studio/components/interfaces/Organization/OAuthApps/PublishAppSidePanel.tsx @@ -10,7 +10,7 @@ import { useOAuthAppUpdateMutation } from 'data/oauth/oauth-app-update-mutation' import { OAuthApp } from 'data/oauth/oauth-apps-query' import { useStore } from 'hooks' import { isValidHttpUrl, uuidv4 } from 'lib/helpers' -import { Badge, Button, Dropdown, Form, IconEdit, IconUpload, Input, Modal } from 'ui' +import { Badge, Button, Dropdown, Form, IconEdit, IconUpload, Input, Modal, SidePanel } from 'ui' import { uploadAttachment } from 'lib/upload' import AuthorizeRequesterDetails from './AuthorizeRequesterDetails' @@ -157,8 +157,9 @@ const PublishAppModal = ({ return ( <> -
-
- -
-
- - -
-
- {iconUrl !== undefined ? ( -
-
- { - if (uploadButtonRef.current) - (uploadButtonRef.current as any).click() - }} - > - Upload image - , - { - setIconFile(undefined) - setIconUrl(undefined) - }} - > - Remove image - , - ]} - > -
-
- ) : ( -
{ - if (uploadButtonRef.current) (uploadButtonRef.current as any).click() - }} - > - -

Upload logo

-
- )} - + ) : ( +
{ + if (uploadButtonRef.current) + (uploadButtonRef.current as any).click() + }} + > + +

Upload logo

+
+ )} + +
- - + - + - -
-
-

Authorization callback URLs

-

- All URLs must use HTTPS, except for localhost -

+ +
+
+

Authorization callback URLs

+

+ All URLs must use HTTPS, except for localhost +

+
+
- -
-
- {urls.map((url) => ( - onUpdateUrl(url.id, event.target.value)} - placeholder="e.g https://my-website.com" - actions={[ - urls.length > 1 ? ( - - ) : null, - ]} - /> - ))} - {errors.urls &&

{errors.urls}

} -
- +
+ {urls.map((url) => ( + onUpdateUrl(url.id, event.target.value)} + placeholder="e.g https://my-website.com" + actions={[ + urls.length > 1 ? ( + + ) : null, + ]} + /> + ))} + {errors.urls &&

{errors.urls}

} +
+ + +
- + - +
-
+ - + ) } diff --git a/studio/components/interfaces/Organization/OAuthApps/RevokeAppModal.tsx b/studio/components/interfaces/Organization/OAuthApps/RevokeAppModal.tsx index a13efda8a0c..657ae900fc4 100644 --- a/studio/components/interfaces/Organization/OAuthApps/RevokeAppModal.tsx +++ b/studio/components/interfaces/Organization/OAuthApps/RevokeAppModal.tsx @@ -2,7 +2,7 @@ import { useParams } from 'common' import { useAuthorizedAppRevokeMutation } from 'data/oauth/authorized-app-revoke-mutation' import { AuthorizedApp } from 'data/oauth/authorized-apps-query' import { useStore } from 'hooks' -import { Alert, Modal } from 'ui' +import { Alert, IconAlertOctagon, IconLock, Modal } from 'ui' export interface RevokeAppModalProps { selectedApp?: AuthorizedApp @@ -50,6 +50,32 @@ const RevokeAppModal = ({ selectedApp, onClose }: RevokeAppModalProps) => { This application will no longer have access to your organization's settings and projects. +
    +
  • +
    + +
    + + This application will no longer have access to your organization's settings and + projects. + +
  • + +
  • + +
    + Before you remove this app, consider: +
      +
    • + Any applications which you may still require access +
    • +
    • + Anyone will be able to modify, add or delete any row in this table. +
    • +
    +
    +
  • +