diff --git a/.gitignore b/.gitignore index a547bf3..251ce6d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ pnpm-debug.log* lerna-debug.log* node_modules -dist dist-ssr *.local diff --git a/dist/assets/index-49b58133.js b/dist/assets/index-49b58133.js new file mode 100644 index 0000000..c17dca8 --- /dev/null +++ b/dist/assets/index-49b58133.js @@ -0,0 +1,40 @@ +(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const i of l)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function t(l){const i={};return l.integrity&&(i.integrity=l.integrity),l.referrerPolicy&&(i.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?i.credentials="include":l.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(l){if(l.ep)return;l.ep=!0;const i=t(l);fetch(l.href,i)}})();function rc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Hu={exports:{}},el={},Wu={exports:{}},L={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Gt=Symbol.for("react.element"),lc=Symbol.for("react.portal"),ic=Symbol.for("react.fragment"),oc=Symbol.for("react.strict_mode"),uc=Symbol.for("react.profiler"),sc=Symbol.for("react.provider"),ac=Symbol.for("react.context"),cc=Symbol.for("react.forward_ref"),fc=Symbol.for("react.suspense"),dc=Symbol.for("react.memo"),pc=Symbol.for("react.lazy"),Oo=Symbol.iterator;function mc(e){return e===null||typeof e!="object"?null:(e=Oo&&e[Oo]||e["@@iterator"],typeof e=="function"?e:null)}var Qu={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ku=Object.assign,Yu={};function it(e,n,t){this.props=e,this.context=n,this.refs=Yu,this.updater=t||Qu}it.prototype.isReactComponent={};it.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,n,"setState")};it.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Gu(){}Gu.prototype=it.prototype;function Ui(e,n,t){this.props=e,this.context=n,this.refs=Yu,this.updater=t||Qu}var $i=Ui.prototype=new Gu;$i.constructor=Ui;Ku($i,it.prototype);$i.isPureReactComponent=!0;var Mo=Array.isArray,Xu=Object.prototype.hasOwnProperty,Bi={current:null},Zu={key:!0,ref:!0,__self:!0,__source:!0};function Ju(e,n,t){var r,l={},i=null,o=null;if(n!=null)for(r in n.ref!==void 0&&(o=n.ref),n.key!==void 0&&(i=""+n.key),n)Xu.call(n,r)&&!Zu.hasOwnProperty(r)&&(l[r]=n[r]);var u=arguments.length-2;if(u===1)l.children=t;else if(1>>1,X=x[W];if(0>>1;Wl(gl,T))gnl(er,gl)?(x[W]=er,x[gn]=T,W=gn):(x[W]=gl,x[yn]=T,W=yn);else if(gnl(er,T))x[W]=er,x[gn]=T,W=gn;else break e}}return z}function l(x,z){var T=x.sortIndex-z.sortIndex;return T!==0?T:x.id-z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var o=Date,u=o.now();e.unstable_now=function(){return o.now()-u}}var s=[],c=[],h=1,m=null,p=3,g=!1,w=!1,S=!1,F=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(x){for(var z=t(c);z!==null;){if(z.callback===null)r(c);else if(z.startTime<=x)r(c),z.sortIndex=z.expirationTime,n(s,z);else break;z=t(c)}}function v(x){if(S=!1,d(x),!w)if(t(s)!==null)w=!0,vl(E);else{var z=t(c);z!==null&&yl(v,z.startTime-x)}}function E(x,z){w=!1,S&&(S=!1,f(P),P=-1),g=!0;var T=p;try{for(d(z),m=t(s);m!==null&&(!(m.expirationTime>z)||x&&!Ne());){var W=m.callback;if(typeof W=="function"){m.callback=null,p=m.priorityLevel;var X=W(m.expirationTime<=z);z=e.unstable_now(),typeof X=="function"?m.callback=X:m===t(s)&&r(s),d(z)}else r(s);m=t(s)}if(m!==null)var bt=!0;else{var yn=t(c);yn!==null&&yl(v,yn.startTime-z),bt=!1}return bt}finally{m=null,p=T,g=!1}}var C=!1,_=null,P=-1,H=5,j=-1;function Ne(){return!(e.unstable_now()-jx||125W?(x.sortIndex=T,n(c,x),t(s)===null&&x===t(c)&&(S?(f(P),P=-1):S=!0,yl(v,T-W))):(x.sortIndex=X,n(s,x),w||g||(w=!0,vl(E))),x},e.unstable_shouldYield=Ne,e.unstable_wrapCallback=function(x){var z=p;return function(){var T=p;p=z;try{return x.apply(this,arguments)}finally{p=T}}}})(ns);es.exports=ns;var Nc=es.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var ts=We,ye=Nc;function y(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Kl=Object.prototype.hasOwnProperty,Pc=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Fo={},Uo={};function zc(e){return Kl.call(Uo,e)?!0:Kl.call(Fo,e)?!1:Pc.test(e)?Uo[e]=!0:(Fo[e]=!0,!1)}function Tc(e,n,t,r){if(t!==null&&t.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return r?!1:t!==null?!t.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Lc(e,n,t,r){if(n===null||typeof n>"u"||Tc(e,n,t,r))return!0;if(r)return!1;if(t!==null)switch(t.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function se(e,n,t,r,l,i,o){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=t,this.propertyName=e,this.type=n,this.sanitizeURL=i,this.removeEmptyString=o}var ee={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ee[e]=new se(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];ee[n]=new se(n,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ee[e]=new se(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ee[e]=new se(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ee[e]=new se(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ee[e]=new se(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ee[e]=new se(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ee[e]=new se(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ee[e]=new se(e,5,!1,e.toLowerCase(),null,!1,!1)});var Vi=/[\-:]([a-z])/g;function Hi(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var n=e.replace(Vi,Hi);ee[n]=new se(n,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Vi,Hi);ee[n]=new se(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Vi,Hi);ee[n]=new se(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ee[e]=new se(e,1,!1,e.toLowerCase(),null,!1,!1)});ee.xlinkHref=new se("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ee[e]=new se(e,1,!1,e.toLowerCase(),null,!0,!0)});function Wi(e,n,t,r){var l=ee.hasOwnProperty(n)?ee[n]:null;(l!==null?l.type!==0:r||!(2u||l[o]!==i[u]){var s=` +`+l[o].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=o&&0<=u);break}}}finally{kl=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?gt(e):""}function jc(e){switch(e.tag){case 5:return gt(e.type);case 16:return gt("Lazy");case 13:return gt("Suspense");case 19:return gt("SuspenseList");case 0:case 2:case 15:return e=El(e.type,!1),e;case 11:return e=El(e.type.render,!1),e;case 1:return e=El(e.type,!0),e;default:return""}}function Zl(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Mn:return"Fragment";case On:return"Portal";case Yl:return"Profiler";case Qi:return"StrictMode";case Gl:return"Suspense";case Xl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case is:return(e.displayName||"Context")+".Consumer";case ls:return(e._context.displayName||"Context")+".Provider";case Ki:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Yi:return n=e.displayName||null,n!==null?n:Zl(e.type)||"Memo";case Je:n=e._payload,e=e._init;try{return Zl(e(n))}catch{}}return null}function Rc(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Zl(n);case 8:return n===Qi?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function dn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function us(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Dc(e){var n=us(e)?"checked":"value",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),r=""+e[n];if(!e.hasOwnProperty(n)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var l=t.get,i=t.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,i.call(this,o)}}),Object.defineProperty(e,n,{enumerable:t.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function rr(e){e._valueTracker||(e._valueTracker=Dc(e))}function ss(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var t=n.getValue(),r="";return e&&(r=us(e)?e.checked?"true":"false":e.value),e=r,e!==t?(n.setValue(e),!0):!1}function Lr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Jl(e,n){var t=n.checked;return A({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??e._wrapperState.initialChecked})}function Bo(e,n){var t=n.defaultValue==null?"":n.defaultValue,r=n.checked!=null?n.checked:n.defaultChecked;t=dn(n.value!=null?n.value:t),e._wrapperState={initialChecked:r,initialValue:t,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function as(e,n){n=n.checked,n!=null&&Wi(e,"checked",n,!1)}function ql(e,n){as(e,n);var t=dn(n.value),r=n.type;if(t!=null)r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?bl(e,n.type,t):n.hasOwnProperty("defaultValue")&&bl(e,n.type,dn(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function Ao(e,n,t){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var r=n.type;if(!(r!=="submit"&&r!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}t=e.name,t!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,t!==""&&(e.name=t)}function bl(e,n,t){(n!=="number"||Lr(e.ownerDocument)!==e)&&(t==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}var wt=Array.isArray;function Kn(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l"+n.valueOf().toString()+"",n=lr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Rt(e,n){if(n){var t=e.firstChild;if(t&&t===e.lastChild&&t.nodeType===3){t.nodeValue=n;return}}e.textContent=n}var Et={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Oc=["Webkit","ms","Moz","O"];Object.keys(Et).forEach(function(e){Oc.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),Et[n]=Et[e]})});function ps(e,n,t){return n==null||typeof n=="boolean"||n===""?"":t||typeof n!="number"||n===0||Et.hasOwnProperty(e)&&Et[e]?(""+n).trim():n+"px"}function ms(e,n){e=e.style;for(var t in n)if(n.hasOwnProperty(t)){var r=t.indexOf("--")===0,l=ps(t,n[t],r);t==="float"&&(t="cssFloat"),r?e.setProperty(t,l):e[t]=l}}var Mc=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ti(e,n){if(n){if(Mc[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(y(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(y(61))}if(n.style!=null&&typeof n.style!="object")throw Error(y(62))}}function ri(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var li=null;function Gi(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ii=null,Yn=null,Gn=null;function Wo(e){if(e=Jt(e)){if(typeof ii!="function")throw Error(y(280));var n=e.stateNode;n&&(n=il(n),ii(e.stateNode,e.type,n))}}function hs(e){Yn?Gn?Gn.push(e):Gn=[e]:Yn=e}function vs(){if(Yn){var e=Yn,n=Gn;if(Gn=Yn=null,Wo(e),n)for(e=0;e>>=0,e===0?32:31-(Kc(e)/Yc|0)|0}var ir=64,or=4194304;function St(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Or(e,n){var t=e.pendingLanes;if(t===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,o=t&268435455;if(o!==0){var u=o&~l;u!==0?r=St(u):(i&=o,i!==0&&(r=St(i)))}else o=t&~l,o!==0?r=St(o):i!==0&&(r=St(i));if(r===0)return 0;if(n!==0&&n!==r&&!(n&l)&&(l=r&-r,i=n&-n,l>=i||l===16&&(i&4194240)!==0))return n;if(r&4&&(r|=t&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Xt(e,n,t){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-je(n),e[n]=t}function Jc(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ct),bo=String.fromCharCode(32),eu=!1;function Is(e,n){switch(e){case"keyup":return Nf.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var In=!1;function zf(e,n){switch(e){case"compositionend":return Fs(n);case"keypress":return n.which!==32?null:(eu=!0,bo);case"textInput":return e=n.data,e===bo&&eu?null:e;default:return null}}function Tf(e,n){if(In)return e==="compositionend"||!to&&Is(e,n)?(e=Os(),kr=bi=nn=null,In=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:t,offset:n-e};e=r}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=lu(t)}}function As(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?As(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Vs(){for(var e=window,n=Lr();n instanceof e.HTMLIFrameElement;){try{var t=typeof n.contentWindow.location.href=="string"}catch{t=!1}if(t)e=n.contentWindow;else break;n=Lr(e.document)}return n}function ro(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function Uf(e){var n=Vs(),t=e.focusedElem,r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&As(t.ownerDocument.documentElement,t)){if(r!==null&&ro(t)){if(n=r.start,e=r.end,e===void 0&&(e=n),"selectionStart"in t)t.selectionStart=n,t.selectionEnd=Math.min(e,t.value.length);else if(e=(n=t.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var l=t.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=iu(t,i);var o=iu(t,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(n=n.createRange(),n.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(n),e.extend(o.node,o.offset)):(n.setEnd(o.node,o.offset),e.addRange(n)))}}for(n=[],e=t;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,Fn=null,fi=null,Nt=null,di=!1;function ou(e,n,t){var r=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;di||Fn==null||Fn!==Lr(r)||(r=Fn,"selectionStart"in r&&ro(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Nt&&Ut(Nt,r)||(Nt=r,r=Fr(fi,"onSelect"),0Bn||(e.current=gi[Bn],gi[Bn]=null,Bn--)}function O(e,n){Bn++,gi[Bn]=e.current,e.current=n}var pn={},le=hn(pn),fe=hn(!1),Nn=pn;function bn(e,n){var t=e.type.contextTypes;if(!t)return pn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in t)l[i]=n[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),l}function de(e){return e=e.childContextTypes,e!=null}function $r(){I(fe),I(le)}function pu(e,n,t){if(le.current!==pn)throw Error(y(168));O(le,n),O(fe,t)}function Js(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,typeof r.getChildContext!="function")return t;r=r.getChildContext();for(var l in r)if(!(l in n))throw Error(y(108,Rc(e)||"Unknown",l));return A({},t,r)}function Br(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||pn,Nn=le.current,O(le,e),O(fe,fe.current),!0}function mu(e,n,t){var r=e.stateNode;if(!r)throw Error(y(169));t?(e=Js(e,n,Nn),r.__reactInternalMemoizedMergedChildContext=e,I(fe),I(le),O(le,e)):I(fe),O(fe,t)}var Be=null,ol=!1,Il=!1;function qs(e){Be===null?Be=[e]:Be.push(e)}function Zf(e){ol=!0,qs(e)}function vn(){if(!Il&&Be!==null){Il=!0;var e=0,n=D;try{var t=Be;for(D=1;e>=o,l-=o,Ae=1<<32-je(n)+l|t<P?(H=_,_=null):H=_.sibling;var j=p(f,_,d[P],v);if(j===null){_===null&&(_=H);break}e&&_&&j.alternate===null&&n(f,_),a=i(j,a,P),C===null?E=j:C.sibling=j,C=j,_=H}if(P===d.length)return t(f,_),U&&wn(f,P),E;if(_===null){for(;PP?(H=_,_=null):H=_.sibling;var Ne=p(f,_,j.value,v);if(Ne===null){_===null&&(_=H);break}e&&_&&Ne.alternate===null&&n(f,_),a=i(Ne,a,P),C===null?E=Ne:C.sibling=Ne,C=Ne,_=H}if(j.done)return t(f,_),U&&wn(f,P),E;if(_===null){for(;!j.done;P++,j=d.next())j=m(f,j.value,v),j!==null&&(a=i(j,a,P),C===null?E=j:C.sibling=j,C=j);return U&&wn(f,P),E}for(_=r(f,_);!j.done;P++,j=d.next())j=g(_,f,P,j.value,v),j!==null&&(e&&j.alternate!==null&&_.delete(j.key===null?P:j.key),a=i(j,a,P),C===null?E=j:C.sibling=j,C=j);return e&&_.forEach(function(st){return n(f,st)}),U&&wn(f,P),E}function F(f,a,d,v){if(typeof d=="object"&&d!==null&&d.type===Mn&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case tr:e:{for(var E=d.key,C=a;C!==null;){if(C.key===E){if(E=d.type,E===Mn){if(C.tag===7){t(f,C.sibling),a=l(C,d.props.children),a.return=f,f=a;break e}}else if(C.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Je&&ku(E)===C.type){t(f,C.sibling),a=l(C,d.props),a.ref=ht(f,C,d),a.return=f,f=a;break e}t(f,C);break}else n(f,C);C=C.sibling}d.type===Mn?(a=_n(d.props.children,f.mode,v,d.key),a.return=f,f=a):(v=Tr(d.type,d.key,d.props,null,f.mode,v),v.ref=ht(f,a,d),v.return=f,f=v)}return o(f);case On:e:{for(C=d.key;a!==null;){if(a.key===C)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){t(f,a.sibling),a=l(a,d.children||[]),a.return=f,f=a;break e}else{t(f,a);break}else n(f,a);a=a.sibling}a=Wl(d,f.mode,v),a.return=f,f=a}return o(f);case Je:return C=d._init,F(f,a,C(d._payload),v)}if(wt(d))return w(f,a,d,v);if(ct(d))return S(f,a,d,v);pr(f,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(t(f,a.sibling),a=l(a,d),a.return=f,f=a):(t(f,a),a=Hl(d,f.mode,v),a.return=f,f=a),o(f)):t(f,a)}return F}var nt=oa(!0),ua=oa(!1),qt={},Ue=hn(qt),Vt=hn(qt),Ht=hn(qt);function xn(e){if(e===qt)throw Error(y(174));return e}function po(e,n){switch(O(Ht,n),O(Vt,e),O(Ue,qt),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:ni(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=ni(n,e)}I(Ue),O(Ue,n)}function tt(){I(Ue),I(Vt),I(Ht)}function sa(e){xn(Ht.current);var n=xn(Ue.current),t=ni(n,e.type);n!==t&&(O(Vt,e),O(Ue,t))}function mo(e){Vt.current===e&&(I(Ue),I(Vt))}var $=hn(0);function Kr(e){for(var n=e;n!==null;){if(n.tag===13){var t=n.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if(n.flags&128)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Fl=[];function ho(){for(var e=0;et?t:4,e(!0);var r=Ul.transition;Ul.transition={};try{e(!1),n()}finally{D=t,Ul.transition=r}}function Ca(){return _e().memoizedState}function ed(e,n,t){var r=cn(e);if(t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},_a(e))Na(n,t);else if(t=ta(e,n,t,r),t!==null){var l=oe();Re(t,e,r,l),Pa(t,n,r)}}function nd(e,n,t){var r=cn(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(_a(e))Na(n,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=n.lastRenderedReducer,i!==null))try{var o=n.lastRenderedState,u=i(o,t);if(l.hasEagerState=!0,l.eagerState=u,De(u,o)){var s=n.interleaved;s===null?(l.next=l,co(n)):(l.next=s.next,s.next=l),n.interleaved=l;return}}catch{}finally{}t=ta(e,n,l,r),t!==null&&(l=oe(),Re(t,e,r,l),Pa(t,n,r))}}function _a(e){var n=e.alternate;return e===B||n!==null&&n===B}function Na(e,n){Pt=Yr=!0;var t=e.pending;t===null?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function Pa(e,n,t){if(t&4194240){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,Zi(e,t)}}var Gr={readContext:Ce,useCallback:ne,useContext:ne,useEffect:ne,useImperativeHandle:ne,useInsertionEffect:ne,useLayoutEffect:ne,useMemo:ne,useReducer:ne,useRef:ne,useState:ne,useDebugValue:ne,useDeferredValue:ne,useTransition:ne,useMutableSource:ne,useSyncExternalStore:ne,useId:ne,unstable_isNewReconciler:!1},td={readContext:Ce,useCallback:function(e,n){return Me().memoizedState=[e,n===void 0?null:n],e},useContext:Ce,useEffect:xu,useImperativeHandle:function(e,n,t){return t=t!=null?t.concat([e]):null,_r(4194308,4,wa.bind(null,n,e),t)},useLayoutEffect:function(e,n){return _r(4194308,4,e,n)},useInsertionEffect:function(e,n){return _r(4,2,e,n)},useMemo:function(e,n){var t=Me();return n=n===void 0?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=Me();return n=t!==void 0?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=ed.bind(null,B,e),[r.memoizedState,e]},useRef:function(e){var n=Me();return e={current:e},n.memoizedState=e},useState:Eu,useDebugValue:So,useDeferredValue:function(e){return Me().memoizedState=e},useTransition:function(){var e=Eu(!1),n=e[0];return e=bf.bind(null,e[1]),Me().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=B,l=Me();if(U){if(t===void 0)throw Error(y(407));t=t()}else{if(t=n(),J===null)throw Error(y(349));zn&30||fa(r,n,t)}l.memoizedState=t;var i={value:t,getSnapshot:n};return l.queue=i,xu(pa.bind(null,r,i,e),[e]),r.flags|=2048,Kt(9,da.bind(null,r,i,t,n),void 0,null),t},useId:function(){var e=Me(),n=J.identifierPrefix;if(U){var t=Ve,r=Ae;t=(r&~(1<<32-je(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Wt++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(t,{is:r.is}):(e=o.createElement(t),t==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,t),e[Ie]=n,e[At]=r,Ia(e,n,!1,!1),n.stateNode=e;e:{switch(o=ri(t,r),t){case"dialog":M("cancel",e),M("close",e),l=r;break;case"iframe":case"object":case"embed":M("load",e),l=r;break;case"video":case"audio":for(l=0;llt&&(n.flags|=128,r=!0,vt(i,!1),n.lanes=4194304)}else{if(!r)if(e=Kr(o),e!==null){if(n.flags|=128,r=!0,t=e.updateQueue,t!==null&&(n.updateQueue=t,n.flags|=4),vt(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!U)return te(n),null}else 2*Q()-i.renderingStartTime>lt&&t!==1073741824&&(n.flags|=128,r=!0,vt(i,!1),n.lanes=4194304);i.isBackwards?(o.sibling=n.child,n.child=o):(t=i.last,t!==null?t.sibling=o:n.child=o,i.last=o)}return i.tail!==null?(n=i.tail,i.rendering=n,i.tail=n.sibling,i.renderingStartTime=Q(),n.sibling=null,t=$.current,O($,r?t&1|2:t&1),n):(te(n),null);case 22:case 23:return No(),r=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(n.flags|=8192),r&&n.mode&1?me&1073741824&&(te(n),n.subtreeFlags&6&&(n.flags|=8192)):te(n),null;case 24:return null;case 25:return null}throw Error(y(156,n.tag))}function cd(e,n){switch(io(n),n.tag){case 1:return de(n.type)&&$r(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return tt(),I(fe),I(le),ho(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return mo(n),null;case 13:if(I($),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(y(340));et()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return I($),null;case 4:return tt(),null;case 10:return ao(n.type._context),null;case 22:case 23:return No(),null;case 24:return null;default:return null}}var hr=!1,re=!1,fd=typeof WeakSet=="function"?WeakSet:Set,k=null;function Wn(e,n){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(r){V(e,n,r)}else t.current=null}function Li(e,n,t){try{t()}catch(r){V(e,n,r)}}var Ru=!1;function dd(e,n){if(pi=Mr,e=Vs(),ro(e)){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var r=t.getSelection&&t.getSelection();if(r&&r.rangeCount!==0){t=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{t.nodeType,i.nodeType}catch{t=null;break e}var o=0,u=-1,s=-1,c=0,h=0,m=e,p=null;n:for(;;){for(var g;m!==t||l!==0&&m.nodeType!==3||(u=o+l),m!==i||r!==0&&m.nodeType!==3||(s=o+r),m.nodeType===3&&(o+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break n;if(p===t&&++c===l&&(u=o),p===i&&++h===r&&(s=o),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}t=u===-1||s===-1?null:{start:u,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(mi={focusedElem:e,selectionRange:t},Mr=!1,k=n;k!==null;)if(n=k,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,k=e;else for(;k!==null;){n=k;try{var w=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var S=w.memoizedProps,F=w.memoizedState,f=n.stateNode,a=f.getSnapshotBeforeUpdate(n.elementType===n.type?S:ze(n.type,S),F);f.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=n.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(v){V(n,n.return,v)}if(e=n.sibling,e!==null){e.return=n.return,k=e;break}k=n.return}return w=Ru,Ru=!1,w}function zt(e,n,t){var r=n.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&Li(n,t,i)}l=l.next}while(l!==r)}}function al(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function ji(e){var n=e.ref;if(n!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof n=="function"?n(e):n.current=e}}function $a(e){var n=e.alternate;n!==null&&(e.alternate=null,$a(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[Ie],delete n[At],delete n[yi],delete n[Gf],delete n[Xf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Ba(e){return e.tag===5||e.tag===3||e.tag===4}function Du(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Ba(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ri(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.nodeType===8?t.parentNode.insertBefore(e,n):t.insertBefore(e,n):(t.nodeType===8?(n=t.parentNode,n.insertBefore(e,t)):(n=t,n.appendChild(e)),t=t._reactRootContainer,t!=null||n.onclick!==null||(n.onclick=Ur));else if(r!==4&&(e=e.child,e!==null))for(Ri(e,n,t),e=e.sibling;e!==null;)Ri(e,n,t),e=e.sibling}function Di(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Di(e,n,t),e=e.sibling;e!==null;)Di(e,n,t),e=e.sibling}var q=null,Te=!1;function Ze(e,n,t){for(t=t.child;t!==null;)Aa(e,n,t),t=t.sibling}function Aa(e,n,t){if(Fe&&typeof Fe.onCommitFiberUnmount=="function")try{Fe.onCommitFiberUnmount(nl,t)}catch{}switch(t.tag){case 5:re||Wn(t,n);case 6:var r=q,l=Te;q=null,Ze(e,n,t),q=r,Te=l,q!==null&&(Te?(e=q,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):q.removeChild(t.stateNode));break;case 18:q!==null&&(Te?(e=q,t=t.stateNode,e.nodeType===8?Ml(e.parentNode,t):e.nodeType===1&&Ml(e,t),It(e)):Ml(q,t.stateNode));break;case 4:r=q,l=Te,q=t.stateNode.containerInfo,Te=!0,Ze(e,n,t),q=r,Te=l;break;case 0:case 11:case 14:case 15:if(!re&&(r=t.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&Li(t,n,o),l=l.next}while(l!==r)}Ze(e,n,t);break;case 1:if(!re&&(Wn(t,n),r=t.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(u){V(t,n,u)}Ze(e,n,t);break;case 21:Ze(e,n,t);break;case 22:t.mode&1?(re=(r=re)||t.memoizedState!==null,Ze(e,n,t),re=r):Ze(e,n,t);break;default:Ze(e,n,t)}}function Ou(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new fd),n.forEach(function(r){var l=kd.bind(null,e,r);t.has(r)||(t.add(r),r.then(l,l))})}}function Pe(e,n){var t=n.deletions;if(t!==null)for(var r=0;rl&&(l=o),r&=~i}if(r=l,r=Q()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*md(r/1960))-r,10e?16:e,tn===null)var r=!1;else{if(e=tn,tn=null,Jr=0,R&6)throw Error(y(331));var l=R;for(R|=4,k=e.current;k!==null;){var i=k,o=i.child;if(k.flags&16){var u=i.deletions;if(u!==null){for(var s=0;sQ()-Co?Cn(e,0):xo|=t),pe(e,n)}function Xa(e,n){n===0&&(e.mode&1?(n=or,or<<=1,!(or&130023424)&&(or=4194304)):n=1);var t=oe();e=Ye(e,n),e!==null&&(Xt(e,n,t),pe(e,t))}function Sd(e){var n=e.memoizedState,t=0;n!==null&&(t=n.retryLane),Xa(e,t)}function kd(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(n),Xa(e,t)}var Za;Za=function(e,n,t){if(e!==null)if(e.memoizedProps!==n.pendingProps||fe.current)ce=!0;else{if(!(e.lanes&t)&&!(n.flags&128))return ce=!1,sd(e,n,t);ce=!!(e.flags&131072)}else ce=!1,U&&n.flags&1048576&&bs(n,Vr,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;Nr(e,n),e=n.pendingProps;var l=bn(n,le.current);Zn(n,t),l=yo(null,n,r,e,l,t);var i=go();return n.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,de(r)?(i=!0,Br(n)):i=!1,n.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,fo(n),l.updater=ul,n.stateNode=l,l._reactInternals=n,xi(n,r,e,t),n=Ni(null,n,r,!0,i,t)):(n.tag=0,U&&i&&lo(n),ie(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(Nr(e,n),e=n.pendingProps,l=r._init,r=l(r._payload),n.type=r,l=n.tag=xd(r),e=ze(r,e),l){case 0:n=_i(null,n,r,e,t);break e;case 1:n=Tu(null,n,r,e,t);break e;case 11:n=Pu(null,n,r,e,t);break e;case 14:n=zu(null,n,r,ze(r.type,e),t);break e}throw Error(y(306,r,""))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:ze(r,l),_i(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:ze(r,l),Tu(e,n,r,l,t);case 3:e:{if(Da(n),e===null)throw Error(y(387));r=n.pendingProps,i=n.memoizedState,l=i.element,ra(e,n),Qr(n,r,null,t);var o=n.memoizedState;if(r=o.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},n.updateQueue.baseState=i,n.memoizedState=i,n.flags&256){l=rt(Error(y(423)),n),n=Lu(e,n,r,t,l);break e}else if(r!==l){l=rt(Error(y(424)),n),n=Lu(e,n,r,t,l);break e}else for(he=un(n.stateNode.containerInfo.firstChild),ve=n,U=!0,Le=null,t=ua(n,null,r,t),n.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(et(),r===l){n=Ge(e,n,t);break e}ie(e,n,r,t)}n=n.child}return n;case 5:return sa(n),e===null&&Si(n),r=n.type,l=n.pendingProps,i=e!==null?e.memoizedProps:null,o=l.children,hi(r,l)?o=null:i!==null&&hi(r,i)&&(n.flags|=32),Ra(e,n),ie(e,n,o,t),n.child;case 6:return e===null&&Si(n),null;case 13:return Oa(e,n,t);case 4:return po(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=nt(n,null,r,t):ie(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:ze(r,l),Pu(e,n,r,l,t);case 7:return ie(e,n,n.pendingProps,t),n.child;case 8:return ie(e,n,n.pendingProps.children,t),n.child;case 12:return ie(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,i=n.memoizedProps,o=l.value,O(Hr,r._currentValue),r._currentValue=o,i!==null)if(De(i.value,o)){if(i.children===l.children&&!fe.current){n=Ge(e,n,t);break e}}else for(i=n.child,i!==null&&(i.return=n);i!==null;){var u=i.dependencies;if(u!==null){o=i.child;for(var s=u.firstContext;s!==null;){if(s.context===r){if(i.tag===1){s=He(-1,t&-t),s.tag=2;var c=i.updateQueue;if(c!==null){c=c.shared;var h=c.pending;h===null?s.next=s:(s.next=h.next,h.next=s),c.pending=s}}i.lanes|=t,s=i.alternate,s!==null&&(s.lanes|=t),ki(i.return,t,n),u.lanes|=t;break}s=s.next}}else if(i.tag===10)o=i.type===n.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(y(341));o.lanes|=t,u=o.alternate,u!==null&&(u.lanes|=t),ki(o,t,n),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===n){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}ie(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,Zn(n,t),l=Ce(l),r=r(l),n.flags|=1,ie(e,n,r,t),n.child;case 14:return r=n.type,l=ze(r,n.pendingProps),l=ze(r.type,l),zu(e,n,r,l,t);case 15:return La(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:ze(r,l),Nr(e,n),n.tag=1,de(r)?(e=!0,Br(n)):e=!1,Zn(n,t),ia(n,r,l),xi(n,r,l,t),Ni(null,n,r,!0,e,t);case 19:return Ma(e,n,t);case 22:return ja(e,n,t)}throw Error(y(156,n.tag))};function Ja(e,n){return xs(e,n)}function Ed(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ee(e,n,t,r){return new Ed(e,n,t,r)}function zo(e){return e=e.prototype,!(!e||!e.isReactComponent)}function xd(e){if(typeof e=="function")return zo(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ki)return 11;if(e===Yi)return 14}return 2}function fn(e,n){var t=e.alternate;return t===null?(t=Ee(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function Tr(e,n,t,r,l,i){var o=2;if(r=e,typeof e=="function")zo(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case Mn:return _n(t.children,l,i,n);case Qi:o=8,l|=8;break;case Yl:return e=Ee(12,t,n,l|2),e.elementType=Yl,e.lanes=i,e;case Gl:return e=Ee(13,t,n,l),e.elementType=Gl,e.lanes=i,e;case Xl:return e=Ee(19,t,n,l),e.elementType=Xl,e.lanes=i,e;case os:return fl(t,l,i,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ls:o=10;break e;case is:o=9;break e;case Ki:o=11;break e;case Yi:o=14;break e;case Je:o=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return n=Ee(o,t,n,l),n.elementType=e,n.type=r,n.lanes=i,n}function _n(e,n,t,r){return e=Ee(7,e,r,n),e.lanes=t,e}function fl(e,n,t,r){return e=Ee(22,e,r,n),e.elementType=os,e.lanes=t,e.stateNode={isHidden:!1},e}function Hl(e,n,t){return e=Ee(6,e,null,n),e.lanes=t,e}function Wl(e,n,t){return n=Ee(4,e.children!==null?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function Cd(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cl(0),this.expirationTimes=Cl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function To(e,n,t,r,l,i,o,u,s){return e=new Cd(e,n,t,u,s),n===1?(n=1,i===!0&&(n|=8)):n=0,i=Ee(3,null,null,n),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},fo(i),e}function _d(e,n,t){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(nc)}catch(e){console.error(e)}}nc(),bu.exports=ge;var Ld=bu.exports,Vu=Ld;Ql.createRoot=Vu.createRoot,Ql.hydrateRoot=Vu.hydrateRoot;function jd(e){return N.jsxs("div",{className:"jewelry_item",children:[N.jsx("img",{src:e.picture,alt:e.name}),N.jsx("p",{children:e.name}),N.jsxs("p",{children:["Price: $",e.price]}),N.jsx("button",{onClick:()=>e.onAddToCart({name:e.name,price:e.price,picture:e.picture}),children:"Buy"})]})}const Rd=[{id:1,name:"Silver Diamond Bracelet",categories:["Bracelets"],price:"9,650",picture:"./Silver Diamond Bracelet.jpg"},{id:2,name:"Gold Diamond Bracelet",categories:["Bracelets"],price:"12,500",picture:"./Gold Diamond Bracelet.jpg"},{id:3,name:"Round Sapphire Ring",categories:["Rings"],price:"20,000",picture:"./Round Sapphire Ring.jpg"},{id:4,name:"Square Sapphire Ring",categories:["Rings"],price:"15,000",picture:"./Square Sapphire Ring.jpg"},{id:5,name:"Crown Sapphire Ring",categories:["bestSellers","Rings"],price:"15,000",picture:"./Crown Sapphire Ring.jpg"},{id:6,name:"Heart Ruby Ring",categories:["bestSellers","Rings"],price:"3,700",picture:"./Heart Ruby Ring.jpg"},{id:7,name:"Diamonds Cluster Ruby Ring",categories:["Rings"],price:"20,000",picture:"./Diamonds Cluster Ruby Ring.jpg"},{id:8,name:"Sapphire Earrings",categories:["bestSellers","Earrings"],price:"11,500",picture:"./Sapphire Earrings.jpg"},{id:9,name:"Pearl and Diamond Bubbles Earrings",categories:["bestSellers","Earrings"],price:"3,000",picture:"./Pearl and Diamond Bubbles Earrings.jpg"},{id:10,name:"Pearl and Diamond Drop Earrings",categories:["Earrings"],price:"3,150",picture:"./Pearl and Diamond Drop Earrings.jpg"},{id:11,name:"Twisted Gold Diamond Bracelet",categories:["Bracelets"],price:"12,500",picture:"./Twisted Gold Diamond Bracelet.jpg"}];function Dd({goToShoppingCart:e,onAddToCart:n}){const[t,r]=We.useState("bestSellers"),[l,i]=We.useState(!1),o=Rd.filter(s=>s.categories.includes(t)),u=s=>{r(s),i(!0)};return N.jsxs("div",{className:"landing_page",children:[N.jsxs("div",{className:"navBar",children:[N.jsxs("div",{className:"left_buttons",children:[N.jsx("button",{onClick:()=>u("bestSellers"),children:"Best Sellers"}),N.jsx("button",{onClick:()=>u("Bracelets"),children:"Bracelets"}),N.jsx("button",{onClick:()=>u("Rings"),children:"Rings"}),N.jsx("button",{onClick:()=>u("Earrings"),children:"Earrings"})]}),N.jsx("div",{className:"right_buttons",children:N.jsx("button",{onClick:e,children:N.jsx("img",{src:"./shopping cart.png",alt:"shopping cart"})})})]}),l?N.jsx("div",{className:"product_section",children:N.jsxs("div",{className:"title",children:[N.jsx("h3",{children:t==="bestSellers"?"Best Sellers":t}),N.jsx("div",{className:"product_Gallery",children:o.map(s=>N.jsx(jd,{name:s.name,price:s.price,picture:s.picture,onAddToCart:n},s.id))})]})}):N.jsxs("div",{className:"default_page",children:[N.jsx("img",{src:"./landingpageimage3.jpg",className:"image3"}),N.jsxs("div",{className:"text_section",children:[N.jsx("p",{children:'"Shall I compare thee to a gem so rare?'}),N.jsx("p",{children:"Thou art more lovely and more fair."}),N.jsx("p",{children:"In every jewel, your grace does shine,"}),N.jsx("p",{children:'A symbol of love, forever thine."'})]})]})]})}function Od({shoppingCart:e}){const[n,t]=We.useState({name:"",address:"",cardNumber:""}),[r,l]=We.useState(!1),i=e.reduce((s,c)=>s+Number(c.price),0),o=s=>{const{name:c,value:h}=s.target;r&&l(!1),t({...n,[c]:h})},u=s=>{s.preventDefault(),t({name:"",address:"",cardNumber:""}),l(!0),console.log("Form submitted with data:",n)};return N.jsxs("div",{className:"shopping_cart",children:[N.jsxs("div",{className:"items_section",children:[N.jsx("h2",{children:"Items"}),N.jsx("ul",{className:"ul_style",children:e.map(s=>N.jsx("li",{children:N.jsxs("div",{className:"item_container",children:[N.jsx("img",{src:s.picture,alt:s.name,className:"item_image"}),N.jsxs("div",{className:"item_info",children:[N.jsx("p",{className:"item_name",children:s.name}),N.jsxs("p",{className:"item_price",children:["$",s.price]})]})]})},s.id))}),N.jsxs("h3",{className:"total_price",children:["Total Price: $",i]})]}),N.jsxs("div",{className:"checkout_section",children:[N.jsx("h2",{children:"Checkout"}),N.jsxs("form",{onSubmit:u,children:[N.jsxs("label",{children:["Name:",N.jsx("input",{type:"text",name:"name",value:n.name,onChange:o})]}),N.jsxs("label",{children:["Address:",N.jsx("input",{type:"text",name:"address",value:n.address,onChange:o})]}),N.jsxs("label",{children:["Card Number:",N.jsx("input",{type:"text",name:"cardNumber",value:n.cardNumber,onChange:o})]}),N.jsx("button",{type:"submit",children:"Submit"})]}),r&&N.jsx("div",{className:"success_message",children:"Success!"})]})]})}function Md(){const[e,n]=We.useState(!1),t=()=>{n(!0)},[r,l]=We.useState([]),i=o=>{o.price=parseFloat(o.price.replace(/,/g,"")),l([...r,o])};return N.jsx(N.Fragment,{children:N.jsx("div",{children:e?N.jsx(Od,{shoppingCart:r}):N.jsx(Dd,{goToShoppingCart:t,onAddToCart:i})})})}Ql.createRoot(document.getElementById("root")).render(N.jsx(wc.StrictMode,{children:N.jsx(Md,{})})); diff --git a/dist/assets/index-5e0a2b77.css b/dist/assets/index-5e0a2b77.css new file mode 100644 index 0000000..a635b6d --- /dev/null +++ b/dist/assets/index-5e0a2b77.css @@ -0,0 +1 @@ +#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.jewelry_item{width:calc(25% - 20px);margin-bottom:20px;text-align:center}@media (max-width: 768px){.jewelry_item{width:calc(50% - 20px)}}.jewelry_item img{max-width:100%;height:auto}.jewelry_item p{margin:5px 0;font-size:14px;font-family:Georgia,Times New Roman,Times,serif}.jewelry_item button{padding:5px 10px;font-size:12px}.landing_page{display:flex;flex-direction:column;margin:0;padding:0}.navBar{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #ccc;padding:10px 0;height:30px}.left_buttons{display:flex;margin-top:0;padding-top:0}.left_buttons button{background:none;border:none;margin-right:20px;cursor:pointer;padding:5px 10px;font-size:18px;font-family:Georgia,Times New Roman,Times,serif}.left_buttons button:hover{text-decoration:underline}.right_buttons button{background:none;border:none;cursor:pointer}.right_buttons button img{width:30px;height:auto}.default_page{display:flex;flex-direction:column;margin:0;padding:0}.text_section{width:50%;margin-left:50px;padding:0;text-align:left;line-height:.8;font-size:18px;font-family:Cambria,Cochin,Georgia,Times,Times New Roman,serif}.image3{width:100vw;max-width:100%;margin-top:20px}.product_section{margin-top:20px;padding:20px;border:1px solid #ddd;display:flex;flex-direction:column}.title{font-size:24px;text-align:left;margin-bottom:20px;font-family:Lucida Sans,Lucida Sans Regular,Lucida Grande,Lucida Sans Unicode,Geneva,Verdana,sans-serif}.product_Gallery{display:flex;flex-wrap:wrap;justify-content:space-between}.shopping_cart{display:flex;justify-content:space-between;align-items:flex-start;min-height:100vh;margin-top:0}.checkout_section:after{content:"";position:absolute;top:0;right:0;bottom:0;left:50%;background:url(./landingpageimage1.jpg) no-repeat center center;background-size:cover;opacity:.1;z-index:-1}.items_section{font-family:Georgia,Times New Roman,Times,serif;flex:1;padding-right:90px;align-self:flex-start;margin-top:0}.ul_style,.items_section ul{list-style:none;padding:0}.checkout_section{font-family:Georgia,Times New Roman,Times,serif;flex:1;padding-left:150px;align-self:flex-start}.item_container{display:flex;align-items:center;width:100%}.item_image{width:90px;height:auto;margin-right:10px}.item_info{display:flex;flex-grow:1;justify-content:space-between}.item_name{font-family:Georgia,Times New Roman,Times,serif}.total_price{font-size:18px;font-family:Georgia,Times New Roman,Times,serif;font-weight:700;margin-top:20px}.checkout_section form{display:flex;flex-direction:column}.checkout_section label{margin-bottom:10px;color:#333}.checkout_section input[type=text]{padding:8px;margin-top:5px;border:1px solid #ccc;border-radius:4px}.checkout_section button{padding:2px 5px;font-size:18px;border:1px solid #ccc;width:100px;height:auto;box-sizing:border-box;justify-content:center;align-items:center;margin-left:120px;margin-top:20px}.success_message{font-weight:700;color:red}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}} diff --git a/dist/index.html b/dist/index.html new file mode 100644 index 0000000..8f9b59e --- /dev/null +++ b/dist/index.html @@ -0,0 +1,15 @@ + + + + + + + Vite + React + + + + +
+ + + diff --git a/dist/logo.png b/dist/logo.png new file mode 100644 index 0000000..a7e0859 Binary files /dev/null and b/dist/logo.png differ diff --git a/package.json b/package.json index f46c43f..5ce9942 100644 --- a/package.json +++ b/package.json @@ -1,4 +1,5 @@ { + "homepage": "https://phyllispp.github.io/project1-3.2/", "name": "project1-3.2", "private": true, "version": "0.0.0", diff --git a/photos/Crown Sapphire Ring.jpg b/photos/Crown Sapphire Ring.jpg new file mode 100644 index 0000000..88a3150 Binary files /dev/null and b/photos/Crown Sapphire Ring.jpg differ diff --git a/photos/Diamonds Cluster Ruby Ring.jpg b/photos/Diamonds Cluster Ruby Ring.jpg new file mode 100644 index 0000000..fc1b22b Binary files /dev/null and b/photos/Diamonds Cluster Ruby Ring.jpg differ diff --git a/photos/Gold Diamond Bracelet.jpg b/photos/Gold Diamond Bracelet.jpg new file mode 100644 index 0000000..58823bc Binary files /dev/null and b/photos/Gold Diamond Bracelet.jpg differ diff --git a/photos/Heart Ruby Ring.jpg b/photos/Heart Ruby Ring.jpg new file mode 100644 index 0000000..20e73d6 Binary files /dev/null and b/photos/Heart Ruby Ring.jpg differ diff --git a/photos/Pearl and Diamond Bubbles Earrings.jpg b/photos/Pearl and Diamond Bubbles Earrings.jpg new file mode 100644 index 0000000..a3cd9dc Binary files /dev/null and b/photos/Pearl and Diamond Bubbles Earrings.jpg differ diff --git a/photos/Pearl and Diamond Drop Earrings.jpg b/photos/Pearl and Diamond Drop Earrings.jpg new file mode 100644 index 0000000..731b3f1 Binary files /dev/null and b/photos/Pearl and Diamond Drop Earrings.jpg differ diff --git a/photos/Round Sapphire Ring.jpg b/photos/Round Sapphire Ring.jpg new file mode 100644 index 0000000..41f2251 Binary files /dev/null and b/photos/Round Sapphire Ring.jpg differ diff --git a/photos/Sapphire Earrings.jpg b/photos/Sapphire Earrings.jpg new file mode 100644 index 0000000..49ce574 Binary files /dev/null and b/photos/Sapphire Earrings.jpg differ diff --git a/photos/Silver Diamond Bracelet.jpg b/photos/Silver Diamond Bracelet.jpg new file mode 100644 index 0000000..ff691d5 Binary files /dev/null and b/photos/Silver Diamond Bracelet.jpg differ diff --git a/photos/Square Sapphire Ring.jpg b/photos/Square Sapphire Ring.jpg new file mode 100644 index 0000000..fd87d61 Binary files /dev/null and b/photos/Square Sapphire Ring.jpg differ diff --git a/photos/Twisted Gold Diamond Bracelet.jpg b/photos/Twisted Gold Diamond Bracelet.jpg new file mode 100644 index 0000000..67e0856 Binary files /dev/null and b/photos/Twisted Gold Diamond Bracelet.jpg differ diff --git a/photos/landingpageimage1.jpg b/photos/landingpageimage1.jpg new file mode 100644 index 0000000..100f452 Binary files /dev/null and b/photos/landingpageimage1.jpg differ diff --git a/photos/landingpageimage2.jpg b/photos/landingpageimage2.jpg new file mode 100644 index 0000000..f7a7fdb Binary files /dev/null and b/photos/landingpageimage2.jpg differ diff --git a/photos/landingpageimage3.jpg b/photos/landingpageimage3.jpg new file mode 100644 index 0000000..2d3259a Binary files /dev/null and b/photos/landingpageimage3.jpg differ diff --git a/photos/shopping cart.png b/photos/shopping cart.png new file mode 100644 index 0000000..d633952 Binary files /dev/null and b/photos/shopping cart.png differ diff --git a/src/App.jsx b/src/App.jsx index e033eca..4839ba7 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,17 +1,34 @@ -import logo from "/logo.png"; import "./App.css"; +import { useState } from "react"; +import LandingPage from "./LandingPage.jsx"; +import ShoppingCart from "./Shoppingcart.jsx"; function App() { + //for switching pages between landingpage and shoppingcart + const [showShoppingCart, setShowShoppingCart] = useState(false); + const goToShoppingCart = () => { + setShowShoppingCart(true); + }; + + //for adding jewelries into the shopping cart + const [shoppingCart, setshoppingCart] = useState([]); + const handleAddToCart = (item) => { + item.price = parseFloat(item.price.replace(/,/g, "")); + setshoppingCart([...shoppingCart, item]); + }; + return ( <>
- logo -
-

Project 1

-
-

- Edit src/App.js and save to reload. -

+ {showShoppingCart ? ( + + ) : ( + + )} + {/* */}
); diff --git a/src/JewelryData.js b/src/JewelryData.js new file mode 100644 index 0000000..ff4d59b --- /dev/null +++ b/src/JewelryData.js @@ -0,0 +1,83 @@ +//best sellers, bracelets, rings, earrings + +const jewelryItems = [ + { + id: 1, + name: "Silver Diamond Bracelet", + categories: ["Bracelets"], + price: "9,650", + picture: "./photos/Silver Diamond Bracelet.jpg", + }, + { + id: 2, + name: "Gold Diamond Bracelet", + categories: ["Bracelets"], + price: "12,500", + picture: "./photos/Gold Diamond Bracelet.jpg", + }, + { + id: 3, + name: "Round Sapphire Ring", + categories: ["Rings"], + price: "20,000", + picture: "./photos/Round Sapphire Ring.jpg", + }, + { + id: 4, + name: "Square Sapphire Ring", + categories: ["Rings"], + price: "15,000", + picture: "./photos/Square Sapphire Ring.jpg", + }, + { + id: 5, + name: "Crown Sapphire Ring", + categories: ["bestSellers", "Rings"], + price: "15,000", + picture: "./photos/Crown Sapphire Ring.jpg", + }, + { + id: 6, + name: "Heart Ruby Ring", + categories: ["bestSellers", "Rings"], + price: "3,700", + picture: "./photos/Heart Ruby Ring.jpg", + }, + { + id: 7, + name: "Diamonds Cluster Ruby Ring", + categories: ["Rings"], + price: "20,000", + picture: "./photos/Diamonds Cluster Ruby Ring.jpg", + }, + { + id: 8, + name: "Sapphire Earrings", + categories: ["bestSellers", "Earrings"], + price: "11,500", + picture: "./photos/Sapphire Earrings.jpg", + }, + { + id: 9, + name: "Pearl and Diamond Bubbles Earrings", + categories: ["bestSellers", "Earrings"], + price: "3,000", + picture: "./photos/Pearl and Diamond Bubbles Earrings.jpg", + }, + { + id: 10, + name: "Pearl and Diamond Drop Earrings", + categories: ["Earrings"], + price: "3,150", + picture: "./photos/Pearl and Diamond Drop Earrings.jpg", + }, + { + id: 11, + name: "Twisted Gold Diamond Bracelet", + categories: ["Bracelets"], + price: "12,500", + picture: "./photos/Twisted Gold Diamond Bracelet.jpg", + }, +]; + +export default jewelryItems; diff --git a/src/JewelryItems.css b/src/JewelryItems.css new file mode 100644 index 0000000..1a145d0 --- /dev/null +++ b/src/JewelryItems.css @@ -0,0 +1,26 @@ +.jewelry_item { + width: calc(25% - 20px); + margin-bottom: 20px; + text-align: center; +} +@media (max-width: 768px) { + .jewelry_item { + width: calc(50% - 20px); + } +} + +.jewelry_item img { + max-width: 100%; + height: auto; +} + +.jewelry_item p { + margin: 5px 0; + font-size: 14px; + font-family: Georgia, "Times New Roman", Times, serif; +} + +.jewelry_item button { + padding: 5px 10px; + font-size: 12px; +} diff --git a/src/JewelryItems.jsx b/src/JewelryItems.jsx new file mode 100644 index 0000000..99621b7 --- /dev/null +++ b/src/JewelryItems.jsx @@ -0,0 +1,24 @@ +// import React from "react"; +import "./JewelryItems.css"; + +function JewelryItem(props) { + return ( +
+ {props.name} +

{props.name}

+

Price: ${props.price}

+ +
+ ); +} +export default JewelryItem; diff --git a/src/LandingPage.jsx b/src/LandingPage.jsx new file mode 100644 index 0000000..d45cb16 --- /dev/null +++ b/src/LandingPage.jsx @@ -0,0 +1,80 @@ +import { useState } from "react"; +import JewelryItem from "./JewelryItems"; +import jewelryItems from "./JewelryData"; +import "./landingPage.css"; + +function LandingPage({ goToShoppingCart, onAddToCart }) { + const [selectedCategory, setSelectedCategory] = useState("bestSellers"); + + const [showJewelryItems, setShowJewelryItems] = useState(false); + + const filteredJewelryItems = jewelryItems.filter((item) => + item.categories.includes(selectedCategory) + ); + + const handleCategoryClick = (category) => { + setSelectedCategory(category); + setShowJewelryItems(true); + }; + + return ( +
+ {/* Navbar */} +
+
+ + + + +
+
+ +
+
+ + {/* product section*/} + {showJewelryItems ? ( +
+
+

+ {selectedCategory === "bestSellers" + ? "Best Sellers" + : selectedCategory} +

+
+ {filteredJewelryItems.map((item) => ( + + ))} +
+
+
+ ) : ( +
+ +
+

`Shall I compare thee to a gem so rare?

+

Thou art more lovely and more fair.

+

In every jewel, your grace does shine,

+

A symbol of love, forever thine.`

+
+
+ )} +
+ ); +} + +export default LandingPage; diff --git a/src/Shoppingcart.jsx b/src/Shoppingcart.jsx new file mode 100644 index 0000000..77f6070 --- /dev/null +++ b/src/Shoppingcart.jsx @@ -0,0 +1,102 @@ +import { useState } from "react"; +import "./cart.css"; + +function ShoppingCart({ shoppingCart }) { + const [formData, setFormData] = useState({ + name: "", + address: "", + cardNumber: "", + }); + + const [submitted, setSubmitted] = useState(false); + + const totalPrice = shoppingCart.reduce( + (total, item) => total + Number(item.price), + 0 + ); + + const handleFormChange = (e) => { + const { name, value } = e.target; + if (submitted) setSubmitted(false); + setFormData({ ...formData, [name]: value }); + }; + + const handleSubmit = (e) => { + e.preventDefault(); + setFormData({ + name: "", + address: "", + cardNumber: "", + }); + setSubmitted(true); + console.log("Form submitted with data:", formData); + }; + + return ( +
+
+

Items

+
    + {shoppingCart.map((item) => ( +
  • +
    + {item.name} +
    +

    {item.name}

    +

    ${item.price}

    +
    +
    +
  • + ))} +
+

Total Price: ${totalPrice}

+
+
+

Checkout

+
+ + + + +
+ {submitted &&
Success!
} +
+
+ ); +} + +export default ShoppingCart; diff --git a/src/bootcamp.code-workspace b/src/bootcamp.code-workspace new file mode 100644 index 0000000..e38ec91 --- /dev/null +++ b/src/bootcamp.code-workspace @@ -0,0 +1,23 @@ +{ + "folders": [ + { + "path": "../.." + }, + { + "path": "../../world-clock-bootcamp" + }, + { + "path": "../../world-clock-3.2" + }, + { + "path": "../../high-card-3.2" + }, + { + "path": "../../guess-the-word-3.2" + }, + { + "path": ".." + } + ], + "settings": {} +} diff --git a/src/cart.css b/src/cart.css new file mode 100644 index 0000000..5dfdd10 --- /dev/null +++ b/src/cart.css @@ -0,0 +1,103 @@ +.shopping_cart { + display: flex; + justify-content: space-between; + align-items: flex-start; + min-height: 100vh; + margin-top: 0; +} + +.checkout_section::after { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 50%; + background: url("./photos/landingpageimage1.jpg") no-repeat center center; + background-size: cover; + opacity: 0.1; + z-index: -1; +} + +.items_section { + font-family: Georgia, "Times New Roman", Times, serif; + flex: 1; + padding-right: 90px; + align-self: flex-start; + margin-top: 0; +} +.ul_style { + list-style: none; + padding: 0; +} + +.items_section ul { + list-style: none; + padding: 0; +} +.checkout_section { + font-family: Georgia, "Times New Roman", Times, serif; + flex: 1; + padding-left: 150px; + align-self: flex-start; +} + +.item_container { + display: flex; + align-items: center; + width: 100%; +} + +.item_image { + width: 90px; + height: auto; + margin-right: 10px; +} +.item_info { + display: flex; + flex-grow: 1; + justify-content: space-between; +} + +.item_name { + font-family: Georgia, "Times New Roman", Times, serif; +} + +.total_price { + font-size: 18px; + font-family: Georgia, "Times New Roman", Times, serif; + font-weight: bold; + margin-top: 20px; +} +.checkout_section form { + display: flex; + flex-direction: column; +} + +.checkout_section label { + margin-bottom: 10px; + color: #333; +} + +.checkout_section input[type="text"] { + padding: 8px; + margin-top: 5px; + border: 1px solid #ccc; + border-radius: 4px; +} +.checkout_section button { + padding: 2px 5px; + font-size: 18px; + border: 1px solid #ccc; + width: 100px; + height: auto; + box-sizing: border-box; + justify-content: center; + align-items: center; + margin-left: 120px; + margin-top: 20px; +} +.success_message { + font-weight: bold; + color: red; +} diff --git a/src/landingPage.css b/src/landingPage.css new file mode 100644 index 0000000..1b22711 --- /dev/null +++ b/src/landingPage.css @@ -0,0 +1,92 @@ +.landing_page { + display: flex; + flex-direction: column; + margin: 0; + padding: 0; +} + +.navBar { + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 2px solid #ccc; + padding: 10px 0; + height: 30px; +} + +.left_buttons { + display: flex; + margin-top: 0; + padding-top: 0; +} + +.left_buttons button { + background: none; + border: none; + margin-right: 20px; /* Add spacing between buttons */ + cursor: pointer; + padding: 5px 10px; + font-size: 18px; + font-family: Georgia, "Times New Roman", Times, serif; +} + +.left_buttons button:hover { + text-decoration: underline; /* Underline on hover */ +} + +.right_buttons button { + background: none; + border: none; + cursor: pointer; +} + +.right_buttons button img { + width: 30px; + height: auto; +} + +.default_page { + display: flex; + flex-direction: column; + margin-bottom: 20px; + margin: 0; + padding: 0; +} + +.text_section { + width: 50%; + margin-left: 50px; + padding: 0; + text-align: left; + line-height: 0.8; + font-size: 18px; + font-family: Cambria, Cochin, Georgia, Times, "Times New Roman", serif; +} + +.image3 { + width: 100vw; + max-width: 100%; + margin-top: 20px; +} + +.product_section { + margin-top: 20px; + padding: 20px; + border: 1px solid #ddd; + display: flex; + flex-direction: column; +} + +.title { + font-size: 24px; + text-align: left; + margin-bottom: 20px; + font-family: "Lucida Sans", "Lucida Sans Regular", "Lucida Grande", + "Lucida Sans Unicode", Geneva, Verdana, sans-serif; +} + +.product_Gallery { + display: flex; + flex-wrap: wrap; + justify-content: space-between; +} diff --git a/src/main.jsx b/src/main.jsx index 54b39dd..b91620d 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -1,10 +1,10 @@ -import React from 'react' -import ReactDOM from 'react-dom/client' -import App from './App.jsx' -import './index.css' +import React from "react"; +import ReactDOM from "react-dom/client"; +import App from "./App.jsx"; +import "./index.css"; -ReactDOM.createRoot(document.getElementById('root')).render( +ReactDOM.createRoot(document.getElementById("root")).render( - , -) + +); diff --git a/vite.config.js b/vite.config.js index 5a33944..89729e4 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,7 +1,10 @@ -import { defineConfig } from 'vite' -import react from '@vitejs/plugin-react' +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react"; // https://vitejs.dev/config/ export default defineConfig({ + base: "/project1-3.2/", plugins: [react()], -}) +}); + +// http://localhost:5173/project1-3.2/