-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
프로젝트 상세내용 모달 기능을 추가해봤습니다. #2
base: main
Are you sure you want to change the base?
Changes from all commits
135adf8
bd1c6e8
372ff54
eec6b00
a34359a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
@@ -288,6 +288,8 @@ Write down the **Projects** you have made! | |||||||||
"imgUrl": "/assets/images/exmaple.png", | ||||||||||
"githubUrl": "https://github.com/ddongule", | ||||||||||
"projectUrl": "www.ddongule.com", | ||||||||||
"useDetailMd": false, | ||||||||||
"detailMdName": "", | ||||||||||
"title": "ddongule-simple-portfolio", | ||||||||||
"term": "21.02.02 v1.3.0", | ||||||||||
"description": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime mollitia ..", | ||||||||||
|
@@ -299,6 +301,20 @@ Write down the **Projects** you have made! | |||||||||
|
||||||||||
``` | ||||||||||
|
||||||||||
- For clicks on a project item, you can choose whether to go to the `projectUrl` link or show the markdown that describes the project in the modal. | ||||||||||
- If `useDetailMd` is false, you can use project item as a project link. | ||||||||||
- If `useDetailMd` is true, you can use project item as a button that shows a modal in which `detailMdName` file describes the project. | ||||||||||
- Put your markdown file to `src/assets/static/markdown`. | ||||||||||
- Write the file name to `projects.detailMdName`. | ||||||||||
Comment on lines
+307
to
+308
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
어떤 마크다운 파일인지 명시해주는 편이 더 좋을 것 같아서 (추가) 요 내용은 일단 한국말 버전 마크다운 파일이 확정되면 그 때 변경해보는 것이 더 좋을 것 같아요! 허헛! |
||||||||||
- Example | ||||||||||
``` | ||||||||||
{ | ||||||||||
..., | ||||||||||
detailMdName: "projectDetail.md", | ||||||||||
... | ||||||||||
} | ||||||||||
``` | ||||||||||
|
||||||||||
### 👉 5. Timestamp Section. | ||||||||||
|
||||||||||
<img src="./public/readme/images/Timestamp.png" alt="example-image"/> | ||||||||||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export { ReactComponent as CancelNoCircleIcon } from "./cancel-no-circle-icon.svg"; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. End Of File 문제가 있네요! |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# Project Detail Example | ||
|
||
<br> | ||
|
||
## This is Broccoli project!! | ||
|
||
<br> | ||
|
||
- Write down the project details here!! | ||
- Write down the project details here!! | ||
- Write down the project details here!! |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
import './index.scss'; | ||
|
||
import { createPortal } from "react-dom"; | ||
import { CancelNoCircleIcon } from "../../assets/static/icons"; | ||
|
||
const Modal = ({ onClose, children }) => { | ||
const onDimmedAreaClick = (event) => { | ||
if (event.target === event.currentTarget) { | ||
onClose(); | ||
} | ||
} | ||
|
||
return ( | ||
<section className="modal-container" onClick={onDimmedAreaClick}> | ||
<div className="modal-inner"> | ||
<button type="button" onClick={onClose}> | ||
<CancelNoCircleIcon /> | ||
</button> | ||
<div className="modal-content"> | ||
{children} | ||
</div> | ||
</div> | ||
</section> | ||
) | ||
} | ||
|
||
const ModalPortal = (props) => { | ||
const $MessageModal = document.getElementById("modal"); | ||
|
||
if (!$MessageModal) throw Error("cannot find modal wrapper"); | ||
|
||
return createPortal(<Modal {...props} />, $MessageModal); | ||
}; | ||
|
||
export default ModalPortal | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 마찬가지로 여기에도 End Of File 문제가 있네요! 🥺 |
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,58 @@ | ||||||||||||||||||||||||
.modal-container { | ||||||||||||||||||||||||
position: fixed; | ||||||||||||||||||||||||
top: 0; | ||||||||||||||||||||||||
right: 0; | ||||||||||||||||||||||||
bottom: 0; | ||||||||||||||||||||||||
left: 0; | ||||||||||||||||||||||||
z-index: 100; | ||||||||||||||||||||||||
background-color: rgba(0, 0, 0, 0.5); | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||||||||||||||||||||||||
display: flex; | ||||||||||||||||||||||||
justify-content: center; | ||||||||||||||||||||||||
align-items: center; | ||||||||||||||||||||||||
animation: fadeIn 0.5s forwards; | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
} | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
.modal-inner { | ||||||||||||||||||||||||
width: fit-content; | ||||||||||||||||||||||||
height: fit-content; | ||||||||||||||||||||||||
border-radius: 4px; | ||||||||||||||||||||||||
background-color: #ffffff; | ||||||||||||||||||||||||
position: relative; | ||||||||||||||||||||||||
Comment on lines
+18
to
+22
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
기존
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||
button { | ||||||||||||||||||||||||
position: absolute; | ||||||||||||||||||||||||
right: -30px; | ||||||||||||||||||||||||
top: -30px; | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
svg { | ||||||||||||||||||||||||
transform: scale(2); | ||||||||||||||||||||||||
} | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
&:active { | ||||||||||||||||||||||||
transform: scale(0.98) | ||||||||||||||||||||||||
} | ||||||||||||||||||||||||
} | ||||||||||||||||||||||||
} | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
.modal-content { | ||||||||||||||||||||||||
padding: 1.5rem; | ||||||||||||||||||||||||
width: fit-content; | ||||||||||||||||||||||||
height: fit-content; | ||||||||||||||||||||||||
max-width: 31.25rem; | ||||||||||||||||||||||||
min-height: 25rem; | ||||||||||||||||||||||||
max-height: 37.5rem; | ||||||||||||||||||||||||
overflow: scroll; | ||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
스크롤이 필요없는데도 스크롤 영역이 보이는 것보다는, |
||||||||||||||||||||||||
} | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||
@keyframes fadeIn { | ||||||||||||||||||||||||
from { | ||||||||||||||||||||||||
opacity: 0; | ||||||||||||||||||||||||
} | ||||||||||||||||||||||||
to { | ||||||||||||||||||||||||
opacity: 1; | ||||||||||||||||||||||||
} | ||||||||||||||||||||||||
} | ||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. End Of File.. 번거로우시겠지만 부탁드리옵니다.. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
제가 설명을 좀 극도로 자세히 하는 편이라 ^^;;ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
조금 더 자세히 사용자 가이드를 적어봤습니다.
잘못된 부분은 없는지 한 번 살펴봐주시면 감사하겠습니다! >_ㅇ
그리고
UseDetailMd
속성과detailMdName
속성이 서로 연관된 속성인만큼, 예시에도 함께 넣어주는 편이 더 좋을 것 같습니다! 어떻게 생각하시나요?그리고 detailMdName에 파일 확장자인
.md
는 달라질 부분이 없는 내용인 만큼,사용자가 확장자를 굳이 쓰지 않아도 될 수 있도록
ProjectItem
에서 import할 때에 미리 넣어두는 방법은 어떠신가요?그 쪽 부분에도 코멘트 달아두겠습니다!
이 부분에 코멘트가 많네요 따흐흑 한 번 확인해주시면 감사하겠습니다 >_ㅠ