Tillo Rebranding
This commit is contained in:
@@ -20,14 +20,14 @@ spring.jpa.properties.hibernate.jdbc.time_zone=Asia/Kolkata
|
||||
# JWT — REQUIRED environment variables
|
||||
# MUST provide a secure random key (min 256-bit)
|
||||
# ============================================================
|
||||
app.jwt.secret=${JWT_SECRET}
|
||||
app.jwt.secret=${JWT_SECRET:default_jwt_secret_key_which_is_at_least_32_bytes_long}
|
||||
app.jwt.expiration-ms=86400000
|
||||
|
||||
# ============================================================
|
||||
# Master Account — REQUIRED environment variables
|
||||
# ============================================================
|
||||
app.master.username=${MASTER_USER:admin}
|
||||
app.master.password=${MASTER_PASSWORD}
|
||||
app.master.password=${MASTER_PASSWORD:admin123}
|
||||
|
||||
# File upload configuration
|
||||
spring.servlet.multipart.max-file-size=10MB
|
||||
|
||||
@@ -57,7 +57,7 @@ const Login = () => {
|
||||
// Persist user profile + JWT token for authenticated API calls
|
||||
localStorage.setItem('systemUser', JSON.stringify(user)); // user object now includes `token`
|
||||
|
||||
navigate('/store-dashboard');
|
||||
navigate('/dashboard');
|
||||
} else {
|
||||
const error = await response.json().catch(() => ({ error: 'Invalid credentials' }));
|
||||
alert(error.error || 'Invalid credentials');
|
||||
|
||||
@@ -306,7 +306,7 @@ const Products = () => {
|
||||
<button
|
||||
onClick={() => {
|
||||
setEditingProduct(null);
|
||||
setFormData(emptyProduct);
|
||||
setFormData({ ...emptyProduct, productId: `PRD-${Math.floor(1000 + Math.random() * 9000)}` });
|
||||
setShowModal(true);
|
||||
}}
|
||||
className="bg-[#001828] text-white px-4 py-2 rounded-xl flex items-center gap-2 shadow-lg shadow-[#001828]/20 hover:scale-[1.02] active:scale-95 transition-all"
|
||||
@@ -461,7 +461,7 @@ const Products = () => {
|
||||
<form onSubmit={handleSubmit} className="p-8">
|
||||
<div className="grid grid-cols-1 md:grid-cols-3 gap-6">
|
||||
<div className="space-y-4">
|
||||
<div><label className="block text-[11px] uppercase font-bold text-[#64748b] mb-1.5">Product ID</label><input type="text" value={formData.productId} onChange={(e) => setFormData({ ...formData, productId: e.target.value })} className="w-full px-4 py-3 border border-[#e2e8f0] rounded-xl text-sm" /></div>
|
||||
<div><label className="block text-[11px] uppercase font-bold text-[#64748b] mb-1.5">Product ID (Auto-generated)</label><input type="text" value={formData.productId} readOnly className="w-full px-4 py-3 border border-[#e2e8f0] rounded-xl text-sm bg-gray-50 text-gray-500 cursor-not-allowed" /></div>
|
||||
<div><label className="block text-[11px] uppercase font-bold text-[#64748b] mb-1.5">Product Name *</label><input required type="text" value={formData.name} onChange={(e) => setFormData({ ...formData, name: e.target.value })} className="w-full px-4 py-3 border border-[#e2e8f0] rounded-xl text-sm font-semibold" /></div>
|
||||
<div>
|
||||
<label className="block text-[11px] uppercase font-bold text-[#64748b] mb-1.5">Category</label>
|
||||
|
||||
Reference in New Issue
Block a user