1
- import Header from ' @components/Header' ;
2
- import Button from ' @components/Button' ;
3
- import { css } from ' @emotion/react' ;
4
- import styled from ' @emotion/styled' ;
5
- import useStep , { STEP , StepContent , StepContentMap } from ' @hooks/useStep' ;
6
- import getFontStyle from ' @theme/font/getFontSize' ;
7
- import 쓰기 from ' @pages/write/쓰기' ;
8
- import 완료 from ' @pages/write/완료' ;
9
- import 탄생 from ' @pages/write/탄생' ;
10
- import 형태 from ' @pages/write/형태' ;
11
- import 선택 from ' @pages/write/선택' ;
12
- import { useAtom , useAtomValue } from ' jotai' ;
13
- import { daybookAtom , tagInputAtom } from ' @state/daybook' ;
14
- import { useEffect } from ' react' ;
15
- import { RESET } from ' jotai/utils' ;
16
- import { fadeLeftAnimation } from ' @theme/animation' ;
17
- import { useSearchParams } from ' react-router-dom' ;
18
- import { paperTypeState } from ' @state/paperType' ;
19
- import LoadingSpinner from ' @components/LoadingSpinner' ;
1
+ import Header from " @components/Header" ;
2
+ import Button from " @components/Button" ;
3
+ import { css } from " @emotion/react" ;
4
+ import styled from " @emotion/styled" ;
5
+ import useStep , { STEP , StepContent , StepContentMap } from " @hooks/useStep" ;
6
+ import getFontStyle from " @theme/font/getFontSize" ;
7
+ import 쓰기 from " @pages/write/쓰기" ;
8
+ import 완료 from " @pages/write/완료" ;
9
+ import 탄생 from " @pages/write/탄생" ;
10
+ import 형태 from " @pages/write/형태" ;
11
+ import 선택 from " @pages/write/선택" ;
12
+ import { useAtom , useAtomValue } from " jotai" ;
13
+ import { daybookAtom , tagInputAtom } from " @state/daybook" ;
14
+ import { useEffect } from " react" ;
15
+ import { RESET } from " jotai/utils" ;
16
+ import { fadeLeftAnimation } from " @theme/animation" ;
17
+ import { useSearchParams } from " react-router-dom" ;
18
+ import { paperTypeState } from " @state/paperType" ;
19
+ import LoadingSpinner from " @components/LoadingSpinner" ;
20
20
21
21
const STEP_COMPONENTS = {
22
22
[ STEP . 선택 ] : 선택 ,
@@ -29,7 +29,7 @@ const STEP_COMPONENTS = {
29
29
function Write ( ) {
30
30
const { isLoading, step, nextStep, previousStep } = useStep ( ) ;
31
31
const [ searchParams ] = useSearchParams ( ) ;
32
- const query = searchParams . get ( ' from' ) ;
32
+ const query = searchParams . get ( " from" ) ;
33
33
34
34
const StepComponent = STEP_COMPONENTS [ step ] ;
35
35
const { title, description, buttonText } = StepContentMap . get (
@@ -42,41 +42,42 @@ function Write() {
42
42
43
43
const buttonDisableHandler = ( ) => {
44
44
if ( ! paperTypeAtom ) return true ;
45
- if ( step === '쓰기' && daybook . content . trim ( ) . length === 0 ) return true ;
46
- if ( step === '탄생' && daybook . category . length === 0 ) return true ;
47
- if ( step === '형태' && daybook . hashtags . length === 0 ) return true ;
45
+ if ( step === "쓰기" && daybook . content . trim ( ) . length === 0 ) return true ;
46
+ if ( step === "탄생" && daybook . category . length === 0 ) return true ;
47
+ if ( step === "형태" && daybook . hashtags . length === 0 ) return true ;
48
48
return false ;
49
49
} ;
50
50
51
51
useEffect ( ( ) => {
52
52
setDaybook ( RESET ) ;
53
53
} , [ setDaybook ] ) ;
54
54
55
+ if ( isLoading ) return < LoadingSpinner /> ;
56
+
55
57
return (
56
58
< >
57
- { isLoading && < LoadingSpinner /> }
58
59
< Header title = "일지 작성하기" >
59
- { step !== '완료' && (
60
+ { step !== "완료" && (
60
61
< Header . Button variety = "back" onClick = { previousStep } />
61
62
) }
62
63
</ Header >
63
64
< Wrapper >
64
65
< p
65
66
css = { css `
66
67
white-space: pre-wrap;
67
- ${ getFontStyle ( ' header1' ) }
68
+ ${ getFontStyle ( " header1" ) }
68
69
${ fadeLeftAnimation }
69
70
` }
70
71
>
71
- { step === '완료' && query === ' new'
72
- ? ' 축하합니다!\n첫 일지 기록을 완료하였습니다'
72
+ { step === "완료" && query === " new"
73
+ ? " 축하합니다!\n첫 일지 기록을 완료하였습니다"
73
74
: title }
74
75
</ p >
75
76
< p
76
77
css = { css `
77
78
white-space: pre-wrap;
78
79
margin-top: 9px;
79
- ${ getFontStyle ( ' title4' ) }
80
+ ${ getFontStyle ( " title4" ) }
80
81
${ fadeLeftAnimation }
81
82
` }
82
83
>
0 commit comments