Files
interview-demo-code/frontend/spa/package.json
Nikita Kiselev 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

47 lines
1.1 KiB
JSON

{
"name": "tg-mini-app-shop",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite --host",
"build": "vite build",
"preview": "vite preview",
"test": "vitest",
"test:ui": "vitest --ui",
"test:coverage": "vitest --coverage",
"test:run": "vitest run"
},
"dependencies": {
"@formkit/core": "^1.6.9",
"@formkit/icons": "^1.6.9",
"@formkit/vue": "^1.6.9",
"@heroicons/vue": "^2.2.0",
"@tailwindcss/vite": "^4.1.16",
"@vueuse/core": "^13.9.0",
"crypto-js": "^4.2.0",
"js-md5": "^0.8.3",
"ofetch": "^1.4.1",
"pinia": "^3.0.3",
"swiper": "^12.1.2",
"vue": "^3.5.22",
"vue-router": "^4.6.3"
},
"devDependencies": {
"@tailwindcss/typography": "^0.5.19",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/vue": "^8.1.0",
"@vitejs/plugin-vue": "^6.0.1",
"@vitest/ui": "^4.0.8",
"@vue/test-utils": "^2.4.6",
"autoprefixer": "^10.4.21",
"daisyui": "^5.3.10",
"jsdom": "^27.1.0",
"postcss": "^8.5.15",
"tailwindcss": "^4.1.16",
"terser": "^5.44.0",
"vite": "^7.3.3",
"vitest": "^4.0.8"
}
}