A dark, mysterious five-act ARG built around hidden archives and forgotten witnesses.

Viewing files at commit 4ed257bbb2d7Commit detailsView latest

assets/js/app.js 49 lines · 1.4 KB · javascript
1
document.addEventListener('DOMContentLoaded', () => {
2
  const page = document.body.dataset.page;
3
  const form = document.querySelector('form');
4
  const resultElement = document.getElementById('result');
5
6
  if (!form || !resultElement) return;
7
8
  const navigationMap = {
9
    landing: 'act1.html',
10
    act1: 'act2.html',
11
    act2: 'act3.html',
12
    act3: 'act4.html',
13
    act4: 'act5.html',
14
    act5: null
15
  };
16
17
  const showResult = (message, isSuccess) => {
18
    resultElement.textContent = message;
19
    resultElement.className = `result ${isSuccess ? 'success' : 'error'}`;
20
  };
21
22
  form.addEventListener('submit', (e) => {
23
    e.preventDefault();
24
25
    const input = form.querySelector('input[type="text"]');
26
    const userAnswer = input.value.trim().toUpperCase();
27
    const expectedAnswer = form.dataset.answer.toUpperCase();
28
29
    if (userAnswer !== expectedAnswer) {
30
      showResult('The archive rejects the answer. Try again.', false);
31
      return;
32
    }
33
34
    showResult('Signal accepted. The archive opens.', true);
35
    input.disabled = true;
36
    form.querySelector('button').disabled = true;
37
38
    const nextPage = navigationMap[page];
39
    if (nextPage) {
40
      setTimeout(() => {
41
        window.location.href = nextPage;
42
      }, 1200);
43
    } else {
44
      setTimeout(() => {
45
        showResult('Archive complete. You are now the witness. The archive remembers you.', true);
46
      }, 1200);
47
    }
48
  });
49
});