Commit Graph

39 Commits

Author SHA1 Message Date
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
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
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
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
09084aa18a feat(chat): Klikalne linki do osób + wzmocnione instrukcje AI
- Dodano person_id i profile URL do kontekstu osób w chatbocie
- Zaktualizowano system prompt: OBOWIĄZKOWE linki dla firm i osób
- Dodano CSS dla linków do osób (zielony badge)
- Rozszerzono JavaScript o wykrywanie linków /osoba/

Kolory badge:
- 🏢 Firmy: pomarańczowy (#c2410c)
- 👤 Osoby: zielony (#047857)
- 🔗 Zewnętrzne: niebieski (#1d4ed8)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 12:34:19 +01:00
95ac4c79e4 fix(chat): Ukrycie footera i blokada scroll body
- Dodano overflow: hidden na html i body
- Ukrycie footer na stronie chatu (display: none)
- max-height na main dla pewności
- height: 100% na container

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 12:23:47 +01:00
7d7755ed0a fix(chat): Pełna poprawka layoutu - styl ChatGPT/Claude
- Nadpisanie .container dla chatu (100% szerokości)
- Main z flex i overflow: hidden
- chat-main z height: 100% i max-height: 100%
- scrollToBottom z requestAnimationFrame dla pewności
- Struktura jak w ChatGPT/Claude

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 12:21:08 +01:00
11e8fb7dd2 fix(chat): Poprawka scrollowania - scrollIntoView zamiast scrollTop
- Użycie scrollIntoView({ block: 'end' }) na ostatniej wiadomości
- Lepsze zachowanie - scroll do widocznego elementu
- Smooth scroll dla lepszego UX

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 12:19:24 +01:00
c33f6e4195 fix(chat): Poprawka layoutu - input area zawsze na dole
- Dodano flex-shrink: 0 do .chat-header i .chat-input-area
- Dodano overflow: hidden do .chat-main
- Dodano min-height: 0 do .chat-messages (kluczowe dla flexbox overflow)
- Teraz header i input zawsze widoczne, tylko wiadomości się scrollują

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 12:17:17 +01:00
64a8d49efa style(chat): Rozróżnienie kolorów linków firm vs zewnętrznych
- Linki do firm (nordabiznes.pl/company/): pomarańczowe badge'y
- Linki zewnętrzne (www, social, maps): niebieskie badge'y
- JavaScript wykrywa typ linku po URL i dodaje klasę CSS
- Hover effect z cieniem i lekkim uniesieniem

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 12:15:01 +01:00
3d6768cddd style(chat): Kolorowe badge'y dla linków firm w odpowiedziach AI
- Linki jako zaokrąglone badge'y z kolorowym tłem
- 4 kolory w rotacji: pomarańczowy, zielony, żółty, różowy
- Delikatny hover effect (ciemniejsze tło)
- Padding i border-radius dla lepszej widoczności
- Białe tło dla linków w wiadomościach użytkownika

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 12:13:31 +01:00
f7c86e6f1a feat(chat): Klikalne linki do firm i osób w odpowiedziach AI
Backend (nordabiz_chat.py):
- Dodano instrukcję w system prompt wymagającą linków markdown
- Nazwy firm: [Firma](URL) - klikalne linki do profilu
- Nazwy osób: **Imię Nazwisko** (link do firmy)

Frontend (chat.html):
- Nowe style dla linków w wiadomościach
- Fioletowy kolor (#7c3aed) dla linków AI
- Hover effect z podkreśleniem
- Oddzielne style dla linków w wiadomościach użytkownika

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 12:11:33 +01:00
648648c7f9 style(chat): Zmiana sidebara na jasną kolorystykę
- Tło sidebar: #1e1e2e → #f5f7fa (jasny szary)
- Tekst: biały → #374151 (ciemnoszary)
- Border: #2d2d3d → #e5e7eb (jasny)
- Hover/active: białe tło z subtelnym cieniem
- Lepszy kontrast i czytelność

Inspiracja: kolorystyka z wideo demo NordaGPT

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 12:06:29 +01:00
394e51b3ba feat(chat): Dodaj przycisk pomocy wideo w NordaGPT
- Przycisk ▶️ w headerze chatu obok badge'a modelu
- Modal z 40-sekundowym tutorialem wideo z polskim narratorem
- Poster (miniaturka) wideo
- Sekcja "Szybkie wskazówki" pod odtwarzaczem
- Responsywny design dla mobile

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 11:50:04 +01:00
21a78befad feat(contacts): Baza kontaktów zewnętrznych dla członków Norda
- Nowy model ExternalContact z pełnymi danymi kontaktowymi, social media, related_links (JSONB)
- Migracja SQL 020_external_contacts.sql z full-text search
- Routes: /kontakty (lista), /kontakty/dodaj, /kontakty/<id>, /kontakty/<id>/edytuj
- Szablony: lista z filtrami, karta szczegółów, formularz CRUD
- Nawigacja: link "Kontakty zewnętrzne" w dropdown Społeczność
- Poprawka: aktualizacja liczby firm z 80 na 111

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 08:35:06 +01:00
c1ab97e60a fix(chat): Naprawa z-index - dropdown navbar widoczny nad purpurowym paskiem
Dodano position: relative i z-index: 50 do .chat-header, aby elementy
dropdown menu użytkownika (z-index: 200) były wyświetlane nad paskiem NordaGPT.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 21:00:11 +01:00
fc8e3acb51 fix: Properly render markdown links in chat messages
- Added regex to convert [text](url) markdown links to <a> tags
- Updated raw URL regex with lookbehind/lookahead to avoid duplicate links
- Links now display as clickable text instead of raw markdown syntax

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 08:18:43 +01:00
978c0714d5 feat: Add detailed rate limits and comparison info to model info modal
- Added RPM (15 req/min), TPM (250k tokens/min) to specs table
- Added Thinking mode status (Full vs Experimental)
- Added green "↑ było X" badges showing improvements
- Updated benefits section with concrete before/after numbers

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 08:16:54 +01:00
c06df1f69a feat: Upgrade NordaGPT to Gemini 2.5 Flash-Lite + add model info modal
- Changed AI model from Gemini 2.0 Flash to Gemini 2.5 Flash-Lite
- Added info button next to model badge in chat header
- Created modal with technical specs and development history timeline
- Benefits: 8x longer responses (65k tokens), 4x daily limit (1000 RPD)
- Model remains FREE (Free Tier)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 08:09:04 +01:00
ed5ed1c7e9 fix: Naprawiono błąd JS przy ładowaniu historii konwersacji
Element emptyState może nie istnieć po załadowaniu poprzedniej rozmowy.
Dodano sprawdzenie if (emptyState) przed ustawieniem style.display.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 07:45:21 +01:00
80c0b0005c feat: Historia konwersacji NordaGPT z sidebare'em
- Dodano API /api/chat/conversations (lista konwersacji użytkownika)
- Dodano API DELETE /api/chat/<id>/delete (usuwanie konwersacji)
- Przebudowano chat.html z sidebarem historii (styl ChatGPT)
- Sidebar z listą konwersacji, przyciski "Nowa rozmowa" i usuwania
- Responsywny design dla mobile (toggle sidebar)
- Integracja ze stylem NordaGPT (purple gradient header)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 07:39:36 +01:00
d3f773c403 feat: Improve AI response formatting and NordaGPT minimize
- Add comprehensive formatting instructions to AI system prompt
- Update linkifyText() and linkifyNordaGPT() to parse markdown:
  - **bold** to <strong>
  - Newlines to <br>
  - Numbered lists (1. 2. 3.) to <ol>
  - Bullet lists (- *) to <ul>
- Add CSS styles for AI response lists
- Fix NordaGPT minimize: banner now pulses and shows active state
- Banner button changes to "Wznów chat" when minimized

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 14:51:45 +01:00
1894272670 fix: Handle Markdown link syntax in AI chat responses
- Parse [text](url) Markdown links before plain URL conversion
- Use placeholder approach for cross-browser compatibility
- Prevents double-linkification of URLs in Markdown format

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 14:19:18 +01:00
83b52a1b24 feat: Add clickable email addresses and fix URL trailing punctuation in AI chat
- Email addresses now become mailto: links
- URLs properly strip trailing punctuation (comma, period, etc.)
- Both link types handle trailing punctuation gracefully

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 13:41:23 +01:00
a5c8e9b585 feat(chat): Make URLs in AI responses clickable
- Add linkifyText() function to convert URLs to anchor tags
- Apply linkification only to assistant messages (safe XSS handling)
- Add CSS styling for links: blue color, underline, hover effect
- Links open in new tab with noopener noreferrer

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 13:36:55 +01:00
0050cd1fdf feat(chat): Add KRS people, social media, and GBP audits to AI context (Stage 3)
- Import Person, CompanyPerson, CompanySocialMedia, GBPAudit models
- Add company people (zarząd, wspólnicy, prokurenci) grouped by company
- Add social media profiles (platform + followers) grouped by company
- Add latest GBP audit scores (completeness, reviews, rating)
- Update system prompt with Stage 3 data descriptions
- Add new prompts for people lookup and GBP audit queries
- Update suggestion chips: "Kto jest prezesem?", "Google opinie?", "Fanów FB?"

AI chat now has access to:
- 80 companies + services + competencies
- Recommendations, News (Stage 1)
- Calendar events, B2B classifieds, Forum topics (Stage 2)
- KRS people, Social Media, GBP audits (Stage 3)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 13:32:23 +01:00
44407cf32e feat(chat): Add calendar, B2B board, and forum to AI context (Stage 2)
- Import Classified, NordaEvent, ForumTopic models
- Add upcoming events (next 60 days) to AI context
- Add active B2B classifieds (non-test) to AI context
- Add recent forum topics (non-test) to AI context
- Update system prompt with new data source descriptions
- Add JSON serialization for all Stage 2 data
- Update suggestion chips: "Kiedy następne spotkanie?", "Kto szuka usług IT?"

AI chat now has access to:
- 80 companies + services + competencies
- Recommendations, News (Stage 1)
- Calendar events, B2B classifieds, Forum topics (Stage 2)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 13:25:47 +01:00
819273bb58 feat(chat): Add recommendations and news to AI chat context
- Add CompanyRecommendation and ZOPKNews imports to nordabiz_chat.py
- Fetch approved recommendations (last 20) in conversation context
- Fetch approved news from last 30 days (last 10) in context
- Serialize recommendations and news to JSON in AI prompt
- Update system prompt with data format descriptions
- Update chat template header description
- Add new suggestion chips: "Kto poleca firmę..." and "Co słychać..."

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 13:19:23 +01:00
6e4e7c2240 Sync: Current production state
- Added CompanyRecommendation system
- Made company pages public (removed @login_required)
- CSS refactor: inline styles instead of external fluent CSS
- Added release notes page
- Added admin recommendations panel
- Company logos (webp format)
- Docker compose configuration

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 12:26:22 +01:00
02fc67bf40 Initial commit 2026-01-01 14:01:49 +01:00