From 9a22ec28b9aac737de6431ab1bc107e3fb80ec5e Mon Sep 17 00:00:00 2001 From: yungblud Date: Tue, 30 Jan 2024 23:44:59 +0900 Subject: [PATCH 1/2] fix: fixed transpile nextjs config --- .../app/concert/[id]/page.tsx | 70 ++++++++----------- packages/billets-admin-client/app/page.tsx | 6 +- packages/billets-admin-client/next.config.js | 1 + packages/billets-admin-client/package.json | 2 +- .../ui/AuthRequestForm.tsx | 12 +--- packages/billets-admin-client/ui/Header.tsx | 6 +- packages/billets-admin-client/ui/Loader.tsx | 14 ++-- .../billets-admin-client/ui/LoginForm.tsx | 12 +--- .../billets-admin-client/ui/UploadForm.tsx | 10 +-- .../ui/UploadFormDateInput.tsx | 2 +- yarn.lock | 9 --- 11 files changed, 50 insertions(+), 94 deletions(-) diff --git a/packages/billets-admin-client/app/concert/[id]/page.tsx b/packages/billets-admin-client/app/concert/[id]/page.tsx index 6937807..8a4d45d 100644 --- a/packages/billets-admin-client/app/concert/[id]/page.tsx +++ b/packages/billets-admin-client/app/concert/[id]/page.tsx @@ -1,16 +1,16 @@ 'use client' import { format } from 'date-fns' -import { Button, palette } from 'fstvllife-design-system' +import { Button, palette } from '@coldsurfers/hotsurf' import { useCallback, useEffect, useMemo } from 'react' import styled from 'styled-components' +import { useRouter } from 'next/navigation' import useConcertQuery from '../../../hooks/useConcertQuery' import useCreateConcertPosterMutation from '../../../hooks/useCreateConcertPosterMutation' import useUpdateConcertPosterMutation from '../../../hooks/useUpdateConcertPosterMutation' import Loader from '../../../ui/Loader' import pickFile from '../../../utils/pickFile' import { presign, uploadToPresignedURL } from '../../../utils/fetcher' -import { useRouter } from 'next/navigation' import useRemoveConcertMutation from '../../../hooks/useRemoveConcertMutation' const ConcertIdPage = ({ @@ -86,9 +86,9 @@ const ConcertIdPage = ({ const { target } = e if (!target) return const filename = new Date().toISOString() - const files = (target as any).files + const { files } = target as any const presignedData = await presign({ - filename: filename, + filename, filetype: 'image/*', }) await uploadToPresignedURL({ @@ -112,9 +112,9 @@ const ConcertIdPage = ({ const { target } = e if (!target) return const filename = new Date().toISOString() - const files = (target as any).files + const { files } = target as any const presignedData = await presign({ - filename: filename, + filename, filetype: 'image/*', }) await uploadToPresignedURL({ @@ -212,11 +212,9 @@ const ConcertIdPage = ({ {concertCategory.title} - {artist ? artist : '등록된 아티스트가 없습니다.'} + {artist || '등록된 아티스트가 없습니다.'} - - {location ? location : '등록된 공연장소가 없습니다.'} - + {location || '등록된 공연장소가 없습니다.'} {date @@ -226,30 +224,26 @@ const ConcertIdPage = ({ {tickets.length > 0 ? ( - {tickets.map((ticket) => { - return ( - - - {ticket.seller} - - {ticket.sellingURL} - - {ticket.ticketPrices.map((price) => { - return ( -
- {price.title} - {price.price} -
- ) - })} - - - {ticket.openDate && - format(new Date(ticket.openDate), 'yyyy-MM-dd hh:mm a')} - -
- ) - })} + {tickets.map((ticket) => ( + + + {ticket.seller} + + {ticket.sellingURL} + + {ticket.ticketPrices.map((price) => ( +
+ {price.title} + {price.price} +
+ ))} + + + {ticket.openDate && + format(new Date(ticket.openDate), 'yyyy-MM-dd hh:mm a')} + +
+ ))}
) : ( 등록된 티켓정보가 없습니다. @@ -314,9 +308,7 @@ const Thumbnail = styled.img` border-radius: 8px; margin-top: 12px; object-fit: contain; - box-shadow: - 0 1px 3px rgba(0, 0, 0, 0.12), - 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); ` @@ -349,9 +341,7 @@ const SectionList = styled.div` const SectionCard = styled.div` margin-top: 6px; margin-bottom: 12px; - box-shadow: - 0 1px 3px rgba(0, 0, 0, 0.12), - 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); background-color: ${palette.white}; padding: 16px; diff --git a/packages/billets-admin-client/app/page.tsx b/packages/billets-admin-client/app/page.tsx index e42f445..0cf0651 100644 --- a/packages/billets-admin-client/app/page.tsx +++ b/packages/billets-admin-client/app/page.tsx @@ -10,7 +10,7 @@ import { useRouter, useSearchParams } from 'next/navigation' import { useCallback, useEffect, useMemo, useState } from 'react' import { format } from 'date-fns' import styled from 'styled-components' -import { palette, TextInput } from 'fstvllife-design-system' +import { palette, TextInput } from '@coldsurfers/hotsurf' import Link from 'next/link' import { DEFAULT_PAGE, @@ -274,9 +274,7 @@ const Table = styled.table` margin-top: 60px; background-color: ${palette.white}; width: 90vw; - box-shadow: - 0 1px 3px rgba(0, 0, 0, 0.12), - 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); border-radius: 3px; ` diff --git a/packages/billets-admin-client/next.config.js b/packages/billets-admin-client/next.config.js index a671b2f..c818b14 100644 --- a/packages/billets-admin-client/next.config.js +++ b/packages/billets-admin-client/next.config.js @@ -20,6 +20,7 @@ const nextConfig = { return config }, + transpilePackages: ['@coldsurfers/hotsurf'], } module.exports = nextConfig diff --git a/packages/billets-admin-client/package.json b/packages/billets-admin-client/package.json index 02f4e83..513389b 100644 --- a/packages/billets-admin-client/package.json +++ b/packages/billets-admin-client/package.json @@ -22,7 +22,7 @@ "@types/react-dom": "18.0.10", "date-fns": "^2.29.3", "eslint-config-next": "13.1.1", - "fstvllife-design-system": "0.2.6", + "@coldsurfers/hotsurf": "0.2.6", "graphql": "^16.6.0", "next": "13.1.1", "react": "18.2.0", diff --git a/packages/billets-admin-client/ui/AuthRequestForm.tsx b/packages/billets-admin-client/ui/AuthRequestForm.tsx index 1810fc8..0ac2586 100644 --- a/packages/billets-admin-client/ui/AuthRequestForm.tsx +++ b/packages/billets-admin-client/ui/AuthRequestForm.tsx @@ -1,10 +1,4 @@ -import { - Button, - palette, - Text, - TextInput, - Toast, -} from 'fstvllife-design-system' +import { Button, palette, Text, TextInput, Toast } from '@coldsurfers/hotsurf' import { useRouter } from 'next/navigation' import { memo, useEffect, useState } from 'react' import styled from 'styled-components' @@ -238,9 +232,7 @@ const Wrapper = styled.section` display: flex; flex-direction: column; - box-shadow: - 0 1px 3px rgba(0, 0, 0, 0.12), - 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); ` diff --git a/packages/billets-admin-client/ui/Header.tsx b/packages/billets-admin-client/ui/Header.tsx index bc15513..e514521 100644 --- a/packages/billets-admin-client/ui/Header.tsx +++ b/packages/billets-admin-client/ui/Header.tsx @@ -1,4 +1,4 @@ -import { Button, palette } from 'fstvllife-design-system' +import { Button, palette } from '@coldsurfers/hotsurf' import { useRouter, usePathname } from 'next/navigation' import { memo, useCallback, useEffect, useMemo, useState } from 'react' import styled from 'styled-components' @@ -61,9 +61,7 @@ const Wrapper = styled.div` height: 68.5px; background-color: ${palette.white}; - box-shadow: - 0 1px 3px rgba(0, 0, 0, 0.12), - 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); ` diff --git a/packages/billets-admin-client/ui/Loader.tsx b/packages/billets-admin-client/ui/Loader.tsx index c575cfc..365a585 100644 --- a/packages/billets-admin-client/ui/Loader.tsx +++ b/packages/billets-admin-client/ui/Loader.tsx @@ -1,14 +1,12 @@ -import { palette } from 'fstvllife-design-system' +import { palette } from '@coldsurfers/hotsurf' import { PulseLoader } from 'react-spinners' import styled from 'styled-components' -const Loader = () => { - return ( - - - - ) -} +const Loader = () => ( + + + +) const Background = styled.div` position: fixed; diff --git a/packages/billets-admin-client/ui/LoginForm.tsx b/packages/billets-admin-client/ui/LoginForm.tsx index 434c524..43b1cf0 100644 --- a/packages/billets-admin-client/ui/LoginForm.tsx +++ b/packages/billets-admin-client/ui/LoginForm.tsx @@ -1,10 +1,4 @@ -import { - Button, - palette, - Text, - TextInput, - Toast, -} from 'fstvllife-design-system' +import { Button, palette, Text, TextInput, Toast } from '@coldsurfers/hotsurf' import Link from 'next/link' import { useRouter } from 'next/navigation' import { memo, useCallback, useEffect, useState } from 'react' @@ -122,9 +116,7 @@ const Wrapper = styled.section` display: flex; flex-direction: column; - box-shadow: - 0 1px 3px rgba(0, 0, 0, 0.12), - 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); ` diff --git a/packages/billets-admin-client/ui/UploadForm.tsx b/packages/billets-admin-client/ui/UploadForm.tsx index 74c6ff7..a50d8b9 100644 --- a/packages/billets-admin-client/ui/UploadForm.tsx +++ b/packages/billets-admin-client/ui/UploadForm.tsx @@ -1,5 +1,5 @@ /* eslint-disable react/display-name */ -import { TextInput, Text, Button, palette } from 'fstvllife-design-system' +import { TextInput, Text, Button, palette } from '@coldsurfers/hotsurf' import { memo, PropsWithChildren, @@ -737,9 +737,7 @@ const Wrapper = styled.div` width: 900px; background-color: ${palette.white}; - box-shadow: - 0 1px 3px rgba(0, 0, 0, 0.12), - 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); ` @@ -769,9 +767,7 @@ const PosterThumbnail = styled.img` border-radius: 8px; margin-top: 10px; margin-bottom: 10px; - box-shadow: - 0 1px 3px rgba(0, 0, 0, 0.12), - 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); object-fit: contain; ` diff --git a/packages/billets-admin-client/ui/UploadFormDateInput.tsx b/packages/billets-admin-client/ui/UploadFormDateInput.tsx index b11dd88..3fe8fac 100644 --- a/packages/billets-admin-client/ui/UploadFormDateInput.tsx +++ b/packages/billets-admin-client/ui/UploadFormDateInput.tsx @@ -1,4 +1,4 @@ -import { TextInput } from 'fstvllife-design-system' +import { TextInput } from '@coldsurfers/hotsurf' import { useCallback } from 'react' interface Props { diff --git a/yarn.lock b/yarn.lock index f6e941b..c4ecc4d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12757,15 +12757,6 @@ fsevents@^2.1.2, fsevents@~2.3.2: resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -fstvllife-design-system@0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/fstvllife-design-system/-/fstvllife-design-system-0.2.6.tgz#5b7b28d4a1d881cefcfd820479550ea37b9eefc2" - integrity sha512-teZ/R5MlCqZlNCiKH1fg1XwMZypMOE8SstmfEgOPuYbtMyg/hQ/x1pqkwhHWgtpSZRpnKWaYnVpU47VxzAdq0g== - dependencies: - react "18.2.0" - style-dictionary "^3.7.1" - typescript "^4.8.3" - function-bind@^1.1.1, function-bind@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" From 67446b2e9f8b5947218f3298f6f74f2fee276c26 Mon Sep 17 00:00:00 2001 From: yungblud Date: Wed, 31 Jan 2024 17:01:07 +0900 Subject: [PATCH 2/2] feat: handled many issues about implementing hotsurf --- packages/accounts-ui/.eslintrc | 13 - packages/accounts-ui/.gitignore | 2 - packages/accounts-ui/.prettierrc.json | 6 - packages/accounts-ui/package.json | 53 ---- packages/accounts-ui/src/LoginForm.tsx | 96 ------- packages/accounts-ui/src/LoginFormLoader.tsx | 30 --- packages/accounts-ui/src/index.ts | 2 - packages/accounts-ui/tsconfig.json | 3 - .../app/auth/signin/page.tsx | 79 +++++- .../app/concert/[id]/page.tsx | 8 +- packages/billets-admin-client/app/page.tsx | 3 +- .../app/registry/GlobalStylesRegistry.tsx | 32 +-- packages/billets-admin-client/next.config.js | 3 + packages/billets-admin-client/package.json | 4 +- packages/billets-admin-client/tsconfig.json | 4 + .../ui/AuthRequestForm.tsx | 4 +- packages/billets-admin-client/ui/Loader.tsx | 11 +- .../billets-admin-client/ui/LoginForm.tsx | 130 ---------- .../billets-admin-client/ui/UploadForm.tsx | 5 +- packages/hotsurf/package.json | 24 +- packages/hotsurf/src/BottomSticky/index.ts | 6 + .../src/BottomSticky/index.web.tsx} | 12 +- packages/hotsurf/src/Button/Button.tsx | 2 +- packages/hotsurf/src/CTAButton/index.ts | 7 + packages/hotsurf/src/CTAButton/index.web.tsx | 9 + packages/hotsurf/src/LoginForm/index.ts | 12 + packages/hotsurf/src/LoginForm/index.web.tsx | 124 +++++++++ packages/hotsurf/src/LoginModal/index.ts | 7 + .../src/LoginModal/index.web.tsx} | 12 +- packages/hotsurf/src/Modal/index.ts | 8 + .../src/Modal/index.web.tsx} | 7 +- packages/hotsurf/src/ModalPortal/index.ts | 7 + .../hotsurf/src/ModalPortal/index.web.tsx | 8 + packages/hotsurf/src/TextInput/TextInput.tsx | 2 +- .../{surfers-ui => hotsurf}/src/constants.ts | 0 packages/hotsurf/src/index.ts | 6 + packages/hotsurf/tsconfig.json | 2 +- .../app/item/[slug]/PageInner.tsx | 4 +- packages/store-client/app/layout.tsx | 5 +- .../app/registry/StyledComponentsRegistry.tsx | 54 ++++ packages/store-client/components/Header.tsx | 24 +- .../store-client/components/LayoutWrapper.tsx | 3 +- .../store-client/components/PaymentModal.tsx | 9 +- packages/store-client/next.config.js | 4 + packages/store-client/package.json | 6 +- packages/surfers-ui/.eslintrc | 12 - packages/surfers-ui/.gitignore | 2 - packages/surfers-ui/.prettierrc.json | 6 - packages/surfers-ui/package.json | 45 ---- packages/surfers-ui/src/Button.tsx | 21 -- packages/surfers-ui/src/CTAButton.tsx | 11 - packages/surfers-ui/src/ModalPortal.tsx | 11 - packages/surfers-ui/src/index.ts | 5 - packages/surfers-ui/tsconfig.json | 101 -------- tsconfig.paths.json | 6 - yarn.lock | 237 ++++-------------- 56 files changed, 483 insertions(+), 826 deletions(-) delete mode 100644 packages/accounts-ui/.eslintrc delete mode 100644 packages/accounts-ui/.gitignore delete mode 100644 packages/accounts-ui/.prettierrc.json delete mode 100644 packages/accounts-ui/package.json delete mode 100644 packages/accounts-ui/src/LoginForm.tsx delete mode 100644 packages/accounts-ui/src/LoginFormLoader.tsx delete mode 100644 packages/accounts-ui/src/index.ts delete mode 100644 packages/accounts-ui/tsconfig.json delete mode 100644 packages/billets-admin-client/ui/LoginForm.tsx create mode 100644 packages/hotsurf/src/BottomSticky/index.ts rename packages/{surfers-ui/src/BottomSticky.tsx => hotsurf/src/BottomSticky/index.web.tsx} (59%) create mode 100644 packages/hotsurf/src/CTAButton/index.ts create mode 100644 packages/hotsurf/src/CTAButton/index.web.tsx create mode 100644 packages/hotsurf/src/LoginForm/index.ts create mode 100644 packages/hotsurf/src/LoginForm/index.web.tsx create mode 100644 packages/hotsurf/src/LoginModal/index.ts rename packages/{accounts-ui/src/LoginModal.tsx => hotsurf/src/LoginModal/index.web.tsx} (80%) create mode 100644 packages/hotsurf/src/Modal/index.ts rename packages/{surfers-ui/src/Modal.tsx => hotsurf/src/Modal/index.web.tsx} (88%) create mode 100644 packages/hotsurf/src/ModalPortal/index.ts create mode 100644 packages/hotsurf/src/ModalPortal/index.web.tsx rename packages/{surfers-ui => hotsurf}/src/constants.ts (100%) create mode 100644 packages/store-client/app/registry/StyledComponentsRegistry.tsx delete mode 100644 packages/surfers-ui/.eslintrc delete mode 100644 packages/surfers-ui/.gitignore delete mode 100644 packages/surfers-ui/.prettierrc.json delete mode 100644 packages/surfers-ui/package.json delete mode 100644 packages/surfers-ui/src/Button.tsx delete mode 100644 packages/surfers-ui/src/CTAButton.tsx delete mode 100644 packages/surfers-ui/src/ModalPortal.tsx delete mode 100644 packages/surfers-ui/src/index.ts delete mode 100644 packages/surfers-ui/tsconfig.json diff --git a/packages/accounts-ui/.eslintrc b/packages/accounts-ui/.eslintrc deleted file mode 100644 index 0293b3d..0000000 --- a/packages/accounts-ui/.eslintrc +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": [ - "coldsurfers", // for nodejs-typescript, or 'coldsurfers/nodejs-typescript' - "coldsurfers/react-typescript", // for react-typescript - "plugin:react-hooks/recommended" - ], - "plugins": ["@tanstack/query"], - "rules": { - "import/extensions": "off", - "import/no-unresolved": "off", - "no-undef": "off" - } -} \ No newline at end of file diff --git a/packages/accounts-ui/.gitignore b/packages/accounts-ui/.gitignore deleted file mode 100644 index 686d417..0000000 --- a/packages/accounts-ui/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -dist/ -.eslintcache diff --git a/packages/accounts-ui/.prettierrc.json b/packages/accounts-ui/.prettierrc.json deleted file mode 100644 index fa51da2..0000000 --- a/packages/accounts-ui/.prettierrc.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 2, - "semi": false, - "singleQuote": true -} diff --git a/packages/accounts-ui/package.json b/packages/accounts-ui/package.json deleted file mode 100644 index 374bb16..0000000 --- a/packages/accounts-ui/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "@coldsurfers/accounts-ui", - "version": "1.0.0", - "main": "dist/index.js", - "types": "dist/index.d.ts", - "source": "src/", - "files": [ - "src", - "dist" - ], - "exports": { - ".": { - "import": "./dist/index.js", - "require": "./dist/index.js" - } - }, - "license": "MIT", - "scripts": { - "prebuild": "yarn workspace @coldsurfers/surfers-ui build", - "build": "rm -rf dist && tsc", - "lint": "eslint --cache \"src/**/*.{js,jsx,ts,tsx}\" --fix", - "lint:fix": "yarn lint --fix" - }, - "peerDependencies": { - "@coldsurfers/surfers-ui": "1.0.0", - "@coldsurfers/hotsurf": ">= 0.2.6", - "@emotion/styled": "^11.11.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-native": ">= 0.69.0", - "react-spinners": "^0.13.8" - }, - "devDependencies": { - "@coldsurfers/surfers-ui": "1.0.0", - "@coldsurfers/hotsurf": "0.2.6", - "@emotion/styled": "^11.11.0", - "@typescript-eslint/eslint-plugin": "^5.62.0", - "@typescript-eslint/parser": "^5.62.0", - "eslint": "^8.56.0", - "eslint-config-airbnb-base": "^15.0.0", - "eslint-config-coldsurfers": "^1.1.3", - "eslint-config-prettier": "^8.10.0", - "eslint-plugin-import": "^2.29.1", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.6.0", - "prettier": "^3.2.4", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "typescript": "^5.3.3", - "react-spinners": "^0.13.8" - } -} diff --git a/packages/accounts-ui/src/LoginForm.tsx b/packages/accounts-ui/src/LoginForm.tsx deleted file mode 100644 index 9dbe70a..0000000 --- a/packages/accounts-ui/src/LoginForm.tsx +++ /dev/null @@ -1,96 +0,0 @@ -import { Button, palette, Text, TextInput, Toast } from '@coldsurfers/hotsurf' -import { memo, useState } from 'react' -import styled from '@emotion/styled' -import Loader from './LoginFormLoader' - -const Wrapper = styled.section` - position: absolute; - top: 50%; /* position the top edge of the element at the middle of the parent */ - left: 50%; /* position the left edge of the element at the middle of the parent */ - - transform: translate(-50%, -50%); - - padding: 1rem; - border-radius: 3px; - - display: flex; - flex-direction: column; - - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); - transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); -` - -const ToastWrapper = styled.div` - position: absolute; - bottom: 20px; - left: 0; - right: 0; -` - -interface Props { - onClickLoginButton: () => void - isLoading?: boolean - withRequestButtonUI?: boolean - onClickRequestButtonUI?: () => void - errorMessage?: string -} - -const LoginForm = ({ - onClickLoginButton, - isLoading, - withRequestButtonUI, - onClickRequestButtonUI, - errorMessage, -}: Props) => { - const [email, setEmail] = useState('') - const [password, setPassword] = useState('') - - return ( - <> - - - Billets 어드민 - - setEmail(text)} - placeholder="이메일" - style={{ width: 300 }} - /> - setPassword(text)} - placeholder="패스워드" - secureTextEntry - style={{ width: 300, marginTop: 14 }} - /> -