Commit d7cf7826 authored by 이재연's avatar 이재연
Browse files

진짜 머지 끝

parent 84e6503b
...@@ -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"
......
...@@ -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);
} }
......
...@@ -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
...@@ -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);
......
...@@ -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: {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment