Commit Graph

78 Commits

Author SHA1 Message Date
115c13393f fix(admin): correct logs sorting by datetime with milliseconds
- Change sortField from datetime to datetime_raw for proper chronological sorting
- Add sortField attribute to 'Date and time' column to show sort indicator
- Remove sorting from 'Level' and 'Channel' columns
- Add information about displaying last 100 events
2025-12-25 18:31:13 +03:00
ff7263649c fix(spa): correct line breaks for long attribute names and values in Product.vue
- Fix word wrapping for attribute names and values in product details
- Ensure proper text display for long attribute names and values
2025-12-25 18:31:06 +03:00
79f23400d2 fix(spa): correct privacy policy message margin 2025-12-25 18:18:59 +03:00
6a635e1896 feat(admin): improve navigation UI and move logs to drawer
- Add icons to all navigation tabs in admin panel
- Rename 'Telegram Покупатели' tab to 'Покупатели'
- Move logs view from navigation tab to Drawer component
- Add logs button in TopLead component next to cache reset button
- Group logs and cache reset buttons in ButtonGroup
- Remove logs route from router
2025-12-25 18:13:09 +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
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
2ec683f016 feat: hide greeting image from frontend 2025-12-23 21:49:56 +03:00
bf32d90811 fix: disable fullscreen for desktop 2025-12-21 18:32:34 +03:00
08f0e24859 feat: remove unused js libs 2025-12-21 18:26:55 +03:00
bdbdfc3650 fix: fix dock layout 2025-12-21 18:06:04 +03:00
28d80d0f19 fix: base header color 2025-12-19 01:30:17 +03:00
4cd49b17a6 fix: browser check 2025-12-19 01:27:01 +03:00
76c32c5320 feat: add old browser checks 2025-12-19 01:22:53 +03:00
955747334d feat: more fluent vuejs app error handler 2025-12-15 19:45:53 +03:00
9870f2f363 fix: correct counter id for yandex metrika test 2025-12-15 19:45:31 +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
152e6d715b feat: tg bot start message customization 2025-12-14 17:02:35 +03:00
c4b19286f3 fix: test 2025-12-09 01:13:39 +03:00
2f9a553ae3 fix: fix search issues 2025-12-09 01:13:29 +03:00
e5792a059a fix: search 2025-12-09 00:30:00 +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
c64170f2d8 feat: update product page design 2025-12-08 14:05:16 +03:00
5d775e8eb6 feat: fixed width and preloader for product view page 2025-12-08 13:59:27 +03:00
dc198c63b7 fix: center image on product view 2025-12-08 03:58:59 +03:00
a5e91dd488 fix: many products in search 2025-12-08 03:24:06 +03:00
b2d29fd3e2 feat: button to show all products from category 2025-12-08 02:39:22 +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
7372b9c330 feat: add UI for CRON Scheduler 2025-12-07 19:55:05 +03:00
216ed7e522 build: fix cache hash for admin 2025-12-07 19:55:04 +03:00
615e8c54a6 feat: add aspect ratio selector for products_carousel 2025-12-06 18:18:34 +03:00
1fbbb7b6db feat(texts): add options to redefine text for zero product prices 2025-12-06 17:33:28 +03:00
f539bbfbbf feat: move getImage response to admin 2025-12-06 17:33:28 +03:00
e6a9e6797f feat: update styles for swipe to back 2025-12-06 16:09:50 +03:00
cd060610fe feat(products-feed): replace fixed image dimensions with aspect ratio selection
- Added image aspect ratio selection (1:1, 4:5, 3:4, 2:3) to ProductsFeed block configuration in Admin panel
- Removed manual width/height input fields
- Updated ProductsFeed block in SPA to send aspect ratio parameter instead of dimensions
- Implemented backend logic to calculate image height based on selected aspect ratio and base width (300px)
- Updated default configuration for products_feed block
- Added descriptive help text for each aspect ratio option in the dropdown
2025-12-06 15:52:30 +03:00
38668fb4a7 feat: image processing improve 2025-12-06 12:59:55 +03:00
44d2af3b30 fix: settings numeric error 2025-12-04 14:46:30 +03:00
ad54b14c68 fix: admin mainpage builder drawer doesnot show 2025-12-04 14:08:55 +03:00
8f6af04e73 fix(admin): fix error when chat_id is string 2025-12-04 11:23:00 +03:00
b60c77e453 feat: Add TeleCart Pulse heartbeat telemetry 2025-12-03 23:11:58 +03:00
772efce242 Fix frontend tests and linting errors 2025-12-03 01:34:12 +03:00
50bdb8601c feat: visualize swipe back 2025-12-03 01:30:21 +03:00
0ab09aad10 fix: switch between code and visual for custom forms 2025-12-02 20:03:43 +03:00
dd12cb8c34 feat: separated coupon and voucher errors 2025-12-02 18:26:59 +03:00
fdcfce0a79 feat: add reactivity to formkit 2025-12-02 18:22:27 +03:00
17972993ca feat: добавлен жест swipe back для навигации назад
- Добавлен композабл useSwipeBack для обработки жеста свайпа от левого края
- Жест активируется при движении от левого края экрана (в пределах 20px)
- Навигация назад выполняется при достижении порога 40px
- Добавлена тактильная обратная связь при достижении порога
- Работает только не на главной странице, как и кнопка назад
- Игнорирует интерактивные элементы (input, button, swiper и т.д.)
2025-12-01 22:55:29 +03:00
db8d1360fc feat(search): add keyboard hide button and auto-hide Dock
- Add floating keyboard hide button that appears on search input focus
- Create KeyboardStore to manage keyboard state globally
- Auto-hide Dock component when keyboard is open on search page
- Position keyboard hide button at bottom when Dock is hidden
- Update keyboard state on focus, blur, and hide actions
2025-12-01 22:37:30 +03:00