Tooltip Implementation
.tooltip {
position: relative;
cursor: pointer;
text-decoration: none;
border-bottom: 0.5px dashed rgba(0, 0, 0, 0.2);
}
.tooltip::before {
content: attr(data-tooltip);
position: absolute;
background-color: rgba(255, 255, 255, 0.9);
color: #333;
padding: 6px 12px;
border-radius: 8px;
opacity: 0;
visibility: hidden;
transform: translateY(-100%);
transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
font-family: ‘Arial’, sans-serif;
font-size: 14px;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
z-index: 10;
/* Adjust for dynamic width */
max-width: 250px; /* Prevent tooltips from being too wide */
overflow-wrap: break-word; /* Break long words */
word-wrap: break-word; /* For older browsers */
text-align: left;
}
.tooltip:hover::before {
opacity: 1;
visibility: visible;
transform: translateY(-130%);
left: 50%;
transform: translateX(-50%) translateY(-130%);
}
document.addEventListener(‘DOMContentLoaded’, function () {
const wordsToTooltip = {
“Radiation”: “Promieniowanie (rozprzestrzenianie się bólu)”,
“Localized pain”: “Ból miejscowy”,
“Generalized pain”: “Ból uogólniony”,
“Severity”: “Nasilenie”,
// Add all other words you want tooltips for here
};
// Normalize keys in the dictionary
const normalizedWordsToTooltip = {};
for (const [key, value] of Object.entries(wordsToTooltip)) {
const cleanedKey = key.replace(/(.*?)/g, ”).trim(); // Remove anything in parentheses
normalizedWordsToTooltip[cleanedKey.toLowerCase()] = value;
}
function processNode(node) {
if (node.nodeType === Node.TEXT_NODE && node.nodeValue.trim()) {
let content = node.nodeValue;
// Regex to match only the main words (ignores parentheses)
const regex = new RegExp(
`b(${Object.keys(normalizedWordsToTooltip).join(‘|’)})b`,
‘gi’
);
if (regex.test(content)) {
const wrapper = document.createElement(‘span’);
wrapper.innerHTML = content.replace(regex, (match) => {
const tooltip = normalizedWordsToTooltip[match.toLowerCase().trim()];
return `
${match}`;
});
node.replaceWith(wrapper);
}
} else if (node.nodeType === Node.ELEMENT_NODE) {
Array.from(node.childNodes).forEach(processNode);
}
}
document.querySelectorAll(‘body *:not(script):not(style)’).forEach((element) => {
Array.from(element.childNodes).forEach(processNode);
});
});
Szacowany czas lekcji:
10 minut
.lesson-duration-container {
background-color: #f0f4f8; /* Szarawe tło dopasowane do reszty strony */
padding: 8px 15px; /* Wewnętrzny odstęp */
border-radius: 8px; /* Zaokrąglone rogi */
font-family: ‘Roboto’, Arial, sans-serif; /* Czcionka Roboto, jeśli dostępna */
font-size: 16px; /* Rozmiar tekstu */
color: #6c757d; /* Ciemny szary kolor tekstu */
display: inline-block; /* Wyświetlanie jako element blokowy */
margin-bottom: 20px; /* Odstęp na dole */
border: none; /* Bez obramowania */
}
.lesson-duration-label {
font-weight: 700; /* Pogrubienie dla etykiety */
color: #6c757d; /* Ciemny szary kolor dla etykiety */
margin-right: 5px; /* Odstęp od wartości */
}
.lesson-duration-value {
color: #6c757d; /* Ciemny szary kolor dla wartości */
font-weight: 700; /* Pogrubienie dla wartości */
}
Podświetlanie tekstu z notatkami
body {
margin: 0;
padding: 0;
font-family: Arial, sans-serif;
}
.highlight {
background-color: #cce7ff; /* Highlight color without notes */
position: relative;
display: inline;
}
.highlight.with-note {
background-color: #ffeb3b; /* Highlight color with notes */
}
.note-box {
position: absolute;
background-color: #f9f9f9;
color: #333;
font-size: 14px;
line-height: 1.6;
padding: 10px 15px;
border: 1px solid #ddd;
border-radius: 5px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
max-width: 250px;
z-index: 1000;
white-space: normal;
text-align: left;
display: none; /* Hidden by default */
}
.note-controls {
position: absolute;
top: -30px;
right: -30px;
display: flex;
gap: 10px;
z-index: 10;
opacity: 0;
pointer-events: none;
transition: opacity 0.3s;
}
.note-controls.visible {
opacity: 1;
pointer-events: all;
}
.note-controls span {
cursor: pointer;
background-color: gray;
color: white;
padding: 5px 10px;
border-radius: 5px;
font-size: 16px;
font-weight: bold;
}
.note-controls span:hover {
background-color: darkgray;
}
document.addEventListener(“DOMContentLoaded”, () => {
/**
* Checks if an element is a header.
*/
const isHeaderElement = (node) => {
while (node) {
if (node.nodeType === 1 && node.tagName.match(/^H[1-5]$/)) {
return true;
}
node = node.parentNode;
}
return false;
};
/**
* Checks if an element is inside a table cell.
*/
const isInsideTable = (node) => {
while (node) {
if (node.tagName === “TD” || node.tagName === “TH”) {
return node;
}
node = node.parentNode;
}
return null;
};
/**
* Checks if an element belongs to the same list item.
*/
const isWithinSameListItem = (selection) => {
if (selection.rangeCount === 0) return false;
const range = selection.getRangeAt(0);
const startContainer = range.startContainer;
const endContainer = range.endContainer;
const getClosestListItem = (node) => {
while (node) {
if (node.nodeType === 1 && node.tagName === “LI”) {
return node;
}
node = node.parentNode;
}
return null;
};
const startListItem = getClosestListItem(startContainer);
const endListItem = getClosestListItem(endContainer);
// Ensure selection is within the same list item
return startListItem === endListItem;
};
/**
* Validates the selection.
* Ensures the selection is within a single header, table cell, or list item.
*/
const isSelectionValid = (selection) => {
if (selection.rangeCount === 0) return false;
const range = selection.getRangeAt(0);
const startContainer = range.startContainer;
const endContainer = range.endContainer;
const startInHeader = isHeaderElement(startContainer);
const endInHeader = isHeaderElement(endContainer);
// Block selection spanning headers
if (startInHeader !== endInHeader) {
return false;
}
const startCell = isInsideTable(startContainer);
const endCell = isInsideTable(endContainer);
// Block selection spanning table cells
if (startCell && endCell && startCell !== endCell) {
return false;
}
// Block selection spanning multiple list items
if (!isWithinSameListItem(selection)) {
return false;
}
return true;
};
/**
* Highlights the selected text.
*/
const wrapTextWithHighlight = (range) => {
const fragment = range.extractContents();
const highlight = document.createElement(“span”);
highlight.className = “highlight”;
highlight.appendChild(fragment);
range.insertNode(highlight);
const noteControls = document.createElement(“div”);
noteControls.className = “note-controls visible”;
const editNote = document.createElement(“span”);
editNote.textContent = “✎”;
editNote.title = “Edit note”;
noteControls.appendChild(editNote);
const removeHighlight = document.createElement(“span”);
removeHighlight.textContent = “x”;
removeHighlight.title = “Remove highlight”;
noteControls.appendChild(removeHighlight);
highlight.style.position = “relative”;
highlight.appendChild(noteControls);
let noteBox = null;
const updateNotePosition = () => {
const rect = highlight.getBoundingClientRect();
if (noteBox) {
noteBox.style.top = `${rect.height}px`;
noteBox.style.left = `${rect.width / 2}px`;
}
};
const hideControlsAndNoteAfterDelay = () => {
setTimeout(() => {
noteControls.classList.remove(“visible”);
if (noteBox) noteBox.style.display = “none”;
}, 3000);
};
// Show controls for 3 seconds after highlighting
hideControlsAndNoteAfterDelay();
highlight.addEventListener(“click”, () => {
noteControls.classList.add(“visible”);
if (noteBox) noteBox.style.display = “block”;
hideControlsAndNoteAfterDelay();
});
editNote.addEventListener(“click”, () => {
const noteText = prompt(“Add or edit a note:”, noteBox?.textContent || “”);
if (noteText) {
if (!noteBox) {
noteBox = document.createElement(“div”);
noteBox.className = “note-box”;
highlight.appendChild(noteBox);
}
noteBox.textContent = noteText;
noteBox.style.display = “block”;
highlight.classList.add(“with-note”);
updateNotePosition();
hideControlsAndNoteAfterDelay();
}
});
removeHighlight.addEventListener(“click”, () => {
const parent = highlight.parentNode;
while (highlight.firstChild) {
parent.insertBefore(highlight.firstChild, highlight);
}
parent.removeChild(highlight);
if (noteBox) noteBox.remove();
});
};
/**
* Handles the mouseup event to validate and apply highlighting.
*/
document.body.addEventListener(“mouseup”, () => {
const selection = window.getSelection();
if (selection.rangeCount > 0 && selection.toString().trim()) {
if (!isSelectionValid(selection)) {
alert(“Zaznaczenie musi być w obrębie jednego akapitu, komórki tabeli lub punktu listy!”);
selection.removeAllRanges();
return;
}
const range = selection.getRangeAt(0);
wrapTextWithHighlight(range);
selection.removeAllRanges();
}
});
});
Podstawowe terminy medyczne dotyczące układu zmysłów
Polish | English |
---|
Układ zmysłów | Sensory system |
Narządy zmysłów | Sensory organs |
Oko | Eye |
Ucho | Ear |
Nos | Nose |
Język | Tongue |
Skóra | Skin |
Rogówka | Cornea |
Siatkówka | Retina |
Nerw wzrokowy | Optic nerve |
Błona bębenkowa | Tympanic membrane (eardrum) |
Kosteczki słuchowe | Ossicles |
Błędnik | Labyrinth |
Ślimak | Cochlea |
Kubki smakowe | Taste buds |
Nabłonek węchowy | Olfactory epithelium |
Receptory dotykowe | Touch receptors |
Czucie proprioceptywne | Proprioception |
Nociceptory | Nociceptors (pain receptors) |
Światłoczułe komórki | Photoreceptors |
Słuch | Hearing |
Węch | Smell |
Smak | Taste |
Dotyk | Touch |
Widzenie | Vision |
Kluczowe objawy i schorzenia układu zmysłów
Polish | English |
---|
Zaburzenia widzenia | Vision disturbances |
Ślepota | Blindness |
Zmniejszona ostrość widzenia | Decreased visual acuity |
Podwójne widzenie | Diplopia (double vision) |
Utrata słuchu | Hearing loss |
Szumy uszne | Tinnitus (ringing in the ears) |
Zawroty głowy | Vertigo |
Ból ucha | Earache |
Świąd oczu | Itchy eyes |
Nadwrażliwość na światło | Photophobia (light sensitivity) |
Brak węchu | Anosmia (loss of smell) |
Zmiany w odczuwaniu smaku | Taste disturbances |
Niesmak w ustach | Dysgeusia (bad taste in the mouth) |
Zaburzenia równowagi | Balance disorders |
Utrata czucia | Loss of sensation |
Ból oczu | Eye pain |
Zaczerwienienie oka | Eye redness |
Suchość oczu | Dry eyes |
Zapalenie spojówek | Conjunctivitis |
Zaćma | Cataract |
Jaskra | Glaucoma |
Zwyrodnienie plamki żółtej | Macular degeneration |
Ostre zapalenie ucha | Acute otitis media |
Przewlekłe zapalenie ucha | Chronic otitis media |
Choroba Ménière’a | Ménière’s disease |
Neuropatia wzrokowa | Optic neuropathy |
Urazy narządu słuchu | Ear trauma |
Narzędzia diagnostyczne i procedury dotyczące układu zmysłów
Polish | English |
---|
Badanie ostrości wzroku | Visual acuity test |
Badanie pola widzenia | Visual field test |
Oftalmoskopia | Ophthalmoscopy |
Refraktometria | Refraction test |
Tonometria | Tonometry (intraocular pressure test) |
Badanie dna oka | Fundoscopy |
Badanie słuchu | Hearing test (audiometry) |
Tympanometria | Tympanometry |
Badanie błędnika | Vestibular function test |
Test na równowagę | Balance test |
Test smakowy | Taste test |
Test węchowy | Smell test |
Test na przewodnictwo kostne | Bone conduction test |
Fluoresceinowa angiografia | Fluorescein angiography |
Tomografia optyczna | Optical coherence tomography (OCT) |
Badanie ERG | Electroretinography (ERG) |
Test widzenia barw | Color vision test |
Test pH nosa | Nasal pH test |
Audiometria tonalna | Pure-tone audiometry |
Tomografia komputerowa zatok | Sinus CT scan |
Czynniki ryzyka i styl życia związane z układem zmysłów
Polish | English |
---|
Palenie tytoniu | Smoking |
Ekspozycja na hałas | Noise exposure |
Starzenie się | Aging |
Cukrzyca | Diabetes |
Nadciśnienie | Hypertension |
Otyłość | Obesity |
Niska aktywność fizyczna | Low physical activity |
Niewłaściwa dieta | Poor diet |
Narażenie na chemikalia | Exposure to chemicals |
Częste stosowanie słuchawek | Frequent headphone use |
Brak ochrony przed słońcem | Lack of sun protection |
Niewłaściwa higiena oczu | Poor eye hygiene |
Nadużywanie alkoholu | Alcohol abuse |
Brak badań kontrolnych oczu i uszu | Lack of regular eye and ear exams |
Zakażenia dróg oddechowych | Respiratory infections |
Wysokie ciśnienie wewnątrzgałkowe | High intraocular pressure |
Genetyka | Genetic predisposition |
Zła postawa | Poor posture |
Sposoby leczenia i postępowanie w chorobach układu zmysłów
Polish | English |
---|
Krople do oczu | Eye drops |
Leki przeciwzapalne | Anti-inflammatory drugs |
Antybiotyki | Antibiotics |
Operacja zaćmy | Cataract surgery |
Korekcja laserowa wzroku | Laser vision correction (LASIK) |
Protezy słuchowe | Hearing aids |
Operacja ucha | Ear surgery |
Leczenie farmakologiczne na jaskrę | Glaucoma medication |
Soczewki kontaktowe | Contact lenses |
Chirurgia refrakcyjna | Refractive surgery |
Leki przeciwhistaminowe | Antihistamines |
Leczenie choroby Ménière’a | Ménière’s disease treatment |
Leczenie zapalenia spojówek | Conjunctivitis treatment |
Rehabilitacja słuchu | Auditory rehabilitation |
Usunięcie polipów nosowych | Nasal polyp removal |
Terapia słuchowa | Sound therapy |
Terapia laserowa siatkówki | Retinal laser therapy |
Leczenie farmakologiczne zaburzeń równowagi | Pharmacotherapy for balance disorders |
Protezy zmysłowe | Sensory prosthetics |
Chirurgia zatok | Sinus surgery |
Pytania o objawy pacjenta, które każdy lekarz powinien umieć zadać
Polish | English |
---|
Czy ma Pan/Pani problemy z widzeniem? | Do you have vision problems? |
Czy występuje u Pana/Pani podwójne widzenie? | Do you experience double vision? |
Czy odczuwa Pan/Pani bóle uszu lub ból głowy? | Do you feel ear pain or headaches? |
Czy zauważył(a) Pan/Pani utratę słuchu? | Have you noticed hearing loss? |
Czy słyszy Pan/Pani dzwonienie w uszach? | Do you hear ringing in your ears (tinnitus)? |
Czy ma Pan/Pani zawroty głowy lub trudności z równowagą? | Do you experience dizziness or balance problems? |
Czy ma Pan/Pani trudności z rozpoznawaniem smaków lub zapachów? | Do you have difficulty recognizing tastes or smells? |
Czy odczuwa Pan/Pani suchość oczu lub podrażnienie? | Do you experience dry or irritated eyes? |
Czy zauważył(a) Pan/Pani zaczerwienienie oczu lub wydzielinę? | Have you noticed eye redness or discharge? |
Czy doświadczył(a) Pan/Pani nagłej utraty wzroku? | Have you experienced sudden loss of vision? |
Czy występuje u Pana/Pani nadwrażliwość na światło? | Are you sensitive to light (photophobia)? |
Czy ma Pan/Pani trudności z koncentracją ze względu na hałas? | Do you have trouble concentrating due to noise? |
Czy zauważył(a) Pan/Pani zmiany w widzeniu kolorów? | Have you noticed changes in color vision? |
Czy miewa Pan/Pani uczucie zatkanych uszu? | Do you have a sensation of blocked ears? |
Czy odczuwa Pan/Pani swędzenie lub pieczenie w oczach? | Do you feel itching or burning in your eyes? |
Pytania o historię medyczną pacjenta, które każdy lekarz powinien umieć zadać
Polish | English |
---|
Czy w rodzinie występowały choroby oczu lub uszu, takie jak zaćma lub utrata słuchu? | Is there a family history of eye or ear diseases, such as cataracts or hearing loss? |
Czy kiedykolwiek miał(a) Pan/Pani infekcje ucha, np. zapalenie ucha środkowego? | Have you ever had ear infections, such as otitis media? |
Czy kiedykolwiek zdiagnozowano u Pana/Pani jaskrę lub zwyrodnienie plamki żółtej? | Have you been diagnosed with glaucoma or macular degeneration? |
Czy używa Pan/Pani soczewek kontaktowych lub okularów? | Do you use contact lenses or glasses? |
Czy w przeszłości przeszedł(ła) Pan/Pani operację oka lub uszu? | Have you ever had eye or ear surgery? |
Czy regularnie przyjmuje Pan/Pani leki, które mogą wpływać na wzrok lub słuch? | Do you regularly take medications that may affect your vision or hearing? |
Czy pali Pan/Pani tytoń? Jak długo? | Do you smoke? For how long? |
Czy w przeszłości doświadczył(a) Pan/Pani urazów głowy lub twarzy? | Have you ever had head or facial injuries? |
Czy kiedykolwiek zdiagnozowano u Pana/Pani alergie wziewne lub pokarmowe? | Have you been diagnosed with food or respiratory allergies? |
Czy zauważył(a) Pan/Pani pogorszenie wzroku lub słuchu z wiekiem? | Have you noticed a decline in vision or hearing with age? |
Czy przebywał(a) Pan/Pani w hałaśliwym środowisku pracy? | Have you worked in a noisy environment? |
Czy kiedykolwiek zdiagnozowano u Pana/Pani polipy nosowe lub przewlekłe zapalenie zatok? | Have you been diagnosed with nasal polyps or chronic sinusitis? |
Pytania o diagnozę, które pacjenci często zadają
Polish | English |
---|
Dlaczego tracę słuch? | Why am I losing my hearing? |
Czy moje objawy mogą być spowodowane jaskrą? | Could my symptoms be due to glaucoma? |
Jakie badania muszę wykonać, aby potwierdzić diagnozę? | What tests do I need to confirm the diagnosis? |
Czy moje objawy mogą wskazywać na chorobę Ménière’a? | Could my symptoms indicate Ménière’s disease? |
Jakie są przyczyny szumów usznych? | What causes tinnitus? |
Czy moje problemy z widzeniem mogą się pogorszyć? | Will my vision problems get worse? |
Jakie badania przesiewowe powinienem wykonywać regularnie? | What screening tests should I have regularly? |
Czy moje objawy mogą wskazywać na infekcję oczu lub uszu? | Could my symptoms indicate an eye or ear infection? |
Czy muszę wykonać operację, aby poprawić wzrok? | Will I need surgery to improve my vision? |
Jakie badania powinienem wykonać, aby monitorować stan zdrowia oczu i uszu? | What tests should I have to monitor my eye and ear health? |
Czy moje problemy ze zmysłami mogą być związane z procesem starzenia się? | Could my sensory issues be related to aging? |
Pytania o leczenie, które pacjenci często zadają
Polish | English |
---|
Jakie są opcje leczenia mojej utraty słuchu? | What are the treatment options for my hearing loss? |
Czy muszę przyjmować leki na jaskrę do końca życia? | Will I need to take glaucoma medications for life? |
Czy operacja zaćmy jest konieczna, czy mogę spróbować innych metod? | Is cataract surgery necessary, or can I try other methods? |
Jakie są ryzyka związane z korekcją laserową wzroku? | What are the risks of laser vision correction? |
Czy mogę nosić protezy słuchowe? Jakie są dostępne opcje? | Can I wear hearing aids? What options are available? |
Jak mogę poprawić wzrok poprzez zmiany stylu życia, takie jak dieta lub ochrona przed słońcem? | How can I improve my vision through lifestyle changes like diet or sun protection? |
Czy muszę unikać hałasu, aby nie pogorszyć mojego słuchu? | Do I need to avoid noise to prevent further hearing loss? |
Jakie leczenie jest dostępne na szumy uszne? | What treatments are available for tinnitus? |
Czy istnieją alternatywne terapie, które mogą poprawić mój stan zdrowia? | Are there alternative therapies that could improve my condition? |
Jak długo potrwa leczenie i kiedy mogę spodziewać się poprawy? | How long will treatment take, and when can I expect improvement? |
Jakie są najnowsze terapie na zaburzenia równowagi? | What are the latest therapies for balance disorders? |