Commit Graph

294 Commits

Author SHA1 Message Date
2158c409a6 fix: Powiadomienia znikają po przeczytaniu
- Lista pokazuje tylko nieprzeczytane (unread_only=true)
- Po kliknięciu powiadomienie znika z animacją
- "Oznacz wszystkie" usuwa wszystkie z listy
- Animacja fadeOut dla płynnego usuwania

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 20:43:26 +01:00
69c0d7fc72 style: Ładny modal potwierdzenia w release notes
- Modal z ikoną dzwoneczka zamiast natywnego confirm()
- Toast zamiast alert() dla wyników
- Informacja o działaniu powiadomień

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 20:39:07 +01:00
e6acc2ec6f feat: Dodano moderację tablicy B2B dla administratora
- Przycisk usuwania ogłoszenia z potwierdzeniem
- Przycisk aktywacji/dezaktywacji ogłoszenia
- Endpointy: /delete, /toggle-active
- Badge "Nieaktywne" dla dezaktywowanych ogłoszeń

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 20:31:37 +01:00
8bcb339bff style: Ładny modal potwierdzenia zamiast natywnego confirm()
- Niestandardowy modal z ikoną i animacją
- Przycisk Anuluj i Usuń
- Zamykanie przez klik na overlay lub Escape

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 20:27:49 +01:00
07358199ea feat: Dodano przyciski administracyjne do forum (usuń, przypnij, zablokuj)
- Przycisk usuwania wątku z potwierdzeniem
- Przycisk usuwania odpowiedzi
- Przyciski przypinania/odpinania wątku
- Przyciski blokowania/odblokowywania wątku
- Widoczne tylko dla administratorów

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 20:24:27 +01:00
1cd37339a9 fix: Poprawiono nazwę "Norda Biznes Partner" na stronie rejestracji
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 20:01:37 +01:00
1c5b2e705e feat: Dodano toggle widoczności hasła (ikonka 👁️) do formularzy
- login.html: toggle dla pola hasła
- register.html: toggle dla pól hasło i potwierdzenie
- reset_password.html: toggle dla pól hasło i potwierdzenie

Feedback: "Brak podglądu hasła"

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 19:59:56 +01:00
9e37d9de57 fix: Use correct endpoint company_detail_by_slug in konto/dane.html
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 19:54:19 +01:00
412745c875 feat: Add unified "Moje konto" (My Account) section
New user account management section with:
- /konto - Edit personal data (name, phone)
- /konto/prywatnosc - Privacy settings
- /konto/bezpieczenstwo - Security settings (2FA, password)
- /konto/blokady - User blocks management

Features:
- Consistent sidebar navigation across all pages
- Responsive layout (mobile-friendly)
- Polish UI with clear section names

