Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
- Updated Facebook link from /nordabiznes to /profile.php?id=100057396041901 across all 4 locations (email templates, JSON-LD schema) - Added Facebook link to site footer (Contact section) - Added "Follow us on Facebook" to landing page CTA - Redesigned upcoming events: side-by-side layout instead of stacked Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
713 lines
35 KiB
HTML
Executable File
713 lines
35 KiB
HTML
Executable File
{% extends "base.html" %}
|
|
|
|
{% block title %}Norda Biznes Partner - Firmy Członkowskie Izby Gospodarczej | Wejherowo{% endblock %}
|
|
|
|
{% block meta_description %}Katalog {{ total_companies }} firm członkowskich Izby Gospodarczej Norda Biznes - Wejherowo, powiat wejherowski i województwo pomorskie. Networking i współpraca biznesowa.{% endblock %}
|
|
|
|
{% block og_title %}Norda Biznes Partner - Katalog Firm Członkowskich{% endblock %}
|
|
{% block og_description %}{{ total_companies }} firm z województwa pomorskiego w jednym miejscu. Izba Gospodarcza Norda Biznes z Wejherowa - networking i współpraca biznesowa.{% endblock %}
|
|
|
|
{% block head_extra %}
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "LocalBusiness",
|
|
"name": "Stowarzyszenie Norda Biznes",
|
|
"description": "Izba Gospodarcza zrzeszająca firmy z Wejherowa, powiatu wejherowskiego i województwa pomorskiego. Networking, współpraca biznesowa i rozwój przedsiębiorczości.",
|
|
"url": "https://nordabiznes.pl",
|
|
"image": "{{ url_for('static', filename='img/favicon-512.png', _external=True) }}",
|
|
"telephone": "+48 729 716 400",
|
|
"email": "biuro@norda-biznes.info",
|
|
"priceRange": "Bezpłatne członkostwo",
|
|
"address": {
|
|
"@type": "PostalAddress",
|
|
"streetAddress": "ul. 12 Marca 238/5",
|
|
"addressLocality": "Wejherowo",
|
|
"postalCode": "84-200",
|
|
"addressRegion": "pomorskie",
|
|
"addressCountry": "PL"
|
|
},
|
|
"geo": {
|
|
"@type": "GeoCoordinates",
|
|
"latitude": 54.6103,
|
|
"longitude": 18.2353
|
|
},
|
|
"openingHours": "Mo-Fr 08:00-16:00",
|
|
"openingHoursSpecification": [
|
|
{
|
|
"@type": "OpeningHoursSpecification",
|
|
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
|
|
"opens": "08:00",
|
|
"closes": "16:00"
|
|
}
|
|
],
|
|
"areaServed": {
|
|
"@type": "GeoCircle",
|
|
"geoMidpoint": {
|
|
"@type": "GeoCoordinates",
|
|
"latitude": 54.6059,
|
|
"longitude": 18.2356
|
|
},
|
|
"geoRadius": "50000"
|
|
},
|
|
"sameAs": [
|
|
"https://www.facebook.com/profile.php?id=100057396041901",
|
|
"https://norda-biznes.info"
|
|
]
|
|
}
|
|
</script>
|
|
{% endblock %}
|
|
|
|
{% block extra_css %}
|
|
<style>
|
|
/* Professional, visually rich design */
|
|
.hero-landing {
|
|
background: linear-gradient(135deg, #1e3050 0%, #2E4872 50%, #4a6999 100%);
|
|
color: white;
|
|
padding: var(--spacing-2xl) 0;
|
|
margin: calc(var(--spacing-xl) * -1) calc(var(--spacing-md) * -1) var(--spacing-xl);
|
|
text-align: center;
|
|
border-radius: 0 0 var(--radius-xl) var(--radius-xl);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.hero-landing::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background:
|
|
radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),
|
|
radial-gradient(circle at 80% 80%, rgba(255,255,255,0.1) 0%, transparent 50%);
|
|
pointer-events: none;
|
|
}
|
|
|
|
.hero-landing > * {
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
|
|
.hero-landing h1 {
|
|
font-size: clamp(2.5rem, 5vw, 4rem);
|
|
font-weight: 800;
|
|
margin-bottom: var(--spacing-md);
|
|
line-height: 1.1;
|
|
text-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
|
}
|
|
|
|
.hero-subtitle {
|
|
font-size: var(--font-size-xl);
|
|
opacity: 0.95;
|
|
margin-bottom: var(--spacing-xl);
|
|
font-weight: 400;
|
|
max-width: 600px;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
|
|
.stats-inline {
|
|
display: flex;
|
|
gap: var(--spacing-2xl);
|
|
justify-content: center;
|
|
flex-wrap: wrap;
|
|
margin: var(--spacing-xl) 0;
|
|
font-size: var(--font-size-lg);
|
|
}
|
|
|
|
.stats-inline span {
|
|
white-space: nowrap;
|
|
background: rgba(255,255,255,0.2);
|
|
padding: var(--spacing-md) var(--spacing-xl);
|
|
border-radius: var(--radius-lg);
|
|
backdrop-filter: blur(10px);
|
|
border: 1px solid rgba(255,255,255,0.3);
|
|
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
|
|
}
|
|
|
|
.stats-inline strong {
|
|
font-size: var(--font-size-3xl);
|
|
font-weight: 800;
|
|
display: block;
|
|
margin-bottom: var(--spacing-xs);
|
|
}
|
|
|
|
.hero-cta {
|
|
display: flex;
|
|
gap: var(--spacing-md);
|
|
justify-content: center;
|
|
flex-wrap: wrap;
|
|
margin-top: var(--spacing-xl);
|
|
}
|
|
|
|
.btn-hero {
|
|
padding: var(--spacing-md) var(--spacing-xl);
|
|
font-size: var(--font-size-lg);
|
|
font-weight: 600;
|
|
border-radius: var(--radius-lg);
|
|
transition: all 0.3s ease;
|
|
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
|
|
}
|
|
|
|
.btn-white {
|
|
background-color: white;
|
|
color: var(--primary);
|
|
}
|
|
|
|
.btn-white:hover {
|
|
background-color: #f8fafc;
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 6px 12px rgba(0,0,0,0.15);
|
|
}
|
|
|
|
.hero-cta .btn-outline {
|
|
border: 2px solid var(--primary);
|
|
color: var(--primary);
|
|
background-color: white;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.hero-cta .btn-outline:hover {
|
|
background-color: var(--primary);
|
|
color: white;
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 6px 12px rgba(0,0,0,0.15);
|
|
}
|
|
|
|
/* Decorative shapes */
|
|
.deco-circle {
|
|
position: absolute;
|
|
border-radius: 50%;
|
|
background: rgba(255,255,255,0.08);
|
|
pointer-events: none;
|
|
z-index: 0;
|
|
}
|
|
|
|
.deco-circle-1 {
|
|
width: 400px;
|
|
height: 400px;
|
|
top: -150px;
|
|
left: -150px;
|
|
}
|
|
|
|
.deco-circle-2 {
|
|
width: 300px;
|
|
height: 300px;
|
|
bottom: -100px;
|
|
right: -100px;
|
|
}
|
|
|
|
/* Feature cards with animations */
|
|
.feature-card {
|
|
transition: all 0.3s ease;
|
|
position: relative;
|
|
}
|
|
|
|
.feature-card::after {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 4px;
|
|
background: linear-gradient(90deg, var(--primary), var(--success), var(--warning));
|
|
border-radius: var(--radius-lg) var(--radius-lg) 0 0;
|
|
opacity: 0;
|
|
transition: opacity 0.3s ease;
|
|
}
|
|
|
|
.feature-card:hover {
|
|
transform: translateY(-8px);
|
|
box-shadow: 0 20px 40px rgba(0,0,0,0.12);
|
|
}
|
|
|
|
.feature-card:hover::after {
|
|
opacity: 1;
|
|
}
|
|
|
|
.feature-icon {
|
|
transition: transform 0.3s ease;
|
|
}
|
|
|
|
.feature-card:hover .feature-icon {
|
|
transform: scale(1.1) rotate(5deg);
|
|
}
|
|
|
|
/* Gradient text */
|
|
.gradient-text {
|
|
background: linear-gradient(135deg, var(--primary), var(--success));
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
background-clip: text;
|
|
}
|
|
|
|
/* Animated underline */
|
|
.animated-underline {
|
|
position: relative;
|
|
display: inline-block;
|
|
}
|
|
|
|
.animated-underline::after {
|
|
content: '';
|
|
position: absolute;
|
|
bottom: -8px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
width: 60px;
|
|
height: 4px;
|
|
background: linear-gradient(90deg, var(--primary), var(--success));
|
|
border-radius: 2px;
|
|
}
|
|
|
|
/* Bottom CTA with gradient */
|
|
.bottom-cta {
|
|
text-align: center;
|
|
padding: var(--spacing-2xl);
|
|
background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
|
|
border-radius: var(--radius-xl);
|
|
margin-top: var(--spacing-xl);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.bottom-cta::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 4px;
|
|
background: linear-gradient(90deg, var(--primary), var(--success), var(--warning), var(--error));
|
|
}
|
|
|
|
.bottom-cta p {
|
|
color: var(--text-secondary);
|
|
margin-bottom: var(--spacing-md);
|
|
}
|
|
|
|
/* Pulse animation for CTA button */
|
|
@keyframes pulse {
|
|
0%, 100% {
|
|
box-shadow: 0 4px 6px rgba(37, 99, 235, 0.3);
|
|
}
|
|
50% {
|
|
box-shadow: 0 4px 20px rgba(37, 99, 235, 0.5);
|
|
}
|
|
}
|
|
|
|
.bottom-cta .btn-primary {
|
|
animation: pulse 2s infinite;
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.stats-inline {
|
|
flex-direction: column;
|
|
gap: var(--spacing-sm);
|
|
}
|
|
}
|
|
|
|
/* Public company tiles */
|
|
.public-tiles-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
|
gap: var(--spacing-md);
|
|
}
|
|
|
|
.public-tile {
|
|
background: white;
|
|
border: 1px solid var(--border);
|
|
border-radius: var(--radius-lg);
|
|
padding: var(--spacing-lg) var(--spacing-md);
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
text-align: center;
|
|
transition: var(--transition);
|
|
}
|
|
|
|
.public-tile:hover {
|
|
border-color: var(--primary);
|
|
box-shadow: 0 8px 24px rgba(46, 72, 114, 0.12);
|
|
}
|
|
|
|
.public-tile-logo {
|
|
width: 100%;
|
|
height: 70px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-bottom: var(--spacing-sm);
|
|
}
|
|
|
|
.public-tile-logo.dark-bg {
|
|
background: #1a1a2e;
|
|
border-radius: var(--radius);
|
|
}
|
|
|
|
.public-tile-logo img {
|
|
max-width: 100%;
|
|
max-height: 100%;
|
|
object-fit: contain;
|
|
}
|
|
|
|
.public-tile-name {
|
|
font-size: var(--font-size-sm);
|
|
font-weight: 600;
|
|
color: var(--text-primary);
|
|
margin-bottom: var(--spacing-sm);
|
|
line-height: 1.3;
|
|
flex: 1;
|
|
}
|
|
|
|
.public-tile-links {
|
|
display: flex;
|
|
gap: var(--spacing-sm);
|
|
flex-wrap: wrap;
|
|
justify-content: center;
|
|
padding-top: var(--spacing-sm);
|
|
border-top: 1px solid var(--border);
|
|
width: 100%;
|
|
}
|
|
|
|
.public-tile-links a {
|
|
color: #9ca3af;
|
|
transition: color 0.2s ease;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.public-tile-links a:hover { color: var(--primary); }
|
|
.public-tile-links a.sm-facebook:hover { color: #1877F2; }
|
|
.public-tile-links a.sm-linkedin:hover { color: #0A66C2; }
|
|
.public-tile-links a.sm-instagram:hover { color: #E4405F; }
|
|
.public-tile-links a.sm-youtube:hover { color: #FF0000; }
|
|
.public-tile-links a.sm-twitter:hover { color: #1DA1F2; }
|
|
.public-tile-links a.sm-tiktok:hover { color: #000000; }
|
|
|
|
.location-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: var(--spacing-xl);
|
|
align-items: start;
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.location-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.public-tiles-grid {
|
|
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
|
gap: var(--spacing-sm);
|
|
}
|
|
.public-tile {
|
|
padding: var(--spacing-md) var(--spacing-sm);
|
|
}
|
|
.public-tile-logo {
|
|
height: 50px;
|
|
}
|
|
}
|
|
</style>
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<!-- Hero -->
|
|
<div class="hero-landing" data-animate="fadeIn">
|
|
<div class="deco-circle deco-circle-1"></div>
|
|
<div class="deco-circle deco-circle-2"></div>
|
|
|
|
<h1 style="font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; margin-bottom: var(--spacing-md); color: var(--text-primary); text-align: center;">
|
|
Razem tworzymy <span style="color: #2E4872;">więcej</span>
|
|
</h1>
|
|
<p class="hero-subtitle" style="text-align: center; font-style: italic;">
|
|
Platforma networkingu Stowarzyszenia Norda Biznes.
|
|
Firmy z Wejherowa, powiatu wejherowskiego i województwa pomorskiego.
|
|
</p>
|
|
|
|
<div class="stats-inline" data-animate="fadeInUp" data-animate-delay="1">
|
|
<span>
|
|
<strong>{{ COMPANY_COUNT }}</strong>
|
|
<div>podmiotów gospodarczych</div>
|
|
</span>
|
|
<span>
|
|
<strong>{{ total_categories }}</strong>
|
|
<div>kategorii biznesowych</div>
|
|
</span>
|
|
<span>
|
|
<strong>AI</strong>
|
|
<div>inteligentny search</div>
|
|
</span>
|
|
</div>
|
|
|
|
<div class="hero-cta">
|
|
<a href="{{ url_for('register') }}" class="btn btn-hero btn-white">
|
|
<svg width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" style="margin-right: 8px;">
|
|
<path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/>
|
|
<circle cx="12" cy="7" r="4"/>
|
|
</svg>
|
|
Załóż konto
|
|
</a>
|
|
<a href="{{ url_for('login') }}" class="btn btn-hero btn-outline">
|
|
Zaloguj się
|
|
</a>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<!-- Gotowy na networking? CTA (przeniesione wyżej) -->
|
|
<div class="bottom-cta" style="margin-top: var(--spacing-2xl);" data-animate="fadeInUp">
|
|
<h2 style="font-size: var(--font-size-2xl); margin-bottom: var(--spacing-md); color: var(--text-primary);">
|
|
Gotowy na networking?
|
|
</h2>
|
|
<p style="color: var(--text-secondary); margin-bottom: var(--spacing-lg); font-size: var(--font-size-lg);">
|
|
Zarejestruj się i uzyskaj dostęp do pełnej bazy firm członkowskich<br>
|
|
<strong>Stowarzyszenia Norda Biznes</strong> - Wejherowo, powiat wejherowski i województwo pomorskie
|
|
</p>
|
|
<a href="{{ url_for('register') }}" class="btn btn-primary" style="padding: var(--spacing-md) var(--spacing-2xl); font-size: var(--font-size-lg);">
|
|
Załóż bezpłatne konto
|
|
</a>
|
|
</div>
|
|
|
|
<!-- How it works -->
|
|
<div style="background: white; padding: var(--spacing-2xl); border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); margin-top: var(--spacing-2xl); margin-bottom: var(--spacing-2xl); position: relative; overflow: hidden;">
|
|
<div style="position: absolute; top: -50px; right: -50px; width: 200px; height: 200px; background: linear-gradient(135deg, rgba(37, 99, 235, 0.05), rgba(16, 185, 129, 0.05)); border-radius: 50%; pointer-events: none;"></div>
|
|
<div style="position: absolute; bottom: -50px; left: -50px; width: 200px; height: 200px; background: linear-gradient(135deg, rgba(245, 158, 11, 0.05), rgba(239, 68, 68, 0.05)); border-radius: 50%; pointer-events: none;"></div>
|
|
|
|
<h2 class="animated-underline" style="text-align: center; font-size: var(--font-size-3xl); margin-bottom: var(--spacing-xl); color: var(--text-primary); position: relative;">
|
|
Jak to działa?
|
|
</h2>
|
|
|
|
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: var(--spacing-xl);">
|
|
<div style="text-align: center; position: relative;">
|
|
<div style="width: 80px; height: 80px; background: linear-gradient(135deg, var(--primary), var(--primary-light)); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto var(--spacing-md); font-size: var(--font-size-3xl); font-weight: 700; color: white; box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);">1</div>
|
|
<h3 style="margin-bottom: var(--spacing-sm); color: var(--text-primary);">Zarejestruj się</h3>
|
|
<p style="color: var(--text-secondary); font-size: var(--font-size-sm);">Wypełnij formularz rejestracyjny. Weryfikacja członkostwa w Norda Biznes.</p>
|
|
</div>
|
|
|
|
<div style="text-align: center; position: relative;">
|
|
<div style="width: 80px; height: 80px; background: linear-gradient(135deg, var(--success), #34d399); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto var(--spacing-md); font-size: var(--font-size-3xl); font-weight: 700; color: white; box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);">2</div>
|
|
<h3 style="margin-bottom: var(--spacing-sm); color: var(--text-primary);">Przeglądaj firmy</h3>
|
|
<p style="color: var(--text-secondary); font-size: var(--font-size-sm);">Dostęp do pełnej bazy z kontaktami, usługami i certyfikatami wszystkich członków.</p>
|
|
</div>
|
|
|
|
<div style="text-align: center; position: relative;">
|
|
<div style="width: 80px; height: 80px; background: linear-gradient(135deg, var(--warning), #fbbf24); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto var(--spacing-md); font-size: var(--font-size-3xl); font-weight: 700; color: white; box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);">3</div>
|
|
<h3 style="margin-bottom: var(--spacing-sm); color: var(--text-primary);">Nawiązuj kontakty</h3>
|
|
<p style="color: var(--text-secondary); font-size: var(--font-size-sm);">Dzwoń, pisz, współpracuj. Wszystkie dane kontaktowe w jednym miejscu.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Features Grid -->
|
|
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: var(--spacing-xl); margin: var(--spacing-2xl) 0;">
|
|
<!-- Feature 1 -->
|
|
<div class="feature-card" style="background: white; padding: var(--spacing-2xl); border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); border-top: 5px solid var(--primary);">
|
|
<div class="feature-icon" style="width: 70px; height: 70px; background: linear-gradient(135deg, var(--primary), var(--primary-light)); border-radius: var(--radius-xl); display: flex; align-items: center; justify-content: center; margin-bottom: var(--spacing-lg); box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);">
|
|
<svg width="32" height="32" fill="none" stroke="white" stroke-width="2">
|
|
<path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/>
|
|
<path d="M9 22V12h6v10"/>
|
|
</svg>
|
|
</div>
|
|
<h3 style="font-size: var(--font-size-2xl); margin-bottom: var(--spacing-md); color: var(--text-primary); font-weight: 700;">Pełny katalog firm</h3>
|
|
<p style="color: var(--text-secondary); line-height: 1.7; margin-bottom: var(--spacing-lg); font-size: var(--font-size-base);">
|
|
Dostęp do bazy firm z Wejherowa, powiatu wejherowskiego i województwa pomorskiego:
|
|
</p>
|
|
<ul style="color: var(--text-secondary); font-size: var(--font-size-base); line-height: 2; list-style: none; padding: 0;">
|
|
<li style="padding: var(--spacing-xs) 0;">✓ NIP, REGON, KRS</li>
|
|
<li style="padding: var(--spacing-xs) 0;">✓ Telefon, email, strona www</li>
|
|
<li style="padding: var(--spacing-xs) 0;">✓ Pełny zakres usług</li>
|
|
<li style="padding: var(--spacing-xs) 0;">✓ Certyfikaty i kompetencje</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<!-- Feature 2 -->
|
|
<div class="feature-card" style="background: white; padding: var(--spacing-2xl); border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); border-top: 5px solid var(--success);">
|
|
<div class="feature-icon" style="width: 70px; height: 70px; background: linear-gradient(135deg, var(--success), #34d399); border-radius: var(--radius-xl); display: flex; align-items: center; justify-content: center; margin-bottom: var(--spacing-lg); box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);">
|
|
<svg width="32" height="32" fill="none" stroke="white" stroke-width="2">
|
|
<path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/>
|
|
<path d="M9 10h6M9 14h3"/>
|
|
</svg>
|
|
</div>
|
|
<h3 style="font-size: var(--font-size-2xl); margin-bottom: var(--spacing-md); color: var(--text-primary); font-weight: 700;">AI Asystent</h3>
|
|
<p style="color: var(--text-secondary); line-height: 1.7; margin-bottom: var(--spacing-lg); font-size: var(--font-size-base);">
|
|
Inteligentne wyszukiwanie firm przez naturalne pytania:
|
|
</p>
|
|
<ul style="color: var(--text-secondary); font-size: var(--font-size-base); line-height: 2; list-style: none; padding: 0;">
|
|
<li style="padding: var(--spacing-xs) 0;">✓ "Szukam serwis Wejherowo"</li>
|
|
<li style="padding: var(--spacing-xs) 0;">✓ "Transport Gdynia lub Rumia"</li>
|
|
<li style="padding: var(--spacing-xs) 0;">✓ "Szkolenia Wejherowo dla firm"</li>
|
|
<li style="padding: var(--spacing-xs) 0;">✓ Dostaniesz konkretne firmy z kontaktami</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<!-- Feature 3 -->
|
|
<div class="feature-card" style="background: white; padding: var(--spacing-2xl); border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); border-top: 5px solid var(--warning);">
|
|
<div class="feature-icon" style="width: 70px; height: 70px; background: linear-gradient(135deg, var(--warning), #fbbf24); border-radius: var(--radius-xl); display: flex; align-items: center; justify-content: center; margin-bottom: var(--spacing-lg); box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);">
|
|
<svg width="32" height="32" fill="none" stroke="white" stroke-width="2">
|
|
<circle cx="11" cy="11" r="8"/>
|
|
<path d="M21 21l-4.35-4.35"/>
|
|
</svg>
|
|
</div>
|
|
<h3 style="font-size: var(--font-size-2xl); margin-bottom: var(--spacing-md); color: var(--text-primary); font-weight: 700;">Zaawansowane filtry</h3>
|
|
<p style="color: var(--text-secondary); line-height: 1.7; margin-bottom: var(--spacing-lg); font-size: var(--font-size-base);">
|
|
Precyzyjne wyszukiwanie według wielu kryteriów:
|
|
</p>
|
|
<ul style="color: var(--text-secondary); font-size: var(--font-size-base); line-height: 2; list-style: none; padding: 0;">
|
|
<li style="padding: var(--spacing-xs) 0;">✓ Kategoria: sklep, gabinet, studio Wejherowo</li>
|
|
<li style="padding: var(--spacing-xs) 0;">✓ Usługi: remonty, instalacje, naprawa Reda</li>
|
|
<li style="padding: var(--spacing-xs) 0;">✓ Lokalizacja: Wejherowo, Rumia, Reda, Gdynia</li>
|
|
<li style="padding: var(--spacing-xs) 0;">✓ Słowa kluczowe w opisie</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Use cases -->
|
|
<div style="background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%); padding: var(--spacing-2xl); border-radius: var(--radius-xl); margin-bottom: var(--spacing-2xl); position: relative; overflow: hidden; border: 1px solid rgba(226, 232, 240, 0.8);">
|
|
<div style="position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--primary), var(--success), var(--warning), var(--error), var(--primary)); opacity: 0.5;"></div>
|
|
|
|
<h2 class="animated-underline" style="text-align: center; font-size: var(--font-size-3xl); margin-bottom: var(--spacing-xl); color: var(--text-primary);">
|
|
Do czego użyjesz tego portalu?
|
|
</h2>
|
|
|
|
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--spacing-lg);">
|
|
<div style="background: white; padding: var(--spacing-lg); border-radius: var(--radius-lg); border-left: 4px solid var(--primary); box-shadow: var(--shadow); transition: all 0.3s ease;" onmouseover="this.style.transform='translateY(-4px)'; this.style.boxShadow='0 10px 25px rgba(0,0,0,0.1)'" onmouseout="this.style.transform=''; this.style.boxShadow='0 1px 3px rgba(0,0,0,0.1)'">
|
|
<h4 style="font-size: var(--font-size-lg); margin-bottom: var(--spacing-sm); color: var(--text-primary);">🤝 Szukasz podwykonawcy?</h4>
|
|
<p style="color: var(--text-secondary); font-size: var(--font-size-sm);">Znajdź firmę z konkretnymi kompetencjami i certyfikatami. Masz od razu telefon i email.</p>
|
|
</div>
|
|
|
|
<div style="background: white; padding: var(--spacing-lg); border-radius: var(--radius-lg); border-left: 4px solid var(--success);">
|
|
<h4 style="font-size: var(--font-size-lg); margin-bottom: var(--spacing-sm); color: var(--text-primary);">💼 Potrzebujesz usługi?</h4>
|
|
<p style="color: var(--text-secondary); font-size: var(--font-size-sm);">Zapytaj AI "kto robi X?" i dostaniesz listę firm z pełnymi danymi kontaktowymi.</p>
|
|
</div>
|
|
|
|
<div style="background: white; padding: var(--spacing-lg); border-radius: var(--radius-lg); border-left: 4px solid var(--warning);">
|
|
<h4 style="font-size: var(--font-size-lg); margin-bottom: var(--spacing-sm); color: var(--text-primary);">📊 Sprawdzasz NIP/REGON?</h4>
|
|
<p style="color: var(--text-secondary); font-size: var(--font-size-sm);">Wszystkie dane rejestrowe firm członkowskich w jednym miejscu.</p>
|
|
</div>
|
|
|
|
<div style="background: white; padding: var(--spacing-lg); border-radius: var(--radius-lg); border-left: 4px solid var(--error);">
|
|
<h4 style="font-size: var(--font-size-lg); margin-bottom: var(--spacing-sm); color: var(--text-primary);">🎯 Szukasz partnera lokalnie?</h4>
|
|
<p style="color: var(--text-secondary); font-size: var(--font-size-sm);">Filtruj po lokalizacji - Wejherowo, Reda, Rumia, powiat wejherowski i województwo pomorskie.</p>
|
|
</div>
|
|
|
|
<div style="background: white; padding: var(--spacing-lg); border-radius: var(--radius-lg); border-left: 4px solid var(--primary);">
|
|
<h4 style="font-size: var(--font-size-lg); margin-bottom: var(--spacing-sm); color: var(--text-primary);">🔍 Sprawdzasz certyfikaty?</h4>
|
|
<p style="color: var(--text-secondary); font-size: var(--font-size-sm);">Zobacz które firmy mają ISO 9001, ISO 14001 i inne certyfikaty.</p>
|
|
</div>
|
|
|
|
<div style="background: white; padding: var(--spacing-lg); border-radius: var(--radius-lg); border-left: 4px solid var(--success);">
|
|
<h4 style="font-size: var(--font-size-lg); margin-bottom: var(--spacing-sm); color: var(--text-primary);">📱 Networking?</h4>
|
|
<p style="color: var(--text-secondary); font-size: var(--font-size-sm);">Poznaj wszystkich członków stowarzyszenia, ich profile i zakres działalności.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Firmy członkowskie - publiczny katalog -->
|
|
{% if companies %}
|
|
<div style="margin-top: var(--spacing-2xl); margin-bottom: var(--spacing-2xl);">
|
|
<h2 class="animated-underline" style="text-align: center; font-size: var(--font-size-3xl); margin-bottom: var(--spacing-xl); color: var(--text-primary);">
|
|
Firmy członkowskie Izby NORDA
|
|
</h2>
|
|
<p style="text-align: center; color: var(--text-secondary); margin-bottom: var(--spacing-xl); font-size: var(--font-size-lg);">
|
|
Firmy z Wejherowa, powiatu wejherowskiego i województwa pomorskiego
|
|
</p>
|
|
|
|
<div class="public-tiles-grid">
|
|
{% for company in companies %}
|
|
<div class="public-tile">
|
|
<div class="public-tile-logo {{ 'dark-bg' if company.logo_dark_bg else '' }}">
|
|
<img src="{{ url_for('static', filename='img/companies/' ~ company.slug ~ '.webp') }}"
|
|
alt="{{ company.name }}"
|
|
loading="lazy"
|
|
onerror="if(!this.dataset.triedSvg){this.dataset.triedSvg='1';this.src=this.src.replace('.webp','.svg')}else{this.parentElement.style.display='none'}">
|
|
</div>
|
|
<div class="public-tile-name">{{ company.name }}</div>
|
|
<div class="public-tile-links">
|
|
{% if company.website %}
|
|
<a href="{{ company.website }}" target="_blank" rel="noopener noreferrer" aria-label="Strona WWW {{ company.name }}" title="{{ company.website|replace('https://', '')|replace('http://', '')|replace('www.', '') }}">
|
|
<svg width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" viewBox="0 0 24 24">
|
|
<circle cx="12" cy="12" r="10"/>
|
|
<path d="M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/>
|
|
</svg>
|
|
</a>
|
|
{% endif %}
|
|
{% set socials = company_social.get(company.id, []) %}
|
|
{% for sm in socials %}
|
|
{% if sm.platform == 'facebook' %}
|
|
<a href="{{ sm.url }}" target="_blank" rel="noopener noreferrer" class="sm-facebook" aria-label="Facebook {{ company.name }}" title="Facebook">
|
|
<svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg>
|
|
</a>
|
|
{% elif sm.platform == 'linkedin' %}
|
|
<a href="{{ sm.url }}" target="_blank" rel="noopener noreferrer" class="sm-linkedin" aria-label="LinkedIn {{ company.name }}" title="LinkedIn">
|
|
<svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
|
|
</a>
|
|
{% elif sm.platform == 'instagram' %}
|
|
<a href="{{ sm.url }}" target="_blank" rel="noopener noreferrer" class="sm-instagram" aria-label="Instagram {{ company.name }}" title="Instagram">
|
|
<svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z"/></svg>
|
|
</a>
|
|
{% elif sm.platform == 'youtube' %}
|
|
<a href="{{ sm.url }}" target="_blank" rel="noopener noreferrer" class="sm-youtube" aria-label="YouTube {{ company.name }}" title="YouTube">
|
|
<svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M23.498 6.186a3.016 3.016 0 00-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 00.502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 002.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 002.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg>
|
|
</a>
|
|
{% elif sm.platform == 'twitter' %}
|
|
<a href="{{ sm.url }}" target="_blank" rel="noopener noreferrer" class="sm-twitter" aria-label="X Twitter {{ company.name }}" title="X (Twitter)">
|
|
<svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
|
|
</a>
|
|
{% elif sm.platform == 'tiktok' %}
|
|
<a href="{{ sm.url }}" target="_blank" rel="noopener noreferrer" class="sm-tiktok" aria-label="TikTok {{ company.name }}" title="TikTok">
|
|
<svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"/></svg>
|
|
</a>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<!-- Gdzie nas znajdziesz -->
|
|
<div style="background: white; padding: var(--spacing-2xl); border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); margin: var(--spacing-2xl) 0;">
|
|
<h2 style="text-align: center; font-size: var(--font-size-2xl); margin-bottom: var(--spacing-lg); color: var(--text-primary);">
|
|
Gdzie nas znajdziesz?
|
|
</h2>
|
|
<div class="location-grid">
|
|
<div>
|
|
<p style="color: var(--text-secondary); line-height: 1.8; font-size: var(--font-size-base);">
|
|
<strong>Stowarzyszenie Norda Biznes</strong><br>
|
|
ul. 12 Marca 238/5<br>
|
|
84-200 Wejherowo, pomorskie<br><br>
|
|
Tel: <a href="tel:+48729716400" style="color: var(--primary);">+48 729 716 400</a><br>
|
|
Email: <a href="mailto:biuro@norda-biznes.info" style="color: var(--primary);">biuro@norda-biznes.info</a><br><br>
|
|
Pn-Pt: 8:00 - 16:00
|
|
</p>
|
|
</div>
|
|
<div style="border-radius: var(--radius-lg); overflow: hidden; min-height: 250px;">
|
|
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2312.5!2d18.2353!3d54.6103!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x46fd0b5c5c5c5c5d%3A0x0!2s12+Marca+238%2C+Wejherowo!5e0!3m2!1spl!2spl!4v1" width="100%" height="250" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade" title="Lokalizacja Stowarzyszenia Norda Biznes w Wejherowie"></iframe>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Końcowe CTA -->
|
|
<div class="bottom-cta" style="margin-bottom: var(--spacing-2xl);">
|
|
<h2 style="font-size: var(--font-size-2xl); margin-bottom: var(--spacing-md); color: var(--text-primary);">
|
|
Chcesz wiedzieć więcej o tych firmach?
|
|
</h2>
|
|
<p style="color: var(--text-secondary); margin-bottom: var(--spacing-lg); font-size: var(--font-size-lg);">
|
|
Zaloguj się, aby zobaczyć pełne profile z danymi kontaktowymi, opisem usług i rekomendacjami
|
|
</p>
|
|
<div style="display: flex; gap: var(--spacing-md); justify-content: center; flex-wrap: wrap;">
|
|
<a href="{{ url_for('login') }}" class="btn btn-primary" style="padding: var(--spacing-md) var(--spacing-2xl); font-size: var(--font-size-lg);">
|
|
Zaloguj się
|
|
</a>
|
|
<a href="{{ url_for('register') }}" class="btn btn-outline" style="padding: var(--spacing-md) var(--spacing-2xl); font-size: var(--font-size-lg);">
|
|
Załóż konto
|
|
</a>
|
|
</div>
|
|
<p style="margin-top: var(--spacing-lg); color: var(--text-secondary); font-size: var(--font-size-sm);">
|
|
Śledź nas na <a href="https://www.facebook.com/profile.php?id=100057396041901" target="_blank" rel="noopener" style="color: var(--primary); font-weight: 600;">Facebooku</a>
|
|
</p>
|
|
</div>
|
|
{% endblock %}
|