Centrum Artystyczne MUZA-ART

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ę

Nasza Filozofia

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.


Poznaj nas lepiej

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

Generowanie inspiracji…

Super! Zaczynamy!


MUZA-ART

Twoja brama do świata muzyki. Uczymy z pasją i zaangażowaniem.

Kontakt

  • Adres: ul. Artystyczna 10, 00-001 Muzykowo
  • Telefon: +48 123 456 789
  • E-mail: kontakt@muza-art.pl

© 2025 MUZA-ART Centrum Artystyczne. Wszelkie prawa zastrzeżone.

// — 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;
}