From fac9a00dab18bb9a950fef1ed183044759a96db9 Mon Sep 17 00:00:00 2001 From: novice1993 Date: Thu, 28 Sep 2023 17:42:31 +0900 Subject: [PATCH] =?UTF-8?q?[Remove]=20=EB=B6=88=ED=95=84=EC=9A=94=ED=95=9C?= =?UTF-8?q?=20=ED=8C=8C=EC=9D=BC=20=EC=A0=9C=EA=B1=B0=20=EB=B0=8F=20?= =?UTF-8?q?=EB=94=94=EB=A0=89=ED=86=A0=EB=A6=AC=EB=AA=85=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 사용 안하는 불필요한 파일 제거 및 디렉토리명 통일 Issues #122 --- .../asset/CentralSectionMenu-BookmarkOff.png | Bin 1146 -> 0 bytes .../CentralSectionMenu-BookmarkOn.png.png | Bin 1192 -> 0 bytes .../src/asset/CentralSectionMenu-dummyImg.png | Bin 4955 -> 0 bytes .../asset/CompareChartSection-SearchIcon.png | Bin 11318 -> 0 bytes client/src/asset/{images => icon}/Alarm.png | Bin .../CentralSectionMenu-compareChart.png | Bin .../asset/{images => icon}/StockHolmImage.png | Bin client/src/asset/{images => icon}/menu.png | Bin client/src/asset/images/ProfileSample.png | Bin 10999 -> 0 bytes .../asset/{images => logos}/GoogleLogo.svg | 0 .../src/asset/{images => logos}/KakaoLogo.svg | 0 .../asset/{images => logos}/StockHolmLogo.png | Bin .../CentralChart/CompareChartBtn.tsx | 2 +- .../components/CentralChart/CompareList.tsx | 2 +- .../CentralChartMenu/ExpandScreenBtn.tsx | 2 +- .../CentralChartMenu/StockOrderBtn.tsx | 4 +- client/src/components/EntireList/Header.tsx | 4 +- .../src/components/EntireList/StockItem.tsx | 4 +- client/src/components/Headers/LoginHeader.tsx | 2 +- .../src/components/Headers/LogoutHeader.tsx | 2 +- .../Headers/stockSearchComponent.tsx | 34 +++++----- client/src/components/HoldingList/Header.tsx | 4 +- .../src/components/HoldingList/StockItem.tsx | 4 +- .../components/Logins/GoogleLoginButton.tsx | 16 ++--- .../components/Logins/KakaoLoginButton.tsx | 15 ++--- .../Logins/LoginConfirmatationModal.tsx | 4 +- .../MarketComponents/MarketStockList.tsx | 62 ++++-------------- .../src/components/Profile/profileModal.tsx | 6 +- client/src/components/Signups/Welcome.tsx | 18 ++--- .../components/StockOrderSection/Index.tsx | 2 +- .../StockOrderSection/OrderDecisionBtn.tsx | 4 +- .../StockOrderSection/PriceSetting.tsx | 2 +- .../StockOrderSection/StockOrder.tsx | 4 +- .../StockOrderSection/StockOrderSetting.tsx | 2 +- .../StockOrderSection/StockPrice.tsx | 2 +- .../StockOrderSection/VolumeSetteing.tsx | 2 +- .../components/stockinfoComponents/index.tsx | 2 +- client/src/components/watchlist/Header.tsx | 4 +- client/src/components/watchlist/StockItem.tsx | 4 +- .../watchlist/StockSearchComponent.tsx | 45 ++++++------- client/src/page/TabPages/MarketInfoPage.tsx | 2 +- client/src/reducer/LeftStockList-Reducer.ts | 17 ----- client/src/reducer/starSlice.ts | 0 client/src/store/config.ts | 18 +++-- 44 files changed, 111 insertions(+), 184 deletions(-) delete mode 100644 client/src/asset/CentralSectionMenu-BookmarkOff.png delete mode 100644 client/src/asset/CentralSectionMenu-BookmarkOn.png.png delete mode 100644 client/src/asset/CentralSectionMenu-dummyImg.png delete mode 100644 client/src/asset/CompareChartSection-SearchIcon.png rename client/src/asset/{images => icon}/Alarm.png (100%) rename client/src/asset/{ => icon}/CentralSectionMenu-compareChart.png (100%) rename client/src/asset/{images => icon}/StockHolmImage.png (100%) rename client/src/asset/{images => icon}/menu.png (100%) delete mode 100644 client/src/asset/images/ProfileSample.png rename client/src/asset/{images => logos}/GoogleLogo.svg (100%) rename client/src/asset/{images => logos}/KakaoLogo.svg (100%) rename client/src/asset/{images => logos}/StockHolmLogo.png (100%) delete mode 100644 client/src/reducer/LeftStockList-Reducer.ts delete mode 100644 client/src/reducer/starSlice.ts diff --git a/client/src/asset/CentralSectionMenu-BookmarkOff.png b/client/src/asset/CentralSectionMenu-BookmarkOff.png deleted file mode 100644 index 1f3bec98b0b51da7dd7dc28706798c4e52164eef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1146 zcmV-=1cm#FP)K~#7F)mKYM zRa+Qdd+&3OdPF_G5V>-Epo8nRE2x8WFIRDL2W4Ut!{{*#Y+8++NJSDvrwAuKhE39m zNYKzhLa7 zAQ0&6?d{F4tgJMeo100w?llyiLNGf!dmaQz9k+7o>gt-Nr>CFM1xT29F1)~N2+k$m z$j{Heh`|5}eQ0P%>+bIM#2{q?oP3Rm_x*nVzXJmU$A|>&H#s?JSA|Fst^`ypX(U0y zb-Aq#hr`EtFTJm?&mL8Iif@oP^l)r!ER>#}9`gBorG{aIaVy8NtTGTd2@ixtaktAk>3O>1l6omrTYw zL;xASBaRT|<>k4g7$hu^AOf}*;yD28Z;B(r_V)H|@u}nu&XKs`hMMH&=Dw(@sX-X^ z|HMzk#>Pgpwzl?;V2j0P_kZaD)UT+js_Hp7IJhN#5@NB~-KM6ds9=jrN=hW_lIotb z3N*xr%E&)HK7KYkJNv%)0nE?OUu|h=d5Vm;Ha9mv;1-F=qs8(?4hSfxsoB=n_GEE! z@f4Mp@CbSbrF;g;`?j{WBtlAx%(AjFv%bFGWW|TeP+hYZh?p@kF>xs?E9-{vfVH)? zdkqZ@QC9T9A+~Z5v@KV?Ah8olE)kn;W@hF;!Xwhs(*B@*5JF|SQf?C<#m+{Q>@<|z zt!VKv;Sm`b84=opTwhpNDAC{~E01?WCz758bfh8?!)~qjYe4%h>Fn&xM)}E=l@*H( zN~+wI04+u@_iVjFM@L6Q%@Im+x$A-CMnHoljmaKRmMnk6%c(CND3~CQw{l zEJj8~;-_lL1U`98{GE7ze}Df~e}DgpNF?$I@_2A?@H9S5pC+!ur`lg+#M07|UR_-+ zP+6`{&|C;;NS;MZbLbk!@tdissmrMC*C}DE|EZyNZg6 zKQVpJqADRZ4-i{y(o6H*-Q5Sk|4{ytHbHiq1qB7~p~oPlp6qG9YOXKjNxL={Q_y^z$=X6GQ?A`CVmzXK1X%$D0RGQhvTx zXL?+SG_SYUBKZP5S46)HnuACxe?QK@q(q`Wgp@bn64o4F#lJQ_0^hR3-RzMSU;qFB M07*qoM6N<$f-yM|L;wH) diff --git a/client/src/asset/CentralSectionMenu-BookmarkOn.png.png b/client/src/asset/CentralSectionMenu-BookmarkOn.png.png deleted file mode 100644 index af97fcf38f70378a973b320d8b7e8673b94e9325..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1192 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 diff --git a/client/src/asset/CompareChartSection-SearchIcon.png b/client/src/asset/CompareChartSection-SearchIcon.png deleted file mode 100644 index 8e3e2eed93212b1284164bff66363706c8159733..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11318 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 P2L{iT)D>&wEyMo@BUtdM diff --git a/client/src/asset/images/Alarm.png b/client/src/asset/icon/Alarm.png similarity index 100% rename from client/src/asset/images/Alarm.png rename to client/src/asset/icon/Alarm.png diff --git a/client/src/asset/CentralSectionMenu-compareChart.png b/client/src/asset/icon/CentralSectionMenu-compareChart.png similarity index 100% rename from client/src/asset/CentralSectionMenu-compareChart.png rename to client/src/asset/icon/CentralSectionMenu-compareChart.png diff --git a/client/src/asset/images/StockHolmImage.png b/client/src/asset/icon/StockHolmImage.png similarity index 100% rename from client/src/asset/images/StockHolmImage.png rename to client/src/asset/icon/StockHolmImage.png diff --git a/client/src/asset/images/menu.png b/client/src/asset/icon/menu.png similarity index 100% rename from client/src/asset/images/menu.png rename to client/src/asset/icon/menu.png diff --git a/client/src/asset/images/ProfileSample.png b/client/src/asset/images/ProfileSample.png deleted file mode 100644 index 782bf0617baf90dfdfbf0605636cbcab7ebae536..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10999 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 { diff --git a/client/src/components/CentralChartMenu/StockOrderBtn.tsx b/client/src/components/CentralChartMenu/StockOrderBtn.tsx index 287e664e..60fdde9a 100644 --- a/client/src/components/CentralChartMenu/StockOrderBtn.tsx +++ b/client/src/components/CentralChartMenu/StockOrderBtn.tsx @@ -1,7 +1,7 @@ import { useDispatch } from "react-redux"; import { styled } from "styled-components"; -import { stockOrderOpen } from "../../reducer/StockOrderSet-Reducer"; -import { orderTypeBuying, orderTypeSelling } from "../../reducer/StockOrderType-Reducer"; +import { stockOrderOpen } from "../../reducer/stockOrderSet-Reducer"; +import { orderTypeBuying, orderTypeSelling } from "../../reducer/stockOrderType-Reducer"; const StockOrderBtn = (props: OwnProps) => { const { type } = props; diff --git a/client/src/components/EntireList/Header.tsx b/client/src/components/EntireList/Header.tsx index b542631e..a503440b 100644 --- a/client/src/components/EntireList/Header.tsx +++ b/client/src/components/EntireList/Header.tsx @@ -1,6 +1,6 @@ import React from "react"; import styled from "styled-components"; -import Menu_icon from "../../asset/images/menu.png"; +import Menu_icon from "../../asset/icon/menu.png"; const ALL_LIST = "전체종목"; const INTEREST_LIST = "관심종목"; @@ -76,7 +76,7 @@ const HeaderText = styled.span` `; const SlideMenu = styled.div` - z-index:30; + z-index: 30; position: absolute; top: 100%; left: 0; diff --git a/client/src/components/EntireList/StockItem.tsx b/client/src/components/EntireList/StockItem.tsx index 24567e49..68c75762 100644 --- a/client/src/components/EntireList/StockItem.tsx +++ b/client/src/components/EntireList/StockItem.tsx @@ -2,9 +2,9 @@ import React, { useState } from "react"; import styled from "styled-components"; import { useDispatch } from "react-redux"; -import { changeCompanyId } from "../../reducer/CompanyId-Reducer"; +import { changeCompanyId } from "../../reducer/companyId-Reducer"; -import logo from "../../asset/images/StockHolmImage.png"; +import logo from "../../asset/icon/StockHolmImage.png"; import star_icon from "../../asset/icon/star_icon.png"; import star_filled_icon from "../../asset/icon/star_filled_icon.png"; diff --git a/client/src/components/Headers/LoginHeader.tsx b/client/src/components/Headers/LoginHeader.tsx index ecf17c7e..39cf20f1 100644 --- a/client/src/components/Headers/LoginHeader.tsx +++ b/client/src/components/Headers/LoginHeader.tsx @@ -1,6 +1,6 @@ import React, { useEffect, useState } from "react"; import styled from "styled-components"; -import StockHolmLogo from "../../asset/images/StockHolmLogo.png"; +import StockHolmLogo from "../../asset/logos/StockHolmLogo.png"; // import SampleProfile from "../../asset/images/ProfileSample.png"; import ProfileModal from "../Profile/ProfileModal"; import StockSearchComponent from "./StockSearchComponent"; diff --git a/client/src/components/Headers/LogoutHeader.tsx b/client/src/components/Headers/LogoutHeader.tsx index 6b27acfb..63f61122 100644 --- a/client/src/components/Headers/LogoutHeader.tsx +++ b/client/src/components/Headers/LogoutHeader.tsx @@ -1,6 +1,6 @@ import React from "react"; import styled from "styled-components"; -import StockHolmLogo from "../../asset/images/StockHolmLogo.png"; +import StockHolmLogo from "../../asset/logos/StockHolmLogo.png"; import StockSearchComponent from "./StockSearchComponent"; diff --git a/client/src/components/Headers/stockSearchComponent.tsx b/client/src/components/Headers/stockSearchComponent.tsx index 50152972..9738f5f8 100644 --- a/client/src/components/Headers/stockSearchComponent.tsx +++ b/client/src/components/Headers/stockSearchComponent.tsx @@ -2,7 +2,7 @@ import React, { useState } from "react"; import { useDispatch } from "react-redux"; import styled from "styled-components"; import { toast } from "react-toastify"; -import { changeCompanyId } from "../../reducer/CompanyId-Reducer"; +import { changeCompanyId } from "../../reducer/companyId-Reducer"; import useGetCompanyList from "../../hooks/useGetCompanyList"; const stockSearch = "종목 검색"; @@ -27,41 +27,41 @@ const StockSearchComponent: React.FC = () => { const handleSearchCompany = () => { let searchResult: string = noExistCompany; - + if (searchWord === "") { return; } - + // 영어 -> 한글 변환 const translateToKorean = (word: string) => { const translations: { [key: string]: string } = { samsung: "삼성전자", eco: "에코프로", ecopro: "에코프로", - ecoprobm:"에코프로비엠", - ecoprob:"에코프로비엠", - posco:"POSCO홀딩스", + ecoprobm: "에코프로비엠", + ecoprob: "에코프로비엠", + posco: "POSCO홀딩스", kia: "기아", hyundai: "현대차", - hyundaicar:"현대차", + hyundaicar: "현대차", dy: "디와이", kuckoo: "쿠쿠홀딩스", - kuckooholdings:"쿠쿠홀딩스", - hansemk:"한세엠케이", + kuckooholdings: "쿠쿠홀딩스", + hansemk: "한세엠케이", hanse: "한세엠케이", - lgchemical:"LG화학", - lgelectronic:"LG화학", + lgchemical: "LG화학", + lgelectronic: "LG화학", lgchem: "LG화학", lgelec: "LG전자", - celltrion:"셀트리온", + celltrion: "셀트리온", cell: "셀트리온", - kakaobank:"카카오뱅크", + kakaobank: "카카오뱅크", kakao: "카카오뱅크", // 추가적인 회사 이름을 여기에 추가할 수 있습니다. }; return translations[word.toLowerCase()] || word; }; - + const translateToEnglish = (word: string) => { const translations: { [key: string]: string } = { 엘지화학: "LG화학", @@ -73,10 +73,10 @@ const StockSearchComponent: React.FC = () => { }; return translations[word] || word; }; - + let translatedWord = translateToKorean(searchWord); translatedWord = translateToEnglish(translatedWord); // 이 부분이 추가되었습니다. - + companyList.forEach((company: CompanyProps) => { // 부분 문자열 검색 if (company.korName.includes(translatedWord)) { @@ -84,7 +84,7 @@ const StockSearchComponent: React.FC = () => { dispatch(changeCompanyId(company.companyId)); } }); - + if (searchResult === noExistCompany) { toast.error("존재하지 않는 종목입니다", { style: toastStyle, diff --git a/client/src/components/HoldingList/Header.tsx b/client/src/components/HoldingList/Header.tsx index 0e60be2e..1c6bb986 100644 --- a/client/src/components/HoldingList/Header.tsx +++ b/client/src/components/HoldingList/Header.tsx @@ -1,6 +1,6 @@ import React from "react"; import styled from "styled-components"; -import Menu_icon from "../../asset/images/menu.png"; +import Menu_icon from "../../asset/icon/menu.png"; const ALL_LIST = "전체종목"; const INTEREST_LIST = "관심종목"; @@ -73,7 +73,7 @@ const HeaderText = styled.span` `; const SlideMenu = styled.div` - z-index:30; + z-index: 30; position: absolute; top: 100%; left: 0; diff --git a/client/src/components/HoldingList/StockItem.tsx b/client/src/components/HoldingList/StockItem.tsx index b15c10b5..9efa2c63 100644 --- a/client/src/components/HoldingList/StockItem.tsx +++ b/client/src/components/HoldingList/StockItem.tsx @@ -1,8 +1,8 @@ import React, { useState } from "react"; import styled from "styled-components"; -import logo from "../../asset/images/StockHolmImage.png"; +import logo from "../../asset/icon/StockHolmImage.png"; import { useDispatch } from "react-redux"; -import { changeCompanyId } from "../../reducer/CompanyId-Reducer"; +import { changeCompanyId } from "../../reducer/companyId-Reducer"; import star_icon from "../../asset/icon/star_icon.png"; import star_filled_icon from "../../asset/icon/star_filled_icon.png"; diff --git a/client/src/components/Logins/GoogleLoginButton.tsx b/client/src/components/Logins/GoogleLoginButton.tsx index 7ac0df58..17cdeb7e 100644 --- a/client/src/components/Logins/GoogleLoginButton.tsx +++ b/client/src/components/Logins/GoogleLoginButton.tsx @@ -1,9 +1,8 @@ -import React from 'react'; -import styled from 'styled-components'; -import googleLogo from '../../asset/images/GoogleLogo.svg'; +import React from "react"; +import styled from "styled-components"; +import googleLogo from "../../asset/logos/GoogleLogo.svg"; const GoogleLoginButton: React.FC = ({ backendURL }) => { - const buttonText = "구글로 로그인"; const handleLoginClick = () => { @@ -16,7 +15,7 @@ const GoogleLoginButton: React.FC = ({ backendURL }) => { {buttonText} ); -} +}; export default GoogleLoginButton; @@ -28,7 +27,7 @@ interface Props { const GoogleButton = styled.button` margin: 10px 0; padding: 10px 20px; - background-color: #FFFFFF; + background-color: #ffffff; border: 1px solid lightgray; border-radius: 5px; cursor: pointer; @@ -37,9 +36,8 @@ const GoogleButton = styled.button` align-items: center; justify-content: center; - &:hover { - background-color: #f2f2f2; // Light gray color on hover + background-color: #f2f2f2; // Light gray color on hover } `; @@ -49,5 +47,3 @@ const LogoImage = styled.img` width: 60px; height: auto; `; - - diff --git a/client/src/components/Logins/KakaoLoginButton.tsx b/client/src/components/Logins/KakaoLoginButton.tsx index bbbdaaa8..fdf59c70 100644 --- a/client/src/components/Logins/KakaoLoginButton.tsx +++ b/client/src/components/Logins/KakaoLoginButton.tsx @@ -1,9 +1,8 @@ -import React from 'react'; -import styled from 'styled-components'; -import kakaoLogo from '../../asset/images/KakaoLogo.svg'; +import React from "react"; +import styled from "styled-components"; +import kakaoLogo from "../../asset/logos/KakaoLogo.svg"; const KakaoLoginButton: React.FC = ({ backendURL }) => { - const buttonText = "카카오로 로그인"; // 버튼 클릭시 로그인 페이지로 리다이렉트 @@ -17,7 +16,7 @@ const KakaoLoginButton: React.FC = ({ backendURL }) => { {buttonText} ); -} +}; export default KakaoLoginButton; @@ -30,7 +29,7 @@ interface Props { const KakaoButton = styled.button` margin: 10px 0; padding: 10px 20px; - background-color: #FFFFFF; + background-color: #ffffff; border: 1px solid lightgray; border-radius: 5px; cursor: pointer; @@ -40,7 +39,7 @@ const KakaoButton = styled.button` justify-content: center; &:hover { - background-color: #f2f2f2; // 호버 시 밝은 회색 배경 적용 + background-color: #f2f2f2; // 호버 시 밝은 회색 배경 적용 } `; @@ -50,5 +49,3 @@ const LogoImage = styled.img` width: 60px; height: auto; `; - - diff --git a/client/src/components/Logins/LoginConfirmatationModal.tsx b/client/src/components/Logins/LoginConfirmatationModal.tsx index 2c2be20d..517ba841 100644 --- a/client/src/components/Logins/LoginConfirmatationModal.tsx +++ b/client/src/components/Logins/LoginConfirmatationModal.tsx @@ -1,13 +1,13 @@ import React from "react"; import styled from "styled-components"; -import StockHolmLogo from "../../asset/images/StockHolmLogo.png"; +import StockHolmLogo from "../../asset/logos/StockHolmLogo.png"; const LoginConfirmationModal: React.FC = ({ onClose }) => { const messageText = "로그인이 성공적으로 완료되었습니다!"; const confirmText = "확인"; const handleKeyDown = (event: React.KeyboardEvent) => { - if (event.key === 'Enter') { + if (event.key === "Enter") { onClose(); } }; diff --git a/client/src/components/MarketComponents/MarketStockList.tsx b/client/src/components/MarketComponents/MarketStockList.tsx index 2900dc40..c07d65f2 100644 --- a/client/src/components/MarketComponents/MarketStockList.tsx +++ b/client/src/components/MarketComponents/MarketStockList.tsx @@ -2,8 +2,8 @@ import axios from "axios"; import { useState, useEffect } from "react"; import styled from "styled-components"; import { useDispatch } from "react-redux"; -import { changeCompanyId } from "../../reducer/CompanyId-Reducer"; -import logo from "../../asset/images/StockHolmImage.png"; +import { changeCompanyId } from "../../reducer/companyId-Reducer"; +import logo from "../../asset/icon/StockHolmImage.png"; import kia from "../../asset/logos/기아.svg"; import dy from "../../asset/logos/디와이.jpeg"; @@ -29,8 +29,7 @@ interface StockInfo { }; code: string; } -const MarketServerUrl = - "http://ec2-13-125-246-160.ap-northeast-2.compute.amazonaws.com:8080/companies"; +const MarketServerUrl = "http://ec2-13-125-246-160.ap-northeast-2.compute.amazonaws.com:8080/companies"; const MarketStockList: React.FC = () => { const [marketStockList, setMarketStockList] = useState([]); @@ -82,33 +81,21 @@ const MarketStockList: React.FC = () => { const SortPrice = () => { const sortedList = [...marketStockList]; - sortedList.sort( - (a, b) => - parseFloat(b.stockInfResponseDto.stck_prpr) - - parseFloat(a.stockInfResponseDto.stck_prpr) - ); + sortedList.sort((a, b) => parseFloat(b.stockInfResponseDto.stck_prpr) - parseFloat(a.stockInfResponseDto.stck_prpr)); setMarketStockList(sortedList); setSelectedSort("price"); }; const SortRate = () => { const sortedList = [...marketStockList]; - sortedList.sort( - (a, b) => - parseFloat(b.stockInfResponseDto.prdy_ctrt) - - parseFloat(a.stockInfResponseDto.prdy_ctrt) - ); + sortedList.sort((a, b) => parseFloat(b.stockInfResponseDto.prdy_ctrt) - parseFloat(a.stockInfResponseDto.prdy_ctrt)); setMarketStockList(sortedList); setSelectedSort("rate"); }; const SortTrade = () => { const sortedList = [...marketStockList]; - sortedList.sort( - (a, b) => - parseFloat(b.stockInfResponseDto.acml_vol) - - parseFloat(a.stockInfResponseDto.acml_vol) - ); + sortedList.sort((a, b) => parseFloat(b.stockInfResponseDto.acml_vol) - parseFloat(a.stockInfResponseDto.acml_vol)); setMarketStockList(sortedList); setSelectedSort("trade"); }; @@ -121,19 +108,13 @@ const MarketStockList: React.FC = () => { {MarketStockLists.stockName} - + {MarketStockLists.stockPrice} {MarketStockLists.stockRate} - + {MarketStockLists.stockTrade} @@ -151,9 +132,7 @@ const MarketStockList: React.FC = () => { return (
- dispatch(changeCompanyId(el.companyId))} - > + dispatch(changeCompanyId(el.companyId))}> {isLoading === true ? (
{MarketStockLists.isLoading}
) : ( @@ -166,28 +145,11 @@ const MarketStockList: React.FC = () => { - - {numberWithCommas( - parseFloat(el.stockInfResponseDto.stck_prpr) - )} - - 0 - ? "positive" - : parseFloat(el.stockInfResponseDto.prdy_ctrt) < 0 - ? "negative" - : "neutral" - } - > + {numberWithCommas(parseFloat(el.stockInfResponseDto.stck_prpr))} + 0 ? "positive" : parseFloat(el.stockInfResponseDto.prdy_ctrt) < 0 ? "negative" : "neutral"}> {el.stockInfResponseDto.prdy_ctrt} - - {numberWithCommas( - parseFloat(el.stockInfResponseDto.acml_vol) - )} - + {numberWithCommas(parseFloat(el.stockInfResponseDto.acml_vol))} diff --git a/client/src/components/Profile/profileModal.tsx b/client/src/components/Profile/profileModal.tsx index 7921becc..2a32fb66 100644 --- a/client/src/components/Profile/profileModal.tsx +++ b/client/src/components/Profile/profileModal.tsx @@ -1,8 +1,8 @@ import React, { useState, useCallback } from 'react'; import styled from 'styled-components'; -import MemberInfoModal from './memberInfoModal'; -import MemberWithdrawalModal from './memberWithdrawalModal'; -import CashModal from './cashModal'; +import MemberInfoModal from './MemberInfoModal'; +import MemberWithdrawalModal from './MemberWithdrawalModal'; +import CashModal from './CashModal'; const ProfileModal: React.FC = ({ onClose }) => { const memberInfoText = "회원정보"; diff --git a/client/src/components/Signups/Welcome.tsx b/client/src/components/Signups/Welcome.tsx index a6208042..041813ba 100644 --- a/client/src/components/Signups/Welcome.tsx +++ b/client/src/components/Signups/Welcome.tsx @@ -1,7 +1,7 @@ import React from "react"; import styled from "styled-components"; import { useSelector } from "react-redux"; -import StockHolmLogo from "../../asset/images/StockHolmLogo.png"; +import StockHolmLogo from "../../asset/logos/StockHolmLogo.png"; // Constants for the text strings const WELCOME_TEXT = "환영합니다, "; @@ -9,12 +9,11 @@ const START_TEXT = "시작하기"; const JOINED_DATE_TEXT = "가입일: "; const Welcome: React.FC = ({ onClose }) => { - //스토어에서 유저정보 불러오기 const memberInfo = useSelector((state: RootState) => state.memberInfo.memberInfo); // 엔터키를 눌렀을 때의 핸들러 const handleKeyPress = (event: React.KeyboardEvent) => { - if (event.key === 'Enter') { + if (event.key === "Enter") { onClose(); } }; @@ -22,17 +21,14 @@ const Welcome: React.FC = ({ onClose }) => { const formatDate = (dateString: string) => { const date = new Date(dateString); const year = date.getFullYear(); - const month = String(date.getMonth() + 1).padStart(2, '0'); // 월은 0부터 시작하므로 1을 더함 - const day = String(date.getDate()).padStart(2, '0'); - const hours = String(date.getHours()).padStart(2, '0'); - const minutes = String(date.getMinutes()).padStart(2, '0'); - + const month = String(date.getMonth() + 1).padStart(2, "0"); // 월은 0부터 시작하므로 1을 더함 + const day = String(date.getDate()).padStart(2, "0"); + const hours = String(date.getHours()).padStart(2, "0"); + const minutes = String(date.getMinutes()).padStart(2, "0"); + return `${year}년 ${month}월 ${day}일 ${hours}:${minutes}`; }; - - - return ( diff --git a/client/src/components/StockOrderSection/Index.tsx b/client/src/components/StockOrderSection/Index.tsx index 09dbed81..cc563d75 100644 --- a/client/src/components/StockOrderSection/Index.tsx +++ b/client/src/components/StockOrderSection/Index.tsx @@ -6,7 +6,7 @@ import useGetCash from "../../hooks/useGetCash"; import useGetStockOrderRecord from "../../hooks/useGetStockOrderRecord"; import useGetHoldingStock from "../../hooks/useGetHoldingStock"; import useGetCompanyList from "../../hooks/useGetCompanyList"; -import { stockOrderClose } from "../../reducer/StockOrderSet-Reducer"; +import { stockOrderClose } from "../../reducer/stockOrderSet-Reducer"; import { StateProps } from "../../models/stateProps"; import { dummyLogo } from "../../dummy/dummyLogo"; import StockOrder from "./StockOrder"; diff --git a/client/src/components/StockOrderSection/OrderDecisionBtn.tsx b/client/src/components/StockOrderSection/OrderDecisionBtn.tsx index 9474a28e..fd99a706 100644 --- a/client/src/components/StockOrderSection/OrderDecisionBtn.tsx +++ b/client/src/components/StockOrderSection/OrderDecisionBtn.tsx @@ -4,8 +4,8 @@ import { styled } from "styled-components"; import useGetCash from "../../hooks/useGetCash"; import { StateProps } from "../../models/stateProps"; import { OrderTypeProps } from "../../models/orderTypeProps"; -import { setStockOrderVolume } from "../../reducer/StockOrderVolume-Reducer"; -import { openDecisionWindow } from "../../reducer/SetDecisionWindow-Reducer"; +import { setStockOrderVolume } from "../../reducer/stockOrderVolume-Reducer"; +import { openDecisionWindow } from "../../reducer/setDecisionWindow-Reducer"; const availableMoneyText01: string = "최대"; const availableMoneyText02: string = "원"; diff --git a/client/src/components/StockOrderSection/PriceSetting.tsx b/client/src/components/StockOrderSection/PriceSetting.tsx index fe9a3f1e..d99423e3 100644 --- a/client/src/components/StockOrderSection/PriceSetting.tsx +++ b/client/src/components/StockOrderSection/PriceSetting.tsx @@ -1,7 +1,7 @@ import { useState, useEffect } from "react"; import { useSelector, useDispatch } from "react-redux"; import { styled } from "styled-components"; -import { setStockOrderPrice, plusStockOrderPrice, minusStockOrderPrice } from "../../reducer/StockOrderPrice-Reducer"; +import { setStockOrderPrice, plusStockOrderPrice, minusStockOrderPrice } from "../../reducer/stockOrderPrice-Reducer"; import { StateProps } from "../../models/stateProps"; import { StockInfoProps } from "../../models/stockInfoProps"; diff --git a/client/src/components/StockOrderSection/StockOrder.tsx b/client/src/components/StockOrderSection/StockOrder.tsx index 86765034..b729b58e 100644 --- a/client/src/components/StockOrderSection/StockOrder.tsx +++ b/client/src/components/StockOrderSection/StockOrder.tsx @@ -1,7 +1,7 @@ import { useSelector, useDispatch } from "react-redux"; import { isHoliday } from "@hyunbinseo/holidays-kr"; -import { setStockOrderVolume } from "../../reducer/StockOrderVolume-Reducer"; -import { closeDecisionWindow } from "../../reducer/SetDecisionWindow-Reducer"; +import { setStockOrderVolume } from "../../reducer/stockOrderVolume-Reducer"; +import { closeDecisionWindow } from "../../reducer/setDecisionWindow-Reducer"; import { styled } from "styled-components"; import { toast } from "react-toastify"; import { StateProps } from "../../models/stateProps"; diff --git a/client/src/components/StockOrderSection/StockOrderSetting.tsx b/client/src/components/StockOrderSection/StockOrderSetting.tsx index 514300cb..e930abc9 100644 --- a/client/src/components/StockOrderSection/StockOrderSetting.tsx +++ b/client/src/components/StockOrderSection/StockOrderSetting.tsx @@ -1,6 +1,6 @@ import { useSelector, useDispatch } from "react-redux"; import useGetStockInfo from "../../hooks/useGetStockInfo"; -import { orderTypeBuying, orderTypeSelling } from "../../reducer/StockOrderType-Reducer"; +import { orderTypeBuying, orderTypeSelling } from "../../reducer/stockOrderType-Reducer"; import { styled } from "styled-components"; import { StateProps } from "../../models/stateProps"; import { OrderTypeProps } from "../../models/orderTypeProps"; diff --git a/client/src/components/StockOrderSection/StockPrice.tsx b/client/src/components/StockOrderSection/StockPrice.tsx index 1b7ae47a..b8015a3e 100644 --- a/client/src/components/StockOrderSection/StockPrice.tsx +++ b/client/src/components/StockOrderSection/StockPrice.tsx @@ -1,7 +1,7 @@ import { useState, useEffect, useRef } from "react"; import { useSelector, useDispatch } from "react-redux"; import { styled } from "styled-components"; -import { setStockOrderPrice } from "../../reducer/StockOrderPrice-Reducer"; +import { setStockOrderPrice } from "../../reducer/stockOrderPrice-Reducer"; import { StateProps } from "../../models/stateProps"; const changeRateUnit = `%`; diff --git a/client/src/components/StockOrderSection/VolumeSetteing.tsx b/client/src/components/StockOrderSection/VolumeSetteing.tsx index 33381e0f..71853fd8 100644 --- a/client/src/components/StockOrderSection/VolumeSetteing.tsx +++ b/client/src/components/StockOrderSection/VolumeSetteing.tsx @@ -5,7 +5,7 @@ import useGetCash from "../../hooks/useGetCash"; import useGetHoldingStock from "../../hooks/useGetHoldingStock"; import { StateProps } from "../../models/stateProps"; import { HoldingStockProps } from "../../models/stockProps"; -import { setStockOrderVolume, plusStockOrderVolume, minusStockOrderVolume } from "../../reducer/StockOrderVolume-Reducer"; +import { setStockOrderVolume, plusStockOrderVolume, minusStockOrderVolume } from "../../reducer/stockOrderVolume-Reducer"; const volumeSettingTitle: string = "수량"; const maximumVolumeText01: string = "최대"; diff --git a/client/src/components/stockinfoComponents/index.tsx b/client/src/components/stockinfoComponents/index.tsx index 4104626b..4877c577 100644 --- a/client/src/components/stockinfoComponents/index.tsx +++ b/client/src/components/stockinfoComponents/index.tsx @@ -2,7 +2,7 @@ import styled from "styled-components"; import { useState } from "react"; import { useSelector } from "react-redux"; import { RootState } from "../../store/config"; -import PortFolioChart from "./stockinfoChart"; +import PortFolioChart from "./StockinfoChart"; const DetailStockInformation: React.FC = () => { // Redux의 companyId 상태를 구독합니다. diff --git a/client/src/components/watchlist/Header.tsx b/client/src/components/watchlist/Header.tsx index ead7f4e7..9c3ef001 100644 --- a/client/src/components/watchlist/Header.tsx +++ b/client/src/components/watchlist/Header.tsx @@ -1,6 +1,6 @@ import React from "react"; import styled from "styled-components"; -import Menu_icon from "../../asset/images/menu.png"; +import Menu_icon from "../../asset/icon/menu.png"; const ALL_LIST = "전체종목"; const INTEREST_LIST = "관심종목"; @@ -70,7 +70,7 @@ const HeaderText = styled.span` font-size: 18px; `; const SlideMenu = styled.div` - z-index:30; + z-index: 30; position: absolute; top: 100%; left: 0; diff --git a/client/src/components/watchlist/StockItem.tsx b/client/src/components/watchlist/StockItem.tsx index 8aa29539..186c298e 100644 --- a/client/src/components/watchlist/StockItem.tsx +++ b/client/src/components/watchlist/StockItem.tsx @@ -1,10 +1,10 @@ import React, { useState } from "react"; import styled from "styled-components"; -import logo from "../../asset/images/StockHolmImage.png"; +import logo from "../../asset/icon/StockHolmImage.png"; import deleteIcon from "../../asset/icon/delete_icon.png"; import useDeleteStar from "../../hooks/stars/useDeletestars"; import { useDispatch } from "react-redux"; -import { changeCompanyId } from "../../reducer/CompanyId-Reducer"; +import { changeCompanyId } from "../../reducer/companyId-Reducer"; import kia from "../../asset/logos/기아.svg"; import dy from "../../asset/logos/디와이.jpeg"; diff --git a/client/src/components/watchlist/StockSearchComponent.tsx b/client/src/components/watchlist/StockSearchComponent.tsx index 128898fd..7a2c2fb6 100644 --- a/client/src/components/watchlist/StockSearchComponent.tsx +++ b/client/src/components/watchlist/StockSearchComponent.tsx @@ -1,7 +1,7 @@ -import React, { useState } from 'react'; +import React, { useState } from "react"; import { useDispatch } from "react-redux"; import styled from "styled-components"; -import { changeCompanyId } from "../../reducer/CompanyId-Reducer"; +import { changeCompanyId } from "../../reducer/companyId-Reducer"; import useGetCompanyList from "../../hooks/useGetCompanyList"; const stockSearch = "종목 검색"; @@ -20,7 +20,7 @@ const StockSearchComponent: React.FC = () => { const handleSearchCompany = () => { let searchResult: string = noExistCompany; - + if (searchWord === "") { return; } @@ -30,24 +30,24 @@ const StockSearchComponent: React.FC = () => { samsung: "삼성전자", eco: "에코프로", ecopro: "에코프로", - ecoprobm:"에코프로비엠", - ecoprob:"에코프로비엠", - posco:"POSCO홀딩스", + ecoprobm: "에코프로비엠", + ecoprob: "에코프로비엠", + posco: "POSCO홀딩스", kia: "기아", hyundai: "현대차", - hyundaicar:"현대차", + hyundaicar: "현대차", dy: "디와이", kuckoo: "쿠쿠홀딩스", - kuckooholdings:"쿠쿠홀딩스", - hansemk:"한세엠케이", + kuckooholdings: "쿠쿠홀딩스", + hansemk: "한세엠케이", hanse: "한세엠케이", - lgchemical:"LG화학", - lgelectronic:"LG화학", + lgchemical: "LG화학", + lgelectronic: "LG화학", lgchem: "LG화학", lgelec: "LG전자", - celltrion:"셀트리온", + celltrion: "셀트리온", cell: "셀트리온", - kakaobank:"카카오뱅크", + kakaobank: "카카오뱅크", kakao: "카카오뱅크", // 추가적인 회사 이름을 여기에 추가할 수 있습니다. }; @@ -89,12 +89,7 @@ const StockSearchComponent: React.FC = () => { return ( - + {search} ); @@ -103,11 +98,11 @@ const StockSearchComponent: React.FC = () => { export default StockSearchComponent; interface CompanyProps { - companyId: number; - code: string; - korName: string; - stockAsBiResponseDto: null; - stockInfResponseDto: null; + companyId: number; + code: string; + korName: string; + stockAsBiResponseDto: null; + stockInfResponseDto: null; } // 스타일 정의 @@ -128,7 +123,7 @@ const StyledSearchInput = styled.input.attrs({ border: 1px solid #ccc; border-radius: 5px; flex: 1; - margin-left:8px; + margin-left: 8px; `; const StyledSearchButton = styled.button` diff --git a/client/src/page/TabPages/MarketInfoPage.tsx b/client/src/page/TabPages/MarketInfoPage.tsx index 75d5947b..28ef51e4 100644 --- a/client/src/page/TabPages/MarketInfoPage.tsx +++ b/client/src/page/TabPages/MarketInfoPage.tsx @@ -1,6 +1,6 @@ import styled from "styled-components"; import React, { useState } from "react"; -import MarketSummary from "../../components/MarketComponents/index"; +import MarketSummary from "../../components/MarketComponents/Index"; import MarketStockList from "../../components/MarketComponents/MarketStockList"; interface Props {} diff --git a/client/src/reducer/LeftStockList-Reducer.ts b/client/src/reducer/LeftStockList-Reducer.ts deleted file mode 100644 index ab8a3295..00000000 --- a/client/src/reducer/LeftStockList-Reducer.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { createSlice } from "@reduxjs/toolkit"; - -const initialState = 0; - -const leftStockListSlice = createSlice({ - name: "leftStockListType", - initialState: initialState, - reducers: { - setStockListType: (state, action) => { - state = action.payload; - return state; - }, - }, -}); - -export const { setStockListType } = leftStockListSlice.actions; -export const leftStockListReducer = leftStockListSlice.reducer; diff --git a/client/src/reducer/starSlice.ts b/client/src/reducer/starSlice.ts deleted file mode 100644 index e69de29b..00000000 diff --git a/client/src/store/config.ts b/client/src/store/config.ts index e10d18cd..e5c6e30d 100644 --- a/client/src/store/config.ts +++ b/client/src/store/config.ts @@ -1,16 +1,15 @@ import { configureStore } from "@reduxjs/toolkit"; -import { stockOrderTypeReducer } from "../reducer/StockOrderType-Reducer"; -import { stockOrderPriceReducer } from "../reducer/StockOrderPrice-Reducer"; -import { expandScreenReducer } from "../reducer/ExpandScreen-Reducer"; -import { stockOrderSetReducer } from "../reducer/StockOrderSet-Reducer"; -import { companyIdReducer } from "../reducer/CompanyId-Reducer"; +import { stockOrderTypeReducer } from "../reducer/stockOrderType-Reducer"; +import { stockOrderPriceReducer } from "../reducer/stockOrderPrice-Reducer"; +import { expandScreenReducer } from "../reducer/expandScreen-Reducer"; +import { stockOrderSetReducer } from "../reducer/stockOrderSet-Reducer"; +import { companyIdReducer } from "../reducer/companyId-Reducer"; import { loginReducer } from "../reducer/member/loginSlice"; import cashSlice from "../reducer/cash/cashSlice"; import memberInfoReducer from "../reducer/member/memberInfoSlice"; -import { stockOrderVolumeReducer } from "../reducer/StockOrderVolume-Reducer"; -import { setDecisionWindowReducer } from "../reducer/SetDecisionWindow-Reducer"; -import { compareChartReducer } from "../reducer/CompareChart-Reducer"; -import { leftStockListReducer } from "../reducer/LeftStockList-Reducer"; +import { stockOrderVolumeReducer } from "../reducer/stockOrderVolume-Reducer"; +import { setDecisionWindowReducer } from "../reducer/setDecisionWindow-Reducer"; +import { compareChartReducer } from "../reducer/compareChart-Reducer"; const store = configureStore({ reducer: { @@ -25,7 +24,6 @@ const store = configureStore({ stockOrderVolume: stockOrderVolumeReducer, decisionWindow: setDecisionWindowReducer, compareChart: compareChartReducer, - leftStockListType: leftStockListReducer, }, });