From 0e624a843b099ce40f705ca4c2f5f409e6e68ce5 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Mon, 22 Jul 2024 22:24:59 +0900 Subject: [PATCH 01/33] =?UTF-8?q?fix:=20window=20=ED=81=AC=EA=B8=B0=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD=20=EB=B0=8F=20resize=20=EB=B6=88=EA=B0=80?= =?UTF-8?q?=EB=8A=A5=ED=95=98=EA=B2=8C=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/electron.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/electron.js b/public/electron.js index ba9b60a..4e7ba25 100644 --- a/public/electron.js +++ b/public/electron.js @@ -10,8 +10,9 @@ let mainWindow function createWindow() { mainWindow = new BrowserWindow({ - width: 900, - height: 680, + width: 1440, + height: 900, + resizable: false, webPreferences: { nodeIntegration: true, enableRemoteModule: true, @@ -24,7 +25,6 @@ function createWindow() { if (isDev) mainWindow.webContents.openDevTools({ mode: 'detach' }) - mainWindow.setResizable(true) mainWindow.on('closed', () => { mainWindow = null app.quit() From bdaa0e4a38ffe8c361cda62ed5c5b61c9c2a193a Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 00:40:56 +0900 Subject: [PATCH 02/33] =?UTF-8?q?feat:=20=EC=84=B8=EB=A1=9C=20Nav=20Bar=20?= =?UTF-8?q?=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/navBar.tsx | 36 +++++++++++++++++++++++++++++++++++ src/components/navBarItem.tsx | 35 ++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 src/components/navBar.tsx create mode 100644 src/components/navBarItem.tsx diff --git a/src/components/navBar.tsx b/src/components/navBar.tsx new file mode 100644 index 0000000..521907d --- /dev/null +++ b/src/components/navBar.tsx @@ -0,0 +1,36 @@ +import { useState } from 'react' +import NavBarItem from './navBarItem' +import styled from 'styled-components' + +type VerticalNavProps = { + items: { name: string; count?: number; onClick: () => void }[] +} + +export default function NavBar({ items }: VerticalNavProps) { + const [focusedIdx, setFocusedIdx] = useState(0) + + const onClickItem = (i: number, onClick: () => void) => { + setFocusedIdx(i) + onClick() + } + + return ( + + {items.map((item, i) => ( + onClickItem(i, item.onClick)} + /> + ))} + + ) +} + +const Container = styled.div` + width: 100%; + height: 100%; + display: flex; + flex-direction: column; +` diff --git a/src/components/navBarItem.tsx b/src/components/navBarItem.tsx new file mode 100644 index 0000000..1a9dc8a --- /dev/null +++ b/src/components/navBarItem.tsx @@ -0,0 +1,35 @@ +import styled from 'styled-components' + +type VerticalNavItemProps = { + name: string + count?: number + isFocused: boolean + onClick: () => void +} + +export default function NavBarItem({ name, count, isFocused, onClick }: VerticalNavItemProps) { + return ( + +
{name}
+ {count !== undefined && {count}} +
+ ) +} + +const Container = styled.div<{ isFocused: boolean }>` + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + gap: 16px; + align-items: center; + justify-content: center; + background-color: ${props => (props.isFocused ? '#131313' : '#A8A8A8')}; + color: ${props => (props.isFocused ? '#E9E9E9' : '#161616')}; +` +const CountWrapper = styled.div<{ isFocused: boolean }>` + border-radius: 1000px; + padding: 8px 16px; + background-color: ${props => (props.isFocused ? '#0043CE' : 'rgba(22, 22, 22, 0.25)')}; + color: ${props => (props.isFocused ? '#E9E9E9' : 'rgba(22, 22, 22, 0.25)')}; +` From 05019d21c63edd2e9616dbf14bc493b88d68c0c6 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 00:42:19 +0900 Subject: [PATCH 03/33] =?UTF-8?q?feat:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=EB=B0=8F=20=EA=B0=81=20=ED=83=AD=20=EB=A9=94=EC=9D=B8=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/history/history.tsx | 3 +++ src/pages/login.tsx | 3 +++ src/pages/process/process.tsx | 3 +++ src/pages/wait/wait.tsx | 3 +++ 4 files changed, 12 insertions(+) create mode 100644 src/pages/history/history.tsx create mode 100644 src/pages/login.tsx create mode 100644 src/pages/process/process.tsx create mode 100644 src/pages/wait/wait.tsx diff --git a/src/pages/history/history.tsx b/src/pages/history/history.tsx new file mode 100644 index 0000000..1eabaf1 --- /dev/null +++ b/src/pages/history/history.tsx @@ -0,0 +1,3 @@ +export default function HistoryMain() { + return
Its History main page
+} diff --git a/src/pages/login.tsx b/src/pages/login.tsx new file mode 100644 index 0000000..6e87ed2 --- /dev/null +++ b/src/pages/login.tsx @@ -0,0 +1,3 @@ +export default function Login() { + return
login page
+} diff --git a/src/pages/process/process.tsx b/src/pages/process/process.tsx new file mode 100644 index 0000000..23d4c31 --- /dev/null +++ b/src/pages/process/process.tsx @@ -0,0 +1,3 @@ +export default function ProcessMain() { + return
its process main page
+} diff --git a/src/pages/wait/wait.tsx b/src/pages/wait/wait.tsx new file mode 100644 index 0000000..fda4160 --- /dev/null +++ b/src/pages/wait/wait.tsx @@ -0,0 +1,3 @@ +export default function WaitMain() { + return
Its wait main page
+} From 0abd14c8f82c395307cd495c362b312e7372e505 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 00:44:13 +0900 Subject: [PATCH 04/33] =?UTF-8?q?feat:=20global.css=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.css | 38 -------------------------------------- src/index.css | 13 ------------- src/style/global.css | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 51 deletions(-) delete mode 100644 src/App.css delete mode 100644 src/index.css create mode 100644 src/style/global.css diff --git a/src/App.css b/src/App.css deleted file mode 100644 index 74b5e05..0000000 --- a/src/App.css +++ /dev/null @@ -1,38 +0,0 @@ -.App { - text-align: center; -} - -.App-logo { - height: 40vmin; - pointer-events: none; -} - -@media (prefers-reduced-motion: no-preference) { - .App-logo { - animation: App-logo-spin infinite 20s linear; - } -} - -.App-header { - background-color: #282c34; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); - color: white; -} - -.App-link { - color: #61dafb; -} - -@keyframes App-logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} diff --git a/src/index.css b/src/index.css deleted file mode 100644 index ec2585e..0000000 --- a/src/index.css +++ /dev/null @@ -1,13 +0,0 @@ -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', - monospace; -} diff --git a/src/style/global.css b/src/style/global.css new file mode 100644 index 0000000..2816d49 --- /dev/null +++ b/src/style/global.css @@ -0,0 +1,36 @@ +html, +body, +div, +span, +h1, +h2, +h3, +h4, +h5, +h6, +p, +a, +dl, +dt, +dd, +ol, +ul, +li, +form, +label, +table { + margin: 0; + padding: 0; + border: 0; + vertical-align: baseline; +} + +body { + width: 1440px; + height: 900px; +} + +#root { + height: 1440px; + height: 900px; +} From 7c73eccb388d34014c3db312dbd93e2c87dd8100 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 00:45:13 +0900 Subject: [PATCH 05/33] =?UTF-8?q?feat:=20=EB=9D=BC=EC=9A=B0=ED=84=B0=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EB=B0=8F=20=EA=B3=B5=ED=86=B5=20layout=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 5 ++ src/App.tsx | 41 +++++++------- src/components/layout.tsx | 43 +++++++++++++++ src/constants/path.ts | 6 +++ src/index.tsx | 32 ++++++----- yarn.lock | 110 +++++++++++++++++++++++++++++++++++++- 6 files changed, 200 insertions(+), 37 deletions(-) create mode 100644 src/components/layout.tsx create mode 100644 src/constants/path.ts diff --git a/package.json b/package.json index dfb86f9..8d74e54 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,8 @@ "type": "module", "dependencies": { "@babel/plugin-proposal-private-property-in-object": "^7.21.11", + "@tanstack/react-query": "^5.51.11", + "@tanstack/react-query-devtools": "^5.51.11", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", @@ -15,8 +17,10 @@ "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "electron-is-dev": "^3.0.1", + "jotai": "^2.9.0", "react": "^18.3.1", "react-dom": "^18.3.1", + "react-router-dom": "^6.25.1", "react-scripts": "5.0.1", "styled-components": "^6.1.12", "typescript": "^4.9.5", @@ -50,6 +54,7 @@ ] }, "devDependencies": { + "@tanstack/eslint-plugin-query": "^5.51.12", "concurrently": "^8.2.2", "cross-env": "^7.0.3", "electron": "^31.2.1", diff --git a/src/App.tsx b/src/App.tsx index a53698a..747aeba 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,26 +1,21 @@ -import React from 'react'; -import logo from './logo.svg'; -import './App.css'; +import React from 'react' +import { Route, Routes } from 'react-router' +import { ROUTE } from './constants/path' +import ProcessMain from './pages/process/process' +import Layout from './components/layout' +import Login from './pages/login' +import HistoryMain from './pages/history/history' +import WaitMain from './pages/wait/wait' -function App() { +export default function App() { return ( -
-
- logo -

- Edit src/App.tsx and save to reload. -

- - Learn React - -
-
- ); + + } /> + }> + } /> + } /> + } /> + + + ) } - -export default App; diff --git a/src/components/layout.tsx b/src/components/layout.tsx new file mode 100644 index 0000000..bdbabd8 --- /dev/null +++ b/src/components/layout.tsx @@ -0,0 +1,43 @@ +import { Outlet, useNavigate } from 'react-router' +import styled from 'styled-components' +import NavBar from './navBar' + +export default function Layout() { + const navigate = useNavigate() + const navBarItem = [ + { + name: '승인 대기', + count: 3, + onClick: () => navigate('/wait'), + }, + { + name: '진행 중', + count: 3, + onClick: () => navigate('/process'), + }, + { + name: '히스토리', + count: 3, + onClick: () => navigate('/history'), + }, + ] + + return ( + + + + + + + ) +} + +const Container = styled.div` + width: 100%; + height: 100%; + display: flex; +` +const NavWrapper = styled.div` + width: 240px; + height: 100%; +` diff --git a/src/constants/path.ts b/src/constants/path.ts new file mode 100644 index 0000000..21cd429 --- /dev/null +++ b/src/constants/path.ts @@ -0,0 +1,6 @@ +export const ROUTE = { + LOGIN: '/', + PROCESS_MAIN: '/process', + WAIT_MAIN: '/wait', + HISTORY_MAIN: '/history', +} diff --git a/src/index.tsx b/src/index.tsx index 032464f..db57aff 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,19 +1,27 @@ -import React from 'react'; -import ReactDOM from 'react-dom/client'; -import './index.css'; -import App from './App'; -import reportWebVitals from './reportWebVitals'; +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App' +import reportWebVitals from './reportWebVitals' +import { ReactQueryDevtools } from '@tanstack/react-query-devtools' +import { BrowserRouter } from 'react-router-dom' +import { QueryClient, QueryClientProvider } from '@tanstack/react-query' +import './style/global.css' -const root = ReactDOM.createRoot( - document.getElementById('root') as HTMLElement -); +const queryClient = new QueryClient() + +const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement) root.render( - - -); + + + + + + + , +) // If you want to start measuring performance in your app, pass a function // to log results (for example: reportWebVitals(console.log)) // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals -reportWebVitals(); +reportWebVitals() diff --git a/yarn.lock b/yarn.lock index 153191c..c732f0a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1378,7 +1378,7 @@ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== -"@eslint-community/eslint-utils@^4.2.0": +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== @@ -1813,6 +1813,11 @@ schema-utils "^4.2.0" source-map "^0.7.3" +"@remix-run/router@1.18.0": + version "1.18.0" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.18.0.tgz#20b033d1f542a100c1d57cfd18ecf442d1784732" + integrity sha512-L3jkqmqoSVBVKHfpGZmLrex0lxR5SucGA0sUfFzGctehw+S/ggL9L/0NnC5mw6P8HUWpFZ3nQw3cRApjjWx9Sw== + "@rollup/plugin-babel@^5.2.0": version "5.3.1" resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283" @@ -2021,6 +2026,37 @@ dependencies: defer-to-connect "^2.0.0" +"@tanstack/eslint-plugin-query@^5.51.12": + version "5.51.12" + resolved "https://registry.yarnpkg.com/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.51.12.tgz#1adb208617008ac33c9e4f2dad3c25bc8c1119a4" + integrity sha512-vzUXXIVzDP2c6wVSJ+1imPGaKQ2ILuWnta64FJc/JnQ5WunfO17bQJSk6uKDbzTQG/YKgPYBMG3C9qFA4b7Ayg== + dependencies: + "@typescript-eslint/utils" "8.0.0-alpha.30" + +"@tanstack/query-core@5.51.9": + version "5.51.9" + resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.51.9.tgz#eb2e02c715068d5664680b773e39eb44db6b48d8" + integrity sha512-HsAwaY5J19MD18ykZDS3aVVh+bAt0i7m6uQlFC2b77DLV9djo+xEN7MWQAQQTR8IM+7r/zbozTQ7P0xr0bHuew== + +"@tanstack/query-devtools@5.51.9": + version "5.51.9" + resolved "https://registry.yarnpkg.com/@tanstack/query-devtools/-/query-devtools-5.51.9.tgz#df71eb8ae0af2887bb98cd3448efc5e2623d58b8" + integrity sha512-FQqJynaEDuwQxoFLP3/i10HQwNYh4wxgs0NeSoL24BLWvpUdstgHqUm2zgwRov8Tmh5kjndPIWaXenwl0D47EA== + +"@tanstack/react-query-devtools@^5.51.11": + version "5.51.11" + resolved "https://registry.yarnpkg.com/@tanstack/react-query-devtools/-/react-query-devtools-5.51.11.tgz#bd700cbdbf7bbdd238ed784bd59e829ff2ad613a" + integrity sha512-8nQRbhdtvl/J9bO+bk/kPQesCOtDgk+oI4AmZJDnkf5OfKTJL3J4tTe+fhuXph7KP4DUOS+ge9o9TGt0OgWFHw== + dependencies: + "@tanstack/query-devtools" "5.51.9" + +"@tanstack/react-query@^5.51.11": + version "5.51.11" + resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.51.11.tgz#8ab2cf6a4baa7a99b5682addf31328525f43242c" + integrity sha512-4Kq2x0XpDlpvSnaLG+8pHNH60zEc3mBvb3B2tOMDjcPCi/o+Du3p/9qpPLwJOTliVxxPJAP27fuIhLrsRdCr7A== + dependencies: + "@tanstack/query-core" "5.51.9" + "@testing-library/dom@^8.5.0": version "8.20.1" resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.1.tgz#2e52a32e46fc88369eef7eef634ac2a192decd9f" @@ -2538,6 +2574,14 @@ "@typescript-eslint/types" "5.62.0" "@typescript-eslint/visitor-keys" "5.62.0" +"@typescript-eslint/scope-manager@8.0.0-alpha.30": + version "8.0.0-alpha.30" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.0.0-alpha.30.tgz#851e38a30884b4247485de1ad10b072c3df80a4a" + integrity sha512-FGW/iPWGyPFamAVZ60oCAthMqQrqafUGebF8UKuq/ha+e9SVG6YhJoRzurlQXOVf8dHfOhJ0ADMXyFnMc53clg== + dependencies: + "@typescript-eslint/types" "8.0.0-alpha.30" + "@typescript-eslint/visitor-keys" "8.0.0-alpha.30" + "@typescript-eslint/type-utils@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" @@ -2553,6 +2597,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== +"@typescript-eslint/types@8.0.0-alpha.30": + version "8.0.0-alpha.30" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.0.0-alpha.30.tgz#149ae5b6aa99e2491cb79a90ad70cdbc98b7586a" + integrity sha512-4WzLlw27SO9pK9UFj/Hu7WGo8WveT0SEiIpFVsV2WwtQmLps6kouwtVCB8GJPZKJyurhZhcqCoQVQFmpv441Vg== + "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" @@ -2566,6 +2615,20 @@ semver "^7.3.7" tsutils "^3.21.0" +"@typescript-eslint/typescript-estree@8.0.0-alpha.30": + version "8.0.0-alpha.30" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.0.0-alpha.30.tgz#acd674b63e204af9022b33ff031261e2e3a88b8d" + integrity sha512-WSXbc9ZcXI+7yC+6q95u77i8FXz6HOLsw3ST+vMUlFy1lFbXyFL/3e6HDKQCm2Clt0krnoCPiTGvIn+GkYPn4Q== + dependencies: + "@typescript-eslint/types" "8.0.0-alpha.30" + "@typescript-eslint/visitor-keys" "8.0.0-alpha.30" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" + "@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.58.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" @@ -2580,6 +2643,16 @@ eslint-scope "^5.1.1" semver "^7.3.7" +"@typescript-eslint/utils@8.0.0-alpha.30": + version "8.0.0-alpha.30" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.0.0-alpha.30.tgz#8102839b7b773be6572964a5bb8c378b526c78b2" + integrity sha512-rfhqfLqFyXhHNDwMnHiVGxl/Z2q/3guQ1jLlGQ0hi9Rb7inmwz42crM+NnLPR+2vEnwyw1P/g7fnQgQ3qvFx4g== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@typescript-eslint/scope-manager" "8.0.0-alpha.30" + "@typescript-eslint/types" "8.0.0-alpha.30" + "@typescript-eslint/typescript-estree" "8.0.0-alpha.30" + "@typescript-eslint/visitor-keys@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" @@ -2588,6 +2661,14 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" +"@typescript-eslint/visitor-keys@8.0.0-alpha.30": + version "8.0.0-alpha.30" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.0.0-alpha.30.tgz#8424b5eb2ca73cb58a8fa1c4bfb6ab72693d3a7f" + integrity sha512-XZuNurZxBqmr6ZIRIwWFq7j5RZd6ZlkId/HZEWyfciK+CWoyOxSF9Pv2VXH9Rlu2ZG2PfbhLz2Veszl4Pfn7yA== + dependencies: + "@typescript-eslint/types" "8.0.0-alpha.30" + eslint-visitor-keys "^3.4.3" + "@ungap/structured-clone@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" @@ -7016,6 +7097,11 @@ joi@^17.11.0: "@sideway/formula" "^3.0.1" "@sideway/pinpoint" "^2.0.0" +jotai@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/jotai/-/jotai-2.9.0.tgz#240f37fb1bb8a8d4c8d178b423575f2da677814f" + integrity sha512-MioTpMvR78IGfJ+W8EwQj3kwTkb+u0reGnTyg3oJZMWK9rK9v8NBSC9Rhrg9jrrFYA6bGZtzJa96zsuAYF6W3w== + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -8872,6 +8958,21 @@ react-refresh@^0.11.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046" integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== +react-router-dom@^6.25.1: + version "6.25.1" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.25.1.tgz#b89f8d63fc8383ea4e89c44bf31c5843e1f7afa0" + integrity sha512-0tUDpbFvk35iv+N89dWNrJp+afLgd+y4VtorJZuOCXK0kkCWjEvb3vTJM++SYvMEpbVwXKf3FjeVveVEb6JpDQ== + dependencies: + "@remix-run/router" "1.18.0" + react-router "6.25.1" + +react-router@6.25.1: + version "6.25.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.25.1.tgz#70b4f1af79954cfcfd23f6ddf5c883e8c904203e" + integrity sha512-u8ELFr5Z6g02nUtpPAggP73Jigj1mRePSwhS/2nkTrlPU5yEkH1vYzWNyvSnSzeeE2DNqWdH+P8OhIh9wuXhTw== + dependencies: + "@remix-run/router" "1.18.0" + react-scripts@5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-5.0.1.tgz#6285dbd65a8ba6e49ca8d651ce30645a6d980003" @@ -9370,7 +9471,7 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: +semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: version "7.6.3" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== @@ -10204,6 +10305,11 @@ tryer@^1.0.1: resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== +ts-api-utils@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" + integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== + ts-interface-checker@^0.1.9: version "0.1.13" resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" From f4123e1c9c0cd040dcab91c2f18d6f67893fd0f2 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 14:40:48 +0900 Subject: [PATCH 06/33] =?UTF-8?q?fix:=20window=20content=20=ED=81=AC?= =?UTF-8?q?=EA=B8=B0=EB=A5=BC=201440*900=EC=9C=BC=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/electron.js | 1 + 1 file changed, 1 insertion(+) diff --git a/public/electron.js b/public/electron.js index 4e7ba25..fa76fbe 100644 --- a/public/electron.js +++ b/public/electron.js @@ -13,6 +13,7 @@ function createWindow() { width: 1440, height: 900, resizable: false, + useContentSize: true, webPreferences: { nodeIntegration: true, enableRemoteModule: true, From da9a423adb4c809f9f2c730316c5b9a6c10e2a6f Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 14:41:29 +0900 Subject: [PATCH 07/33] =?UTF-8?q?chore:=20styles=20=ED=8F=B4=EB=8D=94?= =?UTF-8?q?=EB=AA=85=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/index.tsx | 2 +- src/{style => styles}/global.css | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename src/{style => styles}/global.css (100%) diff --git a/src/index.tsx b/src/index.tsx index db57aff..c382e0e 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -5,7 +5,7 @@ import reportWebVitals from './reportWebVitals' import { ReactQueryDevtools } from '@tanstack/react-query-devtools' import { BrowserRouter } from 'react-router-dom' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' -import './style/global.css' +import './styles/global.css' const queryClient = new QueryClient() diff --git a/src/style/global.css b/src/styles/global.css similarity index 100% rename from src/style/global.css rename to src/styles/global.css From bd7474f82635a783fa62be0f6676706d3494c638 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 14:42:55 +0900 Subject: [PATCH 08/33] =?UTF-8?q?chore:=20import=20=EC=A0=88=EB=8C=80?= =?UTF-8?q?=EA=B2=BD=EB=A1=9C=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tsconfig.json | 8 ++++++++ webpack.config.js | 30 ++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 webpack.config.js diff --git a/tsconfig.json b/tsconfig.json index 9d379a3..fad0f9c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,13 @@ { "compilerOptions": { + "baseUrl": "./src", + "paths": { + "@assets/*": ["assets/*"], + "@components/*": ["components/*"], + "@constants/*": ["constants/*"], + "@pages/*": ["pages/*"], + "@styles/*": ["styles/*"] + }, "target": "es5", "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 0000000..b2ec0f1 --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,30 @@ +const path = require('path') + +module.exports = { + resolve: { + alias: { + '@assets': path.resolve(__dirname, 'src/assets/'), + '@components': path.resolve(__dirname, 'src/components/'), + '@constants': path.resolve(__dirname, 'src/constants/'), + '@pages': path.resolve(__dirname, 'src/pages/'), + '@styles': path.resolve(__dirname, 'src/styles/'), + }, + extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'], + }, + module: { + rules: [ + { + test: /\.(png|jpe?g|gif|svg)$/, + use: [ + { + loader: 'file-loader', + options: { + name: '[name].[hash].[ext]', + outputPath: 'images', + }, + }, + ], + }, + ], + }, +} From e35c920be6d35f7faf1cf10c7e5c3f03efa4a3fd Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 14:43:06 +0900 Subject: [PATCH 09/33] =?UTF-8?q?feat:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/image/eollugage-logo.svg | 11 ++++++ src/assets/image/kakao.png | Bin 0 -> 912 bytes src/assets/image/login.png | Bin 0 -> 278383 bytes src/pages/login.tsx | 55 +++++++++++++++++++++++++++- 4 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 src/assets/image/eollugage-logo.svg create mode 100644 src/assets/image/kakao.png create mode 100644 src/assets/image/login.png diff --git a/src/assets/image/eollugage-logo.svg b/src/assets/image/eollugage-logo.svg new file mode 100644 index 0000000..cc9feb4 --- /dev/null +++ b/src/assets/image/eollugage-logo.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/assets/image/kakao.png b/src/assets/image/kakao.png new file mode 100644 index 0000000000000000000000000000000000000000..84d96c76943df066160bedbec13b380a7b80fdfb GIT binary patch literal 912 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 Ge*7P5nfp8d literal 0 HcmV?d00001 diff --git a/src/pages/login.tsx b/src/pages/login.tsx index 6e87ed2..e636797 100644 --- a/src/pages/login.tsx +++ b/src/pages/login.tsx @@ -1,3 +1,56 @@ +import styled from 'styled-components' +import { ReactComponent as Logo } from 'assets/image/eollugage-logo.svg' +import { useNavigate } from 'react-router-dom' + export default function Login() { - return
login page
+ const navigate = useNavigate() + + return ( + + login-image + + + <Logo /> + 간편하게 일하는 법 + + navigate('/process')}> + + 카카오 로그인 + + + + ) } + +const Container = styled.div` + display: flex; + overflow: hidden; +` +const Right = styled.div` + flex: 1; + background-color: black; + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 88px; +` +const Title = styled.div` + display: flex; + flex-direction: column; + align-items: center; + color: #7c7c7c; + gap: 8px; +` +const KakaoLoginButton = styled.div` + background-color: #fee500; + width: 328px; + border-radius: 1000px; + padding: 20px 0; + display: flex; + align-items: center; + justify-content: center; + gap: 8px; + cursor: pointer; +` From 9486f73ab5ca0f6e9093c319803f7b02ed6b661d Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 16:10:12 +0900 Subject: [PATCH 10/33] =?UTF-8?q?feat:=20=EC=8A=B9=EC=9D=B8=20=EB=8C=80?= =?UTF-8?q?=EA=B8=B0=20Order=20Card=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8?= =?UTF-8?q?=20=EC=A0=9C=EC=9E=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/orderCard.tsx | 132 +++++++++++++++++++++++++++++++++++ src/components/orderChip.tsx | 21 ++++++ 2 files changed, 153 insertions(+) create mode 100644 src/components/orderCard.tsx create mode 100644 src/components/orderChip.tsx diff --git a/src/components/orderCard.tsx b/src/components/orderCard.tsx new file mode 100644 index 0000000..34cf311 --- /dev/null +++ b/src/components/orderCard.tsx @@ -0,0 +1,132 @@ +import styled from 'styled-components' +import OrderChip, { statusType } from './orderChip' + +type productType = { + name: string + price: number + count?: number +} + +type orderType = productType & { + options?: productType[] +} + +interface OrderCardProps { + tableNumber: number + status: statusType + orders: orderType[] +} + +export default function OrderCard({ tableNumber, status, orders }: OrderCardProps) { + const returnTotalPrice = () => + orders.reduce((acc, order) => { + if (order.options) return acc + order.price + order.options?.reduce((acc2, option) => acc2 + option.price, 0) + return acc + order.price + }, 0) + + const returnOptions = (options: productType[] | undefined) => { + if (options === undefined) return + + return ' | '.concat(options?.map(option => `${option.name} (+${option.price}원)`).join(', ')) + } + + return ( + + + + 테이블 번호 {tableNumber.toString().padStart(2, '0')} + + + 0분 전 + + + 메뉴 {orders.length}개 총 {returnTotalPrice().toLocaleString()}원 + + + {orders.map(order => ( + + {order.name} {order.count === undefined ? '1' : order.count}개 {returnOptions(order.options)} |{' '} + {order.price.toLocaleString()}원 + + ))} + + + + 주문 거절 + 주문 거절 + + + ) +} + +const Container = styled.div` + flex: 1; + padding: 40px; + border-radius: 16px; + border: 2px solid #c6c6c6; +` + +const Top = styled.div` + width: 100%; + display: flex; + justify-content: space-between; + margin-bottom: 32px; +` +const TableNumber = styled.div` + font-size: 32px; + font-weight: 500; + color: #161616; +` +const TitleContainer = styled.div` + display: flex; + gap: 32px; +` +const TimeText = styled.div` + color: #6f6f6f; + font-size: 28px; + font-weight: 600; +` +const OrderSummary = styled.div` + color: #131313; + font-weight: 500; + font-size: 40px; + margin-bottom: 24px; +` +const OrderContainer = styled.div` + display: flex; + flex-direction: column; + gap: 12px; +` +const OrderDetail = styled.div` + font-size: 20px; + color: #6f6f6f; + font-weight: 500; +` +const Divider = styled.hr` + margin: 32px 0; +` +const DenyButton = styled.div` + border-radius: 8px; + border: 1px solid #a8a8a8; + padding: 20px 32px; + color: #6f6f6f; + font-size: 20px; + font-weight: 600; +` +const ApproveButton = styled.div` + border-radius: 8px; + border: 1px solid #131313; + background-color: #131313; + padding: 20px 32px; + color: white; + font-size: 20px; + font-weight: 600; + cursor: pointer; +` +const ButtonContainer = styled.div` + display: flex; + justify-content: flex-end; + gap: 24px; + width: 100%; + cursor: pointer; +` diff --git a/src/components/orderChip.tsx b/src/components/orderChip.tsx new file mode 100644 index 0000000..5a9f36e --- /dev/null +++ b/src/components/orderChip.tsx @@ -0,0 +1,21 @@ +import styled from 'styled-components' + +export type statusType = 'new' | 'extra' +interface OrderChipProps { + status: statusType +} + +export default function OrderChip({ status }: OrderChipProps) { + return {status === 'new' ? '신규 주문' : '추가 주문'} +} + +const Container = styled.div<{ status: statusType }>` + display: flex; + align-items: center; + border-radius: 1000px; + padding: 8px 12px; + font-size: 14px; + font-weight: 600; + color: ${props => (props.status === 'new' ? '#0043CE' : '#0E6027')}; + background-color: ${props => (props.status === 'new' ? '#D0E2FF' : '#A7F0BA')}; +` From f481d770ee91cf5cbc38a6c4fe89c09c9dbfe8f0 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 18:49:59 +0900 Subject: [PATCH 11/33] =?UTF-8?q?=08fix:=20card=20func=20/utils=EB=A1=9C?= =?UTF-8?q?=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/cardFunc.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 src/utils/cardFunc.ts diff --git a/src/utils/cardFunc.ts b/src/utils/cardFunc.ts new file mode 100644 index 0000000..547dfe3 --- /dev/null +++ b/src/utils/cardFunc.ts @@ -0,0 +1,13 @@ +import { orderType, productType } from 'components/waitingOrderCard' + +export const returnTotalPrice = (orders: orderType[]) => + orders.reduce((acc, order) => { + if (order.options) return acc + order.price + order.options?.reduce((acc2, option) => acc2 + option.price, 0) + return acc + order.price + }, 0) + +export const returnOptions = (options: productType[] | undefined) => { + if (options === undefined) return + + return ' | '.concat(options?.map(option => `${option.name} (+${option.price}원)`).join(', ')) +} From 75af79fb760bd3aa6f83bd44c1a5bd8b4442bdc6 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 18:50:17 +0900 Subject: [PATCH 12/33] =?UTF-8?q?chore:=20order=20card=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=EB=AA=85=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{orderCard.tsx => waitingOrderCard.tsx} | 22 +++++-------------- 1 file changed, 6 insertions(+), 16 deletions(-) rename src/components/{orderCard.tsx => waitingOrderCard.tsx} (78%) diff --git a/src/components/orderCard.tsx b/src/components/waitingOrderCard.tsx similarity index 78% rename from src/components/orderCard.tsx rename to src/components/waitingOrderCard.tsx index 34cf311..86f8b2c 100644 --- a/src/components/orderCard.tsx +++ b/src/components/waitingOrderCard.tsx @@ -1,35 +1,25 @@ import styled from 'styled-components' import OrderChip, { statusType } from './orderChip' +import { returnOptions, returnTotalPrice } from 'utils/cardFunc' -type productType = { +export type productType = { name: string price: number count?: number } -type orderType = productType & { +export type orderType = productType & { options?: productType[] } interface OrderCardProps { + from: 'waiting' | 'process' | 'history' tableNumber: number status: statusType orders: orderType[] } -export default function OrderCard({ tableNumber, status, orders }: OrderCardProps) { - const returnTotalPrice = () => - orders.reduce((acc, order) => { - if (order.options) return acc + order.price + order.options?.reduce((acc2, option) => acc2 + option.price, 0) - return acc + order.price - }, 0) - - const returnOptions = (options: productType[] | undefined) => { - if (options === undefined) return - - return ' | '.concat(options?.map(option => `${option.name} (+${option.price}원)`).join(', ')) - } - +export default function OrderCard({ from, tableNumber, status, orders }: OrderCardProps) { return ( @@ -40,7 +30,7 @@ export default function OrderCard({ tableNumber, status, orders }: OrderCardProp 0분 전 - 메뉴 {orders.length}개 총 {returnTotalPrice().toLocaleString()}원 + 메뉴 {orders.length}개 총 {returnTotalPrice(orders).toLocaleString()}원 {orders.map(order => ( From a39f8589da4be8109489bd7d5f6108945b09ff4d Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 20:01:57 +0900 Subject: [PATCH 13/33] =?UTF-8?q?feat:=20=EC=A7=84=ED=96=89=20=EC=A4=91=20?= =?UTF-8?q?Order=20Card=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + src/assets/image/down-arrow.svg | 5 ++ src/assets/image/up-arrow.svg | 5 ++ src/components/orderChip.tsx | 19 ++++- src/components/prevOrder.tsx | 71 +++++++++++++++++ src/components/processOrderCard.tsx | 116 ++++++++++++++++++++++++++++ yarn.lock | 5 ++ 7 files changed, 220 insertions(+), 2 deletions(-) create mode 100644 src/assets/image/down-arrow.svg create mode 100644 src/assets/image/up-arrow.svg create mode 100644 src/components/prevOrder.tsx create mode 100644 src/components/processOrderCard.tsx diff --git a/package.json b/package.json index 8d74e54..a4222a5 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "@types/node": "^16.18.103", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", + "dayjs": "^1.11.12", "electron-is-dev": "^3.0.1", "jotai": "^2.9.0", "react": "^18.3.1", diff --git a/src/assets/image/down-arrow.svg b/src/assets/image/down-arrow.svg new file mode 100644 index 0000000..657e28b --- /dev/null +++ b/src/assets/image/down-arrow.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/image/up-arrow.svg b/src/assets/image/up-arrow.svg new file mode 100644 index 0000000..29ff4d7 --- /dev/null +++ b/src/assets/image/up-arrow.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/components/orderChip.tsx b/src/components/orderChip.tsx index 5a9f36e..60f80d6 100644 --- a/src/components/orderChip.tsx +++ b/src/components/orderChip.tsx @@ -1,12 +1,27 @@ import styled from 'styled-components' -export type statusType = 'new' | 'extra' +export type statusType = 'new' | 'extra' | 'multi' | 'single' interface OrderChipProps { status: statusType } export default function OrderChip({ status }: OrderChipProps) { - return {status === 'new' ? '신규 주문' : '추가 주문'} + const returnChipText = () => { + switch (status) { + case 'new': + return '신규 주문' + case 'extra': + return '추가 주문' + case 'single': + return '단일 주문' + case 'multi': + return '복수 주문' + default: + return 'error' + } + } + + return {returnChipText()} } const Container = styled.div<{ status: statusType }>` diff --git a/src/components/prevOrder.tsx b/src/components/prevOrder.tsx new file mode 100644 index 0000000..859d759 --- /dev/null +++ b/src/components/prevOrder.tsx @@ -0,0 +1,71 @@ +import { useState } from 'react' +import { orderType } from './waitingOrderCard' +import styled from 'styled-components' +import { OrderContainer, OrderDetail } from './processOrderCard' +import { returnOptions, returnTotalPrice } from 'utils/cardFunc' +import { ReactComponent as UpArrowIcon } from 'assets/image/up-arrow.svg' +import { ReactComponent as DownArrowIcon } from 'assets/image/down-arrow.svg' + +interface PreviousOrderProps { + orders: orderType[] +} + +export default function PreviousOrder({ orders }: PreviousOrderProps) { + const [showDetail, setShowDetail] = useState(false) + + const toggleShowDetail = () => setShowDetail(!showDetail) + return ( + + + 이전 주문 보기 + {showDetail ? : } + + {showDetail && ( + + {orders.map(order => ( + + + {orders.map(order => ( + + {order.name} {order.count === undefined ? '1' : order.count}개 {returnOptions(order.options)} |{' '} + {order.price.toLocaleString()}원 + + ))} + + {returnTotalPrice(orders).toLocaleString()}원 + + ))} + + )} + + ) +} + +const Container = styled.div` + display: flex; + flex-direction: column; + gap: 32px; +` +const ShowButton = styled.div` + color: #6f6f6f; + font-size: 20px; + font-weight: 500; + display: flex; + gap: 8px; + cursor: pointer; +` +const OrderBox = styled.div` + display: flex; + flex-direction: column; + gap: 24px; +` +const PrevOrderContainer = styled.div` + display: flex; + gap: 48px; + align-items: flex-end; +` +const TotalPrice = styled.div` + color: #131313; + font-size: 28px; + font-weight: 500; +` diff --git a/src/components/processOrderCard.tsx b/src/components/processOrderCard.tsx new file mode 100644 index 0000000..4c2b696 --- /dev/null +++ b/src/components/processOrderCard.tsx @@ -0,0 +1,116 @@ +import styled from 'styled-components' +import OrderChip, { statusType } from './orderChip' +import dayjs from 'dayjs' +import { orderType, productType } from './waitingOrderCard' +import { returnOptions, returnTotalPrice } from 'utils/cardFunc' +import PreviousOrder from './prevOrder' + +interface OrderCardProps { + from: 'waiting' | 'process' | 'history' + tableNumber: number + status: statusType + orders: orderType[] + prevOrders?: orderType[] +} + +export default function OrderCard({ from, tableNumber, status, orders, prevOrders }: OrderCardProps) { + return ( + + + + 테이블 번호 {tableNumber.toString().padStart(2, '0')} + + + {dayjs().locale('ko').format('YYYY년 M월 D일 HH시 mm분 ss초')} + + + 메뉴 {orders.length}개 총 {returnTotalPrice(orders).toLocaleString()}원 + + + {orders.map(order => ( + + {order.name} {order.count === undefined ? '1' : order.count}개 {returnOptions(order.options)} |{' '} + {order.price.toLocaleString()}원 + + ))} + + + + + 결제 완료 + + + ) +} + +const Container = styled.div` + flex: 1; + padding: 40px; + border-radius: 16px; + border: 2px solid #c6c6c6; +` + +const Top = styled.div` + width: 100%; + display: flex; + justify-content: space-between; + margin-bottom: 32px; +` +const TableNumber = styled.div` + font-size: 32px; + font-weight: 500; + color: #161616; +` +const TitleContainer = styled.div` + display: flex; + gap: 32px; +` +const TimeText = styled.div` + color: #6f6f6f; + font-size: 28px; + font-weight: 600; +` +const OrderSummary = styled.div` + color: #131313; + font-weight: 500; + font-size: 40px; + margin-bottom: 24px; +` +export const OrderContainer = styled.div` + display: inline-flex; + flex-direction: column; + gap: 12px; +` +export const OrderDetail = styled.div` + font-size: 20px; + color: #6f6f6f; + font-weight: 500; +` +const Divider = styled.hr` + margin: 32px 0; +` +const DenyButton = styled.div` + border-radius: 8px; + border: 1px solid #a8a8a8; + padding: 20px 32px; + color: #6f6f6f; + font-size: 20px; + font-weight: 600; +` +const ApproveButton = styled.div` + border-radius: 8px; + border: 1px solid #131313; + background-color: #131313; + padding: 20px 32px; + color: white; + font-size: 20px; + font-weight: 600; + cursor: pointer; +` +const ButtonContainer = styled.div` + display: flex; + justify-content: flex-end; + gap: 24px; + width: 100%; + cursor: pointer; +` diff --git a/yarn.lock b/yarn.lock index c732f0a..62c4c0f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4308,6 +4308,11 @@ date-fns@^2.30.0: dependencies: "@babel/runtime" "^7.21.0" +dayjs@^1.11.12: + version "1.11.12" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.12.tgz#5245226cc7f40a15bf52e0b99fd2a04669ccac1d" + integrity sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg== + debug@2.6.9, debug@^2.6.0: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" From 778ab5c2bccf687a98d1605aba9535bb75a6efc0 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 22:22:12 +0900 Subject: [PATCH 14/33] =?UTF-8?q?fix:=20=EB=8B=A8=EC=9D=BC=EC=A3=BC?= =?UTF-8?q?=EB=AC=B8=EC=9D=B8=20=EA=B2=BD=EC=9A=B0=20'=EC=9D=B4=EC=A0=84?= =?UTF-8?q?=20=EC=A3=BC=EB=AC=B8=20=EB=B3=B4=EA=B8=B0'=20=EB=B2=84?= =?UTF-8?q?=ED=8A=BC=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/processOrderCard.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/processOrderCard.tsx b/src/components/processOrderCard.tsx index 4c2b696..ef91e6a 100644 --- a/src/components/processOrderCard.tsx +++ b/src/components/processOrderCard.tsx @@ -35,7 +35,7 @@ export default function OrderCard({ from, tableNumber, status, orders, prevOrder ))} - + {prevOrders !== undefined && } 결제 완료 @@ -44,7 +44,6 @@ export default function OrderCard({ from, tableNumber, status, orders, prevOrder } const Container = styled.div` - flex: 1; padding: 40px; border-radius: 16px; border: 2px solid #c6c6c6; From c3540fe8c10471d91e338b9d5d412227e8fb619e Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 22:36:41 +0900 Subject: [PATCH 15/33] =?UTF-8?q?fix:=20=EB=8B=A8=EC=9D=BC=20=EC=A3=BC?= =?UTF-8?q?=EB=AC=B8=EC=9D=BC=20=EB=95=8C=20order=20chip=20=EB=94=94?= =?UTF-8?q?=EC=9E=90=EC=9D=B8=20=EC=98=A4=EB=A5=98=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/orderChip.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/orderChip.tsx b/src/components/orderChip.tsx index 60f80d6..97dbac2 100644 --- a/src/components/orderChip.tsx +++ b/src/components/orderChip.tsx @@ -31,6 +31,6 @@ const Container = styled.div<{ status: statusType }>` padding: 8px 12px; font-size: 14px; font-weight: 600; - color: ${props => (props.status === 'new' ? '#0043CE' : '#0E6027')}; - background-color: ${props => (props.status === 'new' ? '#D0E2FF' : '#A7F0BA')}; + color: ${props => (props.status === 'new' || props.status === 'single' ? '#0043CE' : '#0E6027')}; + background-color: ${props => (props.status === 'new' || props.status === 'single' ? '#D0E2FF' : '#A7F0BA')}; ` From f2cc5c58d92a9bbcaddaf5fd3737cf88f881bea3 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 22:37:00 +0900 Subject: [PATCH 16/33] =?UTF-8?q?feat:=20=ED=9E=88=EC=8A=A4=ED=86=A0?= =?UTF-8?q?=EB=A6=AC=20Order=20Card=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8?= =?UTF-8?q?=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/historyOrderCard.tsx | 118 ++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 src/components/historyOrderCard.tsx diff --git a/src/components/historyOrderCard.tsx b/src/components/historyOrderCard.tsx new file mode 100644 index 0000000..36ec3b4 --- /dev/null +++ b/src/components/historyOrderCard.tsx @@ -0,0 +1,118 @@ +import styled from 'styled-components' +import OrderChip, { statusType } from './orderChip' +import dayjs from 'dayjs' +import { orderType, productType } from './waitingOrderCard' +import { returnOptions, returnTotalPrice } from 'utils/cardFunc' +import PreviousOrder from './prevOrder' + +interface OrderCardProps { + from: 'waiting' | 'process' | 'history' + tableNumber: number + status: statusType + orders: orderType[] + prevOrders?: orderType[] +} + +export default function OrderCard({ from, tableNumber, status, orders, prevOrders }: OrderCardProps) { + return ( + + + + 테이블 번호 {tableNumber.toString().padStart(2, '0')} + + + {dayjs().locale('ko').format('YYYY년 M월 D일 HH시 mm분 ss초')} + + + 메뉴 {orders.length}개 총 {returnTotalPrice(orders).toLocaleString()}원 + + + {orders.map(order => ( + + {order.name} {order.count === undefined ? '1' : order.count}개 {returnOptions(order.options)} |{' '} + {order.price.toLocaleString()}원 + + ))} + + {status === 'multi' && } + {prevOrders !== undefined && } + {status === 'multi' && ( + + 최초 주문만 보기 + {/* 이전 주문 보기 */} + + )} + + ) +} + +const Container = styled.div` + padding: 40px; + border-radius: 16px; + border: 2px solid #c6c6c6; +` + +const Top = styled.div` + width: 100%; + display: flex; + justify-content: space-between; + margin-bottom: 32px; +` +const TableNumber = styled.div` + font-size: 32px; + font-weight: 500; + color: #161616; +` +const TitleContainer = styled.div` + display: flex; + gap: 32px; +` +const TimeText = styled.div` + color: #6f6f6f; + font-size: 28px; + font-weight: 600; +` +const OrderSummary = styled.div` + color: #131313; + font-weight: 500; + font-size: 40px; + margin-bottom: 24px; +` +export const OrderContainer = styled.div` + display: inline-flex; + flex-direction: column; + gap: 12px; +` +export const OrderDetail = styled.div` + font-size: 20px; + color: #6f6f6f; + font-weight: 500; +` +const Divider = styled.hr` + margin: 32px 0; +` +const DenyButton = styled.div` + border-radius: 8px; + border: 1px solid #a8a8a8; + padding: 20px 32px; + color: #6f6f6f; + font-size: 20px; + font-weight: 600; +` +const ApproveButton = styled.div` + border-radius: 8px; + border: 1px solid #131313; + background-color: #131313; + padding: 20px 32px; + color: white; + font-size: 20px; + font-weight: 600; + cursor: pointer; +` +const ButtonContainer = styled.div` + display: flex; + justify-content: flex-end; + gap: 24px; + width: 100%; + cursor: pointer; +` From 6e18b05e8eea46b6a352a60a92f72a2158eea450 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 23:23:49 +0900 Subject: [PATCH 17/33] =?UTF-8?q?refactor:=20=ED=86=B5=ED=95=A9=20Order=20?= =?UTF-8?q?Card=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EA=B0=9C?= =?UTF-8?q?=EB=B0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/historyOrderCard.tsx | 118 ------------------ .../{waitingOrderCard.tsx => orderCard.tsx} | 57 +++++---- src/components/processOrderCard.tsx | 115 ----------------- src/utils/cardFunc.ts | 2 +- 4 files changed, 31 insertions(+), 261 deletions(-) delete mode 100644 src/components/historyOrderCard.tsx rename src/components/{waitingOrderCard.tsx => orderCard.tsx} (59%) delete mode 100644 src/components/processOrderCard.tsx diff --git a/src/components/historyOrderCard.tsx b/src/components/historyOrderCard.tsx deleted file mode 100644 index 36ec3b4..0000000 --- a/src/components/historyOrderCard.tsx +++ /dev/null @@ -1,118 +0,0 @@ -import styled from 'styled-components' -import OrderChip, { statusType } from './orderChip' -import dayjs from 'dayjs' -import { orderType, productType } from './waitingOrderCard' -import { returnOptions, returnTotalPrice } from 'utils/cardFunc' -import PreviousOrder from './prevOrder' - -interface OrderCardProps { - from: 'waiting' | 'process' | 'history' - tableNumber: number - status: statusType - orders: orderType[] - prevOrders?: orderType[] -} - -export default function OrderCard({ from, tableNumber, status, orders, prevOrders }: OrderCardProps) { - return ( - - - - 테이블 번호 {tableNumber.toString().padStart(2, '0')} - - - {dayjs().locale('ko').format('YYYY년 M월 D일 HH시 mm분 ss초')} - - - 메뉴 {orders.length}개 총 {returnTotalPrice(orders).toLocaleString()}원 - - - {orders.map(order => ( - - {order.name} {order.count === undefined ? '1' : order.count}개 {returnOptions(order.options)} |{' '} - {order.price.toLocaleString()}원 - - ))} - - {status === 'multi' && } - {prevOrders !== undefined && } - {status === 'multi' && ( - - 최초 주문만 보기 - {/* 이전 주문 보기 */} - - )} - - ) -} - -const Container = styled.div` - padding: 40px; - border-radius: 16px; - border: 2px solid #c6c6c6; -` - -const Top = styled.div` - width: 100%; - display: flex; - justify-content: space-between; - margin-bottom: 32px; -` -const TableNumber = styled.div` - font-size: 32px; - font-weight: 500; - color: #161616; -` -const TitleContainer = styled.div` - display: flex; - gap: 32px; -` -const TimeText = styled.div` - color: #6f6f6f; - font-size: 28px; - font-weight: 600; -` -const OrderSummary = styled.div` - color: #131313; - font-weight: 500; - font-size: 40px; - margin-bottom: 24px; -` -export const OrderContainer = styled.div` - display: inline-flex; - flex-direction: column; - gap: 12px; -` -export const OrderDetail = styled.div` - font-size: 20px; - color: #6f6f6f; - font-weight: 500; -` -const Divider = styled.hr` - margin: 32px 0; -` -const DenyButton = styled.div` - border-radius: 8px; - border: 1px solid #a8a8a8; - padding: 20px 32px; - color: #6f6f6f; - font-size: 20px; - font-weight: 600; -` -const ApproveButton = styled.div` - border-radius: 8px; - border: 1px solid #131313; - background-color: #131313; - padding: 20px 32px; - color: white; - font-size: 20px; - font-weight: 600; - cursor: pointer; -` -const ButtonContainer = styled.div` - display: flex; - justify-content: flex-end; - gap: 24px; - width: 100%; - cursor: pointer; -` diff --git a/src/components/waitingOrderCard.tsx b/src/components/orderCard.tsx similarity index 59% rename from src/components/waitingOrderCard.tsx rename to src/components/orderCard.tsx index 86f8b2c..74176d2 100644 --- a/src/components/waitingOrderCard.tsx +++ b/src/components/orderCard.tsx @@ -1,6 +1,11 @@ import styled from 'styled-components' import OrderChip, { statusType } from './orderChip' +import dayjs from 'dayjs' import { returnOptions, returnTotalPrice } from 'utils/cardFunc' +import PreviousOrder from './prevOrder' +import OrderDetail from './orderDetail' +import { useState } from 'react' +import path from 'path' export type productType = { name: string @@ -13,13 +18,17 @@ export type orderType = productType & { } interface OrderCardProps { - from: 'waiting' | 'process' | 'history' tableNumber: number status: statusType orders: orderType[] + prevOrders?: orderType[] } -export default function OrderCard({ from, tableNumber, status, orders }: OrderCardProps) { +export default function OrderCard({ tableNumber, status, orders, prevOrders }: OrderCardProps) { + const pathname = window.location.pathname + + const [showDetail, setShowDetail] = useState(false) + return ( @@ -27,30 +36,34 @@ export default function OrderCard({ from, tableNumber, status, orders }: OrderCa 테이블 번호 {tableNumber.toString().padStart(2, '0')} - 0분 전 + + {pathname === '/waiting' ? '0분 전' : dayjs().locale('ko').format('YYYY년 M월 D일 HH시 mm분 ss초')} + {pathname === '/history' && ' 결제 완료'} + 메뉴 {orders.length}개 총 {returnTotalPrice(orders).toLocaleString()}원 - - {orders.map(order => ( - - {order.name} {order.count === undefined ? '1' : order.count}개 {returnOptions(order.options)} |{' '} - {order.price.toLocaleString()}원 - - ))} - - + + {!(pathname === '/history' && status === 'single') && } + {prevOrders !== undefined && ( + + )} - 주문 거절 - 주문 거절 + {pathname === '/waiting' && ( + <> + 주문 거절 + 주문 승인 + + )} + {pathname === '/process' && 결제 완료} + {pathname === '/history' && status === 'multi' && 이전 주문 보기} ) } const Container = styled.div` - flex: 1; padding: 40px; border-radius: 16px; border: 2px solid #c6c6c6; @@ -82,20 +95,10 @@ const OrderSummary = styled.div` font-size: 40px; margin-bottom: 24px; ` -const OrderContainer = styled.div` - display: flex; - flex-direction: column; - gap: 12px; -` -const OrderDetail = styled.div` - font-size: 20px; - color: #6f6f6f; - font-weight: 500; -` const Divider = styled.hr` margin: 32px 0; ` -const DenyButton = styled.div` +const WhiteButton = styled.div` border-radius: 8px; border: 1px solid #a8a8a8; padding: 20px 32px; @@ -103,7 +106,7 @@ const DenyButton = styled.div` font-size: 20px; font-weight: 600; ` -const ApproveButton = styled.div` +const BlackButton = styled.div` border-radius: 8px; border: 1px solid #131313; background-color: #131313; diff --git a/src/components/processOrderCard.tsx b/src/components/processOrderCard.tsx deleted file mode 100644 index ef91e6a..0000000 --- a/src/components/processOrderCard.tsx +++ /dev/null @@ -1,115 +0,0 @@ -import styled from 'styled-components' -import OrderChip, { statusType } from './orderChip' -import dayjs from 'dayjs' -import { orderType, productType } from './waitingOrderCard' -import { returnOptions, returnTotalPrice } from 'utils/cardFunc' -import PreviousOrder from './prevOrder' - -interface OrderCardProps { - from: 'waiting' | 'process' | 'history' - tableNumber: number - status: statusType - orders: orderType[] - prevOrders?: orderType[] -} - -export default function OrderCard({ from, tableNumber, status, orders, prevOrders }: OrderCardProps) { - return ( - - - - 테이블 번호 {tableNumber.toString().padStart(2, '0')} - - - {dayjs().locale('ko').format('YYYY년 M월 D일 HH시 mm분 ss초')} - - - 메뉴 {orders.length}개 총 {returnTotalPrice(orders).toLocaleString()}원 - - - {orders.map(order => ( - - {order.name} {order.count === undefined ? '1' : order.count}개 {returnOptions(order.options)} |{' '} - {order.price.toLocaleString()}원 - - ))} - - - {prevOrders !== undefined && } - - 결제 완료 - - - ) -} - -const Container = styled.div` - padding: 40px; - border-radius: 16px; - border: 2px solid #c6c6c6; -` - -const Top = styled.div` - width: 100%; - display: flex; - justify-content: space-between; - margin-bottom: 32px; -` -const TableNumber = styled.div` - font-size: 32px; - font-weight: 500; - color: #161616; -` -const TitleContainer = styled.div` - display: flex; - gap: 32px; -` -const TimeText = styled.div` - color: #6f6f6f; - font-size: 28px; - font-weight: 600; -` -const OrderSummary = styled.div` - color: #131313; - font-weight: 500; - font-size: 40px; - margin-bottom: 24px; -` -export const OrderContainer = styled.div` - display: inline-flex; - flex-direction: column; - gap: 12px; -` -export const OrderDetail = styled.div` - font-size: 20px; - color: #6f6f6f; - font-weight: 500; -` -const Divider = styled.hr` - margin: 32px 0; -` -const DenyButton = styled.div` - border-radius: 8px; - border: 1px solid #a8a8a8; - padding: 20px 32px; - color: #6f6f6f; - font-size: 20px; - font-weight: 600; -` -const ApproveButton = styled.div` - border-radius: 8px; - border: 1px solid #131313; - background-color: #131313; - padding: 20px 32px; - color: white; - font-size: 20px; - font-weight: 600; - cursor: pointer; -` -const ButtonContainer = styled.div` - display: flex; - justify-content: flex-end; - gap: 24px; - width: 100%; - cursor: pointer; -` diff --git a/src/utils/cardFunc.ts b/src/utils/cardFunc.ts index 547dfe3..718dbba 100644 --- a/src/utils/cardFunc.ts +++ b/src/utils/cardFunc.ts @@ -1,4 +1,4 @@ -import { orderType, productType } from 'components/waitingOrderCard' +import { orderType, productType } from 'components/orderCard' export const returnTotalPrice = (orders: orderType[]) => orders.reduce((acc, order) => { From cd700c28ec4abf095c9cba66ee2efe570a52bd31 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 23:24:18 +0900 Subject: [PATCH 18/33] =?UTF-8?q?refactor:=20Order=20Detail=20=EC=BB=B4?= =?UTF-8?q?=ED=8F=AC=EB=84=8C=ED=8A=B8=EB=A1=9C=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/orderDetail.tsx | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/components/orderDetail.tsx diff --git a/src/components/orderDetail.tsx b/src/components/orderDetail.tsx new file mode 100644 index 0000000..5fc0875 --- /dev/null +++ b/src/components/orderDetail.tsx @@ -0,0 +1,31 @@ +import styled from 'styled-components' +import { orderType } from './orderCard' +import { returnOptions } from 'utils/cardFunc' + +interface OrderDetailProps { + orders: orderType[] +} + +export default function OrderDetail({ orders }: OrderDetailProps) { + return ( + + {orders.map(order => ( + + {order.name} {order.count === undefined ? '1' : order.count}개 {returnOptions(order.options)} |{' '} + {order.price.toLocaleString()}원 + + ))} + + ) +} + +export const Container = styled.div` + display: inline-flex; + flex-direction: column; + gap: 12px; +` +export const Detail = styled.div` + font-size: 20px; + color: #6f6f6f; + font-weight: 500; +` From a1ad07668a878341fc7d94a0513976ff37a15cad Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 23:25:03 +0900 Subject: [PATCH 19/33] =?UTF-8?q?fix:=20Prev=20Order=20-=20history=20?= =?UTF-8?q?=ED=83=AD=EC=97=90=EB=8F=84=20=EC=82=AC=EC=9A=A9=20=EA=B0=80?= =?UTF-8?q?=EB=8A=A5=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/prevOrder.tsx | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/components/prevOrder.tsx b/src/components/prevOrder.tsx index 859d759..e47e461 100644 --- a/src/components/prevOrder.tsx +++ b/src/components/prevOrder.tsx @@ -1,25 +1,28 @@ -import { useState } from 'react' -import { orderType } from './waitingOrderCard' +import React, { SetStateAction, useState } from 'react' +import { orderType } from './orderCard' import styled from 'styled-components' -import { OrderContainer, OrderDetail } from './processOrderCard' +import { Container as OrderContainer, Detail as OrderDetail } from './orderDetail' import { returnOptions, returnTotalPrice } from 'utils/cardFunc' import { ReactComponent as UpArrowIcon } from 'assets/image/up-arrow.svg' import { ReactComponent as DownArrowIcon } from 'assets/image/down-arrow.svg' interface PreviousOrderProps { orders: orderType[] + showDetail: boolean + setShowDetail: React.Dispatch> + showLabel?: boolean } -export default function PreviousOrder({ orders }: PreviousOrderProps) { - const [showDetail, setShowDetail] = useState(false) - +export default function PreviousOrder({ orders, showDetail, setShowDetail, showLabel = true }: PreviousOrderProps) { const toggleShowDetail = () => setShowDetail(!showDetail) return ( - - 이전 주문 보기 - {showDetail ? : } - + {showLabel && ( + + 이전 주문 보기 + {showDetail ? : } + + )} {showDetail && ( {orders.map(order => ( From ba98f399dd720306125ba36fd1e74380ce790b37 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 23:25:27 +0900 Subject: [PATCH 20/33] =?UTF-8?q?fix:=20=EC=8A=B9=EC=9D=B8=20=EB=8C=80?= =?UTF-8?q?=EA=B8=B0=20=ED=83=AD=20Path=20Name=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/layout.tsx | 2 +- src/constants/path.ts | 2 +- src/pages/login.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/layout.tsx b/src/components/layout.tsx index bdbabd8..4617b05 100644 --- a/src/components/layout.tsx +++ b/src/components/layout.tsx @@ -8,7 +8,7 @@ export default function Layout() { { name: '승인 대기', count: 3, - onClick: () => navigate('/wait'), + onClick: () => navigate('/waiting'), }, { name: '진행 중', diff --git a/src/constants/path.ts b/src/constants/path.ts index 21cd429..bc1d645 100644 --- a/src/constants/path.ts +++ b/src/constants/path.ts @@ -1,6 +1,6 @@ export const ROUTE = { LOGIN: '/', PROCESS_MAIN: '/process', - WAIT_MAIN: '/wait', + WAIT_MAIN: '/waiting', HISTORY_MAIN: '/history', } diff --git a/src/pages/login.tsx b/src/pages/login.tsx index e636797..e08a982 100644 --- a/src/pages/login.tsx +++ b/src/pages/login.tsx @@ -13,7 +13,7 @@ export default function Login() { 간편하게 일하는 법 - navigate('/process')}> + navigate('/waiting')}> 카카오 로그인 From 428243d72c8f726da7f8f64c9a6642232abe2f05 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 23:40:37 +0900 Subject: [PATCH 21/33] =?UTF-8?q?refactor:=20returnOrderDetail=20=ED=95=A8?= =?UTF-8?q?=EC=88=98=EB=A1=9C=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/orderDetail.tsx | 7 ++----- src/components/prevOrder.tsx | 7 ++----- src/utils/cardFunc.ts | 8 +++++++- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/components/orderDetail.tsx b/src/components/orderDetail.tsx index 5fc0875..5871bcb 100644 --- a/src/components/orderDetail.tsx +++ b/src/components/orderDetail.tsx @@ -1,6 +1,6 @@ import styled from 'styled-components' import { orderType } from './orderCard' -import { returnOptions } from 'utils/cardFunc' +import { returnOrderDetail } from 'utils/cardFunc' interface OrderDetailProps { orders: orderType[] @@ -10,10 +10,7 @@ export default function OrderDetail({ orders }: OrderDetailProps) { return ( {orders.map(order => ( - - {order.name} {order.count === undefined ? '1' : order.count}개 {returnOptions(order.options)} |{' '} - {order.price.toLocaleString()}원 - + {returnOrderDetail(order)} ))} ) diff --git a/src/components/prevOrder.tsx b/src/components/prevOrder.tsx index e47e461..82a5c27 100644 --- a/src/components/prevOrder.tsx +++ b/src/components/prevOrder.tsx @@ -2,7 +2,7 @@ import React, { SetStateAction, useState } from 'react' import { orderType } from './orderCard' import styled from 'styled-components' import { Container as OrderContainer, Detail as OrderDetail } from './orderDetail' -import { returnOptions, returnTotalPrice } from 'utils/cardFunc' +import { returnOrderDetail, returnTotalPrice } from 'utils/cardFunc' import { ReactComponent as UpArrowIcon } from 'assets/image/up-arrow.svg' import { ReactComponent as DownArrowIcon } from 'assets/image/down-arrow.svg' @@ -29,10 +29,7 @@ export default function PreviousOrder({ orders, showDetail, setShowDetail, showL {orders.map(order => ( - - {order.name} {order.count === undefined ? '1' : order.count}개 {returnOptions(order.options)} |{' '} - {order.price.toLocaleString()}원 - + {returnOrderDetail(order)} ))} {returnTotalPrice(orders).toLocaleString()}원 diff --git a/src/utils/cardFunc.ts b/src/utils/cardFunc.ts index 718dbba..3c3862a 100644 --- a/src/utils/cardFunc.ts +++ b/src/utils/cardFunc.ts @@ -7,7 +7,13 @@ export const returnTotalPrice = (orders: orderType[]) => }, 0) export const returnOptions = (options: productType[] | undefined) => { - if (options === undefined) return + if (options === undefined) return '' return ' | '.concat(options?.map(option => `${option.name} (+${option.price}원)`).join(', ')) } + +export const returnOrderDetail = (order: orderType) => { + return `${order.name} ${order.count === undefined ? '1' : order.count}개 ${returnOptions( + order.options, + )} | ${order.price.toLocaleString()}원` +} From 9ab53b937bcda8cd36c6ea10f5e219790d21c1c0 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 23:51:52 +0900 Subject: [PATCH 22/33] =?UTF-8?q?refactor:=20showLabel=20props=20=ED=95=84?= =?UTF-8?q?=EC=88=98=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/orderCard.tsx | 7 ++++++- src/components/prevOrder.tsx | 4 ++-- src/styles/shared.ts | 15 +++++++++++++++ 3 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 src/styles/shared.ts diff --git a/src/components/orderCard.tsx b/src/components/orderCard.tsx index 74176d2..fc918eb 100644 --- a/src/components/orderCard.tsx +++ b/src/components/orderCard.tsx @@ -47,7 +47,12 @@ export default function OrderCard({ tableNumber, status, orders, prevOrders }: O {!(pathname === '/history' && status === 'single') && } {prevOrders !== undefined && ( - + )} {pathname === '/waiting' && ( diff --git a/src/components/prevOrder.tsx b/src/components/prevOrder.tsx index 82a5c27..d76b066 100644 --- a/src/components/prevOrder.tsx +++ b/src/components/prevOrder.tsx @@ -10,10 +10,10 @@ interface PreviousOrderProps { orders: orderType[] showDetail: boolean setShowDetail: React.Dispatch> - showLabel?: boolean + showLabel: boolean } -export default function PreviousOrder({ orders, showDetail, setShowDetail, showLabel = true }: PreviousOrderProps) { +export default function PreviousOrder({ orders, showDetail, setShowDetail, showLabel }: PreviousOrderProps) { const toggleShowDetail = () => setShowDetail(!showDetail) return ( diff --git a/src/styles/shared.ts b/src/styles/shared.ts new file mode 100644 index 0000000..098ddb8 --- /dev/null +++ b/src/styles/shared.ts @@ -0,0 +1,15 @@ +import styled from 'styled-components' + +const Container = styled.div` + flex: 1; + padding: 60px 40px; + overflow-y: scroll; +` + +const CardContainer = styled.div` + display: flex; + flex-direction: column; + gap: 24px; +` + +export { Container, CardContainer } From c43408e913207255967c2254b391a10a3f98cada Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 23:52:32 +0900 Subject: [PATCH 23/33] =?UTF-8?q?fix:=20history=20=ED=83=AD=20=EB=B2=84?= =?UTF-8?q?=ED=8A=BC=20=EB=AC=B8=EA=B5=AC=20=ED=86=A0=EA=B8=80=20=EA=B0=80?= =?UTF-8?q?=EB=8A=A5=ED=95=98=EA=B2=8C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/orderCard.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/orderCard.tsx b/src/components/orderCard.tsx index fc918eb..4920e2b 100644 --- a/src/components/orderCard.tsx +++ b/src/components/orderCard.tsx @@ -28,6 +28,7 @@ export default function OrderCard({ tableNumber, status, orders, prevOrders }: O const pathname = window.location.pathname const [showDetail, setShowDetail] = useState(false) + const toggleShowDetail = () => setShowDetail(!showDetail) return ( @@ -62,7 +63,9 @@ export default function OrderCard({ tableNumber, status, orders, prevOrders }: O )} {pathname === '/process' && 결제 완료} - {pathname === '/history' && status === 'multi' && 이전 주문 보기} + {pathname === '/history' && status === 'multi' && ( + {showDetail ? '최초 주문만 보기' : '이전 주문 보기'} + )} ) From 86842a605b4d9bbd8715423b673722306cce6946 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Tue, 23 Jul 2024 23:57:07 +0900 Subject: [PATCH 24/33] =?UTF-8?q?feat:=20=EC=8A=B9=EC=9D=B8=EB=8C=80?= =?UTF-8?q?=EA=B8=B0,=20=EC=A7=84=ED=96=89=EC=A4=91=20=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.tsx | 6 +-- src/pages/process.tsx | 43 ++++++++++++++++++ src/pages/process/process.tsx | 3 -- src/pages/wait/wait.tsx | 3 -- src/pages/waiting.tsx | 42 +++++++++++++++++ src/styles/shared.ts | 9 +++- yarn.lock | 85 +++++++++++++++++------------------ 7 files changed, 137 insertions(+), 54 deletions(-) create mode 100644 src/pages/process.tsx delete mode 100644 src/pages/process/process.tsx delete mode 100644 src/pages/wait/wait.tsx create mode 100644 src/pages/waiting.tsx diff --git a/src/App.tsx b/src/App.tsx index 747aeba..c6cbed8 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,11 +1,11 @@ import React from 'react' import { Route, Routes } from 'react-router' import { ROUTE } from './constants/path' -import ProcessMain from './pages/process/process' +import ProcessMain from './pages/process' import Layout from './components/layout' import Login from './pages/login' -import HistoryMain from './pages/history/history' -import WaitMain from './pages/wait/wait' +import HistoryMain from './pages/history' +import WaitMain from './pages/waiting' export default function App() { return ( diff --git a/src/pages/process.tsx b/src/pages/process.tsx new file mode 100644 index 0000000..2b1ca2f --- /dev/null +++ b/src/pages/process.tsx @@ -0,0 +1,43 @@ +import OrderCard from 'components/orderCard' +import styled from 'styled-components' +import { Container, CardContainer, TabTitle } from 'styles/shared' + +export const orderlist = [ + { + name: '크림 새우 스파게티', + price: 14000, + count: 1, + }, + { + name: '토마토 스파게티', + price: 12000, + options: [ + { + name: '치즈 추가', + price: 1500, + }, + { + name: '면 추가', + price: 4000, + count: 2, + }, + ], + }, + { + name: '페퍼로니 피자', + price: 24000, + count: 1, + }, +] + +export default function ProcessMain() { + return ( + + 진행 중 3 + + + + + + ) +} diff --git a/src/pages/process/process.tsx b/src/pages/process/process.tsx deleted file mode 100644 index 23d4c31..0000000 --- a/src/pages/process/process.tsx +++ /dev/null @@ -1,3 +0,0 @@ -export default function ProcessMain() { - return
its process main page
-} diff --git a/src/pages/wait/wait.tsx b/src/pages/wait/wait.tsx deleted file mode 100644 index fda4160..0000000 --- a/src/pages/wait/wait.tsx +++ /dev/null @@ -1,3 +0,0 @@ -export default function WaitMain() { - return
Its wait main page
-} diff --git a/src/pages/waiting.tsx b/src/pages/waiting.tsx new file mode 100644 index 0000000..b85983e --- /dev/null +++ b/src/pages/waiting.tsx @@ -0,0 +1,42 @@ +import OrderCard from 'components/orderCard' +import { Container, CardContainer, TabTitle } from 'styles/shared' + +const orderlist = [ + { + name: '크림 새우 스파게티', + price: 14000, + count: 1, + }, + { + name: '토마토 스파게티', + price: 12000, + options: [ + { + name: '치즈 추가', + price: 1500, + }, + { + name: '면 추가', + price: 4000, + count: 2, + }, + ], + }, + { + name: '페퍼로니 피자', + price: 24000, + count: 1, + }, +] + +export default function WaitMain() { + return ( + + 승인 대기 3 + + + + + + ) +} diff --git a/src/styles/shared.ts b/src/styles/shared.ts index 098ddb8..961bab3 100644 --- a/src/styles/shared.ts +++ b/src/styles/shared.ts @@ -12,4 +12,11 @@ const CardContainer = styled.div` gap: 24px; ` -export { Container, CardContainer } +const TabTitle = styled.div` + font-size: 32px; + color: #131313; + font-weight: 600; + margin-bottom: 36px; +` + +export { Container, CardContainer, TabTitle } diff --git a/yarn.lock b/yarn.lock index 62c4c0f..a7bc93f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2210,10 +2210,18 @@ "@types/eslint" "*" "@types/estree" "*" -"@types/eslint@*", "@types/eslint@^7.29.0 || ^8.4.1": - version "8.56.10" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.10.tgz#eb2370a73bf04a901eeba8f22595c7ee0f7eb58d" - integrity sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ== +"@types/eslint@*": + version "9.6.0" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.0.tgz#51d4fe4d0316da9e9f2c80884f2c20ed5fb022ff" + integrity sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/eslint@^7.29.0 || ^8.4.1": + version "8.56.11" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.11.tgz#e2ff61510a3b9454b3329fe7731e3b4c6f780041" + integrity sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -3135,16 +3143,6 @@ array.prototype.reduce@^1.0.6: es-object-atoms "^1.0.0" is-string "^1.0.7" -array.prototype.toreversed@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz#b989a6bf35c4c5051e1dc0325151bf8088954eba" - integrity sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - array.prototype.tosorted@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#fe954678ff53034e717ea3352a03f0b0b86f7ffc" @@ -3655,9 +3653,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001599, caniuse-lite@^1.0.30001640: - version "1.0.30001642" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001642.tgz#6aa6610eb24067c246d30c57f055a9d0a7f8d05f" - integrity sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA== + version "1.0.30001643" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz#9c004caef315de9452ab970c3da71085f8241dbd" + integrity sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg== case-sensitive-paths-webpack-plugin@^2.4.0: version "2.4.0" @@ -4698,9 +4696,9 @@ electron-publish@24.13.1: mime "^2.5.2" electron-to-chromium@^1.4.820: - version "1.4.830" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.830.tgz#a11899bc3343bc28f57a87fcf83060e0d28038d4" - integrity sha512-TrPKKH20HeN0J1LHzsYLs2qwXrp8TF4nHdu4sq61ozGbzMpWhI7iIOPYPPkxeq1azMT9PZ8enPFcftbs/Npcjg== + version "1.5.0" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.0.tgz#0d3123a9f09189b9c7ab4b5d6848d71b3c1fd0e8" + integrity sha512-Vb3xHHYnLseK8vlMJQKJYXJ++t4u1/qJ3vykuVrVjvdiOEhYyT1AuP4x03G8EnPmYvYOhe9T+dADTmthjRQMkA== electron@^31.2.1: version "31.2.1" @@ -4749,9 +4747,9 @@ end-of-stream@^1.1.0: once "^1.4.0" enhanced-resolve@^5.17.0: - version "5.17.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz#d037603789dd9555b89aaec7eb78845c49089bc5" - integrity sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA== + version "5.17.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" + integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -5081,14 +5079,13 @@ eslint-plugin-react-hooks@^4.3.0: integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ== eslint-plugin-react@^7.27.1: - version "7.34.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.34.4.tgz#1f0dc313a0937db7ce15fd1f6c3d77e70f3e02fb" - integrity sha512-Np+jo9bUwJNxCsT12pXtrGhJgT3T44T1sHhn1Ssr42XFn8TES0267wPGo5nNrMHi8qkyimDAX2BUmkf9pSaVzA== + version "7.35.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz#00b1e4559896710e58af6358898f2ff917ea4c41" + integrity sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA== dependencies: array-includes "^3.1.8" array.prototype.findlast "^1.2.5" array.prototype.flatmap "^1.3.2" - array.prototype.toreversed "^1.1.2" array.prototype.tosorted "^1.1.4" doctrine "^2.1.0" es-iterator-helpers "^1.0.19" @@ -6137,9 +6134,9 @@ import-fresh@^3.1.0, import-fresh@^3.2.1: resolve-from "^4.0.0" import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" @@ -7103,9 +7100,9 @@ joi@^17.11.0: "@sideway/pinpoint" "^2.0.0" jotai@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/jotai/-/jotai-2.9.0.tgz#240f37fb1bb8a8d4c8d178b423575f2da677814f" - integrity sha512-MioTpMvR78IGfJ+W8EwQj3kwTkb+u0reGnTyg3oJZMWK9rK9v8NBSC9Rhrg9jrrFYA6bGZtzJa96zsuAYF6W3w== + version "2.9.1" + resolved "https://registry.yarnpkg.com/jotai/-/jotai-2.9.1.tgz#f32dd16fc16b7b32d940a3a8d452eddfcb16218c" + integrity sha512-t4Q7FIqQB3N/1art4OcqdlEtPmQ2h4DNIzTFhvt06WE0kCpQ1QoG+1A1IGTaQBi2KdDRsnywj+ojmHHKgw6PDA== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" @@ -7743,9 +7740,9 @@ node-int64@^0.4.0: integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== node-releases@^2.0.14: - version "2.0.17" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.17.tgz#d74bc4fec38d839eec5db2a3c9c963d4f33cb366" - integrity sha512-Ww6ZlOiEQfPfXM45v17oabk77Z7mg5bOt7AjDyzy7RjK9OrLrLC8dyZQoAPEOtFX9SaNf1Tdvr5gRJWdTJj7GA== + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" @@ -8447,11 +8444,11 @@ postcss-modules-values@^4.0.0: icss-utils "^5.0.0" postcss-nested@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c" - integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== + version "6.2.0" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.2.0.tgz#4c2d22ab5f20b9cb61e2c5c5915950784d068131" + integrity sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ== dependencies: - postcss-selector-parser "^6.0.11" + postcss-selector-parser "^6.1.1" postcss-nesting@^10.2.0: version "10.2.0" @@ -8654,7 +8651,7 @@ postcss-selector-not@^6.0.1: dependencies: postcss-selector-parser "^6.0.10" -postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: +postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9, postcss-selector-parser@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz#5be94b277b8955904476a2400260002ce6c56e38" integrity sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg== @@ -10456,9 +10453,9 @@ typescript@^4.9.5: integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== typescript@^5.3.3: - version "5.5.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.3.tgz#e1b0a3c394190838a0b168e771b0ad56a0af0faa" - integrity sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ== + version "5.5.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba" + integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== unbox-primitive@^1.0.2: version "1.0.2" From 0519efe0003e9ba73234718eb9e152d329486e24 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Wed, 24 Jul 2024 01:09:05 +0900 Subject: [PATCH 25/33] =?UTF-8?q?feat:=20history=20=ED=83=AD=20=EB=82=A0?= =?UTF-8?q?=EC=A7=9C=20filter=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/historyDateFilter.tsx | 67 ++++++++++++++++++++++++++++ src/pages/history.tsx | 30 +++++++++++++ src/pages/history/history.tsx | 3 -- 3 files changed, 97 insertions(+), 3 deletions(-) create mode 100644 src/components/historyDateFilter.tsx create mode 100644 src/pages/history.tsx delete mode 100644 src/pages/history/history.tsx diff --git a/src/components/historyDateFilter.tsx b/src/components/historyDateFilter.tsx new file mode 100644 index 0000000..34a7f3f --- /dev/null +++ b/src/components/historyDateFilter.tsx @@ -0,0 +1,67 @@ +import dayjs from 'dayjs' +import React, { SetStateAction, useState } from 'react' +import styled from 'styled-components' + +const buttonText = ['오늘', '1주', '1개월'] + +interface HistoryDateFilterProps { + date: string + setDate: React.Dispatch> +} + +export default function HistoryDateFilter({ date, setDate }: HistoryDateFilterProps) { + const [selectedIdx, setSelectedIdx] = useState(0) + + const onClickDate = (index: number) => { + setSelectedIdx(index) + switch (index) { + case 0: + setDate(dayjs().format('YYYY.MM.DD')) + break + case 1: + setDate(dayjs().subtract(1, 'week').format('YYYY.MM.DD') + ' - ' + dayjs().format('YYYY.MM.DD')) + break + case 2: + setDate(dayjs().subtract(1, 'month').format('YYYY.MM.DD') + ' - ' + dayjs().format('YYYY.MM.DD')) + break + default: + setDate('error') + } + } + + const onClickDateInput = (event: React.ChangeEvent) => { + setDate(dayjs(event.target.value).format('YYYY.MM.DD')) + } + + return ( + + {buttonText.map((text, i) => ( + onClickDate(i)}> + {text} + + ))} + + + ) +} + +const Container = styled.div` + display: flex; + gap: 10px; + align-items: center; + margin-bottom: 45px; +` +const DateButton = styled.div<{ selected: boolean }>` + background-color: ${props => (props.selected ? '#000000' : 'transparent')}; + color: ${props => (props.selected ? '#FFFFFF' : '#000000')}; + border-radius: 1000px; + padding: 12px 20px; + cursor: pointer; + display: flex; + align-items: center; +` +const DateInput = styled.input` + border-radius: 8px; + padding: 12px 16px; + border: 2px solid #c6c6c6; +` diff --git a/src/pages/history.tsx b/src/pages/history.tsx new file mode 100644 index 0000000..f2e9a4a --- /dev/null +++ b/src/pages/history.tsx @@ -0,0 +1,30 @@ +import HistoryDateFilter from 'components/historyDateFilter' +import OrderCard from 'components/orderCard' +import { orderlist } from 'pages/process' +import { useState } from 'react' +import { Container, CardContainer, TabTitle } from 'styles/shared' +import styled from 'styled-components' +import dayjs from 'dayjs' + +export default function HistoryMain() { + const [date, setDate] = useState(dayjs().format('YYYY.MM.DD')) + + return ( + + 히스토리 + + {date} + + + + + + ) +} + +const DateText = styled.div` + color: #000000; + font-size: 32px; + font-weight: 700; + margin-bottom: 22px; +` diff --git a/src/pages/history/history.tsx b/src/pages/history/history.tsx deleted file mode 100644 index 1eabaf1..0000000 --- a/src/pages/history/history.tsx +++ /dev/null @@ -1,3 +0,0 @@ -export default function HistoryMain() { - return
Its History main page
-} From 6fb95a91deae038b52c0c2afca047a2bb5fab76b Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Wed, 24 Jul 2024 01:32:37 +0900 Subject: [PATCH 26/33] =?UTF-8?q?fix:=20=ED=98=84=EC=9E=AC=20=ED=81=B4?= =?UTF-8?q?=EB=A6=AD=ED=95=9C=20=ED=83=AD=20=EC=A0=95=EB=B3=B4=20atom=20?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EC=A0=80=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + src/App.tsx | 3 +- src/components/layout.tsx | 20 ++- src/components/navBar.tsx | 17 ++ src/constants/path.ts | 2 +- src/index.tsx | 3 + src/logo.svg | 1 - src/utils/atom.ts | 6 + yarn.lock | 318 +++++++++++++++++++++++++++++++++++++- 9 files changed, 355 insertions(+), 16 deletions(-) delete mode 100644 src/logo.svg create mode 100644 src/utils/atom.ts diff --git a/package.json b/package.json index a4222a5..383b7d4 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "dayjs": "^1.11.12", "electron-is-dev": "^3.0.1", "jotai": "^2.9.0", + "jotai-devtools": "^0.10.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-router-dom": "^6.25.1", diff --git a/src/App.tsx b/src/App.tsx index c6cbed8..9853805 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -6,13 +6,14 @@ import Layout from './components/layout' import Login from './pages/login' import HistoryMain from './pages/history' import WaitMain from './pages/waiting' +import { DevTools } from 'jotai-devtools' export default function App() { return ( } /> }> - } /> + } /> } /> } /> diff --git a/src/components/layout.tsx b/src/components/layout.tsx index 4617b05..7ae50f1 100644 --- a/src/components/layout.tsx +++ b/src/components/layout.tsx @@ -1,27 +1,35 @@ import { Outlet, useNavigate } from 'react-router' import styled from 'styled-components' import NavBar from './navBar' +import { useAtom } from 'jotai' +import { currentTabAtom, historyCountAtom, processCountAtom, waitingCountAtom } from 'utils/atom' export default function Layout() { const navigate = useNavigate() + const [, setCurrentTab] = useAtom(currentTabAtom) const navBarItem = [ { name: '승인 대기', - count: 3, - onClick: () => navigate('/waiting'), + count: waitingCount, + onClick: () => onClickTab('/waiting'), }, { name: '진행 중', - count: 3, - onClick: () => navigate('/process'), + count: processount, + onClick: () => onClickTab('/process'), }, { name: '히스토리', - count: 3, - onClick: () => navigate('/history'), + count: historyCount, + onClick: () => onClickTab('/history'), }, ] + const onClickTab = (pathname: string) => { + setCurrentTab(pathname) + navigate(pathname) + } + return ( diff --git a/src/components/navBar.tsx b/src/components/navBar.tsx index 521907d..da66a29 100644 --- a/src/components/navBar.tsx +++ b/src/components/navBar.tsx @@ -1,15 +1,32 @@ import { useState } from 'react' import NavBarItem from './navBarItem' import styled from 'styled-components' +import { useAtom } from 'jotai' +import { currentTabAtom } from 'utils/atom' +import { ROUTE } from 'constants/path' type VerticalNavProps = { items: { name: string; count?: number; onClick: () => void }[] } export default function NavBar({ items }: VerticalNavProps) { + const [, setCurrentTab] = useAtom(currentTabAtom) const [focusedIdx, setFocusedIdx] = useState(0) const onClickItem = (i: number, onClick: () => void) => { + switch (i) { + case 0: + setCurrentTab(ROUTE.WAITING_MAIN) + break + case 1: + setCurrentTab(ROUTE.PROCESS_MAIN) + break + case 1: + setCurrentTab(ROUTE.HISTORY_MAIN) + break + default: + setCurrentTab('error') + } setFocusedIdx(i) onClick() } diff --git a/src/constants/path.ts b/src/constants/path.ts index bc1d645..f925878 100644 --- a/src/constants/path.ts +++ b/src/constants/path.ts @@ -1,6 +1,6 @@ export const ROUTE = { LOGIN: '/', PROCESS_MAIN: '/process', - WAIT_MAIN: '/waiting', + WAITING_MAIN: '/waiting', HISTORY_MAIN: '/history', } diff --git a/src/index.tsx b/src/index.tsx index c382e0e..36d54ae 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -6,6 +6,8 @@ import { ReactQueryDevtools } from '@tanstack/react-query-devtools' import { BrowserRouter } from 'react-router-dom' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import './styles/global.css' +import { DevTools } from 'jotai-devtools' +import 'jotai-devtools/styles.css' const queryClient = new QueryClient() @@ -15,6 +17,7 @@ root.render( + diff --git a/src/logo.svg b/src/logo.svg deleted file mode 100644 index 9dfc1c0..0000000 --- a/src/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/utils/atom.ts b/src/utils/atom.ts new file mode 100644 index 0000000..4c5312a --- /dev/null +++ b/src/utils/atom.ts @@ -0,0 +1,6 @@ +import { atom } from 'jotai' +import { atomWithStorage } from 'jotai/utils' + +export const currentTabAtom = atomWithStorage('Current Tab', '/waiting') +currentTabAtom.debugLabel = 'currentTabAtom' + diff --git a/yarn.lock b/yarn.lock index a7bc93f..21a05fd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1138,7 +1138,7 @@ resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== -"@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.21.0", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.16.7", "@babel/runtime@^7.20.13", "@babel/runtime@^7.20.6", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": version "7.24.8" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.8.tgz#5d958c3827b13cc6d05e038c07fb2e5e3420d82e" integrity sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA== @@ -1410,6 +1410,42 @@ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== +"@floating-ui/core@^1.6.0": + version "1.6.5" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.5.tgz#102335cac0d22035b04d70ca5ff092d2d1a26f2b" + integrity sha512-8GrTWmoFhm5BsMZOTHeGD2/0FLKLQQHvO/ZmQga4tKempYRLz8aqJGqXVuQgisnMObq2YZ2SgkwctN1LOOxcqA== + dependencies: + "@floating-ui/utils" "^0.2.5" + +"@floating-ui/dom@^1.0.0": + version "1.6.8" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.8.tgz#45e20532b6d8a061b356a4fb336022cf2609754d" + integrity sha512-kx62rP19VZ767Q653wsP1XZCGIirkE09E0QUGNYTM/ttbbQHqcGPdSfWFxUyyNLc/W6aoJRBajOSXhP6GXjC0Q== + dependencies: + "@floating-ui/core" "^1.6.0" + "@floating-ui/utils" "^0.2.5" + +"@floating-ui/react-dom@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.1.1.tgz#cca58b6b04fc92b4c39288252e285e0422291fb0" + integrity sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg== + dependencies: + "@floating-ui/dom" "^1.0.0" + +"@floating-ui/react@^0.26.9": + version "0.26.20" + resolved "https://registry.yarnpkg.com/@floating-ui/react/-/react-0.26.20.tgz#49ae23347666626db8671c2aa2df469bbec7db71" + integrity sha512-RixKJJG92fcIsVoqrFr4Onpzh7hlOx4U7NV4aLhMLmtvjZ5oTB/WzXaANYUZATKqXvvW7t9sCxtzejip26N5Ag== + dependencies: + "@floating-ui/react-dom" "^2.1.1" + "@floating-ui/utils" "^0.2.5" + tabbable "^6.0.0" + +"@floating-ui/utils@^0.2.5": + version "0.2.5" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.5.tgz#105c37d9d9620ce69b7f692a20c821bf1ad2cbf9" + integrity sha512-sTcG+QZ6fdEUObICavU+aB3Mp8HY4n14wYHdxK4fXjPmv3PXZZeY5RaguJmGyeH/CJQhX3fqKUtS4qc1LoHwhQ== + "@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0": version "9.3.0" resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" @@ -1767,6 +1803,31 @@ lodash "^4.17.15" tmp-promise "^3.0.2" +"@mantine/code-highlight@^7.10.1": + version "7.11.2" + resolved "https://registry.yarnpkg.com/@mantine/code-highlight/-/code-highlight-7.11.2.tgz#04cc4cefd2174948bd70e211123e420add1de8a8" + integrity sha512-9q4p4LDbuuUhQ8GjzmI/Ven2JxjoT8+Sjnv76hNGJK9xRtorJs2PJn/fdQTd7QX9tOaalnsENIj85bSZ4V3X2g== + dependencies: + clsx "^2.1.1" + highlight.js "^11.9.0" + +"@mantine/core@^7.10.1": + version "7.11.2" + resolved "https://registry.yarnpkg.com/@mantine/core/-/core-7.11.2.tgz#489e629068b4a161091b3d8d599ac28363f8cf5a" + integrity sha512-T64RjdgY8UPAv249miW1lQyPPot1JbCcKKsAZMNQHgcttcxLhrFpKVvglc4/48hdSoxI4LYJPNvqp7zciZmucQ== + dependencies: + "@floating-ui/react" "^0.26.9" + clsx "^2.1.1" + react-number-format "^5.3.1" + react-remove-scroll "^2.5.7" + react-textarea-autosize "8.5.3" + type-fest "^4.12.0" + +"@mantine/hooks@^7.10.1": + version "7.11.2" + resolved "https://registry.yarnpkg.com/@mantine/hooks/-/hooks-7.11.2.tgz#5629dff7ae7253f94e819c26b3b1adf97e68fd48" + integrity sha512-jhyVe/sbDEG2U8rr2lMecUPgQxcfr5hh9HazqGfkS7ZRIMDO7uJ947yAcTMGGkp5Lxtt5TBFt1Cb6tiB2/1agg== + "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": version "5.1.1-v1" resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" @@ -1813,6 +1874,14 @@ schema-utils "^4.2.0" source-map "^0.7.3" +"@redux-devtools/extension@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@redux-devtools/extension/-/extension-3.3.0.tgz#bc775d289f15604c472112920beac2cf4dbb7907" + integrity sha512-X34S/rC8S/M1BIrkYD1mJ5f8vlH0BDqxXrs96cvxSBo4FhMdbhU+GUGsmNYov1xjSyLMHgo8NYrUG8bNX7525g== + dependencies: + "@babel/runtime" "^7.23.2" + immutable "^4.3.4" + "@remix-run/router@1.18.0": version "1.18.0" resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.18.0.tgz#20b033d1f542a100c1d57cfd18ecf442d1784732" @@ -2155,6 +2224,11 @@ dependencies: "@babel/types" "^7.20.7" +"@types/base16@^1.0.2": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/base16/-/base16-1.0.5.tgz#9a7df8eed525c6968d254dada2a2f653a28e73f6" + integrity sha512-OzOWrTluG9cwqidEzC/Q6FAmIPcnZfm8BFRlIx0+UIUqnuAmi5OS88O0RpT3Yz6qdmqObvUhasrbNsCofE4W9A== + "@types/body-parser@*": version "1.19.5" resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" @@ -2344,6 +2418,11 @@ dependencies: "@types/node" "*" +"@types/lodash@^4.14.178", "@types/lodash@^4.14.191": + version "4.17.7" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.7.tgz#2f776bcb53adc9e13b2c0dfd493dfcbd7de43612" + integrity sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA== + "@types/mime@^1": version "1.3.5" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" @@ -3389,6 +3468,11 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +base16@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70" + integrity sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ== + base64-js@^1.3.1, base64-js@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" @@ -3782,6 +3866,11 @@ clone-response@^1.0.2: dependencies: mimic-response "^1.0.0" +clsx@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" + integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -3801,7 +3890,7 @@ collect-v8-coverage@^1.0.0: resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== -color-convert@^1.9.0: +color-convert@^1.9.0, color-convert@^1.9.3: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== @@ -3820,11 +3909,27 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== -color-name@~1.1.4: +color-name@^1.0.0, color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-string@^1.6.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" + integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" + integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== + dependencies: + color-convert "^1.9.3" + color-string "^1.6.0" + colord@^2.9.1: version "2.9.3" resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" @@ -4253,7 +4358,7 @@ cssstyle@^2.3.0: dependencies: cssom "~0.3.6" -csstype@3.1.3, csstype@^3.0.2: +csstype@3.1.3, csstype@^3.0.10, csstype@^3.0.2: version "3.1.3" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== @@ -4448,6 +4553,11 @@ detect-newline@^3.0.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== +detect-node-es@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493" + integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ== + detect-node@^2.0.4: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" @@ -4466,6 +4576,11 @@ didyoumean@^1.2.2: resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== +diff-match-patch@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/diff-match-patch/-/diff-match-patch-1.0.5.tgz#abb584d5f10cd1196dfc55aa03701592ae3f7b37" + integrity sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw== + diff-sequences@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" @@ -5667,6 +5782,11 @@ get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@ has-symbols "^1.0.3" hasown "^2.0.0" +get-nonce@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" + integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q== + get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" @@ -5903,6 +6023,11 @@ he@^1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== +highlight.js@^11.9.0: + version "11.10.0" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-11.10.0.tgz#6e3600dc4b33d6dc23d5bd94fbf72405f5892b92" + integrity sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ== + hoopy@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" @@ -6125,6 +6250,11 @@ immer@^9.0.7: resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== +immutable@^4.3.4: + version "4.3.7" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.7.tgz#c70145fc90d89fb02021e65c84eb0226e4e5a381" + integrity sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw== + import-fresh@^3.1.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -6183,6 +6313,13 @@ internal-slot@^1.0.4, internal-slot@^1.0.7: hasown "^2.0.0" side-channel "^1.0.4" +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + ipaddr.js@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" @@ -6214,6 +6351,11 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + is-async-function@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" @@ -6549,6 +6691,11 @@ jake@^10.8.5: filelist "^1.0.4" minimatch "^3.1.2" +javascript-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz#27c76539be14d8bd128219a2d731b09337904e79" + integrity sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg== + jest-changed-files@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" @@ -7099,6 +7246,23 @@ joi@^17.11.0: "@sideway/formula" "^3.0.1" "@sideway/pinpoint" "^2.0.0" +jotai-devtools@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/jotai-devtools/-/jotai-devtools-0.10.0.tgz#1549574c1ecb8a9d9ea3c983785114678bcd1429" + integrity sha512-ltGzJMam7sXbC827U1A2H6rMg+iiK5VzaBmanVfVpWS4fK9/8Mq5NLaG3n2OFtsQgI0nUDaNl/3NObI38sBx+A== + dependencies: + "@mantine/code-highlight" "^7.10.1" + "@mantine/core" "^7.10.1" + "@mantine/hooks" "^7.10.1" + "@redux-devtools/extension" "^3.3.0" + clsx "^2.1.1" + javascript-stringify "^2.1.0" + jsondiffpatch "^0.5.0" + react-base16-styling "^0.9.1" + react-error-boundary "^4.0.13" + react-json-tree "^0.18.0" + react-resizable-panels "2.0.10" + jotai@^2.9.0: version "2.9.1" resolved "https://registry.yarnpkg.com/jotai/-/jotai-2.9.1.tgz#f32dd16fc16b7b32d940a3a8d452eddfcb16218c" @@ -7214,6 +7378,14 @@ json5@^2.1.2, json5@^2.2.0, json5@^2.2.3: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== +jsondiffpatch@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsondiffpatch/-/jsondiffpatch-0.5.0.tgz#f9795416022685a3ba7eced11a338c5cb0cf66f4" + integrity sha512-Quz3MvAwHxVYNXsOByL7xI5EB2WYOeFswqaHIA3qOK3isRWTxiplBEocmmru6XmxDB2L7jDNYtYA4FyimoAFEw== + dependencies: + chalk "^3.0.0" + diff-match-patch "^1.0.0" + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -7378,6 +7550,11 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +lodash.curry@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" + integrity sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA== + lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -7408,7 +7585,7 @@ lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -8789,7 +8966,7 @@ prompts@^2.0.1, prompts@^2.4.2: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@^15.8.1: +prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -8897,6 +9074,19 @@ react-app-polyfill@^3.0.0: regenerator-runtime "^0.13.9" whatwg-fetch "^3.6.2" +react-base16-styling@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/react-base16-styling/-/react-base16-styling-0.9.1.tgz#4906b4c0a51636f2dca2cea8b682175aa8bd0c92" + integrity sha512-1s0CY1zRBOQ5M3T61wetEpvQmsYSNtWEcdYzyZNxKa8t7oDvaOn9d21xrGezGAHFWLM7SHcktPuPTrvoqxSfKw== + dependencies: + "@babel/runtime" "^7.16.7" + "@types/base16" "^1.0.2" + "@types/lodash" "^4.14.178" + base16 "^1.0.0" + color "^3.2.1" + csstype "^3.0.10" + lodash.curry "^4.1.1" + react-dev-utils@^12.0.1: version "12.0.1" resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73" @@ -8935,6 +9125,13 @@ react-dom@^18.3.1: loose-envify "^1.1.0" scheduler "^0.23.2" +react-error-boundary@^4.0.13: + version "4.0.13" + resolved "https://registry.yarnpkg.com/react-error-boundary/-/react-error-boundary-4.0.13.tgz#80386b7b27b1131c5fbb7368b8c0d983354c7947" + integrity sha512-b6PwbdSv8XeOSYvjt8LpgpKrZ0yGdtZokYwkwV2wlcZbxgopHX/hgPl5VgpnoVOWd868n1hktM8Qm4b+02MiLQ== + dependencies: + "@babel/runtime" "^7.12.5" + react-error-overlay@^6.0.11: version "6.0.11" resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb" @@ -8955,11 +9152,51 @@ react-is@^18.0.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== +react-json-tree@^0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/react-json-tree/-/react-json-tree-0.18.0.tgz#3c4bec7b091f50dcc9c09652d89c8f4373ebf3ea" + integrity sha512-Qe6HKSXrr++n9Y31nkRJ3XvQMATISpqigH1vEKhLwB56+nk5thTP0ITThpjxY6ZG/ubpVq/aEHIcyLP/OPHxeA== + dependencies: + "@babel/runtime" "^7.20.6" + "@types/lodash" "^4.14.191" + react-base16-styling "^0.9.1" + +react-number-format@^5.3.1: + version "5.4.0" + resolved "https://registry.yarnpkg.com/react-number-format/-/react-number-format-5.4.0.tgz#8c1e97add1970d1a2f372ca286bcdaa49632ba5c" + integrity sha512-NWdICrqLhI7rAS8yUeLVd6Wr4cN7UjJ9IBTS0f/a9i7UB4x4Ti70kGnksBtZ7o4Z7YRbvCMMR/jQmkoOBa/4fg== + dependencies: + prop-types "^15.7.2" + react-refresh@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046" integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== +react-remove-scroll-bar@^2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz#3e585e9d163be84a010180b18721e851ac81a29c" + integrity sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g== + dependencies: + react-style-singleton "^2.2.1" + tslib "^2.0.0" + +react-remove-scroll@^2.5.7: + version "2.5.10" + resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.10.tgz#5fae456a23962af6d3c38ca1978bcfe0806c4061" + integrity sha512-m3zvBRANPBw3qxVVjEIPEQinkcwlFZ4qyomuWVpNJdv4c6MvHfXV0C3L9Jx5rr3HeBHKNRX+1jreB5QloDIJjA== + dependencies: + react-remove-scroll-bar "^2.3.6" + react-style-singleton "^2.2.1" + tslib "^2.1.0" + use-callback-ref "^1.3.0" + use-sidecar "^1.1.2" + +react-resizable-panels@2.0.10: + version "2.0.10" + resolved "https://registry.yarnpkg.com/react-resizable-panels/-/react-resizable-panels-2.0.10.tgz#9b83d52952047435a4ceba0b6dd0799e162816d4" + integrity sha512-1cQl5rp3VDWRL04XXX92lzM1hej2Fe5x+vpjYXcldfOjKwLV5JVrt5T6q0cTB5yfp4Wh+JIdYQ9A5EnZypO1DQ== + react-router-dom@^6.25.1: version "6.25.1" resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.25.1.tgz#b89f8d63fc8383ea4e89c44bf31c5843e1f7afa0" @@ -9030,6 +9267,24 @@ react-scripts@5.0.1: optionalDependencies: fsevents "^2.3.2" +react-style-singleton@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.1.tgz#f99e420492b2d8f34d38308ff660b60d0b1205b4" + integrity sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g== + dependencies: + get-nonce "^1.0.0" + invariant "^2.2.4" + tslib "^2.0.0" + +react-textarea-autosize@8.5.3: + version "8.5.3" + resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz#d1e9fe760178413891484847d3378706052dd409" + integrity sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ== + dependencies: + "@babel/runtime" "^7.20.13" + use-composed-ref "^1.3.0" + use-latest "^1.2.1" + react@^18.3.1: version "18.3.1" resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" @@ -9615,6 +9870,13 @@ signal-exit@^4.0.1: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== + dependencies: + is-arrayish "^0.3.1" + simple-update-notifier@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz#d70b92bdab7d6d90dfd73931195a30b6e3d7cebb" @@ -10092,6 +10354,11 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== +tabbable@^6.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97" + integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew== + tailwindcss@^3.0.2: version "3.4.6" resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.6.tgz#41faae16607e0916da1eaa4a3b44053457ba70dd" @@ -10337,7 +10604,7 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.3, tslib@^2.1.0: +tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0: version "2.6.3" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== @@ -10388,6 +10655,11 @@ type-fest@^0.21.3: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== +type-fest@^4.12.0: + version "4.23.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.23.0.tgz#8196561a6b835175473be744f3e41e2dece1496b" + integrity sha512-ZiBujro2ohr5+Z/hZWHESLz3g08BBdrdLMieYFULJO+tWc437sn8kQsWLJoZErY8alNhxre9K4p3GURAG11n+w== + type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -10560,6 +10832,38 @@ url-parse@^1.5.3: querystringify "^2.1.1" requires-port "^1.0.0" +use-callback-ref@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.2.tgz#6134c7f6ff76e2be0b56c809b17a650c942b1693" + integrity sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA== + dependencies: + tslib "^2.0.0" + +use-composed-ref@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.3.0.tgz#3d8104db34b7b264030a9d916c5e94fbe280dbda" + integrity sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ== + +use-isomorphic-layout-effect@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" + integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== + +use-latest@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.2.1.tgz#d13dfb4b08c28e3e33991546a2cee53e14038cf2" + integrity sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw== + dependencies: + use-isomorphic-layout-effect "^1.1.1" + +use-sidecar@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2" + integrity sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw== + dependencies: + detect-node-es "^1.1.0" + tslib "^2.0.0" + utf8-byte-length@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz#f9f63910d15536ee2b2d5dd4665389715eac5c1e" From 1b530927834522a6ba15c7a41283af96080c012b Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Wed, 24 Jul 2024 01:33:10 +0900 Subject: [PATCH 27/33] =?UTF-8?q?fix:=20=ED=83=AD=EB=B3=84=20=EC=95=8C?= =?UTF-8?q?=EB=A6=BC=20=EA=B0=9C=EC=88=98=20atom=20=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EC=A0=80=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/layout.tsx | 6 +++++- src/pages/history.tsx | 5 ++++- src/pages/process.tsx | 6 +++++- src/pages/waiting.tsx | 35 ++++++----------------------------- src/utils/atom.ts | 3 +++ 5 files changed, 23 insertions(+), 32 deletions(-) diff --git a/src/components/layout.tsx b/src/components/layout.tsx index 7ae50f1..c4ab770 100644 --- a/src/components/layout.tsx +++ b/src/components/layout.tsx @@ -7,6 +7,10 @@ import { currentTabAtom, historyCountAtom, processCountAtom, waitingCountAtom } export default function Layout() { const navigate = useNavigate() const [, setCurrentTab] = useAtom(currentTabAtom) + const [waitingCount] = useAtom(waitingCountAtom) + const [processCount] = useAtom(processCountAtom) + const [historyCount] = useAtom(historyCountAtom) + const navBarItem = [ { name: '승인 대기', @@ -15,7 +19,7 @@ export default function Layout() { }, { name: '진행 중', - count: processount, + count: processCount, onClick: () => onClickTab('/process'), }, { diff --git a/src/pages/history.tsx b/src/pages/history.tsx index f2e9a4a..9886ab3 100644 --- a/src/pages/history.tsx +++ b/src/pages/history.tsx @@ -5,13 +5,16 @@ import { useState } from 'react' import { Container, CardContainer, TabTitle } from 'styles/shared' import styled from 'styled-components' import dayjs from 'dayjs' +import { useAtom } from 'jotai' +import { historyCountAtom } from 'utils/atom' export default function HistoryMain() { + const [historyCount] = useAtom(historyCountAtom) const [date, setDate] = useState(dayjs().format('YYYY.MM.DD')) return ( - 히스토리 + 히스토리 {historyCount} {date} diff --git a/src/pages/process.tsx b/src/pages/process.tsx index 2b1ca2f..444a473 100644 --- a/src/pages/process.tsx +++ b/src/pages/process.tsx @@ -1,6 +1,8 @@ import OrderCard from 'components/orderCard' +import { useAtom } from 'jotai' import styled from 'styled-components' import { Container, CardContainer, TabTitle } from 'styles/shared' +import { processCountAtom } from 'utils/atom' export const orderlist = [ { @@ -31,9 +33,11 @@ export const orderlist = [ ] export default function ProcessMain() { + const [processCount] = useAtom(processCountAtom) + return ( - 진행 중 3 + 진행 중 {processCount} diff --git a/src/pages/waiting.tsx b/src/pages/waiting.tsx index b85983e..cea431f 100644 --- a/src/pages/waiting.tsx +++ b/src/pages/waiting.tsx @@ -1,38 +1,15 @@ import OrderCard from 'components/orderCard' +import { useAtom } from 'jotai' import { Container, CardContainer, TabTitle } from 'styles/shared' - -const orderlist = [ - { - name: '크림 새우 스파게티', - price: 14000, - count: 1, - }, - { - name: '토마토 스파게티', - price: 12000, - options: [ - { - name: '치즈 추가', - price: 1500, - }, - { - name: '면 추가', - price: 4000, - count: 2, - }, - ], - }, - { - name: '페퍼로니 피자', - price: 24000, - count: 1, - }, -] +import { waitingCountAtom } from 'utils/atom' +import { orderlist } from './process' export default function WaitMain() { + const [waitingCount] = useAtom(waitingCountAtom) + return ( - 승인 대기 3 + 승인 대기 {waitingCount} diff --git a/src/utils/atom.ts b/src/utils/atom.ts index 4c5312a..dd12e76 100644 --- a/src/utils/atom.ts +++ b/src/utils/atom.ts @@ -4,3 +4,6 @@ import { atomWithStorage } from 'jotai/utils' export const currentTabAtom = atomWithStorage('Current Tab', '/waiting') currentTabAtom.debugLabel = 'currentTabAtom' +export const waitingCountAtom = atom(0) +export const processCountAtom = atom(0) +export const historyCountAtom = atom(0) From d51fc7ec3594148ab83b0a2dcc688398e610949e Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Wed, 24 Jul 2024 01:37:28 +0900 Subject: [PATCH 28/33] refactor: delete eslint warning --- src/App.tsx | 1 - src/components/navBar.tsx | 2 +- src/components/orderCard.tsx | 3 +-- src/components/prevOrder.tsx | 2 +- src/pages/login.tsx | 2 +- src/pages/process.tsx | 1 - 6 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 9853805..09b27d7 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -6,7 +6,6 @@ import Layout from './components/layout' import Login from './pages/login' import HistoryMain from './pages/history' import WaitMain from './pages/waiting' -import { DevTools } from 'jotai-devtools' export default function App() { return ( diff --git a/src/components/navBar.tsx b/src/components/navBar.tsx index da66a29..18b47de 100644 --- a/src/components/navBar.tsx +++ b/src/components/navBar.tsx @@ -21,7 +21,7 @@ export default function NavBar({ items }: VerticalNavProps) { case 1: setCurrentTab(ROUTE.PROCESS_MAIN) break - case 1: + case 2: setCurrentTab(ROUTE.HISTORY_MAIN) break default: diff --git a/src/components/orderCard.tsx b/src/components/orderCard.tsx index 4920e2b..90d08e6 100644 --- a/src/components/orderCard.tsx +++ b/src/components/orderCard.tsx @@ -1,11 +1,10 @@ import styled from 'styled-components' import OrderChip, { statusType } from './orderChip' import dayjs from 'dayjs' -import { returnOptions, returnTotalPrice } from 'utils/cardFunc' +import { returnTotalPrice } from 'utils/cardFunc' import PreviousOrder from './prevOrder' import OrderDetail from './orderDetail' import { useState } from 'react' -import path from 'path' export type productType = { name: string diff --git a/src/components/prevOrder.tsx b/src/components/prevOrder.tsx index d76b066..d70a00f 100644 --- a/src/components/prevOrder.tsx +++ b/src/components/prevOrder.tsx @@ -1,4 +1,4 @@ -import React, { SetStateAction, useState } from 'react' +import React, { SetStateAction } from 'react' import { orderType } from './orderCard' import styled from 'styled-components' import { Container as OrderContainer, Detail as OrderDetail } from './orderDetail' diff --git a/src/pages/login.tsx b/src/pages/login.tsx index e08a982..811ddb9 100644 --- a/src/pages/login.tsx +++ b/src/pages/login.tsx @@ -14,7 +14,7 @@ export default function Login() { 간편하게 일하는 법 navigate('/waiting')}> - + kakao-login-button 카카오 로그인 diff --git a/src/pages/process.tsx b/src/pages/process.tsx index 444a473..e301457 100644 --- a/src/pages/process.tsx +++ b/src/pages/process.tsx @@ -1,6 +1,5 @@ import OrderCard from 'components/orderCard' import { useAtom } from 'jotai' -import styled from 'styled-components' import { Container, CardContainer, TabTitle } from 'styles/shared' import { processCountAtom } from 'utils/atom' From 3c3c9b7f10bcf27ff02fa3bbb5d301d05658a595 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Wed, 24 Jul 2024 01:42:33 +0900 Subject: [PATCH 29/33] =?UTF-8?q?chore:=20build=20test=20workflow=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/react-build-test.yml | 33 ++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 .github/workflows/react-build-test.yml diff --git a/.github/workflows/react-build-test.yml b/.github/workflows/react-build-test.yml new file mode 100644 index 0000000..b3e926a --- /dev/null +++ b/.github/workflows/react-build-test.yml @@ -0,0 +1,33 @@ +name: Run eollugage-pc Test + +on: + pull_request: + branches: + - develop + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: 21 + + - name: Cache yarn + uses: actions/cache@v4 + id: yarn-cache + with: + path: '**/node_modules' + key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }} + + # cache hit 못하면 패키지 설치 + - name: Install dependencies + if: steps.yarn-cache.outputs.cache-hit != 'true' + run: yarn install + + - name: Run build test + run: yarn build From 01aa11c8b7d03baf6e8f1b281c3818ba760b1851 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Wed, 24 Jul 2024 01:46:08 +0900 Subject: [PATCH 30/33] =?UTF-8?q?Revert=20"chore:=20build=20test=20workflo?= =?UTF-8?q?w=20=EC=83=9D=EC=84=B1"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 3c3c9b7f10bcf27ff02fa3bbb5d301d05658a595. --- .github/workflows/react-build-test.yml | 33 -------------------------- 1 file changed, 33 deletions(-) delete mode 100644 .github/workflows/react-build-test.yml diff --git a/.github/workflows/react-build-test.yml b/.github/workflows/react-build-test.yml deleted file mode 100644 index b3e926a..0000000 --- a/.github/workflows/react-build-test.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: Run eollugage-pc Test - -on: - pull_request: - branches: - - develop - -jobs: - test: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Set up Node.js - uses: actions/setup-node@v4 - with: - node-version: 21 - - - name: Cache yarn - uses: actions/cache@v4 - id: yarn-cache - with: - path: '**/node_modules' - key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }} - - # cache hit 못하면 패키지 설치 - - name: Install dependencies - if: steps.yarn-cache.outputs.cache-hit != 'true' - run: yarn install - - - name: Run build test - run: yarn build From 240c856e0f2cab2e492697250ff3567be052c2e4 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Thu, 25 Jul 2024 16:47:39 +0900 Subject: [PATCH 31/33] =?UTF-8?q?refactor:=20pathname=20=EC=83=81=EC=88=98?= =?UTF-8?q?=20=EC=82=AC=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/layout.tsx | 7 ++++--- src/components/orderCard.tsx | 15 ++++++++------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/components/layout.tsx b/src/components/layout.tsx index c4ab770..d48f0e8 100644 --- a/src/components/layout.tsx +++ b/src/components/layout.tsx @@ -3,6 +3,7 @@ import styled from 'styled-components' import NavBar from './navBar' import { useAtom } from 'jotai' import { currentTabAtom, historyCountAtom, processCountAtom, waitingCountAtom } from 'utils/atom' +import { ROUTE } from '@constants/path' export default function Layout() { const navigate = useNavigate() @@ -15,17 +16,17 @@ export default function Layout() { { name: '승인 대기', count: waitingCount, - onClick: () => onClickTab('/waiting'), + onClick: () => onClickTab(ROUTE.WAITING_MAIN), }, { name: '진행 중', count: processCount, - onClick: () => onClickTab('/process'), + onClick: () => onClickTab(ROUTE.PROCESS_MAIN), }, { name: '히스토리', count: historyCount, - onClick: () => onClickTab('/history'), + onClick: () => onClickTab(ROUTE.HISTORY_MAIN), }, ] diff --git a/src/components/orderCard.tsx b/src/components/orderCard.tsx index 90d08e6..25baf3e 100644 --- a/src/components/orderCard.tsx +++ b/src/components/orderCard.tsx @@ -5,6 +5,7 @@ import { returnTotalPrice } from 'utils/cardFunc' import PreviousOrder from './prevOrder' import OrderDetail from './orderDetail' import { useState } from 'react' +import { ROUTE } from '@constants/path' export type productType = { name: string @@ -37,32 +38,32 @@ export default function OrderCard({ tableNumber, status, orders, prevOrders }: O - {pathname === '/waiting' ? '0분 전' : dayjs().locale('ko').format('YYYY년 M월 D일 HH시 mm분 ss초')} - {pathname === '/history' && ' 결제 완료'} + {pathname === ROUTE.WAITING_MAIN ? '0분 전' : dayjs().locale('ko').format('YYYY년 M월 D일 HH시 mm분 ss초')} + {pathname === ROUTE.HISTORY_MAIN && ' 결제 완료'} 메뉴 {orders.length}개 총 {returnTotalPrice(orders).toLocaleString()}원 - {!(pathname === '/history' && status === 'single') && } + {!(pathname === ROUTE.HISTORY_MAIN && status === 'single') && } {prevOrders !== undefined && ( )} - {pathname === '/waiting' && ( + {pathname === ROUTE.WAITING_MAIN && ( <> 주문 거절 주문 승인 )} - {pathname === '/process' && 결제 완료} - {pathname === '/history' && status === 'multi' && ( + {pathname === ROUTE.PROCESS_MAIN && 결제 완료} + {pathname === ROUTE.HISTORY_MAIN && status === 'multi' && ( {showDetail ? '최초 주문만 보기' : '이전 주문 보기'} )} From 4b47732613cc5267d4ccddb88c9f46b9d54414d3 Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Thu, 25 Jul 2024 16:50:32 +0900 Subject: [PATCH 32/33] fix: fix eslint error --- src/components/layout.tsx | 2 +- src/components/orderCard.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/layout.tsx b/src/components/layout.tsx index d48f0e8..0603a7f 100644 --- a/src/components/layout.tsx +++ b/src/components/layout.tsx @@ -3,7 +3,7 @@ import styled from 'styled-components' import NavBar from './navBar' import { useAtom } from 'jotai' import { currentTabAtom, historyCountAtom, processCountAtom, waitingCountAtom } from 'utils/atom' -import { ROUTE } from '@constants/path' +import { ROUTE } from 'constants/path' export default function Layout() { const navigate = useNavigate() diff --git a/src/components/orderCard.tsx b/src/components/orderCard.tsx index 25baf3e..293f632 100644 --- a/src/components/orderCard.tsx +++ b/src/components/orderCard.tsx @@ -5,7 +5,7 @@ import { returnTotalPrice } from 'utils/cardFunc' import PreviousOrder from './prevOrder' import OrderDetail from './orderDetail' import { useState } from 'react' -import { ROUTE } from '@constants/path' +import { ROUTE } from 'constants/path' export type productType = { name: string From b3344769906aa9a39bd3b7de0900f4905494142f Mon Sep 17 00:00:00 2001 From: iOdiO89 <117376841+iOdiO89@users.noreply.github.com> Date: Fri, 26 Jul 2024 16:25:21 +0900 Subject: [PATCH 33/33] =?UTF-8?q?chore:=20S3=20deploy=20yml=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/s3Deploy.yml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/s3Deploy.yml diff --git a/.github/workflows/s3Deploy.yml b/.github/workflows/s3Deploy.yml new file mode 100644 index 0000000..7683055 --- /dev/null +++ b/.github/workflows/s3Deploy.yml @@ -0,0 +1,34 @@ +name: eollugage-pc Deploy To S3 + +on: + push: + branches: + - main + +jobs: + publish-storybook: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: 'v20.10.0' + + - name: Install dependencies + run: yarn install + + - name: Build React + run: yarn build + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v2 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ap-northeast-2 + + - name: Upload to S3 + run: aws s3 sync --region ap-northeast-2 ./build s3://s3-eollugaga-pc --delete