Entradas

albinismo

https://gemini.google.com/share/8df4b64fc63c

albinismo

import React, { useState, useEffect } from 'react'; import { Settings, Info, User, Users, Activity, ChevronRight, Binary } from 'lucide-react'; const App = () => { const [parent1, setParent1] = useState('Nn'); const [parent2, setParent2] = useState('Nn'); const [showAnimation, setShowAnimation] = useState(false); // Genotypes definitions: N = Normal, n = albinism const getGametos = (genotype) => genotype.split(''); const calculatePunnett = () => { const g1 = getGametos(parent1); const g2 = getGametos(parent2); let results = []; g1.forEach(a1 => { g2.forEach(a2 => { // Standardize: Dominant first const res = [a1, a2].sort().reverse().join(''); results.push(res); }); }); return results; }; const results = calculatePunnett(); const stats = results.reduce((acc, curr) => { acc[curr] = (acc[curr] || 0) + 1; return acc; }, {}); const...

albinismo

  import React, { useState, useEffect } from 'react'; import { Settings, Info, User, Users, Activity, ChevronRight, Binary } from 'lucide-react'; const App = () => { const [parent1, setParent1] = useState('Nn'); const [parent2, setParent2] = useState('Nn'); const [showAnimation, setShowAnimation] = useState(false); // Genotypes definitions: N = Normal, n = albinism const getGametos = (genotype) => genotype.split(''); const calculatePunnett = () => { const g1 = getGametos(parent1); const g2 = getGametos(parent2); let results = []; g1.forEach(a1 => { g2.forEach(a2 => { // Standardize: Dominant first const res = [a1, a2].sort().reverse().join(''); results.push(res); }); }); return results; }; const results = calculatePunnett(); const stats = results.reduce((acc, curr) => { acc[curr] = (acc[curr] || 0) + 1; return acc; }, {}); con...