refactor: Rename ZOPK to ZOP Kaszubia in user-facing text

- Update navigation menu labels
- Update page titles and headings
- Update modal texts and notifications
- Keep internal class names (ZOPKNews, etc.) unchanged

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Maciej Pienczyn 2026-01-11 15:41:18 +01:00
parent 95fd89575d
commit 200987b295
6 changed files with 18 additions and 18 deletions

6
app.py
View File

@ -6026,7 +6026,7 @@ def admin_ai_usage():
total_type_count = sum(t.count for t in type_stats) if type_stats else 0
type_labels = {
'ai_chat': ('Chat AI', 'chat'),
'zopk_news_evaluation': ('Ocena newsów ZOPK', 'news'),
'zopk_news_evaluation': ('Ocena newsów ZOP Kaszubia', 'news'),
'ai_user_parse': ('Tworzenie user', 'user'),
'gbp_audit_ai': ('Audyt GBP', 'image'),
'general': ('Ogólne', 'other')
@ -6198,7 +6198,7 @@ def admin_ai_usage_user(user_id):
# Usage by type
type_labels = {
'ai_chat': 'Chat AI',
'zopk_news_evaluation': 'Ocena newsów ZOPK',
'zopk_news_evaluation': 'Ocena newsów ZOP Kaszubia',
'ai_user_parse': 'Tworzenie user',
'gbp_audit_ai': 'Audyt GBP',
'general': 'Ogólne'
@ -8240,7 +8240,7 @@ def admin_zopk_reject_old_news():
news.status = 'rejected'
news.moderated_by = current_user.id
news.moderated_at = datetime.now()
news.rejection_reason = f'Automatycznie odrzucony - artykuł sprzed {min_year} roku (ZOPK powstał w 2024)'
news.rejection_reason = f'Automatycznie odrzucony - artykuł sprzed {min_year} roku (ZOP Kaszubia powstał w 2024)'
db.commit()

View File

@ -1,6 +1,6 @@
{% extends "base.html" %}
{% block title %}ZOPK - Panel Admina - Norda Biznes Hub{% endblock %}
{% block title %}ZOP Kaszubia - Panel Admina - Norda Biznes Hub{% endblock %}
{% block extra_css %}
<style>
@ -836,7 +836,7 @@
<!-- Section 1: General stats (info only, not clickable) -->
<div class="stats-section">
<h3 class="stats-section-title">Baza wiedzy ZOPK</h3>
<h3 class="stats-section-title">Baza wiedzy ZOP Kaszubia</h3>
<div class="stats-grid stats-grid-small">
<div class="stat-card info-only">
<div class="stat-value">{{ stats.total_projects }}</div>
@ -914,7 +914,7 @@
{% if stats.old_news > 0 and not show_old %}
<div class="old-news-warning">
<span>⚠️</span>
<span><strong>{{ stats.old_news }} newsów</strong> z przed 2024 roku zostało ukrytych (ZOPK powstał w 2024).
<span><strong>{{ stats.old_news }} newsów</strong> z przed 2024 roku zostało ukrytych (ZOP Kaszubia powstał w 2024).
<a href="?status={{ status_filter }}&show_old=true">Pokaż wszystkie</a> lub
<a href="#" onclick="rejectOldNews(); return false;">odrzuć wszystkie stare</a>.</span>
</div>
@ -1124,7 +1124,7 @@
<div class="modal-icon">🤖</div>
<h3>Ocena AI (Gemini)</h3>
<p class="modal-description">Czy chcesz uruchomić ocenę AI dla <strong>max 20</strong> z {{ stats.ai_not_evaluated }} nieocenionych newsów?</p>
<p class="modal-note">Gemini oceni każdy news pod kątem związku z ZOPK.<br>
<p class="modal-note">Gemini oceni każdy news pod kątem związku z ZOP Kaszubia.<br>
<strong>Uwaga:</strong> Proces trwa ok. 30-60 sekund (każdy news = osobne zapytanie do AI).</p>
<div class="modal-actions">
<button type="button" class="btn btn-secondary" onclick="closeAiEvalModal()">Anuluj</button>
@ -1458,7 +1458,7 @@ async function rejectOldNews() {
const minYear = {{ min_year }};
const confirmed = await showConfirm(
`Czy na pewno chcesz odrzucić wszystkie newsy sprzed <strong>${minYear}</strong> roku?<br><br>` +
`<small style="color: var(--text-muted)">ZOPK powstał w 2024 roku, więc starsze artykuły najprawdopodobniej nie dotyczą tego projektu.</small>`,
`<small style="color: var(--text-muted)">ZOP Kaszubia powstał w 2024 roku, więc starsze artykuły najprawdopodobniej nie dotyczą tego projektu.</small>`,
{
icon: '🗑️',
title: 'Odrzuć stare newsy',
@ -1575,7 +1575,7 @@ async function startAiEvaluation() {
resultStats.innerHTML = `
<div class="ai-stat-item success">
<div class="value">${data.relevant_count}</div>
<div class="label">Pasuje do ZOPK</div>
<div class="label">Pasuje do ZOP Kaszubia</div>
</div>
<div class="ai-stat-item danger">
<div class="value">${data.not_relevant_count}</div>
@ -1740,7 +1740,7 @@ const SOURCE_NAMES = {
'dziennik_baltycki': '📰 Dziennik Bałtycki',
'gov_mon': '🏛️ Ministerstwo Obrony Narodowej',
'gov_przemysl': '🏛️ Min. Rozwoju i Technologii',
'google_news_zopk': '📡 Google News (ZOPK)',
'google_news_zopk': '📡 Google News (ZOP Kaszubia)',
'google_news_offshore': '📡 Google News (offshore)',
'google_news_nuclear': '📡 Google News (elektrownia jądrowa)',
'google_news_samsonowicz': '📡 Google News (Samsonowicz)',

View File

@ -1,6 +1,6 @@
{% extends "base.html" %}
{% block title %}ZOPK Newsy - Panel Admina{% endblock %}
{% block title %}ZOP Kaszubia Newsy - Panel Admina{% endblock %}
{% block extra_css %}
<style>
@ -263,7 +263,7 @@
{% block content %}
<div class="page-header">
<div>
<h1>Zarządzanie newsami ZOPK</h1>
<h1>Zarządzanie newsami ZOP Kaszubia</h1>
<p class="text-muted">{{ total }} artykułów</p>
</div>
<a href="{{ url_for('admin_zopk') }}" class="btn btn-secondary">Powrót do dashboardu</a>

View File

@ -923,7 +923,7 @@
<li><a href="{{ url_for('forum_index') }}">Forum</a></li>
<li><a href="{{ url_for('classifieds_index') }}">Tablica B2B</a></li>
<li><a href="{{ url_for('chat') }}">Chat AI</a></li>
<li><a href="{{ url_for('zopk_index') }}">ZOPK</a></li>
<li><a href="{{ url_for('zopk_index') }}">ZOP Kaszubia</a></li>
<li><a href="#" onclick="openConnectionsMap(); return false;">Mapa Powiązań</a></li>
</ul>
</li>
@ -1052,7 +1052,7 @@
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>
</svg>
ZOPK
ZOP Kaszubia
</a>
</div>
</div>

View File

@ -1,6 +1,6 @@
{% extends "base.html" %}
{% block title %}Aktualności ZOPK - Norda Biznes Hub{% endblock %}
{% block title %}Aktualności ZOP Kaszubia - Norda Biznes Hub{% endblock %}
{% block extra_css %}
<style>
@ -159,7 +159,7 @@
<div class="page-header">
<a href="{{ url_for('zopk_index') }}" class="text-muted" style="text-decoration: none; display: inline-flex; align-items: center; gap: var(--spacing-xs); margin-bottom: var(--spacing-sm);">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M19 12H5M12 19l-7-7 7-7"/></svg>
Powrót do ZOPK
Powrót do ZOP Kaszubia
</a>
<h1>Aktualności</h1>
<p class="text-muted">{{ total }} artykułów o Zielonym Okręgu Przemysłowym Kaszubia</p>

View File

@ -1,6 +1,6 @@
{% extends "base.html" %}
{% block title %}{{ project.name }} - ZOPK{% endblock %}
{% block title %}{{ project.name }} - ZOP Kaszubia{% endblock %}
{% block extra_css %}
<style>
@ -228,7 +228,7 @@
<div class="container">
<a href="{{ url_for('zopk_index') }}" class="back-link">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M19 12H5M12 19l-7-7 7-7"/></svg>
Powrót do ZOPK
Powrót do ZOP Kaszubia
</a>
<span class="project-status">