diff --git a/public/static/images/main/clock.svg b/public/static/images/main/clock.svg
new file mode 100644
index 0000000..3d005f5
--- /dev/null
+++ b/public/static/images/main/clock.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/static/images/main/download.svg b/public/static/images/main/download.svg
new file mode 100644
index 0000000..42d1d12
--- /dev/null
+++ b/public/static/images/main/download.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/static/images/main/id_icon.svg b/public/static/images/main/id_icon.svg
new file mode 100644
index 0000000..a84b617
--- /dev/null
+++ b/public/static/images/main/id_icon.svg
@@ -0,0 +1,8 @@
+
diff --git a/public/static/images/main/mail.svg b/public/static/images/main/mail.svg
new file mode 100644
index 0000000..c55567f
--- /dev/null
+++ b/public/static/images/main/mail.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/static/images/main/main_search.svg b/public/static/images/main/main_search.svg
new file mode 100644
index 0000000..25f56b4
--- /dev/null
+++ b/public/static/images/main/main_search.svg
@@ -0,0 +1,11 @@
+
diff --git a/public/static/images/main/more_btn.svg b/public/static/images/main/more_btn.svg
new file mode 100644
index 0000000..5102903
--- /dev/null
+++ b/public/static/images/main/more_btn.svg
@@ -0,0 +1,5 @@
+
diff --git a/public/static/images/main/product_ico01.svg b/public/static/images/main/product_ico01.svg
new file mode 100644
index 0000000..c3a2571
--- /dev/null
+++ b/public/static/images/main/product_ico01.svg
@@ -0,0 +1,8 @@
+
diff --git a/public/static/images/main/product_ico02.svg b/public/static/images/main/product_ico02.svg
new file mode 100644
index 0000000..7391dbd
--- /dev/null
+++ b/public/static/images/main/product_ico02.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/static/images/main/product_ico03.svg b/public/static/images/main/product_ico03.svg
new file mode 100644
index 0000000..d2ca10e
--- /dev/null
+++ b/public/static/images/main/product_ico03.svg
@@ -0,0 +1,7 @@
+
diff --git a/public/static/images/main/product_ico04.svg b/public/static/images/main/product_ico04.svg
new file mode 100644
index 0000000..da17d7a
--- /dev/null
+++ b/public/static/images/main/product_ico04.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/static/images/main/product_ico05.svg b/public/static/images/main/product_ico05.svg
new file mode 100644
index 0000000..26b0e3d
--- /dev/null
+++ b/public/static/images/main/product_ico05.svg
@@ -0,0 +1,7 @@
+
diff --git a/public/static/images/main/store-arr.svg b/public/static/images/main/store-arr.svg
new file mode 100644
index 0000000..9648733
--- /dev/null
+++ b/public/static/images/main/store-arr.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/static/images/main/user.svg b/public/static/images/main/user.svg
new file mode 100644
index 0000000..a421788
--- /dev/null
+++ b/public/static/images/main/user.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/app/canvas/page.jsx b/src/app/canvas/page.jsx
index 708cb17..0fbce07 100644
--- a/src/app/canvas/page.jsx
+++ b/src/app/canvas/page.jsx
@@ -4,7 +4,7 @@ import CanvasLayout from '@/components/canvas/CanvasLayout'
import CanvasMenu from '@/components/canvas/CanvasMenu'
import OuterLineWall from '@/components/canvas/modal/outerlinesetting/OuterLineWall'
import SettingModal01 from '@/components/canvas/modal/settoing01/SettingModal01'
-import Header from '@/components/header/Header'
+import Header from '@/components/layout/Header'
import { modalState } from '@/store/modalAtom'
import '@/styles/contents.scss'
import { useRecoilValue } from 'recoil'
diff --git a/src/app/inputwrap/page.jsx b/src/app/inputwrap/page.jsx
index c27b980..42a6c5b 100644
--- a/src/app/inputwrap/page.jsx
+++ b/src/app/inputwrap/page.jsx
@@ -81,6 +81,19 @@ export default function InputWrapPage (){
+
)
}
\ No newline at end of file
diff --git a/src/app/main/page.jsx b/src/app/main/page.jsx
index 3df9aff..5fc5f47 100644
--- a/src/app/main/page.jsx
+++ b/src/app/main/page.jsx
@@ -1,4 +1,6 @@
-import Header from "@/components/header/Header";
+import Footer from "@/components/layout/Footer";
+import Header from "@/components/layout/Header";
+import MainContents from "@/components/main/MainContents";
import '@/styles/style.scss'
export default function MainPage() {
@@ -6,8 +8,35 @@ export default function MainPage() {
)
}
\ No newline at end of file
diff --git a/src/components/canvas/MenuDepth01.jsx b/src/components/canvas/MenuDepth01.jsx
index 759cdf4..93f6195 100644
--- a/src/components/canvas/MenuDepth01.jsx
+++ b/src/components/canvas/MenuDepth01.jsx
@@ -1,7 +1,7 @@
'use client'
import { useRecoilState } from "recoil";
-import { ToggleonMouse } from "../header/Header"
+import { ToggleonMouse } from "../layout/Header"
import { modalState } from "@/store/modalAtom";
export default function MenuDepth01(){
diff --git a/src/components/layout/Footer.jsx b/src/components/layout/Footer.jsx
new file mode 100644
index 0000000..881ad77
--- /dev/null
+++ b/src/components/layout/Footer.jsx
@@ -0,0 +1,9 @@
+export default function Footer() {
+ return(
+
+ )
+}
\ No newline at end of file
diff --git a/src/components/header/Header.jsx b/src/components/layout/Header.jsx
similarity index 100%
rename from src/components/header/Header.jsx
rename to src/components/layout/Header.jsx
diff --git a/src/components/main/MainContents.jsx b/src/components/main/MainContents.jsx
new file mode 100644
index 0000000..f0d4c37
--- /dev/null
+++ b/src/components/main/MainContents.jsx
@@ -0,0 +1,95 @@
+import Image from "next/image";
+import ProductItem from "./ProductItem";
+
+export default function MainContents() {
+ return(
+
+
+
+
+
+
+
+
2024.07.19
+
[不具合のご連] 納品先リスト表示不具合と不具合復 旧のお知らせ
+
+
+ Q.TRON S-G2.4+ 285ならびにQ.PEAK DUO S-G11S 275と
+ 屋根技術研究所 支持金具/YGアンカー/スレート・板金金具の組み
+ 合わせをしたときに 縦桟が拾い出されなかった不具合の修正
+
+
+ QREADYシリーズを見積りした際、書類一式【配置図】タブの
+ 『パワーコンディショナ型式』欄にPCS型番が表示されるよう
+ に変更
+
+
+ QREADYシリーズを見積りした際、書類一式【配置図】タブの
+ 『パワーコンディショナ型式』欄にPCS型番が表示されるよう
+ に変更
+ QREADYシリーズを見積りした際、書類一式【配置図】タブの
+ 『パワーコンディショナ型式』欄にPCS型番が表示されるよう
+ に変更
+ QREADYシリーズを見積りした際、書類一式【配置図】タブの
+ 『パワーコンディショナ型式』欄にPCS型番が表示されるよう
+ に変更
+
+
+
+
+
+
+
+
+ {Array.from({length : 3}).map((_, idx) => (
+ -
+
+
FAQ 26
+
型番での商品検索機能追加のお知らせ型番での商品検索機能追加のお知らせ型番での商品検索機能追加のお知らせ
+
2024.07.19
+
+
+ ))}
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ 山本功希
+
+ -
+
+
+
+ yamamoto.k1@qcells.com
+
+
+
+
+
+ )
+}
\ No newline at end of file
diff --git a/src/components/main/ProductItem.jsx b/src/components/main/ProductItem.jsx
new file mode 100644
index 0000000..7ed4c92
--- /dev/null
+++ b/src/components/main/ProductItem.jsx
@@ -0,0 +1,16 @@
+export default function ProductItem({num, name, children}){
+ return(
+
+
+
+
+ {name}
+
+
+
+
+ {children}
+
+
+ )
+}
\ No newline at end of file
diff --git a/src/styles/_inputcommon.scss b/src/styles/_inputcommon.scss
index 97e5cc5..450b630 100644
--- a/src/styles/_inputcommon.scss
+++ b/src/styles/_inputcommon.scss
@@ -23,6 +23,7 @@
margin-bottom: 10px;
}
}
+ .form-main-radio,
.form-Arrow-btn,
.form-Check-btn{
padding: 10px;
diff --git a/src/styles/_layout.scss b/src/styles/_layout.scss
index fedb694..7e4faf1 100644
--- a/src/styles/_layout.scss
+++ b/src/styles/_layout.scss
@@ -6,7 +6,6 @@
overflow-x: hidden;
}
.content{
- position: relative;
flex: 1 1 auto;
padding-top: 46px;
background-color: #F4F4F7;
@@ -216,3 +215,19 @@ header{
}
}
+// footer
+footer{
+ width: 100%;
+ background-color: #F4F4F7;
+ .footer-inner{
+ max-width: 1400px;
+ margin: 0 auto;
+ padding: 45px 0;
+ span{
+ display: block;
+ font-size: 11px;
+ color: #CFCFCF;
+ text-align: center;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/styles/_main.scss b/src/styles/_main.scss
index e69de29..062b404 100644
--- a/src/styles/_main.scss
+++ b/src/styles/_main.scss
@@ -0,0 +1,356 @@
+// background img
+.background-bord{
+ position: absolute;
+ top: 46px;
+ left: 0;
+ width: 100%;
+ height: 280px;
+ background: url(../../public/static/images/main/main_background.png)no-repeat center;
+ background-size: cover;
+ z-index: 0;
+}
+
+// main-wrap
+.main-contents{
+ position: relative;
+ z-index: 1;
+ padding-bottom: 15px;
+}
+
+// contents
+.store-id-wrap{
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 12px;
+ padding: 33.5px 0;
+ border-bottom: 1px solid rgba(255, 255, 255, 0.08);
+ background-color: rgba(255, 255, 255, 0.05);
+ .store-id-title{
+ position: relative;
+ padding-left: 32px;
+ font-size: 13px;
+ color: #fff;
+ &::before{
+ content: '';
+ position: absolute;
+ top: 50%;
+ left: 0;
+ transform: translateY(-50%);
+ width: 20px;
+ height: 20px;
+ background: url(../../public/static/images/main/id_icon.svg)no-repeat center;
+ }
+ }
+ .store-arr{
+ display: block;
+ width: 7px;
+ height: 10px;
+ background: url(../../public/static/images/main/store-arr.svg) no-repeat center;
+ }
+ .store-id-name{
+ font-size: 16px;
+ color: #fff;
+ font-weight: 600;
+ }
+}
+
+// main-search-form
+.main-search-wrap{
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 45px 0;
+ .search-raido-wrap{
+ display: flex;
+ align-items: center;
+ gap: 16px;
+ margin-right: 30px;
+ }
+}
+.search-input-box{
+ display: flex;
+ align-items: center;
+ width: 580px;
+ height: 45px;
+ border-radius: 100px;
+ padding: 0 20px;
+ border: 1px solid rgba(255, 255, 255, 0.30);
+ background: rgba(31, 31, 31, 0.30);
+ .main-search{
+ flex: 1;
+ height: 100%;
+ font-size: 13px;
+ color: #fff;
+ background-color: transparent;
+ outline: none;
+ border: none;
+ }
+ .search-icon{
+ width: 20px;
+ height: 100%;
+ background-image: url(../../public/static/images/main/main_search.svg);
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: 21px 21px;
+ }
+}
+
+// main-contents-inner
+.main-product-list-wrap{
+ max-width: 1400px;
+ margin: 0 auto;
+ .main-product-list{
+ display: flex;
+ gap: 24px;
+ margin-bottom: 24px;
+ .product-item{
+ display: flex;
+ flex-direction: column;
+ padding: 40px;
+ border-radius: 6px;
+ background: #FFF;
+ box-shadow: 0px 3px 30px 0px rgba(0, 0, 0, 0.02);
+ &.item01{flex: 1; max-height: 400px;}
+ &.item02{flex: none; width: 451px; max-height: 400px;}
+ &.item03{flex: 1;}
+ &.item04{flex: none; width: 351px;}
+ &.item05{flex: none; width: 451px;}
+ .product-item-title-wrap{
+ display: flex;
+ align-items: center;
+ .product-item-title{
+ display: flex;
+ align-items: center;
+ font-size: 16px;
+ color: #101010;
+ font-weight: 600;
+ .item-logo{
+ display: block;
+ width: 40px;
+ height: 40px;
+ border-radius: 50px;
+ background: #14324F;
+ margin-right: 12px;
+ background-repeat: no-repeat;
+ background-size: 22px 22px;
+ background-position: center;
+ &.ico01{background-image: url(../../public/static/images/main/product_ico01.svg);}
+ &.ico02{background-image: url(../../public/static/images/main/product_ico02.svg);}
+ &.ico03{background-image: url(../../public/static/images/main/product_ico03.svg);}
+ &.ico04{background-image: url(../../public/static/images/main/product_ico04.svg);}
+ &.ico05{background-image: url(../../public/static/images/main/product_ico05.svg);}
+ }
+ }
+ .more-btn{
+ display: block;
+ width: 20px;
+ height: 20px;
+ margin-left: auto;
+ background: url(../../public/static/images/main/more_btn.svg)no-repeat center;
+ }
+ }
+ .product-item-content{
+ margin-top: 30px;
+ overflow: hidden;
+ .recently-list{
+ .recently-item{
+ border: 1px solid #F2F2F2;
+ background-color: transparent;
+ padding: 29.9px 20px;
+ margin-bottom: 5px;
+ cursor: pointer;
+ .item-inner{
+ display: flex;
+ align-items: center;
+ span{
+ position: relative;
+ display: block;
+ font-size: 13px;
+ color: #101010;
+ font-weight: 400;
+ padding: 0 10px;
+ &.time{
+ padding-left: 22px;
+ &::before{
+ content: '';
+ position: absolute;
+ top: 50%;
+ left: 0;
+ transform: translateY(-50%);
+ width: 14px;
+ height: 14px;
+ background:url(../../public/static/images/main/clock.svg)no-repeat center;
+ background-size: cover;
+ }
+ }
+ &:after{
+ content: '';
+ position: absolute;
+ top: 50%;
+ right: 0;
+ transform: translateY(-50%);
+ width: 1px;
+ height: 10px;
+ background-color: #BBB;
+ }
+ &:last-child{
+ &:after{
+ display: none;
+ }
+ }
+ }
+ }
+ &:last-child{
+ margin-bottom: 5px;
+ }
+ }
+ }
+ .notice-box{
+ height: 100%;
+ overflow-y: auto;
+ .notice-day{
+ font-size: 13px;
+ color: #666;
+ font-weight: 400;
+ margin-bottom: 7px;
+ }
+ .notice-title{
+ font-size: 14px;
+ color: #101010;
+ font-weight: 600;
+ margin-bottom: 25px;
+ line-height: 24px;
+ word-break: keep-all;
+ }
+ .notice-contents{
+ font-size: 12px;
+ color: #666;
+ font-weight: 400;
+ line-height: 22px;
+ span{
+ position: relative;
+ display: block;
+ padding-left: 10px;
+ &::before{
+ content: '';
+ position: absolute;
+ top: 10px;
+ left: 3px;
+ width: 3px;
+ height: 3px;
+ border-radius: 100%;
+ background-color: #666;
+ }
+ }
+ }
+ &::-webkit-scrollbar {width: 4px; /* 스크롤바의 너비 */}
+ &::-webkit-scrollbar-thumb {background: #697C8F; /* 스크롤바의 색상 */}
+ &::-webkit-scrollbar-track {background: transparent; /*스크롤바 뒷 배경 색상*/}
+ }
+ .faq-item{
+ position: relative;
+ margin-bottom: 10px;
+ cursor: pointer;
+ .faq-item-inner{
+ display: flex;
+ align-items: center;
+
+ .faq-num{
+ flex: none;
+ padding: 7px 12.5px;
+ font-size: 13px;
+ color: #101010;
+ font-weight: 600;
+ border-radius: 110px;
+ border: 1px solid rgba(242, 242, 242, 0.95);
+ margin-right: 20px;
+ }
+ .faq-title{
+ width: 0;
+ flex: 1 1 auto;
+ font-size: 13px;
+ color: #101010;
+ font-weight: 500;
+ padding-right: 96px;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ }
+ .faq-day{
+ position: absolute;
+ top: 50%;
+ right: 0;
+ transform: translateY(-50%);
+ font-size: 13px;
+ color: #101010;
+ font-weight: 400;
+ }
+ }
+ &:last-child{
+ margin-bottom: 0;
+ }
+ }
+ .data-download-wrap{
+ width: 100%;
+ .data-down{
+ display: block;
+ width: 100%;
+ padding: 20px;
+ text-align: left;
+ border-radius: 4px;
+ background-color: #697C8F;
+ margin-bottom: 5px;
+ span{
+ position: relative;
+ display: block;
+ padding-right: 30px;
+ font-size: 13px;
+ color: #fff;
+ font-weight: 400;
+ &:after{
+ content: '';
+ position: absolute;
+ top: 50%;
+ right: 0;
+ transform: translateY(-50%);
+ width: 18px;
+ height: 16px;
+ background: url(../../public/static/images/main/download.svg)no-repeat center;
+ background-size: cover;
+ }
+ }
+ &:last-child{
+ margin-bottom: 0;
+ }
+ }
+ }
+ .contact-info-list{
+ padding: 30px;
+ border-radius: 4px;
+ background-color: #F4F4F7;
+ .info-item{
+ display: flex;
+ align-items: center;
+ padding: 15px;
+ border-bottom: 1px solid #fff;
+ &:first-child{padding-top: 0;}
+ &:last-child{padding-bottom: 0; border: none;}
+ .icon-box{
+ display: flex;
+ margin-right: 12px;
+ }
+ .infor-data{
+ font-size: 13px;
+ color: #101010;
+ font-weight: 500;
+ }
+ }
+ }
+ }
+ }
+ &:last-child{
+ margin-bottom: 0;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/styles/_reset.scss b/src/styles/_reset.scss
index a47b525..432376c 100644
--- a/src/styles/_reset.scss
+++ b/src/styles/_reset.scss
@@ -122,7 +122,9 @@ button{
outline: none;
cursor: pointer;
}
-
+.pre{
+ font-family: 'Pretendard', sans-serif !important;
+}
// button
.btn-frame{
@@ -418,4 +420,73 @@ input[type=text]{
border: 1px solid #1083E3;
}
}
-}
\ No newline at end of file
+}
+
+// sort-main-radio
+.d-check-radio {
+ line-height: 1.1;
+ cursor: pointer;
+ input[type=radio]{
+ position: static;
+ margin-left: 0;
+ cursor: pointer;
+ opacity: 0;
+ z-index: 1;
+ flex: 0 0 auto;
+ }
+ label{
+ position: relative;
+ padding-left: 10px;
+ margin-bottom: 0;
+ word-break: break-all;
+ line-height: 1.2;
+ display: inline;
+ vertical-align: top;
+ color: #fff;
+ font-size: 13px;
+ font-weight: 400;
+ cursor: pointer;
+ &::before{
+ cursor: pointer;
+ content: "";
+ display: inline-block;
+ position: absolute;
+ width: 17px;
+ height: 17px;
+ top:2px;
+ left: 0;
+ margin-left: -12px;
+ border: 1px solid #999999;
+ border-radius: 100%;
+ background-color: transparent;
+ text-align:center;
+ font-size:13px;
+ line-height:1.4;
+ transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
+ }
+ &::after{
+ cursor: pointer;
+ content: "";
+ display: inline-block;
+ position: absolute;
+ width: 9px;
+ height: 9px;
+ top:6px;
+ left: 4.8px;
+ margin-left: -.8rem;
+ border: none;
+ border-radius: 100%;
+ background-color: #fff;
+ text-align:center;
+ font-size:13px;
+ line-height:1.4;
+ opacity: 0;
+ visibility: hidden;
+ transition: opacity 0.15s ease-in-out, color 0.15s ease-in-out;
+ }
+ }
+ input[type=radio]:checked + label::after{
+ opacity: 1;
+ visibility: visible;
+ }
+}