From e84caafec32e4e629533cd65c39f571ec653d024 Mon Sep 17 00:00:00 2001 From: Jean Piere Rodriguez Date: Mon, 16 Jun 2025 05:25:16 -0500 Subject: [PATCH] =?UTF-8?q?feat:=20show=20carousel=20with=20project=C2=B4s?= =?UTF-8?q?=20update?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/imgs/placeholder-project-update.jpg | Bin 0 -> 6797 bytes src/components/Carousel.svelte | 94 +++++++++--------- src/components/project/ProjectUpdate.svelte | 102 +++++++++++++++++++- src/components/project/SingleProject.svelte | 2 - src/components/project/Tabs.svelte | 24 +++-- src/i18n/locales/es.json | 11 ++- 6 files changed, 176 insertions(+), 57 deletions(-) create mode 100644 public/imgs/placeholder-project-update.jpg diff --git a/public/imgs/placeholder-project-update.jpg b/public/imgs/placeholder-project-update.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6c3183576ac294a0d13c8ef1ce37e12affd8491e GIT binary patch literal 6797 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 WBWd;x!Q9Zbg!ta^1K{h!@_zv#L5N=f literal 0 HcmV?d00001 diff --git a/src/components/Carousel.svelte b/src/components/Carousel.svelte index 47127799..ebd93054 100644 --- a/src/components/Carousel.svelte +++ b/src/components/Carousel.svelte @@ -1,14 +1,17 @@ -
+
handleStart(e.pageX)} + on:mousemove={(e) => handleMove(e.pageX, e)} on:mouseup={endDrag} on:mouseleave={endDrag} - on:touchstart={handleTouchStart} - on:touchmove={handleTouchMove} + on:touchstart={(e) => handleStart(e.touches[0].pageX)} + on:touchmove={(e) => handleMove(e.touches[0].pageX, e)} on:touchend={endDrag} on:scroll={handleScroll} > @@ -164,21 +170,21 @@ - {#if showDots} + {#if showDots && totalGroups > 1}
{#each Array(totalGroups) as _, i}
@@ -191,6 +197,7 @@ -webkit-user-select: none; -ms-user-select: none; } + .dragging { cursor: grabbing; } @@ -199,6 +206,7 @@ scrollbar-width: none; -ms-overflow-style: none; } + .hide-scrollbar::-webkit-scrollbar { display: none; } diff --git a/src/components/project/ProjectUpdate.svelte b/src/components/project/ProjectUpdate.svelte index d490f642..19d8388b 100644 --- a/src/components/project/ProjectUpdate.svelte +++ b/src/components/project/ProjectUpdate.svelte @@ -1,20 +1,116 @@ - +
+

+ {$t("project.tabs.updates.content.title")} +

+ + {#if projectsUpdates.length === 0} +
+ {$t("project.tabs.updates.content.empty")} +
+ {/if} + + {#each projectsUpdates as project} +
+
+
+ {formatDate(project.date ?? "")} + +
+ Imagen de project update +
+
+

{project.title}

+
+

{project.subtitle}

+

{project.body}

+
+
+
+ +
+
+ {/each} +
+ + + {#if selectedProject} +
+

{selectedProject.body}

+
+ {/if} +
+
diff --git a/src/components/project/SingleProject.svelte b/src/components/project/SingleProject.svelte index cfe7cd2a..ad8898f7 100644 --- a/src/components/project/SingleProject.svelte +++ b/src/components/project/SingleProject.svelte @@ -10,7 +10,6 @@ import { getTerritoryTag } from "../../utils/getTerritoryTag"; import Countdown from "../Countdown.svelte"; import LanguagesDropdown from "../LanguagesDropdown.svelte"; - // import TestSlider from "../TestSlider.svelte"; import { languagesList } from "../../i18n/locales"; import Tabs from "./Tabs.svelte"; @@ -115,7 +114,6 @@ - diff --git a/src/components/project/Tabs.svelte b/src/components/project/Tabs.svelte index 3cd772dd..7ce19b2c 100644 --- a/src/components/project/Tabs.svelte +++ b/src/components/project/Tabs.svelte @@ -1,5 +1,4 @@