diff --git a/public/assets/images/layout/modal_header_icon04.svg b/public/assets/images/layout/modal_header_icon04.svg new file mode 100644 index 0000000..ba32c97 --- /dev/null +++ b/public/assets/images/layout/modal_header_icon04.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/assets/images/sub/sale_toggle_btn.svg b/public/assets/images/sub/sale_toggle_btn.svg new file mode 100644 index 0000000..ad2504a --- /dev/null +++ b/public/assets/images/sub/sale_toggle_btn.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/assets/images/sub/sale_toggle_btn_white.svg b/public/assets/images/sub/sale_toggle_btn_white.svg new file mode 100644 index 0000000..3575065 --- /dev/null +++ b/public/assets/images/sub/sale_toggle_btn_white.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/components/popup/MemberInformationPopup.tsx b/src/components/popup/MemberInformationPopup.tsx index ff1f9fa..87a8829 100644 --- a/src/components/popup/MemberInformationPopup.tsx +++ b/src/components/popup/MemberInformationPopup.tsx @@ -3,6 +3,7 @@ import { useRouter } from 'next/navigation' import { usePopupController } from '@/store/popupController' import { useSessionStore } from '@/store/session' +import Image from 'next/image' export default function MemberInformationPopup() { const popupController = usePopupController() @@ -22,7 +23,7 @@ export default function MemberInformationPopup() {
- +
会員情報
diff --git a/src/components/suitable/Suitable.tsx b/src/components/suitable/Suitable.tsx index 5120aa3..f9f6615 100644 --- a/src/components/suitable/Suitable.tsx +++ b/src/components/suitable/Suitable.tsx @@ -3,6 +3,7 @@ import { useState } from 'react' import SuitableCheckData from './SuitableCheckData' import SuitableNoData from './SuitableNoData' +import Image from 'next/image' export default function Suitable() { const [reference, setReference] = useState(false) @@ -35,22 +36,34 @@ export default function Suitable() { @@ -61,25 +74,29 @@ export default function Suitable() { -
- {/* 데이터 없을경우 버튼 영역 안보여야함 */} -
-
- -
-
- -
-
- + + {/* 데이터 없을경우 버튼 영역 안보여야함 */} +
+
+
+ +
+
+ +
+
+ +
+
+ {/* 검색기록 없을떄 위에 두 영역 안보이고 이 부분만 보여야 함*/} {/* */}
diff --git a/src/components/suitable/SuitableCheckData.tsx b/src/components/suitable/SuitableCheckData.tsx index 2cef53b..2a57c21 100644 --- a/src/components/suitable/SuitableCheckData.tsx +++ b/src/components/suitable/SuitableCheckData.tsx @@ -1,11 +1,13 @@ 'use client' +import Image from 'next/image' + export default function SuitableCheckData() { return ( <>
-
+
@@ -16,48 +18,59 @@ export default function SuitableCheckData() {
  • -
    +
    - +
    - - +
    + +
  • -
    +
    - - +
    + +
    +
    + +
  • -
    +
    - +
    - - +
    + +
    +
    + +
  • -
    +
    - +
    + +
  • diff --git a/src/components/ui/common/FloatBtn.tsx b/src/components/ui/common/FloatBtn.tsx index 766f236..74aa3d0 100644 --- a/src/components/ui/common/FloatBtn.tsx +++ b/src/components/ui/common/FloatBtn.tsx @@ -5,9 +5,16 @@ import { usePathname } from 'next/navigation' export default function FloatBtn() { const pathname = usePathname() + const scrollToTop = () => { + window.scrollTo({ + top: 0, + behavior: 'smooth', + }) + } + if (pathname === '/login' || pathname === '/') { return null } - return + return } diff --git a/src/styles/base/_check-radio.scss b/src/styles/base/_check-radio.scss index d4d2904..47c50cb 100644 --- a/src/styles/base/_check-radio.scss +++ b/src/styles/base/_check-radio.scss @@ -85,6 +85,9 @@ input[type="checkbox"]:disabled + label::after{ cursor: default; } + input[type="checkbox"]:disabled:checked + label::before{ + background-color: #A8B6C7; + } &.ch-bld{ input[type="checkbox"]:checked + label{ font-weight: 500; diff --git a/src/styles/components/_sub.scss b/src/styles/components/_sub.scss index ebcb374..73c5fc4 100644 --- a/src/styles/components/_sub.scss +++ b/src/styles/components/_sub.scss @@ -77,36 +77,11 @@ } } } -.sale-detail-tab-relative{ - height: 40px; - margin-bottom: 10px; -} -.sale-detail-tab-wrap{ - position: fixed; - top: 66px; - left: 0; - width: 100%; - height: 40px; - background-color: $white-fff; - z-index: 98000; - .sale-detail-tab-inner{ - position: relative; - @include flex(0px); - align-items: center; - height: 100%; - .sale-detail-tab{ - flex: 1; - height: 100%; - background-color: #fff; - border-top: 1px solid #DDDFE2; - border-bottom: 1px solid #DDDFE2; - @include defaultFont($font-s-13, $font-w-500, $font-c); - &.act{ - color: $white-fff; - background-color: #5F738E; - border-color: #5F738E; - } - } +.sale-form-btn-wrap{ + padding: 20px 20px 0 ; + background-color: #fff; + .btn-flex-wrap{ + margin-top: 0; } } @@ -202,6 +177,11 @@ } // 매물 상세 +.sale-data-table-wrap{ + padding: 24px; + background-color: #fff; + border-top: 1px solid #ECECEC; +} .sale-data-table{ width: 100%; table-layout: fixed; @@ -242,6 +222,63 @@ } } +.sale-detail-toggle-wrap{ + border-top: 1px solid #ECECEC; +} +.sale-detail-toggle-bx{ + border-bottom: 1px solid #ECECEC; +} +.sale-detail-toggle-head{ + @include flex(5px); + padding: 14px 18px; + background-color: $white-fff; + cursor: pointer; + .sale-detail-toggle-name{ + @include defaultFont($font-s-13, $font-w-500, $font-c); + } + .sale-detail-toggle-btn-wrap{ + margin-left: auto; + .sale-detail-toggle-btn{ + display: block; + width: 22px; + height: 22px; + background: url(/assets/images/sub/sale_toggle_btn.svg)no-repeat center; + background-size: cover + } + } +} +.sale-detail-toggle-cont{ + display: none; + .sale-frame{ + padding: 24px 20px; + &:first-child{ + padding-top: 24px; + } + &:last-child{ + padding-bottom: 24px; + } + } +} + +.sale-detail-toggle-bx{ + &.act{ + .sale-detail-toggle-head{ + background-color: #5F738E; + .sale-detail-toggle-name{ + color: #fff + } + .sale-detail-toggle-btn-wrap{ + .sale-detail-toggle-btn{ + background: url(/assets/images/sub/sale_toggle_btn_white.svg)no-repeat center; + } + } + } + .sale-detail-toggle-cont{ + display: block; + } + } +} + // 매물 기본정보 .form-flex{ @include flex(5px); @@ -614,7 +651,14 @@ @include flex(0px); align-items: center; } - +.float-btn-wrap{ + position: sticky; + bottom: 10px; + left: 0; + width: 100%; + background-color: #fff; + z-index: 9; +} @media screen and (max-width: 360px){ .btn-flex-wrap{ flex-direction: column; diff --git a/src/styles/layout/_layout.scss b/src/styles/layout/_layout.scss index 95ae2e4..0389b2e 100644 --- a/src/styles/layout/_layout.scss +++ b/src/styles/layout/_layout.scss @@ -6,7 +6,7 @@ flex-direction: column; width: 100%; min-height: 100vh; - overflow-x: hidden; + // overflow-x: hidden; .container{ flex: 1 1 auto; }