From 6d6bca27489b4381b20281899ae725b2cd45278c Mon Sep 17 00:00:00 2001 From: YaelMalka <329467211@org.zzv.il> Date: Mon, 25 May 2026 13:55:37 +0300 Subject: [PATCH] add yael malka code --- package.json | 2 +- src/generated/branches.ts | 164 +++----------------- src/students/index.ts | 9 ++ src/students/yael-malka/Card.tsx | 11 ++ src/students/yael-malka/JokePage.tsx | 16 ++ src/students/yael-malka/styles.module.css | 179 ++++++++++++++++++++++ 6 files changed, 234 insertions(+), 147 deletions(-) create mode 100644 src/students/yael-malka/Card.tsx create mode 100644 src/students/yael-malka/JokePage.tsx create mode 100644 src/students/yael-malka/styles.module.css diff --git a/package.json b/package.json index 0545857..d7ac233 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "version": "0.0.0", "type": "module", "scripts": { - "dev": "gen-branches && vite", + "dev": "npm run gen-branches && vite", "build": "tsc -b && vite build", "lint": "eslint .", "preview": "vite preview", diff --git a/src/generated/branches.ts b/src/generated/branches.ts index 7a56c3b..8645f9e 100644 --- a/src/generated/branches.ts +++ b/src/generated/branches.ts @@ -2,170 +2,42 @@ import type { BranchData } from "../types"; const data: BranchData = { - "generatedAt": "2026-04-26T22:06:42.722Z", - "currentBranch": "", + "generatedAt": "2026-05-25T08:33:12.872Z", + "currentBranch": "master", "mainBranch": "master", "branches": [ { "name": "master", "parentBranch": null, - "shortHash": "", - "lastCommitMessage": "", - "isMergedIntoParent": false, - "isCurrent": false - }, - { - "name": "diamond", - "parentBranch": "master", - "shortHash": "234", - "lastCommitMessage": "diamond", - "isMergedIntoParent": false, - "isCurrent": false - }, - { - "name": "red", - "parentBranch": "diamond", - "shortHash": "23444", - "lastCommitMessage": "moshe", - "isMergedIntoParent": false, - "isCurrent": false - }, - { - "name": "miri", - "parentBranch": "red", - "shortHash": "23444", - "lastCommitMessage": "miri", - "isMergedIntoParent": false, - "isCurrent": false - }, - { - "name": "roch", - "parentBranch": "red", - "shortHash": "23444", - "lastCommitMessage": "roch ", - "isMergedIntoParent": false, - "isCurrent": false - }, - { - "name": "roch", - "parentBranch": "red", - "shortHash": "23444", - "lastCommitMessage": "roch ", + "shortHash": "0c10217", + "lastCommitMessage": "fix: instructions branch names", "isMergedIntoParent": false, - "isCurrent": false - }, - { - "name": "avi nos", - "parentBranch": "red", - "shortHash": "23444", - "lastCommitMessage": "roch ", - "isMergedIntoParent": true, - "isCurrent": false + "isCurrent": true }, { - "name": "shia cjss s", - "parentBranch": "red", - "shortHash": "23444", - "lastCommitMessage": "roch ", + "name": "stars", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", "isMergedIntoParent": false, "isCurrent": false }, { - "name": "blue", - "parentBranch": "diamond", - "shortHash": "23444", - "lastCommitMessage": "moshe", + "name": "stars-green", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", "isMergedIntoParent": false, "isCurrent": false }, { - "name": "red", - "parentBranch": "diamond", - "shortHash": "23444", - "lastCommitMessage": "moshe", + "name": "stars-green-bat-sheva-bloch", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", "isMergedIntoParent": false, - "isCurrent": true - }, - { - "name": "star", - "parentBranch": "master", - "shortHash": "23454", - "lastCommitMessage": "yos", - "isMergedIntoParent": true, - "isCurrent": false - }, - { - "name": "green", - "parentBranch": "star", - "shortHash": "23454", - "lastCommitMessage": "green", - "isMergedIntoParent": true, - "isCurrent": false - }, - { - "name": "tut", - "parentBranch": "green", - "shortHash": "23454", - "lastCommitMessage": "green", - "isMergedIntoParent": true, - "isCurrent": false - }, - { - "name": "brach", - "parentBranch": "green", - "shortHash": "23454", - "lastCommitMessage": "green", - "isMergedIntoParent": true, - "isCurrent": false - }, - { - "name": "yochi", - "parentBranch": "green", - "shortHash": "23454", - "lastCommitMessage": "green", - "isMergedIntoParent": true, "isCurrent": false - }, - { - "name": "sjn cjknd", - "parentBranch": "green", - "shortHash": "23454", - "lastCommitMessage": "green", - "isMergedIntoParent": true, - "isCurrent": false - }, - { - "name": "yellow", - "parentBranch": "star", - "shortHash": "23454", - "lastCommitMessage": "yellow fkgnlfg df", - "isMergedIntoParent": true, - "isCurrent": false - }, - { - "name": "hjdf df", - "parentBranch": "yellow", - "shortHash": "23454", - "lastCommitMessage": "yellow fkgnlfg df", - "isMergedIntoParent": true, - "isCurrent": false - }, - { - "name": "gfkj dfkn", - "parentBranch": "yellow", - "shortHash": "23454", - "lastCommitMessage": "yellow fkgnlfg df", - "isMergedIntoParent": true, - "isCurrent": false - }, - { - "name": "fldngk df", - "parentBranch": "yellow", - "shortHash": "23454", - "lastCommitMessage": "yellow fkgnlfg df", - "isMergedIntoParent": true, - "isCurrent": false - }, + } ] }; diff --git a/src/students/index.ts b/src/students/index.ts index 5be78e7..594f44a 100644 --- a/src/students/index.ts +++ b/src/students/index.ts @@ -5,6 +5,8 @@ import DanaDuviJokePage from "./dana-duvi/JokePage"; import ChaniChanzinCard from "./chani-chanzin/Card"; import ChaniChanzinJokePage from "./chani-chanzin/JokePage"; +import YaelCard from "./yael-malka/Card"; +import YaelJokePage from "./yael-malka/JokePage"; // ⚠️ סדר הרשימה חייב להיות לפי סדר האלף-בית העברי לפי שם המשפחה. // כל תלמידה מוסיפה את עצמה במקום הנכון ידנית. @@ -24,6 +26,13 @@ const students: Student[] = [ CardComponent: ChaniChanzinCard, JokePageComponent: ChaniChanzinJokePage, }, + { + id: "yael-malka", + name: "יעל מלכא", + jokeTitle: "מורה ותלמיד", + CardComponent: YaelCard, + JokePageComponent: YaelJokePage, +}, ]; export default students; diff --git a/src/students/yael-malka/Card.tsx b/src/students/yael-malka/Card.tsx new file mode 100644 index 0000000..6b78292 --- /dev/null +++ b/src/students/yael-malka/Card.tsx @@ -0,0 +1,11 @@ +import styles from "./styles.module.css"; +import { CardProps } from "../../types"; + +export default function YaelCard({ student, onClick }: CardProps) { + return ( +
+

{student.jokeTitle}

+

{student.name}

+
+ ); +} \ No newline at end of file diff --git a/src/students/yael-malka/JokePage.tsx b/src/students/yael-malka/JokePage.tsx new file mode 100644 index 0000000..90a25ac --- /dev/null +++ b/src/students/yael-malka/JokePage.tsx @@ -0,0 +1,16 @@ +import styles from "./styles.module.css"; +import { PageProps } from "../../types"; + +export default function YaelJokePage({ onBack }: PageProps) { + return ( +
+

מורה שואלת תלמיד:

+

+"אם יש לך 10 שקלים ואתה מבקש מאמא עוד 10 — כמה יש לך?"
+התלמיד עונה: "10."
+המורה: "אתה לא יודע חשבון?"
+התלמיד: "את לא מכירה את אמא שלי..." 😄


+ +
+ ); +} \ No newline at end of file diff --git a/src/students/yael-malka/styles.module.css b/src/students/yael-malka/styles.module.css new file mode 100644 index 0000000..d4116d9 --- /dev/null +++ b/src/students/yael-malka/styles.module.css @@ -0,0 +1,179 @@ +.card { + position: relative; + padding: 18px 20px; + border-radius: 18px; + + background: linear-gradient(145deg, #ffffff, #f3f6ff); + border: 1px solid rgba(0, 0, 0, 0.06); + + box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08); + cursor: pointer; + + display: flex; + flex-direction: column; + gap: 10px; + + transition: all 0.3s ease; + overflow: hidden; +} + +/* אפקט זוהר עדין בפינה */ +.card::before { + content: ""; + position: absolute; + width: 160px; + height: 160px; + top: -50px; + right: -50px; + background: radial-gradient(circle, #6c63ff33, transparent 70%); + z-index: 0; +} + +/* אפקט קו זוהר בתחתית */ +.card::after { + content: ""; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 3px; + background: linear-gradient(90deg, #6c63ff, #00d4ff, #6c63ff); + opacity: 0.7; +} + +.card:hover { + transform: translateY(-6px) scale(1.02); + box-shadow: 0 18px 40px rgba(0, 0, 0, 0.15); +} + +.title { + font-size: 28px; + font-weight: 700; + color: #1f2233; + z-index: 1; + margin: 0; +} + +.name { + font-size: 16px; + color: #6b7280; + z-index: 1; + margin: 0; +} + +/* אפקט כניסה */ +.card { + animation: fadeIn 0.4s ease; +} + +@keyframes fadeIn { + from { + opacity: 0; + transform: translateY(10px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + + +.jokePage { + min-height: 100vh; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + + padding: 24px; + + background: radial-gradient(circle at top, #7c5cff22, transparent 40%), + radial-gradient(circle at bottom, #00d4ff22, transparent 40%), + #0f172a; + + font-family: system-ui, sans-serif; +} + +/* כרטיס מרכזי */ +.jokePage > p { + max-width: 520px; +} + +/* כרטיס תוכן */ +.jokePage { + gap: 16px; +} + +/* הופך את התוכן לכרטיס יפה */ +.jokePage { + text-align: center; +} + +/* ניצור "כרטיס פנימי" בעזרת pseudo wrapper */ +.jokePage::before { + content: ""; + position: absolute; + width: 0; + height: 0; +} + +/* נעטוף את התוכן עצמו */ +.jokePage p:nth-of-type(2) { + background: rgba(255, 255, 255, 0.08); + backdrop-filter: blur(12px); + -webkit-backdrop-filter: blur(12px); + + padding: 20px; + border-radius: 18px; + + border: 1px solid rgba(255, 255, 255, 0.15); + + color: #e5e7eb; + line-height: 1.7; + + box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35); + + animation: pop 0.4s ease; +} + +/* כותרת */ +.jokePage p:first-of-type { + font-size: 18px; + color: #a5b4fc; + margin-bottom: 10px; +} + +/* כפתור */ +.jokePage button { + margin-top: 20px; + + padding: 10px 18px; + border-radius: 12px; + + border: none; + cursor: pointer; + + background: linear-gradient(90deg, #7c5cff, #00d4ff); + color: white; + + font-weight: 600; + + transition: transform 0.2s ease, box-shadow 0.2s ease; +} + +.jokePage button:hover { + transform: translateY(-2px); + box-shadow: 0 10px 20px rgba(124, 92, 255, 0.3); +} + +/* אנימציה */ +@keyframes pop { + from { + opacity: 0; + transform: scale(0.95); + } + to { + opacity: 1; + transform: scale(1); + } +} \ No newline at end of file