Teksty zgodne z tym, co serwis naprawde robi
Deploy Polska Lokalnie / deploy (push) Successful in 11s
Deploy Polska Lokalnie / deploy (push) Successful in 11s
- /jak-sprzedawac: zamiast Google, Facebook Marketplace, "ponad 500 grup" i newslettera "do tysiecy subskrybentow" - lista ofert, mapa, podglad linku w komunikatorach (OgController) i platne wyroznienie. - "Dodaj do 30 zdjec i film" -> 8 zdjec, tyle przyjmuje backend; wideo nie ma. - "Pomocny asystent AI" -> poradniki, wycena i kontakt z obsluga. - Zdania o "tysiacach kupujacych/czytelnikow/klientow" przepisane bez twierdzen o skali (10 miejsc). - Ustawienia: przelaczniki maili, ktorych nikt nie wysyla (zapisane wyszukiwania, alerty, nowosci), nieaktywne z wyjasnieniem. - "Zweryfikowana firma" -> "Adres e-mail potwierdzony" - bo tym to jest. - Poradniki: "Powiazane oferty" prowadza do zapowiadanych wynikow, pasek "Popularne" do poradnikow, a nie do list ofert. - Kafelek 360 na stronie glownej bez plakietki "Wkrotce" - spacer dziala. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+70
-62
@@ -689,8 +689,8 @@ const benefits = [
|
||||
},
|
||||
{
|
||||
icon: 'chart',
|
||||
title: 'Tysiące kupujących',
|
||||
text: 'każdego dnia',
|
||||
title: 'Kupujący bez pośredników',
|
||||
text: 'piszą prosto do Ciebie',
|
||||
},
|
||||
{
|
||||
icon: 'shuffle',
|
||||
@@ -1118,7 +1118,7 @@ const sellSteps = [
|
||||
{
|
||||
icon: 'calculator',
|
||||
title: 'My wycenimy się resztą',
|
||||
text: 'Twoje ogłoszenie trafi do tysięcy kupujących',
|
||||
text: 'Twoje ogłoszenie trafia na listę ofert i mapę',
|
||||
},
|
||||
{
|
||||
icon: 'message',
|
||||
@@ -1146,12 +1146,12 @@ const sellReasons = [
|
||||
{
|
||||
icon: 'target',
|
||||
title: 'Kupujący z całej Polski',
|
||||
text: 'Docieramy do tysięcy osób każdego dnia',
|
||||
text: 'Ogłoszenie widoczne dla każdego, kto szuka w Twojej okolicy',
|
||||
},
|
||||
{
|
||||
icon: 'spark',
|
||||
title: 'Sprzedaż nawet w 7 dni',
|
||||
text: 'Szybka sprzedaż dzięki dużej bazie kupujących',
|
||||
title: 'Bezpośredni kontakt',
|
||||
text: 'Kupujący pisze i dzwoni prosto do Ciebie, bez pośrednika',
|
||||
},
|
||||
{
|
||||
icon: 'shield',
|
||||
@@ -1161,35 +1161,31 @@ const sellReasons = [
|
||||
{
|
||||
icon: 'warning',
|
||||
title: 'Wsparcie na każdym etapie',
|
||||
text: 'Pomocny asystent AI prowadzi przez cały proces',
|
||||
text: 'Poradniki, wycena i kontakt z obsługą serwisu',
|
||||
},
|
||||
];
|
||||
|
||||
// Tylko to, co serwis naprawde robi z ogloszeniem - bez integracji, ktorych nie ma.
|
||||
const sellChannels = [
|
||||
{
|
||||
icon: 'logo',
|
||||
title: 'polskalokalnie.pl',
|
||||
text: 'Nasza strona',
|
||||
title: 'Lista ofert',
|
||||
text: 'Wyszukiwarka i filtry',
|
||||
},
|
||||
{
|
||||
icon: 'search',
|
||||
title: 'Google',
|
||||
text: 'Reklama Google',
|
||||
icon: 'pin',
|
||||
title: 'Mapa ofert',
|
||||
text: 'Widoczne w okolicy',
|
||||
},
|
||||
{
|
||||
icon: 'message',
|
||||
title: 'Facebook',
|
||||
text: 'Marketplace i posty',
|
||||
title: 'Podgląd linku',
|
||||
text: 'Zdjęcie i cena w komunikatorach',
|
||||
},
|
||||
{
|
||||
icon: 'group',
|
||||
title: 'Grupy lokalne',
|
||||
text: 'Ponad 500 grup',
|
||||
},
|
||||
{
|
||||
icon: 'mail',
|
||||
title: 'Newsletter',
|
||||
text: 'Tysiące subskrybentów',
|
||||
icon: 'star',
|
||||
title: 'Wyróżnienie',
|
||||
text: 'Płatne miejsce na górze listy',
|
||||
},
|
||||
];
|
||||
|
||||
@@ -1201,8 +1197,8 @@ const sellFeatures = [
|
||||
},
|
||||
{
|
||||
icon: 'camera',
|
||||
title: 'Galeria zdjęć i video',
|
||||
text: 'Dodaj do 30 zdjęć i film',
|
||||
title: 'Galeria zdjęć',
|
||||
text: 'Dodaj do 8 zdjęć nieruchomości',
|
||||
},
|
||||
{
|
||||
icon: 'tour',
|
||||
@@ -2138,8 +2134,8 @@ const addFooterBenefits = [
|
||||
},
|
||||
{
|
||||
icon: 'group',
|
||||
title: 'Tysiące kupujących',
|
||||
text: 'Twoje ogłoszenie zobaczą zainteresowani.',
|
||||
title: 'Bez pośredników',
|
||||
text: 'Kupujący kontaktuje się z Tobą wprost.',
|
||||
},
|
||||
{
|
||||
icon: 'clock',
|
||||
@@ -2219,24 +2215,29 @@ const quickGuides = [
|
||||
},
|
||||
];
|
||||
|
||||
// Skroty do list ofert - kazdy prowadzi do wyniku, ktory faktycznie odpowiada nazwie kafelka.
|
||||
const guideRelatedOffers = [
|
||||
{
|
||||
title: 'Mieszkania w Krakowie',
|
||||
to: buyCityPath('Kraków'),
|
||||
image: cityImage,
|
||||
position: '88% 56%',
|
||||
},
|
||||
{
|
||||
title: 'Mieszkania w Warszawie',
|
||||
to: buyCityPath('Warszawa'),
|
||||
image: cityImage,
|
||||
position: '18% 48%',
|
||||
},
|
||||
{
|
||||
title: 'Nowe mieszkania',
|
||||
title: 'Wszystkie oferty sprzedaży',
|
||||
to: ROUTES.buy,
|
||||
image: cityImage,
|
||||
position: '74% 52%',
|
||||
},
|
||||
{
|
||||
title: 'Okazje cenowe',
|
||||
title: 'Oferty wynajmu',
|
||||
to: ROUTES.rent,
|
||||
image: heroImage,
|
||||
position: '47% 58%',
|
||||
},
|
||||
@@ -6558,7 +6559,7 @@ function AccountSidebar() {
|
||||
<strong>{getDisplayName(user)}</strong>
|
||||
<small>{user?.email}</small>
|
||||
<em className={user?.verified ? 'verified' : 'pending'}>
|
||||
{user?.verified ? 'Zweryfikowane konto' : 'Oczekuje na weryfikację'}
|
||||
{user?.verified ? 'Adres e-mail potwierdzony' : 'Potwierdź adres e-mail'}
|
||||
</em>
|
||||
</div>
|
||||
</div>
|
||||
@@ -10512,6 +10513,9 @@ function toSearchPreferences(settings: UserSettings): SearchPreferences {
|
||||
const OTP_RESEND_COOLDOWN_SECONDS = 60;
|
||||
|
||||
// Pojedynczy wiersz z przelacznikiem. Zapis idzie na serwer od razu po kliknieciu.
|
||||
// Powiadomienia, ktorych serwis jeszcze nie wysyla - przelacznik jest nieaktywny i mowi wprost dlaczego.
|
||||
const SETTINGS_NOT_SENT_YET = 'Wkrótce - tych wiadomości jeszcze nie wysyłamy.';
|
||||
|
||||
function SettingsToggleRow({ icon, label, hint, checked, disabled, onChange }: {
|
||||
icon: string;
|
||||
label: string;
|
||||
@@ -11825,20 +11829,24 @@ function AccountSettingsPage({ onSearchPreferencesSaved }: { onSearchPreferences
|
||||
<p>Wybierz, o czym chcesz otrzymywać wiadomości.</p>
|
||||
</div>
|
||||
|
||||
{/* Wlaczone jest tylko to, co serwis naprawde wysyla. Reszta czeka na zbudowanie
|
||||
funkcji - lepiej powiedziec to wprost, niz pozwolic wlaczyc martwy przelacznik. */}
|
||||
<div className="settings-list compact">
|
||||
<SettingsToggleRow
|
||||
icon="bell"
|
||||
label="Nowe oferty z zapisanych wyszukiwań"
|
||||
checked={settings?.notifySavedSearches ?? true}
|
||||
disabled={isLoading}
|
||||
onChange={(next) => { void patchSettings({ notifySavedSearches: next }); }}
|
||||
hint={SETTINGS_NOT_SENT_YET}
|
||||
checked={false}
|
||||
disabled
|
||||
onChange={() => { /* funkcja jeszcze nie powstala */ }}
|
||||
/>
|
||||
<SettingsToggleRow
|
||||
icon="trend"
|
||||
label="Alerty cenowe"
|
||||
checked={settings?.notifyPriceAlerts ?? true}
|
||||
disabled={isLoading}
|
||||
onChange={(next) => { void patchSettings({ notifyPriceAlerts: next }); }}
|
||||
hint={SETTINGS_NOT_SENT_YET}
|
||||
checked={false}
|
||||
disabled
|
||||
onChange={() => { /* funkcja jeszcze nie powstala */ }}
|
||||
/>
|
||||
<SettingsToggleRow
|
||||
icon="message"
|
||||
@@ -11850,9 +11858,10 @@ function AccountSettingsPage({ onSearchPreferencesSaved }: { onSearchPreferences
|
||||
<SettingsToggleRow
|
||||
icon="gear"
|
||||
label="Nowości i aktualizacje serwisu"
|
||||
checked={settings?.notifyProductNews ?? false}
|
||||
disabled={isLoading}
|
||||
onChange={(next) => { void patchSettings({ notifyProductNews: next }); }}
|
||||
hint={SETTINGS_NOT_SENT_YET}
|
||||
checked={false}
|
||||
disabled
|
||||
onChange={() => { /* funkcja jeszcze nie powstala */ }}
|
||||
/>
|
||||
<SettingsToggleRow
|
||||
icon="mail"
|
||||
@@ -13002,7 +13011,7 @@ function LoginPage({ onLogin }: { onLogin: (user: AuthUser) => void }) {
|
||||
<span><Icon name="check" /></span>
|
||||
<p>
|
||||
<strong>Zaufany serwis</strong>
|
||||
<small>Tysiące użytkowników ufa nam w znalezieniu idealnego mieszkania.</small>
|
||||
<small>Ogłoszenia bez prowizji, wprost od właścicieli.</small>
|
||||
</p>
|
||||
</article>
|
||||
</div>
|
||||
@@ -13195,9 +13204,8 @@ function HomePage({ filters, onOpenMap }: { filters: FilterState; onOpenMap: (ci
|
||||
<span className="tour-badge">360°</span>
|
||||
<span>
|
||||
<strong>Wirtualny spacer</strong>
|
||||
<small>Zobacz mieszkanie w 3D</small>
|
||||
<small>Gdy sprzedający doda spacer, obejrzysz go w ogłoszeniu</small>
|
||||
</span>
|
||||
<em className="soon-tag">Wkrótce</em>
|
||||
</aside>
|
||||
</div>
|
||||
</section>
|
||||
@@ -13281,7 +13289,7 @@ function HomePage({ filters, onOpenMap }: { filters: FilterState; onOpenMap: (ci
|
||||
<article className="free-card">
|
||||
<div>
|
||||
<h2>Dodaj ogłoszenie za darmo</h2>
|
||||
<p>Dotrzyj do tysięcy potencjalnych kupujących. Bez prowizji. Bez zobowiązań.</p>
|
||||
<p>Wystaw ogłoszenie i rozmawiaj z kupującymi bezpośrednio. Bez prowizji. Bez zobowiązań.</p>
|
||||
<Link className="free-card-cta" to={ROUTES.add}>
|
||||
<span>Dodaj ogłoszenie</span>
|
||||
<strong>0 zł</strong>
|
||||
@@ -14391,7 +14399,7 @@ function AddListingPage({ editListingId }: { editListingId?: number }) {
|
||||
<h1>
|
||||
Dodaj ogłoszenie <span>za darmo</span>
|
||||
</h1>
|
||||
<p>Wypełnij formularz i dotrzyj do tysięcy zainteresowanych.</p>
|
||||
<p>Wypełnij formularz, a ogłoszenie trafi na listę ofert i mapę.</p>
|
||||
</>
|
||||
)}
|
||||
{!isEdit && categoryChosen && currentStep === 0 && (
|
||||
@@ -15056,7 +15064,7 @@ function AddListingPage({ editListingId }: { editListingId?: number }) {
|
||||
<h2>Co dalej?</h2>
|
||||
<div className="tips-list next-list">
|
||||
{[
|
||||
{ icon: 'check', title: 'Opublikuj ogłoszenie', text: 'Twoje ogłoszenie będzie widoczne dla tysięcy użytkowników.' },
|
||||
{ icon: 'check', title: 'Opublikuj ogłoszenie', text: 'Ogłoszenie pojawi się na liście ofert po akceptacji obsługi.' },
|
||||
{ icon: 'message', title: 'Odbieraj wiadomości', text: 'Zainteresowani kupujący skontaktują się z Tobą przez formularz lub telefon.' },
|
||||
{ icon: 'gear', title: 'Zarządzaj ogłoszeniem', text: 'W każdej chwili możesz edytować lub usunąć swoje ogłoszenie.' },
|
||||
].map((tip) => (
|
||||
@@ -16314,10 +16322,10 @@ function GuidesPage() {
|
||||
</form>
|
||||
<div className="popular-links">
|
||||
<span>Popularne:</span>
|
||||
<Link to={ROUTES.creditCalculator}>Kredyt hipoteczny</Link>
|
||||
<Link to={ROUTES.rent}>Umowa najmu</Link>
|
||||
<Link to={ROUTES.sell}>Podatek od sprzedaży</Link>
|
||||
<Link to={ROUTES.guideBuying}>Księga wieczysta</Link>
|
||||
<Link to={ROUTES.guideCredit}>Kredyt hipoteczny</Link>
|
||||
<Link to={ROUTES.guideRent}>Umowa najmu</Link>
|
||||
<Link to={ROUTES.guideLaw}>Podatek od sprzedaży</Link>
|
||||
<Link to={ROUTES.guideLaw}>Księga wieczysta</Link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -16402,14 +16410,14 @@ function GuidesPage() {
|
||||
</section>
|
||||
|
||||
<section className="related-offers">
|
||||
<h2>Powiązane oferty</h2>
|
||||
<p>Zobacz mieszkania dopasowane do Twoich zainteresowań</p>
|
||||
<h2>Szukasz mieszkania?</h2>
|
||||
<p>Przejdź prosto do ofert w wybranej lokalizacji</p>
|
||||
<div className="related-offer-grid">
|
||||
{guideRelatedOffers.map((offer) => (
|
||||
<article key={offer.title}>
|
||||
<div>
|
||||
<h3>{offer.title}</h3>
|
||||
<Link to={ROUTES.buy}>Zobacz oferty <Icon name="arrow" /></Link>
|
||||
<Link to={offer.to}>Zobacz oferty <Icon name="arrow" /></Link>
|
||||
</div>
|
||||
<div
|
||||
className="related-offer-image"
|
||||
@@ -16429,7 +16437,7 @@ function GuidesPage() {
|
||||
</div>
|
||||
<p>Masz wiedzę o nieruchomościach? Napisz własny poradnik i pomóż innym w podejmowaniu decyzji.</p>
|
||||
<div className="ai-question-box">
|
||||
<strong>Twój artykuł trafi do tysięcy czytelników, a Ty zbudujesz swoją pozycję eksperta.</strong>
|
||||
<strong>Twój artykuł trafi do centrum wiedzy serwisu, a Ty zbudujesz swoją pozycję eksperta.</strong>
|
||||
</div>
|
||||
<Link className="guide-ai-cta" to={guideAddPath()}>
|
||||
Napisz swój artykuł
|
||||
@@ -16804,7 +16812,7 @@ const PROPOSE_STEPS = [
|
||||
];
|
||||
|
||||
const PROPOSE_BENEFITS = [
|
||||
'Dotrzesz do tysięcy czytelników',
|
||||
'Twój poradnik trafi do centrum wiedzy',
|
||||
'Zbudujesz swoją pozycję eksperta',
|
||||
'Pomożesz innym w podejmowaniu decyzji',
|
||||
'Zyskasz wartościowe linki i widoczność',
|
||||
@@ -17140,7 +17148,7 @@ function SellPage() {
|
||||
<div className="sell-benefit-row">
|
||||
<span><Icon name="check" /> 0 zł prowizji</span>
|
||||
<span><Icon name="shield" /> Bez ukrytych opłat</span>
|
||||
<span><Icon name="group" /> Tysiące kupujących</span>
|
||||
<span><Icon name="group" /> Kupujący bez pośredników</span>
|
||||
<span><Icon name="spark" /> Pełne wsparcie</span>
|
||||
</div>
|
||||
|
||||
@@ -17202,7 +17210,7 @@ function SellPage() {
|
||||
</article>
|
||||
|
||||
<article className="sell-channels-card">
|
||||
<h2>Twoje ogłoszenie dotrze do:</h2>
|
||||
<h2>Gdzie zobaczą Twoje ogłoszenie:</h2>
|
||||
<div className="sell-channel-list">
|
||||
{sellChannels.map((channel) => (
|
||||
<div key={channel.title}>
|
||||
@@ -17263,7 +17271,7 @@ function SellPage() {
|
||||
<section className="sell-bottom-cta">
|
||||
<div>
|
||||
<strong>Gotowy na szybką i bezpieczną sprzedaż?</strong>
|
||||
<span>Dołącz do tysięcy osób, które już sprzedały z nami swoje mieszkanie.</span>
|
||||
<span>Wystaw ogłoszenie za darmo i sprzedawaj bez prowizji.</span>
|
||||
</div>
|
||||
<Link to={ROUTES.add}>Dodaj ogłoszenie za darmo</Link>
|
||||
<small>Zajmie Ci to tylko 2 minuty</small>
|
||||
@@ -19389,7 +19397,7 @@ function AdvertisingPage() {
|
||||
<div>
|
||||
<h2>Twoja reklama w serwisie Polska Lokalnie</h2>
|
||||
<ul>
|
||||
<li><Icon name="check" /> Dotrzesz do tysięcy klientów szukających usług</li>
|
||||
<li><Icon name="check" /> Trafisz do osób, które szukają usług w Twojej okolicy</li>
|
||||
<li><Icon name="check" /> Wyróżnisz swoją firmę na tle konkurencji</li>
|
||||
<li><Icon name="check" /> Zwiększysz liczbę zapytań i zleceń</li>
|
||||
</ul>
|
||||
@@ -20211,7 +20219,7 @@ function ServicesPage() {
|
||||
<p>Twoja firma może być tutaj i docierać do klientów z całej Polski.</p>
|
||||
|
||||
<ul className="companies-empty-benefits">
|
||||
<li><i><Icon name="check" /></i> Docieraj do tysięcy klientów</li>
|
||||
<li><i><Icon name="check" /></i> Docieraj do osób szukających usług</li>
|
||||
<li><i><Icon name="check" /></i> Zwiększaj rozpoznawalność marki</li>
|
||||
<li><i><Icon name="check" /></i> Buduj zaufanie i zdobywaj opinie</li>
|
||||
</ul>
|
||||
@@ -24532,7 +24540,7 @@ function CompanyProfile({ profile }: { profile: PublicProfile }) {
|
||||
</div>
|
||||
<div className="company-profile-identity">
|
||||
{profile.verified && (
|
||||
<span className="company-verified-badge"><Icon name="shield" /> Zweryfikowana firma</span>
|
||||
<span className="company-verified-badge"><Icon name="shield" /> Adres e-mail potwierdzony</span>
|
||||
)}
|
||||
<h1>{profile.fullName}</h1>
|
||||
{profile.companyTagline && <p className="company-profile-tagline">{profile.companyTagline}</p>}
|
||||
@@ -24749,8 +24757,8 @@ function PublicProfilePage() {
|
||||
</div>
|
||||
<blockquote>
|
||||
{profile.verified
|
||||
? 'Konto zweryfikowane przez serwis Polska Lokalnie.'
|
||||
: 'Konto nie przeszło jeszcze weryfikacji.'}
|
||||
? 'Właściciel konta potwierdził adres e-mail podany przy rejestracji.'
|
||||
: 'Adres e-mail tego konta nie został jeszcze potwierdzony.'}
|
||||
</blockquote>
|
||||
<div className="public-profile-stats">
|
||||
<div><strong>{profile.listingsCount}</strong><small>Ogłoszenia</small></div>
|
||||
@@ -24807,7 +24815,7 @@ function PublicProfilePage() {
|
||||
<div className="public-profile-badges">
|
||||
<span><Icon name="user" /> Konto prywatne</span>
|
||||
<span><Icon name="calendar" /> W serwisie od {memberSinceLabel}</span>
|
||||
{profile.verified && <span><Icon name="shield" /> Zweryfikowany użytkownik</span>}
|
||||
{profile.verified && <span><Icon name="shield" /> Potwierdzony e-mail</span>}
|
||||
<span><Icon name="message" /> Kontakt przez wiadomości</span>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
Reference in New Issue
Block a user