diff --git a/client/.env.example b/client/.env.example index ab96d01..43fb12f 100644 --- a/client/.env.example +++ b/client/.env.example @@ -1 +1 @@ -REACT_APP_API_URL=https://5000-niharika0104-trendtrove-zl4t2ond4v2.ws-us114.gitpod.io \ No newline at end of file +REACT_APP_API_URL= \ No newline at end of file diff --git a/client/dist/output.css b/client/dist/output.css deleted file mode 100644 index aff2e0c..0000000 --- a/client/dist/output.css +++ /dev/null @@ -1,1381 +0,0 @@ -/* -! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com -*/ - -/* -1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) -2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) -*/ - -*, -::before, -::after { - box-sizing: border-box; - /* 1 */ - border-width: 0; - /* 2 */ - border-style: solid; - /* 2 */ - border-color: #e5e7eb; - /* 2 */ -} - -::before, -::after { - --tw-content: ''; -} - -/* -1. Use a consistent sensible line-height in all browsers. -2. Prevent adjustments of font size after orientation changes in iOS. -3. Use a more readable tab size. -4. Use the user's configured `sans` font-family by default. -5. Use the user's configured `sans` font-feature-settings by default. -6. Use the user's configured `sans` font-variation-settings by default. -7. Disable tap highlights on iOS -*/ - -html, -:host { - line-height: 1.5; - /* 1 */ - -webkit-text-size-adjust: 100%; - /* 2 */ - /* 3 */ - tab-size: 4; - /* 3 */ - font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - /* 4 */ - font-feature-settings: normal; - /* 5 */ - font-variation-settings: normal; - /* 6 */ - -webkit-tap-highlight-color: transparent; - /* 7 */ -} - -/* -1. Remove the margin in all browsers. -2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. -*/ - -body { - margin: 0; - /* 1 */ - line-height: inherit; - /* 2 */ -} - -/* -1. Add the correct height in Firefox. -2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) -3. Ensure horizontal rules are visible by default. -*/ - -hr { - height: 0; - /* 1 */ - color: inherit; - /* 2 */ - border-top-width: 1px; - /* 3 */ -} - -/* -Add the correct text decoration in Chrome, Edge, and Safari. -*/ - -abbr:where([title]) { - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; -} - -/* -Remove the default font size and weight for headings. -*/ - -h1, -h2, -h3, -h4, -h5, -h6 { - font-size: inherit; - font-weight: inherit; -} - -/* -Reset links to optimize for opt-in styling instead of opt-out. -*/ - -a { - color: inherit; - text-decoration: inherit; -} - -/* -Add the correct font weight in Edge and Safari. -*/ - -b, -strong { - font-weight: bolder; -} - -/* -1. Use the user's configured `mono` font-family by default. -2. Use the user's configured `mono` font-feature-settings by default. -3. Use the user's configured `mono` font-variation-settings by default. -4. Correct the odd `em` font sizing in all browsers. -*/ - -code, -kbd, -samp, -pre { - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - /* 1 */ - font-feature-settings: normal; - /* 2 */ - font-variation-settings: normal; - /* 3 */ - font-size: 1em; - /* 4 */ -} - -/* -Add the correct font size in all browsers. -*/ - -small { - font-size: 80%; -} - -/* -Prevent `sub` and `sup` elements from affecting the line height in all browsers. -*/ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* -1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) -2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) -3. Remove gaps between table borders by default. -*/ - -table { - text-indent: 0; - /* 1 */ - border-color: inherit; - /* 2 */ - border-collapse: collapse; - /* 3 */ -} - -/* -1. Change the font styles in all browsers. -2. Remove the margin in Firefox and Safari. -3. Remove default padding in all browsers. -*/ - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; - /* 1 */ - font-feature-settings: inherit; - /* 1 */ - font-variation-settings: inherit; - /* 1 */ - font-size: 100%; - /* 1 */ - font-weight: inherit; - /* 1 */ - line-height: inherit; - /* 1 */ - letter-spacing: inherit; - /* 1 */ - color: inherit; - /* 1 */ - margin: 0; - /* 2 */ - padding: 0; - /* 3 */ -} - -/* -Remove the inheritance of text transform in Edge and Firefox. -*/ - -button, -select { - text-transform: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Remove default button styles. -*/ - -button, -input:where([type='button']), -input:where([type='reset']), -input:where([type='submit']) { - -webkit-appearance: button; - /* 1 */ - background-color: transparent; - /* 2 */ - background-image: none; - /* 2 */ -} - -/* -Use the modern Firefox focus style for all focusable elements. -*/ - -:-moz-focusring { - outline: auto; -} - -/* -Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) -*/ - -:-moz-ui-invalid { - box-shadow: none; -} - -/* -Add the correct vertical alignment in Chrome and Firefox. -*/ - -progress { - vertical-align: baseline; -} - -/* -Correct the cursor style of increment and decrement buttons in Safari. -*/ - -::-webkit-inner-spin-button, -::-webkit-outer-spin-button { - height: auto; -} - -/* -1. Correct the odd appearance in Chrome and Safari. -2. Correct the outline style in Safari. -*/ - -[type='search'] { - -webkit-appearance: textfield; - /* 1 */ - outline-offset: -2px; - /* 2 */ -} - -/* -Remove the inner padding in Chrome and Safari on macOS. -*/ - -::-webkit-search-decoration { - -webkit-appearance: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Change font properties to `inherit` in Safari. -*/ - -::-webkit-file-upload-button { - -webkit-appearance: button; - /* 1 */ - font: inherit; - /* 2 */ -} - -/* -Add the correct display in Chrome and Safari. -*/ - -summary { - display: list-item; -} - -/* -Removes the default spacing and border for appropriate elements. -*/ - -blockquote, -dl, -dd, -h1, -h2, -h3, -h4, -h5, -h6, -hr, -figure, -p, -pre { - margin: 0; -} - -fieldset { - margin: 0; - padding: 0; -} - -legend { - padding: 0; -} - -ol, -ul, -menu { - list-style: none; - margin: 0; - padding: 0; -} - -/* -Reset default styling for dialogs. -*/ - -dialog { - padding: 0; -} - -/* -Prevent resizing textareas horizontally by default. -*/ - -textarea { - resize: vertical; -} - -/* -1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) -2. Set the default placeholder color to the user's configured gray 400 color. -*/ - -input::placeholder, -textarea::placeholder { - opacity: 1; - /* 1 */ - color: #9ca3af; - /* 2 */ -} - -/* -Set the default cursor for buttons. -*/ - -button, -[role="button"] { - cursor: pointer; -} - -/* -Make sure disabled buttons don't get the pointer cursor. -*/ - -:disabled { - cursor: default; -} - -/* -1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) -2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) - This can trigger a poorly considered lint error in some tools but is included by design. -*/ - -img, -svg, -video, -canvas, -audio, -iframe, -embed, -object { - display: block; - /* 1 */ - vertical-align: middle; - /* 2 */ -} - -/* -Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) -*/ - -img, -video { - max-width: 100%; - height: auto; -} - -/* Make elements with the HTML hidden attribute stay hidden by default */ - -[hidden] { - display: none; -} - -*, ::before, ::after { - --tw-border-spacing-x: 0; - --tw-border-spacing-y: 0; - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - --tw-pan-x: ; - --tw-pan-y: ; - --tw-pinch-zoom: ; - --tw-scroll-snap-strictness: proximity; - --tw-gradient-from-position: ; - --tw-gradient-via-position: ; - --tw-gradient-to-position: ; - --tw-ordinal: ; - --tw-slashed-zero: ; - --tw-numeric-figure: ; - --tw-numeric-spacing: ; - --tw-numeric-fraction: ; - --tw-ring-inset: ; - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - --tw-blur: ; - --tw-brightness: ; - --tw-contrast: ; - --tw-grayscale: ; - --tw-hue-rotate: ; - --tw-invert: ; - --tw-saturate: ; - --tw-sepia: ; - --tw-drop-shadow: ; - --tw-backdrop-blur: ; - --tw-backdrop-brightness: ; - --tw-backdrop-contrast: ; - --tw-backdrop-grayscale: ; - --tw-backdrop-hue-rotate: ; - --tw-backdrop-invert: ; - --tw-backdrop-opacity: ; - --tw-backdrop-saturate: ; - --tw-backdrop-sepia: ; - --tw-contain-size: ; - --tw-contain-layout: ; - --tw-contain-paint: ; - --tw-contain-style: ; -} - -::backdrop { - --tw-border-spacing-x: 0; - --tw-border-spacing-y: 0; - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - --tw-pan-x: ; - --tw-pan-y: ; - --tw-pinch-zoom: ; - --tw-scroll-snap-strictness: proximity; - --tw-gradient-from-position: ; - --tw-gradient-via-position: ; - --tw-gradient-to-position: ; - --tw-ordinal: ; - --tw-slashed-zero: ; - --tw-numeric-figure: ; - --tw-numeric-spacing: ; - --tw-numeric-fraction: ; - --tw-ring-inset: ; - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - --tw-blur: ; - --tw-brightness: ; - --tw-contrast: ; - --tw-grayscale: ; - --tw-hue-rotate: ; - --tw-invert: ; - --tw-saturate: ; - --tw-sepia: ; - --tw-drop-shadow: ; - --tw-backdrop-blur: ; - --tw-backdrop-brightness: ; - --tw-backdrop-contrast: ; - --tw-backdrop-grayscale: ; - --tw-backdrop-hue-rotate: ; - --tw-backdrop-invert: ; - --tw-backdrop-opacity: ; - --tw-backdrop-saturate: ; - --tw-backdrop-sepia: ; - --tw-contain-size: ; - --tw-contain-layout: ; - --tw-contain-paint: ; - --tw-contain-style: ; -} - -.container { - width: 100%; -} - -@media (min-width: 640px) { - .container { - max-width: 640px; - } -} - -@media (min-width: 768px) { - .container { - max-width: 768px; - } -} - -@media (min-width: 1024px) { - .container { - max-width: 1024px; - } -} - -@media (min-width: 1280px) { - .container { - max-width: 1280px; - } -} - -@media (min-width: 1536px) { - .container { - max-width: 1536px; - } -} - -.fixed { - position: fixed; -} - -.absolute { - position: absolute; -} - -.relative { - position: relative; -} - -.sticky { - position: -webkit-sticky; - position: sticky; -} - -.inset-0 { - inset: 0px; -} - -.right-0 { - right: 0px; -} - -.right-2 { - right: 0.5rem; -} - -.right-3 { - right: 0.75rem; -} - -.top-0 { - top: 0px; -} - -.top-1\/2 { - top: 50%; -} - -.top-2 { - top: 0.5rem; -} - -.z-50 { - z-index: 50; -} - -.m-5 { - margin: 1.25rem; -} - -.mx-2 { - margin-left: 0.5rem; - margin-right: 0.5rem; -} - -.mx-5 { - margin-left: 1.25rem; - margin-right: 1.25rem; -} - -.mx-auto { - margin-left: auto; - margin-right: auto; -} - -.my-2 { - margin-top: 0.5rem; - margin-bottom: 0.5rem; -} - -.my-auto { - margin-top: auto; - margin-bottom: auto; -} - -.mb-5 { - margin-bottom: 1.25rem; -} - -.mb-6 { - margin-bottom: 1.5rem; -} - -.mr-2 { - margin-right: 0.5rem; -} - -.mr-5 { - margin-right: 1.25rem; -} - -.mt-2 { - margin-top: 0.5rem; -} - -.mt-20 { - margin-top: 5rem; -} - -.mt-24 { - margin-top: 6rem; -} - -.mt-5 { - margin-top: 1.25rem; -} - -.mt-6 { - margin-top: 1.5rem; -} - -.mt-8 { - margin-top: 2rem; -} - -.mt-9 { - margin-top: 2.25rem; -} - -.block { - display: block; -} - -.inline { - display: inline; -} - -.flex { - display: flex; -} - -.grid { - display: grid; -} - -.hidden { - display: none; -} - -.h-10 { - height: 2.5rem; -} - -.h-24 { - height: 6rem; -} - -.h-3 { - height: 0.75rem; -} - -.h-5\/6 { - height: 83.333333%; -} - -.h-52 { - height: 13rem; -} - -.h-6 { - height: 1.5rem; -} - -.h-9 { - height: 2.25rem; -} - -.h-\[400px\] { - height: 400px; -} - -.h-full { - height: 100%; -} - -.h-screen { - height: 100vh; -} - -.w-1\/2 { - width: 50%; -} - -.w-40 { - width: 10rem; -} - -.w-5 { - width: 1.25rem; -} - -.w-5\/6 { - width: 83.333333%; -} - -.w-6 { - width: 1.5rem; -} - -.w-72 { - width: 18rem; -} - -.w-\[300px\] { - width: 300px; -} - -.w-full { - width: 100%; -} - -.w-screen { - width: 100vw; -} - -.flex-1 { - flex: 1 1 0%; -} - -.flex-shrink-0 { - flex-shrink: 0; -} - -.-translate-y-1\/2 { - --tw-translate-y: -50%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.transform { - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.cursor-pointer { - cursor: pointer; -} - -.grid-cols-1 { - grid-template-columns: repeat(1, minmax(0, 1fr)); -} - -.flex-row { - flex-direction: row; -} - -.flex-col { - flex-direction: column; -} - -.flex-wrap { - flex-wrap: wrap; -} - -.items-center { - align-items: center; -} - -.justify-start { - justify-content: flex-start; -} - -.justify-end { - justify-content: flex-end; -} - -.justify-center { - justify-content: center; -} - -.gap-2 { - gap: 0.5rem; -} - -.gap-3 { - gap: 0.75rem; -} - -.gap-4 { - gap: 1rem; -} - -.gap-9 { - gap: 2.25rem; -} - -.space-y-1 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)); -} - -.overflow-hidden { - overflow: hidden; -} - -.truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.rounded-full { - border-radius: 9999px; -} - -.rounded-lg { - border-radius: 0.5rem; -} - -.rounded-md { - border-radius: 0.375rem; -} - -.rounded-xl { - border-radius: 0.75rem; -} - -.border { - border-width: 1px; -} - -.border-0 { - border-width: 0px; -} - -.border-l { - border-left-width: 1px; -} - -.border-blue-400 { - --tw-border-opacity: 1; - border-color: rgb(96 165 250 / var(--tw-border-opacity)); -} - -.border-gray-600 { - --tw-border-opacity: 1; - border-color: rgb(75 85 99 / var(--tw-border-opacity)); -} - -.border-transparent { - border-color: transparent; -} - -.border-white { - --tw-border-opacity: 1; - border-color: rgb(255 255 255 / var(--tw-border-opacity)); -} - -.bg-darkblue { - --tw-bg-opacity: 1; - background-color: rgb(17 45 78 / var(--tw-bg-opacity)); -} - -.bg-fuchsia-400 { - --tw-bg-opacity: 1; - background-color: rgb(232 121 249 / var(--tw-bg-opacity)); -} - -.bg-gray-300 { - --tw-bg-opacity: 1; - background-color: rgb(209 213 219 / var(--tw-bg-opacity)); -} - -.bg-gray-800 { - --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity)); -} - -.bg-lightblue { - --tw-bg-opacity: 1; - background-color: rgb(63 114 175 / var(--tw-bg-opacity)); -} - -.bg-slate-400 { - --tw-bg-opacity: 1; - background-color: rgb(148 163 184 / var(--tw-bg-opacity)); -} - -.bg-transparent { - background-color: transparent; -} - -.bg-white { - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity)); -} - -.bg-opacity-30 { - --tw-bg-opacity: 0.3; -} - -.bg-opacity-75 { - --tw-bg-opacity: 0.75; -} - -.bg-gradient-to-r { - background-image: linear-gradient(to right, var(--tw-gradient-stops)); -} - -.from-blue-50 { - --tw-gradient-from: #eff6ff var(--tw-gradient-from-position); - --tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position); - --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); -} - -.object-cover { - object-fit: cover; -} - -.p-1 { - padding: 0.25rem; -} - -.p-3 { - padding: 0.75rem; -} - -.p-4 { - padding: 1rem; -} - -.p-6 { - padding: 1.5rem; -} - -.px-2 { - padding-left: 0.5rem; - padding-right: 0.5rem; -} - -.px-3 { - padding-left: 0.75rem; - padding-right: 0.75rem; -} - -.px-4 { - padding-left: 1rem; - padding-right: 1rem; -} - -.px-5 { - padding-left: 1.25rem; - padding-right: 1.25rem; -} - -.px-6 { - padding-left: 1.5rem; - padding-right: 1.5rem; -} - -.py-1 { - padding-top: 0.25rem; - padding-bottom: 0.25rem; -} - -.py-1\.5 { - padding-top: 0.375rem; - padding-bottom: 0.375rem; -} - -.py-2 { - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} - -.py-3 { - padding-top: 0.75rem; - padding-bottom: 0.75rem; -} - -.pb-3 { - padding-bottom: 0.75rem; -} - -.pl-1 { - padding-left: 0.25rem; -} - -.pr-3 { - padding-right: 0.75rem; -} - -.pt-2 { - padding-top: 0.5rem; -} - -.text-center { - text-align: center; -} - -.text-2xl { - font-size: 1.5rem; - line-height: 2rem; -} - -.text-base { - font-size: 1rem; - line-height: 1.5rem; -} - -.text-lg { - font-size: 1.125rem; - line-height: 1.75rem; -} - -.text-xl { - font-size: 1.25rem; - line-height: 1.75rem; -} - -.font-bold { - font-weight: 700; -} - -.font-extrabold { - font-weight: 800; -} - -.font-medium { - font-weight: 500; -} - -.italic { - font-style: italic; -} - -.text-gray-300 { - --tw-text-opacity: 1; - color: rgb(209 213 219 / var(--tw-text-opacity)); -} - -.text-gray-500 { - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity)); -} - -.text-gray-700 { - --tw-text-opacity: 1; - color: rgb(55 65 81 / var(--tw-text-opacity)); -} - -.text-gray-800 { - --tw-text-opacity: 1; - color: rgb(31 41 55 / var(--tw-text-opacity)); -} - -.text-gray-900 { - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity)); -} - -.text-green-500 { - --tw-text-opacity: 1; - color: rgb(34 197 94 / var(--tw-text-opacity)); -} - -.text-indigo-950 { - --tw-text-opacity: 1; - color: rgb(30 27 75 / var(--tw-text-opacity)); -} - -.text-lightblue { - --tw-text-opacity: 1; - color: rgb(63 114 175 / var(--tw-text-opacity)); -} - -.text-red-500 { - --tw-text-opacity: 1; - color: rgb(239 68 68 / var(--tw-text-opacity)); -} - -.text-red-600 { - --tw-text-opacity: 1; - color: rgb(220 38 38 / var(--tw-text-opacity)); -} - -.text-white { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); -} - -.underline { - text-decoration-line: underline; -} - -.line-through { - text-decoration-line: line-through; -} - -.shadow { - --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-md { - --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-sm { - --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); - --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.ring-1 { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} - -.ring-inset { - --tw-ring-inset: inset; -} - -.ring-gray-300 { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity)); -} - -.filter { - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - -.transition { - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.placeholder\:text-gray-400::placeholder { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity)); -} - -.focus-within\:ring-2:focus-within { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} - -.focus-within\:ring-inset:focus-within { - --tw-ring-inset: inset; -} - -.focus-within\:ring-indigo-600:focus-within { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(79 70 229 / var(--tw-ring-opacity)); -} - -.hover\:bg-darkblue:hover { - --tw-bg-opacity: 1; - background-color: rgb(17 45 78 / var(--tw-bg-opacity)); -} - -.hover\:text-blue-300:hover { - --tw-text-opacity: 1; - color: rgb(147 197 253 / var(--tw-text-opacity)); -} - -.hover\:text-white:hover { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); -} - -.focus\:outline-none:focus { - outline: 2px solid transparent; - outline-offset: 2px; -} - -.focus\:ring-0:focus { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} - -.focus\:ring-1:focus { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} - -@media (min-width: 640px) { - .sm\:mt-4 { - margin-top: 1rem; - } - - .sm\:block { - display: block; - } - - .sm\:max-w-md { - max-width: 28rem; - } - - .sm\:grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } - - .sm\:px-3 { - padding-left: 0.75rem; - padding-right: 0.75rem; - } - - .sm\:text-sm { - font-size: 0.875rem; - line-height: 1.25rem; - } - - .sm\:leading-6 { - line-height: 1.5rem; - } -} - -@media (min-width: 768px) { - .md\:mt-5 { - margin-top: 1.25rem; - } - - .md\:mt-6 { - margin-top: 1.5rem; - } - - .md\:block { - display: block; - } - - .md\:flex { - display: flex; - } - - .md\:hidden { - display: none; - } - - .md\:w-1\/2 { - width: 50%; - } - - .md\:grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - - .md\:items-center { - align-items: center; - } - - .md\:justify-between { - justify-content: space-between; - } -} - -@media (min-width: 1024px) { - .lg\:block { - display: block; - } - - .lg\:grid-cols-4 { - grid-template-columns: repeat(4, minmax(0, 1fr)); - } -} - -@media (min-width: 1280px) { - .xl\:block { - display: block; - } -} - -@media (prefers-color-scheme: dark) { - .dark\:border-gray-700 { - --tw-border-opacity: 1; - border-color: rgb(55 65 81 / var(--tw-border-opacity)); - } - - .dark\:bg-gray-200 { - --tw-bg-opacity: 1; - background-color: rgb(229 231 235 / var(--tw-bg-opacity)); - } - - .dark\:bg-gray-800 { - --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity)); - } - - .dark\:text-gray-700 { - --tw-text-opacity: 1; - color: rgb(55 65 81 / var(--tw-text-opacity)); - } - - .dark\:text-gray-800 { - --tw-text-opacity: 1; - color: rgb(31 41 55 / var(--tw-text-opacity)); - } -} \ No newline at end of file diff --git a/client/package-lock.json b/client/package-lock.json index 750a3ef..c992349 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -11,19 +11,18 @@ "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", - "axios": "^1.7.2", + "axios": "^1.6.8", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-icons": "^5.2.1", "react-responsive-carousel": "^3.2.23", - "react-router-dom": "^6.22.3", + "react-router-dom": "^6.23.1", "react-scripts": "5.0.1", "web-vitals": "^2.1.4" }, "devDependencies": { "autoprefixer": "^10.4.19", "postcss": "^8.4.38", - "tailwindcss": "^3.4.4" + "tailwindcss": "^3.4.3" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -3378,9 +3377,10 @@ } }, "node_modules/@remix-run/router": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz", - "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==", + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.16.1.tgz", + "integrity": "sha512-es2g3dq6Nb07iFxGk5GuHN20RwBZOsuDQN7izWIisUcv9r+d2C5jQxqmgkdebXgReWfiyUabcki6Fg77mSNrig==", + "license": "MIT", "engines": { "node": ">=14.0.0" } @@ -5465,9 +5465,9 @@ } }, "node_modules/axios": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", - "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -15157,14 +15157,6 @@ "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" }, - "node_modules/react-icons": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.2.1.tgz", - "integrity": "sha512-zdbW5GstTzXaVKvGSyTaBalt7HSfuK5ovrzlpyiWHAFXndXTdd/1hdDHI4xBM1Mn7YriT6aqESucFl9kEXzrdw==", - "peerDependencies": { - "react": "*" - } - }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -15189,11 +15181,12 @@ } }, "node_modules/react-router": { - "version": "6.22.3", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz", - "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==", + "version": "6.23.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.23.1.tgz", + "integrity": "sha512-fzcOaRF69uvqbbM7OhvQyBTFDVrrGlsFdS3AL+1KfIBtGETibHzi3FkoTRyiDJnWNc2VxrfvR+657ROHjaNjqQ==", + "license": "MIT", "dependencies": { - "@remix-run/router": "1.15.3" + "@remix-run/router": "1.16.1" }, "engines": { "node": ">=14.0.0" @@ -15203,12 +15196,13 @@ } }, "node_modules/react-router-dom": { - "version": "6.22.3", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz", - "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==", + "version": "6.23.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.1.tgz", + "integrity": "sha512-utP+K+aSTtEdbWpC+4gxhdlPFwuEfDKq8ZrPFU65bbRJY+l706qjR7yaidBpo3MSeA/fzwbXWbKBI6ftOnP3OQ==", + "license": "MIT", "dependencies": { - "@remix-run/router": "1.15.3", - "react-router": "6.22.3" + "@remix-run/router": "1.16.1", + "react-router": "6.23.1" }, "engines": { "node": ">=14.0.0" @@ -16845,9 +16839,9 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, "node_modules/tailwindcss": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz", - "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", + "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", diff --git a/client/package.json b/client/package.json index efb1caf..2d53cb1 100644 --- a/client/package.json +++ b/client/package.json @@ -6,18 +6,17 @@ "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", - "axios": "^1.7.2", + "axios": "^1.6.8", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-icons": "^5.2.1", "react-responsive-carousel": "^3.2.23", - "react-router-dom": "^6.22.3", + "react-router-dom": "^6.23.1", "react-scripts": "5.0.1", "web-vitals": "^2.1.4" }, "scripts": { "start": "react-scripts start", - "build": " react-scripts build && echo 'npx tailwindcss -i ./src/input.css -o ./dist/output.css --watch'", + "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }, @@ -42,6 +41,6 @@ "devDependencies": { "autoprefixer": "^10.4.19", "postcss": "^8.4.38", - "tailwindcss": "^3.4.4" + "tailwindcss": "^3.4.3" } } diff --git a/client/postcss.config.js b/client/postcss.config.js deleted file mode 100644 index 33ad091..0000000 --- a/client/postcss.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, -} diff --git a/client/public/Images/jacket.jpeg b/client/public/Images/jacket.jpeg new file mode 100644 index 0000000..c650307 Binary files /dev/null and b/client/public/Images/jacket.jpeg differ diff --git a/client/public/Images/jeans.jpeg b/client/public/Images/jeans.jpeg new file mode 100644 index 0000000..d08f5f9 Binary files /dev/null and b/client/public/Images/jeans.jpeg differ diff --git a/client/public/Images/suit.jpeg b/client/public/Images/suit.jpeg new file mode 100644 index 0000000..3ee498b Binary files /dev/null and b/client/public/Images/suit.jpeg differ diff --git a/client/public/Images/tshirt.jpeg b/client/public/Images/tshirt.jpeg new file mode 100644 index 0000000..eb47028 Binary files /dev/null and b/client/public/Images/tshirt.jpeg differ diff --git a/client/public/index.html b/client/public/index.html index c153443..24f0eb6 100644 --- a/client/public/index.html +++ b/client/public/index.html @@ -1,34 +1,45 @@ - - - - - - + + + + + + + + + + + + + TrendTrove + + + +
+ - - - - - + You can add webfonts, meta tags, or analytics to this file. + The build step will place the bundled scripts into the tag. - - - - - - - - - - -
- + To begin the development, run `npm start` or `yarn start`. + To create a production bundle, use `npm run build` or `yarn build`. + --> + diff --git a/client/public/trendtroveog.png b/client/public/trendtroveog.png deleted file mode 100644 index 9f6b147..0000000 Binary files a/client/public/trendtroveog.png and /dev/null differ diff --git a/client/src/App.css b/client/src/App.css index e69de29..3e98a6f 100644 --- a/client/src/App.css +++ b/client/src/App.css @@ -0,0 +1,38 @@ +/* Reset some default browser styles */ +body, html, ul, li { + margin: 0; + padding: 0; + box-sizing: border-box; + } + + /* Styles for the navigation bar */ + nav { + background-color: #003366; /* Adjust the color as needed */ + padding: 10px 0; + } + + nav ul { + list-style-type: none; + display: flex; + justify-content: center; /* Center the nav items */ + } + + nav ul li { + margin: 0 15px; /* Adjust the spacing between nav items */ + } + + nav ul li a { + color: white; + text-decoration: none; + font-size: 16px; + } + + nav ul li a:hover { + text-decoration: underline; /* Add a hover effect if needed */ + } + + /* Ensure the main content is below the nav bar */ + main { + padding: 20px; + } + \ No newline at end of file diff --git a/client/src/App.js b/client/src/App.js index 3cd29f4..67e1087 100644 --- a/client/src/App.js +++ b/client/src/App.js @@ -1,46 +1,39 @@ -import logo from './logo.svg'; +import React from 'react'; import './App.css'; -import ReactDOM from "react-dom/client"; import Login from './Components/Login'; import Register from './Components/Register'; import Products from './Components/Products'; import HomePage from './Components/HomePage'; -import {BrowserRouter,Routes,Route} from 'react-router-dom' - -import NotFound from './Components/NotFound'; -import UserContextProvider from './Helper/UserContextProvider'; -import axios from 'axios'; - -import CategoryPage from './Components/CategoryPage'; - - - +import MenSection from './Components/MenSection'; +import KidSection from './Components/KidSection'; +import { BrowserRouter, Routes, Route, Link } from 'react-router-dom'; function App() { - return ( - - - - - - - {/* Login Routes {user ? }: */} - } > - } /> - }> - - } /> - }> - }> - }> - }> - - }> - - - - + <> + + + +
+ + } /> + } /> + } /> + } /> + } /> + } /> + +
+
+ ); } diff --git a/client/src/Assests/HomePageData.js b/client/src/Assests/HomePageData.js index 08e6d91..229c99d 100644 --- a/client/src/Assests/HomePageData.js +++ b/client/src/Assests/HomePageData.js @@ -11,72 +11,12 @@ const data = [{ search:"mens-ethnic-wear" }, { - image: "https://maharaniwomen.b-cdn.net/wp-content/uploads/2021/09/A2.jpg", + image: "sarees.jpg", title: "Sarees", discount: "30-80% OFF", search:"Sarees" }, { - "image": "https://maharaniwomen.b-cdn.net/wp-content/uploads/2021/09/A2.jpg", - "title": "Sarees", - "discount": "30-80% OFF", - "search": "Sarees" - }, - { - "image": "https://i.pinimg.com/originals/50/96/f5/5096f57f5ca2d5b0a31f1f55399c0763.jpg", - "title": "Elegant Silk Saree", - "discount": "25-70% OFF", - "search": "Elegant-Silk-Saree" - }, - { - "image": "https://i.pinimg.com/originals/2a/0c/11/2a0c1195ac0e81c5659243343fed3ab7.jpg", - "title": "Cotton Printed Saree", - "discount": "20-60% OFF", - "search": "Cotton-Printed-Saree" - }, - { - "image": "https://cdn.sareeka.com/image/data2021/cotton-printed-multi-colour-printed-saree-186983.jpg", - "title": "Designer Wedding Saree", - "discount": "40-90% OFF", - "search": "Designer-Wedding-Saree" - }, - { - "image": "https://dvanza.com/wp-content/uploads/Beautiful-Floral-Printed-Cotton-saree-dvz0003045.jpeg", - "title": "Traditional Banarasi Saree", - "discount": "35-75% OFF", - "search": "Traditional-Banarasi-Saree" - }, - { - "image": "https://dvanza.com/wp-content/uploads/Beautiful-Floral-Printed-Cotton-saree-dvz0003045.jpeg", - "title": "Embroidered Georgette Saree", - "discount": "30-70% OFF", - "search": "Embroidered-Georgette-Saree" - }, - { - "image": "https://th.bing.com/th/id/OIP.g3mCUzVgHb9-FHoKAmIBdAHaLH?w=900&h=1350&rs=1&pid=ImgDetMain", - "title": "Kanjivaram Silk Saree", - "discount": "40-80% OFF", - "search": "Kanjivaram-Silk-Saree" - }, - { - "image": "https://i.pinimg.com/originals/f0/ff/ea/f0ffea5026977dc2bd6c08778a4c3db2.jpg", - "title": "Bollywood Style Saree", - "discount": "25-60% OFF", - "search": "Bollywood-Style-Saree" - }, - { - "image": "https://th.bing.com/th/id/OIP.FicY4-xbtNJDcbh8HW6clwHaLH?w=500&h=750&rs=1&pid=ImgDetMain", - "title": "Chiffon Party Wear Saree", - "discount": "30-65% OFF", - "search": "Chiffon-Party-Wear-Saree" - }, - { - "image": "https://th.bing.com/th/id/OIP.FicY4-xbtNJDcbh8HW6clwHaLH?w=500&h=750&rs=1&pid=ImgDetMain", - "title": "Casual Cotton Saree", - "discount": "20-50% OFF", - "search": "Casual-Cotton-Saree" - }, - { image: "mens-casual-wear.jpg", title: "Mens's Casual Wear", discount: "50-80% OFF", diff --git a/client/src/Components/CategoryCard.js b/client/src/Components/CategoryCard.js index 3234f90..fa4f5f5 100644 --- a/client/src/Components/CategoryCard.js +++ b/client/src/Components/CategoryCard.js @@ -2,16 +2,12 @@ import React from 'react' function CategoryCard(props) { return ( -
- {props.title} +
+ +

{props.title}

+

{props.discount}

-

{props.title}

-

{props.discount}

-
+
) } diff --git a/client/src/Components/CategoryPage.js b/client/src/Components/CategoryPage.js deleted file mode 100644 index 8b3dfa7..0000000 --- a/client/src/Components/CategoryPage.js +++ /dev/null @@ -1,38 +0,0 @@ -import React, { useState, useEffect } from "react"; -import { useParams } from "react-router-dom"; -import data from "../Assests/HomePageData"; // Import your JSON data -import CategoryCard from "./CategoryCard"; // Import the CategoryCard component - - -function CategoryPage() { - const { query } = useParams(); - const [filteredData, setFilteredData] = useState([]); - - useEffect(() => { - // Filter data based on query parameter - const filteredProducts = data.filter((item) => - item.search.toLowerCase().includes(query.toLowerCase()) - - ); - setFilteredData(filteredProducts); - // console.log(filteredProducts) // Update state with filtered data - }, [query]); - - return ( -
-

Filtered Products for "{query}"

-
- {filteredData.map((item, i) => ( - - ))} -
-
- ); -} - -export default CategoryPage; diff --git a/client/src/Components/HomePage.js b/client/src/Components/HomePage.js index c24b056..71c49ea 100644 --- a/client/src/Components/HomePage.js +++ b/client/src/Components/HomePage.js @@ -1,42 +1,46 @@ -import React from 'react'; -import { useNavigate } from 'react-router-dom'; -import Navbar from './Navbar'; -import data from '../Assests/HomePageData'; -import CategoryCard from './CategoryCard'; +import {React,useState} from 'react' +import Navbar from './Navbar' +import {useNavigate} from 'react-router-dom' +import data from '../Assests/HomePageData' +import CategoryCard from './CategoryCard' +import ProductCard from './ProductCard' +import Products from './Products' import Icons from './Icons'; -import CarouselComponent from './CarouselComponent'; - +import CarouselComponent from './CarouselComponent' function HomePage() { - const navigate = useNavigate(); - - + const navigate=useNavigate(); + + + return (
- - - -
-
SHOP BY CATEGORY
-
- {data.map((item, i) => ( -
navigate("/" + item.search)} - className="cursor-pointer"> - -
- ))} + + + +
+
SHOP BY CATEGORY
+ +
+ + {data.map((item,i)=>{ + return ( + +
{ + + navigate("/"+item.search); + }} className='cursor-pointer'> + +
+ ) + })}
- ); + + ) } -export default HomePage; +export default HomePage diff --git a/client/src/Components/KidSection.css b/client/src/Components/KidSection.css new file mode 100644 index 0000000..ea9552b --- /dev/null +++ b/client/src/Components/KidSection.css @@ -0,0 +1,47 @@ +.kid-section { + padding: 20px; + } + + .product-list { + display: flex; + flex-wrap: wrap; + gap: 30px; + margin-top: 20px; + } + + .product-item { + border: 1px solid #ccc; + padding: 10px; + width: 200px; + text-align: center; + cursor: pointer; + height: 350px; + } + + .product-image { + width: 100%; + height: auto; + } + + .product-name { + font-size: 18px; + margin: 10px 0; + } + + .product-price { + color: #888; + } + h1{ + color: rgb(63, 22, 22); + font-size: 80px; + font-weight: 500; + margin-left: 550px; + margin-top: -40px; + } + h2{ + color: rgb(45, 64, 17); + font-size: 40px; + font-weight: 500; + margin-top: 10px; + } + \ No newline at end of file diff --git a/client/src/Components/KidSection.js b/client/src/Components/KidSection.js new file mode 100644 index 0000000..e2464c7 --- /dev/null +++ b/client/src/Components/KidSection.js @@ -0,0 +1,98 @@ +import React from 'react'; +import './KidSection.css'; +import kid1 from './Product/kid1.jpeg'; +import kid2 from './Product/kid2.jpeg'; +import kid3 from './Product/kid3.jpeg'; +import kid4 from './Product/kid4.jpeg'; +import kid5 from './Product/kid5.jpeg'; +import kid6 from './Product/kid6.jpeg'; +import kid7 from './Product/kid7.jpeg'; +import kid8 from './Product/kid9.jpeg'; +import kid9 from './Product/kid10.jpeg'; +import kid10 from './Product/kid11.jpeg'; +import kid11 from './Product/kid12.jpeg'; +import kid12 from './Product/kid13.jpeg'; +import kid13 from './Product/kid14.jpeg'; +import kid14 from './Product/kid8.jpeg'; +import kid15 from './Product/kid15.jpeg'; +import kid16 from './Product/kid16.jpeg'; +import kid17 from './Product/kid17.jpeg'; +import kid18 from './Product/kid18.jpeg'; +import kid19 from './Product/kid19.jpeg'; +import kid20 from './Product/kid20.jpeg'; +import kid21 from './Product/kid21.jpeg'; + +const KidSection = () => { + const kidClothing = [ + { id: 3, name: "Kids's Jacket", price: "$60", image: kid1 }, + { id: 5, name: "Kids's Jacket", price: "$80", image: kid2 }, + { id: 9, name: "Kids's Jacket", price: "$80", image: kid3 }, + { id: 10, name: "Kids's Jacket", price: "$80", image: kid4 }, + { id: 11, name: "Kids's Jacket", price: "$80", image: kid5 }, + { id: 12, name: "Kids's Jacket", price: "$80", image: kid6 }, + { id: 13, name: "Kids's Jacket", price: "$80", image: kid7 }, + + ]; + + const kidtshirt = [ + { id: 3, name: "Kids's T-Shirt", price: "$60", image: kid8 }, + { id: 5, name: "Kids's T-Shirt", price: "$80", image: kid9 }, + { id: 9, name: "Kids's T-Shirt", price: "$80", image: kid10 }, + { id: 10, name: "Kids's T-Shirt", price: "$80", image: kid11 }, + { id: 11, name: "Kids's T-Shirt", price: "$80", image: kid12 }, + { id: 12, name: "Kids's T-Shirt", price: "$80", image: kid13 }, + { id: 13, name: "Kids's T-Shirt", price: "$80", image: kid14 }, + + ]; + + const kidpants = [ + { id: 3, name: "Kids's Pnts", price: "$60", image: kid15 }, + { id: 5, name: "Kids's Pants", price: "$80", image: kid16 }, + { id: 9, name: "Kids's Pants", price: "$80", image: kid17 }, + { id: 10, name: "Kids's Pants", price: "$80", image: kid18 }, + { id: 11, name: "Kids's Pants", price: "$80", image: kid19 }, + { id: 12, name: "Kids's Pants", price: "$80", image: kid20 }, + { id: 13, name: "Kids's Pants", price: "$80", image: kid21 }, + + ]; + + return ( +
+

Kid's Section

+

Kid's Jacket

+
+ {kidClothing.map(item => ( +
+ {item.name} +

{item.name}

+

{item.price}

+
+ ))} +
+ +

Kid's T-Shirt

+
+ {kidtshirt.map(item => ( +
+ {item.name} +

{item.name}

+

{item.price}

+
+ ))} +
+ +

Kid's Pants

+
+ {kidpants.map(item => ( +
+ {item.name} +

{item.name}

+

{item.price}

+
+ ))} +
+
+ ); +}; + +export default KidSection; diff --git a/client/src/Components/Login.js b/client/src/Components/Login.js index 52a8fa4..14096cf 100644 --- a/client/src/Components/Login.js +++ b/client/src/Components/Login.js @@ -1,43 +1,5 @@ -import React, { useContext, useState } from 'react'; -import { useEffect } from 'react'; -import axios from 'axios' -import { useNavigate } from 'react-router-dom'; -import UserContext from '../Helper/Context'; +import React from 'react'; function Login(){ - const [email, setEmail] = useState(''); - const [password, setPassword] = useState(''); - const [loginError, setLoginError] = useState(''); - const {loggedIn ,setLoggedIn} = useContext(UserContext) - const { setUser } = useContext(UserContext); - const navigate = useNavigate(); - async function handleLoginSubmit(ev) { - ev.preventDefault(); - if (!email || !password) { - setLoginError('Please fill in both email and password fields.'); - return; - } - try { - const {data} =await axios.post(`${process.env.REACT_APP_API_URL}/login`, { email, password },{withCredentials:true}); - // const {user,message}= response.data; - // handleLoginSuccess(user); - setUser(data); - setLoginError(''); - alert('Login Successfull'); - setLoggedIn(true); - navigate('/'); - } - catch (error) { - if (error.response && error.response.status === 401) { - setLoginError('Incorrect email or password. Please try again.'); - } else { - setLoginError('An error occurred. Please try again later.'); - } - } - } - useEffect(() => { - console.log("loggedIn state in Login component:", loggedIn); - }, [loggedIn]); - return( <>
@@ -46,15 +8,15 @@ return(
-
+
Hello Again
- setEmail(ev.target.value)} autoComplete="email" className="rounded-md flex-1 border-0 bg-transparent py-1.5 pl-1 text-gray-900 placeholder:text-gray-400 focus:ring-1 sm:text-sm sm:leading-6" placeholder="Email"/> +
- setPassword(ev.target.value)} className="rounded-md flex-1 border-0 bg-transparent py-1.5 pl-1 text-gray-900 placeholder:text-gray-400 focus:ring-0 sm:text-sm sm:leading-6" placeholder="Password"/> +
forgot password? @@ -68,11 +30,9 @@ return(
- Not a user?Register here + Not a user?Register here
- -
diff --git a/client/src/Components/MenSection.css b/client/src/Components/MenSection.css new file mode 100644 index 0000000..5bd781e --- /dev/null +++ b/client/src/Components/MenSection.css @@ -0,0 +1,46 @@ +.men-section { + padding: 20px; + } + + .product-list { + display: flex; + flex-wrap: wrap; + gap: 30px; + margin-top: 20px; + } + + .product-item { + border: 1px solid #ccc; + padding: 10px; + width: 200px; + text-align: center; + cursor: pointer; + } + + .product-image { + width: 100%; + height: auto; + } + + .product-name { + font-size: 18px; + margin: 10px 0; + } + + .product-price { + color: #888; + } + h1{ + color: rgb(63, 22, 22); + font-size: 80px; + font-weight: 500; + margin-left: 550px; + margin-top: -40px; + } + h2{ + color: rgb(45, 64, 17); + font-size: 40px; + font-weight: 500; + margin-top: 10px; + } + \ No newline at end of file diff --git a/client/src/Components/MenSection.js b/client/src/Components/MenSection.js new file mode 100644 index 0000000..c354897 --- /dev/null +++ b/client/src/Components/MenSection.js @@ -0,0 +1,122 @@ +import React from 'react'; +import './MenSection.css'; +import tshirt from './Product/tshirt.jpeg'; +import jacket from './Product/product_14.png'; +import shirt from './Product/product_17.png'; +import leatherjacket from './Product/product_24.png'; +import product_19 from './Product/product_19.png'; +import product_20 from './Product/product_20.png'; +import product_21 from './Product/product_21.png'; +import product_22 from './Product/product_22.png'; +import product_23 from './Product/product_23.png'; +import shirt2 from './Product/shirt2.jpeg'; +import shirt1 from './Product/shirt1.jpeg'; +import shirt3 from './Product/shirt3.jpeg'; +import shirt4 from './Product/shirt4.jpeg'; +import shirt5 from './Product/shirt5.jpeg'; +import shirt6 from './Product/shirt6.jpeg'; +import tshirt2 from './Product/tshirt2.jpeg'; +import tshirt1 from './Product/tshirt1.jpeg'; +import tshirt3 from './Product/tshirt3.jpeg'; +import tshirt4 from './Product/tshirt4.jpeg'; +import tshirt5 from './Product/tshirt5.jpeg'; +import tshirt6 from './Product/tshirt6.jpeg'; +import jeans2 from './Product/jeans2.jpeg'; +import jeans1 from './Product/jeans1.jpeg'; +import jeans3 from './Product/jeans3.jpeg'; +import jeans4 from './Product/jeans4.jpeg'; +import jeans5 from './Product/jeans5.jpeg'; +import jeans6 from './Product/jeans6.jpeg'; +import jeans from './Product/jeans.jpeg'; + +const MenSection = () => { + const menClothing = [ + { id: 3, name: "Men's Jacket", price: "$60", image: jacket }, + { id: 5, name: "Men's Leather Jacket", price: "$80", image: leatherjacket }, + { id: 9, name: "Men's Jacket", price: "$80", image: product_19 }, + { id: 10, name: "Men's Jacket", price: "$80", image: product_20 }, + { id: 11, name: "Men's Jacket", price: "$80", image: product_21 }, + { id: 12, name: "Men's Jacket", price: "$80", image: product_22 }, + { id: 13, name: "Men's Jacket", price: "$80", image: product_23 }, + + ]; + const menShirt = [ + { id: 4, name: "Men's Shirt", price: "$60", image: shirt }, + { id: 14, name: "Men's Shirt", price: "$80", image: shirt1 }, + { id: 15, name: "Men's Shirt", price: "$80", image: shirt2 }, + { id: 15, name: "Men's Shirt", price: "$80", image: shirt3 }, + { id: 15, name: "Men's Shirt", price: "$80", image: shirt4 }, + { id: 15, name: "Men's Shirt", price: "$80", image: shirt5 }, + { id: 15, name: "Men's Shirt", price: "$80", image: shirt6 }, + ]; + + const menTshirt = [ + { id: 1, name: "Men's T-Shirt", price: "$20", image: tshirt }, + { id: 14, name: "Men's T-Shirt", price: "$80", image: tshirt1 }, + { id: 15, name: "Men's T-Shirt", price: "$80", image: tshirt2 }, + { id: 15, name: "Men's T-Shirt", price: "$80", image: tshirt3 }, + { id: 15, name: "Men's T-Shirt", price: "$80", image: tshirt4 }, + { id: 15, name: "Men's T-Shirt", price: "$80", image: tshirt5 }, + { id: 15, name: "Men's T-Shirt", price: "$80", image: tshirt6 }, + ]; + + const menJeans = [ + { id: 1, name: "Men's Jeans", price: "$60", image: jeans }, + { id: 14, name: "Men's Jeans", price: "$80", image: jeans1 }, + { id: 15, name: "Men's Jeans", price: "$80", image: jeans2 }, + { id: 15, name: "Men's Jeans", price: "$80", image: jeans3 }, + { id: 15, name: "Men's Jeans", price: "$80", image: jeans4 }, + { id: 15, name: "Men's Jeans", price: "$80", image: jeans5 }, + { id: 15, name: "Men's Jeans", price: "$80", image: jeans6 }, + ]; + + return ( +
+

Men's Section

+

Men's Jacket

+
+ {menClothing.map(item => ( +
+ {item.name} +

{item.name}

+

{item.price}

+
+ ))} +
+

Men's Shirt

+
+ {menShirt.map(item => ( +
+ {item.name} +

{item.name}

+

{item.price}

+
+ ))} +
+ +

Men's T-Shirt

+
+ {menTshirt.map(item => ( +
+ {item.name} +

{item.name}

+

{item.price}

+
+ ))} +
+ +

Men's Jeans

+
+ {menJeans.map(item => ( +
+ {item.name} +

{item.name}

+

{item.price}

+
+ ))} +
+
+ ); +}; + +export default MenSection; diff --git a/client/src/Components/Navbar.js b/client/src/Components/Navbar.js index bb6a682..075d4a4 100644 --- a/client/src/Components/Navbar.js +++ b/client/src/Components/Navbar.js @@ -1,55 +1,18 @@ -import {React,useContext,useState} from 'react' +import {React,useState} from 'react' import SearchBar from './SearchBar'; -import axios from 'axios' -import { useNavigate } from 'react-router-dom'; - import { Link } from 'react-router-dom'; -import UserContext from '../Helper/Context'; function Navbar() { const [IsMobileView,setIsMobileView]=useState(false); - const [hoveredIcon, setHoveredIcon] = useState(null); const toggleMobileMenu=()=>{ setIsMobileView(!IsMobileView); } - - - const {user ,setLoggedIn,setUser,loggedIn} =useContext(UserContext); - const navigate = useNavigate(); - const handleMouseEnter = (icon) => { - setHoveredIcon(icon); - }; - - const handleMouseLeave = () => { - setHoveredIcon(null); - }; - - const naviconStyle = (icon) => ({ - fill: hoveredIcon === icon ? '#8BBCF3' : 'none', - transform: hoveredIcon === icon ? 'scale(1.07)' : 'scale(1)', - transition: 'transform 0.2s, fill 0.2s' - }); - - const handleLogout = async () => { - try { - await axios.post(`${process.env.REACT_APP_API_URL}/logout`, {}, { withCredentials: true }); - setLoggedIn(false); - setUser(null); - navigate('/'); // Redirect to the home page or login page - } catch (error) { - console.error('Logout failed:', error); - } - }; - - return (
) } -export default Navbar \ No newline at end of file +export default Navbar diff --git a/client/src/Components/NotFound.js b/client/src/Components/NotFound.js deleted file mode 100644 index 7cf9110..0000000 --- a/client/src/Components/NotFound.js +++ /dev/null @@ -1,14 +0,0 @@ -//import NotFoundimg from '../Assests/Images/404.png'; - -function NotFound() { - return ( - <> -
- {/* 404 Not Found */} - not found -
- - ); -} - -export default NotFound; \ No newline at end of file diff --git a/client/src/Components/Product/jeans.jpeg b/client/src/Components/Product/jeans.jpeg new file mode 100644 index 0000000..d08f5f9 Binary files /dev/null and b/client/src/Components/Product/jeans.jpeg differ diff --git a/client/src/Components/Product/jeans1.jpeg b/client/src/Components/Product/jeans1.jpeg new file mode 100644 index 0000000..d08f5f9 Binary files /dev/null and b/client/src/Components/Product/jeans1.jpeg differ diff --git a/client/src/Components/Product/jeans2.jpeg b/client/src/Components/Product/jeans2.jpeg new file mode 100644 index 0000000..2f79f46 Binary files /dev/null and b/client/src/Components/Product/jeans2.jpeg differ diff --git a/client/src/Components/Product/jeans3.jpeg b/client/src/Components/Product/jeans3.jpeg new file mode 100644 index 0000000..196b09b Binary files /dev/null and b/client/src/Components/Product/jeans3.jpeg differ diff --git a/client/src/Components/Product/jeans4.jpeg b/client/src/Components/Product/jeans4.jpeg new file mode 100644 index 0000000..20b0b16 Binary files /dev/null and b/client/src/Components/Product/jeans4.jpeg differ diff --git a/client/src/Components/Product/jeans5.jpeg b/client/src/Components/Product/jeans5.jpeg new file mode 100644 index 0000000..7e03359 Binary files /dev/null and b/client/src/Components/Product/jeans5.jpeg differ diff --git a/client/src/Components/Product/jeans6.jpeg b/client/src/Components/Product/jeans6.jpeg new file mode 100644 index 0000000..a253f4c Binary files /dev/null and b/client/src/Components/Product/jeans6.jpeg differ diff --git a/client/src/Components/Product/kid1.jpeg b/client/src/Components/Product/kid1.jpeg new file mode 100644 index 0000000..89c4a0c Binary files /dev/null and b/client/src/Components/Product/kid1.jpeg differ diff --git a/client/src/Components/Product/kid10.jpeg b/client/src/Components/Product/kid10.jpeg new file mode 100644 index 0000000..8c0900a Binary files /dev/null and b/client/src/Components/Product/kid10.jpeg differ diff --git a/client/src/Components/Product/kid11.jpeg b/client/src/Components/Product/kid11.jpeg new file mode 100644 index 0000000..0c3e4a5 Binary files /dev/null and b/client/src/Components/Product/kid11.jpeg differ diff --git a/client/src/Components/Product/kid12.jpeg b/client/src/Components/Product/kid12.jpeg new file mode 100644 index 0000000..a27e23b Binary files /dev/null and b/client/src/Components/Product/kid12.jpeg differ diff --git a/client/src/Components/Product/kid13.jpeg b/client/src/Components/Product/kid13.jpeg new file mode 100644 index 0000000..7e52b47 Binary files /dev/null and b/client/src/Components/Product/kid13.jpeg differ diff --git a/client/src/Components/Product/kid14.jpeg b/client/src/Components/Product/kid14.jpeg new file mode 100644 index 0000000..886a6fa Binary files /dev/null and b/client/src/Components/Product/kid14.jpeg differ diff --git a/client/src/Components/Product/kid15.jpeg b/client/src/Components/Product/kid15.jpeg new file mode 100644 index 0000000..9387778 Binary files /dev/null and b/client/src/Components/Product/kid15.jpeg differ diff --git a/client/src/Components/Product/kid16.jpeg b/client/src/Components/Product/kid16.jpeg new file mode 100644 index 0000000..2dd1e2c Binary files /dev/null and b/client/src/Components/Product/kid16.jpeg differ diff --git a/client/src/Components/Product/kid17.jpeg b/client/src/Components/Product/kid17.jpeg new file mode 100644 index 0000000..db3a668 Binary files /dev/null and b/client/src/Components/Product/kid17.jpeg differ diff --git a/client/src/Components/Product/kid18.jpeg b/client/src/Components/Product/kid18.jpeg new file mode 100644 index 0000000..ef65b8c Binary files /dev/null and b/client/src/Components/Product/kid18.jpeg differ diff --git a/client/src/Components/Product/kid19.jpeg b/client/src/Components/Product/kid19.jpeg new file mode 100644 index 0000000..9831200 Binary files /dev/null and b/client/src/Components/Product/kid19.jpeg differ diff --git a/client/src/Components/Product/kid2.jpeg b/client/src/Components/Product/kid2.jpeg new file mode 100644 index 0000000..81e3573 Binary files /dev/null and b/client/src/Components/Product/kid2.jpeg differ diff --git a/client/src/Components/Product/kid20.jpeg b/client/src/Components/Product/kid20.jpeg new file mode 100644 index 0000000..2d763ae Binary files /dev/null and b/client/src/Components/Product/kid20.jpeg differ diff --git a/client/src/Components/Product/kid21.jpeg b/client/src/Components/Product/kid21.jpeg new file mode 100644 index 0000000..dc7f65f Binary files /dev/null and b/client/src/Components/Product/kid21.jpeg differ diff --git a/client/src/Components/Product/kid3.jpeg b/client/src/Components/Product/kid3.jpeg new file mode 100644 index 0000000..7214054 Binary files /dev/null and b/client/src/Components/Product/kid3.jpeg differ diff --git a/client/src/Components/Product/kid4.jpeg b/client/src/Components/Product/kid4.jpeg new file mode 100644 index 0000000..81dcd15 Binary files /dev/null and b/client/src/Components/Product/kid4.jpeg differ diff --git a/client/src/Components/Product/kid5.jpeg b/client/src/Components/Product/kid5.jpeg new file mode 100644 index 0000000..c25b1df Binary files /dev/null and b/client/src/Components/Product/kid5.jpeg differ diff --git a/client/src/Components/Product/kid6.jpeg b/client/src/Components/Product/kid6.jpeg new file mode 100644 index 0000000..4a84586 Binary files /dev/null and b/client/src/Components/Product/kid6.jpeg differ diff --git a/client/src/Components/Product/kid7.jpeg b/client/src/Components/Product/kid7.jpeg new file mode 100644 index 0000000..9d992ae Binary files /dev/null and b/client/src/Components/Product/kid7.jpeg differ diff --git a/client/src/Components/Product/kid8.jpeg b/client/src/Components/Product/kid8.jpeg new file mode 100644 index 0000000..2454400 Binary files /dev/null and b/client/src/Components/Product/kid8.jpeg differ diff --git a/client/src/Components/Product/kid9.jpeg b/client/src/Components/Product/kid9.jpeg new file mode 100644 index 0000000..04fd16c Binary files /dev/null and b/client/src/Components/Product/kid9.jpeg differ diff --git a/client/src/Components/Product/product_14.png b/client/src/Components/Product/product_14.png new file mode 100644 index 0000000..4961077 Binary files /dev/null and b/client/src/Components/Product/product_14.png differ diff --git a/client/src/Components/Product/product_15.png b/client/src/Components/Product/product_15.png new file mode 100644 index 0000000..c244af4 Binary files /dev/null and b/client/src/Components/Product/product_15.png differ diff --git a/client/src/Components/Product/product_16.png b/client/src/Components/Product/product_16.png new file mode 100644 index 0000000..81689c1 Binary files /dev/null and b/client/src/Components/Product/product_16.png differ diff --git a/client/src/Components/Product/product_17.png b/client/src/Components/Product/product_17.png new file mode 100644 index 0000000..7abb1fc Binary files /dev/null and b/client/src/Components/Product/product_17.png differ diff --git a/client/src/Components/Product/product_18.png b/client/src/Components/Product/product_18.png new file mode 100644 index 0000000..6bcebdd Binary files /dev/null and b/client/src/Components/Product/product_18.png differ diff --git a/client/src/Components/Product/product_19.png b/client/src/Components/Product/product_19.png new file mode 100644 index 0000000..b691273 Binary files /dev/null and b/client/src/Components/Product/product_19.png differ diff --git a/client/src/Components/Product/product_20.png b/client/src/Components/Product/product_20.png new file mode 100644 index 0000000..4b0e215 Binary files /dev/null and b/client/src/Components/Product/product_20.png differ diff --git a/client/src/Components/Product/product_21.png b/client/src/Components/Product/product_21.png new file mode 100644 index 0000000..5d8b0d6 Binary files /dev/null and b/client/src/Components/Product/product_21.png differ diff --git a/client/src/Components/Product/product_22.png b/client/src/Components/Product/product_22.png new file mode 100644 index 0000000..c62edb4 Binary files /dev/null and b/client/src/Components/Product/product_22.png differ diff --git a/client/src/Components/Product/product_23.png b/client/src/Components/Product/product_23.png new file mode 100644 index 0000000..27bfa97 Binary files /dev/null and b/client/src/Components/Product/product_23.png differ diff --git a/client/src/Components/Product/product_24.png b/client/src/Components/Product/product_24.png new file mode 100644 index 0000000..d46be5a Binary files /dev/null and b/client/src/Components/Product/product_24.png differ diff --git a/client/src/Components/Product/product_25.png b/client/src/Components/Product/product_25.png new file mode 100644 index 0000000..a554ee1 Binary files /dev/null and b/client/src/Components/Product/product_25.png differ diff --git a/client/src/Components/Product/product_26.png b/client/src/Components/Product/product_26.png new file mode 100644 index 0000000..4358e12 Binary files /dev/null and b/client/src/Components/Product/product_26.png differ diff --git a/client/src/Components/Product/product_27.png b/client/src/Components/Product/product_27.png new file mode 100644 index 0000000..ca2bfe7 Binary files /dev/null and b/client/src/Components/Product/product_27.png differ diff --git a/client/src/Components/Product/product_28.png b/client/src/Components/Product/product_28.png new file mode 100644 index 0000000..ce623e3 Binary files /dev/null and b/client/src/Components/Product/product_28.png differ diff --git a/client/src/Components/Product/product_29.png b/client/src/Components/Product/product_29.png new file mode 100644 index 0000000..06a884f Binary files /dev/null and b/client/src/Components/Product/product_29.png differ diff --git a/client/src/Components/Product/product_30.png b/client/src/Components/Product/product_30.png new file mode 100644 index 0000000..af9d6ec Binary files /dev/null and b/client/src/Components/Product/product_30.png differ diff --git a/client/src/Components/Product/product_31.png b/client/src/Components/Product/product_31.png new file mode 100644 index 0000000..7bfe732 Binary files /dev/null and b/client/src/Components/Product/product_31.png differ diff --git a/client/src/Components/Product/product_32.png b/client/src/Components/Product/product_32.png new file mode 100644 index 0000000..2166d02 Binary files /dev/null and b/client/src/Components/Product/product_32.png differ diff --git a/client/src/Components/Product/product_33.png b/client/src/Components/Product/product_33.png new file mode 100644 index 0000000..941cbb0 Binary files /dev/null and b/client/src/Components/Product/product_33.png differ diff --git a/client/src/Components/Product/product_34.png b/client/src/Components/Product/product_34.png new file mode 100644 index 0000000..e6c3eda Binary files /dev/null and b/client/src/Components/Product/product_34.png differ diff --git a/client/src/Components/Product/product_35.png b/client/src/Components/Product/product_35.png new file mode 100644 index 0000000..23ba791 Binary files /dev/null and b/client/src/Components/Product/product_35.png differ diff --git a/client/src/Components/Product/product_36.png b/client/src/Components/Product/product_36.png new file mode 100644 index 0000000..24b9fb6 Binary files /dev/null and b/client/src/Components/Product/product_36.png differ diff --git a/client/src/Components/Product/shirt1.jpeg b/client/src/Components/Product/shirt1.jpeg new file mode 100644 index 0000000..890767c Binary files /dev/null and b/client/src/Components/Product/shirt1.jpeg differ diff --git a/client/src/Components/Product/shirt2.jpeg b/client/src/Components/Product/shirt2.jpeg new file mode 100644 index 0000000..7362cbf Binary files /dev/null and b/client/src/Components/Product/shirt2.jpeg differ diff --git a/client/src/Components/Product/shirt3.jpeg b/client/src/Components/Product/shirt3.jpeg new file mode 100644 index 0000000..837ba73 Binary files /dev/null and b/client/src/Components/Product/shirt3.jpeg differ diff --git a/client/src/Components/Product/shirt4.jpeg b/client/src/Components/Product/shirt4.jpeg new file mode 100644 index 0000000..d4301ee Binary files /dev/null and b/client/src/Components/Product/shirt4.jpeg differ diff --git a/client/src/Components/Product/shirt5.jpeg b/client/src/Components/Product/shirt5.jpeg new file mode 100644 index 0000000..fb5e29e Binary files /dev/null and b/client/src/Components/Product/shirt5.jpeg differ diff --git a/client/src/Components/Product/shirt6.jpeg b/client/src/Components/Product/shirt6.jpeg new file mode 100644 index 0000000..6e20b43 Binary files /dev/null and b/client/src/Components/Product/shirt6.jpeg differ diff --git a/client/src/Components/Product/suit.jpeg b/client/src/Components/Product/suit.jpeg new file mode 100644 index 0000000..c1e8fd3 Binary files /dev/null and b/client/src/Components/Product/suit.jpeg differ diff --git a/client/src/Components/Product/tshirt.jpeg b/client/src/Components/Product/tshirt.jpeg new file mode 100644 index 0000000..258ae98 Binary files /dev/null and b/client/src/Components/Product/tshirt.jpeg differ diff --git a/client/src/Components/Product/tshirt1.jpeg b/client/src/Components/Product/tshirt1.jpeg new file mode 100644 index 0000000..bab85fd Binary files /dev/null and b/client/src/Components/Product/tshirt1.jpeg differ diff --git a/client/src/Components/Product/tshirt2.jpeg b/client/src/Components/Product/tshirt2.jpeg new file mode 100644 index 0000000..df075a4 Binary files /dev/null and b/client/src/Components/Product/tshirt2.jpeg differ diff --git a/client/src/Components/Product/tshirt3.jpeg b/client/src/Components/Product/tshirt3.jpeg new file mode 100644 index 0000000..2809b14 Binary files /dev/null and b/client/src/Components/Product/tshirt3.jpeg differ diff --git a/client/src/Components/Product/tshirt4.jpeg b/client/src/Components/Product/tshirt4.jpeg new file mode 100644 index 0000000..0dd198f Binary files /dev/null and b/client/src/Components/Product/tshirt4.jpeg differ diff --git a/client/src/Components/Product/tshirt5.jpeg b/client/src/Components/Product/tshirt5.jpeg new file mode 100644 index 0000000..4d2928f Binary files /dev/null and b/client/src/Components/Product/tshirt5.jpeg differ diff --git a/client/src/Components/Product/tshirt6.jpeg b/client/src/Components/Product/tshirt6.jpeg new file mode 100644 index 0000000..20d53f7 Binary files /dev/null and b/client/src/Components/Product/tshirt6.jpeg differ diff --git a/client/src/Components/ProductCard.js b/client/src/Components/ProductCard.js index 6ec20ec..b859af0 100644 --- a/client/src/Components/ProductCard.js +++ b/client/src/Components/ProductCard.js @@ -1,61 +1,30 @@ -import React, { useState } from 'react'; - -function ProductCard({ prop }) { - const [isFavorite, setIsFavorite] = useState(false); - - const toggleFavorite = () => { - setIsFavorite(!isFavorite); - }; +import React from 'react' +function ProductCard({prop}) { return ( -
-
- {prop.title} - -
-
-
-
{prop.brand}
-

{prop.title}

+
+ +
+ + +
-
-
- {prop.discountprice} -
-
- {prop.actualprice} -
-
- {`(${Number.parseInt(prop.discountpercentage) - ? prop.discountpercentage - : "30"}% OFF)`} -
-
-
+ Sunset in the mountains +
+
{prop.brand}
+

+ {prop.title} +

+
+
{prop.discountprice}
+
{prop.actualprice}
+
{`( ${Number.parseInt(prop.discountpercentage)?prop.discountpercentage:"20"} OFF )`}
- ); +
+ + +
+ ) } -export default ProductCard; +export default ProductCard diff --git a/client/src/Components/Products.js b/client/src/Components/Products.js index a1d08cf..5733481 100644 --- a/client/src/Components/Products.js +++ b/client/src/Components/Products.js @@ -8,10 +8,9 @@ function Products() { const [loading,setloading]=useState(true); const {product}= useParams(); useEffect(() => { - const fetchData = async () => { try { - + console.log(process.env.REACT_APP_API_URL,"url"); const res = await axios.post(`${process.env.REACT_APP_API_URL}/getproducts`, { query: product }); console.log(res.data) if(data){ @@ -31,8 +30,7 @@ function Products() { return ( <> -
-
+
{loading &&
loading
} {data.length>0 && data.map((item,i)=>{ @@ -46,7 +44,7 @@ function Products() { -
+
) diff --git a/client/src/Components/Register.js b/client/src/Components/Register.js index 3f5daab..ffbae75 100644 --- a/client/src/Components/Register.js +++ b/client/src/Components/Register.js @@ -1,47 +1,5 @@ -import React, { useState } from 'react'; -import { useNavigate } from 'react-router-dom'; -import axios from 'axios'; - - - +import React from 'react'; function Register(){ - const [email,setEmail]=useState(''); - const [name ,setName] =useState(''); - const [password,setPassword]=useState(''); - const [error, setError] = useState(''); - const [success,setSuccess]=useState(''); - const navigate = useNavigate(); - - - // here created the sign up logic of register - async function registerUser(ev){ - ev.preventDefault(); - setError(''); - setSuccess(''); - - if(!name || !password ||!email){ - setError('All fields are required') - } - try { - await axios.post(`${process.env.REACT_APP_API_URL}/register`,{ - name, - email, - password, - - }); - - setSuccess('Registration Successful! Now you can login.'); - console.log(name) - navigate('/login'); - - } - catch(ev){ - alert('Registration Failure'); - } - } - - - return( <>
@@ -50,28 +8,23 @@ return(
-
+
-
- - setName(ev.target.value)} className="rounded-md flex-1 border-0 bg-transparent py-1.5 pl-1 text-gray-900 placeholder:text-gray-400 focus:ring-1 sm:text-sm sm:leading-6" placeholder="Full Name"/> +
+
-
- - setEmail(ev.target.value)} autoComplete="email" className="rounded-md flex-1 border-0 bg-transparent py-1.5 pl-1 text-gray-900 placeholder:text-gray-400 focus:ring-1 sm:text-sm sm:leading-6" placeholder="Enter email"/> - +
- setPassword(ev.target.value)} className="rounded-md flex-1 border-0 bg-transparent py-1.5 pl-1 text-gray-900 placeholder:text-gray-400 focus:ring-0 sm:text-sm sm:leading-6" placeholder="Enter password"/> +
- - +
+ +
+
- {error &&

{error}

} - {success &&

{success}

}
@@ -80,7 +33,7 @@ return(
- Already a user?Signin here + Already a user?Signin here
diff --git a/client/src/Components/SearchBar.js b/client/src/Components/SearchBar.js index d96f7a8..6f20bea 100644 --- a/client/src/Components/SearchBar.js +++ b/client/src/Components/SearchBar.js @@ -1,39 +1,27 @@ +import React from 'react' -import React, { useState } from 'react'; -import { useNavigate } from 'react-router-dom'; -import { CiSearch } from "react-icons/ci"; function SearchBar() { - const navigate = useNavigate(); - const [query ,setQuery]=useState(''); - const handleSearch = (e) => { - e.preventDefault(); - // console.log('searching for query', query); - navigate(`/category/${query}`); + return ( +
+
- }; + + + +
+
- return ( -
-
- setQuery(e.target.value)} - type="text" - name="q" - className="border h-9 shadow px-4 py-2 rounded-full dark:text-gray-800 dark:border-gray-700 dark:bg-gray-200" - placeholder="Search" - /> - -
-
- ); + ) } -export default SearchBar; +export default SearchBar diff --git a/client/src/Helper/Context.js b/client/src/Helper/Context.js deleted file mode 100644 index 09bfb1c..0000000 --- a/client/src/Helper/Context.js +++ /dev/null @@ -1,6 +0,0 @@ -// Context.js -import { createContext } from 'react'; - -const UserContext = createContext(); - -export default UserContext; diff --git a/client/src/Helper/UserContextProvider.jsx b/client/src/Helper/UserContextProvider.jsx deleted file mode 100644 index c0fbea8..0000000 --- a/client/src/Helper/UserContextProvider.jsx +++ /dev/null @@ -1,28 +0,0 @@ -import React, { useState } from 'react'; -import UserContext from './Context'; -import { useEffect } from 'react'; -import axios from 'axios'; - -const UserContextProvider = ({ children }) => { - const [loggedIn, setLoggedIn] = useState(false); - const [user,setUser] =useState(null); - console.log("user in context",user) - - useEffect(() => { - if(!user){ - axios.get(`${process.env.REACT_APP_API_URL}/profile`, { withCredentials: true }).then(({data})=>{ - setUser(data) - }) - } - - }, []); - - - return ( - - {children} - - ); -}; - -export default UserContextProvider; diff --git a/client/src/index.js b/client/src/index.js index 11302fb..41196da 100644 --- a/client/src/index.js +++ b/client/src/index.js @@ -3,7 +3,7 @@ import ReactDOM from 'react-dom/client'; import './output.css'; import App from './App'; import reportWebVitals from './reportWebVitals'; -import './index.css'; + const root = ReactDOM.createRoot(document.getElementById('root')); root.render( diff --git a/client/tailwind.config.js b/client/tailwind.config.js index e1fadee..6214577 100644 --- a/client/tailwind.config.js +++ b/client/tailwind.config.js @@ -1,19 +1,20 @@ /** @type {import('tailwindcss').Config} */ module.exports = { - + mode:"jit", content: [ "./src/**/*.{js,jsx,ts,tsx}", - "./src/Components/**/*.{js,jsx,ts,tsx}", + "./src/Components/*.{js,jsx,ts,tsx}", + ], theme: { extend: { colors: { 'darkblue': '#112D4E', 'lightblue': '#3F72AF', - 'subtleblue': '#DBE2EF', - 'whitish': '#F9F7F7', - }, + 'subtleblue':'#DBE2EF', + 'whitish':'#F9F7F7' + } }, }, plugins: [], -}; +} \ No newline at end of file