diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml
index c81fe00..68c9a5c 100644
--- a/.gitea/workflows/ci.yaml
+++ b/.gitea/workflows/ci.yaml
@@ -2,7 +2,7 @@ name: CI Pipeline
on:
push:
- branches: [main, develop, feature/tests-and-ci, feature/multi-admin-roles]
+ branches: [main, develop, feature/tests-and-ci, feature/multi-admin-roles, fix/seo-improvements]
pull_request:
branches: [main]
diff --git a/backend/app/__pycache__/__init__.cpython-312 - Copy.pyc b/backend/app/__pycache__/__init__.cpython-312 - Copy.pyc
deleted file mode 100644
index f2d8ded..0000000
Binary files a/backend/app/__pycache__/__init__.cpython-312 - Copy.pyc and /dev/null differ
diff --git a/backend/app/__pycache__/__init__.cpython-312.pyc b/backend/app/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 3743842..0000000
Binary files a/backend/app/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/backend/app/__pycache__/auth.cpython-312.pyc b/backend/app/__pycache__/auth.cpython-312.pyc
deleted file mode 100644
index 7c01d5e..0000000
Binary files a/backend/app/__pycache__/auth.cpython-312.pyc and /dev/null differ
diff --git a/backend/app/__pycache__/config.cpython-312 - Copy.pyc b/backend/app/__pycache__/config.cpython-312 - Copy.pyc
deleted file mode 100644
index c96e43d..0000000
Binary files a/backend/app/__pycache__/config.cpython-312 - Copy.pyc and /dev/null differ
diff --git a/backend/app/__pycache__/config.cpython-312.pyc b/backend/app/__pycache__/config.cpython-312.pyc
deleted file mode 100644
index e68e6b6..0000000
Binary files a/backend/app/__pycache__/config.cpython-312.pyc and /dev/null differ
diff --git a/backend/app/__pycache__/database.cpython-312 - Copy.pyc b/backend/app/__pycache__/database.cpython-312 - Copy.pyc
deleted file mode 100644
index 9a04cdf..0000000
Binary files a/backend/app/__pycache__/database.cpython-312 - Copy.pyc and /dev/null differ
diff --git a/backend/app/__pycache__/database.cpython-312.pyc b/backend/app/__pycache__/database.cpython-312.pyc
deleted file mode 100644
index 9a04cdf..0000000
Binary files a/backend/app/__pycache__/database.cpython-312.pyc and /dev/null differ
diff --git a/backend/app/__pycache__/log_parser.cpython-312.pyc b/backend/app/__pycache__/log_parser.cpython-312.pyc
deleted file mode 100644
index c66f89b..0000000
Binary files a/backend/app/__pycache__/log_parser.cpython-312.pyc and /dev/null differ
diff --git a/backend/app/__pycache__/main.cpython-312 - Copy.pyc b/backend/app/__pycache__/main.cpython-312 - Copy.pyc
deleted file mode 100644
index a1fc247..0000000
Binary files a/backend/app/__pycache__/main.cpython-312 - Copy.pyc and /dev/null differ
diff --git a/backend/app/__pycache__/main.cpython-312.pyc b/backend/app/__pycache__/main.cpython-312.pyc
deleted file mode 100644
index 8e89514..0000000
Binary files a/backend/app/__pycache__/main.cpython-312.pyc and /dev/null differ
diff --git a/backend/app/__pycache__/models.cpython-312 - Copy.pyc b/backend/app/__pycache__/models.cpython-312 - Copy.pyc
deleted file mode 100644
index 2d459cc..0000000
Binary files a/backend/app/__pycache__/models.cpython-312 - Copy.pyc and /dev/null differ
diff --git a/backend/app/__pycache__/models.cpython-312.pyc b/backend/app/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index 6fb50ac..0000000
Binary files a/backend/app/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/backend/app/__pycache__/schemas.cpython-312.pyc b/backend/app/__pycache__/schemas.cpython-312.pyc
deleted file mode 100644
index 5a3da62..0000000
Binary files a/backend/app/__pycache__/schemas.cpython-312.pyc and /dev/null differ
diff --git a/backend/app/__pycache__/theme_export.cpython-312.pyc b/backend/app/__pycache__/theme_export.cpython-312.pyc
deleted file mode 100644
index 06d0e08..0000000
Binary files a/backend/app/__pycache__/theme_export.cpython-312.pyc and /dev/null differ
diff --git a/backend/app/__pycache__/user_models.cpython-312 - Copy.pyc b/backend/app/__pycache__/user_models.cpython-312 - Copy.pyc
deleted file mode 100644
index ed7c844..0000000
Binary files a/backend/app/__pycache__/user_models.cpython-312 - Copy.pyc and /dev/null differ
diff --git a/backend/app/__pycache__/user_models.cpython-312.pyc b/backend/app/__pycache__/user_models.cpython-312.pyc
deleted file mode 100644
index ed7c844..0000000
Binary files a/backend/app/__pycache__/user_models.cpython-312.pyc and /dev/null differ
diff --git a/backend/app/main.py b/backend/app/main.py
index 10ca14f..a551719 100644
--- a/backend/app/main.py
+++ b/backend/app/main.py
@@ -78,6 +78,11 @@ def _migrate_add_missing_columns(sync_conn):
("station_config", "color_black", sa.String(7), "#1a1816"),
# Multi-admin support: password_hash (nullable — existing rows stay NULL)
("users", "password_hash", sa.String(255), None),
+ # Social media columns
+ ("station_config", "social_facebook", sa.String(500), ""),
+ ("station_config", "social_twitter", sa.String(500), ""),
+ ("station_config", "social_instagram", sa.String(500), ""),
+ ("station_config", "social_youtube", sa.String(500), ""),
]
# Determine dialect
diff --git a/backend/app/models.py b/backend/app/models.py
index 8954944..8b26604 100644
--- a/backend/app/models.py
+++ b/backend/app/models.py
@@ -97,6 +97,12 @@ class StationConfig(Base):
# Donation
donation_url = Column(String(500), nullable=False, default="")
+ # Social media
+ social_facebook = Column(String(500), nullable=False, default="")
+ social_twitter = Column(String(500), nullable=False, default="")
+ social_instagram = Column(String(500), nullable=False, default="")
+ social_youtube = Column(String(500), nullable=False, default="")
+
# Stream
stream_url = Column(String(500), nullable=False, default="")
stream_metadata_url = Column(String(500), nullable=False, default="")
diff --git a/backend/app/schemas.py b/backend/app/schemas.py
index 3ac4a84..bccb55b 100644
--- a/backend/app/schemas.py
+++ b/backend/app/schemas.py
@@ -78,6 +78,11 @@ class StationConfigResponse(BaseModel):
play_store_icon_url: str
play_store_url: str
app_store_embed_html: str
+ # Social media
+ social_facebook: str
+ social_twitter: str
+ social_instagram: str
+ social_youtube: str
# Page content
hero_subtitle: str
about_intro: str
@@ -129,6 +134,11 @@ class StationConfigUpdate(BaseModel):
play_store_icon_url: Optional[str] = None
play_store_url: Optional[str] = None
app_store_embed_html: Optional[str] = None
+ # Social media
+ social_facebook: Optional[str] = None
+ social_twitter: Optional[str] = None
+ social_instagram: Optional[str] = None
+ social_youtube: Optional[str] = None
# Page content
hero_subtitle: Optional[str] = None
about_intro: Optional[str] = None
diff --git a/public/robots.txt b/public/robots.txt
new file mode 100644
index 0000000..27c712f
--- /dev/null
+++ b/public/robots.txt
@@ -0,0 +1,7 @@
+User-agent: *
+Allow: /
+
+Disallow: /admin
+Disallow: /login
+
+Sitemap: https://kmountainflower.org/sitemap.xml
diff --git a/public/sitemap.xml b/public/sitemap.xml
new file mode 100644
index 0000000..d7169f9
--- /dev/null
+++ b/public/sitemap.xml
@@ -0,0 +1,28 @@
+
+
{{ config().about_intro }}
{{ config().about_donation_text }}
diff --git a/src/app/contact/contact.component.html b/src/app/contact/contact.component.html index 0ece1c3..c137437 100644 --- a/src/app/contact/contact.component.html +++ b/src/app/contact/contact.component.html @@ -2,7 +2,7 @@Have a song request, want to volunteer, or just want to say hello? We'd love to hear from you. diff --git a/src/app/events/events.component.html b/src/app/events/events.component.html index 2c9fb72..42ec0d7 100644 --- a/src/app/events/events.component.html +++ b/src/app/events/events.component.html @@ -2,7 +2,7 @@
{{ config().events_intro }}
{{ config().schedule_intro }}