MUZA-ART | Centrum Artystyczne – Fortepian, Gitara, Ukulele, Perkusja
https://cdn.tailwindcss.com
body {
/* Zmieniono czcionkę na Times New Roman, Times, serif */
font-family: ‚Times New Roman’, Times, serif;
background-color: #f8fafc; /* Jasne tło */
scroll-behavior: smooth;
}
/* Style dla ikon SVG */
.icon-shadow {
filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
}
/* Własne style dla ukrycia modalu */
.hidden-modal {
visibility: hidden;
opacity: 0;
transition: opacity 0.3s, visibility 0.3s;
}
.visible-modal {
visibility: visible;
opacity: 1;
}
tailwind.config = {
theme: {
extend: {
colors: {
// AKTUALNA PALETA KOLORÓW: Bordowy, Żółty/Musztardowy, Brąz
‚muza-primary’: ‚#8b1e3f’, // Głęboki Bordowy/Burgund
‚muza-secondary’: ‚#facc15’, // Ciepły Żółty/Musztardowy
‚muza-dark’: ‚#422006’, // Ciemny Brąz dla tekstu
‚muza-accent’: ‚#b45309’, // Akcent Brązowy
}
}
}
}
Odkryj swój talent
MUZA-ART Centrum Artystyczne
Profesjonalna nauka gry na **fortepianie, gitarze, ukulele i perkusji**. Rozpocznij swoją muzyczną podróż już dziś!
Indywidualne lekcje szyte na miarę
W MUZA-ART wierzymy, że każdy ma rytm w duszy. Nasze lekcje są dostosowane do Twojego tempa, poziomu zaawansowania i muzycznych marzeń.
Nasze Instrumenty
Fortepian
Opanuj klawisze – od klasycznych etiud po nowoczesne utwory. Rozwijaj harmonię i technikę pod okiem doświadczonych pedagogów.
✨ Odkryj inspirację
Gitara
Akustyczna, klasyczna, elektryczna – wybierz swój styl. Od podstaw akordów po zaawansowane techniki solowe i improwizację.
✨ Odkryj inspirację
Ukulele
Mały instrument, wielka radość! Idealne do nauki dla najmłodszych i dla dorosłych, którzy chcą szybko opanować podstawy.
✨ Odkryj inspirację
Perkusja
Poczuj rytm. Nauka koordynacji, techniki werblowej i różnorodnych stylów – od jazzu po heavy metal. Pełny zestaw!
✨ Odkryj inspirację
Dlaczego warto wybrać MUZA-ART?
-
Doświadczeni Pedagodzy: Nasi nauczyciele to aktywni muzycy z pasją do nauczania i udokumentowanymi sukcesami.
-
Przyjazna Atmosfera: U nas liczy się radość z muzykowania, bez zbędnej presji i stresu. Idealne miejsce dla każdego, niezależnie od wieku.
-
Nowoczesne Sale: Lekcje odbywają się w komfortowo wyposażonych studiach, gotowych na Twoje próby.
Gotów by zacząć?
Skontaktuj się z nami i umów na pierwszą, niezobowiązującą lekcję próbną!
Wybierz instrument
Fortepian
Gitara
Ukulele
Perkusja
Wyślij Zgłoszenie
// — FUNKCJE UI —
// Logika dla menu mobilnego
const mobileMenuButton = document.getElementById(‚mobile-menu-button’);
const mobileMenu = document.getElementById(‚mobile-menu’);
mobileMenuButton.addEventListener(‚click’, () => {
mobileMenu.classList.toggle(‚hidden’);
});
// Ukryj menu mobilne po kliknięciu linka (dla lepszego UX)
mobileMenu.querySelectorAll(‚a’).forEach(link => {
link.addEventListener(‚click’, () => {
mobileMenu.classList.add(‚hidden’);
});
});
// Funkcja do wyświetlania wiadomości zwrotnej (zamiast alert())
function showConfirmation() {
document.getElementById(‚confirmation-message’).classList.remove(‚hidden’);
}
// Kontrola Modalu Gemini
const llmModal = document.getElementById(‚llm-output-modal’);
const llmTitle = document.getElementById(‚llm-modal-title’);
const llmContent = document.getElementById(‚llm-content’);
const llmLoader = document.getElementById(‚llm-loader’);
function openLlmModal(title) {
llmTitle.textContent = title;
llmContent.innerHTML = ”;
llmLoader.classList.remove(‚hidden’);
llmContent.classList.add(‚hidden’);
llmModal.classList.remove(‚hidden-modal’);
llmModal.classList.add(‚visible-modal’);
}
function closeLlmModal() {
llmModal.classList.remove(‚visible-modal’);
llmModal.classList.add(‚hidden-modal’);
}
function displayLlmResult(content) {
llmLoader.classList.add(‚hidden’);
llmContent.innerHTML = content.replace(/\*\*(.*?)\*\*/g, ‚$1‚); // Konwersja Markdown na HTML
llmContent.classList.remove(‚hidden’);
}
function displayLlmError(instrument) {
llmLoader.classList.add(‚hidden’);
llmContent.innerHTML = `Przepraszamy, ale nie udało się wygenerować inspiracji dla instrumentu: ${instrument}. Spróbuj ponownie za chwilę!`;
llmContent.classList.remove(‚hidden’);
}
// — LOGIKA API GEMINI —
const apiKey = „”; // API Key zostanie automatycznie dostarczony przez Canvas
const apiUrl = `https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-05-20:generateContent?key=${apiKey}`;
/**
* Główna funkcja do wywoływania API Gemini.
* @param {string} instrument Nazwa instrumentu (fortepian, gitara, ukulele, perkusja).
*/
async function generateInstrumentSuggestion(instrument) {
openLlmModal(`Inspiracja dla: ${instrument.charAt(0).toUpperCase() + instrument.slice(1)}`);
// Dezaktywacja przycisku
const buttonId = `${instrument}-button`;
const button = document.getElementById(buttonId);
if(button) button.disabled = true;
const userQuery = `Daj mi motywacyjną sentencję na temat nauki gry na ${instrument} i sugerowany utwór na start.`;
const systemPrompt = „Jesteś ekspertem i nauczycielem w szkole muzycznej. Twoim zadaniem jest zainspirowanie przyszłego ucznia. Podaj jedną, motywującą sentencję (maksymalnie 20 słów) na temat nauki gry na instrumencie [INSTRUMENT] i natychmiast po niej zasugeruj jeden, bardzo popularny utwór (bez szczegółów historycznych), który jest idealny dla początkujących na tym instrumencie. Cała odpowiedź musi być w języku polskim i w dwóch osobnych akapitach (oddzielonych podwójną nową linią).”;
const payload = {
contents: [{ parts: [{ text: userQuery }] }],
systemInstruction: {
parts: [{ text: systemPrompt.replace(„[INSTRUMENT]”, instrument) }]
},
};
const maxRetries = 3;
let currentRetry = 0;
while (currentRetry < maxRetries) {
try {
const response = await fetch(apiUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(payload)
});
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const result = await response.json();
const text = result.candidates?.[0]?.content?.parts?.[0]?.text;
if (text) {
const formattedText = text.replace(/\n\n/g, '
‚);
displayLlmResult(formattedText);
if(button) button.disabled = false;
return;
} else {
throw new Error(„API returned no text content.”);
}
} catch (error) {
console.error(`Attempt ${currentRetry + 1} failed:`, error);
currentRetry++;
if (currentRetry setTimeout(resolve, delay));
}
}
}
// Wyświetlenie błędu po wyczerpaniu prób
displayLlmError(instrument);
if(button) button.disabled = false;
}
