From b2b21cb98e1f082fdc8ab877670b275a4b5ce387 Mon Sep 17 00:00:00 2001 From: kaamil2 Date: Thu, 16 Nov 2023 17:05:51 -0500 Subject: [PATCH] component ofr the financial slider --- package-lock.json | 11 + package.json | 1 + .../20231102233004_init/migration.sql | 16 ++ src/components/FinancialLiteracyComponent.tsx | 8 +- src/components/MessageCarousel.tsx | 211 ++++++++++++++++++ src/components/circle_gray.png | Bin 0 -> 26716 bytes src/pages/dashboard/index.tsx | 5 +- 7 files changed, 248 insertions(+), 4 deletions(-) create mode 100644 prisma/migrations/20231102233004_init/migration.sql create mode 100644 src/components/MessageCarousel.tsx create mode 100644 src/components/circle_gray.png diff --git a/package-lock.json b/package-lock.json index fc5dec3..196be53 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ "i": "^0.3.7", "isemail": "^3.2.0", "jsonwebtoken": "^9.0.2", + "keen-slider": "^6.8.6", "next": "13.4.19", "next-auth": "^4.23.1", "postcss": "8.4.28", @@ -2702,6 +2703,11 @@ "safe-buffer": "^5.0.1" } }, + "node_modules/keen-slider": { + "version": "6.8.6", + "resolved": "https://registry.npmjs.org/keen-slider/-/keen-slider-6.8.6.tgz", + "integrity": "sha512-dcEQ7GDBpCjUQA8XZeWh3oBBLLmyn8aoeIQFGL/NTVkoEOsmlnXqA4QykUm/SncolAZYGsEk/PfUhLZ7mwMM2w==" + }, "node_modules/lilconfig": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", @@ -5948,6 +5954,11 @@ "safe-buffer": "^5.0.1" } }, + "keen-slider": { + "version": "6.8.6", + "resolved": "https://registry.npmjs.org/keen-slider/-/keen-slider-6.8.6.tgz", + "integrity": "sha512-dcEQ7GDBpCjUQA8XZeWh3oBBLLmyn8aoeIQFGL/NTVkoEOsmlnXqA4QykUm/SncolAZYGsEk/PfUhLZ7mwMM2w==" + }, "lilconfig": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", diff --git a/package.json b/package.json index 33c4b7d..c1c8b38 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "i": "^0.3.7", "isemail": "^3.2.0", "jsonwebtoken": "^9.0.2", + "keen-slider": "^6.8.6", "next": "13.4.19", "next-auth": "^4.23.1", "postcss": "8.4.28", diff --git a/prisma/migrations/20231102233004_init/migration.sql b/prisma/migrations/20231102233004_init/migration.sql new file mode 100644 index 0000000..2c4f0f6 --- /dev/null +++ b/prisma/migrations/20231102233004_init/migration.sql @@ -0,0 +1,16 @@ +/* + Warnings: + + - You are about to drop the column `passed` on the `ModuleExam` table. All the data in the column will be lost. + - You are about to drop the column `score` on the `ModuleExam` table. All the data in the column will be lost. + - You are about to drop the column `passed` on the `SubModuleQuiz` table. All the data in the column will be lost. + - You are about to drop the column `score` on the `SubModuleQuiz` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "ModuleExam" DROP COLUMN "passed", +DROP COLUMN "score"; + +-- AlterTable +ALTER TABLE "SubModuleQuiz" DROP COLUMN "passed", +DROP COLUMN "score"; diff --git a/src/components/FinancialLiteracyComponent.tsx b/src/components/FinancialLiteracyComponent.tsx index 329e07c..f4c5d39 100644 --- a/src/components/FinancialLiteracyComponent.tsx +++ b/src/components/FinancialLiteracyComponent.tsx @@ -1,4 +1,7 @@ import * as React from "react"; +import { useKeenSlider } from "keen-slider/react"; +import "keen-slider/keen-slider.min.css"; +import Wheel from "./MessageCarousel"; export function LearningComponent(props: any) { return ( @@ -245,7 +248,8 @@ function FinancialLiteracyComponent(props: any) {
-
+ + {/*
@@ -280,7 +284,7 @@ function FinancialLiteracyComponent(props: any) {
-
+
*/}
diff --git a/src/components/MessageCarousel.tsx b/src/components/MessageCarousel.tsx new file mode 100644 index 0000000..5d59865 --- /dev/null +++ b/src/components/MessageCarousel.tsx @@ -0,0 +1,211 @@ +import React, { useState } from "react"; +import { useKeenSlider, KeenSliderPlugin } from "keen-slider/react"; +import "keen-slider/keen-slider.min.css"; +import graycircle from "./circle_gray.png"; +import Image from "next/image"; + +const WheelControls: KeenSliderPlugin = (slider) => { + let touchTimeout: ReturnType; + let position: { + x: number; + y: number; + }; + let wheelActive: boolean; + + function dispatch(e: WheelEvent, name: string) { + position.x -= e.deltaX; + position.y -= e.deltaY; + slider.container.dispatchEvent( + new CustomEvent(name, { + detail: { + x: position.x, + y: position.y, + }, + }) + ); + } + + function wheelStart(e: WheelEvent) { + position = { + x: e.pageX, + y: e.pageY, + }; + dispatch(e, "ksDragStart"); + } + + function wheel(e: WheelEvent) { + dispatch(e, "ksDrag"); + } + + function wheelEnd(e: WheelEvent) { + dispatch(e, "ksDragEnd"); + } + + function eventWheel(e: WheelEvent) { + e.preventDefault(); + if (!wheelActive) { + wheelStart(e); + wheelActive = true; + } + wheel(e); + clearTimeout(touchTimeout); + touchTimeout = setTimeout(() => { + wheelActive = false; + wheelEnd(e); + }, 50); + } + + slider.on("created", () => { + slider.container.addEventListener("wheel", eventWheel, { + passive: false, + }); + }); +}; + +function Wheel() { + const [sliderRef] = useKeenSlider( + { + loop: false, + rubberband: false, + vertical: false, + slides: { + origin: "center", + perView: 2, + spacing: 15, + }, + }, + [WheelControls] + ); + + return ( +
+
+
+
+
+ graycircle +
+ "Super easy and clear! I can not recommend it enough Super easy + and clear! I can not recommend it enough." +
+

+ -Aisha +

+
+
+
+
+
+
+
+ graycircle +
+ "Super easy and clear! I can not recommend it enough Super easy + and clear! I can not recommend it enough." +
+

+ -Aisha +

+
+
+
+
+
+
+
+ graycircle +
+ "Super easy and clear! I can not recommend it enough Super easy + and clear! I can not recommend it enough." +
+

+ -Aisha +

+
+
+
+
+
+
+
+ graycircle +
+ "Super easy and clear! I can not recommend it enough Super easy + and clear! I can not recommend it enough." +
+

+ -Aisha +

+
+
+
+
+
+
+
+ graycircle +
+ "Super easy and clear! I can not recommend it enough Super easy + and clear! I can not recommend it enough." +
+

+ -Aisha +

+
+
+
+
+
+
+
+ graycircle +
+ "Super easy and clear! I can not recommend it enough Super easy + and clear! I can not recommend it enough." +
+

+ -Aisha +

+
+
+
+
+ ); +} +export default Wheel; diff --git a/src/components/circle_gray.png b/src/components/circle_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..c1f3bc80892311bd671fa78f2b9d1834d7928951 GIT binary patch literal 26716 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 kTG}esLig`gAuO*I*hFT867yAyZUH}dashboard here) -} \ No newline at end of file + return ; +}