diff --git a/git b/git new file mode 100644 index 0000000..e69de29 diff --git a/package-lock.json b/package-lock.json index fc37715..c62c70c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -54,6 +54,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, + "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -1312,6 +1313,7 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz", "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", "dev": true, + "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.2.2" @@ -1368,6 +1370,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.0.tgz", "integrity": "sha512-TI1XGwKbDpo9tRW8UDIXCOeLk55qe9ZFGs8MTKU6/M08HWTw52DD/IYhfQtOEhEdPhLMT26Ka/x7p70nd3dzDg==", "dev": true, + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.59.0", "@typescript-eslint/types": "8.59.0", @@ -1630,6 +1633,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -1730,6 +1734,7 @@ "url": "https://github.com/sponsors/ai" } ], + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.10.12", "caniuse-lite": "^1.0.30001782", @@ -1932,6 +1937,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", "dev": true, + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -2551,6 +2557,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, + "peer": true, "engines": { "node": ">=12" }, @@ -2608,6 +2615,7 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -2619,6 +2627,7 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -2835,6 +2844,7 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", "dev": true, + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -2910,6 +2920,7 @@ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", "dev": true, + "peer": true, "dependencies": { "esbuild": "^0.21.3", "postcss": "^8.4.43", diff --git a/package.json b/package.json index 0545857..34f69c3 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..9671033 100644 --- a/src/generated/branches.ts +++ b/src/generated/branches.ts @@ -2,12 +2,12 @@ import type { BranchData } from "../types"; const data: BranchData = { - "generatedAt": "2026-04-26T22:06:42.722Z", - "currentBranch": "", + "generatedAt": "2026-05-27T08:00:52.317Z", + "currentBranch": "avigail_jobke", "mainBranch": "master", "branches": [ { - "name": "master", + "name": "ChavivaSeiff", "parentBranch": null, "shortHash": "", "lastCommitMessage": "", @@ -15,157 +15,693 @@ const data: BranchData = { "isCurrent": false }, { - "name": "diamond", - "parentBranch": "master", - "shortHash": "234", - "lastCommitMessage": "diamond", + "name": "Eti-NewJoke", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", "isMergedIntoParent": false, "isCurrent": false }, { - "name": "red", - "parentBranch": "diamond", - "shortHash": "23444", - "lastCommitMessage": "moshe", + "name": "Eti-Orenbach", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", "isMergedIntoParent": false, "isCurrent": false }, { - "name": "miri", - "parentBranch": "red", - "shortHash": "23444", - "lastCommitMessage": "miri", + "name": "Hilla_Arye", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", "isMergedIntoParent": false, "isCurrent": false }, { - "name": "roch", - "parentBranch": "red", - "shortHash": "23444", - "lastCommitMessage": "roch ", + "name": "Hilla_Arye_2", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", "isMergedIntoParent": false, "isCurrent": false }, { - "name": "roch", - "parentBranch": "red", - "shortHash": "23444", - "lastCommitMessage": "roch ", + "name": "Maayan-Bukrits", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", "isMergedIntoParent": false, "isCurrent": false }, { - "name": "avi nos", - "parentBranch": "red", - "shortHash": "23444", - "lastCommitMessage": "roch ", - "isMergedIntoParent": true, + "name": "MaayanBaba", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, "isCurrent": false }, { - "name": "shia cjss s", - "parentBranch": "red", - "shortHash": "23444", - "lastCommitMessage": "roch ", + "name": "RivkaBarashi", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", "isMergedIntoParent": false, "isCurrent": false }, { - "name": "blue", - "parentBranch": "diamond", - "shortHash": "23444", - "lastCommitMessage": "moshe", + "name": "Shira-Shemesh", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", "isMergedIntoParent": false, "isCurrent": false }, { - "name": "red", - "parentBranch": "diamond", - "shortHash": "23444", - "lastCommitMessage": "moshe", + "name": "ShiraShemesh2", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", "isMergedIntoParent": false, - "isCurrent": true + "isCurrent": false + }, + { + "name": "Vcomm", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "Vcomm_1", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "Vcomm_2", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "Vcomm_3", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "Vcomm_3_noaNew", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false }, { - "name": "star", + "name": "avigail_jobke", "parentBranch": "master", - "shortHash": "23454", - "lastCommitMessage": "yos", - "isMergedIntoParent": true, + "shortHash": "1be8974", + "lastCommitMessage": "Merge stars-green-johnny-update-team3 and resolve conflicts", + "isMergedIntoParent": false, + "isCurrent": true + }, + { + "name": "ayala-joke2", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "ayala-oshri-stars-green-johnny-update-team1", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "ayala-samson", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "hadar-gerafi", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "hadas-karasenti", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "johnny-update-3", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "johnny-update-team3-Eti_Munk", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "kiter-2-RachelWeinberger", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "kitera", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "kiteria-1", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "kiteria-1-chedvaf", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "kiteria-1-efrat", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "kiteria-2", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "kiteria-2-yehudit", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "kiteria-3", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "kiteria-3-Ayelet", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "kiteria-3-ester", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "kiteria-3_RachelPanet", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "kiteria_chedva", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "maayan-vecomm-1-vecomm", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, "isCurrent": false }, { - "name": "green", - "parentBranch": "star", - "shortHash": "23454", - "lastCommitMessage": "green", - "isMergedIntoParent": true, + "name": "maayan2", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "master", + "parentBranch": null, + "shortHash": "0c10217", + "lastCommitMessage": "fix: instructions branch names", + "isMergedIntoParent": false, "isCurrent": false }, { - "name": "tut", - "parentBranch": "green", - "shortHash": "23454", - "lastCommitMessage": "green", - "isMergedIntoParent": true, + "name": "mayanSJoke", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, "isCurrent": false }, { - "name": "brach", - "parentBranch": "green", - "shortHash": "23454", - "lastCommitMessage": "green", - "isMergedIntoParent": true, + "name": "noa_gabay", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, "isCurrent": false }, { - "name": "yochi", - "parentBranch": "green", - "shortHash": "23454", - "lastCommitMessage": "green", - "isMergedIntoParent": true, + "name": "ruth_jokes", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, "isCurrent": false }, { - "name": "sjn cjknd", - "parentBranch": "green", - "shortHash": "23454", - "lastCommitMessage": "green", - "isMergedIntoParent": true, + "name": "shani", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, "isCurrent": false }, { - "name": "yellow", - "parentBranch": "star", - "shortHash": "23454", - "lastCommitMessage": "yellow fkgnlfg df", - "isMergedIntoParent": true, + "name": "shani2", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, "isCurrent": false }, { - "name": "hjdf df", - "parentBranch": "yellow", - "shortHash": "23454", - "lastCommitMessage": "yellow fkgnlfg df", - "isMergedIntoParent": true, + "name": "shiraGidi", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, "isCurrent": false }, { - "name": "gfkj dfkn", - "parentBranch": "yellow", - "shortHash": "23454", - "lastCommitMessage": "yellow fkgnlfg df", - "isMergedIntoParent": true, + "name": "sola", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, "isCurrent": false }, { - "name": "fldngk df", - "parentBranch": "yellow", - "shortHash": "23454", - "lastCommitMessage": "yellow fkgnlfg df", - "isMergedIntoParent": true, + "name": "sola3", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, "isCurrent": false }, + { + "name": "sola4", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "sola_sola1", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "sola_sola1_carmi", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "sola_sola1_malka", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "sola_sola1_ruti", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "sola_sola1_sari", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "sola_sola1_shifraZ", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "sola_sola2", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "sola_sola2-Tamar", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "sola_sola2_gili", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "sola_sola2_hadas", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "sola_sola2_tamarD", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "sola_sola2_yehudit", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "sola_sola3_Efrat_Madmon", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "sola_sola3_saralevin", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "sola_sola3_yaeli", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "sola_sola3_yehudit", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "stars", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "stars-green", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "stars-green-bat-sheva-bloch", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "stars-green-johnny-update-team1", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "stars-green-johnny-update-team1-Tamar", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "stars-green-johnny-update-team1-Yael", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "stars-green-johnny-update-team1-bracha", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "stars-green-johnny-update-team2", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "stars-green-johnny-update-team2-LitalShamanov", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "stars-green-johnny-update-team3", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "stars-green-johnny-update-team3-Zehavi", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "stars-green-johnny-update-team3-chanaMoshayev", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "stars-green-jonny-update-miryam-dahari", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "tamar-levi-branch", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "team/vcomm/sub/vcomm3/noagabay", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "tovi", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "vcomm/vcomm-1/ShiraShemesh", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "vcomm/vcomm-1/ShiraShemesh2", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "vcomm/vcomm-1/tova", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "vcomm/vcomm-1/tovi", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "vcomm/vcomm-1/tovi-joke2", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "vcomm/vcomm3/ayalaKlein", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "yonny", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + }, + { + "name": "yonny-update-saraRafalowitz", + "parentBranch": null, + "shortHash": "", + "lastCommitMessage": "", + "isMergedIntoParent": false, + "isCurrent": false + } ] }; diff --git a/src/students/Avigail/Card.tsx b/src/students/Avigail/Card.tsx new file mode 100644 index 0000000..4675085 --- /dev/null +++ b/src/students/Avigail/Card.tsx @@ -0,0 +1,11 @@ +import styles from "./styles.module.css"; +import { CardProps } from "../../types"; + +export default function avigailCard({ student, onClick }: CardProps) { + return ( +
+

{student.jokeTitle}

+

{student.name}

+
+ ); +} diff --git a/src/students/Avigail/JokePage.tsx b/src/students/Avigail/JokePage.tsx new file mode 100644 index 0000000..bb37c31 --- /dev/null +++ b/src/students/Avigail/JokePage.tsx @@ -0,0 +1,33 @@ +import styles from "./styles.module.css"; +import { PageProps } from "../../types"; + +export default function avigailJokePage({ onBack }: PageProps) { + return ( +
+

החתול המדבר

+

ילד נכנס לחנות חיות ושואל: +"יש לכם חתול שמדבר?" + +המוכר מצביע על חתול בפינה. + +הילד מתקרב ושואל: +"אתה באמת יודע לדבר?" + +החתול עונה: +"ברור. אפילו עבדתי פעם כסוכן חשאי." + +הילד המופתע שואל: +"באמת?!" + +החתול אומר: +"כן, טיילתי בכל העולם, האזנתי לשיחות סודיות ואף אחד לא חשד בי כי הייתי רק חתול." + +הילד רץ למוכר: +"וואו! למה אתם מוכרים חתול כזה מיוחד?" + +המוכר מחייך ואומר: +"כי הוא ממציא סיפורים כל היום..." 😸

+ +
+ ); +} diff --git a/src/students/Avigail/styles.module.css b/src/students/Avigail/styles.module.css new file mode 100644 index 0000000..a96605c --- /dev/null +++ b/src/students/Avigail/styles.module.css @@ -0,0 +1,60 @@ +.card { + background: #f5f0ff; + border: 2px solid #c4b5fd; + box-shadow: 0 4px 12px rgba(124, 58, 237, 0.12); +} + +.card::before { + content: "🐱"; + display: block; + font-size: 2rem; + margin-bottom: 0.4rem; +} + +.title { + font-size: 1.2rem; + color: #5b21b6; + margin-bottom: 0.25rem; +} + +.name { + font-size: 0.95rem; + color: #7c3aed; +} +.jokePage { + background: linear-gradient(160deg, #ede9fe 0%, #f5f0ff 100%); +} + +.jokePage > p:first-child { + font-size: 1.35rem; + font-weight: 700; + color: #5b21b6; +} + +.jokePage > p:nth-child(2) { + background: #fff; + border: 2px solid #c4b5fd; + border-radius: 16px; + padding: 1.25rem 1.5rem; + max-width: 520px; + line-height: 1.75; + color: #3b0764; + white-space: pre-line; + box-shadow: 0 6px 18px rgba(124, 58, 237, 0.12); +} + +.jokePage > button { + background: #7c3aed; + color: #fff; + border: none; + border-radius: 24px; + padding: 0.65rem 1.6rem; + font-size: 1rem; + font-weight: 600; + cursor: pointer; + transition: background 0.2s; +} + +.jokePage > button:hover { + background: #6d28d9; +} diff --git a/src/students/Eti-Munk/Card.tsx b/src/students/Eti-Munk/Card.tsx new file mode 100644 index 0000000..5e66edc --- /dev/null +++ b/src/students/Eti-Munk/Card.tsx @@ -0,0 +1,12 @@ +import styles from "./styles.module.css"; +import { CardProps } from "../../types"; + +export default function EtiMunkCard({ student, onClick }: CardProps) { + return ( +
+

{student.jokeTitle}

+

{student.name}

+
+ ); +} + diff --git a/src/students/Eti-Munk/JokePage.tsx b/src/students/Eti-Munk/JokePage.tsx new file mode 100644 index 0000000..25074ac --- /dev/null +++ b/src/students/Eti-Munk/JokePage.tsx @@ -0,0 +1,13 @@ +import styles from "./styles.module.css"; +import { PageProps } from "../../types"; + +export default function EtiMunkJokePage({ onBack }: PageProps) { + return ( +
+

לאכל עם כף

+

אמא שמה לב שיוסי אוכל בידיים. "תאכל עם כף!" היא אומרת לו. "ברור שהוא יאכל עם כף," עונה לה אבא "כי אם הוא יאכל עם ק', זאת תהיה שגיאת כתיב! +

+ +
+ ); +} \ No newline at end of file diff --git a/src/students/Eti-Munk/styles.module.css b/src/students/Eti-Munk/styles.module.css new file mode 100644 index 0000000..e69de29 diff --git a/src/students/Maayan-Babahanov/Card.tsx b/src/students/Maayan-Babahanov/Card.tsx new file mode 100644 index 0000000..ec964d0 --- /dev/null +++ b/src/students/Maayan-Babahanov/Card.tsx @@ -0,0 +1,11 @@ +import styles from "./styles.module.css"; +import { CardProps } from "../../types"; + +export default function MaayanCard({ student, onClick }: CardProps) { + return ( +
+

{student.jokeTitle}

+

{student.name}

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

למה המתכנת הלך לישון?

+

כי הוא הגיע ל־sleep mode 😴

+ +
+ ); +} \ No newline at end of file diff --git a/src/students/Maayan-Babahanov/styles.module.css b/src/students/Maayan-Babahanov/styles.module.css new file mode 100644 index 0000000..fde9b42 --- /dev/null +++ b/src/students/Maayan-Babahanov/styles.module.css @@ -0,0 +1,141 @@ +.card { + background: linear-gradient(135deg, #fff7fa 0%, #ffeef3 100%); + border: 2px solid rgba(255, 255, 255, 0.5); + border-radius: 16px; + padding: 1.8rem 1.4rem; + text-align: center; + + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + + min-height: 180px; + + box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12); + + transition: + transform 0.2s ease, + box-shadow 0.2s ease; +} + +.card:hover { + transform: translateY(-6px); + box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2); +} + +.title { + font-size: 1.5rem; + color: #5c3b3b; + margin-bottom: 0.8rem; + font-weight: 700; +} + +.name { + font-size: 1rem; + color: #c56c86; + font-weight: 500; +} + +/* ─── Joke Page ───────────────────────── */ + +.jokePage { + min-height: 50vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + + background: #fffafb; + border: 3px solid #f3c7cf; + border-radius: 28px; + padding: 40px 30px; + max-width: 500px; + margin: 180px auto; + text-align: center; + + box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08); + + padding: 2rem 1rem; + + background: linear-gradient(135deg, #fff7fa 0%, #ffeef3 100%); +} + +.jokeBox { + background: rgba(255, 255, 255, 0.92); + border-radius: 24px; + padding: 2.5rem 2rem; + width: min(90%, 500px); + + text-align: center; + + box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12); +} + + +.jokePage p:first-of-type { + font-size: 2rem; + color: #d17b8f; + font-weight: bold; + margin-bottom: 25px; +} + +.jokePage p:nth-of-type(2) { + font-size: 1.6rem; + color: #5c3b3b; + line-height: 1.7; +} + +.jokePage button { + margin-top: 30px; + background: #f7c9d3; + border: none; + padding: 12px 24px; + border-radius: 14px; + font-size: 1rem; + cursor: pointer; + transition: 0.2s ease; + color: #5c3b3b; + font-weight: 600; +} + + +.question { + font-size: 2rem; + color: #d17b8f; + font-weight: 700; + margin-bottom: 1.5rem; +} + +.answer { + font-size: 1.5rem; + color: #5c3b3b; + line-height: 1.8; +} + +.backBtn { + margin-top: 2rem; + + background: #f7c9d3; + color: #5c3b3b; + + border: none; + border-radius: 14px; + + padding: 0.8rem 1.6rem; + + font-size: 1rem; + font-family: inherit; + font-weight: 600; + + cursor: pointer; + + transition: + background 0.2s ease, + transform 0.2s ease; +} + +.backBtn:hover { + background: #efb7c4; + transform: scale(1.05); +} \ No newline at end of file diff --git a/src/students/chanaMoshayev/Card.tsx b/src/students/chanaMoshayev/Card.tsx new file mode 100644 index 0000000..000b559 --- /dev/null +++ b/src/students/chanaMoshayev/Card.tsx @@ -0,0 +1,11 @@ +import styles from "./styles.module.css"; +import { CardProps } from "../../types" + +export default function chanaMoshayevCard({ student, onClick }: CardProps) { + return ( +
+

{student.jokeTitle}

+

{student.name}

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

המחשב החולה

+

למה המחשב היה צריך ללכת לרופא? כי היו לו יותר מדי וירוסים 😅

+ +
+
+ ); +} \ No newline at end of file diff --git a/src/students/chanaMoshayev/styles.module.css b/src/students/chanaMoshayev/styles.module.css new file mode 100644 index 0000000..4a17889 --- /dev/null +++ b/src/students/chanaMoshayev/styles.module.css @@ -0,0 +1,63 @@ + +.card { + background: linear-gradient(135deg, #0f172a, #1e3a8a, #06b6d4); + color: white; + width: 420px; + padding: 35px; + border-radius: 28px; + text-align: center; + box-shadow: 0 12px 35px rgba(0,0,0,0.35); + border: 2px solid rgba(255,255,255,0.15); + position: relative; + overflow: hidden; +} + +.card::before { + content: "🦠💻🩺"; + position: absolute; + top: 12px; + left: 18px; + font-size: 28px; + opacity: 0.3; +} + +.title { + font-size: 2rem; + font-weight: 800; + color: #38bdf8; + margin-bottom: 20px; + text-shadow: 0 0 12px rgba(56,189,248,.6); +} + +.name { + font-size: 1.2rem; + line-height: 1.8; + color: #e2e8f0; + margin-bottom: 28px; +} + +button { + background: linear-gradient(90deg,#22c55e,#16a34a); + color: white; + border: none; + padding: 12px 22px; + border-radius: 14px; + font-size: 1rem; + font-weight: bold; + cursor: pointer; + transition: .25s; +} + +button:hover { + transform: translateY(-3px) scale(1.04); + box-shadow: 0 8px 18px rgba(34,197,94,.4); +} + +.jokePage { + min-height: 100vh; + display: flex; + justify-content: center; + align-items: center; + background: + radial-gradient(circle at top, #1e293b, #020617); +} \ No newline at end of file diff --git a/src/students/index.ts b/src/students/index.ts index 5be78e7..74d74d9 100644 --- a/src/students/index.ts +++ b/src/students/index.ts @@ -1,15 +1,44 @@ import { Student } from "../types"; +import MaayanCard from "./Maayan-Babahanov/Card"; +import MaayanJokePage from "./Maayan-Babahanov/JokePage"; + +import zehaviCard from "./zehavi-gerlitz/card"; +import zehaviJokePage from "./zehavi-gerlitz/JokePage"; + import DanaDuviCard from "./dana-duvi/Card"; import DanaDuviJokePage from "./dana-duvi/JokePage"; +import avigailCard from "./Avigail/Card"; +import avigailJokePage from "./Avigail/JokePage"; + import ChaniChanzinCard from "./chani-chanzin/Card"; import ChaniChanzinJokePage from "./chani-chanzin/JokePage"; +import EtiMunkCard from "./Eti-Munk/Card"; +import EtiMunkJokePage from "./Eti-Munk/JokePage"; + +import chanaMoshayevCard from "./chanaMoshayev/Card"; +import ChanaMoshayevJokePage from "./chanaMoshayev/JokePage"; + // ⚠️ סדר הרשימה חייב להיות לפי סדר האלף-בית העברי לפי שם המשפחה. // כל תלמידה מוסיפה את עצמה במקום הנכון ידנית. -// אסור להשתמש בפונקציית-sort! +// אסור להשתמש בפונקציית-sort! const students: Student[] = [ + { + id: "Maayan-Babahanov", + name: "מעיין בבחנוב", + jokeTitle: "שיעור מחשבים 💻", + CardComponent: MaayanCard, + JokePageComponent: MaayanJokePage, + }, + { + id: "zehavi-gerlitz", + name: "זהבי גרליץ", + jokeTitle: "כעכים או כאחים?", + CardComponent: zehaviCard, + JokePageComponent: zehaviJokePage, + }, { id: "dana-duvi", name: "דנה דובי", @@ -17,6 +46,13 @@ const students: Student[] = [ CardComponent: DanaDuviCard, JokePageComponent: DanaDuviJokePage, }, + { + id: "avigail-hagoli", + name: "אביגיל חגולי", + jokeTitle: "החתול המדבר", + CardComponent: avigailCard, + JokePageComponent: avigailJokePage, + }, { id: "chani-chanzin", name: "חני חנזין", @@ -24,6 +60,20 @@ const students: Student[] = [ CardComponent: ChaniChanzinCard, JokePageComponent: ChaniChanzinJokePage, }, + { + id: "Eti Munk", + name: "אתי מונק", + jokeTitle: "לאכל עם כף ", + CardComponent: EtiMunkCard, + JokePageComponent: EtiMunkJokePage, + }, + { + id: "chana-moshayev", + name: "חנה מושייב", + jokeTitle: "המחשב החולה", + CardComponent: chanaMoshayevCard, + JokePageComponent: ChanaMoshayevJokePage, + }, ]; export default students; diff --git a/src/students/zehavi-gerlitz/JokePage.tsx b/src/students/zehavi-gerlitz/JokePage.tsx new file mode 100644 index 0000000..add8ec5 --- /dev/null +++ b/src/students/zehavi-gerlitz/JokePage.tsx @@ -0,0 +1,12 @@ +import styles from "./styles.module.css"; +import { PageProps } from "../../types"; + +export default function zehaviJokePage({ onBack }: PageProps) { + return ( +
+

מה מספיד בייגלה את אחיו שנאכל?

+

היינו "כעכים"! 🥨😭

+ +
+ ); +} \ No newline at end of file diff --git a/src/students/zehavi-gerlitz/card.tsx b/src/students/zehavi-gerlitz/card.tsx new file mode 100644 index 0000000..d1aacce --- /dev/null +++ b/src/students/zehavi-gerlitz/card.tsx @@ -0,0 +1,18 @@ +import styles from "./styles.module.css"; +import { CardProps } from "../../types"; + +export default function zehaviCard({ student, onClick }: CardProps) { + return ( +
+ {/* אמוג'י בייגלה עליון מרכזי */} +
🥨
+ + {/* תוכן הכרטיס המגיע מה-props */} +

{student.jokeTitle}

+

{student.name}

+ + {/* כפתור דקורטיבי שמתאים לעיצוב של הדוב */} + +
+ ); +} \ No newline at end of file diff --git a/src/students/zehavi-gerlitz/styles.module.css b/src/students/zehavi-gerlitz/styles.module.css new file mode 100644 index 0000000..58b6d2f --- /dev/null +++ b/src/students/zehavi-gerlitz/styles.module.css @@ -0,0 +1,106 @@ +/* --- עיצוב כרטיס הבייגלה (כרטיס גדול, פרטים קטנים) --- */ +.card { + background: linear-gradient(135deg, #fff7e6 0%, #fff1d6 100%); + border: 3px solid #6c584c; + border-radius: 28px; + padding: 30px 24px; /* החזרת המרווח הפנימי המלא */ + max-width: 340px; /* החזרת הרוחב המלא של הכרטיס המקורי */ + min-height: 240px; /* החזרת הגובה המלא של הכרטיס המקורי */ + box-shadow: 0 8px 24px rgba(108, 88, 76, 0.12); + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + text-align: center; + direction: rtl; + box-sizing: border-box; + cursor: pointer; + transition: transform 0.2s ease, box-shadow 0.2s ease; +} + +.card:hover { + transform: translateY(-4px); + box-shadow: 0 12px 30px rgba(108, 88, 76, 0.22); +} + +/* אמוג'י עליון בגודל המלא */ +.emojiContainer { + font-size: 3.5rem; + margin-bottom: 10px; + line-height: 1; +} + +/* כותרת הבדיחה בגודל המלא והבולט */ +.title { + font-size: 1.6rem; + font-weight: 800; + color: #432818; + margin: 0 0 6px 0; + line-height: 1.3; +} + +/* שם השולח - נשאר קטן ועדין לבקשתך */ +.name { + font-size: 0.85rem; /* גודל קטן ומעודן */ + color: #6c584c; + margin: 0 0 20px 0; + font-weight: normal; /* ללא הדגשה מוגזמת */ +} + +/* כפתור "לחצי לצחוק" - נשאר בגודל קטן, נורמלי ופרופורציונלי לבקשתך */ +.button { + background-color: #588157; + color: #ffffff; + border: none; + border-radius: 20px; + padding: 6px 18px; /* רווח פנימי קטן המונע כפתור ענק */ + font-size: 0.9rem; /* גופן קטן ונורמלי */ + font-weight: 600; + pointer-events: none; + box-shadow: 0 2px 6px rgba(88, 129, 87, 0.15); +} +/* --- עיצוב עמוד הבדיחה הפנימי (נקי, מעודן ולא משתלט) --- */ +.jokePage { + background-color: #ffffff; /* רקע לבן נקי לחלוטין */ + border: 1px solid #e2e8f0; /* מסגרת אפורה דקה ועדינה מאוד */ + border-radius: 16px; /* פינות עגולות סטנדרטיות */ + padding: 32px 24px; /* מרווח פנימי פרופורציונלי */ + max-width: 450px; /* רוחב מיושר ונורמלי */ + margin: 30px auto; + text-align: center; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04); /* צללית קלילה כמעט בלתי מורגשת */ + direction: rtl; +} + +/* כותרת הבדיחה (השאלה) בעמוד הפנימי */ +.pageTitle { + font-size: 1.4rem; /* הקטנת גודל הגופן למראה מעודן */ + color: #1e293b; /* צבע כהה קלאסי ורגיל */ + margin-bottom: 16px; + font-weight: 700; +} + +/* תשובת הבדיחה */ +.jokeAnswer { + font-size: 1.6rem; /* הקטנה משמעותית מגודל ענק לגודל קריא ונורמלי */ + font-weight: 700; + color: #4f46e5; /* צבע אינדיגו/כחול קלאסי ורגוע יותר מהזהב */ + margin-bottom: 28px; +} + +/* כפתור החזרה */ +.backButton { + background-color: #64748b; /* צבע אפור-סלייט ניטרלי ומקצועי */ + color: #ffffff; + border: none; + border-radius: 8px; /* פינות עגולות עדינות */ + padding: 8px 20px; /* גודל כפתור סטנדרטי לחלוטין */ + font-size: 0.95rem; + font-weight: 600; + cursor: pointer; + transition: background-color 0.2s ease; +} + +.backButton:hover { + background-color: #475569; /* כהות עדינה בריחוף */ +} \ No newline at end of file