Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
students
bora-it
Commits
d7cf7826
Commit
d7cf7826
authored
Aug 04, 2021
by
이재연
Browse files
진짜 머지 끝
parent
84e6503b
Changes
5
Hide whitespace changes
Inline
Side-by-side
client/src/components/Home/RoomSingle.js
View file @
d7cf7826
...
@@ -38,7 +38,6 @@ const RoomSingle = () => {
...
@@ -38,7 +38,6 @@ const RoomSingle = () => {
useEffect
(()
=>
{
useEffect
(()
=>
{
getJoinRoom
(
id
);
getJoinRoom
(
id
);
},
[
id
]);
},
[
id
]);
console
.
log
(
room
)
const
{
profileimg
}
=
room
;
const
{
profileimg
}
=
room
;
return
(
return
(
...
@@ -46,7 +45,7 @@ const RoomSingle = () => {
...
@@ -46,7 +45,7 @@ const RoomSingle = () => {
{
room
&&
{
room
&&
room
.
map
((
el
)
=>
(
room
.
map
((
el
)
=>
(
<
div
>
<
div
>
{
room
===
INIT_ROOM
?
(
<
div
><
/div>
)
:
(
{
room
[
0
]
===
INIT_ROOM
?
(
<
div
><
/div>
)
:
(
<
Link
<
Link
to
=
{
`/room/
${
el
.
roomId
}
/
${
channelId
}
`
}
to
=
{
`/room/
${
el
.
roomId
}
/
${
channelId
}
`
}
className
=
"
text-decoration-none text-dark
"
className
=
"
text-decoration-none text-dark
"
...
...
client/src/components/Room/InitRoom.js
View file @
d7cf7826
...
@@ -19,6 +19,7 @@ const InitRoom = () => {
...
@@ -19,6 +19,7 @@ const InitRoom = () => {
const
data
=
await
roomApi
.
getRoom
([
roomId
]);
const
data
=
await
roomApi
.
getRoom
([
roomId
]);
console
.
log
(
data
)
console
.
log
(
data
)
setRoom
({...
room
,
id
:
data
[
0
].
id
,
name
:
data
[
0
].
name
,
profileimg
:
data
[
0
].
profileimg
})
setRoom
({...
room
,
id
:
data
[
0
].
id
,
name
:
data
[
0
].
name
,
profileimg
:
data
[
0
].
profileimg
})
console
.
log
(
room
.
profileimg
)
}
catch
(
error
)
{
}
catch
(
error
)
{
catchErrors
(
error
,
setError
);
catchErrors
(
error
,
setError
);
}
}
...
...
client/src/components/Room/RightHamburger.js
View file @
d7cf7826
...
@@ -5,70 +5,69 @@ import RoomApi from "../../apis/room.api";
...
@@ -5,70 +5,69 @@ import RoomApi from "../../apis/room.api";
import
catchErrors
from
"
../../context/catchError
"
;
import
catchErrors
from
"
../../context/catchError
"
;
const
INIT_ROOM
=
{
const
INIT_ROOM
=
{
name
:
""
,
name
:
""
,
};
};
const
INIT_CHANNEL
=
{
const
INIT_CHANNEL
=
{
channelName
:
""
,
channelName
:
""
,
joinName
:
[],
joinName
:
[],
};
};
const
RightHamburger
=
()
=>
{
const
RightHamburger
=
()
=>
{
const
[
channel
,
setChannel
]
=
useState
([
INIT_CHANNEL
]);
const
[
channel
,
setChannel
]
=
useState
([
INIT_CHANNEL
]);
const
[
room
,
setRoom
]
=
useState
([
INIT_ROOM
])
const
[
room
,
setRoom
]
=
useState
([
INIT_ROOM
]);
const
{
roomId
}
=
useParams
();
const
{
roomId
}
=
useParams
();
const
[
error
,
setError
]
=
useState
(
""
);
const
[
error
,
setError
]
=
useState
(
""
);
const
id
=
localStorage
.
getItem
(
'
user
'
);
const
id
=
localStorage
.
getItem
(
"
user
"
);
async
function
getRoom
(
roomId
)
{
try
{
const
data
=
await
RoomApi
.
getRoom
([
roomId
]);
setRoom
({...
room
,
name
:
data
[
0
].
name
});
}
catch
(
error
)
{
catchErrors
(
error
,
setError
);
}
}
async
function
exitRoom
()
{
console
.
log
(
'
id, roomid정보
'
,
id
,
roomId
)
try
{
const
data
=
await
RoomApi
.
exitRoom
({
id
,
roomId
})
console
.
log
(
data
)
}
catch
(
error
)
{
catchErrors
(
error
,
setError
);
}
async
function
getRoom
(
roomId
)
{
try
{
const
data
=
await
RoomApi
.
getRoom
([
roomId
]);
setRoom
({
...
room
,
name
:
data
[
0
].
name
});
}
catch
(
error
)
{
catchErrors
(
error
,
setError
);
}
}
async
function
exitRoom
()
{
console
.
log
(
"
id, roomid정보
"
,
id
,
roomId
);
try
{
const
data
=
await
RoomApi
.
exitRoom
({
id
,
roomId
});
console
.
log
(
data
);
}
catch
(
error
)
{
catchErrors
(
error
,
setError
);
}
}
}
async
function
getChannel
(
roomId
)
{
async
function
getChannel
(
roomId
)
{
const
ID
=
roomId
const
ID
=
roomId
;
try
{
try
{
const
data
=
await
RoomApi
.
getRoom
([
ID
]);
const
data
=
await
RoomApi
.
getRoom
([
ID
]);
const
Channel
=
data
[
0
].
channel
const
Channel
=
data
[
0
].
channel
;
console
.
log
(
'
방데이터:
'
,
Channel
)
console
.
log
(
"
방데이터:
"
,
Channel
);
const
channelList
=
[];
const
channelList
=
[];
for
(
const
prop
in
Channel
)
{
// Channel의 항목(prop)으로 작업을 실행합니다
for
(
const
prop
in
Channel
)
{
for
(
const
key
in
Channel
[
prop
])
{
// Channel의 항목(prop)으로 작업을 실행합니다
console
.
log
(
key
)
for
(
const
key
in
Channel
[
prop
])
{
console
.
log
(
prop
)
console
.
log
(
key
);
console
.
log
(
Channel
[
prop
][
key
])
console
.
log
(
prop
);
channelList
.
push
({
console
.
log
(
Channel
[
prop
][
key
]);
channelName
:
key
,
channelList
.
push
({
joinName
:
Channel
[
prop
][
key
]
channelName
:
key
,
});
joinName
:
Channel
[
prop
][
key
],
}
});
}
setChannel
(
channelList
);
}
catch
(
error
)
{
catchErrors
(
error
,
setError
);
}
}
}
setChannel
(
channelList
);
}
catch
(
error
)
{
catchErrors
(
error
,
setError
);
}
}
}
// console.log(channel)
// console.log(channel)
useEffect
(()
=>
{
useEffect
(()
=>
{
getChannel
(
roomId
);
getChannel
(
roomId
);
getRoom
(
roomId
)
getRoom
(
roomId
)
;
},
[
roomId
]);
},
[
roomId
]);
function
roomIdCopy
()
{
function
roomIdCopy
()
{
...
@@ -127,86 +126,83 @@ const RightHamburger = () => {
...
@@ -127,86 +126,83 @@ const RightHamburger = () => {
><
/button
>
><
/button
>
<
/div
>
<
/div
>
<
div
>
<
div
>
<
ChannelSingle
channel
=
{
channel
}
/
>
<
ChannelSingle
channel
=
{
channel
}
/
>
<
div
className
=
"
d-flex flex-row-reverse
"
>
<
div
className
=
"
d-flex flex-row-reverse
"
>
<
button
<
button
type
=
"
button
"
type
=
"
button
"
className
=
"
m-3 rounded
"
className
=
"
m-3 rounded
"
data
-
bs
-
toggle
=
"
modal
"
data
-
bs
-
toggle
=
"
modal
"
data
-
bs
-
target
=
"
#inviteRoom
"
data
-
bs
-
target
=
"
#inviteRoom
"
style
=
{{
style
=
{{
height
:
"
30px
"
,
height
:
"
30px
"
,
fontWeight
:
"
bold
"
,
fontWeight
:
"
bold
"
,
backgroundColor
:
"
#E0CEE8
"
,
backgroundColor
:
"
#E0CEE8
"
,
color
:
"
black
"
,
color
:
"
black
"
,
border
:
"
1px #D64D61
"
,
border
:
"
1px #D64D61
"
,
}}
}}
>
>
초대
초대
<
/button
>
<
/button
>
<
div
<
div
className
=
"
modal fade
"
className
=
"
modal fade
"
id
=
"
inviteRoom
"
id
=
"
inviteRoom
"
tabIndex
=
"
-1
"
tabIndex
=
"
-1
"
aria
-
labelledby
=
"
exitRoomLabel
"
aria
-
labelledby
=
"
exitRoomLabel
"
aria
-
hidden
=
"
true
"
aria
-
hidden
=
"
true
"
>
>
<
div
className
=
"
modal-dialog
"
>
<
div
className
=
"
modal-dialog
"
>
<
div
className
=
"
modal-content
"
>
<
div
className
=
"
modal-content
"
>
<
div
className
=
"
modal-header
"
>
<
div
className
=
"
modal-header
"
>
<
button
<
button
type
=
"
button
"
type
=
"
button
"
className
=
"
btn-close
"
className
=
"
btn-close
"
data
-
bs
-
dismiss
=
"
modal
"
data
-
bs
-
dismiss
=
"
modal
"
aria
-
label
=
"
Close
"
aria
-
label
=
"
Close
"
><
/button
>
><
/button
>
<
/div
>
<
/div
>
<
div
className
=
"
modal-body d-flex justify-content-center
"
>
<
div
className
=
"
modal-body d-flex justify-content-center
"
>
어떤
방식으로
초대하시겠습니까
?
어떤
방식으로
초대하시겠습니까
?
<
/div
>
<
/div
>
<
div
className
=
"
row mb-3
"
>
<
div
className
=
"
row mb-3
"
>
<
div
className
=
"
d-flex justify-content-evenly
"
>
<
div
className
=
"
d-flex justify-content-evenly
"
>
<
button
<
button
type
=
"
submit
"
type
=
"
submit
"
className
=
"
col-2 p-1 btn btn-primary
"
className
=
"
col-2 p-1 btn btn-primary
"
style
=
{{
width
:
"
120px
"
}}
style
=
{{
width
:
"
120px
"
}}
>
>
카카오로
초대
카카오로
초대
<
/button
>
<
/button
>
<
button
<
button
type
=
"
submit
"
type
=
"
submit
"
className
=
"
col-2 p-1 btn btn-primary
"
className
=
"
col-2 p-1 btn btn-primary
"
data
-
bs
-
dismiss
=
"
modal
"
data
-
bs
-
dismiss
=
"
modal
"
style
=
{{
width
:
"
120px
"
}}
style
=
{{
width
:
"
120px
"
}}
onClick
=
{
roomIdCopy
}
onClick
=
{
roomIdCopy
}
>
>
방
Id
복사
방
Id
복사
<
/button
>
<
/button
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
div
>
<
/div
>
<
div
className
=
"
d-flex flex-row-reverse
"
>
<
/div
>
<
button
<
div
className
=
"
d-flex flex-row-reverse
"
>
type
=
"
button
"
<
button
className
=
"
m-3 rounded text-white
"
type
=
"
button
"
data
-
bs
-
toggle
=
"
modal
"
className
=
"
m-3 rounded text-white
"
data
-
bs
-
target
=
"
#exitRoom
"
data
-
bs
-
toggle
=
"
modal
"
style
=
{{
data
-
bs
-
target
=
"
#exitRoom
"
height
:
"
30px
"
,
style
=
{{
fontWeight
:
"
bold
"
,
height
:
"
30px
"
,
backgroundColor
:
"
#d86da6
"
,
fontWeight
:
"
bold
"
,
color
:
"
black
"
,
backgroundColor
:
"
#d86da6
"
,
border
:
"
1px #d86da6
"
,
color
:
"
black
"
,
}}
border
:
"
1px #d86da6
"
,
>
}}
퇴장
>
<
/button
>
퇴장
{
/* {admin ? (
<
/button
>
{
/* {admin ? (
<button
<button
type="button"
type="button"
className="m-3 rounded"
className="m-3 rounded"
...
@@ -222,55 +218,59 @@ const RightHamburger = () => {
...
@@ -222,55 +218,59 @@ const RightHamburger = () => {
</button>
</button>
) : null} */
}
) : null} */
}
<
div
<
div
className
=
"
modal fade
"
className
=
"
modal fade
"
id
=
"
exitRoom
"
id
=
"
exitRoom
"
tabIndex
=
"
-1
"
tabIndex
=
"
-1
"
aria
-
labelledby
=
"
exitRoomLabel
"
aria
-
labelledby
=
"
exitRoomLabel
"
aria
-
hidden
=
"
true
"
aria
-
hidden
=
"
true
"
>
<
div
className
=
"
modal-dialog
"
>
<
div
className
=
"
modal-content
"
>
<
div
className
=
"
modal-header
"
>
<
button
type
=
"
button
"
className
=
"
btn-close
"
data
-
bs
-
dismiss
=
"
modal
"
aria
-
label
=
"
Close
"
><
/button
>
<
/div
>
<
div
className
=
"
modal-body d-flex justify-content-center
"
>
이방에서
퇴장하시겠습니까
?
<
/div
>
<
div
className
=
"
row mb-3
"
>
<
div
className
=
"
d-flex justify-content-evenly
"
>
<
Link
to
=
{
`/user/
${
id
}
`
}
className
=
"
col-2 p-1 btn btn-primary
"
>
<
button
type
=
"
button
"
onClick
=
{
exitRoom
}
className
=
"
btn btn-primary
"
data
-
bs
-
dismiss
=
"
modal
"
>
예
<
/button
>
<
/Link
>
<
button
type
=
"
submit
"
className
=
"
btn btn-primary
"
data
-
bs
-
dismiss
=
"
modal
"
>
>
<
div
className
=
"
modal-dialog
"
>
아니요
<
div
className
=
"
modal-content
"
>
<
/button
>
<
div
className
=
"
modal-header
"
>
<
/div
>
<
button
type
=
"
button
"
className
=
"
btn-close
"
data
-
bs
-
dismiss
=
"
modal
"
aria
-
label
=
"
Close
"
><
/button
>
<
/div
>
<
div
className
=
"
modal-body d-flex justify-content-center
"
>
이방에서
퇴장하시겠습니까
?
<
/div
>
<
div
className
=
"
row mb-3
"
>
<
div
className
=
"
d-flex justify-content-evenly
"
>
<
Link
to
=
{
`/user/
${
id
}
`
}
className
=
"
col-2 p-1 btn btn-primary
"
>
<
button
type
=
"
button
"
onClick
=
{
exitRoom
}
className
=
"
btn btn-primary
"
data
-
bs
-
dismiss
=
"
modal
"
>
예
<
/button
>
<
/Link
>
<
button
type
=
"
submit
"
className
=
"
btn btn-primary
"
data
-
bs
-
dismiss
=
"
modal
"
>
아니요
<
/button
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
);
<
/div
>
};
<
/div
>
);
};
export
default
RightHamburger
;
export
default
RightHamburger
;
\ No newline at end of file
server/app.js
View file @
d7cf7826
...
@@ -19,6 +19,10 @@ const io = new Server(server, {
...
@@ -19,6 +19,10 @@ const io = new Server(server, {
app
.
use
(
express
.
json
());
app
.
use
(
express
.
json
());
app
.
use
(
express
.
urlencoded
({
extended
:
true
}));
app
.
use
(
express
.
urlencoded
({
extended
:
true
}));
app
.
use
(
cookieParser
());
app
.
use
(
cookieParser
());
app
.
use
(
'
/uploads
'
,
express
.
static
(
'
uploads
'
))
app
.
use
(
'
/roomUploads
'
,
express
.
static
(
'
roomUploads
'
))
app
.
use
(
"
/api
"
,
mainRouter
);
app
.
use
(
"
/api
"
,
mainRouter
);
...
...
server/models/room.model.js
View file @
d7cf7826
...
@@ -16,7 +16,7 @@ const RoomModel = (sequelize) => {
...
@@ -16,7 +16,7 @@ const RoomModel = (sequelize) => {
type
:
DataTypes
.
INTEGER
,
type
:
DataTypes
.
INTEGER
,
},
},
member
:
{
member
:
{
type
:
DataTypes
.
ARRAY
(
DataTypes
.
INTEGER
),
type
:
DataTypes
.
ARRAY
(
DataTypes
.
STRING
),
//type: DataTypes.STRING,
//type: DataTypes.STRING,
},
},
profileimg
:
{
profileimg
:
{
...
...
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