From 37787895d56888ab44362252f21fb05c05e97250 Mon Sep 17 00:00:00 2001 From: Navan Chauhan Date: Sun, 27 Apr 2025 22:44:20 -0600 Subject: reorganize --- client/src/SubmitBidPage.jsx | 188 ------------------------------------------- 1 file changed, 188 deletions(-) delete mode 100644 client/src/SubmitBidPage.jsx (limited to 'client/src/SubmitBidPage.jsx') diff --git a/client/src/SubmitBidPage.jsx b/client/src/SubmitBidPage.jsx deleted file mode 100644 index 7737c20..0000000 --- a/client/src/SubmitBidPage.jsx +++ /dev/null @@ -1,188 +0,0 @@ -import React, { useState, useEffect, useContext } from 'react'; -import { Form, InputNumber, DatePicker, Button, Message, Typography, Card } from '@arco-design/web-react'; -import '@arco-design/web-react/dist/css/arco.css'; -import dayjs from 'dayjs'; -import utc from 'dayjs/plugin/utc'; -import timezone from 'dayjs/plugin/timezone'; -import API_BASE_URL from './config'; -import { MarketContext, MARKET_FULL_NAMES } from './App'; - -dayjs.extend(utc); -dayjs.extend(timezone); - -const MARKET_TIMEZONES = { - ISONE: 'America/New_York', - NYISO: 'America/New_York', - MISO: 'America/Chicago' -}; - -function SubmitBidPage() { - const { selectedMarket } = useContext(MarketContext); - const [form] = Form.useForm(); - const [loading, setLoading] = useState(false); - const [localNow, setLocalNow] = useState(''); - const [marketNow, setMarketNow] = useState(''); - - useEffect(() => { - const updateTime = () => { - const now = dayjs(); - const localFormatted = now.format('dddd, MMMM D, h:mm A'); - const marketTz = MARKET_TIMEZONES[selectedMarket] || 'America/New_York'; - const marketTime = now.tz(marketTz); - const marketFormatted = marketTime.format('dddd, MMMM D, h:mm A'); - setLocalNow(localFormatted); - setMarketNow(marketFormatted); - }; - - updateTime(); - const interval = setInterval(updateTime, 1000); - return () => clearInterval(interval); - }, [selectedMarket]); - - const handleSubmit = async (values) => { - setLoading(true); - try { - const picked = dayjs(values.timestamp); - const adjusted = picked.minute(0).second(0).millisecond(0); - - const marketTz = MARKET_TIMEZONES[selectedMarket] || 'America/New_York'; - const timestampInMarketTz = adjusted.tz(marketTz).format(); - - const payload = { - timestamp: timestampInMarketTz, - quantity: values.quantity, - price: values.price, - market: selectedMarket, - user_id: 1 - }; - - const res = await fetch(`${API_BASE_URL}/bids/`, { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify(payload) - }); - - if (!res.ok) { - const error = await res.json(); - throw new Error(error.detail || 'Failed to submit bid'); - } - - Message.success('Bid submitted successfully!'); - form.resetFields(); - } catch (err) { - console.error(err); - Message.error(err.message || 'Submission failed'); - } finally { - setLoading(false); - } - }; - - return ( -
- - Submit New Bid - - - -
- - Current Local Time: {localNow} - - - Current {MARKET_FULL_NAMES[selectedMarket]} Time: {marketNow} - -
- -
- - Array.from({ length: 60 }, (_, i) => i !== 0), - step: { minute: 60 } - }} - style={{ width: '100%' }} - format="YYYY-MM-DD HH:00" - placeholder="Select date and hour" - timezone={MARKET_TIMEZONES[selectedMarket]} - /> - - - 0' } - ]} - > - - - - = 0' } - ]} - > - - - - - - -
-
- - -
- ); -} - -export default SubmitBidPage; -- cgit v1.2.3