1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import React from "react";
6 import { Dialog, DialogTitle, DialogContent, DialogActions, Button } from "@mui/material";
7 import { WithDialogProps } from "store/dialog/with-dialog";
8 import { withDialog } from 'store/dialog/with-dialog';
9 import { DefaultCodeSnippet } from 'components/default-code-snippet/default-code-snippet';
10 import { CustomStyleRulesCallback } from 'common/custom-theme';
11 import { WithStyles } from '@mui/styles';
12 import withStyles from '@mui/styles/withStyles';
13 import { ArvadosTheme } from 'common/custom-theme';
14 import { compose } from "redux";
15 import { API_CLIENT_AUTHORIZATION_HELP_DIALOG } from 'store/api-client-authorizations/api-client-authorizations-actions';
17 type CssRules = 'codeSnippet';
19 const styles: CustomStyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
21 borderRadius: theme.spacing(0.5),
22 border: `1px solid ${theme.palette.grey["400"]}`,
29 interface HelpApiClientAuthorizationDataProps {
35 export const HelpApiClientAuthorizationDialog = compose(
36 withDialog(API_CLIENT_AUTHORIZATION_HELP_DIALOG),
38 (props: WithDialogProps<HelpApiClientAuthorizationDataProps> & WithStyles<CssRules>) =>
39 <Dialog open={props.open}
40 onClose={props.closeDialog}
43 <DialogTitle>HELP:</DialogTitle>
46 className={props.classes.codeSnippet}
47 lines={[snippetText(props.data)]} />
48 {/* // lines={snippetText2(props.data)} /> */}
54 onClick={props.closeDialog}>
61 const snippetText = (data: HelpApiClientAuthorizationDataProps) => `### Pasting the following lines at a shell prompt will allow Arvados SDKs
62 ### to authenticate to your account, ${data.email}
64 read ARVADOS_API_TOKEN <<EOF
67 export ARVADOS_API_TOKEN ARVADOS_API_HOST=${data.apiHost}
68 unset ARVADOS_API_HOST_INSECURE`;