|
"use client"; |
|
|
|
import React, { useState, ChangeEvent } from "react"; |
|
import { Button, Col, Grid, TextInput } from "@tremor/react"; |
|
import { Card, Text } from "@tremor/react"; |
|
|
|
const EnterProxyUrl: React.FC = () => { |
|
const [proxyUrl, setProxyUrl] = useState<string>(""); |
|
const [isUrlSaved, setIsUrlSaved] = useState<boolean>(false); |
|
|
|
const handleUrlChange = (event: ChangeEvent<HTMLInputElement>) => { |
|
setProxyUrl(event.target.value); |
|
|
|
setIsUrlSaved(false); |
|
}; |
|
|
|
const handleSaveClick = () => { |
|
|
|
|
|
setIsUrlSaved(true); |
|
}; |
|
|
|
|
|
const clickableUrl = `${window.location.href}?proxyBaseUrl=${proxyUrl}`; |
|
|
|
return ( |
|
<div> |
|
<Card decoration="top" decorationColor="blue" style={{ width: '1000px' }}> |
|
<Text>Admin Configuration</Text> |
|
<label htmlFor="proxyUrl">Enter Proxy URL:</label> |
|
<TextInput |
|
type="text" |
|
id="proxyUrl" |
|
value={proxyUrl} |
|
onChange={handleUrlChange} |
|
placeholder="https://your-proxy-endpoint.com" |
|
/> |
|
<Button onClick={handleSaveClick} className="gap-2">Save</Button> |
|
{/* Display message if the URL is saved */} |
|
{isUrlSaved && ( |
|
<div> |
|
<Grid numItems={1} className="gap-2"> |
|
<Col> |
|
<p> |
|
Proxy Admin UI (Save this URL): {clickableUrl} |
|
</p> |
|
</Col> |
|
<Col> |
|
<p> |
|
Get Started with Proxy Admin UI π |
|
<a href={clickableUrl} target="_blank" rel="noopener noreferrer" style={{ color: 'blue', textDecoration: 'underline' }}> |
|
{clickableUrl} |
|
</a> |
|
</p> |
|
</Col> |
|
</Grid> |
|
</div> |
|
)} |
|
</Card> |
|
</div> |
|
); |
|
}; |
|
|
|
export default EnterProxyUrl; |
|
|