ocr / src /components /ERPCredentials.jsx
ariansyahdedy's picture
Initial commit with clean Git repository
4fb0c68
import React, { useState } from 'react';
import Sidebar from './OCRSidebar';
function Credentials({ onSave }) {
const [credentials, setCredentials] = useState({
sapUrl: '',
clientId: '',
clientSecret: '',
username: '',
password: '',
companyCode: '',
apiKey: ''
});
const handleChange = (e) => {
const { name, value } = e.target;
setCredentials({ ...credentials, [name]: value });
};
const handleSubmit = (e) => {
e.preventDefault();
onSave(credentials);
};
return (
<div className="min-h-screen bg-gray-100 flex">
<Sidebar />
<div className="flex-1 p-6">
<div className="bg-white p-6 rounded-lg shadow-lg w-full max-w-4xl mx-auto">
<h2 className="text-xl font-semibold text-gray-700 mb-4">Manage Credentials</h2>
<form onSubmit={handleSubmit}>
<div className="mb-4">
<label className="block text-gray-700 text-sm font-bold mb-2">SAP System URL</label>
<input
type="text"
name="sapUrl"
value={credentials.sapUrl}
onChange={handleChange}
className="w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-600"
/>
</div>
<div className="mb-4">
<label className="block text-gray-700 text-sm font-bold mb-2">Client ID</label>
<input
type="text"
name="clientId"
value={credentials.clientId}
onChange={handleChange}
className="w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-600"
/>
</div>
<div className="mb-4">
<label className="block text-gray-700 text-sm font-bold mb-2">Client Secret</label>
<input
type="text"
name="clientSecret"
value={credentials.clientSecret}
onChange={handleChange}
className="w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-600"
/>
</div>
<div className="mb-4">
<label className="block text-gray-700 text-sm font-bold mb-2">Username</label>
<input
type="text"
name="username"
value={credentials.username}
onChange={handleChange}
className="w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-600"
/>
</div>
<div className="mb-4">
<label className="block text-gray-700 text-sm font-bold mb-2">Password</label>
<input
type="password"
name="password"
value={credentials.password}
onChange={handleChange}
className="w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-600"
/>
</div>
<div className="mb-4">
<label className="block text-gray-700 text-sm font-bold mb-2">Company Code</label>
<input
type="text"
name="companyCode"
value={credentials.companyCode}
onChange={handleChange}
className="w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-600"
/>
</div>
<div className="mb-4">
<label className="block text-gray-700 text-sm font-bold mb-2">API Key (Optional)</label>
<input
type="text"
name="apiKey"
value={credentials.apiKey}
onChange={handleChange}
className="w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-600"
/>
</div>
<button type="submit" className="w-full bg-blue-500 text-white py-2 rounded-lg hover:bg-blue-600 transition duration-200">
Save Credentials
</button>
</form>
</div>
</div>
</div>
);
}
export default Credentials;