Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
students
butter-studio
Commits
04e35c5c
"frontend/src/git@compmath.korea.ac.kr:students/survey.git" did not exist on "b9c830528a40d4d808a7174bb28e5ec206f4fed4"
Commit
04e35c5c
authored
Jul 07, 2021
by
Jiwon Yoon
Browse files
Merge branch 'master' into jiwon
parents
2d84b4fb
47ca3f32
Changes
21
Hide whitespace changes
Inline
Side-by-side
client/src/App.js
View file @
04e35c5c
...
...
@@ -13,17 +13,20 @@ import AdminPage from "./pages/AdminPage/AdminPage";
function
App
()
{
return
(
<
div
className
=
""
style
=
{{
backgroundColor
:
"
black
"
}}
>
<
SubNav
/>
<
Header
/>
<
MainNav
/>
<
Router
>
<
Switch
>
<
Route
exact
path
=
"
/
"
component
=
{
HomePage
}
/
>
<
Route
path
=
"
/movie
"
component
=
{
MovieListPage
}
/
>
<
/Switch
>
<
/Router
>
<
/div
>
<
div
className
=
""
style
=
{{
backgroundColor
:
"
black
"
}}
>
<
SubNav
/>
<
Header
/>
<
MainNav
/>
<
Router
>
<
Switch
>
<
Route
exact
path
=
"
/
"
component
=
{
HomePage
}
/
>
<
Route
path
=
"
/login
"
component
=
{
LoginPage
}
/
>
<
Route
path
=
"
/signup
"
component
=
{
SignupPage
}
/
>
<
Route
path
=
"
/movie
"
component
=
{
MovieListPage
}
/
>
<
Route
path
=
"
/admin
"
component
=
{
AdminPage
}
/
>
<
/Switch
>
<
/Router
>
<
/div
>
);
}
...
...
client/src/components/Admin/Admin.js
0 → 100644
View file @
04e35c5c
import
{
Link
,
Route
,
Switch
,
useRouteMatch
}
from
"
react-router-dom
"
;
import
MovieEdit
from
"
./MovieEdit
"
;
import
TheaterEdit
from
"
./TheaterEdit
"
;
import
CinemaEdit
from
"
./CinemaEdit
"
;
import
styles
from
"
./admin.module.scss
"
;
const
Admin
=
()
=>
{
const
match
=
useRouteMatch
()
return
(
<
div
className
=
{
`d-md-flex align-items-md-start
${
styles
.
box
}
`
}
>
<
nav
className
=
{
`col-md-3 col-lg-2 nav flex-md-column flex-row
${
styles
.
navbar
}
`
}
id
=
"
v-pills-tab
"
role
=
"
tablist
"
aria
-
orientation
=
"
vertical
"
>
<
li
className
=
"
nav-item
"
>
<
Link
to
=
{
`
${
match
.
url
}
/movie`
}
className
=
"
nav-link text-dark text-center active
"
>
영화
관리
<
/Link
>
<
/li
>
<
li
className
=
"
nav-item
"
>
<
Link
to
=
{
`
${
match
.
url
}
/theater`
}
className
=
"
nav-link text-dark text-center
"
>
상영관
관리
<
/Link
>
<
/li
>
<
li
className
=
"
nav-item
"
>
<
Link
to
=
{
`
${
match
.
url
}
/cinema`
}
className
=
"
nav-link text-dark text-center
"
>
영화관
관리
<
/Link
>
<
/li
>
<
/nav
>
<
div
className
=
"
tab-content container col-md-9 col-lg-10 mt-3
"
id
=
"
v-pills-tabContent
"
>
<
Switch
>
<
Route
path
=
{
`
${
match
.
path
}
/movie`
}
><
MovieEdit
/><
/Route
>
<
Route
path
=
{
`
${
match
.
path
}
/theater`
}
><
TheaterEdit
/><
/Route
>
<
Route
path
=
{
`
${
match
.
path
}
/cinema`
}
><
CinemaEdit
/><
/Route
>
<
Route
path
=
{
`
${
match
.
path
}
`
}
><
MovieEdit
/><
/Route
>
<
/Switch
>
<
/div
>
<
/div
>
)
}
export
default
Admin
\ No newline at end of file
client/src/components/Admin/CinemaEdit.js
0 → 100644
View file @
04e35c5c
const
CinemaEdit
=
()
=>
{
function
handleChange
(
e
)
{
const
{
name
,
value
}
=
e
.
target
console
.
log
(
"
name=
"
,
name
,
"
value=
"
,
value
)
}
return
(
<>
<
h2
className
=
"
border-bottom border-2 text-center pb-2 me-2
"
>
현재
영화관
정보
<
/h2
>
<
input
type
=
"
text
"
className
=
"
form-control
"
id
=
"
cinema
"
name
=
"
cinema
"
onChange
=
{
handleChange
}
/
>
<
p
>
총
상영관
수
:
8
개관
|
총
좌석
수
:
1
,
282
석
<
/p
>
<
div
className
=
"
mb-3
"
>
<
label
for
=
"
transportation
"
className
=
"
form-label
"
>
대중교통
안내
<
/label
>
<
textarea
className
=
"
form-control
"
id
=
"
transportation
"
name
=
"
transportation
"
onChange
=
{
handleChange
}
><
/textarea
>
<
/div
>
<
div
className
=
"
mb-3
"
>
<
label
for
=
"
parking
"
className
=
"
form-label
"
>
자가용
/
주차안내
<
/label
>
<
textarea
className
=
"
form-control
"
id
=
"
parking
"
name
=
"
parking
"
onChange
=
{
handleChange
}
><
/textarea
>
<
/div
>
<
label
>
지도보기
<
/label
>
<
/
>
)
}
export
default
CinemaEdit
\ No newline at end of file
client/src/components/Admin/MovieEdit.js
0 → 100644
View file @
04e35c5c
import
Search
from
"
../Search
"
;
const
MovieEdit
=
()
=>
{
return
(
<
div
className
=
"
d-flex justify-content-around
"
>
<
button
type
=
"
button
"
className
=
"
btn btn-dark
"
style
=
{{
width
:
"
5em
"
}}
>
등록
<
/button
>
<
Search
type
=
"
admin
"
/>
<
/div
>
)
}
export
default
MovieEdit
\ No newline at end of file
client/src/components/Admin/TheaterEdit.js
0 → 100644
View file @
04e35c5c
const
TheaterEdit
=
()
=>
{
return
(
<
div
>
<
/div
>
)
}
export
default
TheaterEdit
\ No newline at end of file
client/src/components/Admin/admin.module.scss
0 → 100644
View file @
04e35c5c
@media
screen
and
(
max-width
:
768px
)
{
.box
{
margin-bottom
:
100px
;
&
.navbar
{
position
:
fixed
;
bottom
:
0
;
left
:
0px
;
width
:
100%
;
justify-content
:
center
;
background-color
:
#fff
;
padding-top
:
5px
;
box-shadow
:
0
-5px
3px
0
#FEDC00
;
z-index
:
10
;
}
}
}
\ No newline at end of file
client/src/components/Admin/index.js
0 → 100644
View file @
04e35c5c
export
{
default
}
from
"
./Admin
"
\ No newline at end of file
client/src/components/Login/Login.js
0 → 100644
View file @
04e35c5c
import
{
useState
}
from
"
react
"
;
import
styles
from
"
./login.module.scss
"
;
const
Login
=
()
=>
{
const
[
state
,
setState
]
=
useState
(
true
)
return
(
<
div
className
=
{
`d-flex flex-column col-md-5 col-10`
}
>
{
/* nav-tabs */
}
<
ul
className
=
"
nav nav-fill nav-tabs w-100
"
id
=
"
loginTab
"
role
=
"
tablist
"
>
<
li
className
=
"
nav-item fs-6
"
role
=
"
presentation
"
>
<
button
className
=
{
`nav-link active px-2
${
styles
.
fontSize
}
`
}
style
=
{{
color
:
state
?
"
black
"
:
"
yellow
"
,
backgroundColor
:
state
?
"
yellow
"
:
"
black
"
}}
id
=
"
login-tab
"
data
-
bs
-
toggle
=
"
tab
"
data
-
bs
-
target
=
"
#login
"
type
=
"
button
"
role
=
"
tab
"
aria
-
controls
=
"
login
"
aria
-
selected
=
"
true
"
onClick
=
{()
=>
setState
(
true
)}
>
로그인
<
/button
>
<
/li
>
<
li
className
=
"
nav-item
"
role
=
"
presentation
"
>
<
button
className
=
{
`nav-link px-2
${
styles
.
fontSize
}
`
}
id
=
"
guest-tab
"
data
-
bs
-
toggle
=
"
tab
"
data
-
bs
-
target
=
"
#guest
"
type
=
"
button
"
role
=
"
tab
"
aria
-
controls
=
"
guest
"
aria
-
selected
=
"
false
"
onClick
=
{()
=>
setState
(
false
)}
style
=
{{
color
:
state
?
"
yellow
"
:
"
black
"
,
backgroundColor
:
state
?
"
black
"
:
"
yellow
"
}}
>
비회원
예매
확인
<
/button
>
<
/li
>
<
/ul
>
<
div
className
=
"
tab-content w-100
"
id
=
"
myTabContent
"
>
{
/* 로그인 */
}
<
div
className
=
"
tab-pane fade show active
"
id
=
"
login
"
role
=
"
tabpanel
"
aria
-
labelledby
=
"
login-tab
"
>
<
div
className
=
"
d-flex flex-column
"
>
<
input
className
=
{
styles
.
input
}
type
=
"
text
"
name
=
"
id
"
id
=
"
id
"
placeholder
=
"
ID
"
/>
<
input
className
=
{
styles
.
input
}
type
=
"
text
"
name
=
"
password
"
id
=
"
password
"
placeholder
=
"
Password
"
minlength
=
"
8
"
required
/>
<
input
className
=
"
bg-ButterYellow text-dark border-0 rounded-2 mt-2
"
type
=
"
submit
"
value
=
"
Login
"
/>
<
span
><
a
href
=
"
./signup
"
className
=
{
styles
.
intoSignupPage
}
>
회원이
아니십니까
?
<
/a></
span
>
<
/div
>
<
/div
>
{
/* 비회원예매 학인 */
}
<
div
className
=
"
tab-pane fade
"
id
=
"
guest
"
role
=
"
tabpanel
"
aria
-
labelledby
=
"
guest-tab
"
>
<
div
className
=
"
d-flex flex-column
"
>
<
input
className
=
{
styles
.
input
}
type
=
"
text
"
name
=
"
guestName
"
id
=
"
guestName
"
placeholder
=
"
이름
"
minlength
=
"
8
"
required
/>
<
input
className
=
{
styles
.
input
}
type
=
"
text
"
name
=
"
gusetBirthday
"
id
=
"
gusetBirthday
"
placeholder
=
"
생년월일
"
minlength
=
"
8
"
required
/>
<
input
className
=
{
styles
.
input
}
type
=
"
text
"
name
=
"
gusetMbnum
"
id
=
"
gusetMbnum
"
placeholder
=
"
휴대폰 번호
"
minlength
=
"
8
"
required
/>
<
input
className
=
{
styles
.
input
}
type
=
"
text
"
name
=
"
guestPassword
"
id
=
"
password
"
placeholder
=
"
비밀번호
"
minlength
=
"
8
"
required
/>
<
p
className
=
{
`text-white
${
styles
.
fontSizeTwo
}
`
}
>
※
비회원
정보
오
입력
시
예매
내역
확인
/
취소
및
티켓
발권이
어려울
수
있으니
다시
한번
확인해
주시기
바랍니다
.
<
/p
>
<
input
className
=
"
bg-ButterYellow text-dark border-0 rounded-2 mt-2
"
type
=
"
submit
"
value
=
"
비회원 예매 확인
"
/>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
)
}
export
default
Login
\ No newline at end of file
client/src/components/Login/index.js
0 → 100644
View file @
04e35c5c
export
{
default
}
from
'
./Login
'
\ No newline at end of file
client/src/components/Login/login.module.scss
0 → 100644
View file @
04e35c5c
.intoSignupPage
{
font-size
:
10px
;
text-decoration
:
none
;
color
:
white
;
}
.intoSignupPage
:hover
{
text-decoration
:
none
;
color
:
#FEDC00
;
}
.input
{
margin
:
0
.5rem
0
0
0
;
padding
:
0
.5rem
0
0
.5rem
0
;
color
:white
;
border-radius
:
3px
;
}
.fontSize
{
font-size
:
16px
;
}
.fontSizeTwo
{
font-size
:
10px
;
}
\ No newline at end of file
client/src/components/Navs/MainNav.js
View file @
04e35c5c
...
...
@@ -6,7 +6,7 @@ const MainNav = () => {
<
a
class
=
"
nav-link text-white
"
href
=
"
/movie
"
>
영화
<
/a
>
<
a
class
=
"
nav-link text-white
"
href
=
"
#
"
>
빠른예매
<
/a
>
<
a
class
=
"
nav-link text-white
"
href
=
"
#
"
>
극장
<
/a
>
<
Search
/>
<
Search
type
=
"
home
"
/>
<
/nav
>
)
}
...
...
client/src/components/Navs/SubNav.js
View file @
04e35c5c
const
SubNav
=
()
=>
{
return
(
<
nav
class
=
"
nav justify-content-end py-1
"
>
<
a
class
=
"
nav-link text-white
"
href
=
"
#
"
>
로그인
<
/a
>
<
a
class
=
"
nav-link text-white
"
href
=
"
#
"
>
회원가입
<
/a
>
<
a
class
=
"
nav-link text-white
"
href
=
"
/login
"
>
로그인
<
/a
>
<
a
class
=
"
nav-link text-white
"
href
=
"
/signup
"
>
회원가입
<
/a
>
<
/nav
>
)
}
...
...
client/src/components/Search/Search.js
View file @
04e35c5c
import
styles
from
"
./search.module.scss
"
;
const
Search
=
()
=>
{
const
Search
=
({
type
})
=>
{
console
.
log
(
"
type==
"
,
type
)
return
(
<
div
className
=
"
d-flex
"
>
<
input
className
=
"
form-control
"
type
=
"
text
"
id
=
"
search
"
/>
<
i
className
=
"
bi bi-search align-self-center
text-white
"
style
=
{{
fontSize
:
"
1.3rem
"
}}
><
/i
>
<
input
className
=
"
form-control
"
type
=
"
text
"
id
=
{
type
===
"
home
"
?
styles
.
searchWhite
:
styles
.
search
}
/
>
<
i
className
=
{
`
bi bi-search align-self-center
${
type
===
"
home
"
?
"
text-white
"
:
"
mx-1
"
}
${
styles
.
icon
}
`
}
style
=
{{
fontSize
:
"
1.3rem
"
}}
><
/i
>
<
/div
>
)
}
...
...
client/src/components/Search/search.module.scss
View file @
04e35c5c
input
[
type
=
"text"
]
{
.icon
{
cursor
:
pointer
;
}
#searchWhite
{
background
:
transparent
;
border
:
none
;
border-bottom
:
2px
solid
#fff
;
...
...
@@ -7,16 +11,22 @@ input[type="text"] {
border-radius
:
0
;
color
:
#fff
;
margin-bottom
:
5px
;
}
input
[
type
=
"text"
]
:focus
{
background
:
transparent
;
-webkit-box-shadow
:
none
;
box-shadow
:
none
;
border-color
:
#fff
;
color
:
#fff
;
&
:focus
{
background
:
transparent
;
-webkit-box-shadow
:
none
;
box-shadow
:
none
;
border-color
:
#fff
;
color
:
#fff
;
}
}
i
{
cursor
:
pointer
;
#search
{
box-shadow
:
none
;
-webkit-box-shadow
:
none
;
&
:focus
{
-webkit-box-shadow
:
none
;
box-shadow
:
none
;
border-color
:
#000
;
}
}
\ No newline at end of file
client/src/components/Signup/Signup.js
0 → 100644
View file @
04e35c5c
import
styles
from
"
./signup.module.scss
"
;
const
Signup
=
()
=>
{
return
(
<
div
className
=
{
`d-flex
${
styles
.
signup
}
col-md-8 col-12 align-items-center`
}
>
<
table
>
<
colgroup
>
<
col
class
=
"
col1
"
/>
<
col
/>
<
/colgroup
>
<
tbody
>
<
tr
>
<
th
>
<
label
for
=
"
guestName
"
>
이름
<
/label
>
<
/th
>
<
td
><
input
type
=
"
text
"
placeholder
=
"
이름
"
/><
/td
>
<
/tr
>
<
tr
>
<
th
>
<
label
for
=
"
guestBirthday
"
>
생년월일
<
/label
>
<
/th
>
<
td
><
input
type
=
"
text
"
placeholder
=
"
생년월일(6자리)
"
/><
/td
>
<
/tr
>
<
tr
>
<
th
>
<
label
for
=
"
guestMbnum
"
>
휴대폰
번호
<
/label
>
<
/th
>
<
td
><
input
type
=
"
text
"
placeholder
=
"
'-'없이 입력
"
/><
/td
>
<
/tr
>
<
tr
>
<
th
>
<
label
for
=
"
guestPassword
"
>
비밀번호
<
/label
>
<
/th
>
<
td
><
input
type
=
"
password
"
placeholder
=
"
숫자 4자리
"
/><
/td
>
<
/tr
>
<
tr
>
<
/tr
>
<
/tbody
>
<
/table
>
<
p
>
※
비회원
정보
오
입력
시
예매
내역
확인
/
취소
및
티켓
발권이
어려울
수
있으니
다시
한번
확인해
주시기
바랍니다
.
<
/p
>
<
div
class
=
"
guestLoginBtn
"
>
<
input
class
=
"
guestLoginBtn
"
type
=
"
submit
"
value
=
"
비회원 예매 확인
"
/>
<
/div
>
<
/div
>
)
}
export
default
Signup
\ No newline at end of file
client/src/components/Signup/index.js
0 → 100644
View file @
04e35c5c
export
{
default
}
from
'
./Signup
'
\ No newline at end of file
client/src/components/Signup/signup.module.scss
0 → 100644
View file @
04e35c5c
client/src/pages/AdminPage/AdminPage.js
View file @
04e35c5c
import
AdminLayout
from
"
./AdminLayout
"
;
import
Admin
from
"
../../components/Admin/Admin
"
;
const
AdminPage
=
()
=>
{
return
(
<
AdminLayout
>
<
Admin
/>
<
/AdminLayout
>
)
}
...
...
client/src/pages/LoginPage.js
View file @
04e35c5c
import
Login
from
"
../components/Login/Login
"
;
const
LoginPage
=
()
=>
{
return
(
<
div
>
<
div
className
=
"
d-flex justify-content-center py-5
"
>
<
Login
/>
<
/div
>
)
}
...
...
client/src/pages/SignupPage.js
View file @
04e35c5c
import
Signup
from
'
../components/Signup
'
const
SignupPage
=
()
=>
{
return
(
<
div
>
<
Signup
/>
<
/div
>
)
}
...
...
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment