1
0
forked from schulze/bam

88 Commits

Author SHA1 Message Date
a00599ef22 fix(deps): update dependency lucide-react to ^0.552.0 2025-11-01 07:19:40 +00:00
34cb1fd4aa chore(deps): update actions/setup-node action to v6 (#15)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/setup-node](https://github.com/actions/setup-node) | action | major | `v5` -> `v6` |

---

### Release Notes

<details>
<summary>actions/setup-node (actions/setup-node)</summary>

### [`v6`](https://github.com/actions/setup-node/compare/v5...v6)

[Compare Source](https://github.com/actions/setup-node/compare/v5...v6)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMjIuMyIsInVwZGF0ZWRJblZlciI6IjQxLjEyMi4zIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: schulze/bam#15
Co-authored-by: Renovate Bot <renovatebot@schulze.network>
Co-committed-by: Renovate Bot <renovatebot@schulze.network>
2025-11-01 08:14:00 +01:00
589d3b870e chore(deps): update dependency node to v24 2025-11-01 07:52:28 +01:00
fe5c9d4dae chore(deps): update pnpm to v10.20.0 2025-11-01 05:00:41 +00:00
324f7d4061 chore(deps): update dependency turbo to v2.6.0 2025-11-01 04:00:52 +00:00
778d65a357 chore(deps): update dependency react-hook-form to v7.66.0 2025-11-01 03:00:50 +00:00
1fdec62dbd chore(deps): update dependency eslint to v9.39.0 2025-11-01 02:01:00 +00:00
4b02928b8f chore(deps): update dependency cssnano to v7.1.2 2025-11-01 01:00:53 +00:00
a3bd460c0c chore(deps): update dependency @types/node to v22.18.13 2025-11-01 00:00:43 +00:00
4b93109582 add block duration and test 2025-10-27 12:53:56 +01:00
dba0d58477 fix(deps): update dependency lucide-react to ^0.548.0 2025-10-25 03:00:52 +00:00
3a5d65fc5c chore(deps): update pnpm to v10.19.0 2025-10-25 02:00:44 +00:00
eeed7ba07f chore(deps): update tailwindcss monorepo to v4.1.16 2025-10-25 01:00:53 +00:00
efa4907b49 chore(deps): update dependency @types/node to v22.18.12 2025-10-25 00:00:45 +00:00
c53b6d18e5 Added 2025 dates 2025-10-24 18:58:41 +02:00
110d7f25c9 fix(deps): update dependency lucide-react to ^0.546.0 2025-10-18 05:00:47 +00:00
6d6c7e9775 chore(deps): update dependency eslint to v9.38.0 2025-10-18 04:00:47 +00:00
aca89c0cab chore(deps): update pnpm to v10.18.3 2025-10-18 03:00:55 +00:00
49665c375f chore(deps): update nextjs monorepo to v15.5.6 2025-10-18 02:00:56 +00:00
9bbd282380 chore(deps): update dependency @types/react-dom to v19.2.2 2025-10-18 01:00:52 +00:00
97be9dcacb chore(deps): update dependency @types/node to v22.18.11 2025-10-18 00:00:39 +00:00
62923affa0 chore(deps): update dependency @types/node to v22.18.10 2025-10-11 15:01:26 +00:00
134a7f8564 fix(deps): update dependency lucide-react to ^0.545.0 2025-10-11 07:01:38 +00:00
cdb3bb060f chore(deps): update dependency react-hook-form to v7.65.0 2025-10-11 06:01:36 +00:00
e5c272d028 chore(deps): update react monorepo 2025-10-11 05:01:35 +00:00
c8be8b2180 chore(deps): update pnpm to v10.18.2 2025-10-11 04:01:36 +00:00
1350398ef0 chore(deps): update dependency zod to v4.1.12 2025-10-11 03:01:39 +00:00
e6b3fa5654 chore(deps): update dependency react-day-picker to v9.11.1 2025-10-11 02:01:34 +00:00
07f98398c1 chore(deps): update dependency @types/node to v22.18.9 2025-10-11 01:01:40 +00:00
611266fed1 chore(deps): update pnpm/action-setup digest to 41ff726 2025-10-11 00:01:12 +00:00
3019ad1795 chore(deps): update react monorepo to v19.2.0 2025-10-04 06:01:38 +00:00
3c01582293 chore(deps): update pnpm to v10.18.0 2025-10-04 05:01:36 +00:00
dcd02c655a chore(deps): update dependency react-hook-form to v7.64.0 2025-10-04 04:01:34 +00:00
2294ebd04a chore(deps): update dependency eslint to v9.37.0 2025-10-04 03:01:33 +00:00
9c08db9d5f chore(deps): update tailwindcss monorepo to v4.1.14 2025-10-04 02:01:33 +00:00
487a471b87 chore(deps): update dependency typescript to v5.9.3 2025-10-04 01:01:36 +00:00
b534ab3c14 chore(deps): update dependency @types/node to v22.18.8 2025-10-04 00:01:25 +00:00
c8f766ef67 chore(deps): update dependency @types/react to v19.1.15 2025-09-28 12:00:43 +00:00
cd63c5a9ce chore(deps): update pnpm to v10.17.1 2025-09-27 03:01:00 +00:00
a471595ef1 chore(deps): update nextjs monorepo to v15.5.4 2025-09-27 02:00:53 +00:00
af90787bb0 chore(deps): update dependency turbo to v2.5.8 2025-09-27 01:00:51 +00:00
d2f94b2c66 chore(deps): update dependency @types/react to v19.1.14 2025-09-27 00:00:40 +00:00
707a4220c3 chore(deps): update actions/setup-node action to v5 (#14)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/setup-node](https://github.com/actions/setup-node) | action | major | `v4` -> `v5` |

---

### Release Notes

<details>
<summary>actions/setup-node (actions/setup-node)</summary>

### [`v5`](https://github.com/actions/setup-node/compare/v4...v5)

[Compare Source](https://github.com/actions/setup-node/compare/v4...v5)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ni4xIiwidXBkYXRlZEluVmVyIjoiNDEuOTYuMSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Reviewed-on: schulze/bam#14
Co-authored-by: Renovate Bot <renovatebot@schulze.network>
Co-committed-by: Renovate Bot <renovatebot@schulze.network>
2025-09-21 21:47:15 +02:00
199e8ba8b2 chore(deps): update actions/checkout action to v5 2025-09-21 21:46:11 +02:00
8eddc2a3d6 fix(deps): update dependency postcss-preset-env to v10.4.0 2025-09-21 15:00:39 +00:00
1bb2c715fc fix(deps): update dependency react-day-picker to v9.11.0 2025-09-21 00:00:39 +00:00
c98e67d4ef fix(deps): update dependency zod to v4.1.11 2025-09-20 18:00:42 +00:00
8d847fdf2a fix(deps): update dependency react-hook-form to v7.63.0 2025-09-20 04:00:49 +00:00
c67540febb chore(deps): update pnpm to v10.17.0 2025-09-20 03:00:41 +00:00
699ec9fa26 chore(deps): update dependency eslint to v9.36.0 2025-09-20 02:00:54 +00:00
75e50287cf fix(deps): update dependency zod to v4.1.9 2025-09-20 01:00:52 +00:00
0af9577400 chore(deps): update dependency @types/node to v22.18.6 2025-09-20 00:00:41 +00:00
f202342297 fix(deps): update dependency react-day-picker to v9.10.0 2025-09-14 23:00:55 +00:00
f930a9882d fix(deps): update dependency @hookform/resolvers to v5.2.2 2025-09-14 09:00:56 +00:00
a733f548bc chore(deps): update pnpm to v10.16.1 2025-09-13 18:00:49 +00:00
895e44f930 fix(deps): update dependency lucide-react to ^0.544.0 2025-09-13 05:01:04 +00:00
22be09e87a chore(deps): update pnpm to v10.16.0 2025-09-13 04:01:14 +00:00
cb05115068 fix(deps): update nextjs monorepo to v15.5.3 2025-09-13 03:01:11 +00:00
4e7cbd01e7 fix(deps): update dependency zod to v4.1.8 2025-09-13 02:01:03 +00:00
7fcea85ff1 chore(deps): update dependency @types/node to v22.18.3 2025-09-13 01:01:11 +00:00
4641430185 chore(deps): update dependency @types/react to v19.1.13 2025-09-13 00:00:59 +00:00
63064f29f8 chore(deps): update dependency eslint to v9.35.0 2025-09-06 03:00:43 +00:00
3a00e01cab chore(deps): update tailwindcss monorepo to v4.1.13 2025-09-06 02:00:41 +00:00
776f676947 chore(deps): update pnpm to v10.15.1 2025-09-06 01:00:39 +00:00
b9ed74ea66 chore(deps): update dependency @types/node to v22.18.1 2025-09-06 00:00:35 +00:00
f27c23cde4 Update event-dates.json (#13)
Changed cut-off to 23:00

Reviewed-on: schulze/bam#13
Co-authored-by: harry <harry@noreply-git@schulze.network>
Co-committed-by: harry <harry@noreply-git@schulze.network>
2025-09-01 12:50:58 +02:00
b24c7a2169 fix(deps): update dependency lucide-react to ^0.542.0 2025-08-30 05:00:44 +00:00
ded9a26818 chore(deps): update dependency @types/node to v22.18.0 2025-08-30 04:00:53 +00:00
48e39f5add fix(deps): update nextjs monorepo to v15.5.2 2025-08-30 03:00:52 +00:00
e16ad7619b fix(deps): update dependency postcss-preset-env to v10.3.1 2025-08-30 02:00:54 +00:00
7f61fd8ba1 fix(deps): update dependency zod to v4.1.5 2025-08-30 01:00:51 +00:00
313548166d chore(deps): update react monorepo 2025-08-30 00:00:34 +00:00
c2dbbb0df1 fix(deps): update dependency zod to v4.1.1 2025-08-24 07:00:44 +00:00
d136e4463b fix(deps): update dependency zod to v4.1.0 2025-08-23 08:01:01 +00:00
c81cbdc026 fix(deps): update nextjs monorepo to v15.5.0 2025-08-23 07:00:58 +00:00
9f2d56332b fix(deps): update dependency react-day-picker to v9.9.0 2025-08-23 06:00:53 +00:00
1764e96d64 fix(deps): update dependency postcss-preset-env to v10.3.0 2025-08-23 05:00:50 +00:00
9e8adcd34e fix(deps): update dependency lucide-react to ^0.541.0 2025-08-23 04:00:51 +00:00
eaebac6c2f chore(deps): update pnpm to v10.15.0 2025-08-23 03:00:42 +00:00
697edf5372 chore(deps): update dependency eslint to v9.34.0 2025-08-23 02:00:57 +00:00
f45c18eb30 fix(deps): update dependency cssnano to v7.1.1 2025-08-23 01:01:00 +00:00
007b435306 chore(deps): update dependency @types/react to v19.1.11 2025-08-23 00:00:43 +00:00
9571e08478 fix(deps): update react monorepo 2025-08-16 11:01:53 +00:00
206d725d61 fix(deps): update nextjs monorepo to v15.4.6 2025-08-16 10:30:49 +00:00
d998f2b751 fix(deps): update radix-ui-primitives monorepo 2025-08-16 04:01:43 +00:00
21c73ba8cf chore(deps): update tailwindcss monorepo to v4.1.12 2025-08-16 03:01:23 +00:00
a4ba63f708 chore(deps): update dependency turbo to v2.5.6 2025-08-16 02:01:27 +00:00
6b2fc6b859 chore(deps): update dependency @types/node to v22.17.2 2025-08-16 01:01:37 +00:00
6 changed files with 1125 additions and 1037 deletions

View File

@@ -13,15 +13,15 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- name: Install pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4
- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
node-version: 22
node-version: 24
cache: "pnpm"
- name: Install dependencies

View File

@@ -1,7 +1,8 @@
{
"eventDates": ["2025-09-05", "1999-01-01"],
"cutoffTime": "15:00",
"eventDates": ["2025-09-05", "2025-10-25", "2025-12-06", "1999-01-01"],
"cutoffTime": "23:00",
"blockDurationHours": 6,
"message": "Sign-ups are closed for today's event. Please come back tomorrow.",
"internalComment": "Add event dates in YYYY-MM-DD format. Signups will be disabled after 3pm (15:00) on these dates by default."
"internalComment": "Add event dates in YYYY-MM-DD format. Signups will be disabled after cutoffTime (23:00) for blockDurationHours (6 hours)."
}

View File

@@ -0,0 +1,40 @@
import { isSignupBlocked } from "./signup-time-check";
// Test helper to check different scenarios
function testScenario(description: string, date: Date, expected: boolean) {
const result = isSignupBlocked(date);
const status = result.blocked === expected ? "✅ PASS" : "❌ FAIL";
console.log(`${status} ${description}`);
console.log(` Expected blocked: ${expected}, Got: ${result.blocked}`);
if (result.message) {
console.log(` Message: ${result.message}`);
}
console.log();
}
// Run tests
console.log("Testing signup blocking logic...\n");
// October 25, 2025 at 22:00 (before cutoff)
testScenario("Oct 25 at 22:00 - Before cutoff", new Date("2025-10-25T22:00:00"), false);
// October 25, 2025 at 23:00 (exactly at cutoff)
testScenario("Oct 25 at 23:00 - At cutoff time", new Date("2025-10-25T23:00:00"), true);
// October 25, 2025 at 23:30 (during block period)
testScenario("Oct 25 at 23:30 - During block period", new Date("2025-10-25T23:30:00"), true);
// October 26, 2025 at 02:00 (3 hours into block)
testScenario("Oct 26 at 02:00 - 3 hours into block", new Date("2025-10-26T02:00:00"), true);
// October 26, 2025 at 04:59 (just before block ends)
testScenario("Oct 26 at 04:59:59 - Just before block ends", new Date("2025-10-26T04:59:59"), true);
// October 26, 2025 at 05:00 (block period over)
testScenario("Oct 26 at 05:00 - Block period ended", new Date("2025-10-26T05:00:00"), false);
// October 26, 2025 at 12:00 (well after block)
testScenario("Oct 26 at 12:00 - Well after block", new Date("2025-10-26T12:00:00"), false);
// Random non-event date
testScenario("Oct 20 at 23:00 - Non-event date", new Date("2025-10-20T23:00:00"), false);

View File

@@ -1,17 +1,23 @@
import eventConfig from "@/event-dates.json";
export function isSignupBlocked(): { blocked: boolean; message?: string } {
const now = new Date();
const currentDate = now.toISOString().split("T")[0]; // YYYY-MM-DD format
const currentTime = now.toTimeString().slice(0, 5); // HH:MM format
// Check if today is an event date
const isEventDay = eventConfig.eventDates.includes(currentDate);
if (isEventDay) {
// Check if current time is after the cutoff time (default 15:00 / 3pm)
export function isSignupBlocked(currentTime?: Date): { blocked: boolean; message?: string } {
const now = currentTime || new Date();
const cutoffTime = eventConfig.cutoffTime || "15:00";
if (currentTime >= cutoffTime) {
const blockDurationHours = eventConfig.blockDurationHours || 6;
// Check each event date to see if we're in a block period
for (const eventDate of eventConfig.eventDates) {
// Parse the event date and cutoff time in local timezone
const [year, month, day] = eventDate.split("-").map(Number);
const [hours, minutes] = cutoffTime.split(":").map(Number);
const blockStart = new Date(year, month - 1, day, hours, minutes, 0, 0);
// Calculate when the block period ends (using wall-clock hours to handle DST correctly)
const blockEnd = new Date(blockStart);
blockEnd.setHours(blockStart.getHours() + blockDurationHours);
// Check if current time is within the block period
if (now >= blockStart && now < blockEnd) {
return {
blocked: true,
message: eventConfig.message,

View File

@@ -18,7 +18,7 @@
"clsx": "^2.1.1",
"cssnano": "^7.1.0",
"date-fns": "^4.1.0",
"lucide-react": "^0.539.0",
"lucide-react": "^0.552.0",
"next": "^15.4.1",
"next-plausible": "^3.12.4",
"postcss-flexbugs-fixes": "^5.0.2",
@@ -32,17 +32,17 @@
"zod": "^4.0.5"
},
"devDependencies": {
"@tailwindcss/postcss": "4.1.11",
"@types/node": "22.17.1",
"@types/react": "19.1.8",
"@types/react-dom": "19.1.6",
"eslint": "9.33.0",
"eslint-config-next": "15.4.5",
"@tailwindcss/postcss": "4.1.16",
"@types/node": "24.9.2",
"@types/react": "19.2.2",
"@types/react-dom": "19.2.2",
"eslint": "9.39.0",
"eslint-config-next": "15.5.6",
"eslint-config-prettier": "10.1.8",
"postcss": "8.5.6",
"tailwindcss": "4.1.11",
"turbo": "2.5.5",
"typescript": "5.9.2"
"tailwindcss": "4.1.16",
"turbo": "2.6.0",
"typescript": "5.9.3"
},
"packageManager": "pnpm@10.14.0"
"packageManager": "pnpm@10.20.0"
}

2059
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff