diff --git a/TODO b/TODO
new file mode 100644
index 0000000..a03010a
--- /dev/null
+++ b/TODO
@@ -0,0 +1,21 @@
+Nastylovat:
+- header nedrží
+- footer
+- lazyload načítat o něco dříve (neli zrušit alespoň mimo galerii)
+
+Naprogramovat:
+- tlačítko "načíst další aktuality" v komponentě News (možná přidat i novou stránku /aktuality
+- přidat kalendář
+- kotvičky
+- přidat v galerii zvětsovač na obrázky
+- přidat backend
+- přidat databázi
+- přidat api
+- přidat volání na api
+
+Naplánovat:
+- kurzy + cena: vyskakovací okno na rezervaci s jménem lekce? jak to vyřešit s kalendářem? (stránka /rezervace)
+- změnit (logicky) pořadí komponent na hlavní stránce
+
+Čeká na Ondru:
+- Důležité kontakty + obrázky jak se dostat nebo vzdálenosti od městské dopravy? přidat do googlu
\ No newline at end of file
diff --git a/services/backend/backend/settings.py b/services/backend/backend/settings.py
index dac435c..dfcfc92 100644
--- a/services/backend/backend/settings.py
+++ b/services/backend/backend/settings.py
@@ -147,7 +147,9 @@ USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/5.1/howto/static-files/
-STATIC_URL = 'static/'
+STATIC_URL = '/static/'
+
+MEDIA_URL = '/media/'
# Default primary key field type
# https://docs.djangoproject.com/en/5.1/ref/settings/#default-auto-field
diff --git a/services/frontend/assets/css/main.css b/services/frontend/assets/css/main.css
new file mode 100644
index 0000000..0b69922
--- /dev/null
+++ b/services/frontend/assets/css/main.css
@@ -0,0 +1,204 @@
+@font-face {
+ font-family: 'Playfair Display', serif;
+ font-weight: 700;
+ font-style: normal;
+ font-display: block;
+}
+
+h1 {
+ font-family: 'Playfair Display', serif; /* Or a similar elegant font */
+ font-size: 3rem;
+ color: #333; /* Dark gray */
+ text-align: center;
+ margin-bottom: 1rem;
+ margin-top: 2rem;
+ text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1); /* Subtle shadow */
+}
+
+h2 {
+ font-family: 'Playfair Display', serif;
+ font-size: 1.5rem;
+ color: #CF3476;
+ text-align: center;
+ margin-bottom: 0.5rem;
+}
+
+h3 {
+ font-family: 'Playfair Display', serif;
+ font-size: 1.5rem;
+ color: #666; /* Light gray */
+ text-align: center;
+ margin-bottom: 0.5rem;
+}
+
+h4 {
+ font-family: 'Playfair Display', serif;
+ font-size: 1rem;
+ color: #666; /* Light gray */
+ text-align: center;
+ margin-bottom: 0.5rem;
+}
+
+h5 {
+ font-family: 'Playfair Display', serif;
+ font-size: 1rem;
+ color: #aaa; /* Light gray */
+ margin-top: 1rem;
+}
+
+.to_left {
+ font-family: 'Playfair Display', serif;
+ font-size: 1rem;
+}
+
+.to_right {
+ font-family: 'Playfair Display', serif;
+ float: right;
+}
+
+.contact {
+ margin: 20px calc(20% - 40px) 50px;
+ min-width: 25rem;
+ border-radius: 15px;
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
+}
+
+.contact__title {
+ text-align: center;
+ font-size: 3rem;
+ color: #333; /* Dark gray */
+ margin-bottom: 1rem;
+ font-family: 'Playfair Display', serif;
+ font-weight: bold;
+}
+
+.contact__button {
+ width: 100%;
+ color: #ffffff;
+ background-color: #CF3476;
+}
+
+.article {
+ padding: 20px;
+ min-width: 40%;
+ border-radius: 15px;
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
+ margin: 50px
+}
+
+.article__title {
+ font-family: 'Playfair Display', serif;
+ font-size: 1.5rem;
+ color: #CF3476; /* Dark gray */
+ text-align: left;
+ margin-top: 0.1rem;
+ font-weight: bold;
+}
+
+.article__date {
+ font-family: 'Playfair Display', serif;
+ font-size: 0.8rem;
+ text-align: left;
+}
+
+.article__text {
+ font-family: 'Playfair Display', serif; /* Or a similar elegant font */
+ font-size: 1rem;
+ text-align: left;
+ color: #666; /* Dark gray */
+}
+
+.article__sign {
+ font-family: 'Playfair Display', serif; /* Or a similar elegant font */
+ font-size: 1rem;
+ float: right;
+ color: #333; /* Dark gray */
+}
+
+.pricing-box {
+ padding: 20px;
+ text-align: center;
+ min-width: 25rem;
+ border-radius: 1rem;
+ height: 230px;
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
+ margin: 50px
+}
+
+.pricing-box:not(:last-child) {
+ margin: 20px;
+}
+
+.pricing__price {
+ font-family: 'Playfair Display', serif; /* Or a similar elegant font */
+ font-size: 3.5rem;
+ color: #CF3476; /* Dark gray */
+ text-align: center;
+}
+
+.pricing__subtitle {
+ font-family: 'Playfair Display', serif; /* Or a similar elegant font */
+ font-size: 1rem;
+ color: #333; /* Dark gray */
+ text-align: center;
+}
+
+.advantage {
+ min-width: 25rem;
+ border-radius: 1rem;
+ background: transparent;
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
+ margin-top: 1.2rem;
+ margin-left: calc(20% - 2.5rem);
+ margin-right: calc(20% - 2.5rem);
+}
+
+.advantage__title {
+ font-family: 'Playfair Display', serif;
+ color: #CF3476;
+ font-size: 1.5rem;
+ font-weight: bold;
+ margin-top: 0.1rem;
+}
+
+.advantage__text {
+ font-family: 'Playfair Display', serif;
+ font-size: 1rem;
+ color: #333;
+}
+
+.about {
+ min-width: 25rem;
+ border-radius: 0;
+ background: transparent;
+}
+
+.about__parallax {
+ max-height: 36rem;
+}
+
+.about__title {
+ font-family: 'Playfair Display', serif;
+ font-size: 3rem;
+ text-align: center;
+ color: #ddd; /* Dark gray */
+ margin-bottom: 1rem;
+ margin-top: 1rem;
+ font-weight: bold;
+}
+
+.about__subtitle {
+ font-family: 'Playfair Display', serif;
+ color: #CF3476;
+ font-size: 1.5rem;
+ text-align: center;
+ margin-bottom: 0.5rem;
+ font-weight: bold;
+}
+
+.about__text {
+ font-family: 'Playfair Display', serif;
+ color: #aaa; /* Dark gray */
+ font-size: 1.2rem;
+ text-align: center;
+}
\ No newline at end of file
diff --git a/services/frontend/components/About.vue b/services/frontend/components/About.vue
index b8cffd3..fdef354 100644
--- a/services/frontend/components/About.vue
+++ b/services/frontend/components/About.vue
@@ -1,68 +1,39 @@
-
-
-
-
-
+
+
+
- Vítejte v tanečním klubu!
- Tanec je vášeň!
-
- Sportovní taneční klub jsme založili v roce 2016 s absolventy středoškolských tanečních kurzů taneční školy Bolero Ostrava.
- Společně jsme se zaměřili na profesionální stránku tance, našli jsme pár aktivních tanečníků se kterými jsme začali pravidelně trénovat pohyb, krokové variace a techniku jednotlivých tanců.
- Po roce tréninků se dostavily i první výsledky a dnes již tito mladí tanečníci skvěle reprezentují klub na celé řadě tanečních soutěží.
-
- O rok později v roce 2017 jsme založili také společenský taneční klub pro dospělé, kteří by se rádi také tanci věnovali.
- Příjemná atmosféra, zábava, ale i chuť se učit novým věcem, to jsou tři slova, které by mohly charakterizovat atmosféru v tanečních lekcích.
- Taneční klub, ať už sportovní tak i společenský vítá všechny milovníky tance, kteří chtějí poodhalit tajemství ladných tanečních pohybů, sdílet nezaměnitelnou atmosféru a dovědět se více o taneční technice.
- Našim přáním je, abyste na tanečním parketu jednoduše zářili.
-
-
-
-
-
+
+ Vítejte v tanečním klubu!
+ Tanec je vášeň!
+
+ Sportovní taneční klub jsme založili v roce 2016 s absolventy středoškolských tanečních kurzů taneční školy Bolero Ostrava.
+ Společně jsme se zaměřili na profesionální stránku tance, našli jsme pár aktivních tanečníků se kterými jsme začali pravidelně trénovat pohyb, krokové variace a techniku jednotlivých tanců.
+ Po roce tréninků se dostavily i první výsledky a dnes již tito mladí tanečníci skvěle reprezentují klub na celé řadě tanečních soutěží.
+
+ O rok později v roce 2017 jsme založili také společenský taneční klub pro dospělé, kteří by se rádi také tanci věnovali.
+ Příjemná atmosféra, zábava, ale i chuť se učit novým věcem, to jsou tři slova, které by mohly charakterizovat atmosféru v tanečních lekcích.
+ Taneční klub, ať už sportovní tak i společenský vítá všechny milovníky tance, kteří chtějí poodhalit tajemství ladných tanečních pohybů, sdílet nezaměnitelnou atmosféru a dovědět se více o taneční technice.
+ Našim přáním je, abyste na tanečním parketu jednoduše zářili.
+
+
+
+
+
+
-
-
\ No newline at end of file
+import './assets/css/main.css'
+
\ No newline at end of file
diff --git a/services/frontend/components/Advantages.vue b/services/frontend/components/Advantages.vue
index 50d0ed4..5409562 100644
--- a/services/frontend/components/Advantages.vue
+++ b/services/frontend/components/Advantages.vue
@@ -1,17 +1,28 @@
Co dostanete s tanečním klubem
- Výhody tanečníka
- Výhody tanečníka
+
- {{ advantage.subtitle }}
-
+
+
+
+
+
+
+ {{advantage.title}}
+
+
+
+
+ {{ advantage.subtitle }}
+
+
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/services/frontend/components/ContactUs.vue b/services/frontend/components/ContactUs.vue
index 8fff377..e08ebbf 100644
--- a/services/frontend/components/ContactUs.vue
+++ b/services/frontend/components/ContactUs.vue
@@ -1,63 +1,67 @@
- Kontaktujte nás!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ Kontaktujte nás!
+
+
- Poslat
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Poslat
+
+
+
+
+
+
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/services/frontend/components/Courses.vue b/services/frontend/components/Courses.vue
index 6a5492b..fbe3b20 100644
--- a/services/frontend/components/Courses.vue
+++ b/services/frontend/components/Courses.vue
@@ -1,6 +1,7 @@
Kurzy - cena
- Vyberte, co Vám nejlépe vyhovuje
+ Vyberte, co Vám nejlépe vyhovuje
+
-
- {{ course.name }}
- {{ course.time }}
- {{ course.price }}
- {{ course.desc }}
+
+ {{ course.name }}
+ {{ course.time }}
+ {{ course.price }}
+ {{ course.desc }}
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/services/frontend/components/Gallery.vue b/services/frontend/components/Gallery.vue
deleted file mode 100644
index 24a56e7..0000000
--- a/services/frontend/components/Gallery.vue
+++ /dev/null
@@ -1,75 +0,0 @@
-
- Galerie
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/services/frontend/components/News.vue b/services/frontend/components/News.vue
index 51eb6a8..91aba92 100644
--- a/services/frontend/components/News.vue
+++ b/services/frontend/components/News.vue
@@ -1,48 +1,49 @@
- Články
-
+ Aktuality
+ Přečtěte si aktuality z našeho klubu
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
- {{ article.title }}
- {{ article.autor }}, ({{ article.date}})
- {{ article.desc }}
-
-
+ {{ article.title }}
+ {{ article.date}}
+ {{ article.desc }}
+ {{ article.autor }}
+
+
+
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/services/frontend/components/Trainers.vue b/services/frontend/components/Trainers.vue
index 674fb87..da739b7 100644
--- a/services/frontend/components/Trainers.vue
+++ b/services/frontend/components/Trainers.vue
@@ -1,5 +1,6 @@
Naši trenéři a lektoři
+ Seznamte se s námi!
{{lector.name}}
- {{ lector.desc }}
+ {{ lector.desc }}
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/services/frontend/components/menu/Footer.vue b/services/frontend/components/menu/Footer.vue
index 8fca1c1..cf66ca3 100644
--- a/services/frontend/components/menu/Footer.vue
+++ b/services/frontend/components/menu/Footer.vue
@@ -8,7 +8,7 @@
cols="12"
md="4"
>
-
Kontakt
+ Kontakt
@@ -20,27 +20,26 @@
cols="12"
md="4"
>
- Tréningové hodiny
+ Tréningové hodiny
-
-
-
-
-
-
-
+ Pondělí: 16:30 - 18:30 (VS)
+ Úterý: 16:30 - 18:30 (VS)
+ Středa: 16:30 - 18:30 (VS)
+ Čtvrtek: 16:30 - 18:30 (VS)
+ Pátek: 16:30 - 18:30 (VS)
+ Sobota: 16:30 - 18:30 (VS)
+ Neděle: 16:30 - 18:30 (VS)
- Sociální sítě
+ Sociální sítě
-
-
-
-
+
+
+
@@ -60,32 +59,6 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/services/frontend/components/menu/Header.vue b/services/frontend/components/menu/Header.vue
index ddfe5e1..4edad7b 100644
--- a/services/frontend/components/menu/Header.vue
+++ b/services/frontend/components/menu/Header.vue
@@ -1,57 +1,120 @@
-
-
-
- Taneční klub Ostrava
-
-
-
- {{ item }}
-
-
-
-
-
-
-
+
-
-
- {{ item }}
+
+
+ Taneční klub Ostrava
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ tab.name }}
+
-
-
-
+
+
+
+
-
\ No newline at end of file
diff --git a/services/frontend/layouts/default.vue b/services/frontend/layouts/default.vue
index ce0aada..32c46a5 100644
--- a/services/frontend/layouts/default.vue
+++ b/services/frontend/layouts/default.vue
@@ -1,11 +1,11 @@
-
+
-
+
\ No newline at end of file
diff --git a/services/frontend/pages/galerie.vue b/services/frontend/pages/galerie.vue
index a1a0736..90c7dbc 100644
--- a/services/frontend/pages/galerie.vue
+++ b/services/frontend/pages/galerie.vue
@@ -1,10 +1,63 @@
-
+ Galerie
+
+
+
+
+
+
+
+
+
+
+
-
-
\ No newline at end of file
+const photos = [
+ {src: "https://www.danceus.org/parse/files/Bjy5anNVI0Q81M8bmrwIiuU20x4kepQTxzDBfqpR/70d831b8f51edc1f6e1a4320d52f164b_latin-dance.jpg"},
+ {src: "https://avatars0.githubusercontent.com/u/9064066?v=4&s=460"},
+ {src: "https://cdn.vuetifyjs.com/images/profiles/marcus.jpg"},
+ {src: "https://danceostrava.cz/wp-content/uploads/2021/10/IMG_5203-scaled.jpg"},
+ {src: "https://cdn11.bigcommerce.com/s-07991/product_images/uploaded_images/latin-dance.jpg"},
+ {src: "https://www.danceus.org/parse/files/Bjy5anNVI0Q81M8bmrwIiuU20x4kepQTxzDBfqpR/70d831b8f51edc1f6e1a4320d52f164b_latin-dance.jpg"},
+ {src: "https://avatars0.githubusercontent.com/u/9064066?v=4&s=460"},
+ {src: "https://cdn.vuetifyjs.com/images/profiles/marcus.jpg"},
+ {src: "https://danceostrava.cz/wp-content/uploads/2021/10/IMG_5203-scaled.jpg"},
+ {src: "https://cdn11.bigcommerce.com/s-07991/product_images/uploaded_images/latin-dance.jpg"},
+ {src: "https://www.danceus.org/parse/files/Bjy5anNVI0Q81M8bmrwIiuU20x4kepQTxzDBfqpR/70d831b8f51edc1f6e1a4320d52f164b_latin-dance.jpg"},
+ {src: "https://avatars0.githubusercontent.com/u/9064066?v=4&s=460"},
+ {src: "https://cdn.vuetifyjs.com/images/profiles/marcus.jpg"},
+ {src: "https://danceostrava.cz/wp-content/uploads/2021/10/IMG_5203-scaled.jpg"},
+ {src: "https://cdn11.bigcommerce.com/s-07991/product_images/uploaded_images/latin-dance.jpg"},
+ {src: "https://www.danceus.org/parse/files/Bjy5anNVI0Q81M8bmrwIiuU20x4kepQTxzDBfqpR/70d831b8f51edc1f6e1a4320d52f164b_latin-dance.jpg"},
+ {src: "https://avatars0.githubusercontent.com/u/9064066?v=4&s=460"},
+ {src: "https://cdn.vuetifyjs.com/images/profiles/marcus.jpg"},
+ {src: "https://danceostrava.cz/wp-content/uploads/2021/10/IMG_5203-scaled.jpg"},
+ {src: "https://cdn11.bigcommerce.com/s-07991/product_images/uploaded_images/latin-dance.jpg"},
+ {src: "https://www.danceus.org/parse/files/Bjy5anNVI0Q81M8bmrwIiuU20x4kepQTxzDBfqpR/70d831b8f51edc1f6e1a4320d52f164b_latin-dance.jpg"},
+ {src: "https://avatars0.githubusercontent.com/u/9064066?v=4&s=460"},
+ {src: "https://cdn.vuetifyjs.com/images/profiles/marcus.jpg"},
+ {src: "https://danceostrava.cz/wp-content/uploads/2021/10/IMG_5203-scaled.jpg"},
+ {src: "https://cdn11.bigcommerce.com/s-07991/product_images/uploaded_images/latin-dance.jpg"},
+ {src: "https://www.danceus.org/parse/files/Bjy5anNVI0Q81M8bmrwIiuU20x4kepQTxzDBfqpR/70d831b8f51edc1f6e1a4320d52f164b_latin-dance.jpg"},
+ {src: "https://avatars0.githubusercontent.com/u/9064066?v=4&s=460"},
+ {src: "https://cdn.vuetifyjs.com/images/profiles/marcus.jpg"},
+ {src: "https://danceostrava.cz/wp-content/uploads/2021/10/IMG_5203-scaled.jpg"},
+ {src: "https://cdn11.bigcommerce.com/s-07991/product_images/uploaded_images/latin-dance.jpg"},
+]
+
\ No newline at end of file
diff --git a/services/frontend/pages/index.vue b/services/frontend/pages/index.vue
index 9cdf637..1aabfcf 100644
--- a/services/frontend/pages/index.vue
+++ b/services/frontend/pages/index.vue
@@ -1,22 +1,20 @@
-
-
+
+
Taneční klub Ostrava
-
+
Naučíme Vás tančit!
-
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/services/frontend/pages/kontakty.vue b/services/frontend/pages/kontakty.vue
new file mode 100644
index 0000000..40a083b
--- /dev/null
+++ b/services/frontend/pages/kontakty.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/services/frontend/pages/kurzy.vue b/services/frontend/pages/kurzy.vue
deleted file mode 100644
index ec4a1b4..0000000
--- a/services/frontend/pages/kurzy.vue
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/services/frontend/pages/treneri.vue b/services/frontend/pages/treneri.vue
deleted file mode 100644
index 8ec9bc7..0000000
--- a/services/frontend/pages/treneri.vue
+++ /dev/null
@@ -1,70 +0,0 @@
-
- Naši trenéři a lektoři
-
-
-
-
-
-
-
-
- {{lector.name}}
- {{ lector.desc }}
-
- {{lector.story}}
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/services/frontend/plugins/vuetify.ts b/services/frontend/plugins/vuetify.ts
index dd20302..7326571 100644
--- a/services/frontend/plugins/vuetify.ts
+++ b/services/frontend/plugins/vuetify.ts
@@ -3,8 +3,57 @@ import '@mdi/font/css/materialdesignicons.css'
import 'vuetify/styles'
import { createVuetify } from 'vuetify'
+import { aliases, mdi } from 'vuetify/iconsets/mdi'
+import {VIcon} from "vuetify/components";
export default defineNuxtPlugin((app) => {
- const vuetify = createVuetify({})
+ const vuetify = createVuetify({
+ icons: { // https://pictogrammers.com/library/mdi/icon/youtube/
+ defaultSet: 'mdi',
+ },
+ theme: {
+ defaultTheme: 'light',
+ themes: {
+ light: {
+ colors: {
+ background: '#ffffff',
+ primary: '#303030',
+ 'primary-darken': '#d0d0d0',
+ secondary: '#606060',
+ 'secondary-darken': '#a0a0a0',
+ color: '#CF3476',
+ light: '#d0d0d0',
+ dark: '#303030'
+ },
+ },
+ // dark: {
+ // colors: {
+ // background: '#000',
+ // primary: '#d0d0d0',
+ // 'primary-darken': '#303030',
+ // secondary: '#a0a0a0',
+ // 'secondary-darken': '#606060',
+ // color: '#CF3476',
+ // }
+ // }
+ },
+ },
+ aliases: {
+ SmallIcon: VIcon,
+ BigIcon: VIcon,
+ },
+ defaults: {
+ SmallIcon: {
+ color: 'color',
+ style: [{ 'margin-left': '20px', 'margin-top': '15px', 'font-size': '30px'}]
+ },
+ BigIcon: {
+ color: 'color',
+ style: [{ margin: '20px', 'font-size': '60px'}]
+ },
+ },
+ })
+
+
app.vueApp.use(vuetify)
})
diff --git a/services/frontend/public/Beblik.jpg b/services/frontend/public/Beblik.jpg
new file mode 100644
index 0000000..2b0f4db
Binary files /dev/null and b/services/frontend/public/Beblik.jpg differ