refactor: remove order synchronization logic from admin page and streamline order loading
CI/CD / test-and-build (push) Waiting to run
CI/CD / deploy (push) Blocked by required conditions

This commit is contained in:
Najjar\NajjarV02
2026-04-14 10:45:27 +04:00
parent 9a1a562fc6
commit bb3b1f25f2
3 changed files with 17 additions and 37 deletions
+1 -24
View File
@@ -228,8 +228,6 @@ export default function AdminPage() {
const [ordersLoading, setOrdersLoading] = useState(false);
const [ordersError, setOrdersError] = useState('');
const [totalRevenue, setTotalRevenue] = useState(0);
const [syncingOrders, setSyncingOrders] = useState(false);
const [syncMsg, setSyncMsg] = useState('');
const loadOrders = useCallback(async () => {
setOrdersLoading(true);
@@ -248,23 +246,6 @@ export default function AdminPage() {
}
}, []);
const handleSyncOrders = async () => {
setSyncingOrders(true);
setSyncMsg('');
try {
const res = await fetch('/api/admin/sync-orders/', { method: 'POST' });
const data = await res.json();
if (!res.ok) throw new Error(data.error ?? 'Sync failed');
setSyncMsg(`✓ Synced ${data.synced} order(s) from Stripe`);
await loadOrders();
} catch (err) {
setSyncMsg(err instanceof Error ? err.message : 'Sync failed');
} finally {
setSyncingOrders(false);
setTimeout(() => setSyncMsg(''), 4000);
}
};
useEffect(() => {
if (activeTab === 'orders') loadOrders();
}, [activeTab, loadOrders]);
@@ -634,11 +615,7 @@ export default function AdminPage() {
{/* ===== ORDERS TAB ===== */}
{activeTab === 'orders' && (
<div>
<div style={{ display: 'flex', justifyContent: 'flex-end', gap: '0.5rem', marginBottom: '0.75rem', alignItems: 'center', flexWrap: 'wrap' }}>
{syncMsg && <span style={{ fontSize: '0.75rem', color: syncMsg.startsWith('✓') ? '#16a34a' : '#dc2626', marginRight: 'auto' }}>{syncMsg}</span>}
<button onClick={handleSyncOrders} disabled={syncingOrders || ordersLoading} style={{ ...ghostBtnStyle, fontSize: '0.75rem' }} title="Pull all PaymentIntents from Stripe into DB">
{syncingOrders ? 'Syncing…' : '⟳ Sync from Stripe'}
</button>
<div style={{ display: 'flex', justifyContent: 'flex-end', gap: '0.5rem', marginBottom: '0.75rem', alignItems: 'center' }}>
<button onClick={loadOrders} disabled={ordersLoading} style={secondaryBtnStyle}>
{ordersLoading ? 'Loading…' : 'Refresh'}
</button>