fix:merge problems
9
desafio-5/src/components/assets/icons/Boleto.svg
Normal file
After Width: | Height: | Size: 18 KiB |
9
desafio-5/src/components/assets/icons/Diners.svg
Normal file
After Width: | Height: | Size: 92 KiB |
9
desafio-5/src/components/assets/icons/Elo.svg
Normal file
After Width: | Height: | Size: 25 KiB |
9
desafio-5/src/components/assets/icons/Hiper.svg
Normal file
After Width: | Height: | Size: 24 KiB |
9
desafio-5/src/components/assets/icons/Master.svg
Normal file
After Width: | Height: | Size: 14 KiB |
9
desafio-5/src/components/assets/icons/Pagseguro.svg
Normal file
After Width: | Height: | Size: 28 KiB |
9
desafio-5/src/components/assets/icons/Visa.svg
Normal file
After Width: | Height: | Size: 26 KiB |
9
desafio-5/src/components/assets/icons/vtex-pci-200.svg
Normal file
@ -0,0 +1,9 @@
|
||||
<svg width="56" height="34" viewBox="0 0 56 34" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<rect x="0.408936" width="54.6061" height="34" fill="url(#pattern0)"/>
|
||||
<defs>
|
||||
<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
|
||||
<use xlink:href="#image0_7246_785" transform="translate(0 -0.00590909) scale(0.005 0.0080303)"/>
|
||||
</pattern>
|
||||
<image id="image0_7246_785" width="200" height="126" xlink:href="data:image/png;base64,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"/>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 4.2 KiB |
4
desafio-5/src/components/assets/imgs/M3_NameLogo.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg width="29" height="16" viewBox="0 0 29 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M17.0306 5.52931C16.5832 4.9359 16.0212 4.44241 15.3793 4.07933C14.7375 3.71625 14.0295 3.4913 13.2991 3.41838C12.5687 3.34547 11.8314 3.42614 11.1327 3.6554C10.4341 3.88467 9.78893 4.25766 9.23719 4.75133L8.76053 4.38179C5.48585 2.02839 0.900357 4.02683 0.471361 8.05776C0.340858 9.99972 0.307448 11.9472 0.371262 13.8926C0.360734 14.1423 0.40062 14.3915 0.488442 14.6247C0.576265 14.858 0.71015 15.0704 0.881788 15.2486C1.05343 15.4269 1.25915 15.5673 1.4862 15.6611C1.71325 15.7549 1.95677 15.8001 2.20165 15.7938C2.44131 15.7928 2.67828 15.7423 2.89833 15.6455C3.11838 15.5486 3.31697 15.4074 3.48215 15.2302C3.64733 15.0531 3.77571 14.8437 3.85955 14.6147C3.9434 14.3857 3.98099 14.1417 3.97007 13.8975C3.97007 12.4971 3.97007 11.0968 3.97007 9.69153C3.96621 9.27493 3.9949 8.85869 4.05587 8.44675C4.13275 8.02513 4.36328 7.64884 4.70108 7.39355C5.03889 7.13826 5.45893 7.02291 5.87672 7.07069C6.28512 7.1021 6.66826 7.28439 6.95433 7.58336C7.2404 7.88234 7.40975 8.27749 7.43064 8.69473C7.45447 9.21015 7.43064 9.72556 7.43064 10.241C7.43064 11.4955 7.43064 12.75 7.43064 14.0045C7.42574 14.3683 7.53183 14.7248 7.73422 15.0244C7.93661 15.3241 8.22529 15.5522 8.56033 15.6771C9.77582 16.1926 11.0151 15.2881 11.039 13.8635C11.039 12.2054 11.039 10.5473 11.0866 8.88923C11.1027 8.48841 11.2228 8.09913 11.4346 7.76115C11.6363 7.46313 11.9286 7.24117 12.2663 7.12955C12.6041 7.01794 12.9684 7.02288 13.3031 7.14363C13.6807 7.25157 14.0107 7.48779 14.2387 7.8132C14.4667 8.1386 14.5789 8.53367 14.5567 8.93299C14.5567 10.6105 14.5567 12.288 14.5567 13.9656C14.5567 14.2063 14.6032 14.4447 14.6935 14.6671C14.7838 14.8895 14.9162 15.0916 15.0831 15.2618C15.2499 15.432 15.4481 15.567 15.6661 15.6592C15.8841 15.7513 16.1178 15.7987 16.3538 15.7987C16.5898 15.7987 16.8234 15.7513 17.0415 15.6592C17.2595 15.567 17.4576 15.432 17.6244 15.2618C17.7913 15.0916 17.9237 14.8895 18.014 14.6671C18.1043 14.4447 18.1508 14.2063 18.1508 13.9656C18.1508 12.2491 18.1508 10.5619 18.1508 8.82116C18.154 7.62606 17.7591 6.46532 17.0306 5.52931Z" fill="white"/>
|
||||
<path d="M26.0349 6.5015L25.4676 6.26325C26.0301 5.8159 26.564 5.43177 27.0406 4.99416C27.4641 4.65403 27.8297 4.24496 28.1227 3.78342C28.9806 2.14966 27.7699 0.248458 25.849 0.204696C24.0758 0.180384 22.3074 0.180384 20.5342 0.180384C20.317 0.165073 20.0991 0.19678 19.8947 0.273425C19.6904 0.350069 19.5042 0.46992 19.3485 0.625113C19.1928 0.780306 19.071 0.967335 18.9911 1.17393C18.9112 1.38052 18.875 1.60202 18.8849 1.82387C18.8637 2.04985 18.8909 2.27783 18.9646 2.49201C19.0384 2.7062 19.1569 2.90146 19.312 3.06428C19.467 3.22709 19.655 3.35356 19.8627 3.43492C20.0705 3.51627 20.2931 3.55057 20.5151 3.53544C21.3826 3.53544 22.2502 3.53544 23.1177 3.53544C23.2655 3.58406 23.418 3.58406 23.704 3.58406C22.5266 4.55654 21.4398 5.4804 20.3673 6.39453C19.6762 6.97802 19.4665 7.61499 19.7096 8.33949C19.8387 8.6971 20.0793 9.00161 20.3944 9.20627C20.7096 9.41093 21.0819 9.50443 21.4541 9.47243C22.3741 9.47243 23.2988 9.47243 24.2188 9.47243C24.4251 9.43352 24.6373 9.44139 24.8403 9.4955C25.0433 9.54961 25.2321 9.64862 25.3934 9.78551C25.5547 9.92241 25.6845 10.0938 25.7735 10.2876C25.8626 10.4814 25.9088 10.6928 25.9088 10.9068C25.9088 11.1209 25.8626 11.3323 25.7735 11.5261C25.6845 11.7198 25.5547 11.8913 25.3934 12.0282C25.2321 12.1651 25.0433 12.2641 24.8403 12.3182C24.6373 12.3723 24.4251 12.3802 24.2188 12.3412C23.0271 12.3412 21.8355 12.3412 20.6438 12.3412C20.2261 12.3643 19.8329 12.5498 19.5452 12.8596C19.2575 13.1694 19.0971 13.5799 19.0971 14.0066C19.0971 14.4334 19.2575 14.8439 19.5452 15.1537C19.8329 15.4635 20.2261 15.649 20.6438 15.672C21.8879 15.672 23.1368 15.672 24.3808 15.672C25.4737 15.6437 26.5238 15.2331 27.3552 14.5089C28.1866 13.7848 28.7487 12.7912 28.9473 11.6945C29.1056 10.6209 28.9042 9.52417 28.3757 8.58176C27.8472 7.63936 27.0224 6.90642 26.0349 6.5015Z" fill="white"/>
|
||||
</svg>
|
After Width: | Height: | Size: 3.9 KiB |
7
desafio-5/src/components/assets/imgs/VtexLogo.svg
Normal file
@ -0,0 +1,7 @@
|
||||
<svg width="46" height="16" viewBox="0 0 46 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M32.8808 5.99083H31.2736V11.4557C31.2736 11.558 31.1852 11.6456 31.0819 11.6456H29.8434C29.7402 11.6456 29.6517 11.558 29.6517 11.4557V5.99083H28.0298C27.9856 5.99083 27.9266 5.97622 27.8971 5.94699C27.8676 5.91777 27.8381 5.87394 27.8381 5.81549V4.8511C27.8381 4.80727 27.8529 4.74882 27.8971 4.7196C27.9266 4.69037 27.9856 4.66115 28.0298 4.67576H32.8808C32.984 4.67576 33.0725 4.74882 33.0725 4.8511V5.81549C33.0725 5.91777 32.984 5.99083 32.8808 5.99083Z" fill="white"/>
|
||||
<path d="M38.0558 11.6017C37.4218 11.6893 36.773 11.7332 36.139 11.7186C34.9152 11.7186 33.8389 11.4117 33.8389 9.70213V6.5898C33.8389 4.88021 34.93 4.58797 36.1538 4.58797C36.7878 4.57336 37.4218 4.6172 38.0558 4.70487C38.1885 4.71948 38.2475 4.77793 38.2475 4.89482V5.77154C38.2475 5.87382 38.159 5.96149 38.0558 5.96149H36.0653C35.623 5.96149 35.4608 6.10761 35.4608 6.60441V7.4519H37.9821C38.0853 7.4519 38.1738 7.53957 38.1738 7.64186V8.53318C38.1738 8.63547 38.0853 8.72314 37.9821 8.72314H35.4608V9.71674C35.4608 10.1989 35.623 10.3597 36.0653 10.3597H38.0558C38.159 10.3597 38.2475 10.4473 38.2475 10.5496V11.4263C38.2475 11.5286 38.1885 11.5871 38.0558 11.6017Z" fill="white"/>
|
||||
<path d="M45.1924 11.6455H43.6884C43.5852 11.6601 43.482 11.6016 43.4378 11.4993L42.1255 9.45367L40.9459 11.4555C40.8869 11.5724 40.8132 11.6455 40.71 11.6455H39.3093C39.2798 11.6455 39.2355 11.6455 39.206 11.6162C39.1766 11.587 39.1618 11.5578 39.1618 11.5139C39.1618 11.4847 39.1766 11.4701 39.1766 11.4555L41.2261 8.06555L39.1471 4.85094C39.1323 4.83632 39.1323 4.8071 39.1323 4.79249C39.1323 4.71943 39.206 4.66098 39.2798 4.67559H40.828C40.9312 4.67559 41.0049 4.76327 41.0639 4.85094L42.2729 6.75048L43.4525 4.85094C43.4967 4.74865 43.5852 4.69021 43.6884 4.67559H45.0891C45.1629 4.67559 45.2366 4.71943 45.2366 4.79249C45.2366 4.8071 45.2218 4.83632 45.2218 4.85094L43.1576 8.09477L45.3103 11.4555C45.3251 11.4847 45.3398 11.5139 45.3398 11.5432C45.3251 11.6016 45.2661 11.6455 45.1924 11.6455Z" fill="white"/>
|
||||
<path d="M25.5821 4.69055C25.5083 4.69055 25.4494 4.73439 25.4346 4.80745L24.0634 9.84854C24.0486 9.95082 24.0191 9.99466 23.9307 9.99466C23.8422 9.99466 23.8127 9.95082 23.798 9.84854L22.4267 4.80745C22.412 4.73439 22.353 4.69055 22.2793 4.69055H20.9228C20.8785 4.69055 20.8343 4.70516 20.8048 4.749C20.7753 4.77822 20.7606 4.82206 20.7753 4.86589C20.7753 4.86589 22.4562 10.6522 22.4709 10.7106C22.6921 11.3974 23.2377 11.7335 23.9307 11.7335C24.5942 11.7627 25.1987 11.3389 25.3904 10.7106C25.4199 10.6376 27.0565 4.86589 27.0565 4.86589C27.0713 4.82206 27.0565 4.77822 27.027 4.749C26.9975 4.71978 26.9533 4.69055 26.9091 4.69055H25.5821Z" fill="white"/>
|
||||
<path d="M17.9149 0H3.80428C3.28822 0 2.81639 0.277625 2.56573 0.70137C2.30033 1.13973 2.28559 1.68037 2.5215 2.11872L3.93698 4.77808H1.37142C1.04704 4.77808 0.737403 4.93881 0.560467 5.21644C0.383532 5.49406 0.383532 5.84475 0.530978 6.13699L5.07231 14.6411C5.2345 14.9479 5.55889 15.1379 5.89801 15.1379C6.23714 15.1379 6.56152 14.9479 6.72371 14.6411L7.96225 12.3324L9.51044 15.2402C9.7611 15.7078 10.2624 16 10.7932 16C11.324 16 11.8253 15.7078 12.076 15.2402L19.1534 2.04566C19.3893 1.60731 19.3746 1.08128 19.1092 0.672146C18.8733 0.248402 18.4014 0 17.9149 0ZM11.6042 5.56712L8.5078 11.3242C8.40459 11.5288 8.19817 11.6457 7.96225 11.6457C7.72634 11.6457 7.51992 11.5142 7.4167 11.3242L4.36457 5.62557C4.27611 5.45023 4.27611 5.24566 4.37932 5.07032C4.48253 4.89498 4.67421 4.79269 4.86589 4.79269H11.1176C11.3093 4.79269 11.4862 4.88036 11.5747 5.0411C11.6926 5.20183 11.6926 5.40639 11.6042 5.56712Z" fill="white"/>
|
||||
</svg>
|
After Width: | Height: | Size: 3.6 KiB |
@ -1,5 +1,315 @@
|
||||
@import "../utils/Variables.scss";
|
||||
.hiden{
|
||||
display: none !important;
|
||||
}
|
||||
.footer{
|
||||
&_wrapper{
|
||||
display: flex;
|
||||
border-top: 1px solid $-black;
|
||||
border-bottom: 1px solid $-black;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: 16px;
|
||||
align-self: stretch;
|
||||
width: 100%;
|
||||
&_Form{
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
flex-direction: column;
|
||||
width: 37.830%;
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
h2{
|
||||
font-family: 'Roboto',sans-serif;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 18px;
|
||||
line-height: 21px;
|
||||
letter-spacing: 0.05em;
|
||||
font-variant: small-caps;
|
||||
}
|
||||
&__Newsletter{
|
||||
gap: 8px;
|
||||
display: flex;
|
||||
width: 100%;
|
||||
div{
|
||||
width: max-content;
|
||||
min-width: 72.02%;
|
||||
input{
|
||||
border-radius: 4px;
|
||||
border: 1px solid #E5E5E5;
|
||||
width: 100%;
|
||||
height: 42px;
|
||||
&[placeholder]{
|
||||
padding: 16px;
|
||||
color: $-gray-300;
|
||||
font-family: 'Roboto',sans-serif;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
line-height: 16px;;
|
||||
}
|
||||
}
|
||||
}
|
||||
button{
|
||||
background: $-black;
|
||||
color: $-white;
|
||||
box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
|
||||
border-radius: 4px;
|
||||
width: 100%;
|
||||
min-width: 32.66%;
|
||||
height: 42px;
|
||||
|
||||
.main_wrapper{
|
||||
font-family: 'Roboto',sans-serif;
|
||||
font-style: normal;
|
||||
letter-spacing: 0.05em;
|
||||
font-weight: 700;
|
||||
font-size: 12px;
|
||||
line-height: 14px
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&_Top{
|
||||
width: 100%;
|
||||
}
|
||||
&_bottom{
|
||||
background: $-black;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 15px 100px;
|
||||
p{
|
||||
color: $-white;
|
||||
width: 234px;
|
||||
font-family: 'Roboto',sans-serif;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 10px;
|
||||
line-height: 12px;
|
||||
text-transform: capitalize;
|
||||
}
|
||||
&_wraaper{
|
||||
width: 70%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
&__Payments{
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
width:52.646%;
|
||||
fieldset{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4%;
|
||||
border:0;
|
||||
padding: 7px 14px 7px 0;
|
||||
width: 81.774%;
|
||||
height: 100%;
|
||||
|
||||
border-right:1px solid $-gray-300 ;
|
||||
&[datatype=Payments]{
|
||||
border: none;
|
||||
padding: 0 0 0 0;
|
||||
width: 13.722%;
|
||||
min-height: 34px;
|
||||
img{
|
||||
width: 100%;
|
||||
min-height: 34px;
|
||||
}
|
||||
}
|
||||
img{
|
||||
width: 10.66%;
|
||||
height: 100%
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&_Authors{
|
||||
display: flex;
|
||||
width: 20.926%;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
a{
|
||||
&[datatype=LinkVtex]{
|
||||
width: 19.47%;
|
||||
}
|
||||
&[datatype=LinkM3]{
|
||||
width: 12.39%;
|
||||
}
|
||||
img{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 16px;
|
||||
}
|
||||
}
|
||||
p{
|
||||
width: auto;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 280px) and (max-width: 1024px){
|
||||
.footer{
|
||||
&_wrapper{
|
||||
&_Form{
|
||||
width: 100%;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
h2{
|
||||
font-size: 14px;
|
||||
line-height: 16px;
|
||||
}
|
||||
&__Newsletter{
|
||||
gap: 16px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
div{
|
||||
min-width: 100%;
|
||||
}
|
||||
button{
|
||||
box-shadow: 0px 0px 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&_Top{
|
||||
width: 100%;
|
||||
}
|
||||
&_bottom{
|
||||
flex-direction: column;
|
||||
padding: 16px 15px;
|
||||
gap: 15px;
|
||||
&_wraaper{
|
||||
display: flex;
|
||||
gap: 15px;
|
||||
flex-direction: column-reverse;
|
||||
align-items: flex-start;
|
||||
width: 100%;
|
||||
&__Payments{
|
||||
width:100%;
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
fieldset{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4%;
|
||||
border:0;
|
||||
padding: 7px 14px 7px 0;
|
||||
width: 81.774%;
|
||||
height: 100%;
|
||||
|
||||
border-right:1px solid $-gray-300 ;
|
||||
&[datatype=Payments]{
|
||||
border: none;
|
||||
padding: 0 0 0 0;
|
||||
width: 13.722%;
|
||||
min-height: 34px;
|
||||
img{
|
||||
width: 95.1%;
|
||||
min-height: 28px;
|
||||
}
|
||||
}
|
||||
img{
|
||||
width: 11.232%;
|
||||
height: 100%
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&_Authors{
|
||||
width: 100%;
|
||||
justify-content: flex-start;
|
||||
gap: 12px;
|
||||
a{
|
||||
&[datatype=LinkVtex]{
|
||||
width: 12.754%;
|
||||
}
|
||||
&[datatype=LinkM3]{
|
||||
width: 8.12%;
|
||||
}
|
||||
img{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 16px;
|
||||
}
|
||||
}
|
||||
p{
|
||||
width: auto;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 2500px){
|
||||
.footer{
|
||||
&_wrapper{
|
||||
&_Form{
|
||||
width: 37.399%;
|
||||
h2{
|
||||
font-size: 36px;
|
||||
line-height: 42px;
|
||||
}
|
||||
&__Newsletter{
|
||||
gap: 8px;
|
||||
display: flex;
|
||||
width: 100%;
|
||||
div{
|
||||
min-width: 72.374%;
|
||||
input{
|
||||
height: 60px;
|
||||
&[placeholder]{
|
||||
font-size: 28px;
|
||||
line-height: 33px;
|
||||
}
|
||||
}
|
||||
}
|
||||
button{
|
||||
min-width: 26%;
|
||||
height: 59px;
|
||||
font-size: 24px;
|
||||
line-height: 28px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&_Top{
|
||||
width: 100%;
|
||||
}
|
||||
&_bottom{
|
||||
p{
|
||||
width:467px;
|
||||
font-size: 20px;
|
||||
line-height: 23px;
|
||||
}
|
||||
&_Authors{
|
||||
width: 20.926%;
|
||||
height: 100%;
|
||||
a{
|
||||
&[datatype=LinkVtex]{
|
||||
width: 19.47%;
|
||||
}
|
||||
&[datatype=LinkM3]{
|
||||
width: 12.39%;
|
||||
}
|
||||
img{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 16px;
|
||||
}
|
||||
}
|
||||
p{
|
||||
width: auto;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -343,13 +343,13 @@
|
||||
&-main{
|
||||
flex-direction: column;
|
||||
&-departaments{
|
||||
min-width: 280px;
|
||||
min-width: 248px;
|
||||
border-right: 0;
|
||||
width: 100%;
|
||||
|
||||
}
|
||||
&-section{
|
||||
min-width: 280px;
|
||||
min-width: 248px;
|
||||
#title{
|
||||
text-align: center;
|
||||
}
|
||||
|
28
desafio-5/src/components/scripts/Células/Authors.tsx
Normal file
@ -0,0 +1,28 @@
|
||||
import React from "react";
|
||||
import VtexLogo from "../../assets/imgs/VtexLogo.svg"
|
||||
import M3 from "../../assets/imgs/M3_NameLogo.svg"
|
||||
|
||||
interface Calsses {
|
||||
Authorclass?: string;
|
||||
}
|
||||
|
||||
interface AuthorProps extends Calsses {
|
||||
|
||||
}
|
||||
|
||||
export const Author: React.FC<AuthorProps> = (
|
||||
{Authorclass}
|
||||
) => {
|
||||
return(
|
||||
<div className={Authorclass}>
|
||||
<p>Powered by</p>
|
||||
<a datatype="LinkVtex" href="https://vtex.com/br-pt/">
|
||||
<img datatype="VtexLogo" src={VtexLogo} alt="vtex logo" />
|
||||
</a>
|
||||
<p>Developed by</p>
|
||||
<a datatype="LinkM3" href="https://m3ecommerce.com">
|
||||
<img datatype="M3" src={M3} alt="M3" />
|
||||
</a>
|
||||
</div>
|
||||
)
|
||||
};
|
41
desafio-5/src/components/scripts/Células/PaymentsMethod.tsx
Normal file
@ -0,0 +1,41 @@
|
||||
import React from "react";
|
||||
import Master from "../../assets/icons/Master.svg"
|
||||
import Visa from "../../assets/icons/Visa.svg"
|
||||
import AmericanExpress from "../../assets/icons/Diners.svg"
|
||||
import Elo from "../../assets/icons/Elo.svg"
|
||||
import HiperCard from "../../assets/icons/Hiper.svg"
|
||||
import Pagseguro from "../../assets/icons/Pagseguro.svg"
|
||||
import Boleto from "../../assets/icons/Boleto.svg"
|
||||
import Vtex from "../../assets/icons/vtex-pci-200.svg"
|
||||
|
||||
interface Calsses {
|
||||
Paymentsclass?: string;
|
||||
}
|
||||
|
||||
interface AuthorProps extends Calsses {
|
||||
|
||||
}
|
||||
interface PaymentsMethodatrr extends AuthorProps {
|
||||
|
||||
}
|
||||
|
||||
export const PaymentsMethod: React.FC<PaymentsMethodatrr> = (
|
||||
{Paymentsclass}
|
||||
) => {
|
||||
return(
|
||||
<div className={Paymentsclass}>
|
||||
<fieldset >
|
||||
<img datatype="master__card" src={Master} alt="master card" />
|
||||
<img datatype="Visa" src={Visa} alt="cartão visa" />
|
||||
<img datatype="American__Express" src={AmericanExpress} alt="American Express" />
|
||||
<img datatype="Elo" src={Elo} alt="Elo" />
|
||||
<img datatype="HiperCard" src={HiperCard} alt="HiperCard" />
|
||||
<img datatype="Pagseguro" src={Pagseguro} alt="Pay Pal" />
|
||||
<img datatype="Boleto" src={Boleto} alt="Boleto" />
|
||||
</fieldset>
|
||||
<fieldset datatype="Payments">
|
||||
<img datatype="VtexPci" src={Vtex} alt="VtexPci" />
|
||||
</fieldset>
|
||||
</div>
|
||||
)
|
||||
};
|
36
desafio-5/src/components/scripts/células/FooterBottom.tsx
Normal file
@ -0,0 +1,36 @@
|
||||
import React from "react";
|
||||
import { Author } from "../moleculas/Authors";
|
||||
import { PaymentsMethod } from "../moleculas/PaymentsMethod";
|
||||
|
||||
interface Calsses {
|
||||
Dadclass?: string;
|
||||
Authorclass?: string;
|
||||
wraaperclass?: string;
|
||||
Paymentsclass?: string;
|
||||
}
|
||||
|
||||
interface TopFooterProps extends Calsses {
|
||||
|
||||
}
|
||||
interface TopFooteratrr extends TopFooterProps {
|
||||
|
||||
}
|
||||
|
||||
export const BottomFooter: React.FC<TopFooteratrr> = (
|
||||
{Dadclass,wraaperclass,Paymentsclass,Authorclass}
|
||||
) => {
|
||||
|
||||
|
||||
return(
|
||||
<div className={Dadclass} >
|
||||
<div className={wraaperclass}>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing
|
||||
elit, sed do eiusmod tempor
|
||||
</p>
|
||||
<PaymentsMethod Paymentsclass={Paymentsclass}/>
|
||||
</div>
|
||||
<Author Authorclass={Authorclass} />
|
||||
</div>
|
||||
)
|
||||
};
|
24
desafio-5/src/components/scripts/células/FooterTop.tsx
Normal file
@ -0,0 +1,24 @@
|
||||
import React from "react";
|
||||
|
||||
interface Calsses {
|
||||
DadClass?: string;
|
||||
}
|
||||
|
||||
interface TopFooterProps extends Calsses {
|
||||
|
||||
}
|
||||
interface TopFooteratrr extends TopFooterProps {
|
||||
|
||||
}
|
||||
|
||||
export const TopFooter: React.FC<TopFooteratrr> = (
|
||||
{DadClass}
|
||||
) => {
|
||||
|
||||
|
||||
return(
|
||||
<div className={DadClass}>
|
||||
Footer top
|
||||
</div>
|
||||
)
|
||||
};
|
55
desafio-5/src/components/scripts/células/Newsletter.tsx
Normal file
@ -0,0 +1,55 @@
|
||||
import React from "react";
|
||||
import { Formik,Form, FormikHelpers } from 'formik';
|
||||
import { Inputform } from "./FormInput";
|
||||
import NewsletterSchema from "../../../schema/NewsletterSchema";
|
||||
|
||||
interface Calsses {
|
||||
Dadclass?: string;
|
||||
wraaperclass?: string;
|
||||
FormClass?: string;
|
||||
Errorclass?: string;
|
||||
Labelclass?: string;
|
||||
Inputclass?: string;
|
||||
Buttonclass?: string;
|
||||
Simbol?: string;
|
||||
Simbolclass?: string;
|
||||
}
|
||||
interface FormTypes{
|
||||
newsletter: string,
|
||||
}
|
||||
const initialValues = {
|
||||
newsletter: "",
|
||||
}
|
||||
|
||||
export const Newsletter: React.FC<Calsses> = (
|
||||
{Dadclass,wraaperclass,FormClass,Inputclass,Buttonclass,Errorclass}
|
||||
) => {
|
||||
|
||||
const handleFormikSubmit = (values:FormTypes, formik: FormikHelpers<FormTypes>) =>{
|
||||
console.log(values)
|
||||
formik.resetForm();
|
||||
}
|
||||
|
||||
return(
|
||||
<div className={Dadclass}>
|
||||
<div className={wraaperclass}>
|
||||
<h2>Assine nossa Newsletter</h2>
|
||||
<Formik
|
||||
validationSchema={NewsletterSchema}
|
||||
onSubmit={handleFormikSubmit}
|
||||
initialValues={initialValues}>
|
||||
<Form className={FormClass}>
|
||||
<Inputform
|
||||
name="newsletter"
|
||||
type="email"
|
||||
placeholder="E-mail"
|
||||
className={Inputclass}
|
||||
Errorclass={Errorclass}
|
||||
/>
|
||||
<button type="submit" className={Buttonclass}>Enviar</button>
|
||||
</Form>
|
||||
</Formik>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
};
|
@ -1,13 +1,25 @@
|
||||
import React, { useState, useEffect, useRef, useMemo, useCallback,useContext} from "react"
|
||||
import React from "react"
|
||||
// { useState, useEffect, useRef, useMemo, useCallback,useContext}
|
||||
|
||||
import FooterStyles from "../modules/footer.module.scss"
|
||||
import { Newsletter } from "./células/Newsletter";
|
||||
import { TopFooter } from "./células/FooterTop";
|
||||
import { BottomFooter } from "./células/FooterBottom";
|
||||
|
||||
const Footer = () =>{
|
||||
return (
|
||||
<footer>
|
||||
<div className={FooterStyles["main_wrapper"]}>
|
||||
conteudo do footer
|
||||
</div>
|
||||
<Newsletter Dadclass={FooterStyles.footer_wrapper}
|
||||
wraaperclass={FooterStyles.footer_wrapper_Form}
|
||||
FormClass={FooterStyles.footer_wrapper_Form__Newsletter}
|
||||
Errorclass={FooterStyles.hiden}
|
||||
/>
|
||||
<TopFooter DadClass={FooterStyles.footer_Top}/>
|
||||
<BottomFooter Dadclass={FooterStyles.footer_bottom}
|
||||
wraaperclass={FooterStyles.footer_bottom_wraaper}
|
||||
Paymentsclass={FooterStyles.footer_bottom_wraaper__Payments}
|
||||
Authorclass={FooterStyles.footer_bottom_Authors}
|
||||
/>
|
||||
</footer>
|
||||
)
|
||||
};
|
||||
|
@ -24,6 +24,7 @@ const initialValues = {
|
||||
const Header = () =>{
|
||||
|
||||
const { navigate } = useContext(RouterContext);
|
||||
// onClick={() => navigate("/Cursos")}
|
||||
const { isOpened, setisOpened } = useContext(SubmenuContext)
|
||||
const handleSeacrhFormikSubmit = (values:SearchboxTypes, formik: FormikHelpers<SearchboxTypes>) =>{
|
||||
formik.resetForm();
|
||||
@ -45,7 +46,7 @@ const Header = () =>{
|
||||
<Form className={HeaderStyles["Header_wrapper-top-Searchbox"]}>
|
||||
<Field id="search" name="search" type="text" placeholder="Buscar" />
|
||||
<label htmlFor="search">
|
||||
<button>
|
||||
<button type="submit">
|
||||
<img src={Lupa} alt="Lupa" />
|
||||
</button>
|
||||
</label>
|
||||
@ -100,8 +101,8 @@ const Header = () =>{
|
||||
<nav className={HeaderStyles["Header_wrapper-bottom-navigator"]}>
|
||||
<ul>
|
||||
<li><button onClick={() => navigate("/Cursos")}>CURSOS</button></li>
|
||||
<li><button onClick={() => navigate("/Saiba+&+Mais")}>SAIBA MAIS</button></li>
|
||||
<li><button onClick={() => navigate("/Institucional")}>INSTITUCIONAIS</button></li>
|
||||
<li><button>SAIBA MAIS</button></li>
|
||||
<li><button>INSTITUCIONAIS</button></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
@ -1,10 +1,11 @@
|
||||
import React from "react"
|
||||
|
||||
import Institucional from "../../pages/Institucional";
|
||||
|
||||
const Main = () => {
|
||||
return (
|
||||
<main >
|
||||
<Institucional />
|
||||
<Institucional />
|
||||
</main>
|
||||
)
|
||||
};
|
||||
|
@ -2,7 +2,7 @@ import React from 'react';
|
||||
import ReactDOM from 'react-dom/client';
|
||||
import { Header } from './components/scripts/header';
|
||||
import { Footer } from './components/scripts/footer';
|
||||
import Main from './components/scripts/main';
|
||||
import Main from "./components/scripts/main";
|
||||
import {SubmenuProvider} from "./contexts/SubmenuContext"
|
||||
import {RouterProvider} from "./contexts/React_Router_context"
|
||||
import './components/Main.scss';
|
||||
@ -17,7 +17,7 @@ if (rootElement) {
|
||||
<SubmenuProvider>
|
||||
<Header />
|
||||
</SubmenuProvider>
|
||||
<Main />
|
||||
<Main />
|
||||
<Footer />
|
||||
</RouterProvider>
|
||||
);
|
||||
|
@ -6,8 +6,8 @@ import Homeicon from "../components/assets/icons/home_icon.svg"
|
||||
import Leftarrow from "../components/assets/icons/Leftarrow.svg"
|
||||
import MainStyles from "../components/modules/home.module.scss"
|
||||
import FormShecma from "../schema/FormShecma";
|
||||
import { Title,BreadcrumbTitle,FormTitle } from "../components/scripts/Células/Title"
|
||||
import { Inputform } from "../components/scripts/Células/InputForm"
|
||||
import { Title,BreadcrumbTitle,FormTitle } from "../components/scripts/moleculas/Title"
|
||||
import { Inputform } from "../components/scripts/Células/FormInput"
|
||||
|
||||
|
||||
const title = "INSTITUCIONAL"
|
||||
|
@ -14,6 +14,12 @@ export default Yup.object().shape({
|
||||
)
|
||||
.required("* Campo Obrigatório")
|
||||
.email("* Email inválido"),
|
||||
// newsletter: Yup.string()
|
||||
// .matches(
|
||||
// /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@(?:gmail|hotmail|outlook)\.com$/,
|
||||
// ""
|
||||
// )
|
||||
// .email("* Email inválido"),
|
||||
|
||||
cpf: Yup.string()
|
||||
.required("* Campo Obrigatório")
|
||||
|
11
desafio-5/src/schema/NewsletterSchema.tsx
Normal file
@ -0,0 +1,11 @@
|
||||
import * as Yup from "yup";
|
||||
|
||||
|
||||
export default Yup.object().shape({
|
||||
newsletter: Yup.string()
|
||||
.matches(
|
||||
/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@(?:gmail|hotmail|outlook)\.com$/,
|
||||
""
|
||||
)
|
||||
.email("* Email inválido"),
|
||||
});
|