Commit Graph

335 Commits

Author SHA1 Message Date
0d4ffa7411 chore(release): 2.3.0 2026-05-25 10:29:40 +03:00
c24e30f14c fix(spa): visual fixes for SPA (#106)
* fix(spa): prevent more-link button from wrapping in block header

Long block titles squeezed the "Смотреть всё" link in BaseBlock,
causing its text to wrap onto two lines. Allow the title column to
shrink and keep the link in a single line.

* fix(spa): enable typography styles for product description

Add @tailwindcss/typography plugin so the `prose` classes used in the
product description actually apply: paragraph spacing, headings, hr,
links and tables. Also make wide tables inside `.prose` horizontally
scrollable instead of overflowing the viewport.

* fix(spa): open description links via Telegram WebApp API

Links inside the v-html product description used to navigate the
Mini App's WebView away from the app on Telegram mobile. Intercept
clicks on anchors in the description and route them through
Telegram.WebApp.openTelegramLink for t.me/tg:// targets and
Telegram.WebApp.openLink for everything else, falling back to
window.open when running outside Telegram.

* fix(spa): refine categories list layout

Tighten category item typography (text-base, leading-snug) and slightly
enlarge the icon for a better balance with long titles. Drop the
duplicate "Назад к ..." link and replace the parent-category CTA with
a daisyUI soft block button "Показать все товары категории" so the
primary action is visually distinct from the list.
2026-05-25 10:13:42 +03:00
d43564481d fix(spa): handle empty category and products in carousel block
Render the products carousel block gracefully when category_id is
missing or when the selected category has no products, instead of
throwing Vue Router's "Missing required param 'category_id'" error.
2026-05-25 09:27:08 +03:00
dependabot[bot]
41b17925df build(deps): bump the npm_and_yarn group across 2 directories with 6 updates
Bumps the npm_and_yarn group with 4 updates in the /frontend/admin directory: [axios](https://github.com/axios/axios), [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite), [follow-redirects](https://github.com/follow-redirects/follow-redirects) and [postcss](https://github.com/postcss/postcss).
Bumps the npm_and_yarn group with 4 updates in the /frontend/spa directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite), [postcss](https://github.com/postcss/postcss), [js-cookie](https://github.com/js-cookie/js-cookie) and [ws](https://github.com/websockets/ws).


Updates `axios` from 1.13.6 to 1.15.2
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.6...v1.15.2)

Updates `vite` from 7.3.1 to 7.3.3
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.3/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.3/packages/vite)

Updates `follow-redirects` from 1.15.11 to 1.16.0
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

Updates `postcss` from 8.5.8 to 8.5.15
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.8...8.5.15)

Updates `vite` from 7.3.1 to 7.3.3
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.3/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.3/packages/vite)

Updates `postcss` from 8.5.8 to 8.5.15
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.8...8.5.15)

