Commit Graph

203 Commits

Author SHA1 Message Date
647e20c6b0 feat(spa): add UTM markers for product view on OpenCart (#47) 2026-01-05 20:51:21 +03:00
8a9bac8221 feat(search): improvement search cache (#44) 2026-01-05 15:41:47 +03:00
089b686722 fix: correct external .env loading 2026-01-05 15:41:47 +03:00
9da605b9ea feat: add system information drawer (#44) 2026-01-05 15:41:47 +03:00
0798f5c3e9 feat: add config redis cache, categories cache (#44) 2026-01-05 15:41:47 +03:00
3a1f8dbf94 fix: missing store_id for carousel products 2026-01-05 01:54:09 +03:00
84641868e9 feat: add store_id conditions (#43) 2026-01-05 01:14:53 +03:00
0312b882e1 fix: correctly work with telecart customers without usernames 2026-01-03 12:13:57 +03:00
afade85d00 feat: add haptic feedback toggle setting
- Add haptic_enabled field to AppDTO with default value true
- Update SettingsSerializerService to deserialize haptic_enabled
- Add haptic_enabled setting in admin panel (GeneralView) with toggle
- Update admin settings store to include haptic_enabled default value
- Update SPA SettingsStore to load haptic_enabled from API
- Refactor useHapticFeedback composable to return safe wrapper object
- Replace all direct window.Telegram.WebApp.HapticFeedback usage with composable
- Update useHapticScroll to use useHapticFeedback composable
- Add getHapticFeedback helper function in CheckoutStore for store usage
- Add haptic_enabled default value to app.php configuration
- All haptic feedback methods now check settings internally
- Remove redundant if checks from components (handled in composable)
2025-12-25 22:36:07 +03:00
ad94afda68 feat: add customer account page with profile information and actions
- Create Account.vue page component with user profile display
- Add account route to router.js
- Update Navbar.vue to remove avatar button (moved to Dock)
- Add avatar icon to Dock.vue for account page navigation
- Implement 'Contact us' action that opens manager chat via Telegram
- Implement 'Add to home screen' feature using Telegram Web App API 8.0+
- Add home screen status checking with checkHomeScreenStatus API
- Display customer registration date and days with us counter
- Add Russian language declension for days word (день/дня/дней)
- Update TelegramCustomerHandler to return created_at in saveOrUpdate response
- Add getByTelegramUserId method to TelecartCustomerService
- Store customer_created_at in Pulse store during app initialization
- Update App.vue to show Dock on account page
- Remove unused getCurrentCustomer API endpoint and function
2025-12-25 21:32:25 +03:00
0a7877ddbe feat: add customizable text for manager contact button
- Add text_manager_button field to TextsDTO with getter method
- Update SettingsSerializerService to validate and deserialize new field
- Add text_manager_button field to admin settings store
- Add input field in admin TextsView for configuring button text
- Update SPA SettingsStore with default value including emoji
- Replace hardcoded button text in Product.vue with configurable text
- Remove SVG icon from manager button to allow emoji usage
- Add default value with emoji to app.php configuration
- Button text now customizable via admin panel Texts tab
2025-12-25 20:43:12 +03:00
60c0c832e0 reformat: fix codestyle issues 2025-12-25 18:46:18 +03:00
bf99bfe8a4 feat: add changelog 2025-12-25 18:44:24 +03:00
8c0d61dc9a reformat: fix codestyle issues 2025-12-25 18:32:57 +03:00
ecf4df363d feat: add product interaction mode selector with three scenarios
- Add ItemToggleButton component for 3-way toggle in admin panel
- Add product_interaction_mode setting with options: order, manager, browser
- Add manager_username setting for Telegram manager contact
- Remove store_enabled setting, replaced with product_interaction_mode
- Create migration to automatically migrate store_enabled to product_interaction_mode
- Update Product.vue to handle all three interaction modes
- Update Dock.vue to show cart button only when product_interaction_mode is 'order'
- Rename 'Магазин' tab to 'Витрина' in admin panel
- Remove 'Разрешить покупки' option (now controlled via product_interaction_mode)
- Set default product_interaction_mode to 'browser'
- Update StoreDTO to remove enableStore field
- Update SettingsHandler to return product_interaction_mode instead of store_enabled
2025-12-25 18:02:38 +03:00
22ddc3043d chore: update to v2.1.0 2025-12-24 01:56:02 +03:00
c3994b2291 feat: add setting to control category products button visibility
- Add show_category_products_button field to StoreDTO
- Update SettingsSerializerService to support new field
- Add setting in admin panel on 'Store' tab with toggle
- Pass setting to SPA through SettingsHandler
- Button displays only for categories with child categories
- Add default value true to configuration
2025-12-24 01:47:34 +03:00
57c8400904 fix: correct cli.php path for phar 2025-12-23 21:23:01 +03:00
185f3096e1 fix: correct path for cron 2025-12-23 21:23:01 +03:00
b87797ee67 feat: dont migrate tg messages from v1 2025-12-23 21:23:01 +03:00
262f529290 feat: change image crop algorythm for product view page 2025-12-23 21:23:01 +03:00
e729484fd7 feat: fix opecart module status, remove .vite 2025-12-23 21:23:00 +03:00
7e6502b07e fix: use html for tg bot 2025-12-21 18:13:11 +03:00
955747334d feat: more fluent vuejs app error handler 2025-12-15 19:45:53 +03:00
97df5b4c0a feat: add html editor for telegram messages 2025-12-15 19:44:56 +03:00
8a777cd4d2 feat: update design for product and product cards 2025-12-14 18:35:07 +03:00
b4ff6c9ce1 Improve CustomerCountsCommand with description and output formatting 2025-12-14 17:07:06 +03:00
152e6d715b feat: tg bot start message customization 2025-12-14 17:02:35 +03:00
05af4949bf feat: correct stats for telecart dashboard 2025-12-13 01:03:53 +03:00
8f6e2177b0 reformat: reformat code 2025-12-11 23:18:39 +03:00
2b0f04eb94 feat: add redis cache driver 2025-12-09 21:28:33 +03:00
6aa258385e Доработка команды ImagesCacheClearCommand для очистки кеша изображений
- Добавлена настройка paths.images_cache в configs/app.php для централизованного управления путем к кешу
- Обновлен ImageFactory для использования пути кеша из конфигурации вместо жестко закодированного пути
- Обновлен ImageToolServiceProvider для передачи пути кеша в ImageFactory
- Реализована полная функциональность очистки кеша в ImagesCacheClearCommand с подсчетом статистики
- Добавлен запрос подтверждения перед удалением файлов
- Команда зарегистрирована в cli.php
2025-12-09 21:13:12 +03:00
c4b19286f3 fix: test 2025-12-09 01:13:39 +03:00
e5792a059a fix: search 2025-12-09 00:30:00 +03:00
ecd372dad3 feat: add warmup images command 2025-12-09 00:13:03 +03:00
359395b7e8 fix: scroll behaviour 2025-12-08 23:00:21 +03:00
e9c6ed8ddf feat: add options to select aspect ratio and cron algo for product images 2025-12-08 21:25:00 +03:00
bf674473e9 feat: images and products loading optimization 2025-12-08 19:22:10 +03:00
5d775e8eb6 feat: fixed width and preloader for product view page 2025-12-08 13:59:27 +03:00
6ed2fd2062 feat: increase default per_page products 2025-12-08 02:34:48 +03:00
a35ec664a1 reformat: codestyle 2025-12-08 00:29:33 +03:00
8da91229fb reformat: codestyle 2025-12-08 00:29:33 +03:00
e73042bd2b reformat: codestyle 2025-12-08 00:29:33 +03:00
82ab8134e1 fix: order creation 2025-12-08 00:29:33 +03:00
4a3dcc11d1 feat(pulse): implement reliable event tracking and delivery system
Implement comprehensive event tracking system for TeleCart Pulse that ensures
all user interactions and order events are reliably captured and delivered to
the analytics platform, even in case of network failures or service outages.

Business Value:
- Guaranteed event delivery: All events are stored in database before sending,
  ensuring no data loss even if SaaS service is temporarily unavailable
- Automatic retry mechanism: Failed events are automatically retried with
  configurable attempts, reducing manual intervention
- Real-time monitoring: Admin dashboard displays event statistics (pending,
  sent, failed) to track system health and delivery status
- Data integrity: Idempotency keys prevent duplicate events, ensuring accurate
  analytics and metrics
- Performance optimization: Statistics are cached for 1 hour to reduce database
  load while maintaining visibility

Key Features:
- Event queue system: Events are queued in database with status tracking
  (pending/sent/failed)
- Asynchronous processing: Events are sent via background tasks, not blocking
  user interactions
- Error tracking: Failed events include detailed error reasons for debugging
- Campaign tracking: Only events with valid campaign_id and tracking_id are
  stored, ensuring data quality
- Admin visibility: Statistics dashboard shows delivery status at a glance

This system ensures reliable data collection for campaign analytics, A/B testing,
and performance metrics, providing accurate insights for business decisions.
2025-12-08 00:29:33 +03:00
1f5ef4353d build: fix cache hash for admin 2025-12-08 00:29:33 +03:00
16a258ab68 feat: add cron service to run telecart schedule tasks 2025-12-07 19:55:05 +03:00
10c1dfa5a3 Add comprehensive unit tests for scheduler components 2025-12-07 19:55:05 +03:00
64f2fc5364 reformat: fix codestyle 2025-12-07 19:55:05 +03:00
7372b9c330 feat: add UI for CRON Scheduler 2025-12-07 19:55:05 +03:00