commit 70c29419b68c6bc793e3899e37b1c2c5e421b7f0
Author: root <root@hub.scroll.pub> Date: 2024-12-26 23:16:47 +0000 Subject: Initial commit diff --git a/body.html b/body.html new file mode 100644 index 0000000..24adba9 --- /dev/null +++ b/body.html @@ -0,0 +1,59 @@ +<header> + <h1>PhD vs OnlyFans Calculator</h1> + <p class="tagline">Make a data-driven career decision</p> +</header> + +<main> + <section class="calculator"> + <div class="input-group"> + <h2>Current PhD Situation</h2> + <label for="stipend">Annual Stipend ($)</label> + <input type="number" id="stipend" min="0" step="1000" value="25000"> + + <label for="years-left">Years Left in Program</label> + <input type="number" id="years-left" min="0" max="10" step="0.5" value="3"> + + <label for="stress-level">Current Stress Level (1-10)</label> + <input type="range" id="stress-level" min="1" max="10" value="7"> + </div> + + <div class="input-group"> + <h2>OnlyFans Potential</h2> + <label for="attractiveness">Self-Rated Attractiveness (1-10)</label> + <input type="range" id="attractiveness" min="1" max="10" value="7"> + + <label for="social-media">Current Social Media Following</label> + <input type="number" id="social-media" min="0" step="100" value="1000"> + + <label for="comfort-level">Content Comfort Level (1-10)</label> + <input type="range" id="comfort-level" min="1" max="10" value="5"> + </div> + + <button id="calculate" class="gradient-button">Calculate Career Path</button> + + <div id="result" class="hidden"> + <h2>Analysis Results</h2> + <div class="result-cards"> + <div class="card phd-card"> + <h3>PhD Path</h3> + <p id="phd-score"></p> + <ul id="phd-factors"></ul> + </div> + <div class="card of-card"> + <h3>OnlyFans Path</h3> + <p id="of-score"></p> + <ul id="of-factors"></ul> + </div> + </div> + <p id="recommendation" class="recommendation"></p> + </div> + </section> + + <section class="disclaimer"> + <p>This calculator is for entertainment purposes only. Career decisions should involve careful consideration of multiple factors and consultation with mentors.</p> + </section> +</main> + +<footer> + <p>Created with humor and algorithms</p> +</footer> diff --git a/index.scroll b/index.scroll new file mode 100644 index 0000000..eb741d4 --- /dev/null +++ b/index.scroll @@ -0,0 +1,8 @@ +buildHtml +baseUrl https://phdonlyfans.scroll.pub +metaTags +editButton /edit.html +title PhD vs OnlyFans Calculator - Make an Informed Career Decision +style.css +body.html +script.js diff --git a/readme.scroll b/readme.scroll new file mode 100644 index 0000000..c62e981 --- /dev/null +++ b/readme.scroll @@ -0,0 +1,2 @@ +# phdonlyfans.scroll.pub +Website generated from prompt: I want a website that will help decide if I should drop out of my PhD program to do only Fans. So it should have some numerical tools and interactivity. Be creative. \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..31d3a34 --- /dev/null +++ b/script.js @@ -0,0 +1,79 @@ +document.addEventListener('DOMContentLoaded', () => { + const calculateButton = document.getElementById('calculate'); + const resultDiv = document.getElementById('result'); + + calculateButton.addEventListener('click', () => { + const stipend = parseFloat(document.getElementById('stipend').value); + const yearsLeft = parseFloat(document.getElementById('years-left').value); + const stressLevel = parseFloat(document.getElementById('stress-level').value); + const attractiveness = parseFloat(document.getElementById('attractiveness').value); + const socialMedia = parseFloat(document.getElementById('social-media').value); + const comfortLevel = parseFloat(document.getElementById('comfort-level').value); + + // Calculate PhD score (max 100) + const phdScore = calculatePhdScore(stipend, yearsLeft, stressLevel); + + // Calculate OnlyFans score (max 100) + const ofScore = calculateOnlyFansScore(attractiveness, socialMedia, comfortLevel); + + displayResults(phdScore, ofScore); + resultDiv.classList.remove('hidden'); + }); + + function calculatePhdScore(stipend, yearsLeft, stressLevel) { + const stipendScore = Math.min(40, (stipend / 50000) * 40); + const yearsScore = Math.max(0, 30 - (yearsLeft * 3)); + const stressScore = Math.max(0, 30 - (stressLevel * 3)); + return Math.round(stipendScore + yearsScore + stressScore); + } + + function calculateOnlyFansScore(attractiveness, socialMedia, comfortLevel) { + const attractivenessScore = attractiveness * 4; + const socialScore = Math.min(30, (socialMedia / 10000) * 30); + const comfortScore = comfortLevel * 3; + return Math.round(attractivenessScore + socialScore + comfortScore); + } + + function displayResults(phdScore, ofScore) { + const phdScoreElement = document.getElementById('phd-score'); + const ofScoreElement = document.getElementById('of-score'); + const recommendationElement = document.getElementById('recommendation'); + const phdFactors = document.getElementById('phd-factors'); + const ofFactors = document.getElementById('of-factors'); + + phdScoreElement.textContent = `Career Score: ${phdScore}/100`; + ofScoreElement.textContent = `Career Score: ${ofScore}/100`; + + phdFactors.innerHTML = ''; + ofFactors.innerHTML = ''; + + // Add factors for PhD + addFactor(phdFactors, 'Long-term career stability', phdScore > 70); + addFactor(phdFactors, 'Academic prestige', phdScore > 60); + addFactor(phdFactors, 'Research impact', phdScore > 50); + + // Add factors for OnlyFans + addFactor(ofFactors, 'Income potential', ofScore > 70); + addFactor(ofFactors, 'Work flexibility', ofScore > 60); + addFactor(ofFactors, 'Creative freedom', ofScore > 50); + + const difference = Math.abs(phdScore - ofScore); + let recommendation; + + if (difference < 10) { + recommendation = "This is a close call! Consider trying OnlyFans as a side hustle while continuing your PhD."; + } else if (phdScore > ofScore) { + recommendation = "The numbers suggest sticking with your PhD program. Knowledge is power! 🎓"; + } else { + recommendation = "The numbers suggest OnlyFans might be more lucrative. But remember, this is just for fun! 📸"; + } + + recommendationElement.textContent = recommendation; + } + + function addFactor(element, text, positive) { + const li = document.createElement('li'); + li.textContent = `${text}: ${positive ? '✅' : '❌'}`; + element.appendChild(li); + } +}); diff --git a/style.css b/style.css new file mode 100644 index 0000000..3b7948f --- /dev/null +++ b/style.css @@ -0,0 +1,186 @@ +:root { + --gradient-1: #ff758c; + --gradient-2: #ff7eb3; + --dark: #2c3e50; + --light: #f5f6fa; + --accent: #a8e6cf; +} + +* { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +body { + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + line-height: 1.6; + color: var(--dark); + background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); + min-height: 100vh; +} + +header { + text-align: center; + padding: 3rem 1rem; + background: linear-gradient(to right, var(--gradient-1), var(--gradient-2)); + color: white; + box-shadow: 0 4px 12px rgba(0,0,0,0.1); +} + +h1 { + font-size: 2.5rem; + margin-bottom: 0.5rem; + text-shadow: 2px 2px 4px rgba(0,0,0,0.2); +} + +.tagline { + font-size: 1.2rem; + opacity: 0.9; +} + +main { + max-width: 800px; + margin: 2rem auto; + padding: 0 1rem; +} + +.calculator { + background: white; + padding: 2rem; + border-radius: 1rem; + box-shadow: 0 10px 30px rgba(0,0,0,0.1); +} + +.input-group { + margin-bottom: 2rem; +} + +h2 { + color: var(--dark); + margin-bottom: 1.5rem; +} + +label { + display: block; + margin: 1rem 0 0.5rem; + color: var(--dark); +} + +input { + width: 100%; + padding: 0.8rem; + border: 2px solid #e1e1e1; + border-radius: 0.5rem; + font-size: 1rem; + transition: border-color 0.3s; +} + +input:focus { + border-color: var(--gradient-2); + outline: none; +} + +input[type="range"] { + -webkit-appearance: none; + height: 8px; + background: #e1e1e1; + border-radius: 4px; + padding: 0; +} + +input[type="range"]::-webkit-slider-thumb { + -webkit-appearance: none; + height: 24px; + width: 24px; + border-radius: 50%; + background: var(--gradient-2); + cursor: pointer; + transition: transform 0.2s; +} + +input[type="range"]::-webkit-slider-thumb:hover { + transform: scale(1.1); +} + +.gradient-button { + display: block; + width: 100%; + padding: 1rem; + border: none; + border-radius: 0.5rem; + background: linear-gradient(to right, var(--gradient-1), var(--gradient-2)); + color: white; + font-size: 1.1rem; + cursor: pointer; + transition: transform 0.3s, box-shadow 0.3s; +} + +.gradient-button:hover { + transform: translateY(-2px); + box-shadow: 0 5px 15px rgba(255,117,140,0.4); +} + +.result-cards { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 1rem; + margin-top: 2rem; +} + +.card { + padding: 1.5rem; + border-radius: 0.5rem; + box-shadow: 0 4px 12px rgba(0,0,0,0.1); +} + +.phd-card { + background: linear-gradient(135deg, #a8e6cf 0%, #dcedc1 100%); +} + +.of-card { + background: linear-gradient(135deg, #ffd3b6 0%, #ffaaa5 100%); +} + +.hidden { + display: none; +} + +.recommendation { + margin-top: 2rem; + padding: 1rem; + background: var(--light); + border-radius: 0.5rem; + text-align: center; + font-weight: bold; +} + +.disclaimer { + margin-top: 2rem; + padding: 1rem; + background: rgba(255,255,255,0.5); + border-radius: 0.5rem; + font-size: 0.9rem; + text-align: center; +} + +footer { + text-align: center; + padding: 2rem; + color: var(--dark); + font-size: 0.9rem; +} + +@media (max-width: 768px) { + .result-cards { + grid-template-columns: 1fr; + } + + header { + padding: 2rem 1rem; + } + + h1 { + font-size: 2rem; + } +}