Updates `js-cookie` from 3.0.5 to 3.0.7
- [Release notes](https://github.com/js-cookie/js-cookie/releases)
- [Commits](https://github.com/js-cookie/js-cookie/compare/v3.0.5...v3.0.7)

Updates `ws` from 8.19.0 to 8.21.0
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.19.0...8.21.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.15.2
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: vite
  dependency-version: 7.3.3
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: postcss
  dependency-version: 8.5.15
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: vite
  dependency-version: 7.3.3
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: postcss
  dependency-version: 8.5.15
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: js-cookie
  dependency-version: 3.0.7
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: ws
  dependency-version: 8.21.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-25 08:01:29 +03:00
dependabot[bot]
caf862cfed build(deps): bump the npm_and_yarn group across 2 directories with 1 update
Bumps the npm_and_yarn group with 1 update in the /frontend/admin directory: [brace-expansion](https://github.com/juliangruber/brace-expansion).
Bumps the npm_and_yarn group with 1 update in the /frontend/spa directory: [brace-expansion](https://github.com/juliangruber/brace-expansion).


Updates `brace-expansion` from 1.1.12 to 1.1.13
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.12...v1.1.13)

Updates `brace-expansion` from 2.0.2 to 2.0.3
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.12...v1.1.13)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.13
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: brace-expansion
  dependency-version: 2.0.3
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-25 07:57:50 +03:00
dependabot[bot]
eed36fe00e build(deps): bump the npm_and_yarn group across 2 directories with 2 updates
Bumps the npm_and_yarn group with 2 updates in the /frontend/admin directory: [flatted](https://github.com/WebReflection/flatted) and [picomatch](https://github.com/micromatch/picomatch).
Bumps the npm_and_yarn group with 1 update in the /frontend/spa directory: [picomatch](https://github.com/micromatch/picomatch).


Updates `flatted` from 3.4.1 to 3.4.2
- [Commits](https://github.com/WebReflection/flatted/compare/v3.4.1...v3.4.2)

Updates `picomatch` from 4.0.3 to 4.0.4
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4)

Updates `picomatch` from 4.0.3 to 4.0.4
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-28 01:57:04 +03:00
28c8ce3b68 feat(ocmod): add TeleCart admin sidebar menu and local dev setup (#57)
- Add telecart.ocmod.xml: inject TeleCart menu item (with Settings child) after Marketing
- Add scripts/apply_ocmod.sh to symlink ocmod file in Docker container
- Add make ocmod target
- In CI: set version in telecart.ocmod.xml from version_meta; use docs.telecart.pro link

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-03-15 21:58:11 +03:00
80c2467b4a feat(admin): telegram settings improvements (#63) 2026-03-15 21:28:36 +03:00
a3f54a87dc feat(spa): Increase max page limit to product lists (#88) 2026-03-15 21:25:47 +03:00
554822720b build: ci/cd ignore issues branches (#92) 2026-03-15 21:24:48 +03:00
67f2fe6af6 chore(release): 2.2.2 2026-03-15 14:56:03 +03:00
0b786c832f build: update telegram api and composer deps (#82)
* build: update composer dependencies (#82)
* feat(spa): upgrade telegram web app version (#82)
2026-03-15 14:42:39 +03:00
f894d33c46 fix: normalize order response to valid UTF-8 before JSON encoding (#83)
* fix: normalize cart json utf8 and add tests

Ensure cart and checkout responses are cleaned to valid UTF-8 before JSON encoding and cover Utf8Cleaner with unit tests.

Made-with: Cursor

* fix: normalize order response to valid UTF-8 before JSON encoding

- Add Utf8Cleaner::clean() for successful order creation response (data)
- Add Utf8Cleaner::clean() for validation error response (ErrorBag)
- Prevents Malformed UTF-8 characters error when creating order with
  non-UTF-8 data from OpenCart/DB (same approach as cart endpoints)

Made-with: Cursor
2026-03-14 15:36:09 +03:00
3e6fed813d build: update npm dependencies (#77) 2026-03-14 00:27:27 +03:00
dependabot[bot]
16c60e0e12 build(deps): bump the npm_and_yarn group across 2 directories with 2 updates
Bumps the npm_and_yarn group with 2 updates in the /frontend/admin directory: [minimatch](https://github.com/isaacs/minimatch) and [rollup](https://github.com/rollup/rollup).
Bumps the npm_and_yarn group with 1 update in the /frontend/spa directory: [rollup](https://github.com/rollup/rollup).


Updates `minimatch` from 3.1.3 to 3.1.5
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.3...v3.1.5)

Updates `rollup` from 4.53.2 to 4.59.0
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.53.2...v4.59.0)

Updates `rollup` from 4.53.2 to 4.59.0
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.53.2...v4.59.0)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 3.1.5
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: rollup
  dependency-version: 4.59.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: rollup
  dependency-version: 4.59.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-14 00:22:59 +03:00
172c56de7d chore(release): 2.2.1 2026-02-22 13:42:32 +03:00
e6f570e1c3 build(deps): bump composer updates 2026-02-22 13:38:20 +03:00
dependabot[bot]
b5a46c9123 build(deps-dev): bump the npm_and_yarn group across 1 directory with 2 updates
Bumps the npm_and_yarn group with 2 updates in the /frontend/admin directory: [ajv](https://github.com/ajv-validator/ajv) and [minimatch](https://github.com/isaacs/minimatch).


Updates `ajv` from 6.12.6 to 6.14.0
- [Release notes](https://github.com/ajv-validator/ajv/releases)
- [Commits](https://github.com/ajv-validator/ajv/compare/v6.12.6...v6.14.0)

Updates `minimatch` from 3.1.2 to 3.1.3
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.3)

---
updated-dependencies:
- dependency-name: ajv
  dependency-version: 6.14.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: minimatch
  dependency-version: 3.1.3
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-22 13:34:35 +03:00
dependabot[bot]
66790768d9 build(deps): bump the npm_and_yarn group across 2 directories with 2 updates
Bumps the npm_and_yarn group with 1 update in the /frontend/admin directory: [axios](https://github.com/axios/axios).
Bumps the npm_and_yarn group with 1 update in the /frontend/spa directory: [swiper](https://github.com/nolimits4web/Swiper).


Updates `axios` from 1.13.2 to 1.13.5
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.2...v1.13.5)

Updates `swiper` from 12.0.3 to 12.1.2
- [Release notes](https://github.com/nolimits4web/Swiper/releases)
- [Changelog](https://github.com/nolimits4web/swiper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nolimits4web/Swiper/compare/v12.0.3...v12.1.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.13.5
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: swiper
  dependency-version: 12.1.2
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-22 13:34:35 +03:00
dependabot[bot]
37fe0cabda build(deps): bump swiper
Bumps the npm_and_yarn group with 1 update in the /frontend/spa directory: [swiper](https://github.com/nolimits4web/Swiper).


Updates `swiper` from 12.0.3 to 12.1.2
- [Release notes](https://github.com/nolimits4web/Swiper/releases)
- [Changelog](https://github.com/nolimits4web/swiper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nolimits4web/Swiper/compare/v12.0.3...v12.1.2)

---
updated-dependencies:
- dependency-name: swiper
  dependency-version: 12.1.2
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-22 13:34:35 +03:00
dependabot[bot]
06c1bf2abb build(deps-dev): bump phpunit/phpunit
Bumps the composer group with 1 update in the /module/oc_telegram_shop/upload/oc_telegram_shop directory: [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit).


Updates `phpunit/phpunit` from 9.6.31 to 9.6.33
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.33/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.31...9.6.33)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-version: 9.6.33
  dependency-type: direct:development
  dependency-group: composer
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-22 13:06:19 +03:00
cf3a2ddc14 chore(release): 2.2.0 2026-01-09 22:32:59 +03:00
3d0a7536a6 feat: add cache:clear CLI command for module cache clearing (#46) 2026-01-05 20:58:12 +03:00
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
966ed4baab build: make release for master and PR (#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
ce2ea9dea1 feat: increase dock icons size and add click animation
- Increase icon sizes from 1.2em to 1.5em for home, search, and cart icons
- Increase catalog icon from size-6 to size-7
- Increase profile avatar and icon from w-6 h-6 to w-7 h-7
- Add dock-icon class to all icons for consistent styling
- Implement bounce animation on icon click with scale effect (1.15x)
- Animation duration set to 200ms for subtle feedback
- Update onDockItemClick handler to trigger animation on click
2025-12-25 22:02:17 +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
551c4a3506 feat: add BETA label and UI improvements for TeleCart Pulse tab
- Add BETA badge to TeleCart Pulse tab in navigation
- Implement pulsing heartbeat animation for pulse icon
- Add dynamic color change for icon (light red when inactive, bright red when active)
- Add dynamic color change for BETA label (light orange when inactive, bright orange when active)
- Add informational block about TeleCart Pulse in TeleCartPulseView component
- Update App.vue with pulse icon animation and styling
- Update TeleCartPulseView.vue with info block and styling
2025-12-25 19:06:50 +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
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
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
7b0e5f80e9 chore: release 2.0 2025-12-23 22:34:08 +03:00
2ec683f016 feat: hide greeting image from frontend 2025-12-23 21:49:56 +03:00
57c8400904 fix: correct cli.php path for phar 2025-12-23 21:23:01 +03:00