From c09b0cc69f97d3032303a86638aade6e7aae553e Mon Sep 17 00:00:00 2001 From: Starystars67 Date: Tue, 23 Dec 2025 13:00:33 +0000 Subject: [PATCH] randomise partners list using date as the seed --- package.json | 2 +- src/views/Partners.vue | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f1851f8..a740f61 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "beammp-website", "private": true, - "version": "2.3.2", + "version": "2.4.0", "type": "module", "scripts": { "dev": "vite", diff --git a/src/views/Partners.vue b/src/views/Partners.vue index 09a70ce..717e470 100644 --- a/src/views/Partners.vue +++ b/src/views/Partners.vue @@ -10,7 +10,20 @@ async function loadPartners() { const res = await fetch('/partners.json', { cache: 'no-store' }) if (!res.ok) throw new Error(`Failed to load partners (${res.status})`) const data = await res.json() - partners.value = Array.isArray(data) ? data : [] + const partnersArray = Array.isArray(data) ? data : [] + + // Create a seed based on the current date (YYYY-MM-DD) + const today = new Date().toISOString().split('T')[0] + const seed = today.split('-').reduce((acc, val) => acc + parseInt(val), 0) + + // Simple seeded shuffle using the date as seed + const shuffled = [...partnersArray] + for (let i = shuffled.length - 1; i > 0; i--) { + const j = Math.floor(((seed * (i + 1) * 9301 + 49297) % 233280) / 233280 * (i + 1)) + ;[shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]] + } + + partners.value = shuffled } catch (e) { error.value = e.message || 'Unable to fetch partners' } finally {