leumas-universal-crud-react
Version:
Leumas Universal CRUD to a dynamic Endpoint, Setup your own Dynamic Endpoint and Use Leumas API to send to your MONGO clusters
61 lines (49 loc) • 1.56 kB
JSX
import React from 'react';
function generateSerialCode(strength) {
let length, chars;
switch (strength) {
case 'low':
length = 8;
chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789';
break;
case 'medium':
length = 12;
chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
break;
case 'high':
length = 16;
chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()';
break;
default:
length = 12;
chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
break;
}
let serialCode = '';
for (let i = 0; i < length; i++) {
serialCode += chars.charAt(Math.floor(Math.random() * chars.length));
}
return serialCode;
}
function SerialCodeGenerator({ name, value, onChange }) {
React.useEffect(() => {
if (!value) {
const newSerialCode = generateSerialCode();
onChange({ target: { name, value: newSerialCode } });
}
}, [value, name, onChange]);
return (
<>
<h3>Your Unique Code</h3>
<input
className='rounded-lg p-2 w-full text-black '
type="text"
name={name}
value={value || ''}
onChange={(e) => onChange(e)}
readOnly
/>
</>
);
}
export default SerialCodeGenerator;