Age Converter

Converts age in days to years, months, and days format with enhanced styling on Torn.com.

安裝腳本?
作者推薦腳本

您可能也會喜歡 Torn Bazaar Filler

安裝腳本
// ==UserScript==
// @name         Age Converter
// @description  Converts age in days to years, months, and days format with enhanced styling on Torn.com.
// @version      2.0
// @namespace    https://github.com/skillerious
// @license      MIT
// @match        https://www.torn.com/*
// @grant        none
// ==/UserScript==

// JavaScript to dynamically add CSS to the document
const style = document.createElement('style');
style.textContent = `
  .cont.bottom-round.cont-gray {
      min-height: 420px; /* Further increase height to accommodate more content */
      padding-bottom: 20px; /* Add more padding at the bottom */
  }
  .cool-converted-age {
      font-size: 11px; /* Set the font size */
      color: #0092CD; /* Blue color */
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* Adds a shadow effect */
      text-align: center;
      margin-top: 10px;
      font-family: 'Arial', sans-serif; /* Use a modern font */
      letter-spacing: 1px; /* Space out the letters a bit */
  }
`;
document.head.appendChild(style);

// Function to calculate and display converted age
function convertAndDisplayAge() {
    const digitElements = document.querySelectorAll('.box-info.age .box-value .digit');
    console.log('Digit Elements:', digitElements); // Log the elements to check if they are correctly selected

    if (digitElements && digitElements.length > 0) {
        let ageInDaysStr = '';
        digitElements.forEach(digitElement => {
            const digitText = digitElement.textContent.trim();
            console.log('Digit Text:', digitText); // Log each digit text
            ageInDaysStr += digitText;
        });

        console.log('Age in Days String:', ageInDaysStr); // Log the concatenated string
        const ageInDays = parseInt(ageInDaysStr);

        if (!isNaN(ageInDays)) {
            const years = Math.floor(ageInDays / 365);
            const months = Math.floor((ageInDays % 365) / 30);
            const days = ageInDays % 30;

            console.log(`Converted Age: Y: ${years}, M: ${months}, D: ${days}`); // Log the converted age

            const ageConverted = document.createElement('div');
            ageConverted.className = 'cool-converted-age'; // Apply the new CSS class for cool styling
            ageConverted.textContent = `${years} Years, ${months} Months, ${days} Days`;

            const ageContainer = document.querySelector('.box-info.age');
            if (ageContainer) {
                ageContainer.appendChild(ageConverted);
                console.log('Age converted element added to the container'); // Confirm the addition
            } else {
                console.error('Age container not found'); // Log error if container is not found
            }
        } else {
            console.error('Unable to parse age from text content'); // Log error if parsing fails
        }
    } else {
        console.error('Age digit elements not found'); // Log error if elements are not found
    }
}

// Function to observe changes in the DOM and run the script when the elements are loaded
function observeDOMChanges() {
    const observer = new MutationObserver((mutationsList, observer) => {
        const ageContainer = document.querySelector('.box-info.age');
        const digitElements = document.querySelectorAll('.box-info.age .box-value .digit');
        
        if (ageContainer && digitElements.length > 0) {
            observer.disconnect(); // Stop observing once the elements are found
            convertAndDisplayAge(); // Call the function to convert and display age
        } else {
            console.log('Waiting for age container and digits to appear...');
        }
    });

    // Observe changes in the document body
    observer.observe(document.body, { childList: true, subtree: true });
}

// Start observing the DOM changes once the page is loaded
window.addEventListener('load', function () {
    observeDOMChanges();
});