This website requires JavaScript.
cbd67523fd
fix(billing): validate discount code via server action, use DEV_DISCOUNT_CODE server-only env var
main
egecankomur
2026-05-14 23:31:27 +03:00
2d67d49255
feat(billing): env-based dev discount code forces 1 TL (NEXT_PUBLIC_DEV_DISCOUNT_CODE)
egecankomur
2026-05-14 23:22:38 +03:00
12397d409d
fix(invoices): serialize Appwrite rows before passing to client component
egecankomur
2026-05-14 23:17:25 +03:00
7660901eb0
fix(paytr): encode hyphens in tenantId as Z in merchantOid
egecankomur
2026-05-14 23:12:36 +03:00
1618db57db
feat(theme): remove collapsible=none option from sidebar customizer
egecankomur
2026-05-14 22:39:30 +03:00
2b48422b68
fix(sidebar): check isMobile before collapsible=none; sticky desktop layout
egecankomur
2026-05-14 22:32:59 +03:00
856e577f4b
fix: server-side UA mobile detection — prevents desktop sidebar flash on mobile before JS hydration
egecankomur
2026-05-14 20:03:41 +03:00
0d6e773197
fix: add viewport meta tag — iOS was using 980px default width causing desktop sidebar on mobile
egecankomur
2026-05-14 19:53:37 +03:00
5622b0ef07
fix: mobile sidebar — cursor-pointer on SheetOverlay (iOS tap-to-close), modal=false prevents body position:fixed layout shift, scrollbar-gutter stable on desktop
egecankomur
2026-05-14 19:47:18 +03:00
668fb7108b
feat: subscription upgrade-only flow, discount codes, proration, enterprise inquiry form, payment history invoices page, fix mobile sidebar close on navigate
egecankomur
2026-05-14 19:09:11 +03:00
37b0928da6
feat: watermark tool complete — parallel processing, logo opacity, preview fix, logo upload fix, rename to Fotoğraf Damgala
egecankomur
2026-05-13 14:00:00 +03:00
7c677dfa4b
perf: memoize parseImageIds, fix checkLimit OR query, loading skeletons, dashboard cache, compound indexes, sidebar active state, matches notified fix, padding fixes, match criteria in property detail
egecankomur
2026-05-13 13:08:05 +03:00
933cb17107
feat: plan/limit system + role-based page access
egecankomur
2026-05-12 18:46:02 +03:00
7c23a2b4ae
feat: activity assignment + team view for owner/admin
egecankomur
2026-05-12 17:40:21 +03:00
5ac6a1f8b0
feat: daily activity summary email
egecankomur
2026-05-12 17:26:50 +03:00
fe86bfe6b2
fix: resolve auth/tenant loop and serialization errors
egecankomur
2026-05-12 17:18:19 +03:00
a3bcb464ea
feat: custom password reset flow (token-based, Appwrite Messaging)
egecankomur
2026-05-12 16:49:04 +03:00
95e30a74c7
fix: use admin client in onboarding guard to prevent accidental workspace creation
egecankomur
2026-05-12 15:45:33 +03:00
b71edd880b
fix: harden getActiveContext and add error logging on presentations page
egecankomur
2026-05-12 15:33:38 +03:00
84be9ec5e3
fix: auto-create tenant_settings when missing to prevent onboarding loop
egecankomur
2026-05-12 14:19:24 +03:00
04e11c3fed
fix: normalize image filename extension before Appwrite upload
egecankomur
2026-05-12 05:14:37 +03:00
8dd970d2ad
fix: add force-dynamic to auth-protected pages, sunum gallery+detail modal, form step 3 layout, academy tour updates
egecankomur
2026-05-12 05:02:44 +03:00
3554b39800
feat: desktop image thumbnails, gallery lightbox portal, client-side compression, clickable table rows, fix header gap
egecankomur
2026-05-12 04:49:36 +03:00
3cce632eb3
feat(billing): payment infrastructure pre-prep
egecankomur
2026-05-08 15:26:18 +03:00
95a7cbaf0d
feat: onboarding'de diğer KovakSoft uygulamalarından workspace içe aktarma
egecankomur
2026-05-06 23:04:26 +03:00
9f462c2f1f
fix: filter teams by app — getUserTeams and setActiveTenant now reject cross-app teams
egecankomur
2026-05-06 22:31:58 +03:00
54f6112e7e
fix: harita görünümü tam yükseklik dolduracak şekilde düzeltildi
egecankomur
2026-05-06 20:20:48 +03:00
b1d3ee3681
feat: ilan listesine harita görünümü eklendi (split layout)
egecankomur
2026-05-05 22:00:41 +03:00
92428cb4fd
feat: harita adres araması autocomplete dropdown'a dönüştürüldü
egecankomur
2026-05-05 21:53:43 +03:00
fd5c6c645f
fix: tema kaydetme race condition düzeltildi
egecankomur
2026-05-05 21:23:54 +03:00
63392bab7b
fix: getPrefs sonucunu plain object'e çevir (Server→Client prop hatası)
egecankomur
2026-05-05 21:06:51 +03:00
237ec92691
feat: tema ayarları Appwrite user prefs ile kalıcı hale getirildi
egecankomur
2026-05-05 20:57:30 +03:00
9497cc72ce
feat: sunum sayfasında danışman adı ve şirket adı göster
egecankomur
2026-05-05 20:47:40 +03:00
1fdeefc472
design: sunum sayfası yeniden tasarlandı
egecankomur
2026-05-05 20:39:58 +03:00
3caddff515
feat: add MapLibre GL map to property form and detail page
egecankomur
2026-05-05 20:32:45 +03:00
1d5ad5f62f
fix: presentation expiresAt — skip empty date, convert YYYY-MM-DD to end-of-day UTC
egecankomur
2026-05-05 20:19:02 +03:00
f043f4acd7
feat: redesign login page — split layout, Emlak CRM + Kovak Yazılım branding
egecankomur
2026-05-05 20:10:01 +03:00
d9aff26376
fix: delete stale matches when score drops below threshold or listing type changes
egecankomur
2026-05-05 20:03:49 +03:00
a40e68254b
feat: weighted match scoring, photo upload, property detail page
egecankomur
2026-05-05 19:55:34 +03:00
3d044c5d5b
fix: onboarding createWorkspace — emlak fields (officeName/phone/createdBy), remove old CRM fields
egecankomur
2026-05-05 13:24:10 +03:00
19c1ecef47
fix: workspace settings — emlak fields (officeName/phone/email/address), add createdBy to createRow
egecankomur
2026-05-05 13:15:50 +03:00
115e5cd159
fix: lazy env var check in server.ts — prevent module-level throw during Docker build
egecankomur
2026-05-05 12:11:42 +03:00
4ef0482732
feat: all core modules — properties, customers, searches, matches, presentations, activities, investors + public sunum page
egecankomur
2026-05-05 12:03:48 +03:00
2f17c342ca
feat: emlak CRM iskelet kurulumu
egecankomur
2026-05-05 11:43:29 +03:00
37679e83e6
init: kovakemlak-crm project scaffold
egecankomur
2026-05-05 04:37:04 +03:00