Spaces:
Running
Running
Update index.html
Browse files- index.html +55 -0
index.html
CHANGED
@@ -167,6 +167,61 @@
|
|
167 |
});
|
168 |
});
|
169 |
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
170 |
|
171 |
</body>
|
172 |
</html>
|
|
|
167 |
});
|
168 |
});
|
169 |
</script>
|
170 |
+
<script>
|
171 |
+
// Paste this code inside the existing document.addEventListener('DOMContentLoaded', () => { ... });
|
172 |
+
|
173 |
+
// --- Points Calculator Elements ---
|
174 |
+
const toggleCalculatorBtn = document.getElementById('toggleCalculator');
|
175 |
+
const pointsCalculatorPanel = document.getElementById('pointsCalculatorPanel');
|
176 |
+
const closeCalculatorBtn = document.getElementById('closeCalculator');
|
177 |
+
const pointsResultDiv = document.getElementById('pointsResult');
|
178 |
+
const roleInputs = document.querySelectorAll('input[name="filmRole"]');
|
179 |
+
|
180 |
+
// --- Points Data ---
|
181 |
+
const pointsData = {
|
182 |
+
Financier: {
|
183 |
+
points: "50 Points",
|
184 |
+
description: "Financing 100% of the budget typically equals 50% of the net profits, representing the foundational 50/50 split between capital and production."
|
185 |
+
},
|
186 |
+
Producer: {
|
187 |
+
points: "10 Points",
|
188 |
+
description: "A lead producer typically receives points from the 'Producer's Pool,' rewarding their effort in developing and managing the entire project."
|
189 |
+
},
|
190 |
+
Director: {
|
191 |
+
points: "5 Points",
|
192 |
+
description: "An established director's creative leadership is often rewarded with points from the 'Talent Pool' in addition to their fee."
|
193 |
+
}
|
194 |
+
};
|
195 |
+
|
196 |
+
// --- Function to update the display ---
|
197 |
+
const updatePointsDisplay = () => {
|
198 |
+
const selectedRole = document.querySelector('input[name="filmRole"]:checked').value;
|
199 |
+
const data = pointsData[selectedRole];
|
200 |
+
|
201 |
+
pointsResultDiv.innerHTML = `
|
202 |
+
<h4 class="text-2xl font-bold text-blue-600">${data.points}</h4>
|
203 |
+
<p class="text-xs text-gray-600 mt-1">${data.description}</p>
|
204 |
+
`;
|
205 |
+
};
|
206 |
+
|
207 |
+
// --- Event Listeners ---
|
208 |
+
toggleCalculatorBtn.addEventListener('click', () => {
|
209 |
+
pointsCalculatorPanel.classList.toggle('hidden');
|
210 |
+
pointsCalculatorPanel.classList.toggle('opacity-0');
|
211 |
+
pointsCalculatorPanel.classList.toggle('translate-y-4');
|
212 |
+
// Update display when panel opens
|
213 |
+
updatePointsDisplay();
|
214 |
+
});
|
215 |
+
|
216 |
+
closeCalculatorBtn.addEventListener('click', () => {
|
217 |
+
pointsCalculatorPanel.classList.add('hidden', 'opacity-0', 'translate-y-4');
|
218 |
+
});
|
219 |
+
|
220 |
+
roleInputs.forEach(input => {
|
221 |
+
input.addEventListener('change', updatePointsDisplay);
|
222 |
+
});
|
223 |
+
|
224 |
+
</script>
|
225 |
|
226 |
</body>
|
227 |
</html>
|