diff --git a/src/assets/stylesheets/layouts/_commons.scss b/src/assets/stylesheets/layouts/_commons.scss index 1c3a937..d2c7a2a 100644 --- a/src/assets/stylesheets/layouts/_commons.scss +++ b/src/assets/stylesheets/layouts/_commons.scss @@ -100,6 +100,41 @@ a:has(#logo-primary) { opacity: 0.5; } +.user-common-table { + // 데이터 테이블 + display: flex; + flex-flow: column nowrap; + gap: 1px; + padding-block: 1px; + background-color: rgb(var(--clr-text) / 0.15); +} + +.user-common-table-row { + display: flex; + height: 1.8rem; + font-size: var(--fnt-sm); + background-color: rgb(var(--clr-white)); +} + +.user-common-table-row-header { + flex-shrink: 0; + display: flex; + justify-content: flex-end; + align-items: center; + padding-inline: 0.8rem; + width: 6.4rem; + background-color: rgb(var(--clr-tint-100) / 0.05); + font-weight: 200; +} + +.user-common-table-row-cell { + flex: 1; + display: flex; + align-items: center; + padding-inline: 0.8rem; + font-weight: 700; +} + .floating-tooltip { // 툴팁 --bubble-color: var(--clr-text); diff --git a/src/assets/stylesheets/pages/_rescueInfo.scss b/src/assets/stylesheets/pages/_rescueInfo.scss index 6f0b75d..670c690 100644 --- a/src/assets/stylesheets/pages/_rescueInfo.scss +++ b/src/assets/stylesheets/pages/_rescueInfo.scss @@ -1,18 +1,23 @@ /* _rescueInfo.scss */ +#rescue-found-situation { + font-weight: 700; + line-height: 1.4; +} + .rescue-disclaimer-block { display: flex; flex-flow: column nowrap; gap: 0.4rem; h6 { - font-size: var(--fnt-xl); + font-size: var(--fnt-lg); font-weight: 700; } p { - font-weight: 200; line-height: 1.4; + opacity: 0.5; & + p { margin-block-start: 0.2rem; @@ -20,4 +25,42 @@ } } +.list-animal-organizations { + display: flex; + flex-flow: column nowrap; + gap: 0.2rem; +} + +.user-common-labeled-row { + display: flex; + align-items: center; + height: 1.6rem; + border: 1px solid rgb(var(--clr-text) / 0.15); + border-radius: var(--rad-full); + font-size: var(--fnt-sm); + overflow: clip; + + > dt, + > dd { + display: flex; + align-items: center; + padding-inline: 0.8rem; + height: 100%; + } + + > dt { + flex-shrink: 0; + justify-content: center; + width: 6.4rem; + background-color: rgb(var(--clr-info) / 0.05); + font-weight: 200; + } + + > dd { + flex: 1; + border-inline-start: 1px solid rgb(var(--clr-text) / 0.15); + font-weight: 700; + } +} + /* _rescueInfo.scss */ diff --git a/src/assets/stylesheets/style.css b/src/assets/stylesheets/style.css index 294684d..0c4f0b6 100644 --- a/src/assets/stylesheets/style.css +++ b/src/assets/stylesheets/style.css @@ -661,6 +661,40 @@ a:has(#logo-primary) { opacity: 0.5; } +.user-common-table { + display: flex; + flex-flow: column nowrap; + gap: 1px; + padding-block: 1px; + background-color: rgb(var(--clr-text)/0.15); +} + +.user-common-table-row { + display: flex; + height: 1.8rem; + font-size: var(--fnt-sm); + background-color: rgb(var(--clr-white)); +} + +.user-common-table-row-header { + flex-shrink: 0; + display: flex; + justify-content: flex-end; + align-items: center; + padding-inline: 0.8rem; + width: 6.4rem; + background-color: rgb(var(--clr-tint-100)/0.05); + font-weight: 200; +} + +.user-common-table-row-cell { + flex: 1; + display: flex; + align-items: center; + padding-inline: 0.8rem; + font-weight: 700; +} + .floating-tooltip { --bubble-color: var(--clr-text); position: absolute; @@ -1711,23 +1745,63 @@ a:has(#logo-primary) { /* _missingReport.scss */ /* _rescueInfo.scss */ +#rescue-found-situation { + font-weight: 700; + line-height: 1.4; +} + .rescue-disclaimer-block { display: flex; flex-flow: column nowrap; gap: 0.4rem; } .rescue-disclaimer-block h6 { - font-size: var(--fnt-xl); + font-size: var(--fnt-lg); font-weight: 700; } .rescue-disclaimer-block p { - font-weight: 200; line-height: 1.4; + opacity: 0.5; } .rescue-disclaimer-block p + p { margin-block-start: 0.2rem; } +.list-animal-organizations { + display: flex; + flex-flow: column nowrap; + gap: 0.2rem; +} + +.user-common-labeled-row { + display: flex; + align-items: center; + height: 1.6rem; + border: 1px solid rgb(var(--clr-text)/0.15); + border-radius: var(--rad-full); + font-size: var(--fnt-sm); + overflow: clip; +} +.user-common-labeled-row > dt, +.user-common-labeled-row > dd { + display: flex; + align-items: center; + padding-inline: 0.8rem; + height: 100%; +} +.user-common-labeled-row > dt { + flex-shrink: 0; + justify-content: center; + width: 6.4rem; + background-color: rgb(var(--clr-info)/0.05); + font-weight: 200; +} +.user-common-labeled-row > dd { + flex: 1; + border-inline-start: 1px solid rgb(var(--clr-text)/0.15); + font-weight: 700; +} + /* _rescueInfo.scss */ /* _buttons.scss */ button { diff --git a/src/components/common/ChatItem.jsx b/src/components/common/ChatItem.jsx index dcc521e..7c0413c 100644 --- a/src/components/common/ChatItem.jsx +++ b/src/components/common/ChatItem.jsx @@ -5,7 +5,7 @@ import hourFormat from '../../utils/hourFormat'; const ChatItem = ({ chatFrom = 'my', // my, opposite chatUser = { userID: 0, userImage: null, userName: '대화 상대' }, - chatContent = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptas laboriosam, debitis veniam nobis eligendi sequi modi deleniti repellat harum aliquid possimus, repellendus, quisquam voluptatem! Exercitationem voluptas dolorem natus architecto laborum.', + chatContent = '주고받은 대화 내용', dateTime = '1970-01-01', isRead = true, }) => { diff --git a/src/components/common/DataTableRow.jsx b/src/components/common/DataTableRow.jsx new file mode 100644 index 0000000..b13bff5 --- /dev/null +++ b/src/components/common/DataTableRow.jsx @@ -0,0 +1,13 @@ +const DataTableRow = ({ tableHeader, children }) => { + return ( +
+
+ {tableHeader ?? '헤더'} +
+ +
{children}
+
+ ); +}; + +export default DataTableRow; diff --git a/src/components/common/ImageGallery.jsx b/src/components/common/ImageGallery.jsx index 9463530..6a21c01 100644 --- a/src/components/common/ImageGallery.jsx +++ b/src/components/common/ImageGallery.jsx @@ -11,46 +11,58 @@ import 'swiper/css'; import 'swiper/css/navigation'; import 'swiper/css/pagination'; -const ImageGallery = () => { - const images = [ - { - src: Image1, - alt: '정신차려 갤러리 이미지 1', - width: 1200, - height: 800, - }, - { - src: Image2, - alt: '정신차려 갤러리 이미지 2', - width: 800, - height: 600, - }, - { - src: Image3, - alt: '정신차려 갤러리 이미지 3', - width: 1600, - height: 900, - }, - { - src: Image4, - alt: '정신차려 갤러리 이미지 4', - width: 1024, - height: 768, - }, - { - src: Image4, - alt: '정신차려 갤러리 이미지 4', - width: 1024, - height: 768, - }, - { - src: Image4, - alt: '정신차려 갤러리 이미지 4', - width: 1024, - height: 768, - }, - ]; +const images = [ + { + src: Image1, + alt: '정신차려 갤러리 이미지 1', + width: 1200, + height: 800, + }, + { + src: Image2, + alt: '정신차려 갤러리 이미지 2', + width: 800, + height: 600, + }, + { + src: Image3, + alt: '정신차려 갤러리 이미지 3', + width: 1600, + height: 900, + }, + { + src: Image4, + alt: '정신차려 갤러리 이미지 4', + width: 1024, + height: 768, + }, + { + src: Image4, + alt: '정신차려 갤러리 이미지 4', + width: 1024, + height: 768, + }, + { + src: Image4, + alt: '정신차려 갤러리 이미지 4', + width: 1024, + height: 768, + }, +]; + +const ImageSlideItem = (imageObject, index) => { + + + {imageObject.alt} + + ; +}; +const ImageGallery = () => { useEffect(() => { const lightbox = new PhotoSwipeLightbox({ gallery: '#gallery--getting-started', diff --git a/src/pages/RescueDetails.jsx b/src/pages/RescueDetails.jsx index b6f2fc4..55ca146 100644 --- a/src/pages/RescueDetails.jsx +++ b/src/pages/RescueDetails.jsx @@ -1,5 +1,53 @@ -const RescueDetails = () => { - return
sadfsdf
; +import DataTableRow from '../components/common/DataTableRow'; +import ModalSectionTitle from '../components/common/ModalSectionTitle'; +import dateFormat from '../utils/dateFormat'; +import hourFormat from '../utils/hourFormat'; +import tempDB from '../datas/temp-db.json'; +import ImageGallery from '../components/common/ImageGallery'; + +const RescueDetails = ({ threadID = 0 }) => { + const currentThread = tempDB.threads[threadID]; + const rescueInfo = currentThread.rescueInfo; + + console.log(currentThread); + + return ( + <> +
+ + +
이미지 슬라이더 들어갈 자리
+
+ + + +
+ {rescueInfo.foundSituation} +
+ +
+ + {rescueInfo.animalType} + + + + + {currentThread.address1 + ? currentThread.address1 + : '주소 없음'} + + + + + {dateFormat(rescueInfo.foundAt)} + + / + + {hourFormat(rescueInfo.foundAt)} 경 + +
+ + ); }; export default RescueDetails; diff --git a/src/pages/RescueDisclaimer.jsx b/src/pages/RescueDisclaimer.jsx index 8bc8192..20f2782 100644 --- a/src/pages/RescueDisclaimer.jsx +++ b/src/pages/RescueDisclaimer.jsx @@ -10,7 +10,37 @@ const RescueDisclaimer = () => { instContent="직접 구조하는 것보다 전문가의 도움을 청하는 편이 효과적일 수 있습니다. 구조 활동에 나서기 전에 아래와 같은 동물 보호 단체들에 먼저 연락을 취해 보세요." /> -

어디어디 010-5555-5555

+
+
+
+ 뭐시기 보호단체 +
+ +
+ {'010-5555-5555'} +
+
+ +
+
+ 무슨무슨 보호소 +
+ +
+ {'010-5555-5555'} +
+
+ +
+
+ 저시기 구출단 +
+ +
+ {'010-5555-5555'} +
+
+