fix: format
This commit is contained in:
@@ -134,121 +134,121 @@ const ProxyForm: React.FC = () => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<FormContainer>
|
<FormContainer>
|
||||||
<Typography variant="h6" gutterBottom component="div" style={{ marginTop: '20px' }}>
|
<Typography variant="h6" gutterBottom component="div" style={{ marginTop: '20px' }}>
|
||||||
Proxy Configuration
|
Proxy Configuration
|
||||||
</Typography>
|
</Typography>
|
||||||
<Tabs value={tabIndex} onChange={handleTabChange}>
|
<Tabs value={tabIndex} onChange={handleTabChange}>
|
||||||
<Tab label="Standard Proxy" />
|
<Tab label="Standard Proxy" />
|
||||||
<Tab label="Automatic Proxy Rotation" />
|
<Tab label="Automatic Proxy Rotation" />
|
||||||
</Tabs>
|
</Tabs>
|
||||||
{tabIndex === 0 && (
|
{tabIndex === 0 && (
|
||||||
isProxyConfigured ? (
|
isProxyConfigured ? (
|
||||||
<Box sx={{ maxWidth: 600, width: '100%', textAlign: 'center', marginTop: '20px' }}>
|
<Box sx={{ maxWidth: 600, width: '100%', textAlign: 'center', marginTop: '20px' }}>
|
||||||
<Box sx={{ maxWidth: 600, width: '100%', textAlign: 'center', marginTop: '20px' }}>
|
<Box sx={{ maxWidth: 600, width: '100%', textAlign: 'center', marginTop: '20px' }}>
|
||||||
<Typography variant="h6" gutterBottom component="div">
|
<Typography variant="h6" gutterBottom component="div">
|
||||||
Current Proxy Configuration
|
Current Proxy Configuration
|
||||||
</Typography>
|
</Typography>
|
||||||
<TableContainer component={Paper} sx={{ margin: '30px' }}>
|
<TableContainer component={Paper} sx={{ margin: '30px' }}>
|
||||||
<Table>
|
<Table>
|
||||||
<TableHead>
|
<TableHead>
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<TableCell><strong>Proxy URL</strong></TableCell>
|
<TableCell><strong>Proxy URL</strong></TableCell>
|
||||||
<TableCell><strong>Requires Authentication</strong></TableCell>
|
<TableCell><strong>Requires Authentication</strong></TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
</TableHead>
|
</TableHead>
|
||||||
<TableBody>
|
<TableBody>
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<TableCell>{proxy.proxy_url}</TableCell>
|
<TableCell>{proxy.proxy_url}</TableCell>
|
||||||
<TableCell>{proxy.auth ? 'Yes' : 'No'}</TableCell>
|
<TableCell>{proxy.auth ? 'Yes' : 'No'}</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
</TableBody>
|
</TableBody>
|
||||||
</Table>
|
</Table>
|
||||||
</TableContainer>
|
</TableContainer>
|
||||||
</Box>
|
</Box>
|
||||||
<Button variant="outlined" color="primary" onClick={testProxy}>
|
<Button variant="outlined" color="primary" onClick={testProxy}>
|
||||||
Test Proxy
|
Test Proxy
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="outlined" color="error" onClick={removeProxy} sx={{ marginLeft: '10px' }}>
|
<Button variant="outlined" color="error" onClick={removeProxy} sx={{ marginLeft: '10px' }}>
|
||||||
Remove Proxy
|
Remove Proxy
|
||||||
</Button>
|
</Button>
|
||||||
</Box>
|
</Box>
|
||||||
) : (
|
) : (
|
||||||
<Box component="form" onSubmit={handleSubmit} sx={{ maxWidth: 400, width: '100%' }}>
|
<Box component="form" onSubmit={handleSubmit} sx={{ maxWidth: 400, width: '100%' }}>
|
||||||
<FormControl>
|
<FormControl>
|
||||||
<TextField
|
<TextField
|
||||||
label="Proxy Server URL"
|
label="Proxy Server URL"
|
||||||
name="server_url"
|
name="server_url"
|
||||||
value={proxyConfigForm.server_url}
|
value={proxyConfigForm.server_url}
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
fullWidth
|
fullWidth
|
||||||
required
|
required
|
||||||
error={!!errors.server_url}
|
error={!!errors.server_url}
|
||||||
helperText={errors.server_url || `Proxy to be used for all robots. HTTP and SOCKS proxies are supported.
|
helperText={errors.server_url || `Proxy to be used for all robots. HTTP and SOCKS proxies are supported.
|
||||||
Example http://myproxy.com:3128 or socks5://myproxy.com:3128.
|
Example http://myproxy.com:3128 or socks5://myproxy.com:3128.
|
||||||
Short form myproxy.com:3128 is considered an HTTP proxy.`}
|
Short form myproxy.com:3128 is considered an HTTP proxy.`}
|
||||||
/>
|
/>
|
||||||
</FormControl>
|
</FormControl>
|
||||||
<FormControl>
|
<FormControl>
|
||||||
<FormControlLabel
|
<FormControlLabel
|
||||||
control={<Switch checked={requiresAuth} onChange={handleAuthToggle} />}
|
control={<Switch checked={requiresAuth} onChange={handleAuthToggle} />}
|
||||||
label="Requires Authentication?"
|
label="Requires Authentication?"
|
||||||
/>
|
/>
|
||||||
</FormControl>
|
</FormControl>
|
||||||
{requiresAuth && (
|
{requiresAuth && (
|
||||||
<>
|
|
||||||
<FormControl>
|
|
||||||
<TextField
|
|
||||||
label="Username"
|
|
||||||
name="username"
|
|
||||||
value={proxyConfigForm.username}
|
|
||||||
onChange={handleChange}
|
|
||||||
fullWidth
|
|
||||||
required={requiresAuth}
|
|
||||||
error={!!errors.username}
|
|
||||||
helperText={errors.username || ''}
|
|
||||||
/>
|
|
||||||
</FormControl>
|
|
||||||
<FormControl>
|
|
||||||
<TextField
|
|
||||||
label="Password"
|
|
||||||
name="password"
|
|
||||||
value={proxyConfigForm.password}
|
|
||||||
onChange={handleChange}
|
|
||||||
type="password"
|
|
||||||
fullWidth
|
|
||||||
required={requiresAuth}
|
|
||||||
error={!!errors.password}
|
|
||||||
helperText={errors.password || ''}
|
|
||||||
/>
|
|
||||||
</FormControl>
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
<Button
|
|
||||||
variant="contained"
|
|
||||||
color="primary"
|
|
||||||
type="submit"
|
|
||||||
fullWidth
|
|
||||||
disabled={!proxyConfigForm.server_url || (requiresAuth && (!proxyConfigForm.username || !proxyConfigForm.password))}
|
|
||||||
>
|
|
||||||
Add Proxy
|
|
||||||
</Button>
|
|
||||||
</Box>
|
|
||||||
))}
|
|
||||||
{tabIndex === 1 && (
|
|
||||||
<Box sx={{ maxWidth: 600, width: '100%', textAlign: 'center', marginTop: '20px' }}>
|
|
||||||
<>
|
<>
|
||||||
<Typography variant="body1" gutterBottom component="div">
|
<FormControl>
|
||||||
Coming Soon. Join our Cloud Waitlist to get early access.
|
<TextField
|
||||||
</Typography>
|
label="Username"
|
||||||
<Button variant="contained" color="primary" sx={{ marginTop: '20px' }}>
|
name="username"
|
||||||
Join Maxun Cloud Waitlist
|
value={proxyConfigForm.username}
|
||||||
</Button>
|
onChange={handleChange}
|
||||||
|
fullWidth
|
||||||
|
required={requiresAuth}
|
||||||
|
error={!!errors.username}
|
||||||
|
helperText={errors.username || ''}
|
||||||
|
/>
|
||||||
|
</FormControl>
|
||||||
|
<FormControl>
|
||||||
|
<TextField
|
||||||
|
label="Password"
|
||||||
|
name="password"
|
||||||
|
value={proxyConfigForm.password}
|
||||||
|
onChange={handleChange}
|
||||||
|
type="password"
|
||||||
|
fullWidth
|
||||||
|
required={requiresAuth}
|
||||||
|
error={!!errors.password}
|
||||||
|
helperText={errors.password || ''}
|
||||||
|
/>
|
||||||
|
</FormControl>
|
||||||
</>
|
</>
|
||||||
</Box>
|
)}
|
||||||
)}
|
<Button
|
||||||
</FormContainer>
|
variant="contained"
|
||||||
)
|
color="primary"
|
||||||
|
type="submit"
|
||||||
|
fullWidth
|
||||||
|
disabled={!proxyConfigForm.server_url || (requiresAuth && (!proxyConfigForm.username || !proxyConfigForm.password))}
|
||||||
|
>
|
||||||
|
Add Proxy
|
||||||
|
</Button>
|
||||||
|
</Box>
|
||||||
|
))}
|
||||||
|
{tabIndex === 1 && (
|
||||||
|
<Box sx={{ maxWidth: 600, width: '100%', textAlign: 'center', marginTop: '20px' }}>
|
||||||
|
<>
|
||||||
|
<Typography variant="body1" gutterBottom component="div">
|
||||||
|
Coming Soon. Join our Cloud Waitlist to get early access.
|
||||||
|
</Typography>
|
||||||
|
<Button variant="contained" color="primary" sx={{ marginTop: '20px' }}>
|
||||||
|
Join Maxun Cloud Waitlist
|
||||||
|
</Button>
|
||||||
|
</>
|
||||||
|
</Box>
|
||||||
|
)}
|
||||||
|
</FormContainer>
|
||||||
|
)
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user