Replaces scattered /settings/* routes with unified /konto/* structure.
Menu link updated from "Ustawienia" to "Moje konto".

Fixes user feedback issue #6: "Brak edycji profilu"

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 19:52:00 +01:00
0055857df4 feat: Rozbudowa systemu analityki użytkowników
Nowe funkcjonalności:
- GeoIP enrichment (kraj, miasto, region)
- UTM parameters tracking (source, medium, campaign, term, content)
- Bounce rate calculation
- Search queries logging
- Conversion tracking (register, login, contact_click, rsvp)
- Scroll depth tracking (25%, 50%, 75%, 100%)
- JS error tracking (window.onerror)
- Performance metrics (Web Vitals)
- CSV export (sessions, pageviews, searches, conversions)

Nowe tabele SQL:
- search_queries
- conversion_events
- js_errors
- popular_searches_daily
- hourly_activity

Dashboard rozszerzony o nowe sekcje i metryki.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 15:52:18 +01:00
64583b6ec4 style: Karty firm i tagi zgodne ze źródłem (Sprint 6)
Zmiany:
- Karty firm: border-radius 8px → 0 (ostre rogi)
- Karty firm: border #e0e4eb → #E4E4E4
- Tagi kategorii: niebieski bg → szary (#EDF0F5)
- Tagi kategorii: biały tekst → ciemny (#464646)
- Text primary: #1e293b → #303030
- Text secondary: #64748b → #464646

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 14:57:56 +01:00
ede9d0957b feat: Landing page - nowy gradient i animacje (Sprint 5)
Zmiany:
- Hero gradient: #1e40af/#2563eb → #1e3050/#2E4872/#4a6999
- Accent color w tekście: #2563eb → #2E4872
- Animacje: hero fadeIn, stats fadeInUp, CTA fadeInUp

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 14:49:26 +01:00
6e1c46e13c feat: Animacje scroll z IntersectionObserver (Sprint 4)
Dodano system animacji fadeIn przy scrollowaniu:
- CSS keyframes: fadeIn, fadeInLeft, fadeInRight, fadeInUp, scaleIn
- IntersectionObserver w static/js/scroll-animations.js
- Event banner: data-animate="fadeIn"
- Chat banner: data-animate="fadeIn"
- Company cards: data-animate="fadeInUp" z delay stagger
- Search section: data-animate="fadeIn"
- Wsparcie dla prefers-reduced-motion

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 14:43:30 +01:00
b680e3f61c style: Sprint 3 - Chat page + Fluent CSS niebieski primary
Zmiany graficzne:
- chat.html: wszystkie #7c3aed → #2E4872
- chat.html: wszystkie #5b21b6 → #1e3050
- fluent-nordabiz.css: zmienne Fluent na NordaBiz blue
- Sidebar, header, avatary, input focus, send button - niebieski

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 14:21:19 +01:00
1da42f25ad style: Sprint 2 - Event/Chat banners blue, company cards border
Zmiany graficzne (kontynuacja planu norda-biznes.info):
- Event banner: #f59e0b → #2E4872 (niebieski primary)
- NordaGPT banner: #7c3aed → #2E4872 (niebieski primary)
- Karty firm: usunięcie box-shadow, dodanie border 1px
- Karty firm hover: border-color primary zamiast translateY
- Tagi kategorii: uppercase, biały na primary, letter-spacing
- Przyciski w bannerach: asymetryczny border-radius

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 14:19:57 +01:00
de46e12b7c style: Sprint 1 - Poppins font, #2E4872 colors, asymmetric buttons
Zmiany graficzne wg planu norda-biznes.info:
- Czcionka: Inter → Poppins
- Primary color: #2563eb → #2E4872
- Background: #f8fafc → #EDF0F5
- Border-radius przycisków: 8px → 12px 4px (asymetryczny)
- Header: usunięcie border-bottom, subtelniejszy cień
- Footer: #1e293b → #2E4872, padding 60px/30px

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 14:17:27 +01:00
e92b237fa4 docs: Reorganizacja release notes - sortowanie i wytłuszczanie
- Wszystkie release notes od v1.0.0 do v1.20.0 posortowane od najważniejszych
- Mega ważne funkcje wytłuszczone <strong>
- Dodano sekcję security w szablonie
- Stworzono przewodnik RELEASE_NOTES_GUIDE.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 15:36:11 +01:00
0db3cbc754 feat(announcements): Obsługa wielu kategorii dla ogłoszeń
- Zmiana formularza z select na checkboxy (wiele kategorii)
- Aktualizacja filtrowania: PostgreSQL ANY() dla tablicy categories
- Zachowanie kompatybilności wstecznej (pole category)
- Aktualizacja szablonów list.html i detail.html dla wielu badge'ów

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 15:19:51 +01:00
53e6d14bdd fix(footer): Usunięcie linku 'Nowi członkowie' ze stopki
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 15:11:42 +01:00
dbf55d02cb feat(announcements): Reorganizacja kategorii aktualności
- Zmiana 'general'/'member_news' na 'internal'/'external'
- Kategorie: Wewnętrzne, Zewnętrzne, Wydarzenie, Okazja biznesowa, Partnerstwo
- Polskie znaki w tytułach i meta description
- "Aktualności Norda Biznes Partner"

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 15:10:39 +01:00
52abe33dd1 feat(education): Integracja wideo z Platformą Edukacyjną
- Dodano 2 filmy: zajawka 30s i tutorial 2min
- Modal z odtwarzaczem wideo (klik na kartę)
- Badge "Nowe" dla dostępnych materiałów
- Podgląd pierwszej klatki wideo
- Obsługa klawisza Escape do zamknięcia

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 14:53:15 +01:00
80c8fd6e0e fix(ui): Zamiana starej ikony robota na nową ikonę NordaGPT
- Banner NordaGPT na stronie głównej: 🤖 → nordagpt-icon.svg
- Modal NordaGPT: 🤖 → nordagpt-icon.svg

Spójność wizualna z /chat

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 14:49:28 +01:00
23493f0b61 docs: Aktualizacja dokumentacji do Gemini 3 Flash
Zmiana domyślnego modelu w dokumentacji i kodzie:
- gemini-2.5-flash → gemini-3-flash-preview
- gemini-2.5-pro → gemini-3-pro-preview

Zaktualizowane pliki:
- README.md - opis technologii
- docs/architecture/*.md - diagramy i przepływy
- nordabiz_chat.py - fallback model name
- zopk_news_service.py - model dla AI evaluation
- templates/admin/zopk_dashboard.html - wyświetlany model

Zachowano mapowania legacy modeli dla kompatybilności wstecznej.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 14:19:05 +01:00
cebe52f303 refactor: Rebranding i aktualizacja modelu AI
- Zmiana nazwy: "Norda Biznes Hub" → "Norda Biznes Partner"
- Aktualizacja modelu AI: Gemini 2.0 Flash → Gemini 3 Flash
- Zachowano historyczne odniesienia w timeline i dokumentacji

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 14:08:39 +01:00
fdf75ce152 fix(chat): Always start with Flash model (ignore saved preference)
- Flash is free and fast - best default for users
- Prevents accidental Pro usage and costs
- Users can still switch to Pro manually if needed

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 12:08:06 +01:00
bd78ba0688 feat(chat): New NordaGPT icon and updated example questions
- Created nordagpt-icon.svg combining Norda compass + INPI circuit motif
- Navy blue background with green AI chip center
- Yellow north indicator (Norda brand color)
- Updated header icon from robot emoji to new SVG
- Updated empty state icon
- Changed example questions to be more relevant:
  - 'Szukam partnera do projektu budowlanego'
  - 'Kto w Izbie zajmuje się marketingiem?'
  - 'Poleć firmę z dobrymi opiniami Google'
  - 'Co nowego na forum?'

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 11:54:14 +01:00
37b6aa33d8 docs(chat): Update model info panel with Flash/Pro details and pricing
- Show both models (Flash free, Pro premium) with visual distinction
- Add pricing section with costs and limits
- Update history timeline with today's changes
- Update benefits section with current features

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 11:46:37 +01:00
ca166cf02d fix(chat): Parse techInfo values as numbers to fix toFixed() error
- costUsd was a string, causing 'toFixed is not a function' error
- Added parseFloat() for cost and parseInt() for latency

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 11:33:59 +01:00
1b2ba66ead feat(chat): Dwa klucze API - Free tier dla Flash, Paid dla Pro
- GOOGLE_GEMINI_API_KEY_FREE: klucz Free tier dla Flash (darmowy)
- GOOGLE_GEMINI_API_KEY: klucz Paid tier dla Pro (płatny)
- GeminiService automatycznie wybiera klucz na podstawie modelu
- Flash pricing ustawiony na $0.00 (Free tier)
- UI pokazuje Flash jako "Darmowy"

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 11:19:59 +01:00
26db9a7cc9 feat(chat): Wybór modelu Flash/Pro zamiast Thinking Mode + koszt miesięczny
UI:
- Dropdown wyboru modelu: Flash (szybki, $0.05) vs Pro (analiza, $0.20)
- Wyświetlanie kosztu miesięcznego w headerze
- Badge odpowiedzi pokazuje: model, czas, koszt

Backend:
- Endpoint /api/chat/settings obsługuje model i monthly_cost
- NordaBizChatEngine przyjmuje parametr model
- Koszt zapisywany w tech_info odpowiedzi

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 11:04:29 +01:00
5b2eb1a8af fix: Dodano info że email jest tymczasowy (docelowo: kontakt@nordabiznes.pl)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 10:50:50 +01:00
edd3151d9e fix: Zmiana email kontaktowy na maciej.pienczyn@inpi.pl
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 10:50:19 +01:00
eb057404bb fix: Email kontakt@nordabiznes.pl oznaczony jako "w przygotowaniu"
Skrzynka mailowa nie istnieje jeszcze - wyłączono klikalny link
i dodano informację dla użytkowników.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 10:49:41 +01:00
827168fb24 feat(chat): Obsługa linków wewnętrznych i lepszy badge thinking
- Dodano style CSS dla forum-link (fiolet), news-link (zieleń), b2b-link (żółty)
- formatMessage() obsługuje teraz linki wewnętrzne (/forum/, /news/, /b2b/)
- Badge thinking pokazuje opis jakościowy (np. "dogłębna analiza z weryfikacją")

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 10:47:34 +01:00
9a7ac1586c feat(chat): Show thinking mode and response time in AI messages 2026-01-29 10:35:20 +01:00
30729ef83e feat(ai): Thinking Mode dla NordaGPT
- Nowy SDK google-genai z obsługą thinking mode
- Przełącznik poziomu rozumowania w UI chatu (3 poziomy)
- Błyskawiczny (minimal) - szybkie odpowiedzi
- Szybki (low) - zrównoważony
- Głęboki (high) - maksymalna analiza
- Endpoint /api/chat/settings do zapisywania preferencji
- Dokumentacja dla NotebookLM (prezentacja)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 10:20:58 +01:00
095c9c0df5 feat(model-comparison): Przycisk 'Uruchom ponownie' symulację
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 09:14:46 +01:00
323dfca9de fix(admin): Add CSRF token to model comparison simulation 2026-01-29 08:47:49 +01:00
652a441a30 feat(admin): Add AI model comparison page
- New admin page /admin/model-comparison for comparing AI responses
- Side-by-side comparison: old model (2.5 Flash-Lite) vs new (3 Flash)
- Questions from real conversations (Artur Wiertel, Maciej Pienczyn)
- Run simulation button to generate new responses
- Added link in admin menu under "Porównanie modeli"

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 08:45:33 +01:00
e0df7f2adf feat(ai): Upgrade NordaGPT to Gemini 3 Flash Preview
- Changed AI model from Gemini 2.5 Flash-Lite to Gemini 3 Flash Preview
- Added Gemini 3 models (3-flash, 3-pro) to GEMINI_MODELS config
- Updated GEMINI_PRICING with current 2026 prices
- Updated chat UI: badge, model info modal, specs, timeline
- Benefits: 7x better reasoning, thinking mode, 78% SWE-bench

Cost estimate: ~$40/month at 1000x current usage (Tier 1)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 08:38:02 +01:00
c8f70dc2cf refactor: Centralizacja COMPANY_COUNT_MARKETING = 150
- Dodano stałą globalną COMPANY_COUNT_MARKETING w app.py
- Dodano do context_processor jako COMPANY_COUNT
- Zaktualizowano szablony: index.html, chat.html, landing.html, release_notes
- Jedno miejsce do zmiany gdy Izba zaktualizuje cel

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 00:27:04 +01:00
23726f3c10 feat(categories): Sortowanie podkategorii malejąco po liczbie firm
Podkategorie są teraz sortowane od największej do najmniejszej
liczby przypisanych firm (od lewej do prawej).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 00:11:38 +01:00
75c6b9ca68 feat(ui): Żółta kategoria "Do uzupełnienia" + email w dropdown blokowania
1. Kategoria "Do uzupełnienia":
   - Żółty kolor (wyróżnia się od innych)
   - Pozycja z prawej strony (margin-left: auto)

2. Dropdown blokowania użytkowników:
   - Wyświetla domenę emaila w nawiasie: "Jan Kowalski (gmail)"
   - Rozwiązuje problem duplikatów imion/nazwisk

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 00:07:07 +01:00
9339fa7245 fix(categories): Poprawka podświetlania kategorii w katalogu
- Główne kategorie nie są już domyślnie podświetlone na niebiesko
- Tylko aktywna kategoria (Wszystkie LUB wybrana główna) jest podświetlona
- Hover nadal działa dla wszystkich kategorii

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 00:01:46 +01:00
2b933367b7 fix(branding): Zmiana 112 → 150 w katalogu firm
- 150 podmiotów gospodarczych (cel marketingowy)
- 4 kategorie • 17 podkategorii (zamiast "16 branż")

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:56:35 +01:00
db781f06cd feat(ui): Hierarchiczny filtr kategorii firm
Nowy układ filtrów:
- Rząd 1: Wszystkie + kategorie główne (sortowane wg liczby firm)
- Rząd 2: Podkategorie (pojawiają się po kliknięciu głównej)

Zachowanie:
- Wszystkie → pokazuje wszystkie firmy
- Kategoria główna → pokazuje firmy z głównej + podkategorii
- Podkategoria → pokazuje tylko firmy z tej podkategorii

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:54:59 +01:00
ab117c962d chore(branding): Zmiana 111 → 150 podmiotów gospodarczych
Landing page i chat timeline - cel marketingowy 150 podmiotów
zamiast dynamicznej liczby z bazy (111).

Zmieniono również terminologię:
- "firm członkowskich" → "podmiotów gospodarczych"

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:49:29 +01:00
eac72f48f6 feat(pwa): Apple Touch Icon + Web Manifest + PNG fallbacks
Dodano pełne wsparcie dla ikon na wszystkich urządzeniach:
- apple-touch-icon.png (180x180) - iOS "Dodaj do ekranu głównego"
- favicon-192.png, favicon-512.png - Android PWA
- favicon-16.png, favicon-32.png - PNG fallback dla starszych przeglądarek
- site.webmanifest - PWA manifest z theme_color #233e6d
- meta theme-color - kolor paska adresu na mobile

Gwiazda Nordy z żółtym wskaźnikiem północy (różni się od Izby
dla łatwego rozróżnienia zakładek).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:44:11 +01:00
dddd7fb01f feat(branding): Favicon z gwiazdą Nordy (kompas)
- Stworzono SVG favicon z kompasem/gwiazdą Nordy
- Żółty wskaźnik północy, białe ramiona, granatowe tło
- Zgodne z brandingiem Norda Biznes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:33:37 +01:00
ef0834636d fix(footer): Poprawka email kontaktowego na kontakt@nordabiznes.pl
Zgodnie z notatką ze spotkania z Arturem (2026-01-28), email ma być:
kontakt@nordabiznes.pl (nie biuro@norda-biznes.info)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:30:08 +01:00