integration new apis
This commit is contained in:
@@ -154,7 +154,8 @@
|
||||
},
|
||||
"serve": {
|
||||
"options": {
|
||||
"allowedHosts": ["novo.market", "dexarmarket.ru", "localhost"]
|
||||
"allowedHosts": ["novo.market", "dexarmarket.ru", "localhost"],
|
||||
"proxyConfig": "proxy.conf.json"
|
||||
},
|
||||
"builder": "@angular/build:dev-server",
|
||||
"configurations": {
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<div class="item-card">
|
||||
<a [routerLink]="['/item', product.itemID] | langRoute" class="item-link">
|
||||
<div class="item-image">
|
||||
<img [src]="getItemImage(product)" [alt]="product.name" loading="lazy" />
|
||||
<img [src]="getItemImage(product)" [alt]="itemName(product)" loading="lazy" />
|
||||
@if (product.discount > 0) {
|
||||
<span class="discount-badge">-{{ product.discount }}%</span>
|
||||
}
|
||||
@@ -32,7 +32,7 @@
|
||||
</div>
|
||||
|
||||
<div class="item-details">
|
||||
<h3 class="item-name">{{ product.name }}</h3>
|
||||
<h3 class="item-name">{{ itemName(product) }}</h3>
|
||||
|
||||
@if (product.rating) {
|
||||
<div class="item-rating">
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Component, OnInit, signal, ChangeDetectionStrategy } from '@angular/core';
|
||||
import { Component, OnInit, signal, ChangeDetectionStrategy, inject } from '@angular/core';
|
||||
import { DecimalPipe } from '@angular/common';
|
||||
import { RouterLink } from '@angular/router';
|
||||
import { CarouselModule } from 'primeng/carousel';
|
||||
@@ -7,7 +7,8 @@ import { TagModule } from 'primeng/tag';
|
||||
import { ApiService, CartService } from '../../services';
|
||||
import { Item } from '../../models';
|
||||
import { environment } from '../../../environments/environment';
|
||||
import { getDiscountedPrice, getMainImage, getBadgeClass } from '../../utils/item.utils';
|
||||
import { getDiscountedPrice, getMainImage, getBadgeClass, getTranslatedField } from '../../utils/item.utils';
|
||||
import { LanguageService } from '../../services/language.service';
|
||||
import { LangRoutePipe } from '../../pipes/lang-route.pipe';
|
||||
import { TranslatePipe } from '../../i18n/translate.pipe';
|
||||
|
||||
@@ -100,6 +101,9 @@ export class ItemsCarouselComponent implements OnInit {
|
||||
readonly getDiscountedPrice = getDiscountedPrice;
|
||||
readonly getBadgeClass = getBadgeClass;
|
||||
|
||||
private langService = inject(LanguageService);
|
||||
itemName(product: Item): string { return getTranslatedField(product, 'name', this.langService.currentLanguage()); }
|
||||
|
||||
addToCart(event: Event, item: Item): void {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
@@ -22,4 +22,25 @@
|
||||
</button>
|
||||
}
|
||||
</div>
|
||||
|
||||
<button class="currency-button" (click)="toggleCurrency()">
|
||||
<span class="currency-symbol">{{ languageService.getCurrentCurrency()?.symbol }}</span>
|
||||
<span class="currency-code">{{ languageService.currentCurrency() }}</span>
|
||||
<svg class="dropdown-arrow" [class.rotated]="currencyOpen" width="12" height="12" viewBox="0 0 12 12" fill="none">
|
||||
<path d="M2.5 4.5L6 8L9.5 4.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<div class="currency-dropdown" [class.open]="currencyOpen">
|
||||
@for (cur of languageService.currencies; track cur.code) {
|
||||
<button
|
||||
class="currency-option"
|
||||
[class.active]="languageService.currentCurrency() === cur.code"
|
||||
(click)="selectCurrency(cur)">
|
||||
<span class="cur-symbol">{{ cur.symbol }}</span>
|
||||
<span class="cur-name">{{ cur.name }}</span>
|
||||
<span class="cur-code">{{ cur.code }}</span>
|
||||
</button>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -301,3 +301,162 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ── Currency selector ──
|
||||
.language-selector {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.currency-button {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
padding: 8px 10px;
|
||||
background: transparent;
|
||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||
border-radius: 8px;
|
||||
color: #ffffff;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s ease;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
|
||||
&:hover {
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
border-color: rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
|
||||
.currency-symbol {
|
||||
font-size: 15px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.currency-code {
|
||||
font-size: 13px;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
.dropdown-arrow {
|
||||
transition: transform 0.3s ease;
|
||||
opacity: 0.7;
|
||||
&.rotated { transform: rotate(180deg); }
|
||||
}
|
||||
}
|
||||
|
||||
.currency-dropdown {
|
||||
position: absolute;
|
||||
top: calc(100% + 8px);
|
||||
right: 0;
|
||||
min-width: 170px;
|
||||
background: var(--card-bg, #1a1a1a);
|
||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
transform: translateY(-10px);
|
||||
transition: all 0.3s ease;
|
||||
z-index: 1000;
|
||||
overflow: hidden;
|
||||
|
||||
&.open {
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
.currency-option {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
width: 100%;
|
||||
padding: 11px 16px;
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: #ffffff;
|
||||
cursor: pointer;
|
||||
transition: background 0.2s ease;
|
||||
font-size: 14px;
|
||||
|
||||
&:hover {
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
&.active {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.cur-symbol {
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
width: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.cur-name {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.cur-code {
|
||||
font-size: 12px;
|
||||
opacity: 0.6;
|
||||
}
|
||||
}
|
||||
|
||||
// Light / Novo / Dexar theme adjustments for currency
|
||||
:host-context(.novo-header),
|
||||
:host-context(.header) {
|
||||
.currency-button {
|
||||
border-color: rgba(0, 0, 0, 0.2);
|
||||
color: #333333;
|
||||
&:hover {
|
||||
background: rgba(0, 0, 0, 0.05);
|
||||
border-color: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
:host-context(.light-theme) {
|
||||
.currency-dropdown {
|
||||
background: #ffffff;
|
||||
border-color: rgba(0, 0, 0, 0.1);
|
||||
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
.currency-option {
|
||||
color: #333333;
|
||||
&:hover { background: rgba(0, 0, 0, 0.05); }
|
||||
&.active { background: rgba(0, 0, 0, 0.1); }
|
||||
}
|
||||
}
|
||||
|
||||
:host-context(.dexar-header),
|
||||
:host-context(.dexar-mobile-menu) {
|
||||
.currency-button {
|
||||
padding: 4px 8px;
|
||||
gap: 3px;
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
border: 1px solid #677b78;
|
||||
border-radius: 8px;
|
||||
color: #1e3c38;
|
||||
&:hover {
|
||||
background: rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
.currency-symbol { font-size: 14px; color: #1e3c38; }
|
||||
.currency-code { font-size: 13px; color: #1e3c38; }
|
||||
.dropdown-arrow path { stroke: #1e3c38; }
|
||||
}
|
||||
.currency-dropdown {
|
||||
background: #ffffff;
|
||||
border-color: #d3dad9;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
.currency-option {
|
||||
color: #1e3c38;
|
||||
&:hover { background: rgba(161, 180, 181, 0.2); }
|
||||
&.active { background: rgba(73, 118, 113, 0.1); }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Component, HostListener, ElementRef, ChangeDetectionStrategy } from '@angular/core';
|
||||
import { LanguageService, Language } from '../../services/language.service';
|
||||
import { LanguageService, Language, Currency } from '../../services/language.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-language-selector',
|
||||
@@ -10,6 +10,7 @@ import { LanguageService, Language } from '../../services/language.service';
|
||||
})
|
||||
export class LanguageSelectorComponent {
|
||||
dropdownOpen = false;
|
||||
currencyOpen = false;
|
||||
|
||||
constructor(
|
||||
public languageService: LanguageService,
|
||||
@@ -18,6 +19,12 @@ export class LanguageSelectorComponent {
|
||||
|
||||
toggleDropdown(): void {
|
||||
this.dropdownOpen = !this.dropdownOpen;
|
||||
this.currencyOpen = false;
|
||||
}
|
||||
|
||||
toggleCurrency(): void {
|
||||
this.currencyOpen = !this.currencyOpen;
|
||||
this.dropdownOpen = false;
|
||||
}
|
||||
|
||||
selectLanguage(lang: Language): void {
|
||||
@@ -27,14 +34,21 @@ export class LanguageSelectorComponent {
|
||||
}
|
||||
}
|
||||
|
||||
selectCurrency(currency: Currency): void {
|
||||
this.languageService.setCurrency(currency.code);
|
||||
this.currencyOpen = false;
|
||||
}
|
||||
|
||||
closeDropdown(): void {
|
||||
this.dropdownOpen = false;
|
||||
this.currencyOpen = false;
|
||||
}
|
||||
|
||||
@HostListener('document:click', ['$event'])
|
||||
onClickOutside(event: Event): void {
|
||||
if (!this.elementRef.nativeElement.contains(event.target)) {
|
||||
this.dropdownOpen = false;
|
||||
this.currencyOpen = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,6 +102,10 @@ export const en: Translations = {
|
||||
emailNeedsAt: 'Email must contain @',
|
||||
emailNeedsDomain: 'Email must contain a domain (.com, .ru, etc.)',
|
||||
emailInvalid: 'Invalid email format',
|
||||
loginRequired: 'Log in to checkout',
|
||||
loginRequiredDesc: 'Please log in via Telegram to place your order',
|
||||
loginWithTelegram: 'Log in with Telegram',
|
||||
orScanQr: 'Or scan the QR code',
|
||||
},
|
||||
search: {
|
||||
title: 'Product search',
|
||||
@@ -134,6 +138,7 @@ export const en: Translations = {
|
||||
emptyTitle: 'Oops! No subcategories yet',
|
||||
emptyDesc: 'There are no subcategories in this section yet, but they will appear soon',
|
||||
goHome: 'Go home',
|
||||
itemsInCategory: 'Items in this category',
|
||||
},
|
||||
itemDetail: {
|
||||
loading: 'Loading...',
|
||||
@@ -170,6 +175,8 @@ export const en: Translations = {
|
||||
yesterday: 'Yesterday',
|
||||
daysAgo: 'd. ago',
|
||||
weeksAgo: 'w. ago',
|
||||
colour: 'Colour',
|
||||
size: 'Size',
|
||||
},
|
||||
app: {
|
||||
connecting: 'Connecting to server...',
|
||||
|
||||
@@ -2,202 +2,208 @@ import { Translations } from './translations';
|
||||
|
||||
export const hy: Translations = {
|
||||
header: {
|
||||
home: '╘│╒м╒н╒б╒╛╒╕╓А',
|
||||
search: '╒И╓А╒╕╒╢╒╕╓В╒┤',
|
||||
about: '╒Д╒е╓А ╒┤╒б╒╜╒л╒╢',
|
||||
contacts: '╘┐╒б╒║',
|
||||
searchPlaceholder: '╒И╓А╒╕╒╢╒е╒м...',
|
||||
catalog: '╘┐╒б╒┐╒б╒м╒╕╒г',
|
||||
home: 'Գլխավոր',
|
||||
search: 'Որոնում',
|
||||
about: 'Մեր մասին',
|
||||
contacts: 'Կապ',
|
||||
searchPlaceholder: 'Փնտրել...',
|
||||
catalog: 'Կատալոգ',
|
||||
},
|
||||
footer: {
|
||||
description: '╘║╒б╒┤╒б╒╢╒б╒п╒б╒п╒л╓Б ╒┤╒б╓А╓Д╒е╒й╓Г╒м╒е╒╡╒╜ ╒░╒б╓А╒┤╒б╓А ╒г╒╢╒╕╓В╒┤╒╢╒е╓А╒л ╒░╒б╒┤╒б╓А',
|
||||
company: '╘╕╒╢╒п╒е╓А╒╕╓В╒й╒╡╒╕╓В╒╢',
|
||||
aboutUs: '╒Д╒е╓А ╒┤╒б╒╜╒л╒╢',
|
||||
contacts: '╘┐╒б╒║',
|
||||
requisites: '╒О╒б╒╛╒е╓А╒б╒║╒б╒╡╒┤╒б╒╢╒╢╒е╓А',
|
||||
support: '╘▒╒╗╒б╒п╓Б╒╕╓В╒й╒╡╒╕╓В╒╢',
|
||||
faq: '╒А╒П╒А',
|
||||
delivery: '╘▒╒╝╒б╓Д╒╕╓В╒┤',
|
||||
guarantee: '╘╡╓А╒б╒╖╒н╒л╓Д',
|
||||
legal: '╘╗╓А╒б╒╛╒б╒п╒б╒╢ ╒┐╒е╒▓╒е╒п╒б╒┐╒╛╒╕╓В╒й╒╡╒╕╓В╒╢',
|
||||
offer: '╒Х╓Ж╒е╓А╒┐╒б',
|
||||
privacy: '╘│╒б╒▓╒┐╒╢╒л╒╕╓В╒й╒╡╒╕╓В╒╢',
|
||||
returns: '╒О╒е╓А╒б╒д╒б╓А╒▒',
|
||||
info: '╒П╒е╒▓╒е╒п╒б╒┐╒╛╒╕╓В╒й╒╡╒╕╓В╒╢',
|
||||
aboutCompany: '╘╕╒╢╒п╒е╓А╒╕╓В╒й╒╡╒б╒╢ ╒┤╒б╒╜╒л╒╢',
|
||||
documents: '╒У╒б╒╜╒┐╒б╒й╒▓╒й╒е╓А',
|
||||
paymentRules: '╒О╒│╒б╓А╒┤╒б╒╢ ╒п╒б╒╢╒╕╒╢╒╢╒е╓А',
|
||||
returnPolicy: '╒О╒е╓А╒б╒д╒б╓А╒▒╒л ╓Д╒б╒▓╒б╓Д╒б╒п╒б╒╢╒╕╓В╒й╒╡╒╕╓В╒╢',
|
||||
publicOffer: '╒А╒б╒╢╓А╒б╒╡╒л╒╢ ╓Е╓Ж╒е╓А╒┐╒б',
|
||||
help: '╒Х╒г╒╢╒╕╓В╒й╒╡╒╕╓В╒╢',
|
||||
payment: '╒О╒│╒б╓А╒╕╓В╒┤',
|
||||
allRightsReserved: '╘▓╒╕╒м╒╕╓А ╒л╓А╒б╒╛╒╕╓В╒╢╓Д╒╢╒е╓А╒и ╒║╒б╒╖╒┐╒║╒б╒╢╒╛╒б╒о ╒е╒╢╓Й',
|
||||
description: 'Ժամանակակից մարքեթփլեյս հարմար գնումների համար',
|
||||
company: 'Ընկերություն',
|
||||
aboutUs: 'Մեր մասին',
|
||||
contacts: 'Կապ',
|
||||
requisites: 'Վճարային տվյալներ',
|
||||
support: 'Աջակցություն',
|
||||
faq: 'ՀՏՀ',
|
||||
delivery: 'Առաքում',
|
||||
guarantee: 'Երաշխիք',
|
||||
legal: 'Իրավական տեղեկատվություն',
|
||||
offer: 'Օֆերտա',
|
||||
privacy: 'Գաղտնիություն',
|
||||
returns: 'Վերադարձ',
|
||||
info: 'Տեղեկատվություն',
|
||||
aboutCompany: 'Ընկերության մասին',
|
||||
documents: 'Փաստաթղթեր',
|
||||
paymentRules: 'Վճարման կանոններ',
|
||||
returnPolicy: 'Վերադարձի քաղաքականություն',
|
||||
publicOffer: 'Հանրային օֆերտա',
|
||||
help: 'Օգնություն',
|
||||
payment: 'Վճարում',
|
||||
allRightsReserved: 'Բոլոր իրավունքները պաշտպանված են։',
|
||||
},
|
||||
home: {
|
||||
welcomeTo: '╘▓╒б╓А╒л ╒г╒б╒м╒╕╓В╒╜╒┐ {{brand}}',
|
||||
subtitle: '╘│╒┐╒е╓Д ╒б╒┤╒е╒╢ ╒л╒╢╒╣ ╒┤╒е╒п ╒╛╒б╒╡╓А╒╕╓В╒┤',
|
||||
startSearch: '╒Н╒п╒╜╒е╒м ╒╕╓А╒╕╒╢╒╕╓В╒┤╒и',
|
||||
loading: '╘┐╒б╒┐╒е╒г╒╕╓А╒л╒б╒╢╒е╓А╒и ╒в╒е╒╝╒╢╒╛╒╕╓В╒┤ ╒е╒╢...',
|
||||
errorTitle: '╘╗╒╢╒╣-╒╕╓А ╒в╒б╒╢ ╒╜╒н╒б╒м ╒з ╒г╒╢╒б╓Б╒е╒м',
|
||||
retry: '╒У╒╕╓А╒▒╒е╒м ╒п╓А╒п╒л╒╢',
|
||||
categoriesTitle: '╘▒╒║╓А╒б╒╢╓Д╒╢╒е╓А╒л ╒п╒б╒┐╒е╒г╒╕╓А╒л╒б╒╢╒е╓А',
|
||||
categoriesSubtitle: '╘╕╒╢╒┐╓А╒е╓Д ╒░╒е╒┐╒б╓Д╓А╓Д╓А╒╕╒▓ ╒п╒б╒┐╒е╒г╒╕╓А╒л╒б╒╢',
|
||||
categoriesEmpty: '╘┐╒б╒┐╒е╒г╒╕╓А╒л╒б╒╢╒е╓А╒и ╒╖╒╕╓В╒┐╒╕╒╛ ╒п╒░╒б╒╡╒┐╒╢╒╛╒е╒╢',
|
||||
categoriesEmptyDesc: '╒Д╒е╒╢╓Д ╒б╒╖╒н╒б╒┐╒╕╓В╒┤ ╒е╒╢╓Д ╒п╒б╒┐╒б╒м╒╕╒г╒л ╒░╒б╒┤╒б╒м╓А╒┤╒б╒╢ ╒╛╓А╒б',
|
||||
dexarHeroTitle: '╘▒╒╡╒╜╒┐╒е╒▓ ╒д╒╕╓В ╒п╒г╒┐╒╢╒е╒╜ ╒б╒┤╒е╒╢ ╒л╒╢╒╣',
|
||||
dexarHeroSubtitle: '╒А╒б╒ж╒б╓А╒б╒╛╒╕╓А ╒б╒║╓А╒б╒╢╓Д╒╢╒е╓А ╒┤╒е╒п ╒╛╒б╒╡╓А╒╕╓В╒┤',
|
||||
dexarHeroTagline: '╒║╒б╓А╒ж ╓З ╒░╒б╓А╒┤╒б╓А',
|
||||
goToCatalog: '╘▒╒╢╓Б╒╢╒е╒м ╒п╒б╒┐╒б╒м╒╕╒г',
|
||||
findProduct: '╘│╒┐╒╢╒е╒м ╒б╒║╓А╒б╒╢╓Д',
|
||||
loadingDexar: '╘┐╒б╒┐╒е╒г╒╕╓А╒л╒б╒╢╒е╓А╒и ╒в╒е╒╝╒╢╒╛╒╕╓В╒┤ ╒е╒╢...',
|
||||
catalogTitle: '╘▒╒║╓А╒б╒╢╓Д╒╢╒е╓А╒л ╒п╒б╒┐╒б╒м╒╕╒г',
|
||||
emptyCategoriesDexar: '╘┐╒б╒┐╒е╒г╒╕╓А╒л╒б╒╢╒е╓А╒и ╒д╒е╒╝ ╒╣╒п╒б╒╢',
|
||||
categoriesSoonDexar: '╒З╒╕╓В╒┐╒╕╒╛ ╒б╒╡╒╜╒┐╒е╒▓ ╒п╒░╒б╒╡╒┐╒╢╒╛╒е╒╢ ╒б╒║╓А╒б╒╢╓Д╒╢╒е╓А╒л ╒п╒б╒┐╒е╒г╒╕╓А╒л╒б╒╢╒е╓А',
|
||||
itemsCount: '{{count}} ╒б╒║╓А╒б╒╢╓Д',
|
||||
welcomeTo: 'Բարի գալուստ {{brand}}',
|
||||
subtitle: 'Գտեք այն ամենը, ինչ պետք է՝ մեկ վայրում',
|
||||
startSearch: 'Սկսել որոնումը',
|
||||
loading: 'Բեռնում ենք կատեգորիաները...',
|
||||
errorTitle: 'Ինչ-որ բան սխալ գնաց',
|
||||
retry: 'Փորձել կրկին',
|
||||
categoriesTitle: 'Ապրանքների կատեգորիաներ',
|
||||
categoriesSubtitle: 'Ընտրեք ձեզ հետաքրքիր կատեգորիան',
|
||||
categoriesEmpty: 'Կատեգորիաները շուտով կհայտնվեն',
|
||||
categoriesEmptyDesc: 'Մենք աշխատում ենք կատալոգի լրացման վրա',
|
||||
dexarHeroTitle: 'Այստեղ կգտնես ամեն ինչ',
|
||||
dexarHeroSubtitle: 'Հազարավոր ապրանքներ մեկ վայրում',
|
||||
dexarHeroTagline: 'պարզ և հարմար',
|
||||
goToCatalog: 'Գնալ կատալոգ',
|
||||
findProduct: 'Գտնել ապրանք',
|
||||
loadingDexar: 'Կատեգորիաների բեռնում...',
|
||||
catalogTitle: 'Ապրանքների կատալոգ',
|
||||
emptyCategoriesDexar: 'Կատեգորիաները դեռ չկան',
|
||||
categoriesSoonDexar: 'Շուտով այստեղ կհայտնվեն կատեգորիաներ',
|
||||
itemsCount: '{{count}} ապրանք',
|
||||
},
|
||||
cart: {
|
||||
title: '╘╢╒б╒┤╒в╒╡╒╕╓В╒▓',
|
||||
clear: '╒Д╒б╓Д╓А╒е╒м',
|
||||
empty: '╘╢╒б╒┤╒в╒╡╒╕╓В╒▓╒и ╒д╒б╒┐╒б╓А╒п ╒з',
|
||||
emptyDesc: '╘▒╒╛╒е╒м╒б╓Б╓А╒е╓Д ╒б╒║╓А╒б╒╢╓Д╒╢╒е╓А ╒г╒╢╒╕╓В╒┤╒╢╒е╓А╒и ╒╜╒п╒╜╒е╒м╒╕╓В ╒░╒б╒┤╒б╓А',
|
||||
goShopping: '╘▒╒╢╓Б╒╢╒е╒м ╒г╒╢╒╕╓В╒┤╒╢╒е╓А╒л',
|
||||
total: '╘╕╒╢╒д╒б╒┤╒е╒╢╒и',
|
||||
items: '╘▒╒║╓А╒б╒╢╓Д╒╢╒е╓А',
|
||||
deliveryLabel: '╘▒╒╝╒б╓Д╒╕╓В╒┤',
|
||||
toPay: '╒О╒│╒б╓А╒┤╒б╒╢ ╒е╒╢╒й╒б╒п╒б',
|
||||
agreeWith: '╘╡╒╜ ╒░╒б╒┤╒б╒▒╒б╒╡╒╢ ╒е╒┤',
|
||||
publicOffer: '╒░╒б╒╢╓А╒б╒╡╒л╒╢ ╓Е╓Ж╒е╓А╒┐╒б╒╡╒л╒╢',
|
||||
returnPolicy: '╒╛╒е╓А╒б╒д╒б╓А╒▒╒л ╓Д╒б╒▓╒б╓Д╒б╒п╒б╒╢╒╕╓В╒й╒╡╒б╒╢╒и',
|
||||
guaranteeTerms: '╒е╓А╒б╒╖╒н╒л╓Д╒б╒╡╒л╒╢ ╒║╒б╒╡╒┤╒б╒╢╒╢╒е╓А╒л╒╢',
|
||||
privacyPolicy: '╒г╒б╒▓╒┐╒╢╒л╒╕╓В╒й╒╡╒б╒╢ ╓Д╒б╒▓╒б╓Д╒б╒п╒б╒╢╒╕╓В╒й╒╡╒б╒╢╒и',
|
||||
and: '╓З',
|
||||
checkout: '╒Б╓З╒б╒п╒е╓А╒║╒е╒м ╒║╒б╒┐╒╛╒е╓А',
|
||||
close: '╒У╒б╒п╒е╒м',
|
||||
creatingPayment: '╒О╒│╒б╓А╒╕╓В╒┤╒и ╒╜╒┐╒е╒▓╒о╒╛╒╕╓В╒┤ ╒з...',
|
||||
waitFewSeconds: '╒Н╒║╒б╒╜╒е╓Д ╒┤╒л ╓Д╒б╒╢╒л ╒╛╒б╒╡╓А╒п╒╡╒б╒╢',
|
||||
scanQr: '╒Н╒п╒б╒╢╒б╒╛╒╕╓А╒е╓Д QR ╒п╒╕╒д╒и ╒╛╒│╒б╓А╒┤╒б╒╢ ╒░╒б╒┤╒б╓А',
|
||||
amountToPay: '╒О╒│╒б╓А╒┤╒б╒╢ ╒г╒╕╓В╒┤╒б╓А╒и╒Э',
|
||||
waitingPayment: '╒Н╒║╒б╒╜╒╕╓В╒┤ ╒е╒╢╓Д ╒╛╒│╒б╓А╒┤╒б╒╢╒и...',
|
||||
copied: 'тЬУ ╒К╒б╒┐╒│╒е╒╢╒╛╒б╒о ╒з',
|
||||
copyLink: '╒К╒б╒┐╒│╒е╒╢╒е╒м ╒░╒▓╒╕╓В╒┤╒и',
|
||||
openNewTab: '╘▓╒б╓Б╒е╒м ╒╢╒╕╓А ╒╢╒е╓А╒д╒л╓А╒╕╓В╒┤',
|
||||
paymentSuccess: '╒З╒╢╒╕╓А╒░╒б╒╛╒╕╓А╒╕╓В╒┤ ╒е╒╢╓Д╓Й ╒О╒│╒б╓А╒╕╓В╒┤╒и ╒░╒б╒╗╒╕╒▓╒╕╓В╒й╒╡╒б╒┤╒в ╒п╒б╒┐╒б╓А╒╛╒е╒м ╒з╓Й',
|
||||
paymentSuccessDesc: '╒Д╒╕╓В╒┐╓Д╒б╒г╓А╒е╓Д ╒▒╒е╓А ╒п╒╕╒╢╒┐╒б╒п╒┐╒б╒╡╒л╒╢ ╒┐╒╛╒╡╒б╒м╒╢╒е╓А╒и, ╓З ╒┤╒е╒╢╓Д ╒п╒╕╓В╒▓╒б╓А╒п╒е╒╢╓Д ╒г╒╢╒╕╓В╒┤╒и ╒┤╒л ╓Д╒б╒╢╒л ╓А╒╕╒║╒е╒л ╒и╒╢╒й╒б╓Б╓Д╒╕╓В╒┤',
|
||||
sending: '╒И╓В╒▓╒б╓А╒п╒╛╒╕╓В╒┤ ╒з...',
|
||||
send: '╒И╓В╒▓╒б╓А╒п╒е╒м',
|
||||
paymentTimeout: '╒Н╒║╒б╒╜╒┤╒б╒╢ ╒к╒б╒┤╒б╒╢╒б╒п╒и ╒╜╒║╒б╒╝╒╛╒е╒м ╒з',
|
||||
paymentTimeoutDesc: '╒Д╒е╒╢╓Д ╒╣╒е╒╢╓Д ╒╜╒┐╒б╓Б╒е╒м ╒╛╒│╒б╓А╒┤╒б╒╢ ╒░╒б╒╜╒┐╒б╒┐╒╕╓В╒┤ 3 ╓А╒╕╒║╒е╒л ╒и╒╢╒й╒б╓Б╓Д╒╕╓В╒┤╓Й',
|
||||
autoClose: '╒К╒б╒┐╒╕╓В╒░╒б╒╢╒и ╒п╓Г╒б╒п╒╛╒л ╒б╒╛╒┐╒╕╒┤╒б╒┐...',
|
||||
confirmClear: '╒А╒б╒┤╒╕╒ж╒╛╒б╒Ю╒о ╒е╓Д, ╒╕╓А ╓Б╒б╒╢╒п╒б╒╢╒╕╓В╒┤ ╒е╓Д ╒┤╒б╓Д╓А╒е╒м ╒ж╒б╒┤╒в╒╡╒╕╓В╒▓╒и╓Й',
|
||||
acceptTerms: '╘╜╒╢╒д╓А╒╕╓В╒┤ ╒е╒╢╓Д ╒и╒╢╒д╒╕╓В╒╢╒е╒м ╓Е╓Ж╒е╓А╒┐╒б╒╡╒л, ╒╛╒е╓А╒б╒д╒б╓А╒▒╒л ╓З ╒е╓А╒б╒╖╒н╒л╓Д╒л ╒║╒б╒╡╒┤╒б╒╢╒╢╒е╓А╒и ╒║╒б╒┐╒╛╒е╓А╒и ╒░╒б╒╜╒┐╒б╒┐╒е╒м╒╕╓В ╒░╒б╒┤╒б╓А╓Й',
|
||||
copyError: '╒К╒б╒┐╒│╒е╒╢╒┤╒б╒╢ ╒╜╒н╒б╒м╒Э',
|
||||
emailSuccess: 'Email-╒и ╒░╒б╒╗╒╕╒▓╒╕╓В╒й╒╡╒б╒┤╒в ╒╕╓В╒▓╒б╓А╒п╒╛╒е╒м ╒з╓Й ╒Н╒┐╒╕╓В╒г╒е╓Д ╒▒╒е╓А ╓Г╒╕╒╜╒┐╒и╓Й',
|
||||
emailError: 'Email ╒╕╓В╒▓╒б╓А╒п╒е╒м╒╕╓В ╒к╒б╒┤╒б╒╢╒б╒п ╒┐╒е╒▓╒л ╒╕╓В╒╢╒е╓Б╒б╒╛ ╒╜╒н╒б╒м╓Й ╘╜╒╢╒д╓А╒╕╓В╒┤ ╒е╒╢╓Д ╓Г╒╕╓А╒▒╒е╒м ╒п╓А╒п╒л╒╢╓Й',
|
||||
phoneRequired: '╒А╒е╒╝╒б╒н╒╕╒╜╒б╒░╒б╒┤╒б╓А╒и ╒║╒б╓А╒┐╒б╒д╒л╓А ╒з',
|
||||
phoneMoreDigits: '╒Д╒╕╓В╒┐╓Д╒б╒г╓А╒е╓Д ╓З╒╜ {{count}} ╒й╒л╒╛',
|
||||
phoneTooMany: '╒Й╒б╓Г╒б╒ж╒б╒╢╓Б ╒╖╒б╒┐ ╒й╒╛╒е╓А',
|
||||
emailRequired: 'Email-╒и ╒║╒б╓А╒┐╒б╒д╒л╓А ╒з',
|
||||
emailTooShort: 'Email-╒и ╒╣╒б╓Г╒б╒ж╒б╒╢╓Б ╒п╒б╓А╒│ ╒з (╒╢╒╛╒б╒ж╒б╒г╒╕╓В╒╡╒╢╒и 5 ╒╢╒л╒╖)',
|
||||
emailTooLong: 'Email-╒и ╒╣╒б╓Г╒б╒ж╒б╒╢╓Б ╒е╓А╒п╒б╓А ╒з (╒б╒╝╒б╒╛╒е╒м╒б╒г╒╕╓В╒╡╒╢╒и 100 ╒╢╒л╒╖)',
|
||||
emailNeedsAt: 'Email-╒и ╒║╒е╒┐╓Д ╒з ╒║╒б╓А╒╕╓В╒╢╒б╒п╒л @ ╒╢╒╖╒б╒╢╒и',
|
||||
emailNeedsDomain: 'Email-╒и ╒║╒е╒┐╓Д ╒з ╒║╒б╓А╒╕╓В╒╢╒б╒п╒л ╒д╒╕╒┤╒е╒╢ (.com, .ru ╓З ╒б╒╡╒м╒╢)',
|
||||
emailInvalid: 'Email-╒л ╒▒╓З╒б╒╣╒б╓Г╒и ╒╜╒н╒б╒м ╒з',
|
||||
title: 'Զամբյուղ',
|
||||
clear: 'Մաքրել',
|
||||
empty: 'Զամբյուղը դատարկ է',
|
||||
emptyDesc: 'Ավելացրեք ապրանքներ՝ գնումները սկսելու համար',
|
||||
goShopping: 'Գնալ գնումների',
|
||||
total: 'Ընդամենը',
|
||||
items: 'Ապրանքներ',
|
||||
deliveryLabel: 'Առաքում',
|
||||
toPay: 'Վճարման ենթակա',
|
||||
agreeWith: 'Ես համաձայն եմ',
|
||||
publicOffer: 'հանրային օֆերտայի',
|
||||
returnPolicy: 'վերադարձի քաղաքականության',
|
||||
guaranteeTerms: 'երաշխիքային պայմանների',
|
||||
privacyPolicy: 'գաղտնիության քաղաքականության',
|
||||
and: 'և',
|
||||
checkout: 'Ձևակերպել պատվերը',
|
||||
close: 'Փակել',
|
||||
creatingPayment: 'Վճարման ստեղծում...',
|
||||
waitFewSeconds: 'Խնդրում ենք սպասել մի քանի վայրկյան',
|
||||
scanQr: 'Սքանավորեք QR կոդը վճարման համար',
|
||||
amountToPay: 'Վճարման գումար՝',
|
||||
waitingPayment: 'Սպասում ենք վճարմանը...',
|
||||
copied: '✓ Պատճենված է',
|
||||
copyLink: 'Պատճենել հղումը',
|
||||
openNewTab: 'Բացել նոր ներդիրում',
|
||||
paymentSuccess: 'Շնորհավորում ենք! Վճարումը հաջող է անցել!',
|
||||
paymentSuccessDesc: 'Մուտքագրեք ձեր տվյալները, և մենք կուղարկենք գնումը մի քանի րոպեի ընթացքում',
|
||||
sending: 'Ուղարկվում է...',
|
||||
send: 'Ուղարկել',
|
||||
paymentTimeout: 'Ժամանակը սպառվեց',
|
||||
paymentTimeoutDesc: 'Մենք չստացանք վճարման հաստատում 3 րոպեի ընթացքում։',
|
||||
autoClose: 'Պատուհանը կփակվի ավտոմատ...',
|
||||
confirmClear: 'Վստա՞հ եք, որ ցանկանում եք մաքրել զամբյուղը',
|
||||
acceptTerms: 'Խնդրում ենք ընդունել պայմանները՝ պատվերը հաստատելու համար։',
|
||||
copyError: 'Պատճենման սխալ՝',
|
||||
emailSuccess: 'Email-ը հաջողությամբ ուղարկվեց։ Ստուգեք ձեր փոստը։',
|
||||
emailError: 'Սխալ email ուղարկելիս։ Խնդրում ենք փորձել կրկին։',
|
||||
phoneRequired: 'Հեռախոսահամարը պարտադիր է',
|
||||
phoneMoreDigits: 'Մուտքագրեք ևս {{count}} թիվ',
|
||||
phoneTooMany: 'Չափազանց շատ թվեր',
|
||||
emailRequired: 'Email-ը պարտադիր է',
|
||||
emailTooShort: 'Email-ը չափազանց կարճ է (առնվազն 5 նիշ)',
|
||||
emailTooLong: 'Email-ը չափազանց երկար է (առավելագույնը 100 նիշ)',
|
||||
emailNeedsAt: 'Email-ը պետք է պարունակի @',
|
||||
emailNeedsDomain: 'Email-ը պետք է պարունակի դոմեյն (.com, .ru և այլն)',
|
||||
emailInvalid: 'Սխալ email ձևաչափ',
|
||||
loginRequired: 'Մուտք գործեք ձևակերպելու համար',
|
||||
loginRequiredDesc: 'Պատվեր ձևակերպելու համար մուտք գործեք Telegram-ով',
|
||||
loginWithTelegram: 'Մուտք Telegram-ով',
|
||||
orScanQr: 'Կամ սքանավորեք QR կոդը',
|
||||
},
|
||||
search: {
|
||||
title: '╘▒╒║╓А╒б╒╢╓Д╒╢╒е╓А╒л ╒╕╓А╒╕╒╢╒╕╓В╒┤',
|
||||
placeholder: '╒Д╒╕╓В╒┐╓Д╒б╒г╓А╒е╓Д ╒б╒║╓А╒б╒╢╓Д╒л ╒б╒╢╒╕╓В╒╢╒и...',
|
||||
resultsCount: '╘│╒┐╒╢╒╛╒б╒о ╒б╒║╓А╒б╒╢╓Д╒╢╒е╓А╒Э',
|
||||
searching: '╒И╓А╒╕╒╢╒╕╓В╒┤...',
|
||||
retry: '╒У╒╕╓А╒▒╒е╒м ╒п╓А╒п╒л╒╢',
|
||||
noResults: '╒И╒╣╒л╒╢╒╣ ╒╣╒л ╒г╒┐╒╢╒╛╒е╒м',
|
||||
noResultsFor: '"{{query}}" ╒░╒б╓А╓Б╒┤╒б╒╢ ╒░╒б╒┤╒б╓А ╒б╒║╓А╒б╒╢╓Д╒╢╒е╓А ╒╣╒е╒╢ ╒г╒┐╒╢╒╛╒е╒м',
|
||||
noResultsHint: '╒У╒╕╓А╒▒╒е╓Д ╓Г╒╕╒н╒е╒м ╒░╒б╓А╓Б╒╕╓В╒┤╒и ╒п╒б╒┤ ╓Е╒г╒┐╒б╒г╒╕╓А╒о╒е╒м ╒б╒╡╒м ╒в╒б╒╢╒б╒м╒л ╒в╒б╒╝╒е╓А',
|
||||
addToCart: '╘▒╒╛╒е╒м╒б╓Б╒╢╒е╒м ╒ж╒б╒┤╒в╒╡╒╕╓В╒▓',
|
||||
loadingMore: '╘▓╒е╒╝╒╢╒╛╒╕╓В╒┤ ╒з...',
|
||||
allLoaded: '╘▓╒╕╒м╒╕╓А ╒б╓А╒д╒╡╒╕╓В╒╢╓Д╒╢╒е╓А╒и ╒в╒е╒╝╒╢╒╛╒б╒о ╒е╒╢',
|
||||
emptyState: '╒Д╒╕╓В╒┐╓Д╒б╒г╓А╒е╓Д ╒░╒б╓А╓Б╒╕╓В╒┤ ╒б╒║╓А╒б╒╢╓Д╒╢╒е╓А ╒╕╓А╒╕╒╢╒е╒м╒╕╓В ╒░╒б╒┤╒б╓А',
|
||||
of: '╒л╓Б',
|
||||
title: 'Ապրանքների որոնում',
|
||||
placeholder: 'Մուտքագրեք ապրանքի անվանումը...',
|
||||
resultsCount: 'Գտնված ապրանքներ՝',
|
||||
searching: 'Որոնում...',
|
||||
retry: 'Փորձել կրկին',
|
||||
noResults: 'Ոչինչ չի գտնվել',
|
||||
noResultsFor: '"{{query}}" հարցմամբ ապրանքներ չեն գտնվել',
|
||||
noResultsHint: 'Փորձեք փոխել հարցումը կամ օգտագործել այլ բանալի բառեր',
|
||||
addToCart: 'Ավելացնել զամբյուղ',
|
||||
loadingMore: 'Բեռնում...',
|
||||
allLoaded: 'Բոլոր արդյունքները բեռնված են',
|
||||
emptyState: 'Մուտքագրեք հարցում որոնման համար',
|
||||
of: '-ից',
|
||||
},
|
||||
category: {
|
||||
retry: '╒У╒╕╓А╒▒╒е╒м ╒п╓А╒п╒л╒╢',
|
||||
addToCart: '╘▒╒╛╒е╒м╒б╓Б╒╢╒е╒м ╒ж╒б╒┤╒в╒╡╒╕╓В╒▓',
|
||||
loadingMore: '╘▓╒е╒╝╒╢╒╛╒╕╓В╒┤ ╒з...',
|
||||
allLoaded: '╘▓╒╕╒м╒╕╓А ╒б╒║╓А╒б╒╢╓Д╒╢╒е╓А╒и ╒в╒е╒╝╒╢╒╛╒б╒о ╒е╒╢',
|
||||
emptyTitle: '╒И╓В╒║╒╜╓Й ╘▒╒╡╒╜╒┐╒е╒▓ ╒д╒е╒╝ ╒д╒б╒┐╒б╓А╒п ╒з',
|
||||
emptyDesc: '╘▒╒╡╒╜ ╒п╒б╒┐╒е╒г╒╕╓А╒л╒б╒╡╒╕╓В╒┤ ╒д╒е╒╝ ╒б╒║╓А╒б╒╢╓Д╒╢╒е╓А ╒╣╒п╒б╒╢, ╒в╒б╒╡╓Б ╒╖╒╕╓В╒┐╒╕╒╛ ╒п╒░╒б╒╡╒┐╒╢╒╛╒е╒╢',
|
||||
goHome: '╘│╒м╒н╒б╒╛╒╕╓А ╒з╒╗',
|
||||
loading: '╘▒╒║╓А╒б╒╢╓Д╒╢╒е╓А╒и ╒в╒е╒╝╒╢╒╛╒╕╓В╒┤ ╒е╒╢...',
|
||||
retry: 'Փորձել կրկին',
|
||||
addToCart: 'Ավելացնել զամբյուղ',
|
||||
loadingMore: 'Բեռնում...',
|
||||
allLoaded: 'Բոլոր ապրանքները բեռնված են',
|
||||
emptyTitle: 'Վա՜յ, այստեղ դեռ դատարկ է',
|
||||
emptyDesc: 'Այս կատեգորիայում դեռ ապրանքներ չկան',
|
||||
goHome: 'Գլխավոր',
|
||||
loading: 'Ապրանքների բեռնում...',
|
||||
},
|
||||
subcategories: {
|
||||
loading: '╘╡╒╢╒й╒б╒п╒б╒┐╒е╒г╒╕╓А╒л╒б╒╢╒е╓А╒и ╒в╒е╒╝╒╢╒╛╒╕╓В╒┤ ╒е╒╢...',
|
||||
retry: '╒У╒╕╓А╒▒╒е╒м ╒п╓А╒п╒л╒╢',
|
||||
emptyTitle: '╒И╓В╒║╒╜╓Й ╘╡╒╢╒й╒б╒п╒б╒┐╒е╒г╒╕╓А╒л╒б╒╢╒е╓А ╒д╒е╒╝ ╒╣╒п╒б╒╢',
|
||||
emptyDesc: '╘▒╒╡╒╜ ╒в╒б╒к╒╢╒╕╓В╒┤ ╒д╒е╒╝ ╒е╒╢╒й╒б╒п╒б╒┐╒е╒г╒╕╓А╒л╒б╒╢╒е╓А ╒╣╒п╒б╒╢, ╒в╒б╒╡╓Б ╒╖╒╕╓В╒┐╒╕╒╛ ╒п╒░╒б╒╡╒┐╒╢╒╛╒е╒╢',
|
||||
goHome: '╘│╒м╒н╒б╒╛╒╕╓А ╒з╒╗',
|
||||
loading: 'Ենթակատեգորիաների բեռնում...',
|
||||
retry: 'Փորձել կրկին',
|
||||
emptyTitle: 'Ենթակատեգորիաներ չկան',
|
||||
emptyDesc: 'Այս բաժնում դեռ ենթակատեգորիաներ չկան',
|
||||
goHome: 'Գլխավոր',
|
||||
itemsInCategory: 'Ապրանքներ այս կատեգորիայում',
|
||||
},
|
||||
itemDetail: {
|
||||
loading: '╘▓╒е╒╝╒╢╒╛╒╕╓В╒┤ ╒з...',
|
||||
loadingDexar: '╘▒╒║╓А╒б╒╢╓Д╒и ╒в╒е╒╝╒╢╒╛╒╕╓В╒┤ ╒з...',
|
||||
back: '╒О╒е╓А╒б╒д╒б╒╝╒╢╒б╒м',
|
||||
backHome: '╒О╒е╓А╒б╒д╒б╒╝╒╢╒б╒м ╒г╒м╒н╒б╒╛╒╕╓А ╒з╒╗',
|
||||
noImage: '╒К╒б╒┐╒п╒е╓А ╒╣╒п╒б',
|
||||
stock: '╘▒╒╝╒п╒б╒╡╒╕╓В╒й╒╡╒╕╓В╒╢╒Э',
|
||||
inStock: '╘▒╒╝╒п╒б ╒з',
|
||||
lowStock: '╒Д╒╢╒б╓Б╒е╒м ╒з ╓Д╒л╒╣',
|
||||
lastItems: '╒О╒е╓А╒╗╒л╒╢ ╒░╒б╒┐╒е╓А╒и',
|
||||
mediumStock: '╒О╒е╓А╒╗╒б╒╢╒╕╓В╒┤ ╒з',
|
||||
addToCart: '╘▒╒╛╒е╒м╒б╓Б╒╢╒е╒м ╒ж╒б╒┤╒в╒╡╒╕╓В╒▓',
|
||||
description: '╒Ж╒п╒б╓А╒б╒г╓А╒╕╓В╒й╒╡╒╕╓В╒╢',
|
||||
specifications: 'u{0532}u{0576}u{0578}u{0582}u{0569}u{0561}u{0563}u{0580}u{0565}u{0580}',
|
||||
reviews: '╘┐╒б╓А╒о╒л╓Д╒╢╒е╓А',
|
||||
yourReview: '╒Б╒е╓А ╒п╒б╓А╒о╒л╓Д╒и',
|
||||
leaveReview: '╘╣╒╕╒▓╒╢╒е╒м ╒п╒б╓А╒о╒л╓Д',
|
||||
rating: '╘│╒╢╒б╒░╒б╒┐╒б╒п╒б╒╢╒Э',
|
||||
reviewPlaceholder: '╘┐╒л╒╜╒╛╒е╓Д ╒▒╒е╓А ╒┐╒║╒б╒╛╒╕╓А╒╕╓В╒й╒╡╒╕╓В╒╢╒╢╒е╓А╒╕╒╛ ╒б╒║╓А╒б╒╢╓Д╒л ╒┤╒б╒╜╒л╒╢...',
|
||||
reviewPlaceholderDexar: '╘┐╒л╒╜╒╛╒е╓Д ╒▒╒е╓А ╒┐╒║╒б╒╛╒╕╓А╒╕╓В╒й╒╡╒╕╓В╒╢╒╢╒е╓А╒╕╒╛...',
|
||||
anonymous: '╘▒╒╢╒б╒╢╒╕╓В╒╢',
|
||||
submitting: '╒И╓В╒▓╒б╓А╒п╒╛╒╕╓В╒┤ ╒з...',
|
||||
submit: '╒И╓В╒▓╒б╓А╒п╒е╒м',
|
||||
reviewSuccess: '╒З╒╢╒╕╓А╒░╒б╒п╒б╒м╒╕╓В╒й╒╡╒╕╓В╒╢ ╒▒╒е╓А ╒п╒б╓А╒о╒л╓Д╒л ╒░╒б╒┤╒б╓А╓Й',
|
||||
reviewError: '╒И╓В╒▓╒б╓А╒п╒┤╒б╒╢ ╒╜╒н╒б╒м╓Й ╒У╒╕╓А╒▒╒е╓Д ╒б╒╛╒е╒м╒л ╒╕╓В╒╖╓Й',
|
||||
defaultUser: '╒Х╒г╒┐╒б╒┐╒е╓А',
|
||||
defaultUserDexar: '╘▒╒╢╒б╒╢╒╕╓В╒╢',
|
||||
noReviews: '╘┤╒е╒╝ ╒п╒б╓А╒о╒л╓Д╒╢╒е╓А ╒╣╒п╒б╒╢╓Й ╘┤╒б╓А╒▒╒е╓Д ╒б╒╝╒б╒╗╒л╒╢╒и╓Й',
|
||||
qna: '╒А╒б╓А╓Б╒е╓А ╓З ╒║╒б╒┐╒б╒╜╒н╒б╒╢╒╢╒е╓А',
|
||||
photo: '╘╝╒╕╓В╒╜╒б╒╢╒п╒б╓А',
|
||||
reviewsCount: '╒п╒б╓А╒о╒л╓Д',
|
||||
today: '╘▒╒╡╒╜╓Е╓А',
|
||||
yesterday: '╘╡╓А╒е╒п',
|
||||
daysAgo: '╓Е╓А ╒б╒╝╒б╒╗',
|
||||
weeksAgo: '╒╖╒б╒в╒б╒й ╒б╒╝╒б╒╗',
|
||||
loading: 'Բեռնում...',
|
||||
loadingDexar: 'Ապրանքի բեռնում...',
|
||||
back: 'Վերադառնալ',
|
||||
backHome: 'Վերադառնալ գլխավոր էջ',
|
||||
noImage: 'Պատկեր չկա',
|
||||
stock: 'Առկայություն՝',
|
||||
inStock: 'Առկա է',
|
||||
lowStock: 'Քիչ է մնացել',
|
||||
lastItems: 'Վերջին հատերը',
|
||||
mediumStock: 'Ավարտվում է',
|
||||
addToCart: 'Ավելացնել զամբյուղ',
|
||||
description: 'Նկարագրություն',
|
||||
specifications: 'Բնութագրեր',
|
||||
reviews: 'Կարծիքներ',
|
||||
yourReview: 'Ձեր կարծիքը',
|
||||
leaveReview: 'Թողնել կարծիք',
|
||||
rating: 'Գնահատական՝',
|
||||
reviewPlaceholder: 'Կիսվեք ձեր կարծիքով...',
|
||||
reviewPlaceholderDexar: 'Կիսվեք տպավորություններով...',
|
||||
anonymous: 'Անանուն',
|
||||
submitting: 'Ուղարկվում է...',
|
||||
submit: 'Ուղարկել',
|
||||
reviewSuccess: 'Շնորհակալություն ձեր կարծիքի համար!',
|
||||
reviewError: 'Սխալ ուղարկելիս։ Փորձեք ավելի ուշ։',
|
||||
defaultUser: 'Օգտատեր',
|
||||
defaultUserDexar: 'Անանուն',
|
||||
noReviews: 'Կարծիքներ դեռ չկան',
|
||||
qna: 'Հարցեր և պատասխաններ',
|
||||
photo: 'Լուսանկար',
|
||||
reviewsCount: 'կարծիք',
|
||||
today: 'Այսօր',
|
||||
yesterday: 'Երեկ',
|
||||
daysAgo: 'օր առաջ',
|
||||
weeksAgo: 'շաբաթ առաջ',
|
||||
colour: 'Գույն',
|
||||
size: 'Չափ',
|
||||
},
|
||||
app: {
|
||||
connecting: '╒Д╒л╒б╓Б╒╕╓В╒┤ ╒╜╒е╓А╒╛╒е╓А╒л╒╢...',
|
||||
serverUnavailable: '╒Н╒е╓А╒╛╒е╓А╒и ╒░╒б╒╜╒б╒╢╒е╒м╒л ╒╣╒з',
|
||||
serverError: '╒Й╒░╒б╒╗╒╕╒▓╒╛╒е╓Б ╒┤╒л╒б╒╢╒б╒м ╒╜╒е╓А╒╛╒е╓А╒л╒╢╓Й ╒Н╒┐╒╕╓В╒г╒е╓Д ╒л╒╢╒┐╒е╓А╒╢╒е╒┐ ╒п╒б╒║╒и╓Й',
|
||||
retryConnection: '╘┐╓А╒п╒╢╒е╒м ╓Г╒╕╓А╒▒╒и',
|
||||
pageTitle: '╘▒╒║╓А╒б╒╢╓Д╒╢╒е╓А╒л ╓З ╒о╒б╒╝╒б╒╡╒╕╓В╒й╒╡╒╕╓В╒╢╒╢╒е╓А╒л ╒┤╒б╓А╓Д╒е╒й╓Г╒м╒е╒╡╒╜',
|
||||
connecting: 'Կապ սերվերի հետ...',
|
||||
serverUnavailable: 'Սերվերը անհասանելի է',
|
||||
serverError: 'Չհաջողվեց միանալ սերվերին։ Ստուգեք ինտերնետը։',
|
||||
retryConnection: 'Փորձել կրկին',
|
||||
pageTitle: 'Ապրանքների և ծառայությունների մարքեթփլեյս',
|
||||
},
|
||||
carousel: {
|
||||
loading: '╘▒╒║╓А╒б╒╢╓Д╒╢╒е╓А╒и ╒в╒е╒╝╒╢╒╛╒╕╓В╒┤ ╒е╒╢...',
|
||||
addToCart: '╘▒╒╛╒е╒м╒б╓Б╒╢╒е╒м ╒ж╒б╒┤╒в╒╡╒╕╓В╒▓',
|
||||
loading: 'Ապրանքների բեռնում...',
|
||||
addToCart: 'Ավելացնել զամբյուղ',
|
||||
},
|
||||
common: {
|
||||
retry: '╒У╒╕╓А╒▒╒е╒м ╒п╓А╒п╒л╒╢',
|
||||
loading: '╘▓╒е╒╝╒╢╒╛╒╕╓В╒┤ ╒з...',
|
||||
retry: 'Փորձել կրկին',
|
||||
loading: 'Բեռնում...',
|
||||
},
|
||||
|
||||
location: {
|
||||
allRegions: 'Բոլոր տարածաշրջաններ',
|
||||
chooseRegion: 'Ընտրեք տարածաշրջան',
|
||||
detectAuto: 'Որոշել ինքնաշխատ',
|
||||
allRegions: 'Բոլոր տարածաշրջանները',
|
||||
chooseRegion: 'Ընտրեք տարածաշրջանը',
|
||||
detectAuto: 'Որոշել ավտոմատ',
|
||||
},
|
||||
auth: {
|
||||
loginRequired: 'Մուտք պահանջվում է',
|
||||
loginDescription: 'Պատվերի կատարման համար մուտք արեք Telegram-ի միջոցով',
|
||||
checking: 'Ստուգում է...',
|
||||
loginWithTelegram: 'Մուտք գործել Telegram-ով',
|
||||
orScanQr: 'Կամ սկանավորեք QR կոդը',
|
||||
loginNote: 'Մուտքից հետո դուք կվերադառնավեք',
|
||||
loginRequired: 'Պահանջվում է մուտք',
|
||||
loginDescription: 'Պատվերի համար մուտք գործեք Telegram-ով',
|
||||
checking: 'Ստուգում...',
|
||||
loginWithTelegram: 'Մուտք Telegram-ով',
|
||||
orScanQr: 'Կամ սքանավորեք QR կոդը',
|
||||
loginNote: 'Մուտքից հետո դուք կվերաուղղվեք',
|
||||
},
|
||||
};
|
||||
|
||||
@@ -102,6 +102,10 @@ export const ru: Translations = {
|
||||
emailNeedsAt: 'Email должен содержать @',
|
||||
emailNeedsDomain: 'Email должен содержать домен (.com, .ru и т.д.)',
|
||||
emailInvalid: 'Некорректный формат email',
|
||||
loginRequired: 'Войдите для оформления',
|
||||
loginRequiredDesc: 'Для оформления заказа войдите через Telegram',
|
||||
loginWithTelegram: 'Войти через Telegram',
|
||||
orScanQr: 'Или отсканируйте QR-код',
|
||||
},
|
||||
search: {
|
||||
title: 'Поиск товаров',
|
||||
@@ -134,6 +138,7 @@ export const ru: Translations = {
|
||||
emptyTitle: 'Упс! Подкатегорий пока нет',
|
||||
emptyDesc: 'В этом разделе ещё нет подкатегорий, но скоро они появятся',
|
||||
goHome: 'На главную',
|
||||
itemsInCategory: 'Товары в этой категории',
|
||||
},
|
||||
itemDetail: {
|
||||
loading: 'Загрузка...',
|
||||
@@ -170,6 +175,8 @@ export const ru: Translations = {
|
||||
yesterday: 'Вчера',
|
||||
daysAgo: 'дн. назад',
|
||||
weeksAgo: 'нед. назад',
|
||||
colour: 'Цвет',
|
||||
size: 'Размер',
|
||||
},
|
||||
app: {
|
||||
connecting: 'Подключение к серверу...',
|
||||
|
||||
@@ -100,6 +100,10 @@ export interface Translations {
|
||||
emailNeedsAt: string;
|
||||
emailNeedsDomain: string;
|
||||
emailInvalid: string;
|
||||
loginRequired: string;
|
||||
loginRequiredDesc: string;
|
||||
loginWithTelegram: string;
|
||||
orScanQr: string;
|
||||
};
|
||||
search: {
|
||||
title: string;
|
||||
@@ -132,6 +136,7 @@ export interface Translations {
|
||||
emptyTitle: string;
|
||||
emptyDesc: string;
|
||||
goHome: string;
|
||||
itemsInCategory: string;
|
||||
};
|
||||
itemDetail: {
|
||||
loading: string;
|
||||
@@ -168,6 +173,8 @@ export interface Translations {
|
||||
yesterday: string;
|
||||
daysAgo: string;
|
||||
weeksAgo: string;
|
||||
colour: string;
|
||||
size: string;
|
||||
};
|
||||
app: {
|
||||
connecting: string;
|
||||
|
||||
@@ -2,35 +2,48 @@ import { HttpInterceptorFn } from '@angular/common/http';
|
||||
import { inject } from '@angular/core';
|
||||
import { LocationService } from '../services/location.service';
|
||||
import { LanguageService } from '../services/language.service';
|
||||
import { AuthService } from '../services/auth.service';
|
||||
import { environment } from '../../environments/environment';
|
||||
|
||||
/**
|
||||
* Interceptor that attaches X-Region and X-Language headers
|
||||
* to every outgoing request aimed at our API.
|
||||
*
|
||||
* The backend reads these headers to:
|
||||
* - filter catalog by region
|
||||
* - return translated content in the requested language
|
||||
*/
|
||||
/** Map internal language codes to API header values */
|
||||
const LANG_HEADER_MAP: Record<string, string> = {
|
||||
'ru': 'RU',
|
||||
'en': 'EN',
|
||||
'hy': 'AM',
|
||||
};
|
||||
|
||||
/** Map region IDs to API header values */
|
||||
const REGION_HEADER_MAP: Record<string, string> = {
|
||||
'moscow': 'Moscow',
|
||||
'spb': 'ST. Petersburg',
|
||||
'yerevan': 'Yerevan',
|
||||
};
|
||||
|
||||
export const apiHeadersInterceptor: HttpInterceptorFn = (req, next) => {
|
||||
// Only attach headers to our own API requests
|
||||
if (!req.url.startsWith(environment.apiUrl)) {
|
||||
return next(req);
|
||||
}
|
||||
|
||||
const locationService = inject(LocationService);
|
||||
const languageService = inject(LanguageService);
|
||||
const authService = inject(AuthService);
|
||||
|
||||
const regionId = locationService.regionId(); // '' when global
|
||||
const lang = languageService.currentLanguage(); // 'ru' | 'en' | 'hy'
|
||||
const regionId = locationService.regionId();
|
||||
const lang = languageService.currentLanguage();
|
||||
const currency = languageService.currentCurrency();
|
||||
const session = authService.session();
|
||||
|
||||
let headers = req.headers;
|
||||
|
||||
if (regionId) {
|
||||
headers = headers.set('X-Region', regionId);
|
||||
headers = headers.set('X-Region', REGION_HEADER_MAP[regionId] ?? regionId);
|
||||
}
|
||||
if (lang) {
|
||||
headers = headers.set('X-Language', lang);
|
||||
headers = headers.set('X-Language', LANG_HEADER_MAP[lang] ?? lang.toUpperCase());
|
||||
}
|
||||
headers = headers.set('Currency', currency || 'RUB');
|
||||
if (session?.sessionId) {
|
||||
headers = headers.set('WebSessionID', session.sessionId);
|
||||
}
|
||||
|
||||
return next(req.clone({ headers }));
|
||||
|
||||
@@ -167,6 +167,22 @@ const MOCK_ITEMS: any[] = [
|
||||
],
|
||||
tags: ['new', 'featured', 'apple'],
|
||||
badges: ['new', 'bestseller'],
|
||||
colour: 'Натуральный титан',
|
||||
size: '',
|
||||
names: [
|
||||
{ language: 'ru', value: 'iPhone 15 Pro Max' },
|
||||
{ language: 'en', value: 'iPhone 15 Pro Max' },
|
||||
{ language: 'hy', value: 'iPhone 15 Pro Max' }
|
||||
],
|
||||
descriptions: [
|
||||
{ language: 'ru', value: 'Новейший iPhone с титановым корпусом и чипом A17 Pro' },
|
||||
{ language: 'en', value: 'Latest iPhone with titanium body and A17 Pro chip' }
|
||||
],
|
||||
attributes: [
|
||||
{ key: 'Цвет', value: 'Натуральный титан' },
|
||||
{ key: 'Память', value: '256 ГБ' },
|
||||
{ key: 'Процессор', value: 'A17 Pro' }
|
||||
],
|
||||
simpleDescription: 'Новейший iPhone с титановым корпусом и чипом A17 Pro',
|
||||
description: [
|
||||
{ key: 'Цвет', value: 'Натуральный титан' },
|
||||
@@ -230,6 +246,20 @@ const MOCK_ITEMS: any[] = [
|
||||
],
|
||||
tags: ['new', 'android', 'samsung'],
|
||||
badges: ['new', 'sale'],
|
||||
colour: 'Титановый серый',
|
||||
size: '',
|
||||
names: [
|
||||
{ language: 'ru', value: 'Samsung Galaxy S24 Ultra' },
|
||||
{ language: 'en', value: 'Samsung Galaxy S24 Ultra' }
|
||||
],
|
||||
descriptions: [
|
||||
{ language: 'ru', value: 'Премиальный флагман Samsung с S Pen' },
|
||||
{ language: 'en', value: 'Premium Samsung flagship with S Pen' }
|
||||
],
|
||||
attributes: [
|
||||
{ key: 'Память', value: '512 ГБ' },
|
||||
{ key: 'ОЗУ', value: '12 ГБ' }
|
||||
],
|
||||
simpleDescription: 'Премиальный флагман Samsung с S Pen',
|
||||
description: [
|
||||
{ key: 'Цвет', value: 'Титановый серый' },
|
||||
|
||||
@@ -42,6 +42,24 @@ export interface Question {
|
||||
downvotes: number;
|
||||
}
|
||||
|
||||
/** Localized name entry from backend */
|
||||
export interface ItemName {
|
||||
language: string;
|
||||
value: string;
|
||||
}
|
||||
|
||||
/** Localized description entry from backend */
|
||||
export interface ItemDescription {
|
||||
language: string;
|
||||
value: string;
|
||||
}
|
||||
|
||||
/** Key-value attribute pair */
|
||||
export interface ItemAttribute {
|
||||
key: string;
|
||||
value: string;
|
||||
}
|
||||
|
||||
export interface Item {
|
||||
categoryID: number;
|
||||
itemID: number;
|
||||
@@ -55,9 +73,16 @@ export interface Item {
|
||||
rating: number;
|
||||
callbacks: Review[] | null;
|
||||
questions: Question[] | null;
|
||||
partnerID?: string;
|
||||
quantity?: number;
|
||||
|
||||
// Backend API fields
|
||||
colour?: string;
|
||||
size?: string;
|
||||
language?: string;
|
||||
names?: ItemName[];
|
||||
descriptions?: ItemDescription[];
|
||||
attributes?: ItemAttribute[];
|
||||
|
||||
// BackOffice API fields
|
||||
id?: string;
|
||||
visible?: boolean;
|
||||
|
||||
@@ -31,12 +31,12 @@
|
||||
(touchstart)="onSwipeStart(item.itemID, $event)">
|
||||
<div class="cart-item">
|
||||
<a [routerLink]="['/item', item.itemID] | langRoute" class="item-image">
|
||||
<img [src]="getMainImage(item)" [alt]="item.name" loading="lazy" />
|
||||
<img [src]="getMainImage(item)" [alt]="itemName(item)" loading="lazy" />
|
||||
</a>
|
||||
|
||||
<div class="item-info">
|
||||
<div class="item-header">
|
||||
<a [routerLink]="['/item', item.itemID] | langRoute" class="item-name">{{ item.name }}</a>
|
||||
<a [routerLink]="['/item', item.itemID] | langRoute" class="item-name">{{ itemName(item) }}</a>
|
||||
<button class="remove-btn" (click)="removeItem(item.itemID)" title="Remove">
|
||||
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M18 6L6 18M6 6l12 12"/>
|
||||
@@ -44,7 +44,18 @@
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<p class="item-description">{{ item.simpleDescription || item?.description?.substring?.(0, 100) || '' }}...</p>
|
||||
<p class="item-description">{{ itemDesc(item) || '' }}...</p>
|
||||
|
||||
@if (item.colour || item.size) {
|
||||
<div class="cart-item-variants">
|
||||
@if (item.colour) {
|
||||
<span class="cart-variant">{{ 'itemDetail.colour' | translate }}: {{ item.colour }}</span>
|
||||
}
|
||||
@if (item.size) {
|
||||
<span class="cart-variant">{{ 'itemDetail.size' | translate }}: {{ item.size }}</span>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (item.badges && item.badges.length > 0) {
|
||||
<div class="cart-item-badges">
|
||||
@@ -58,11 +69,11 @@
|
||||
<div class="item-pricing">
|
||||
@if (item.discount > 0) {
|
||||
<div class="price-with-discount">
|
||||
<span class="original-price">{{ item.price }} ₽</span>
|
||||
<span class="current-price">{{ getDiscountedPrice(item) | number:'1.2-2' }} ₽</span>
|
||||
<span class="original-price">{{ item.price }} {{ item.currency }}</span>
|
||||
<span class="current-price">{{ getDiscountedPrice(item) | number:'1.2-2' }} {{ item.currency }}</span>
|
||||
</div>
|
||||
} @else {
|
||||
<span class="current-price">{{ item.price }} ₽</span>
|
||||
<span class="current-price">{{ item.price }} {{ item.currency }}</span>
|
||||
}
|
||||
</div>
|
||||
|
||||
@@ -99,17 +110,17 @@
|
||||
|
||||
<div class="summary-row">
|
||||
<span>{{ 'cart.items' | translate }} ({{ itemCount() }})</span>
|
||||
<span class="value">{{ totalPrice() | number:'1.2-2' }} ₽</span>
|
||||
<span class="value">{{ totalPrice() | number:'1.2-2' }} {{ currentCurrency }}</span>
|
||||
</div>
|
||||
|
||||
<div class="summary-row delivery">
|
||||
<span>{{ 'cart.deliveryLabel' | translate }}</span>
|
||||
<span>0 ₽</span>
|
||||
<span>0 {{ currentCurrency }}</span>
|
||||
</div>
|
||||
|
||||
<div class="summary-row total">
|
||||
<span>{{ 'cart.toPay' | translate }}</span>
|
||||
<span class="total-price">{{ totalPrice() | number:'1.2-2' }} ₽</span>
|
||||
<span class="total-price">{{ totalPrice() | number:'1.2-2' }} {{ currentCurrency }}</span>
|
||||
</div>
|
||||
|
||||
<div class="terms-agreement">
|
||||
@@ -138,6 +149,36 @@
|
||||
>
|
||||
{{ 'cart.checkout' | translate }}
|
||||
</button>
|
||||
|
||||
@if (!isAuthenticated()) {
|
||||
<div class="cart-login-gate">
|
||||
<div class="login-gate-icon">
|
||||
<svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
||||
<path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"/>
|
||||
</svg>
|
||||
</div>
|
||||
<p class="login-gate-title">{{ 'cart.loginRequired' | translate }}</p>
|
||||
<p class="login-gate-desc">{{ 'cart.loginRequiredDesc' | translate }}</p>
|
||||
|
||||
<button class="telegram-login-btn" (click)="requestLogin()">
|
||||
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
|
||||
<path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/>
|
||||
</svg>
|
||||
{{ 'cart.loginWithTelegram' | translate }}
|
||||
</button>
|
||||
|
||||
<div class="login-gate-qr">
|
||||
<p class="qr-hint">{{ 'cart.orScanQr' | translate }}</p>
|
||||
<div class="qr-wrapper">
|
||||
<img [src]="'https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=' + loginUrl()"
|
||||
alt="QR Code"
|
||||
width="150"
|
||||
height="150"
|
||||
loading="lazy" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@@ -174,7 +215,7 @@
|
||||
<div class="payment-info">
|
||||
<div class="payment-amount">
|
||||
<span class="label">{{ 'cart.amountToPay' | translate }}</span>
|
||||
<span class="amount">{{ totalPrice() | number:'1.2-2' }} RUB</span>
|
||||
<span class="amount">{{ totalPrice() | number:'1.2-2' }} {{ currentCurrency }}</span>
|
||||
</div>
|
||||
|
||||
<div class="waiting-indicator">
|
||||
@@ -264,3 +305,5 @@
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
<app-telegram-login />
|
||||
|
||||
@@ -364,6 +364,22 @@
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.cart-item-variants {
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 4px;
|
||||
|
||||
.cart-variant {
|
||||
font-size: 0.8rem;
|
||||
color: #497671;
|
||||
background: rgba(73, 118, 113, 0.08);
|
||||
padding: 3px 10px;
|
||||
border-radius: 6px;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
|
||||
.item-footer {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
@@ -464,6 +480,22 @@
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.cart-item-variants {
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 4px;
|
||||
|
||||
.cart-variant {
|
||||
font-size: 0.8rem;
|
||||
color: #6366f1;
|
||||
background: rgba(99, 102, 241, 0.08);
|
||||
padding: 3px 10px;
|
||||
border-radius: 6px;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
|
||||
.item-footer {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
@@ -689,6 +721,85 @@
|
||||
cursor: not-allowed;
|
||||
}
|
||||
}
|
||||
|
||||
.cart-login-gate {
|
||||
margin-top: 16px;
|
||||
padding: 20px;
|
||||
border-radius: 14px;
|
||||
background: rgba(42, 171, 238, 0.05);
|
||||
border: 1px dashed rgba(42, 171, 238, 0.3);
|
||||
text-align: center;
|
||||
|
||||
.login-gate-icon {
|
||||
margin: 0 auto 10px;
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
border-radius: 50%;
|
||||
background: rgba(42, 171, 238, 0.1);
|
||||
color: #2AABEE;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.login-gate-title {
|
||||
margin: 0 0 4px;
|
||||
font-size: 1rem;
|
||||
font-weight: 700;
|
||||
color: #1a1a1a;
|
||||
}
|
||||
|
||||
.login-gate-desc {
|
||||
margin: 0 0 16px;
|
||||
font-size: 0.85rem;
|
||||
color: #6b7280;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.telegram-login-btn {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 12px 24px;
|
||||
border: none;
|
||||
border-radius: 10px;
|
||||
background: #2AABEE;
|
||||
color: #fff;
|
||||
font-size: 0.95rem;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s;
|
||||
|
||||
&:hover {
|
||||
background: #229ED9;
|
||||
transform: translateY(-1px);
|
||||
box-shadow: 0 4px 12px rgba(42, 171, 238, 0.3);
|
||||
}
|
||||
}
|
||||
|
||||
.login-gate-qr {
|
||||
margin-top: 14px;
|
||||
|
||||
.qr-hint {
|
||||
margin: 0 0 8px;
|
||||
font-size: 0.8rem;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.qr-wrapper {
|
||||
display: inline-flex;
|
||||
padding: 10px;
|
||||
background: #fff;
|
||||
border-radius: 10px;
|
||||
border: 1px solid #e5e7eb;
|
||||
|
||||
img {
|
||||
display: block;
|
||||
border-radius: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Novo Cart Summary - Green Modern
|
||||
|
||||
@@ -7,15 +7,16 @@ import { Item, CartItem } from '../../models';
|
||||
import { interval, Subscription } from 'rxjs';
|
||||
import { switchMap, take } from 'rxjs/operators';
|
||||
import { EmptyCartIconComponent } from '../../components/empty-cart-icon/empty-cart-icon.component';
|
||||
import { TelegramLoginComponent } from '../../components/telegram-login/telegram-login.component';
|
||||
import { environment } from '../../../environments/environment';
|
||||
import { getDiscountedPrice, getMainImage, trackByItemId, getBadgeClass } from '../../utils/item.utils';
|
||||
import { getDiscountedPrice, getMainImage, trackByItemId, getBadgeClass, getTranslatedField } from '../../utils/item.utils';
|
||||
import { LangRoutePipe } from '../../pipes/lang-route.pipe';
|
||||
import { TranslatePipe } from '../../i18n/translate.pipe';
|
||||
import { TranslateService } from '../../i18n/translate.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-cart',
|
||||
imports: [DecimalPipe, RouterLink, FormsModule, EmptyCartIconComponent, LangRoutePipe, TranslatePipe],
|
||||
imports: [DecimalPipe, RouterLink, FormsModule, EmptyCartIconComponent, TelegramLoginComponent, LangRoutePipe, TranslatePipe],
|
||||
templateUrl: './cart.component.html',
|
||||
styleUrls: ['./cart.component.scss'],
|
||||
changeDetection: ChangeDetectionStrategy.OnPush
|
||||
@@ -30,6 +31,9 @@ export class CartComponent implements OnDestroy {
|
||||
private i18n = inject(TranslateService);
|
||||
private authService = inject(AuthService);
|
||||
|
||||
isAuthenticated = this.authService.isAuthenticated;
|
||||
loginUrl = signal('');
|
||||
|
||||
// Swipe state
|
||||
swipedItemId = signal<number | null>(null);
|
||||
|
||||
@@ -64,6 +68,11 @@ export class CartComponent implements OnDestroy {
|
||||
this.items = this.cartService.items;
|
||||
this.itemCount = this.cartService.itemCount;
|
||||
this.totalPrice = this.cartService.totalPrice;
|
||||
this.loginUrl.set(this.authService.getTelegramLoginUrl());
|
||||
}
|
||||
|
||||
requestLogin(): void {
|
||||
this.authService.requestLogin();
|
||||
}
|
||||
|
||||
ngOnDestroy(): void {
|
||||
@@ -131,6 +140,10 @@ export class CartComponent implements OnDestroy {
|
||||
readonly getDiscountedPrice = getDiscountedPrice;
|
||||
readonly getBadgeClass = getBadgeClass;
|
||||
|
||||
itemName(item: Item): string { return getTranslatedField(item, 'name', this.langService.currentLanguage()); }
|
||||
itemDesc(item: Item): string { return getTranslatedField(item, 'simpleDescription', this.langService.currentLanguage()); }
|
||||
get currentCurrency(): string { return this.langService.currentCurrency(); }
|
||||
|
||||
checkout(): void {
|
||||
if (!this.termsAccepted) {
|
||||
alert(this.i18n.t('cart.acceptTerms'));
|
||||
@@ -174,7 +187,7 @@ export class CartComponent implements OnDestroy {
|
||||
|
||||
const paymentData = {
|
||||
amount: this.totalPrice(),
|
||||
currency: 'RUB',
|
||||
currency: this.langService.currentCurrency(),
|
||||
siteuserID: userId,
|
||||
siteorderID: orderId,
|
||||
redirectUrl: '',
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<div class="item-card">
|
||||
<a [routerLink]="['/item', item.itemID] | langRoute" class="item-link">
|
||||
<div class="item-image">
|
||||
<img [src]="getMainImage(item)" [alt]="item.name" loading="lazy" decoding="async" width="300" height="300" />
|
||||
<img [src]="getMainImage(item)" [alt]="itemName(item)" loading="lazy" decoding="async" width="300" height="300" />
|
||||
@if (item.discount > 0) {
|
||||
<div class="discount-badge">-{{ item.discount }}%</div>
|
||||
}
|
||||
@@ -26,7 +26,7 @@
|
||||
</div>
|
||||
|
||||
<div class="item-details">
|
||||
<h3 class="item-name">{{ item.name }}</h3>
|
||||
<h3 class="item-name">{{ itemName(item) }}</h3>
|
||||
|
||||
<div class="item-rating">
|
||||
<span class="rating-stars">⭐ {{ item.rating }}</span>
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
import { Component, OnInit, OnDestroy, signal, HostListener, ChangeDetectionStrategy } from '@angular/core';
|
||||
import { Component, OnInit, OnDestroy, signal, HostListener, ChangeDetectionStrategy, inject } from '@angular/core';
|
||||
import { DecimalPipe } from '@angular/common';
|
||||
import { ActivatedRoute, RouterLink } from '@angular/router';
|
||||
import { ApiService, CartService } from '../../services';
|
||||
import { Item } from '../../models';
|
||||
import { Subscription } from 'rxjs';
|
||||
import { getDiscountedPrice, getMainImage, trackByItemId, getBadgeClass } from '../../utils/item.utils';
|
||||
import { getDiscountedPrice, getMainImage, trackByItemId, getBadgeClass, getTranslatedField } from '../../utils/item.utils';
|
||||
import { LanguageService } from '../../services/language.service';
|
||||
import { LangRoutePipe } from '../../pipes/lang-route.pipe';
|
||||
import { TranslatePipe } from '../../i18n/translate.pipe';
|
||||
|
||||
@@ -23,7 +24,7 @@ export class CategoryComponent implements OnInit, OnDestroy {
|
||||
hasMore = signal(true);
|
||||
|
||||
private skip = 0;
|
||||
private readonly count = 20;
|
||||
private readonly count = 50;
|
||||
private isLoadingMore = false;
|
||||
private routeSubscription?: Subscription;
|
||||
private scrollTimeout?: ReturnType<typeof setTimeout>;
|
||||
@@ -108,4 +109,7 @@ export class CategoryComponent implements OnInit, OnDestroy {
|
||||
readonly getMainImage = getMainImage;
|
||||
readonly trackByItemId = trackByItemId;
|
||||
readonly getBadgeClass = getBadgeClass;
|
||||
|
||||
private langService = inject(LanguageService);
|
||||
itemName(item: Item): string { return getTranslatedField(item, 'name', this.langService.currentLanguage()); }
|
||||
}
|
||||
|
||||
@@ -18,6 +18,30 @@
|
||||
<h2>{{ parentName() }}</h2>
|
||||
</header>
|
||||
|
||||
<!-- Nested subcategories from API (backOffice format with hasItems) -->
|
||||
@if (nestedSubcategories().length > 0) {
|
||||
<div class="categories-grid">
|
||||
@for (sub of nestedSubcategories(); track trackBySubId($index, sub)) {
|
||||
<a [routerLink]="['/category', sub.id] | langRoute" class="category-card">
|
||||
<div class="category-image">
|
||||
@if (sub.img) {
|
||||
<img [src]="sub.img" [alt]="sub.name" loading="lazy" decoding="async" />
|
||||
} @else {
|
||||
<div class="category-fallback">{{ sub.name.charAt(0) }}</div>
|
||||
}
|
||||
</div>
|
||||
<div class="category-info">
|
||||
<h3 class="category-name">{{ sub.name }}</h3>
|
||||
@if (sub.itemCount) {
|
||||
<span class="category-count">{{ sub.itemCount }}</span>
|
||||
}
|
||||
</div>
|
||||
</a>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
<!-- Legacy flat subcategories -->
|
||||
@if (subcategories().length > 0) {
|
||||
<div class="categories-grid">
|
||||
@for (cat of subcategories(); track trackByCategoryId($index, cat)) {
|
||||
@@ -35,7 +59,53 @@
|
||||
</a>
|
||||
}
|
||||
</div>
|
||||
} @else {
|
||||
}
|
||||
|
||||
<!-- Items directly in this category -->
|
||||
@if (categoryItems().length > 0) {
|
||||
<div class="category-items-section">
|
||||
<h3 class="items-section-title">{{ 'subcategories.itemsInCategory' | translate }}</h3>
|
||||
<div class="items-grid">
|
||||
@for (item of categoryItems(); track trackByItemId($index, item)) {
|
||||
<a [routerLink]="['/item', item.itemID] | langRoute" class="item-card">
|
||||
<div class="item-image">
|
||||
<img [src]="getMainImage(item)" [alt]="itemName(item)" loading="lazy" decoding="async" />
|
||||
@if (item.discount > 0) {
|
||||
<span class="item-discount">-{{ item.discount }}%</span>
|
||||
}
|
||||
@if (item.badges && item.badges.length > 0) {
|
||||
<div class="item-badges">
|
||||
@for (badge of item.badges; track badge) {
|
||||
<span class="item-badge" [class]="getBadgeClass(badge)">{{ badge }}</span>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
<div class="item-info">
|
||||
<h4 class="item-name">{{ itemName(item) }}</h4>
|
||||
<div class="item-price">
|
||||
@if (item.discount > 0) {
|
||||
<span class="old-price">{{ item.price }} {{ item.currency }}</span>
|
||||
<span class="current-price">{{ getDiscountedPrice(item) | number:'1.0-0' }} {{ item.currency }}</span>
|
||||
} @else {
|
||||
<span class="current-price">{{ item.price }} {{ item.currency }}</span>
|
||||
}
|
||||
</div>
|
||||
<button class="item-cart-btn" (click)="addToCart(item.itemID, $event)">
|
||||
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<circle cx="9" cy="21" r="1"></circle>
|
||||
<circle cx="20" cy="21" r="1"></circle>
|
||||
<path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"></path>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</a>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (!hasSubcategories() && categoryItems().length === 0) {
|
||||
<div class="no-subcats">
|
||||
<div class="no-subcats-icon">
|
||||
<svg width="64" height="64" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
|
||||
@@ -235,6 +235,149 @@
|
||||
min-height: calc(2 * 1.3em);
|
||||
}
|
||||
|
||||
.category-count {
|
||||
font-family: "DM Sans", sans-serif;
|
||||
font-size: 0.8rem;
|
||||
color: #697777;
|
||||
}
|
||||
|
||||
// Items section within subcategories page
|
||||
.category-items-section {
|
||||
margin-top: 40px;
|
||||
|
||||
.items-section-title {
|
||||
font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
||||
font-size: 1.5rem;
|
||||
font-weight: 700;
|
||||
color: #1e3c38;
|
||||
margin: 0 0 20px 0;
|
||||
}
|
||||
}
|
||||
|
||||
.items-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
gap: 24px;
|
||||
}
|
||||
|
||||
.item-card {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
text-decoration: none;
|
||||
border: 1px solid #d3dad9;
|
||||
border-radius: 13px;
|
||||
overflow: hidden;
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
background: #fff;
|
||||
|
||||
&:hover {
|
||||
transform: translateY(-4px);
|
||||
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
}
|
||||
|
||||
.item-image {
|
||||
position: relative;
|
||||
aspect-ratio: 1;
|
||||
overflow: hidden;
|
||||
background: #f5f5f5;
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
transition: transform 0.3s ease;
|
||||
}
|
||||
|
||||
.item-card:hover & img {
|
||||
transform: scale(1.05);
|
||||
}
|
||||
|
||||
.item-discount {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
right: 8px;
|
||||
background: #dc2626;
|
||||
color: white;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 700;
|
||||
padding: 2px 8px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.item-badges {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
left: 8px;
|
||||
display: flex;
|
||||
gap: 4px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.item-badge {
|
||||
font-size: 0.65rem;
|
||||
font-weight: 600;
|
||||
padding: 2px 6px;
|
||||
border-radius: 4px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
|
||||
.item-info {
|
||||
padding: 12px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.item-name {
|
||||
font-family: "DM Sans", sans-serif;
|
||||
font-size: 0.9rem;
|
||||
font-weight: 600;
|
||||
color: #1e3c38;
|
||||
margin: 0;
|
||||
line-height: 1.3;
|
||||
display: -webkit-box;
|
||||
line-clamp: 2;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.item-price {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.old-price {
|
||||
font-size: 0.8rem;
|
||||
color: #a1b4b5;
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
.current-price {
|
||||
font-size: 1rem;
|
||||
font-weight: 700;
|
||||
color: #1e3c38;
|
||||
}
|
||||
}
|
||||
|
||||
.item-cart-btn {
|
||||
align-self: flex-end;
|
||||
background: #497671;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 8px;
|
||||
padding: 6px 10px;
|
||||
cursor: pointer;
|
||||
transition: background 0.2s ease;
|
||||
|
||||
&:hover {
|
||||
background: #3a5f5b;
|
||||
}
|
||||
}
|
||||
|
||||
// Keyframes
|
||||
@keyframes spin {
|
||||
to { transform: rotate(360deg); }
|
||||
@@ -248,6 +391,11 @@
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 24px;
|
||||
}
|
||||
|
||||
.items-grid {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 992px) {
|
||||
@@ -273,6 +421,11 @@
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.items-grid {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.category-info {
|
||||
padding: 10px 12px;
|
||||
}
|
||||
@@ -294,6 +447,11 @@
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.items-grid {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.category-info {
|
||||
padding: 8px 10px;
|
||||
}
|
||||
|
||||
@@ -1,15 +1,17 @@
|
||||
import { Component, OnInit, OnDestroy, signal, ChangeDetectionStrategy, inject } from '@angular/core';
|
||||
import { DecimalPipe } from '@angular/common';
|
||||
import { ActivatedRoute, Router, RouterLink } from '@angular/router';
|
||||
import { ApiService, LanguageService } from '../../services';
|
||||
import { Category } from '../../models';
|
||||
import { ApiService, CartService, LanguageService } from '../../services';
|
||||
import { Category, Item, Subcategory } from '../../models';
|
||||
import { Subscription } from 'rxjs';
|
||||
import { LangRoutePipe } from '../../pipes/lang-route.pipe';
|
||||
import { TranslatePipe } from '../../i18n/translate.pipe';
|
||||
import { TranslateService } from '../../i18n/translate.service';
|
||||
import { getDiscountedPrice, getMainImage, trackByItemId, getBadgeClass, getTranslatedField } from '../../utils/item.utils';
|
||||
|
||||
@Component({
|
||||
selector: 'app-subcategories',
|
||||
imports: [RouterLink, LangRoutePipe, TranslatePipe],
|
||||
imports: [DecimalPipe, RouterLink, LangRoutePipe, TranslatePipe],
|
||||
templateUrl: './subcategories.component.html',
|
||||
styleUrls: ['./subcategories.component.scss'],
|
||||
changeDetection: ChangeDetectionStrategy.OnPush
|
||||
@@ -17,6 +19,10 @@ import { TranslateService } from '../../i18n/translate.service';
|
||||
export class SubcategoriesComponent implements OnInit, OnDestroy {
|
||||
categories = signal<Category[]>([]);
|
||||
subcategories = signal<Category[]>([]);
|
||||
/** Nested subcategories from API with hasItems support */
|
||||
nestedSubcategories = signal<Subcategory[]>([]);
|
||||
/** Items belonging directly to this category (when hasItems is true) */
|
||||
categoryItems = signal<Item[]>([]);
|
||||
loading = signal(true);
|
||||
error = signal<string | null>(null);
|
||||
|
||||
@@ -29,7 +35,8 @@ export class SubcategoriesComponent implements OnInit, OnDestroy {
|
||||
private route: ActivatedRoute,
|
||||
private router: Router,
|
||||
private apiService: ApiService,
|
||||
private langService: LanguageService
|
||||
private langService: LanguageService,
|
||||
private cartService: CartService
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
@@ -45,19 +52,40 @@ export class SubcategoriesComponent implements OnInit, OnDestroy {
|
||||
|
||||
private loadForParent(parentID: number): void {
|
||||
this.loading.set(true);
|
||||
this.categoryItems.set([]);
|
||||
this.nestedSubcategories.set([]);
|
||||
|
||||
this.apiService.getCategories().subscribe({
|
||||
next: (cats) => {
|
||||
this.categories.set(cats);
|
||||
const subs = cats.filter(c => c.parentID === parentID);
|
||||
const parent = cats.find(c => c.categoryID === parentID);
|
||||
this.parentName.set(parent ? parent.name : this.i18n.t('home.categoriesTitle'));
|
||||
|
||||
if (!subs || subs.length === 0) {
|
||||
// Check for nested subcategories from API response (backOffice format)
|
||||
const nested = parent?.subcategories || [];
|
||||
const visibleNested = nested.filter(s => s.visible !== false);
|
||||
|
||||
// Also check flat legacy subcategories
|
||||
const flatSubs = cats.filter(c => c.parentID === parentID);
|
||||
|
||||
if (visibleNested.length > 0) {
|
||||
// Use nested subcategories from API
|
||||
this.nestedSubcategories.set(visibleNested);
|
||||
this.subcategories.set([]);
|
||||
|
||||
// If this category itself has items, load them too
|
||||
this.loadCategoryItems(parentID);
|
||||
} else if (flatSubs.length > 0) {
|
||||
// Legacy flat subcategories
|
||||
this.subcategories.set(flatSubs);
|
||||
this.nestedSubcategories.set([]);
|
||||
|
||||
// Also load items for this category in case it has direct items
|
||||
this.loadCategoryItems(parentID);
|
||||
} else {
|
||||
// No subcategories: redirect to items list for this category
|
||||
const lang = this.langService.currentLanguage();
|
||||
this.router.navigate([`/${lang}/category`, parentID, 'items'], { replaceUrl: true });
|
||||
} else {
|
||||
this.subcategories.set(subs);
|
||||
}
|
||||
|
||||
this.loading.set(false);
|
||||
@@ -70,8 +98,41 @@ export class SubcategoriesComponent implements OnInit, OnDestroy {
|
||||
});
|
||||
}
|
||||
|
||||
/** Load items that belong directly to this category */
|
||||
private loadCategoryItems(categoryID: number): void {
|
||||
this.apiService.getCategoryItems(categoryID, 50, 0).subscribe({
|
||||
next: (items) => {
|
||||
this.categoryItems.set(items);
|
||||
},
|
||||
error: () => {
|
||||
// Not critical — subcategories still work
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
hasSubcategories(): boolean {
|
||||
return this.subcategories().length > 0 || this.nestedSubcategories().length > 0;
|
||||
}
|
||||
|
||||
addToCart(itemID: number, event: Event): void {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
this.cartService.addItem(itemID);
|
||||
}
|
||||
|
||||
// TrackBy function for performance optimization
|
||||
trackByCategoryId(index: number, category: Category): number {
|
||||
return category.categoryID;
|
||||
}
|
||||
|
||||
trackBySubId(index: number, sub: Subcategory): string {
|
||||
return sub.id;
|
||||
}
|
||||
|
||||
readonly getDiscountedPrice = getDiscountedPrice;
|
||||
readonly getMainImage = getMainImage;
|
||||
readonly trackByItemId = trackByItemId;
|
||||
readonly getBadgeClass = getBadgeClass;
|
||||
|
||||
itemName(item: Item): string { return getTranslatedField(item, 'name', this.langService.currentLanguage()); }
|
||||
}
|
||||
|
||||
@@ -1,240 +1,244 @@
|
||||
<h1>Frequently Asked Questions (FAQ) 📌</h1>
|
||||
<div class="legal-page">
|
||||
<div class="legal-container">
|
||||
<h1>Frequently Asked Questions (FAQ) 📌</h1>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>General Questions</h2>
|
||||
<section class="legal-section">
|
||||
<h2>General Questions</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>What is DexarMarket?</h3>
|
||||
<p>DexarMarket is an online marketplace where independent sellers list their products and services. Our goal is to provide a convenient and secure shopping environment — we do not manufacture or sell products ourselves.</p>
|
||||
<div class="faq-item">
|
||||
<h3>What is DexarMarket?</h3>
|
||||
<p>DexarMarket is an online marketplace where independent sellers list their products and services. Our goal is to provide a convenient and secure shopping environment — we do not manufacture or sell products ourselves.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do I register on the platform?</h3>
|
||||
<p>Registration is easy: open our app within Telegram. Your profile will be created automatically as soon as you log in.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Is it safe to buy on the site?</h3>
|
||||
<p>Absolutely! All transactions are protected by modern encryption technologies (PCI DSS and 3D Secure). Your banking details are securely stored separately from our system.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Placing an Order</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do I place an order?</h3>
|
||||
<p>
|
||||
1️⃣ Find the product you like and add it to your cart.<br>
|
||||
2️⃣ Open the cart and click "Place Order".<br>
|
||||
3️⃣ Enter your delivery address and contact information.<br>
|
||||
4️⃣ Choose a convenient payment method.<br>
|
||||
5️⃣ Review and accept the public offer agreement.<br>
|
||||
6️⃣ Complete the payment for your order.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Can I make changes to my order after purchase?</h3>
|
||||
<p>If the seller has not yet shipped the product, contact our support — we will help adjust the order. However, once the product has been shipped, changes are not possible.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do I cancel an order?</h3>
|
||||
<p>Contact us or the seller directly through order chats. As long as the package has not been shipped, cancellation is possible with a full refund.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Payment 💳</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>What payment methods are available?</h3>
|
||||
<p>We accept:</p>
|
||||
<ul>
|
||||
<li>Bank cards: Visa, MasterCard, MIR,</li>
|
||||
<li>Fast Payment System (FPS),</li>
|
||||
<li>Electronic wallets: YooMoney, QIWI,</li>
|
||||
<li>Cash on delivery (if offered by the seller).</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>When will funds be charged from my card?</h3>
|
||||
<p>The transaction is processed instantly, but the funds are temporarily held until you receive the product. Once you confirm receipt, the funds are released to the seller.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Why might my payment be declined?</h3>
|
||||
<p>Possible reasons for decline:</p>
|
||||
<ul>
|
||||
<li>Insufficient funds in the account,</li>
|
||||
<li>Card transaction limit exceeded,</li>
|
||||
<li>Card blocked by the bank,</li>
|
||||
<li>Technical issues.</li>
|
||||
</ul>
|
||||
<p>We recommend contacting your bank for details.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Will I receive a payment receipt?</h3>
|
||||
<p>Yes, an electronic receipt will be sent to your specified email immediately after a successful payment in accordance with Federal Law No. 54-FZ.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Delivery 🚚</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Which delivery services are used?</h3>
|
||||
<p><strong>Digital products:</strong> DexarMarket automatically sends digital products (licenses, keys, certificates) to your email or personal account instantly after payment.</p>
|
||||
<p><strong>Physical products:</strong> The seller works independently with leading delivery services:</p>
|
||||
<ul>
|
||||
<li>CDEK,</li>
|
||||
<li>Russian Post,</li>
|
||||
<li>Boxberry,</li>
|
||||
<li>DPD,</li>
|
||||
<li>Yandex.Delivery.</li>
|
||||
</ul>
|
||||
<p>The delivery method for physical products is chosen based on the seller's preferences and destination.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How much does delivery cost?</h3>
|
||||
<p><strong>Digital products:</strong> Delivery is free — the product arrives to your email instantly.</p>
|
||||
<p><strong>Physical products:</strong> The price is determined by the seller and depends on the weight, dimensions, chosen method, and delivery region. The final cost is displayed at checkout.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>What is the delivery time for my order?</h3>
|
||||
<p><strong>Digital products:</strong> Instant delivery to email (within a few minutes after payment).</p>
|
||||
<p><strong>Physical products</strong> (estimated times):</p>
|
||||
<ul>
|
||||
<li>CDEK: 2–7 business days,</li>
|
||||
<li>Russian Post: 5–14 business days,</li>
|
||||
<li>Boxberry: 2–5 business days,</li>
|
||||
<li>DPD: 1–3 business days,</li>
|
||||
<li>Yandex.Delivery: same day (if available in your city).</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do I track my package?</h3>
|
||||
<p>You will receive a tracking code via email and can view the order status in your personal account. You can track the package on the official website of the chosen courier service.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>What should I do if the product arrived damaged? ⛑</h3>
|
||||
<p>Inspect the product in front of the courier. If defects are found, fill out a refusal of acceptance report and immediately notify the seller and support service.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Returns and Exchanges ✅</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Can I return a product?</h3>
|
||||
<p>Yes, the law allows you to return a quality product within 7 days of receipt. Defective items are returned under special rules.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Which products cannot be returned?</h3>
|
||||
<p>Products listed in Russian Government Decree No. 2463 cannot be returned: medications, cosmetics, underwear, activated digital products, and custom orders. See details in the <a [routerLink]="'/return-policy' | langRoute">"Return Policy"</a> section.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do I get a refund?</h3>
|
||||
<p>
|
||||
1. Notify the seller of your intention to return the product.<br>
|
||||
2. Return the product in its original packaging.<br>
|
||||
3. The seller will inspect the product and refund the amount using the same payment method (up to 30 days for the refund to process).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Who pays for return shipping?</h3>
|
||||
<p>The buyer pays for return shipping of quality products. If a defect is found, the seller covers the costs.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Warranty 🔧</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Is there a warranty on products?</h3>
|
||||
<p>Most of our products come with an official manufacturer's warranty. The period ranges from 12 to 36 months and is indicated on each product page.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do I use the warranty?</h3>
|
||||
<p>Notify the seller of the defect, attaching photos of the damage and the warranty card. The seller will handle repair or replacement of the product.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>What is not covered by warranty?</h3>
|
||||
<p>Mechanical damage, consequences of improper use, unauthorized repair, moisture exposure (if not protected), and natural wear — none of these are covered under warranty.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Security and Privacy 🔐</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do you protect my personal data?</h3>
|
||||
<p>We use modern SSL/TLS encryption methods, do not store card details, and comply with Federal Law No. 152-FZ on personal data protection. Details are available in our <a [routerLink]="'/privacy-policy' | langRoute">Privacy Policy</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Who has access to my data?</h3>
|
||||
<p>Only your seller for order processing and delivery services. Data is not used by third parties for marketing without your permission.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do I delete my account?</h3>
|
||||
<p>Send a request to our support service to delete your account. The account and personal information will be removed within one month.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Information for Sellers 📋</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do I start selling on the platform?</h3>
|
||||
<p>To join our sellers, contact our support service by email at <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>What is the platform's commission?</h3>
|
||||
<p>The commission depends on the product type and sales volume. You can find out the exact terms during registration.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>When will I receive payment for a sale?</h3>
|
||||
<p>The seller receives funds after the customer confirms receipt of the product or two weeks after delivery if the customer has not reported any issues.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Customer Support 💬</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do I contact support?</h3>
|
||||
<p>
|
||||
✉️ <strong>Email:</strong> <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a><br>
|
||||
📞 <strong>Phone (Russia):</strong> <a href="tel:+79264593157">+7 (926) 459-31-57</a><br>
|
||||
📞 <strong>Phone (Armenia):</strong> <a href="tel:+37494861816">+374 94 86 18 16</a><br>
|
||||
🏢 <strong>Office hours:</strong> 10:00–19:00 (MSK)<br>
|
||||
❄️ <strong>Technical support is available 24/7.</strong>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How long does it take to get a response?</h3>
|
||||
<p>During business hours, you will receive a response within two hours. On holidays and weekends, delays of up to 24 hours are possible.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Need Help?</h2>
|
||||
<p>If you have any additional questions, please contact us at <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a> — we will promptly resolve any of your questions!</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do I register on the platform?</h3>
|
||||
<p>Registration is easy: open our app within Telegram. Your profile will be created automatically as soon as you log in.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Is it safe to buy on the site?</h3>
|
||||
<p>Absolutely! All transactions are protected by modern encryption technologies (PCI DSS and 3D Secure). Your banking details are securely stored separately from our system.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Placing an Order</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do I place an order?</h3>
|
||||
<p>
|
||||
1️⃣ Find the product you like and add it to your cart.<br>
|
||||
2️⃣ Open the cart and click "Place Order".<br>
|
||||
3️⃣ Enter your delivery address and contact information.<br>
|
||||
4️⃣ Choose a convenient payment method.<br>
|
||||
5️⃣ Review and accept the public offer agreement.<br>
|
||||
6️⃣ Complete the payment for your order.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Can I make changes to my order after purchase?</h3>
|
||||
<p>If the seller has not yet shipped the product, contact our support — we will help adjust the order. However, once the product has been shipped, changes are not possible.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do I cancel an order?</h3>
|
||||
<p>Contact us or the seller directly through order chats. As long as the package has not been shipped, cancellation is possible with a full refund.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Payment 💳</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>What payment methods are available?</h3>
|
||||
<p>We accept:</p>
|
||||
<ul>
|
||||
<li>Bank cards: Visa, MasterCard, MIR,</li>
|
||||
<li>Fast Payment System (FPS),</li>
|
||||
<li>Electronic wallets: YooMoney, QIWI,</li>
|
||||
<li>Cash on delivery (if offered by the seller).</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>When will funds be charged from my card?</h3>
|
||||
<p>The transaction is processed instantly, but the funds are temporarily held until you receive the product. Once you confirm receipt, the funds are released to the seller.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Why might my payment be declined?</h3>
|
||||
<p>Possible reasons for decline:</p>
|
||||
<ul>
|
||||
<li>Insufficient funds in the account,</li>
|
||||
<li>Card transaction limit exceeded,</li>
|
||||
<li>Card blocked by the bank,</li>
|
||||
<li>Technical issues.</li>
|
||||
</ul>
|
||||
<p>We recommend contacting your bank for details.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Will I receive a payment receipt?</h3>
|
||||
<p>Yes, an electronic receipt will be sent to your specified email immediately after a successful payment in accordance with Federal Law No. 54-FZ.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Delivery 🚚</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Which delivery services are used?</h3>
|
||||
<p><strong>Digital products:</strong> DexarMarket automatically sends digital products (licenses, keys, certificates) to your email or personal account instantly after payment.</p>
|
||||
<p><strong>Physical products:</strong> The seller works independently with leading delivery services:</p>
|
||||
<ul>
|
||||
<li>CDEK,</li>
|
||||
<li>Russian Post,</li>
|
||||
<li>Boxberry,</li>
|
||||
<li>DPD,</li>
|
||||
<li>Yandex.Delivery.</li>
|
||||
</ul>
|
||||
<p>The delivery method for physical products is chosen based on the seller's preferences and destination.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How much does delivery cost?</h3>
|
||||
<p><strong>Digital products:</strong> Delivery is free — the product arrives to your email instantly.</p>
|
||||
<p><strong>Physical products:</strong> The price is determined by the seller and depends on the weight, dimensions, chosen method, and delivery region. The final cost is displayed at checkout.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>What is the delivery time for my order?</h3>
|
||||
<p><strong>Digital products:</strong> Instant delivery to email (within a few minutes after payment).</p>
|
||||
<p><strong>Physical products</strong> (estimated times):</p>
|
||||
<ul>
|
||||
<li>CDEK: 2–7 business days,</li>
|
||||
<li>Russian Post: 5–14 business days,</li>
|
||||
<li>Boxberry: 2–5 business days,</li>
|
||||
<li>DPD: 1–3 business days,</li>
|
||||
<li>Yandex.Delivery: same day (if available in your city).</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do I track my package?</h3>
|
||||
<p>You will receive a tracking code via email and can view the order status in your personal account. You can track the package on the official website of the chosen courier service.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>What should I do if the product arrived damaged? ⛑</h3>
|
||||
<p>Inspect the product in front of the courier. If defects are found, fill out a refusal of acceptance report and immediately notify the seller and support service.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Returns and Exchanges ✅</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Can I return a product?</h3>
|
||||
<p>Yes, the law allows you to return a quality product within 7 days of receipt. Defective items are returned under special rules.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Which products cannot be returned?</h3>
|
||||
<p>Products listed in Russian Government Decree No. 2463 cannot be returned: medications, cosmetics, underwear, activated digital products, and custom orders. See details in the <a [routerLink]="'/return-policy' | langRoute">"Return Policy"</a> section.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do I get a refund?</h3>
|
||||
<p>
|
||||
1. Notify the seller of your intention to return the product.<br>
|
||||
2. Return the product in its original packaging.<br>
|
||||
3. The seller will inspect the product and refund the amount using the same payment method (up to 30 days for the refund to process).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Who pays for return shipping?</h3>
|
||||
<p>The buyer pays for return shipping of quality products. If a defect is found, the seller covers the costs.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Warranty 🔧</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Is there a warranty on products?</h3>
|
||||
<p>Most of our products come with an official manufacturer's warranty. The period ranges from 12 to 36 months and is indicated on each product page.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do I use the warranty?</h3>
|
||||
<p>Notify the seller of the defect, attaching photos of the damage and the warranty card. The seller will handle repair or replacement of the product.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>What is not covered by warranty?</h3>
|
||||
<p>Mechanical damage, consequences of improper use, unauthorized repair, moisture exposure (if not protected), and natural wear — none of these are covered under warranty.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Security and Privacy 🔐</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do you protect my personal data?</h3>
|
||||
<p>We use modern SSL/TLS encryption methods, do not store card details, and comply with Federal Law No. 152-FZ on personal data protection. Details are available in our <a [routerLink]="'/privacy-policy' | langRoute">Privacy Policy</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Who has access to my data?</h3>
|
||||
<p>Only your seller for order processing and delivery services. Data is not used by third parties for marketing without your permission.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do I delete my account?</h3>
|
||||
<p>Send a request to our support service to delete your account. The account and personal information will be removed within one month.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Information for Sellers 📋</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do I start selling on the platform?</h3>
|
||||
<p>To join our sellers, contact our support service by email at <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>What is the platform's commission?</h3>
|
||||
<p>The commission depends on the product type and sales volume. You can find out the exact terms during registration.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>When will I receive payment for a sale?</h3>
|
||||
<p>The seller receives funds after the customer confirms receipt of the product or two weeks after delivery if the customer has not reported any issues.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Customer Support 💬</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How do I contact support?</h3>
|
||||
<p>
|
||||
✉️ <strong>Email:</strong> <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a><br>
|
||||
📞 <strong>Phone (Russia):</strong> <a href="tel:+79264593157">+7 (926) 459-31-57</a><br>
|
||||
📞 <strong>Phone (Armenia):</strong> <a href="tel:+37494861816">+374 94 86 18 16</a><br>
|
||||
🏢 <strong>Office hours:</strong> 10:00–19:00 (MSK)<br>
|
||||
❄️ <strong>Technical support is available 24/7.</strong>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>How long does it take to get a response?</h3>
|
||||
<p>During business hours, you will receive a response within two hours. On holidays and weekends, delays of up to 24 hours are possible.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Need Help?</h2>
|
||||
<p>If you have any additional questions, please contact us at <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a> — we will promptly resolve any of your questions!</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
@@ -1,240 +1,244 @@
|
||||
<h1>Հաճախ տրվող հարցեր (FAQ) 📌</h1>
|
||||
<div class="legal-page">
|
||||
<div class="legal-container">
|
||||
<h1>Հաճախ տրվող հարցեր (FAQ) 📌</h1>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Ընդհանուր հարցեր</h2>
|
||||
<section class="legal-section">
|
||||
<h2>Ընդհանուր հարցեր</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչ է DexarMarket-ը։</h3>
|
||||
<p>DexarMarket-ը օնլայն հարթակ է, որտեղ անկախ վաճառողները տեղադրում են իրենց ապրանքներն ու ծառայությունները։ Մեր նպատակն է ապահովել հարմար ու անվտանգ միջավայր գնումների համար — մենք ինքներս ապրանքներ չենք արտադրում ու չենք վաճառում։</p>
|
||||
<div class="faq-item">
|
||||
<h3>Ինչ է DexarMarket-ը։</h3>
|
||||
<p>DexarMarket-ը օնլայն հարթակ է, որտեղ անկախ վաճառողները տեղադրում են իրենց ապրանքներն ու ծառայությունները։ Մեր նպատակն է ապահովել հարմար ու անվտանգ միջավայր գնումների համար — մենք ինքներս ապրանքներ չենք արտադրում ու չենք վաճառում։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես գրանցվել հարթակում։</h3>
|
||||
<p>Գրանցվելը հեշտ է՝ բացեք մեր հավելվածը Telegram-ում։ Ձեր պրոֆիլը կստեղծվի ավտոմատ կերպով մուտք գործելուց հետո։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Անվտանգ է գնել կայքում։</h3>
|
||||
<p>Անպայմանորեն՝ Բոլոր գործարքները պաշտպանված են ժամանակակից գաղտնագրման տեխնոլոգիաներով (PCI DSS և 3D Secure)։ Ձեր բանկային տվյալները պահվում են ապահով կերպով՝ անջատորեն մեր համակարգից։</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Պատվերի ձևակերպում</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես կատարել գնում։</h3>
|
||||
<p>
|
||||
1️⃣ Գտեք ձեզհամած ապրանքը և ավելացրեք զամբյուղին։<br>
|
||||
2️⃣ Բացեք զամբյուղը և սեղմեք «Ձևակերպել պատվերը»։<br>
|
||||
3️⃣ Նշեք առաքման հասցեն և կապի տեղեկատվությունը։<br>
|
||||
4️⃣ Ընտրեք հարմար վճարման եղանակ։<br>
|
||||
5️⃣ Ծանոթացեք և հաստատեք հանրային օֆերտան։<br>
|
||||
6️⃣ Ավարտեք վճարումը։
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Կարելի։ է փոփոխություններ կատարել գնումից հետո։</h3>
|
||||
<p>Եթե վաճառողը դեռ չի ուղարկել ապրանքը, գրեք մեզ աջակցության ծառայություն — մենք կօգնենք ճշտել պատվերը։ Սակայն ապրանքը ուղարկելուց հետո փոփոխություն հնարավոր չէ։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես հրաժարվել պատվերից։</h3>
|
||||
<p>Կապվեք մեզ հետ կամ անմիջապես վաճառողի հետ պատվերների չատերով։ Մինչև ծանրը չի ուղարկվել, հնարավոր է հրաժարվել լիովին գումարի վերադարձով։</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Վճարում 💳</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչ վճարման եղանակներ կան։</h3>
|
||||
<p>Ընդունվում են՝</p>
|
||||
<ul>
|
||||
<li>Visa, MasterCard, ՄԻՌ բանկային քարտեր,</li>
|
||||
<li>Արագ վճարման համակարգ (ՍԲՊ),</li>
|
||||
<li>Ելեկտրոնային դրամապանակներ՝ YooMoney, QIWI,</li>
|
||||
<li>Կանխիկ՝ ստանալուց (եթե վաճառողի կողմից նախատեսված է)։</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Երբ կգրանցվեն գումարը քարտից։</h3>
|
||||
<p>Գործարքը կատարվում է անմիջապես, սակայն գումարը ժամանակավորապես սառեցվում է մինչև ապրանքը ստանանք։ Ստացումը հաստատելուց հետո գումարը ֆոխանցվում է վաճառողին։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչու կարող է վճարումս մերժվել։</h3>
|
||||
<p>Մերժման հնարավոր պատճառները՝</p>
|
||||
<ul>
|
||||
<li>Հաշվին անբավարար միջոցներ,</li>
|
||||
<li>Քարտի գործառնությունների սահմանափակման գերազանցում,</li>
|
||||
<li>Քարտը արգելափակված է բանկի կողմից,</li>
|
||||
<li>Տեխնիկական խնդիրներ։</li>
|
||||
</ul>
|
||||
<p>Խորհուրդ ենք տալիս դիմել բանկ մանրամասների ճշտելման համար։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Կստանամ վճարման անդրութ։</h3>
|
||||
<p>Այո, էլեկտրոնային անդրագիրը կուգա ձեր նշված էլ. հասցեին հաջողված վճարմանից անմիջապես հետո՝ համաձայն Վ դաշնային օրենքի № 54-ԿԶ-ի պահանջներին։</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Առաքում 🚚</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչ առաքման ծառայություններ կան։</h3>
|
||||
<p><strong>Թվային ապրանքներ՝</strong> DexarMarket հարթակն ավտոմատ կերպով ուղարկում է թվային ապրանքները (լիցենզիաներ, բանալիներ, վկայագրեր) ձեր էլ. հասցեին կամ անձնական հաշվին՝ վճարմանից անմիջապես հետո։</p>
|
||||
<p><strong>Նյութական ապրանքներ՝</strong> Վաճառողն ինքնուրույն աշխատում է առաքման ծառայությունների հետ՝</p>
|
||||
<ul>
|
||||
<li>ՍԴԷԿ,</li>
|
||||
<li>Ռուսաստանի փոստ,</li>
|
||||
<li>Boxberry,</li>
|
||||
<li>DPD,</li>
|
||||
<li>Yandex.Առաքում։</li>
|
||||
</ul>
|
||||
<p>Նյութական ապրանքների առաքման եղանակը ընտրվում է վաճառողի նախապատվություններին և նպատակակետին համապատասխան։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչքան արժե առաքումը։</h3>
|
||||
<p><strong>Թվային ապրանքներ՝</strong> Առաքումն անվճար է — ապրանքը կհասնի էլ. հասցեին անմիջապես։</p>
|
||||
<p><strong>Նյութական ապրանքներ՝</strong> Գինը որոշվում է վաճառողի կողմից և կախված է ապրանքի քաշից, չափսերից, առաքման եղանակից և տարածաշրջանից։ Վերջնական արժեքը ցուցադրվում է պատվերի ձևակերպման ժամանակ։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչքան ժամանակ է առաքումը։</h3>
|
||||
<p><strong>Թվային ապրանքներ՝</strong> Ակնթարծիկ առաքում էլ. հասցեին (վճարումից հետո մի քանի րոպեի ընթացքում)։</p>
|
||||
<p><strong>Նյութական ապրանքներ</strong> (մոտավոր ժամկետներ)՝</p>
|
||||
<ul>
|
||||
<li>ՍԴԷԿ՝ 2–7 աշխատանքային օր,</li>
|
||||
<li>Ռուսաստանի փոստ՝ 5–14 աշխատանքային օր,</li>
|
||||
<li>Boxberry՝ 2–5 աշխատանքային օր,</li>
|
||||
<li>DPD՝ 1–3 աշխատանքային օր,</li>
|
||||
<li>Yandex.Առաքում՝ նույն օրը (եթե ձեր քաղաքում հասանելի է)։</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես հետևել ծանրուկը։</h3>
|
||||
<p>Դուք կստանաք հետևման կոդը ձեր էլ. հասցեին և կկարողանաք տեսնել պատվերի կարգավիճակը անձնական հաշվում։ Հետևել ծանրուկը կարելի է ընտրված սուրհանդակային ծառայության պաշտոնական կայքում։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչ անել, եթե ապրանքը եկել է վնասված։ ⛑</h3>
|
||||
<p>Ստուգեք ապրանքը սուրհանդակի ներկայությամբ։ Թերություններ հայտնաբերելու դեպքում կազմեք ընդունման մերժման ակտ և անհապաղ տեղեկացրեք վաճառողին և աջակցության ծառայությանը։</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Վերադարձ և փոխանակում ✅</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Կարելի։ է վերադարձնել ապրանքը։</h3>
|
||||
<p>Այո, օրենքը թույլ է տալիս վերադարձնել որակյալ ապրանքը 7 օրվա ընթացքում։ Թերությունով ապրանքները վերադարձվում են հատուկ կանոններով։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչ ապրանքներ հնարավոր չէ վերադարձնել։</h3>
|
||||
<p>ՌԴ Կառավարության որոշման № 2463-ով նշված ապրանքները հնարավոր չէ վերադարձնել՝ դեղամիջոցներ, կոսմետիկա, ներքնակի սպիտակեղեն, ակտիվացված թվային ապրանքներ և անհատական պատվերներ։ Մանրամասները տեսեք <a [routerLink]="'/return-policy' | langRoute">«Վերադարձի քաղաքականություն»</a> բաժնում։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես վերադարձնել գումարը։</h3>
|
||||
<p>
|
||||
1. Տեղեկացրեք վաճառողին ապրանքը վերադարձնելու մասին։<br>
|
||||
2. Վերադարձրեք ապրանքը սկզբնական փաթեթավորման մեջ։<br>
|
||||
3. Վաճառողը կստուգի ապրանքի վիճակը և կվերադարձնի գումարը նույն վճարման եղանակով (մինչև 30 օր սպասման ժամկետ)։
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ով կվճարի հետադարձի առաքումը։</h3>
|
||||
<p>Գնորդը վճարում է որակյալ ապրանքի հետադարձի առաքումը։ Թերություն հայտնաբերելու դեպքում ծախսերը կրում է վաճառողը։</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Երաշխիք 🔧</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Կա։ երաշխիք ապրանքների համար։</h3>
|
||||
<p>Մեր ապրանքների մեծ մասը ունի արտադրողի պաշտոնական երաշխիք։ Պայմանագիրը տատանվում է 12-ից 36 ամիս և նշված է յուրաքանչյուր ապրանքի էջում։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես օգտվել երաշխիքով։</h3>
|
||||
<p>Տեղեկացրեք վաճառողին թերության մասին՝ կցելով թերությունների լուսանկարներ և երաշխիքային տալոն։ Վաճառողը կզբաղվի վերանորոգմամբ կամ ապրանքի փոխարինումով։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչը չի ընդգրկվում երաշխիքով։</h3>
|
||||
<p>Մեխանիկական վնասվածքներ, ոչ պատշաճ շահագործման հետևանքներ, ինքնակամ վերանորոգում, խոնավի ազդեցություն (եթե պաշտպանություն չկա), բնական մաշվածում — այս ամենը չի ընդգրկվում երաշխիքով։</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Անվտանգություն և գաղտնիություն 🔐</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես եք պաշտպանում իմ անձնական տվյալները։</h3>
|
||||
<p>Մենք օգտագործում ենք SSL/TLS գաղտնագրման ժամանակակից մեթոդներ, չենք պահում քարտերի տվյալները և կատարում ենք № 152-ԿԶ դաշնային օրենքի պահանջները։ Մանրամասները — <a [routerLink]="'/privacy-policy' | langRoute">Գաղտնիության քաղաքականություն</a>ում։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ում է տրամադրվում իմ տվյալները։</h3>
|
||||
<p>Միայն ձեր վաճառողին՝ պատվերի մշակման և առաքման ծառայություններին։ Տվյալները չեն օգտագործվում երրորդ կողմերի կողմից շուկայական նպատակներով առանց ձեր թույլտվության։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես ջնջել հաշվիս։</h3>
|
||||
<p>Գրեք մեզ աջակցության ծառայություն՝ հաշվի ջնջման հայտով։ Հաշիվը կլիքվիդացվի անձնական տեղեկատվությամբ մեկ ամսվա ընթացքում։</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Տեղեկատվություն վաճառողների համար 📋</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես սկսել վաճառել հարթակում։</h3>
|
||||
<p>Մեր վաճառողներին միանալու համար դիմեք աջակցության ծառայությանը՝ էլեկտրոնային փոստով <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a>։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչքան է հարթակի միջնորդավճարը։</h3>
|
||||
<p>Միջնորդավճարը կախված է ապրանքի տեսակից և վաճառքի ծավալից։ Ճիշտ պայմանները կարող եք իմանալ գրանցվելուց։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Երբ կստանամ վաճառքի գումարը։</h3>
|
||||
<p>Վաճառողը ստանում է գումարը հաճախորդի կողմից ապրանքի ստացումը հաստատելուց հետո կամ առաքմանից երկու շաբաթ հետո, եթե հաճախորդը խնդիրներ չի նշել։</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Աջակցության ծառայություն 💬</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես կապվել աջակցության հետ։</h3>
|
||||
<p>
|
||||
✉️ <strong>Էլ. հասցե՝</strong> <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a><br>
|
||||
📞 <strong>Հեռախոս (Ռուսաստան)՝</strong> <a href="tel:+79264593157">+7 (926) 459-31-57</a><br>
|
||||
📞 <strong>Հեռախոս (Հայաստան)՝</strong> <a href="tel:+37494861816">+374 94 86 18 16</a><br>
|
||||
🏢 <strong>Գրասենյակի աշխատանքային ժամերը՝</strong> 10:00—19:00 (ՄՍԿ)<br>
|
||||
❄️ <strong>Տեխնիկական աջակցությունը հասանելի է 24/7։</strong>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչքան սպասել պատասխան։</h3>
|
||||
<p>Աշխատանքային օրերին պատասխանը գալիս է երկու ժամվա ընթացքում։ Տոներին և հանգստյան օրերին հնարավոր են ուշացումներ մինչև մեկ օր։</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Օգնություն է հարկավոր։</h2>
|
||||
<p>Եթե լրացուցիչ հարցեր ունեք, դիմեք <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a> — մենք արագորեն կլուծենք ձեր հարցերը։</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես գրանցվել հարթակում։</h3>
|
||||
<p>Գրանցվելը հեշտ է՝ բացեք մեր հավելվածը Telegram-ում։ Ձեր պրոֆիլը կստեղծվի ավտոմատ կերպով մուտք գործելուց հետո։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Անվտանգ է գնել կայքում։</h3>
|
||||
<p>Անպայմանորեն՝ Բոլոր գործարքները պաշտպանված են ժամանակակից գաղտնագրման տեխնոլոգիաներով (PCI DSS և 3D Secure)։ Ձեր բանկային տվյալները պահվում են ապահով կերպով՝ անջատորեն մեր համակարգից։</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Պատվերի ձևակերպում</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես կատարել գնում։</h3>
|
||||
<p>
|
||||
1️⃣ Գտեք ձեզհամած ապրանքը և ավելացրեք զամբյուղին։<br>
|
||||
2️⃣ Բացեք զամբյուղը և սեղմեք «Ձևակերպել պատվերը»։<br>
|
||||
3️⃣ Նշեք առաքման հասցեն և կապի տեղեկատվությունը։<br>
|
||||
4️⃣ Ընտրեք հարմար վճարման եղանակ։<br>
|
||||
5️⃣ Ծանոթացեք և հաստատեք հանրային օֆերտան։<br>
|
||||
6️⃣ Ավարտեք վճարումը։
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Կարելի։ է փոփոխություններ կատարել գնումից հետո։</h3>
|
||||
<p>Եթե վաճառողը դեռ չի ուղարկել ապրանքը, գրեք մեզ աջակցության ծառայություն — մենք կօգնենք ճշտել պատվերը։ Սակայն ապրանքը ուղարկելուց հետո փոփոխություն հնարավոր չէ։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես հրաժարվել պատվերից։</h3>
|
||||
<p>Կապվեք մեզ հետ կամ անմիջապես վաճառողի հետ պատվերների չատերով։ Մինչև ծանրը չի ուղարկվել, հնարավոր է հրաժարվել լիովին գումարի վերադարձով։</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Վճարում 💳</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչ վճարման եղանակներ կան։</h3>
|
||||
<p>Ընդունվում են՝</p>
|
||||
<ul>
|
||||
<li>Visa, MasterCard, ՄԻՌ բանկային քարտեր,</li>
|
||||
<li>Արագ վճարման համակարգ (ՍԲՊ),</li>
|
||||
<li>Ելեկտրոնային դրամապանակներ՝ YooMoney, QIWI,</li>
|
||||
<li>Կանխիկ՝ ստանալուց (եթե վաճառողի կողմից նախատեսված է)։</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Երբ կգրանցվեն գումարը քարտից։</h3>
|
||||
<p>Գործարքը կատարվում է անմիջապես, սակայն գումարը ժամանակավորապես սառեցվում է մինչև ապրանքը ստանանք։ Ստացումը հաստատելուց հետո գումարը ֆոխանցվում է վաճառողին։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչու կարող է վճարումս մերժվել։</h3>
|
||||
<p>Մերժման հնարավոր պատճառները՝</p>
|
||||
<ul>
|
||||
<li>Հաշվին անբավարար միջոցներ,</li>
|
||||
<li>Քարտի գործառնությունների սահմանափակման գերազանցում,</li>
|
||||
<li>Քարտը արգելափակված է բանկի կողմից,</li>
|
||||
<li>Տեխնիկական խնդիրներ։</li>
|
||||
</ul>
|
||||
<p>Խորհուրդ ենք տալիս դիմել բանկ մանրամասների ճշտելման համար։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Կստանամ վճարման անդրութ։</h3>
|
||||
<p>Այո, էլեկտրոնային անդրագիրը կուգա ձեր նշված էլ. հասցեին հաջողված վճարմանից անմիջապես հետո՝ համաձայն Վ դաշնային օրենքի № 54-ԿԶ-ի պահանջներին։</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Առաքում 🚚</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչ առաքման ծառայություններ կան։</h3>
|
||||
<p><strong>Թվային ապրանքներ՝</strong> DexarMarket հարթակն ավտոմատ կերպով ուղարկում է թվային ապրանքները (լիցենզիաներ, բանալիներ, վկայագրեր) ձեր էլ. հասցեին կամ անձնական հաշվին՝ վճարմանից անմիջապես հետո։</p>
|
||||
<p><strong>Նյութական ապրանքներ՝</strong> Վաճառողն ինքնուրույն աշխատում է առաքման ծառայությունների հետ՝</p>
|
||||
<ul>
|
||||
<li>ՍԴԷԿ,</li>
|
||||
<li>Ռուսաստանի փոստ,</li>
|
||||
<li>Boxberry,</li>
|
||||
<li>DPD,</li>
|
||||
<li>Yandex.Առաքում։</li>
|
||||
</ul>
|
||||
<p>Նյութական ապրանքների առաքման եղանակը ընտրվում է վաճառողի նախապատվություններին և նպատակակետին համապատասխան։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչքան արժե առաքումը։</h3>
|
||||
<p><strong>Թվային ապրանքներ՝</strong> Առաքումն անվճար է — ապրանքը կհասնի էլ. հասցեին անմիջապես։</p>
|
||||
<p><strong>Նյութական ապրանքներ՝</strong> Գինը որոշվում է վաճառողի կողմից և կախված է ապրանքի քաշից, չափսերից, առաքման եղանակից և տարածաշրջանից։ Վերջնական արժեքը ցուցադրվում է պատվերի ձևակերպման ժամանակ։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչքան ժամանակ է առաքումը։</h3>
|
||||
<p><strong>Թվային ապրանքներ՝</strong> Ակնթարծիկ առաքում էլ. հասցեին (վճարումից հետո մի քանի րոպեի ընթացքում)։</p>
|
||||
<p><strong>Նյութական ապրանքներ</strong> (մոտավոր ժամկետներ)՝</p>
|
||||
<ul>
|
||||
<li>ՍԴԷԿ՝ 2–7 աշխատանքային օր,</li>
|
||||
<li>Ռուսաստանի փոստ՝ 5–14 աշխատանքային օր,</li>
|
||||
<li>Boxberry՝ 2–5 աշխատանքային օր,</li>
|
||||
<li>DPD՝ 1–3 աշխատանքային օր,</li>
|
||||
<li>Yandex.Առաքում՝ նույն օրը (եթե ձեր քաղաքում հասանելի է)։</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես հետևել ծանրուկը։</h3>
|
||||
<p>Դուք կստանաք հետևման կոդը ձեր էլ. հասցեին և կկարողանաք տեսնել պատվերի կարգավիճակը անձնական հաշվում։ Հետևել ծանրուկը կարելի է ընտրված սուրհանդակային ծառայության պաշտոնական կայքում։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչ անել, եթե ապրանքը եկել է վնասված։ ⛑</h3>
|
||||
<p>Ստուգեք ապրանքը սուրհանդակի ներկայությամբ։ Թերություններ հայտնաբերելու դեպքում կազմեք ընդունման մերժման ակտ և անհապաղ տեղեկացրեք վաճառողին և աջակցության ծառայությանը։</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Վերադարձ և փոխանակում ✅</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Կարելի։ է վերադարձնել ապրանքը։</h3>
|
||||
<p>Այո, օրենքը թույլ է տալիս վերադարձնել որակյալ ապրանքը 7 օրվա ընթացքում։ Թերությունով ապրանքները վերադարձվում են հատուկ կանոններով։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչ ապրանքներ հնարավոր չէ վերադարձնել։</h3>
|
||||
<p>ՌԴ Կառավարության որոշման № 2463-ով նշված ապրանքները հնարավոր չէ վերադարձնել՝ դեղամիջոցներ, կոսմետիկա, ներքնակի սպիտակեղեն, ակտիվացված թվային ապրանքներ և անհատական պատվերներ։ Մանրամասները տեսեք <a [routerLink]="'/return-policy' | langRoute">«Վերադարձի քաղաքականություն»</a> բաժնում։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես վերադարձնել գումարը։</h3>
|
||||
<p>
|
||||
1. Տեղեկացրեք վաճառողին ապրանքը վերադարձնելու մասին։<br>
|
||||
2. Վերադարձրեք ապրանքը սկզբնական փաթեթավորման մեջ։<br>
|
||||
3. Վաճառողը կստուգի ապրանքի վիճակը և կվերադարձնի գումարը նույն վճարման եղանակով (մինչև 30 օր սպասման ժամկետ)։
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ով կվճարի հետադարձի առաքումը։</h3>
|
||||
<p>Գնորդը վճարում է որակյալ ապրանքի հետադարձի առաքումը։ Թերություն հայտնաբերելու դեպքում ծախսերը կրում է վաճառողը։</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Երաշխիք 🔧</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Կա։ երաշխիք ապրանքների համար։</h3>
|
||||
<p>Մեր ապրանքների մեծ մասը ունի արտադրողի պաշտոնական երաշխիք։ Պայմանագիրը տատանվում է 12-ից 36 ամիս և նշված է յուրաքանչյուր ապրանքի էջում։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես օգտվել երաշխիքով։</h3>
|
||||
<p>Տեղեկացրեք վաճառողին թերության մասին՝ կցելով թերությունների լուսանկարներ և երաշխիքային տալոն։ Վաճառողը կզբաղվի վերանորոգմամբ կամ ապրանքի փոխարինումով։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչը չի ընդգրկվում երաշխիքով։</h3>
|
||||
<p>Մեխանիկական վնասվածքներ, ոչ պատշաճ շահագործման հետևանքներ, ինքնակամ վերանորոգում, խոնավի ազդեցություն (եթե պաշտպանություն չկա), բնական մաշվածում — այս ամենը չի ընդգրկվում երաշխիքով։</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Անվտանգություն և գաղտնիություն 🔐</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես եք պաշտպանում իմ անձնական տվյալները։</h3>
|
||||
<p>Մենք օգտագործում ենք SSL/TLS գաղտնագրման ժամանակակից մեթոդներ, չենք պահում քարտերի տվյալները և կատարում ենք № 152-ԿԶ դաշնային օրենքի պահանջները։ Մանրամասները — <a [routerLink]="'/privacy-policy' | langRoute">Գաղտնիության քաղաքականություն</a>ում։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ում է տրամադրվում իմ տվյալները։</h3>
|
||||
<p>Միայն ձեր վաճառողին՝ պատվերի մշակման և առաքման ծառայություններին։ Տվյալները չեն օգտագործվում երրորդ կողմերի կողմից շուկայական նպատակներով առանց ձեր թույլտվության։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես ջնջել հաշվիս։</h3>
|
||||
<p>Գրեք մեզ աջակցության ծառայություն՝ հաշվի ջնջման հայտով։ Հաշիվը կլիքվիդացվի անձնական տեղեկատվությամբ մեկ ամսվա ընթացքում։</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Տեղեկատվություն վաճառողների համար 📋</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես սկսել վաճառել հարթակում։</h3>
|
||||
<p>Մեր վաճառողներին միանալու համար դիմեք աջակցության ծառայությանը՝ էլեկտրոնային փոստով <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a>։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչքան է հարթակի միջնորդավճարը։</h3>
|
||||
<p>Միջնորդավճարը կախված է ապրանքի տեսակից և վաճառքի ծավալից։ Ճիշտ պայմանները կարող եք իմանալ գրանցվելուց։</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Երբ կստանամ վաճառքի գումարը։</h3>
|
||||
<p>Վաճառողը ստանում է գումարը հաճախորդի կողմից ապրանքի ստացումը հաստատելուց հետո կամ առաքմանից երկու շաբաթ հետո, եթե հաճախորդը խնդիրներ չի նշել։</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Աջակցության ծառայություն 💬</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչպես կապվել աջակցության հետ։</h3>
|
||||
<p>
|
||||
✉️ <strong>Էլ. հասցե՝</strong> <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a><br>
|
||||
📞 <strong>Հեռախոս (Ռուսաստան)՝</strong> <a href="tel:+79264593157">+7 (926) 459-31-57</a><br>
|
||||
📞 <strong>Հեռախոս (Հայաստան)՝</strong> <a href="tel:+37494861816">+374 94 86 18 16</a><br>
|
||||
🏢 <strong>Գրասենյակի աշխատանքային ժամերը՝</strong> 10:00—19:00 (ՄՍԿ)<br>
|
||||
❄️ <strong>Տեխնիկական աջակցությունը հասանելի է 24/7։</strong>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Ինչքան սպասել պատասխան։</h3>
|
||||
<p>Աշխատանքային օրերին պատասխանը գալիս է երկու ժամվա ընթացքում։ Տոներին և հանգստյան օրերին հնարավոր են ուշացումներ մինչև մեկ օր։</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Օգնություն է հարկավոր։</h2>
|
||||
<p>Եթե լրացուցիչ հարցեր ունեք, դիմեք <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a> — մենք արագորեն կլուծենք ձեր հարցերը։</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
@@ -1,240 +1,244 @@
|
||||
<h1>Часто задаваемые вопросы (FAQ) 📌</h1>
|
||||
<div class="legal-page">
|
||||
<div class="legal-container">
|
||||
<h1>Часто задаваемые вопросы (FAQ) 📌</h1>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Общие вопросы</h2>
|
||||
<section class="legal-section">
|
||||
<h2>Общие вопросы</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Что такое DexarMarket?</h3>
|
||||
<p>DexarMarket — это онлайн-площадка, где независимые продавцы размещают свои товары и услуги. Наша задача — обеспечить удобную и безопасную среду для совершения покупок, мы сами не производим и не продаем товары.</p>
|
||||
<div class="faq-item">
|
||||
<h3>Что такое DexarMarket?</h3>
|
||||
<p>DexarMarket — это онлайн-площадка, где независимые продавцы размещают свои товары и услуги. Наша задача — обеспечить удобную и безопасную среду для совершения покупок, мы сами не производим и не продаем товары.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как зарегистрироваться на платформе?</h3>
|
||||
<p>Зарегистрироваться легко: откройте наше приложение внутри Telegram. Ваш профиль будет создан автоматически сразу же после входа.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Безопасно ли покупать на сайте?</h3>
|
||||
<p>Абсолютно да! Все транзакции защищены современными технологиями шифрования (PCI DSS и 3D Secure). Ваши банковские данные надежно хранятся отдельно от нашей системы.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Оформление заказа</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как правильно оформить покупку?</h3>
|
||||
<p>
|
||||
1️⃣ Найдите понравившийся товар и добавьте его в корзину.<br>
|
||||
2️⃣ Открыв корзину, кликните «Оформить заказ».<br>
|
||||
3️⃣ Укажите адрес доставки и контактную информацию.<br>
|
||||
4️⃣ Выберите удобный способ оплаты.<br>
|
||||
5️⃣ Ознакомьтесь и подтвердите публичную оферту.<br>
|
||||
6️⃣ Завершите оплату вашего заказа.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Можно ли внести изменения в заказ после завершения покупки?</h3>
|
||||
<p>Если продавец ещё не отправил товар, напишите нам в поддержку — мы поможем скорректировать заказ. Но после отправки товара изменение невозможно.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как отказаться от заказа?</h3>
|
||||
<p>Свяжитесь с нами или непосредственно с продавцом через чаты заказов. Пока посылка не отправлена, отказ возможен с полным возвратом денег.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Оплата 💳</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Какие способы оплаты доступны?</h3>
|
||||
<p>Принимаются:</p>
|
||||
<ul>
|
||||
<li>Банковские карты Visa, MasterCard, МИР,</li>
|
||||
<li>Система быстрых платежей (СБП),</li>
|
||||
<li>Электронные кошельки ЮMoney, QIWI,</li>
|
||||
<li>Наличные при получении (если предусмотрено продавцом).</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Когда спишутся средства с моей карты?</h3>
|
||||
<p>Операция проходит мгновенно, но деньги временно замораживаются до момента получения вами товара. Как только вы подтверждаете получение, средства отправляются продавцу.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Почему мой платёж мог быть отклонён?</h3>
|
||||
<p>Возможные причины отказа:</p>
|
||||
<ul>
|
||||
<li>Недостаточно средств на счёте,</li>
|
||||
<li>Превышение лимита операций по карте,</li>
|
||||
<li>Карта заблокирована банком,</li>
|
||||
<li>Технические сбои.</li>
|
||||
</ul>
|
||||
<p>Рекомендуем обратиться в банк для выяснения деталей.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Получу ли я чек об оплате?</h3>
|
||||
<p>Да, электронная квитанция придёт на указанный вами e-mail сразу после успешного платежа согласно закону № 54-ФЗ.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Доставка 🚚</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Через какие службы осуществляется доставка?</h3>
|
||||
<p><strong>Цифровые товары:</strong> Платформа DexarMarket автоматически отправляет цифровые товары (лицензии, ключи, сертификаты) на вашу электронную почту или в личный кабинет мгновенно после оплаты.</p>
|
||||
<p><strong>Материальные товары:</strong> Продавец самостоятельно работает с ведущими службами доставки:</p>
|
||||
<ul>
|
||||
<li>СДЭК,</li>
|
||||
<li>Почта России,</li>
|
||||
<li>Boxberry,</li>
|
||||
<li>DPD,</li>
|
||||
<li>Яндекс.Доставка.</li>
|
||||
</ul>
|
||||
<p>Способ доставки материальных товаров выбирается исходя из предпочтений продавца и места назначения.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Сколько стоит доставка моего заказа?</h3>
|
||||
<p><strong>Цифровые товары:</strong> Доставка бесплатная — товар придёт на email мгновенно.</p>
|
||||
<p><strong>Материальные товары:</strong> Цена определяется продавцом и зависит от веса, габаритов товара, выбранного способа и региона доставки. Окончательная стоимость видна при оформлении заказа.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Какой срок доставки моего заказа?</h3>
|
||||
<p><strong>Цифровые товары:</strong> Мгновенная доставка на email (в течение нескольких минут после оплаты).</p>
|
||||
<p><strong>Материальные товары</strong> (примерные сроки):</p>
|
||||
<ul>
|
||||
<li>СДЭК: 2–7 рабочих дней,</li>
|
||||
<li>Почта России: 5–14 рабочих дней,</li>
|
||||
<li>Boxberry: 2–5 рабочих дней,</li>
|
||||
<li>DPD: 1–3 рабочих дня,</li>
|
||||
<li>Яндекс.Доставка: в тот же день (при наличии возможности в вашем городе).</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как отслеживать мою посылку?</h3>
|
||||
<p>Вы получите трек-код на свою электронную почту и сможете увидеть статус заказа в личном кабинете. Отслеживать посылку можно на официальном сайте выбранной курьерской службы.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Что делать, если товар пришёл повреждённым? ⛑</h3>
|
||||
<p>Осмотрите товар прямо при курьере. Если обнаружились дефекты — оформляйте акт отказа от приёмки и незамедлительно сообщайте продавцу и службе поддержки.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Возврат и обмен ✅</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Можно ли вернуть товар?</h3>
|
||||
<p>Да, закон позволяет вернуть качественный товар в течение 7 дней после получения. Бракованные изделия возвращаются по особым правилам.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Какие товары вернуть нельзя?</h3>
|
||||
<p>Нельзя вернуть товары, перечисленные в Постановлении Правительства РФ №2463: медикаменты, косметику, бельё, активированные цифровые продукты и индивидуальные заказы. Подробности смотрите в разделе <a [routerLink]="'/return-policy' | langRoute">«Политика возврата»</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как вернуть деньги?</h3>
|
||||
<p>
|
||||
1. Сообщите продавцу о намерении вернуть товар.<br>
|
||||
2. Верните товар в оригинальной упаковке.<br>
|
||||
3. Продавец проверит состояние товара и вернёт средства таким же способом, каким была произведена покупка (до 30 дней ожидания возврата).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Кто оплатит обратный путь?</h3>
|
||||
<p>Покупатель оплачивает обратную доставку качественного товара. Если обнаружен брак — расходы несёт продавец.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Гарантия 🔧</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Есть ли гарантия на товары?</h3>
|
||||
<p>Большинство наших товаров имеют официальную гарантию производителя. Срок варьируется от 12 до 36 месяцев и указывается в карточке каждого продукта.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как воспользоваться гарантией?</h3>
|
||||
<p>Сообщите продавцу о неисправности, приложив фотографии дефектов и гарантийный талон. Продавец займётся ремонтом или заменой товара.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Что не покрыто гарантией?</h3>
|
||||
<p>Механические повреждения, последствия неправильной эксплуатации, самостоятельный ремонт, влияние влаги (если нет защиты), естественный износ — всё это не является страховым случаем.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Безопасность и конфиденциальность 🔐</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как вы защищаете мои личные данные?</h3>
|
||||
<p>Используем современные методы шифрования SSL/TLS, не храним реквизиты карт, выполняем требования закона №152-ФЗ о защите персональной информации. Подробности — в <a [routerLink]="'/privacy-policy' | langRoute">Политике конфиденциальности</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Кому предоставляются мои данные?</h3>
|
||||
<p>Только вашему продавцу для обработки заказа и службам доставки. Данные не используются третьими лицами для маркетинга без вашего разрешения.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как удалить свой аккаунт?</h3>
|
||||
<p>Напишите нам в службу поддержки запрос на удаление учётной записи. Аккаунт будет ликвидирован вместе с личной информацией в течение месяца.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Информация для продавцов 📋</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как начать продавать на площадке?</h3>
|
||||
<p>Чтобы присоединиться к нашим продавцам, обратитесь в службу поддержки по электронной почте <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Какова комиссия площадки?</h3>
|
||||
<p>Комиссия зависит от типа товара и объёма продаж. Узнать точные условия можно при регистрации.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Когда поступят деньги за продажу?</h3>
|
||||
<p>Продавец получает средства после подтверждения клиентом получения товара либо спустя две недели с момента доставки, если клиент не указал проблем с покупкой.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Служба поддержки 💬</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как связаться с поддержкой?</h3>
|
||||
<p>
|
||||
✉️ <strong>Email:</strong> <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a><br>
|
||||
📞 <strong>Телефон (Россия):</strong> <a href="tel:+79264593157">+7 (926) 459-31-57</a><br>
|
||||
📞 <strong>Телефон (Армения):</strong> <a href="tel:+37494861816">+374 94 86 18 16</a><br>
|
||||
🏢 <strong>Время работы офиса:</strong> 10:00—19:00 (МСК)<br>
|
||||
❄️ <strong>Техподдержка доступна круглосуточно.</strong>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Сколько ждать ответа?</h3>
|
||||
<p>Во время рабочего дня ответ поступает в течение двух часов. В праздники и выходные возможны задержки до суток.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Нужна помощь?</h2>
|
||||
<p>Если возникнут дополнительные вопросы, обращайтесь на <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a> — мы оперативно решим любые ваши вопросы!</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как зарегистрироваться на платформе?</h3>
|
||||
<p>Зарегистрироваться легко: откройте наше приложение внутри Telegram. Ваш профиль будет создан автоматически сразу же после входа.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Безопасно ли покупать на сайте?</h3>
|
||||
<p>Абсолютно да! Все транзакции защищены современными технологиями шифрования (PCI DSS и 3D Secure). Ваши банковские данные надежно хранятся отдельно от нашей системы.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Оформление заказа</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как правильно оформить покупку?</h3>
|
||||
<p>
|
||||
1️⃣ Найдите понравившийся товар и добавьте его в корзину.<br>
|
||||
2️⃣ Открыв корзину, кликните «Оформить заказ».<br>
|
||||
3️⃣ Укажите адрес доставки и контактную информацию.<br>
|
||||
4️⃣ Выберите удобный способ оплаты.<br>
|
||||
5️⃣ Ознакомьтесь и подтвердите публичную оферту.<br>
|
||||
6️⃣ Завершите оплату вашего заказа.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Можно ли внести изменения в заказ после завершения покупки?</h3>
|
||||
<p>Если продавец ещё не отправил товар, напишите нам в поддержку — мы поможем скорректировать заказ. Но после отправки товара изменение невозможно.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как отказаться от заказа?</h3>
|
||||
<p>Свяжитесь с нами или непосредственно с продавцом через чаты заказов. Пока посылка не отправлена, отказ возможен с полным возвратом денег.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Оплата 💳</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Какие способы оплаты доступны?</h3>
|
||||
<p>Принимаются:</p>
|
||||
<ul>
|
||||
<li>Банковские карты Visa, MasterCard, МИР,</li>
|
||||
<li>Система быстрых платежей (СБП),</li>
|
||||
<li>Электронные кошельки ЮMoney, QIWI,</li>
|
||||
<li>Наличные при получении (если предусмотрено продавцом).</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Когда спишутся средства с моей карты?</h3>
|
||||
<p>Операция проходит мгновенно, но деньги временно замораживаются до момента получения вами товара. Как только вы подтверждаете получение, средства отправляются продавцу.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Почему мой платёж мог быть отклонён?</h3>
|
||||
<p>Возможные причины отказа:</p>
|
||||
<ul>
|
||||
<li>Недостаточно средств на счёте,</li>
|
||||
<li>Превышение лимита операций по карте,</li>
|
||||
<li>Карта заблокирована банком,</li>
|
||||
<li>Технические сбои.</li>
|
||||
</ul>
|
||||
<p>Рекомендуем обратиться в банк для выяснения деталей.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Получу ли я чек об оплате?</h3>
|
||||
<p>Да, электронная квитанция придёт на указанный вами e-mail сразу после успешного платежа согласно закону № 54-ФЗ.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Доставка 🚚</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Через какие службы осуществляется доставка?</h3>
|
||||
<p><strong>Цифровые товары:</strong> Платформа DexarMarket автоматически отправляет цифровые товары (лицензии, ключи, сертификаты) на вашу электронную почту или в личный кабинет мгновенно после оплаты.</p>
|
||||
<p><strong>Материальные товары:</strong> Продавец самостоятельно работает с ведущими службами доставки:</p>
|
||||
<ul>
|
||||
<li>СДЭК,</li>
|
||||
<li>Почта России,</li>
|
||||
<li>Boxberry,</li>
|
||||
<li>DPD,</li>
|
||||
<li>Яндекс.Доставка.</li>
|
||||
</ul>
|
||||
<p>Способ доставки материальных товаров выбирается исходя из предпочтений продавца и места назначения.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Сколько стоит доставка моего заказа?</h3>
|
||||
<p><strong>Цифровые товары:</strong> Доставка бесплатная — товар придёт на email мгновенно.</p>
|
||||
<p><strong>Материальные товары:</strong> Цена определяется продавцом и зависит от веса, габаритов товара, выбранного способа и региона доставки. Окончательная стоимость видна при оформлении заказа.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Какой срок доставки моего заказа?</h3>
|
||||
<p><strong>Цифровые товары:</strong> Мгновенная доставка на email (в течение нескольких минут после оплаты).</p>
|
||||
<p><strong>Материальные товары</strong> (примерные сроки):</p>
|
||||
<ul>
|
||||
<li>СДЭК: 2–7 рабочих дней,</li>
|
||||
<li>Почта России: 5–14 рабочих дней,</li>
|
||||
<li>Boxberry: 2–5 рабочих дней,</li>
|
||||
<li>DPD: 1–3 рабочих дня,</li>
|
||||
<li>Яндекс.Доставка: в тот же день (при наличии возможности в вашем городе).</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как отслеживать мою посылку?</h3>
|
||||
<p>Вы получите трек-код на свою электронную почту и сможете увидеть статус заказа в личном кабинете. Отслеживать посылку можно на официальном сайте выбранной курьерской службы.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Что делать, если товар пришёл повреждённым? ⛑</h3>
|
||||
<p>Осмотрите товар прямо при курьере. Если обнаружились дефекты — оформляйте акт отказа от приёмки и незамедлительно сообщайте продавцу и службе поддержки.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Возврат и обмен ✅</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Можно ли вернуть товар?</h3>
|
||||
<p>Да, закон позволяет вернуть качественный товар в течение 7 дней после получения. Бракованные изделия возвращаются по особым правилам.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Какие товары вернуть нельзя?</h3>
|
||||
<p>Нельзя вернуть товары, перечисленные в Постановлении Правительства РФ №2463: медикаменты, косметику, бельё, активированные цифровые продукты и индивидуальные заказы. Подробности смотрите в разделе <a [routerLink]="'/return-policy' | langRoute">«Политика возврата»</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как вернуть деньги?</h3>
|
||||
<p>
|
||||
1. Сообщите продавцу о намерении вернуть товар.<br>
|
||||
2. Верните товар в оригинальной упаковке.<br>
|
||||
3. Продавец проверит состояние товара и вернёт средства таким же способом, каким была произведена покупка (до 30 дней ожидания возврата).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Кто оплатит обратный путь?</h3>
|
||||
<p>Покупатель оплачивает обратную доставку качественного товара. Если обнаружен брак — расходы несёт продавец.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Гарантия 🔧</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Есть ли гарантия на товары?</h3>
|
||||
<p>Большинство наших товаров имеют официальную гарантию производителя. Срок варьируется от 12 до 36 месяцев и указывается в карточке каждого продукта.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как воспользоваться гарантией?</h3>
|
||||
<p>Сообщите продавцу о неисправности, приложив фотографии дефектов и гарантийный талон. Продавец займётся ремонтом или заменой товара.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Что не покрыто гарантией?</h3>
|
||||
<p>Механические повреждения, последствия неправильной эксплуатации, самостоятельный ремонт, влияние влаги (если нет защиты), естественный износ — всё это не является страховым случаем.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Безопасность и конфиденциальность 🔐</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как вы защищаете мои личные данные?</h3>
|
||||
<p>Используем современные методы шифрования SSL/TLS, не храним реквизиты карт, выполняем требования закона №152-ФЗ о защите персональной информации. Подробности — в <a [routerLink]="'/privacy-policy' | langRoute">Политике конфиденциальности</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Кому предоставляются мои данные?</h3>
|
||||
<p>Только вашему продавцу для обработки заказа и службам доставки. Данные не используются третьими лицами для маркетинга без вашего разрешения.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как удалить свой аккаунт?</h3>
|
||||
<p>Напишите нам в службу поддержки запрос на удаление учётной записи. Аккаунт будет ликвидирован вместе с личной информацией в течение месяца.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Информация для продавцов 📋</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как начать продавать на площадке?</h3>
|
||||
<p>Чтобы присоединиться к нашим продавцам, обратитесь в службу поддержки по электронной почте <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Какова комиссия площадки?</h3>
|
||||
<p>Комиссия зависит от типа товара и объёма продаж. Узнать точные условия можно при регистрации.</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Когда поступят деньги за продажу?</h3>
|
||||
<p>Продавец получает средства после подтверждения клиентом получения товара либо спустя две недели с момента доставки, если клиент не указал проблем с покупкой.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Служба поддержки 💬</h2>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Как связаться с поддержкой?</h3>
|
||||
<p>
|
||||
✉️ <strong>Email:</strong> <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a><br>
|
||||
📞 <strong>Телефон (Россия):</strong> <a href="tel:+79264593157">+7 (926) 459-31-57</a><br>
|
||||
📞 <strong>Телефон (Армения):</strong> <a href="tel:+37494861816">+374 94 86 18 16</a><br>
|
||||
🏢 <strong>Время работы офиса:</strong> 10:00—19:00 (МСК)<br>
|
||||
❄️ <strong>Техподдержка доступна круглосуточно.</strong>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="faq-item">
|
||||
<h3>Сколько ждать ответа?</h3>
|
||||
<p>Во время рабочего дня ответ поступает в течение двух часов. В праздники и выходные возможны задержки до суток.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Нужна помощь?</h2>
|
||||
<p>Если возникнут дополнительные вопросы, обращайтесь на <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a> — мы оперативно решим любые ваши вопросы!</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
@@ -102,6 +102,34 @@
|
||||
}
|
||||
</div>
|
||||
|
||||
@if (item()!.colour || item()!.size) {
|
||||
<div class="novo-variants">
|
||||
@if (item()!.colour) {
|
||||
<div class="variant-group">
|
||||
<span class="variant-label">{{ 'itemDetail.colour' | translate }}:</span>
|
||||
<span class="variant-chip colour-chip">{{ item()!.colour }}</span>
|
||||
</div>
|
||||
}
|
||||
@if (item()!.size) {
|
||||
<div class="variant-group">
|
||||
<span class="variant-label">{{ 'itemDetail.size' | translate }}:</span>
|
||||
<span class="variant-chip size-chip">{{ item()!.size }}</span>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (item()!.attributes && item()!.attributes!.length > 0) {
|
||||
<div class="novo-attributes">
|
||||
@for (attr of item()!.attributes!; track attr.key) {
|
||||
<div class="attribute-row">
|
||||
<span class="attribute-key">{{ attr.key }}</span>
|
||||
<span class="attribute-value">{{ attr.value }}</span>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
<button class="novo-add-cart" (click)="addToCart()">
|
||||
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<circle cx="9" cy="21" r="1"></circle>
|
||||
@@ -339,6 +367,34 @@
|
||||
}
|
||||
</div>
|
||||
|
||||
@if (item()!.colour || item()!.size) {
|
||||
<div class="dx-variants">
|
||||
@if (item()!.colour) {
|
||||
<div class="variant-group">
|
||||
<span class="variant-label">{{ 'itemDetail.colour' | translate }}:</span>
|
||||
<span class="variant-chip colour-chip">{{ item()!.colour }}</span>
|
||||
</div>
|
||||
}
|
||||
@if (item()!.size) {
|
||||
<div class="variant-group">
|
||||
<span class="variant-label">{{ 'itemDetail.size' | translate }}:</span>
|
||||
<span class="variant-chip size-chip">{{ item()!.size }}</span>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (item()!.attributes && item()!.attributes!.length > 0) {
|
||||
<div class="dx-attributes">
|
||||
@for (attr of item()!.attributes!; track attr.key) {
|
||||
<div class="attribute-row">
|
||||
<span class="attribute-key">{{ attr.key }}</span>
|
||||
<span class="attribute-value">{{ attr.value }}</span>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
<button class="dx-add-cart" (click)="addToCart()">
|
||||
<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<circle cx="9" cy="21" r="1"></circle>
|
||||
|
||||
@@ -291,6 +291,64 @@ $dx-card-bg: #f5f3f9;
|
||||
}
|
||||
}
|
||||
|
||||
// Variant chips (colour/size) — shared between dexar and novo
|
||||
.dx-variants, .novo-variants {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 12px;
|
||||
margin-bottom: 12px;
|
||||
|
||||
.variant-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.variant-label {
|
||||
font-size: 0.9rem;
|
||||
color: #6b7280;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.variant-chip {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
padding: 6px 14px;
|
||||
border-radius: 8px;
|
||||
font-size: 0.9rem;
|
||||
font-weight: 600;
|
||||
border: 1.5px solid $dx-border;
|
||||
background: rgba(73, 118, 113, 0.06);
|
||||
color: $dx-primary;
|
||||
}
|
||||
}
|
||||
|
||||
.dx-attributes, .novo-attributes {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 6px 16px;
|
||||
margin-bottom: 14px;
|
||||
padding: 10px 14px;
|
||||
background: #f8fafa;
|
||||
border-radius: 10px;
|
||||
|
||||
.attribute-row {
|
||||
display: flex;
|
||||
gap: 6px;
|
||||
font-size: 0.85rem;
|
||||
}
|
||||
|
||||
.attribute-key {
|
||||
color: #6b7280;
|
||||
&::after { content: ':'; }
|
||||
}
|
||||
|
||||
.attribute-value {
|
||||
font-weight: 600;
|
||||
color: #1a1a1a;
|
||||
}
|
||||
}
|
||||
|
||||
.dx-description {
|
||||
padding-top: 8px;
|
||||
border-top: 1px solid $dx-border;
|
||||
|
||||
@@ -1,98 +1,102 @@
|
||||
<h1>Company Details</h1>
|
||||
<div class="legal-page">
|
||||
<div class="legal-container">
|
||||
<h1>Company Details</h1>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Full Company Name</h2>
|
||||
<p>LIMITED LIABILITY COMPANY «INT FIN LOGISTIC»</p>
|
||||
<p><strong>Abbreviated name:</strong> LLC «INT FIN LOGISTIC»</p>
|
||||
</section>
|
||||
<section class="legal-section">
|
||||
<h2>Full Company Name</h2>
|
||||
<p>LIMITED LIABILITY COMPANY «INT FIN LOGISTIC»</p>
|
||||
<p><strong>Abbreviated name:</strong> LLC «INT FIN LOGISTIC»</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Legal Address</h2>
|
||||
<p>ARMENIA, 2301, KOTAYK REGION, HRAZDAN, KHACHATRYAN st., 31, 4</p>
|
||||
</section>
|
||||
<section class="legal-section">
|
||||
<h2>Legal Address</h2>
|
||||
<p>ARMENIA, 2301, KOTAYK REGION, HRAZDAN, KHACHATRYAN st., 31, 4</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Actual Address</h2>
|
||||
<p><strong>Office in Armenia:</strong> 0033, Yerevan, Orbeli Brothers St., 47</p>
|
||||
<p><strong>Office in Russia:</strong> 121059, Moscow, Taras Shevchenko Emb., 3/2</p>
|
||||
</section>
|
||||
<section class="legal-section">
|
||||
<h2>Actual Address</h2>
|
||||
<p><strong>Office in Armenia:</strong> 0033, Yerevan, Orbeli Brothers St., 47</p>
|
||||
<p><strong>Office in Russia:</strong> 121059, Moscow, Taras Shevchenko Emb., 3/2</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Main Details</h2>
|
||||
<div class="details-grid">
|
||||
<div class="detail-item">
|
||||
<strong>TIN (RUS):</strong>
|
||||
<span>9909697628</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>TIN (ARM):</strong>
|
||||
<span>03033502</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>KPP:</strong>
|
||||
<span>770287001</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>OGRN:</strong>
|
||||
<span>85.110.1408711</span>
|
||||
</div>
|
||||
<section class="legal-section">
|
||||
<h2>Main Details</h2>
|
||||
<div class="details-grid">
|
||||
<div class="detail-item">
|
||||
<strong>TIN (RUS):</strong>
|
||||
<span>9909697628</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>TIN (ARM):</strong>
|
||||
<span>03033502</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>KPP:</strong>
|
||||
<span>770287001</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>OGRN:</strong>
|
||||
<span>85.110.1408711</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Bank Details</h2>
|
||||
<div class="details-grid">
|
||||
<div class="detail-item">
|
||||
<strong>Bank:</strong>
|
||||
<span>JSC "Raiffeisenbank"</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Settlement account:</strong>
|
||||
<span>40807810500000002376</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Correspondent account:</strong>
|
||||
<span>30101810200000000700</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>BIC:</strong>
|
||||
<span>044525700</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Contact Information</h2>
|
||||
<div class="details-grid">
|
||||
<div class="detail-item">
|
||||
<strong>Phone (RUS):</strong>
|
||||
<span><a href="tel:+79264593157">+7 (926) 459-31-57</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Phone (ARM):</strong>
|
||||
<span><a href="tel:+37494861816">+374 94 86 18 16</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Email:</strong>
|
||||
<span><a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Website:</strong>
|
||||
<span><a href="https://dexarmarket.ru" target="_blank">dexarmarket.ru</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Office hours:</strong>
|
||||
<span>10:00 - 19:00 (MSK)</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Support:</strong>
|
||||
<span>24/7</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Management</h2>
|
||||
<p><strong>General Director:</strong> Hovhannisyan Ashot Rafikovich</p>
|
||||
<p><strong>Basis of authority:</strong> Charter</p>
|
||||
</section>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Bank Details</h2>
|
||||
<div class="details-grid">
|
||||
<div class="detail-item">
|
||||
<strong>Bank:</strong>
|
||||
<span>JSC "Raiffeisenbank"</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Settlement account:</strong>
|
||||
<span>40807810500000002376</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Correspondent account:</strong>
|
||||
<span>30101810200000000700</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>BIC:</strong>
|
||||
<span>044525700</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Contact Information</h2>
|
||||
<div class="details-grid">
|
||||
<div class="detail-item">
|
||||
<strong>Phone (RUS):</strong>
|
||||
<span><a href="tel:+79264593157">+7 (926) 459-31-57</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Phone (ARM):</strong>
|
||||
<span><a href="tel:+37494861816">+374 94 86 18 16</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Email:</strong>
|
||||
<span><a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Website:</strong>
|
||||
<span><a href="https://dexarmarket.ru" target="_blank">dexarmarket.ru</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Office hours:</strong>
|
||||
<span>10:00 - 19:00 (MSK)</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Support:</strong>
|
||||
<span>24/7</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Management</h2>
|
||||
<p><strong>General Director:</strong> Hovhannisyan Ashot Rafikovich</p>
|
||||
<p><strong>Basis of authority:</strong> Charter</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
@@ -1,98 +1,102 @@
|
||||
<h1>Կազմակերպության տվյալներ</h1>
|
||||
<div class="legal-page">
|
||||
<div class="legal-container">
|
||||
<h1>Կազմակերպության տվյալներ</h1>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Կազմակերպության լիարժեկ անվանումը</h2>
|
||||
<p>ՍԱՀՄԱՆԱՓԱԿ ՊԱՏԱՍԽԱՆԱՏվությամբ Ընկերություն «ԻՆՏ ՖԻՆ ԼՈԳԻՍՏԻԿ»</p>
|
||||
<p><strong>Հապավոր անվանումը՝</strong> ՍՊԸ «ԻՆՏ ՖԻՆ ԼՈԳԻՍՏԻԿ»</p>
|
||||
</section>
|
||||
<section class="legal-section">
|
||||
<h2>Կազմակերպության լիարժեկ անվանումը</h2>
|
||||
<p>ՍԱՀՄԱՆԱՓԱԿ ՊԱՏԱՍԽԱՆԱՏվությամբ Ընկերություն «ԻՆՏ ՖԻՆ ԼՈԳԻՍՏԻԿ»</p>
|
||||
<p><strong>Հապավոր անվանումը՝</strong> ՍՊԸ «ԻՆՏ ՖԻՆ ԼՈԳԻՍՏԻԿ»</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Իրավաբանական հասցե</h2>
|
||||
<p>ՀԱՅԱՍՏԱՆ, 2301, ԿՈՏԱՅԿԻ ՄԱՐԶ, ՀՐԱԶԴԱՆ, ԽԱՉԱՏՐՅԱՆ փկ., 31, 4</p>
|
||||
</section>
|
||||
<section class="legal-section">
|
||||
<h2>Իրավաբանական հասցե</h2>
|
||||
<p>ՀԱՅԱՍՏԱՆ, 2301, ԿՈՏԱՅԿԻ ՄԱՐԶ, ՀՐԱԶԴԱՆ, ԽԱՉԱՏՐՅԱՆ փկ., 31, 4</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Գործնական հասցե</h2>
|
||||
<p><strong>Գրասենյակ Հայաստանում՝</strong> 0033, Երևան, Եղբայրներ Օրբելի փկ., 47</p>
|
||||
<p><strong>Գրասենյակ Ռուսաստանում՝</strong> 121059, Մոսկվա, Տարաս Շևչենկոի փակ., 3կ2</p>
|
||||
</section>
|
||||
<section class="legal-section">
|
||||
<h2>Գործնական հասցե</h2>
|
||||
<p><strong>Գրասենյակ Հայաստանում՝</strong> 0033, Երևան, Եղբայրներ Օրբելի փկ., 47</p>
|
||||
<p><strong>Գրասենյակ Ռուսաստանում՝</strong> 121059, Մոսկվա, Տարաս Շևչենկոի փակ., 3կ2</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Հիմնական մանրամասներ</h2>
|
||||
<div class="details-grid">
|
||||
<div class="detail-item">
|
||||
<strong>ՀՎՀՀ (RUS)՝</strong>
|
||||
<span>9909697628</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>ՀՎՀՀ (ARM)՝</strong>
|
||||
<span>03033502</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>ԿՊՊ՝</strong>
|
||||
<span>770287001</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>ՊԳՐՆ՝</strong>
|
||||
<span>85.110.1408711</span>
|
||||
</div>
|
||||
<section class="legal-section">
|
||||
<h2>Հիմնական մանրամասներ</h2>
|
||||
<div class="details-grid">
|
||||
<div class="detail-item">
|
||||
<strong>ՀՎՀՀ (RUS)՝</strong>
|
||||
<span>9909697628</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>ՀՎՀՀ (ARM)՝</strong>
|
||||
<span>03033502</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>ԿՊՊ՝</strong>
|
||||
<span>770287001</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>ՊԳՐՆ՝</strong>
|
||||
<span>85.110.1408711</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Բանկային տվյալներ</h2>
|
||||
<div class="details-grid">
|
||||
<div class="detail-item">
|
||||
<strong>Բանկ՝</strong>
|
||||
<span>«Ռայֆֆայզենբանկ» ԲԲ</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Հաշվարկային հաշիվ՝</strong>
|
||||
<span>40807810500000002376</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Թղակցային հաշիվ՝</strong>
|
||||
<span>30101810200000000700</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>ԲԻԿ՝</strong>
|
||||
<span>044525700</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Կապի տեղեկատվություն</h2>
|
||||
<div class="details-grid">
|
||||
<div class="detail-item">
|
||||
<strong>Հեռախոս (RUS)՝</strong>
|
||||
<span><a href="tel:+79264593157">+7 (926) 459-31-57</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Հեռախոս (ARM)՝</strong>
|
||||
<span><a href="tel:+37494861816">+374 94 86 18 16</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Էլ. փոստ՝</strong>
|
||||
<span><a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Կայք՝</strong>
|
||||
<span><a href="https://dexarmarket.ru" target="_blank">dexarmarket.ru</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Գրասենյակի աշխատանքային ժամեր՝</strong>
|
||||
<span>10:00 - 19:00 (ՄՍԿ)</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Տեխնիկական աջակցություն՝</strong>
|
||||
<span>24/7</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Ղեկավարություն</h2>
|
||||
<p><strong>Գլխավոր տնօրեն՝</strong> Օհաննիսյան Աշոտ Ռաֆիկի</p>
|
||||
<p><strong>Գործողության հիմք՝</strong> Կանոնադրություն</p>
|
||||
</section>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Բանկային տվյալներ</h2>
|
||||
<div class="details-grid">
|
||||
<div class="detail-item">
|
||||
<strong>Բանկ՝</strong>
|
||||
<span>«Ռայֆֆայզենբանկ» ԲԲ</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Հաշվարկային հաշիվ՝</strong>
|
||||
<span>40807810500000002376</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Թղակցային հաշիվ՝</strong>
|
||||
<span>30101810200000000700</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>ԲԻԿ՝</strong>
|
||||
<span>044525700</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Կապի տեղեկատվություն</h2>
|
||||
<div class="details-grid">
|
||||
<div class="detail-item">
|
||||
<strong>Հեռախոս (RUS)՝</strong>
|
||||
<span><a href="tel:+79264593157">+7 (926) 459-31-57</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Հեռախոս (ARM)՝</strong>
|
||||
<span><a href="tel:+37494861816">+374 94 86 18 16</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Էլ. փոստ՝</strong>
|
||||
<span><a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Կայք՝</strong>
|
||||
<span><a href="https://dexarmarket.ru" target="_blank">dexarmarket.ru</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Գրասենյակի աշխատանքային ժամեր՝</strong>
|
||||
<span>10:00 - 19:00 (ՄՍԿ)</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Տեխնիկական աջակցություն՝</strong>
|
||||
<span>24/7</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Ղեկավարություն</h2>
|
||||
<p><strong>Գլխավոր տնօրեն՝</strong> Օհաննիսյան Աշոտ Ռաֆիկի</p>
|
||||
<p><strong>Գործողության հիմք՝</strong> Կանոնադրություն</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
@@ -1,98 +1,102 @@
|
||||
<h1>Реквизиты организации</h1>
|
||||
<div class="legal-page">
|
||||
<div class="legal-container">
|
||||
<h1>Реквизиты организации</h1>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Полное наименование организации</h2>
|
||||
<p>ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ «ИНТ ФИН ЛОГИСТИК»</p>
|
||||
<p><strong>Сокращенное наименование:</strong> ООО «ИНТ ФИН ЛОГИСТИК»</p>
|
||||
</section>
|
||||
<section class="legal-section">
|
||||
<h2>Полное наименование организации</h2>
|
||||
<p>ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ «ИНТ ФИН ЛОГИСТИК»</p>
|
||||
<p><strong>Сокращенное наименование:</strong> ООО «ИНТ ФИН ЛОГИСТИК»</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Юридический адрес</h2>
|
||||
<p>АРМЕНИЯ, 2301, КОТАЙКСКАЯ ОБЛАСТЬ, РАЗДАН, ХАЧАТРЯНА ул, 31, 4</p>
|
||||
</section>
|
||||
<section class="legal-section">
|
||||
<h2>Юридический адрес</h2>
|
||||
<p>АРМЕНИЯ, 2301, КОТАЙКСКАЯ ОБЛАСТЬ, РАЗДАН, ХАЧАТРЯНА ул, 31, 4</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Фактический адрес</h2>
|
||||
<p><strong>Офис в Армении:</strong> 0033, Ереван, улица Братьев Орбели, 47</p>
|
||||
<p><strong>Офис в России:</strong> 121059, Москва, наб. Тараса Шевченко, 3к2</p>
|
||||
</section>
|
||||
<section class="legal-section">
|
||||
<h2>Фактический адрес</h2>
|
||||
<p><strong>Офис в Армении:</strong> 0033, Ереван, улица Братьев Орбели, 47</p>
|
||||
<p><strong>Офис в России:</strong> 121059, Москва, наб. Тараса Шевченко, 3к2</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Основные реквизиты</h2>
|
||||
<div class="details-grid">
|
||||
<div class="detail-item">
|
||||
<strong>ИНН (RUS):</strong>
|
||||
<span>9909697628</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>ИНН (ARM):</strong>
|
||||
<span>03033502</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>КПП:</strong>
|
||||
<span>770287001</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>ОГРН:</strong>
|
||||
<span>85.110.1408711</span>
|
||||
</div>
|
||||
<section class="legal-section">
|
||||
<h2>Основные реквизиты</h2>
|
||||
<div class="details-grid">
|
||||
<div class="detail-item">
|
||||
<strong>ИНН (RUS):</strong>
|
||||
<span>9909697628</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>ИНН (ARM):</strong>
|
||||
<span>03033502</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>КПП:</strong>
|
||||
<span>770287001</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>ОГРН:</strong>
|
||||
<span>85.110.1408711</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Банковские реквизиты</h2>
|
||||
<div class="details-grid">
|
||||
<div class="detail-item">
|
||||
<strong>Банк:</strong>
|
||||
<span>АО "Райффайзенбанк"</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Расчетный счет:</strong>
|
||||
<span>40807810500000002376</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Корр. счет:</strong>
|
||||
<span>30101810200000000700</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>БИК:</strong>
|
||||
<span>044525700</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Контактная информация</h2>
|
||||
<div class="details-grid">
|
||||
<div class="detail-item">
|
||||
<strong>Телефон (RUS):</strong>
|
||||
<span><a href="tel:+79264593157">+7 (926) 459-31-57</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Телефон (ARM):</strong>
|
||||
<span><a href="tel:+37494861816">+374 94 86 18 16</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Email:</strong>
|
||||
<span><a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Сайт:</strong>
|
||||
<span><a href="https://dexarmarket.ru" target="_blank">dexarmarket.ru</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Часы работы офиса:</strong>
|
||||
<span>10:00 - 19:00 (МСК)</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Техподдержка:</strong>
|
||||
<span>24/7</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Руководство</h2>
|
||||
<p><strong>Генеральный директор:</strong> Оганнисян Ашот Рафикович</p>
|
||||
<p><strong>Основание действий:</strong> Устав</p>
|
||||
</section>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Банковские реквизиты</h2>
|
||||
<div class="details-grid">
|
||||
<div class="detail-item">
|
||||
<strong>Банк:</strong>
|
||||
<span>АО "Райффайзенбанк"</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Расчетный счет:</strong>
|
||||
<span>40807810500000002376</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Корр. счет:</strong>
|
||||
<span>30101810200000000700</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>БИК:</strong>
|
||||
<span>044525700</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Контактная информация</h2>
|
||||
<div class="details-grid">
|
||||
<div class="detail-item">
|
||||
<strong>Телефон (RUS):</strong>
|
||||
<span><a href="tel:+79264593157">+7 (926) 459-31-57</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Телефон (ARM):</strong>
|
||||
<span><a href="tel:+37494861816">+374 94 86 18 16</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Email:</strong>
|
||||
<span><a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Сайт:</strong>
|
||||
<span><a href="https://dexarmarket.ru" target="_blank">dexarmarket.ru</a></span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Часы работы офиса:</strong>
|
||||
<span>10:00 - 19:00 (МСК)</span>
|
||||
</div>
|
||||
<div class="detail-item">
|
||||
<strong>Техподдержка:</strong>
|
||||
<span>24/7</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>Руководство</h2>
|
||||
<p><strong>Генеральный директор:</strong> Оганнисян Ашот Рафикович</p>
|
||||
<p><strong>Основание действий:</strong> Устав</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
@@ -1,113 +1,117 @@
|
||||
<h1>Payment Terms</h1>
|
||||
<div class="legal-page">
|
||||
<div class="legal-container">
|
||||
<h1>Payment Terms</h1>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>1. General Provisions</h2>
|
||||
<p>1.1. These Terms define the payment procedures for Goods and Services purchased by Buyers through the DexarMarket Marketplace.</p>
|
||||
<p>1.2. Payment is made for Goods/Services listed by independent Sellers. The Marketplace acts as an information intermediary and provides the technical infrastructure for processing payments.</p>
|
||||
<p>1.3. Payment for goods and services on the Marketplace is made in Russian rubles (RUB).</p>
|
||||
<p>1.4. Prices for Goods/Services are set by Sellers independently and are indicated on the respective Goods/Services page.</p>
|
||||
</section>
|
||||
<section class="legal-section">
|
||||
<h2>1. General Provisions</h2>
|
||||
<p>1.1. These Terms define the payment procedures for Goods and Services purchased by Buyers through the DexarMarket Marketplace.</p>
|
||||
<p>1.2. Payment is made for Goods/Services listed by independent Sellers. The Marketplace acts as an information intermediary and provides the technical infrastructure for processing payments.</p>
|
||||
<p>1.3. Payment for goods and services on the Marketplace is made in Russian rubles (RUB).</p>
|
||||
<p>1.4. Prices for Goods/Services are set by Sellers independently and are indicated on the respective Goods/Services page.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>2. Payment Methods</h2>
|
||||
<p>2.1. The Marketplace supports the following payment methods:</p>
|
||||
<section class="legal-section">
|
||||
<h2>2. Payment Methods</h2>
|
||||
<p>2.1. The Marketplace supports the following payment methods:</p>
|
||||
|
||||
<div class="payment-methods">
|
||||
<div class="payment-logos">
|
||||
<img src="/assets/images/mir-logo.svg" alt="MIR" loading="lazy" width="80" height="50" />
|
||||
<img src="/assets/images/visa-logo.svg" alt="Visa" loading="lazy" width="80" height="50" />
|
||||
<img src="/assets/images/mastercard-logo.svg" alt="Mastercard" loading="lazy" width="80" height="50" />
|
||||
</div>
|
||||
<div class="payment-methods">
|
||||
<div class="payment-logos">
|
||||
<img src="/assets/images/mir-logo.svg" alt="MIR" loading="lazy" width="80" height="50" />
|
||||
<img src="/assets/images/visa-logo.svg" alt="Visa" loading="lazy" width="80" height="50" />
|
||||
<img src="/assets/images/mastercard-logo.svg" alt="Mastercard" loading="lazy" width="80" height="50" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul>
|
||||
<li><strong>Bank cards:</strong> Visa, Mastercard, MIR</li>
|
||||
<li><strong>Fast Payment System (FPS):</strong> instant transfer via mobile banking app</li>
|
||||
<li><strong>E-wallets:</strong> YooMoney, QIWI (if available)</li>
|
||||
<li><strong>Payment by link:</strong> generation of a unique payment link for each order</li>
|
||||
</ul>
|
||||
<p>2.2. Available payment methods may vary depending on the Seller and type of Goods/Services.</p>
|
||||
<p>2.3. All payments are processed through certified payment systems in compliance with PCI DSS security standards.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>3. Payment Process</h2>
|
||||
<p>3.1. The order payment procedure includes the following steps:</p>
|
||||
<ol>
|
||||
<li>Selecting Goods/Services and adding them to the cart</li>
|
||||
<li>Placing an order with contact details and delivery method (if applicable)</li>
|
||||
<li>Choosing a payment method from available options</li>
|
||||
<li>Redirecting to a secure payment system page or receiving a payment link</li>
|
||||
<li>Entering payment details and confirming payment</li>
|
||||
<li>Receiving a successful payment notification</li>
|
||||
</ol>
|
||||
<p>3.2. When paying by bank card, the Buyer may be redirected to the issuing bank's page for additional authentication (3D-Secure).</p>
|
||||
<p>3.3. The Buyer's payment obligation is considered fulfilled upon receipt of funds by the payment system.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>4. Payment Security</h2>
|
||||
<p>4.1. All payments are processed through a secure HTTPS connection using TLS 1.2 protocol and above.</p>
|
||||
<p>4.2. The Marketplace does not store full bank card data of Buyers. Payment data processing is carried out by certified payment aggregators.</p>
|
||||
<p>4.3. 3D-Secure technology is used to protect against fraud, requiring payment confirmation via SMS code or push notification from the bank.</p>
|
||||
<p>4.4. In case of suspicious activity, the payment system reserves the right to request additional identity verification of the Buyer.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>5. Payment Confirmation</h2>
|
||||
<p>5.1. After successful payment, the Buyer receives a confirmation to the email address provided during order placement.</p>
|
||||
<p>5.2. The confirmation contains the following information:</p>
|
||||
<ul>
|
||||
<li>Order number</li>
|
||||
<li>Date and time of payment</li>
|
||||
<li>Payment amount</li>
|
||||
<li>Order contents</li>
|
||||
<li>Seller contact details</li>
|
||||
</ul>
|
||||
<p>5.3. Order information is also displayed in the Buyer's personal account on the Marketplace (if registered).</p>
|
||||
<p>5.4. A fiscal receipt is sent by the Seller in accordance with the requirements of RF legislation.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>6. Refunds</h2>
|
||||
<p>6.1. The refund procedure is governed by the <a [routerLink]="'/return-policy' | langRoute">Return Policy</a> and depends on the type of Goods/Services purchased.</p>
|
||||
<p>6.2. Refunds are made to the same payment instrument used for the original payment.</p>
|
||||
<p>6.3. Refund processing times are as follows:</p>
|
||||
<ul>
|
||||
<li>To a bank card: 3 to 30 banking days (depending on the issuing bank)</li>
|
||||
<li>To an e-wallet: 1 to 5 business days</li>
|
||||
<li>Via FPS: 1 to 3 business days</li>
|
||||
</ul>
|
||||
<p>6.4. The Marketplace does not charge a commission for processing refunds. Payment system and bank fees may apply in accordance with their tariffs.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>7. Failed Payments</h2>
|
||||
<p>7.1. A payment may be declined for the following reasons:</p>
|
||||
<ul>
|
||||
<li>Insufficient funds in the account</li>
|
||||
<li>Incorrectly entered payment details</li>
|
||||
<li>Card is blocked or expired</li>
|
||||
<li>Transaction limits set by the bank have been exceeded</li>
|
||||
<li>Transaction rejected by the security system</li>
|
||||
</ul>
|
||||
<p>7.2. In case of an unsuccessful payment, the Buyer receives a notification indicating the reason for the decline.</p>
|
||||
<p>7.3. If you experience payment issues, it is recommended to:</p>
|
||||
<ul>
|
||||
<li>Verify the accuracy of the entered data</li>
|
||||
<li>Contact the card-issuing bank to clarify the reason for the decline</li>
|
||||
<li>Try an alternative payment method</li>
|
||||
<li>Contact support: <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>8. Payment Inquiries Contact</h2>
|
||||
<p>For questions related to order payments, you can contact us:</p>
|
||||
<ul>
|
||||
<li><strong>Email:</strong> <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a></li>
|
||||
<li><strong>Working hours:</strong> 24/7 (technical support)</li>
|
||||
<li><strong>Average response time:</strong> Up to 24 hours on business days</li>
|
||||
</ul>
|
||||
<p>When contacting us, please provide your order number and a brief description of the issue for a faster resolution.</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<ul>
|
||||
<li><strong>Bank cards:</strong> Visa, Mastercard, MIR</li>
|
||||
<li><strong>Fast Payment System (FPS):</strong> instant transfer via mobile banking app</li>
|
||||
<li><strong>E-wallets:</strong> YooMoney, QIWI (if available)</li>
|
||||
<li><strong>Payment by link:</strong> generation of a unique payment link for each order</li>
|
||||
</ul>
|
||||
<p>2.2. Available payment methods may vary depending on the Seller and type of Goods/Services.</p>
|
||||
<p>2.3. All payments are processed through certified payment systems in compliance with PCI DSS security standards.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>3. Payment Process</h2>
|
||||
<p>3.1. The order payment procedure includes the following steps:</p>
|
||||
<ol>
|
||||
<li>Selecting Goods/Services and adding them to the cart</li>
|
||||
<li>Placing an order with contact details and delivery method (if applicable)</li>
|
||||
<li>Choosing a payment method from available options</li>
|
||||
<li>Redirecting to a secure payment system page or receiving a payment link</li>
|
||||
<li>Entering payment details and confirming payment</li>
|
||||
<li>Receiving a successful payment notification</li>
|
||||
</ol>
|
||||
<p>3.2. When paying by bank card, the Buyer may be redirected to the issuing bank's page for additional authentication (3D-Secure).</p>
|
||||
<p>3.3. The Buyer's payment obligation is considered fulfilled upon receipt of funds by the payment system.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>4. Payment Security</h2>
|
||||
<p>4.1. All payments are processed through a secure HTTPS connection using TLS 1.2 protocol and above.</p>
|
||||
<p>4.2. The Marketplace does not store full bank card data of Buyers. Payment data processing is carried out by certified payment aggregators.</p>
|
||||
<p>4.3. 3D-Secure technology is used to protect against fraud, requiring payment confirmation via SMS code or push notification from the bank.</p>
|
||||
<p>4.4. In case of suspicious activity, the payment system reserves the right to request additional identity verification of the Buyer.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>5. Payment Confirmation</h2>
|
||||
<p>5.1. After successful payment, the Buyer receives a confirmation to the email address provided during order placement.</p>
|
||||
<p>5.2. The confirmation contains the following information:</p>
|
||||
<ul>
|
||||
<li>Order number</li>
|
||||
<li>Date and time of payment</li>
|
||||
<li>Payment amount</li>
|
||||
<li>Order contents</li>
|
||||
<li>Seller contact details</li>
|
||||
</ul>
|
||||
<p>5.3. Order information is also displayed in the Buyer's personal account on the Marketplace (if registered).</p>
|
||||
<p>5.4. A fiscal receipt is sent by the Seller in accordance with the requirements of RF legislation.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>6. Refunds</h2>
|
||||
<p>6.1. The refund procedure is governed by the <a [routerLink]="'/return-policy' | langRoute">Return Policy</a> and depends on the type of Goods/Services purchased.</p>
|
||||
<p>6.2. Refunds are made to the same payment instrument used for the original payment.</p>
|
||||
<p>6.3. Refund processing times are as follows:</p>
|
||||
<ul>
|
||||
<li>To a bank card: 3 to 30 banking days (depending on the issuing bank)</li>
|
||||
<li>To an e-wallet: 1 to 5 business days</li>
|
||||
<li>Via FPS: 1 to 3 business days</li>
|
||||
</ul>
|
||||
<p>6.4. The Marketplace does not charge a commission for processing refunds. Payment system and bank fees may apply in accordance with their tariffs.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>7. Failed Payments</h2>
|
||||
<p>7.1. A payment may be declined for the following reasons:</p>
|
||||
<ul>
|
||||
<li>Insufficient funds in the account</li>
|
||||
<li>Incorrectly entered payment details</li>
|
||||
<li>Card is blocked or expired</li>
|
||||
<li>Transaction limits set by the bank have been exceeded</li>
|
||||
<li>Transaction rejected by the security system</li>
|
||||
</ul>
|
||||
<p>7.2. In case of an unsuccessful payment, the Buyer receives a notification indicating the reason for the decline.</p>
|
||||
<p>7.3. If you experience payment issues, it is recommended to:</p>
|
||||
<ul>
|
||||
<li>Verify the accuracy of the entered data</li>
|
||||
<li>Contact the card-issuing bank to clarify the reason for the decline</li>
|
||||
<li>Try an alternative payment method</li>
|
||||
<li>Contact support: <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>8. Payment Inquiries Contact</h2>
|
||||
<p>For questions related to order payments, you can contact us:</p>
|
||||
<ul>
|
||||
<li><strong>Email:</strong> <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a></li>
|
||||
<li><strong>Working hours:</strong> 24/7 (technical support)</li>
|
||||
<li><strong>Average response time:</strong> Up to 24 hours on business days</li>
|
||||
</ul>
|
||||
<p>When contacting us, please provide your order number and a brief description of the issue for a faster resolution.</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
@@ -1,113 +1,117 @@
|
||||
<h1>Վճարման կանոններ</h1>
|
||||
<div class="legal-page">
|
||||
<div class="legal-container">
|
||||
<h1>Վճարման կանոններ</h1>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>1. Ընդհանուր դրույթներ</h2>
|
||||
<p>1.1. Սույն Կանոնները սահմանում են DexarMarket Մարկետփլեյսի միջոցով Գնորդների կողմից ձեռք բերված Ապրանքների և Ծառայությունների վճարման կարգը։</p>
|
||||
<p>1.2. Վճարումը կատարվում է անկախ Վաճառողների կողմից տեղադրված Ապրանքների/Ծառայությունների համար։ Մարկետփլեյսը հանդես է գալիս որպես տեղեկատվական միջնորդ և ապահովում է վճարումների կատարման տեխնիկական ենթակառուցվածքը։</p>
|
||||
<p>1.3. Մարկետփլեյսում ապրանքների և ծառայությունների վճարումը կատարվում է ռուսական ռուբլով (RUB)։</p>
|
||||
<p>1.4. Ապրանքների/Ծառայությունների գները սահմանվում են Վաճառողների կողմից ինքնուրույն և նշված են համապատասխան Ապրանքի/Ծառայության էջում։</p>
|
||||
</section>
|
||||
<section class="legal-section">
|
||||
<h2>1. Ընդհանուր դրույթներ</h2>
|
||||
<p>1.1. Սույն Կանոնները սահմանում են DexarMarket Մարկետփլեյսի միջոցով Գնորդների կողմից ձեռք բերված Ապրանքների և Ծառայությունների վճարման կարգը։</p>
|
||||
<p>1.2. Վճարումը կատարվում է անկախ Վաճառողների կողմից տեղադրված Ապրանքների/Ծառայությունների համար։ Մարկետփլեյսը հանդես է գալիս որպես տեղեկատվական միջնորդ և ապահովում է վճարումների կատարման տեխնիկական ենթակառուցվածքը։</p>
|
||||
<p>1.3. Մարկետփլեյսում ապրանքների և ծառայությունների վճարումը կատարվում է ռուսական ռուբլով (RUB)։</p>
|
||||
<p>1.4. Ապրանքների/Ծառայությունների գները սահմանվում են Վաճառողների կողմից ինքնուրույն և նշված են համապատասխան Ապրանքի/Ծառայության էջում։</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>2. Վճարման եղանակներ</h2>
|
||||
<p>2.1. Մարկետփլեյսը աջակցում է վճարման հետևյալ եղանակները՝</p>
|
||||
<section class="legal-section">
|
||||
<h2>2. Վճարման եղանակներ</h2>
|
||||
<p>2.1. Մարկետփլեյսը աջակցում է վճարման հետևյալ եղանակները՝</p>
|
||||
|
||||
<div class="payment-methods">
|
||||
<div class="payment-logos">
|
||||
<img src="/assets/images/mir-logo.svg" alt="ՄԻՐ" loading="lazy" width="80" height="50" />
|
||||
<img src="/assets/images/visa-logo.svg" alt="Visa" loading="lazy" width="80" height="50" />
|
||||
<img src="/assets/images/mastercard-logo.svg" alt="Mastercard" loading="lazy" width="80" height="50" />
|
||||
</div>
|
||||
<div class="payment-methods">
|
||||
<div class="payment-logos">
|
||||
<img src="/assets/images/mir-logo.svg" alt="ՄԻՐ" loading="lazy" width="80" height="50" />
|
||||
<img src="/assets/images/visa-logo.svg" alt="Visa" loading="lazy" width="80" height="50" />
|
||||
<img src="/assets/images/mastercard-logo.svg" alt="Mastercard" loading="lazy" width="80" height="50" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul>
|
||||
<li><strong>Բանկային քարտեր՝</strong> Visa, Mastercard, ՄԻՐ</li>
|
||||
<li><strong>Արագ վճարման համակարգ (ՍԲՊ)՝</strong> ակնթարթ փոխանցում բանկի բջջային հավելվածի միջոցով</li>
|
||||
<li><strong>Էլեկտրոնային դրամապանակներ՝</strong> ՅուMoney, QIWI (առկայության դեպքում)</li>
|
||||
<li><strong>Վճարում հղման միջոցով՝</strong> յուրաքանչյուր պատվերի համար եզակի վճարման հղման ստեղծում</li>
|
||||
</ul>
|
||||
<p>2.2. Հասանելի վճարման եղանակները կարող են տարբերվել կախված Վաճառողից և Ապրանքի/Ծառայության տեսակից։</p>
|
||||
<p>2.3. Բոլոր վճարումները մշակվում են սերտիֆիկացված վճարային համակարգերի միջոցով՝ PCI DSS անվտանգության ստանդարտներին համապատասխան։</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>3. Վճարման գործընթացը</h2>
|
||||
<p>3.1. Պատվերի վճարման գործընթացը ներառում է հետևյալ քայլերը՝</p>
|
||||
<ol>
|
||||
<li>Ապրանքների/Ծառայությունների ընտրություն և դրանց ավելացնել զամբյուղի մեջ</li>
|
||||
<li>Պատվերի ձևակերպում՝ կապի տվյալների և առաքման եղանակի նշումով (անհրաժեշտության դեպքում)</li>
|
||||
<li>Վճարման եղանակի ընտրություն հասանելի տարբերակներից</li>
|
||||
<li>Վերահղորդում վճարային համակարգի պաշտպանված էջ կամ վճարման հղման ստացում</li>
|
||||
<li>Վճարման տվյալների մուտքագրում և վճարման հաստատում</li>
|
||||
<li>Հաջող վճարման մասին ծանուցման ստացում</li>
|
||||
</ol>
|
||||
<p>3.2. Բանկային քարտով վճարելիս Գնորդը կարող է վերահղորդվել թողարկող բանկի էջ՝ լրացուցիչ նույնականացման համար (3D-Secure)։</p>
|
||||
<p>3.3. Գնորդի վճարման պարտավորությունը համարվում է կատարված վճարային համակարգի հաշվին դրամական միջոցների մուտքի պահից։</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>4. Վճարումների անվտանգություն</h2>
|
||||
<p>4.1. Բոլոր վճարումները մշակվում են պաշտպանված HTTPS կապի միջոցով՝ TLS 1.2 և ավելի բարձր պրոտոկոլի օգտագործմամբ։</p>
|
||||
<p>4.2. Մարկետփլեյսը չի պահպանում Գնորդների բանկային քարտերի լիարժեկ տվյալները։ Վճարային տվյալների մշակումը կատարվում է սերտիֆիկացված վճարային ագրեգատորների կողմից։</p>
|
||||
<p>4.3. Խարդախությունից պաշտպանության համար կիրառվում է 3D-Secure տեխնոլոգիան՝ վճարումը հաստատելու համար SMS կոդի կամ բանկի push ծանուցման միջոցով։</p>
|
||||
<p>4.4. Կասկածելի գործողության դեպքում վճարային համակարգը իրավունք ունի պահանջելու Գնորդի ինքնության լրացուցիչ ստուգում։</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>5. Վճարման հաստատում</h2>
|
||||
<p>5.1. Հաջող վճարմանից հետո Գնորդը ստանում է հաստատում պատվերի ձևակերպման ժամանակ նշված էլեկտրոնային փոստի հասցեին։</p>
|
||||
<p>5.2. Հաստատումը պարունակում է հետևյալ տեղեկատվությունը՝</p>
|
||||
<ul>
|
||||
<li>Պատվերի համարը</li>
|
||||
<li>Վճարման ամսաթիվը և ժամը</li>
|
||||
<li>Վճարման գումարը</li>
|
||||
<li>Պատվերի բովանդակությունը</li>
|
||||
<li>Վաճառողի կապի տվյալները</li>
|
||||
</ul>
|
||||
<p>5.3. Պատվերի մասին տեղեկատվությունը նաև ցուցադրվում է Գնորդի անձնական հաշվից Մարկետփլեյսում (գրանցման դեպքում)։</p>
|
||||
<p>5.4. Ֆիսկալ կտրոնը ուղարկվում է Վաճառողի կողմից՝ ՌՀ օրենսդրության պահանջներին համապատասխան։</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>6. Միջոցների վերադարձ</h2>
|
||||
<p>6.1. Դրամական միջոցների վերադարձի կարգը կարգավորվում է <a [routerLink]="'/return-policy' | langRoute">Վերադարձի քաղաքականությամբ</a> և կախված է ձեռք բերված Ապրանքի/Ծառայության տեսակից։</p>
|
||||
<p>6.2. Միջոցների վերադարձը կատարվում է նույն վճարային գործիքին՝ որից կատարվել էր վճարումը։</p>
|
||||
<p>6.3. Դրամական միջոցների վերադարձի ժամկետները՝</p>
|
||||
<ul>
|
||||
<li>Բանկային քարտին՝ 3-ից 30 բանկային օր (կախված թողարկող բանկից)</li>
|
||||
<li>Էլեկտրոնային դրամապանակին՝ 1-ից 5 աշխատանքային օր</li>
|
||||
<li>ՍԲՊ-ի միջոցով՝ 1-ից 3 աշխատանքային օր</li>
|
||||
</ul>
|
||||
<p>6.4. Վերադարձի մշակման համար Մարկետփլեյսը միջնորդավճար չի գանձում։ Վճարային համակարգերի և բանկերի միջնորդավճարները կարող են կիրառվել իրենց սակագներին համապատասխան։</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>7. Անհաջող վճարումներ</h2>
|
||||
<p>7.1. Վճարումը կարող է մերժվել հետևյալ պատճառներով՝</p>
|
||||
<ul>
|
||||
<li>Հաշվին անբավարար միջոցներ</li>
|
||||
<li>Վճարային տվյալները սխալ են մուտքագրված</li>
|
||||
<li>Քարտը արգելափակված է կամ ժամկետն անցած է</li>
|
||||
<li>Բանկի կողմից սահմանված գործարքների սահմանափակումները գերազանցված են</li>
|
||||
<li>Անվտանգության համակարգի կողմից գործարքի մերժում</li>
|
||||
</ul>
|
||||
<p>7.2. Անհաջող վճարման դեպքում Գնորդը ստանում է ծանուցում՝ մերժման պատճառի նշումով։</p>
|
||||
<p>7.3. Վճարման խնդիրների դեպքում խորհուրդ է տրվում՝</p>
|
||||
<ul>
|
||||
<li>Ստուգել մուտքագրված տվյալների ճշտությունը</li>
|
||||
<li>Կապվել քարտ թողարկող բանկի հետ՝ մերժման պատճառը ճշտելու համար</li>
|
||||
<li>Փորձել այլընտրանքային վճարման եղանակ</li>
|
||||
<li>Դիմել աջակցության ծառայությանը՝ <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>8. Վճարման հարցերի կապի տեղեկատվություն</h2>
|
||||
<p>Պատվերների վճարման հետ կապված հարցերի համար կարող եք դիմել՝</p>
|
||||
<ul>
|
||||
<li><strong>Էլ. փոստ՝</strong> <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a></li>
|
||||
<li><strong>Աշխատանքային ժամեր՝</strong> Շուրջօրյա (տեխնիկական աջակցություն)</li>
|
||||
<li><strong>Միջին պատասխանի ժամը՝</strong> Մինչև 24 ժամ աշխատանքային օրերին</li>
|
||||
</ul>
|
||||
<p>Դիմելիս նշեք պատվերի համարը և խնդրի հակիրճ նկարագրությունը՝ հարցի ավելի արագ լուծման համար։</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<ul>
|
||||
<li><strong>Բանկային քարտեր՝</strong> Visa, Mastercard, ՄԻՐ</li>
|
||||
<li><strong>Արագ վճարման համակարգ (ՍԲՊ)՝</strong> ակնթարթ փոխանցում բանկի բջջային հավելվածի միջոցով</li>
|
||||
<li><strong>Էլեկտրոնային դրամապանակներ՝</strong> ՅուMoney, QIWI (առկայության դեպքում)</li>
|
||||
<li><strong>Վճարում հղման միջոցով՝</strong> յուրաքանչյուր պատվերի համար եզակի վճարման հղման ստեղծում</li>
|
||||
</ul>
|
||||
<p>2.2. Հասանելի վճարման եղանակները կարող են տարբերվել կախված Վաճառողից և Ապրանքի/Ծառայության տեսակից։</p>
|
||||
<p>2.3. Բոլոր վճարումները մշակվում են սերտիֆիկացված վճարային համակարգերի միջոցով՝ PCI DSS անվտանգության ստանդարտներին համապատասխան։</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>3. Վճարման գործընթացը</h2>
|
||||
<p>3.1. Պատվերի վճարման գործընթացը ներառում է հետևյալ քայլերը՝</p>
|
||||
<ol>
|
||||
<li>Ապրանքների/Ծառայությունների ընտրություն և դրանց ավելացնել զամբյուղի մեջ</li>
|
||||
<li>Պատվերի ձևակերպում՝ կապի տվյալների և առաքման եղանակի նշումով (անհրաժեշտության դեպքում)</li>
|
||||
<li>Վճարման եղանակի ընտրություն հասանելի տարբերակներից</li>
|
||||
<li>Վերահղորդում վճարային համակարգի պաշտպանված էջ կամ վճարման հղման ստացում</li>
|
||||
<li>Վճարման տվյալների մուտքագրում և վճարման հաստատում</li>
|
||||
<li>Հաջող վճարման մասին ծանուցման ստացում</li>
|
||||
</ol>
|
||||
<p>3.2. Բանկային քարտով վճարելիս Գնորդը կարող է վերահղորդվել թողարկող բանկի էջ՝ լրացուցիչ նույնականացման համար (3D-Secure)։</p>
|
||||
<p>3.3. Գնորդի վճարման պարտավորությունը համարվում է կատարված վճարային համակարգի հաշվին դրամական միջոցների մուտքի պահից։</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>4. Վճարումների անվտանգություն</h2>
|
||||
<p>4.1. Բոլոր վճարումները մշակվում են պաշտպանված HTTPS կապի միջոցով՝ TLS 1.2 և ավելի բարձր պրոտոկոլի օգտագործմամբ։</p>
|
||||
<p>4.2. Մարկետփլեյսը չի պահպանում Գնորդների բանկային քարտերի լիարժեկ տվյալները։ Վճարային տվյալների մշակումը կատարվում է սերտիֆիկացված վճարային ագրեգատորների կողմից։</p>
|
||||
<p>4.3. Խարդախությունից պաշտպանության համար կիրառվում է 3D-Secure տեխնոլոգիան՝ վճարումը հաստատելու համար SMS կոդի կամ բանկի push ծանուցման միջոցով։</p>
|
||||
<p>4.4. Կասկածելի գործողության դեպքում վճարային համակարգը իրավունք ունի պահանջելու Գնորդի ինքնության լրացուցիչ ստուգում։</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>5. Վճարման հաստատում</h2>
|
||||
<p>5.1. Հաջող վճարմանից հետո Գնորդը ստանում է հաստատում պատվերի ձևակերպման ժամանակ նշված էլեկտրոնային փոստի հասցեին։</p>
|
||||
<p>5.2. Հաստատումը պարունակում է հետևյալ տեղեկատվությունը՝</p>
|
||||
<ul>
|
||||
<li>Պատվերի համարը</li>
|
||||
<li>Վճարման ամսաթիվը և ժամը</li>
|
||||
<li>Վճարման գումարը</li>
|
||||
<li>Պատվերի բովանդակությունը</li>
|
||||
<li>Վաճառողի կապի տվյալները</li>
|
||||
</ul>
|
||||
<p>5.3. Պատվերի մասին տեղեկատվությունը նաև ցուցադրվում է Գնորդի անձնական հաշվից Մարկետփլեյսում (գրանցման դեպքում)։</p>
|
||||
<p>5.4. Ֆիսկալ կտրոնը ուղարկվում է Վաճառողի կողմից՝ ՌՀ օրենսդրության պահանջներին համապատասխան։</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>6. Միջոցների վերադարձ</h2>
|
||||
<p>6.1. Դրամական միջոցների վերադարձի կարգը կարգավորվում է <a [routerLink]="'/return-policy' | langRoute">Վերադարձի քաղաքականությամբ</a> և կախված է ձեռք բերված Ապրանքի/Ծառայության տեսակից։</p>
|
||||
<p>6.2. Միջոցների վերադարձը կատարվում է նույն վճարային գործիքին՝ որից կատարվել էր վճարումը։</p>
|
||||
<p>6.3. Դրամական միջոցների վերադարձի ժամկետները՝</p>
|
||||
<ul>
|
||||
<li>Բանկային քարտին՝ 3-ից 30 բանկային օր (կախված թողարկող բանկից)</li>
|
||||
<li>Էլեկտրոնային դրամապանակին՝ 1-ից 5 աշխատանքային օր</li>
|
||||
<li>ՍԲՊ-ի միջոցով՝ 1-ից 3 աշխատանքային օր</li>
|
||||
</ul>
|
||||
<p>6.4. Վերադարձի մշակման համար Մարկետփլեյսը միջնորդավճար չի գանձում։ Վճարային համակարգերի և բանկերի միջնորդավճարները կարող են կիրառվել իրենց սակագներին համապատասխան։</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>7. Անհաջող վճարումներ</h2>
|
||||
<p>7.1. Վճարումը կարող է մերժվել հետևյալ պատճառներով՝</p>
|
||||
<ul>
|
||||
<li>Հաշվին անբավարար միջոցներ</li>
|
||||
<li>Վճարային տվյալները սխալ են մուտքագրված</li>
|
||||
<li>Քարտը արգելափակված է կամ ժամկետն անցած է</li>
|
||||
<li>Բանկի կողմից սահմանված գործարքների սահմանափակումները գերազանցված են</li>
|
||||
<li>Անվտանգության համակարգի կողմից գործարքի մերժում</li>
|
||||
</ul>
|
||||
<p>7.2. Անհաջող վճարման դեպքում Գնորդը ստանում է ծանուցում՝ մերժման պատճառի նշումով։</p>
|
||||
<p>7.3. Վճարման խնդիրների դեպքում խորհուրդ է տրվում՝</p>
|
||||
<ul>
|
||||
<li>Ստուգել մուտքագրված տվյալների ճշտությունը</li>
|
||||
<li>Կապվել քարտ թողարկող բանկի հետ՝ մերժման պատճառը ճշտելու համար</li>
|
||||
<li>Փորձել այլընտրանքային վճարման եղանակ</li>
|
||||
<li>Դիմել աջակցության ծառայությանը՝ <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>8. Վճարման հարցերի կապի տեղեկատվություն</h2>
|
||||
<p>Պատվերների վճարման հետ կապված հարցերի համար կարող եք դիմել՝</p>
|
||||
<ul>
|
||||
<li><strong>Էլ. փոստ՝</strong> <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a></li>
|
||||
<li><strong>Աշխատանքային ժամեր՝</strong> Շուրջօրյա (տեխնիկական աջակցություն)</li>
|
||||
<li><strong>Միջին պատասխանի ժամը՝</strong> Մինչև 24 ժամ աշխատանքային օրերին</li>
|
||||
</ul>
|
||||
<p>Դիմելիս նշեք պատվերի համարը և խնդրի հակիրճ նկարագրությունը՝ հարցի ավելի արագ լուծման համար։</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
@@ -1,113 +1,117 @@
|
||||
<h1>Правила оплаты</h1>
|
||||
<div class="legal-page">
|
||||
<div class="legal-container">
|
||||
<h1>Правила оплаты</h1>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>1. Общие положения</h2>
|
||||
<p>1.1. Настоящие Правила определяют порядок оплаты Товаров и Услуг, приобретаемых Покупателями через Маркетплейс DexarMarket.</p>
|
||||
<p>1.2. Оплата производится за Товары/Услуги, размещенные независимыми Продавцами. Маркетплейс выступает в качестве информационного посредника и обеспечивает техническую инфраструктуру для проведения платежей.</p>
|
||||
<p>1.3. Оплата товаров и услуг на Маркетплейсе осуществляется в российских рублях (RUB).</p>
|
||||
<p>1.4. Цены на Товары/Услуги устанавливаются Продавцами самостоятельно и указываются на странице соответствующего Товара/Услуги.</p>
|
||||
</section>
|
||||
<section class="legal-section">
|
||||
<h2>1. Общие положения</h2>
|
||||
<p>1.1. Настоящие Правила определяют порядок оплаты Товаров и Услуг, приобретаемых Покупателями через Маркетплейс DexarMarket.</p>
|
||||
<p>1.2. Оплата производится за Товары/Услуги, размещенные независимыми Продавцами. Маркетплейс выступает в качестве информационного посредника и обеспечивает техническую инфраструктуру для проведения платежей.</p>
|
||||
<p>1.3. Оплата товаров и услуг на Маркетплейсе осуществляется в российских рублях (RUB).</p>
|
||||
<p>1.4. Цены на Товары/Услуги устанавливаются Продавцами самостоятельно и указываются на странице соответствующего Товара/Услуги.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>2. Способы оплаты</h2>
|
||||
<p>2.1. Маркетплейс поддерживает следующие способы оплаты:</p>
|
||||
<section class="legal-section">
|
||||
<h2>2. Способы оплаты</h2>
|
||||
<p>2.1. Маркетплейс поддерживает следующие способы оплаты:</p>
|
||||
|
||||
<div class="payment-methods">
|
||||
<div class="payment-logos">
|
||||
<img src="/assets/images/mir-logo.svg" alt="МИР" loading="lazy" width="80" height="50" />
|
||||
<img src="/assets/images/visa-logo.svg" alt="Visa" loading="lazy" width="80" height="50" />
|
||||
<img src="/assets/images/mastercard-logo.svg" alt="Mastercard" loading="lazy" width="80" height="50" />
|
||||
</div>
|
||||
<div class="payment-methods">
|
||||
<div class="payment-logos">
|
||||
<img src="/assets/images/mir-logo.svg" alt="МИР" loading="lazy" width="80" height="50" />
|
||||
<img src="/assets/images/visa-logo.svg" alt="Visa" loading="lazy" width="80" height="50" />
|
||||
<img src="/assets/images/mastercard-logo.svg" alt="Mastercard" loading="lazy" width="80" height="50" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul>
|
||||
<li><strong>Банковские карты:</strong> Visa, Mastercard, МИР</li>
|
||||
<li><strong>Системы быстрых платежей (СБП):</strong> мгновенный перевод через мобильное приложение банка</li>
|
||||
<li><strong>Электронные кошельки:</strong> ЮMoney, QIWI (при наличии)</li>
|
||||
<li><strong>Оплата по ссылке:</strong> генерация уникальной платежной ссылки для каждого заказа</li>
|
||||
</ul>
|
||||
<p>2.2. Доступные способы оплаты могут различаться в зависимости от Продавца и типа Товара/Услуги.</p>
|
||||
<p>2.3. Все платежи обрабатываются через сертифицированные платежные системы с соблюдением стандартов безопасности PCI DSS.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>3. Процесс оплаты</h2>
|
||||
<p>3.1. Процедура оплаты заказа включает следующие этапы:</p>
|
||||
<ol>
|
||||
<li>Выбор Товаров/Услуг и добавление их в корзину</li>
|
||||
<li>Оформление заказа с указанием контактных данных и способа доставки (при необходимости)</li>
|
||||
<li>Выбор способа оплаты из доступных вариантов</li>
|
||||
<li>Перенаправление на защищенную страницу платежной системы или получение платежной ссылки</li>
|
||||
<li>Ввод платежных данных и подтверждение оплаты</li>
|
||||
<li>Получение уведомления об успешной оплате</li>
|
||||
</ol>
|
||||
<p>3.2. При оплате банковской картой Покупатель может быть перенаправлен на страницу банка-эмитента для прохождения дополнительной аутентификации (3D-Secure).</p>
|
||||
<p>3.3. Обязательство Покупателя по оплате считается исполненным с момента поступления денежных средств на счет платежной системы.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>4. Безопасность платежей</h2>
|
||||
<p>4.1. Все платежи обрабатываются через защищенное HTTPS-соединение с использованием протокола TLS 1.2 и выше.</p>
|
||||
<p>4.2. Маркетплейс не хранит полные данные банковских карт Покупателей. Обработка платежных данных осуществляется сертифицированными платежными агрегаторами.</p>
|
||||
<p>4.3. Для защиты от мошенничества применяется технология 3D-Secure, требующая подтверждения платежа через SMS-код или push-уведомление от банка.</p>
|
||||
<p>4.4. В случае подозрительной активности платежная система имеет право запросить дополнительную верификацию личности Покупателя.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>5. Подтверждение оплаты</h2>
|
||||
<p>5.1. После успешной оплаты Покупатель получает подтверждение на указанный при оформлении заказа адрес электронной почты.</p>
|
||||
<p>5.2. Подтверждение содержит следующую информацию:</p>
|
||||
<ul>
|
||||
<li>Номер заказа</li>
|
||||
<li>Дата и время оплаты</li>
|
||||
<li>Сумма платежа</li>
|
||||
<li>Состав заказа</li>
|
||||
<li>Контактные данные Продавца</li>
|
||||
</ul>
|
||||
<p>5.3. Информация о заказе также отображается в личном кабинете Покупателя на Маркетплейсе (при наличии регистрации).</p>
|
||||
<p>5.4. Фискальный чек направляется Продавцом в соответствии с требованиями законодательства РФ.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>6. Возврат средств</h2>
|
||||
<p>6.1. Порядок возврата денежных средств регулируется <a [routerLink]="'/return-policy' | langRoute">Политикой возврата</a> и зависит от типа приобретенного Товара/Услуги.</p>
|
||||
<p>6.2. Возврат средств производится на тот же платежный инструмент, с которого была произведена оплата.</p>
|
||||
<p>6.3. Срок возврата денежных средств составляет:</p>
|
||||
<ul>
|
||||
<li>На банковскую карту: от 3 до 30 банковских дней (в зависимости от банка-эмитента)</li>
|
||||
<li>На электронный кошелек: от 1 до 5 рабочих дней</li>
|
||||
<li>Через СБП: от 1 до 3 рабочих дней</li>
|
||||
</ul>
|
||||
<p>6.4. За обработку возврата средств Маркетплейс комиссию не взимает. Комиссии платежных систем и банков могут применяться в соответствии с их тарифами.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>7. Неуспешные платежи</h2>
|
||||
<p>7.1. Платеж может быть отклонен по следующим причинам:</p>
|
||||
<ul>
|
||||
<li>Недостаточно средств на счете</li>
|
||||
<li>Неверно введены платежные данные</li>
|
||||
<li>Карта заблокирована или просрочена</li>
|
||||
<li>Превышены лимиты на операции, установленные банком</li>
|
||||
<li>Отказ в проведении транзакции системой безопасности</li>
|
||||
</ul>
|
||||
<p>7.2. В случае неуспешной оплаты Покупатель получает уведомление с указанием причины отказа.</p>
|
||||
<p>7.3. При возникновении проблем с оплатой рекомендуется:</p>
|
||||
<ul>
|
||||
<li>Проверить правильность введенных данных</li>
|
||||
<li>Связаться с банком-эмитентом карты для уточнения причины отказа</li>
|
||||
<li>Попробовать альтернативный способ оплаты</li>
|
||||
<li>Обратиться в службу поддержки: <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>8. Контакты для вопросов по оплате</h2>
|
||||
<p>По вопросам, связанным с оплатой заказов, вы можете обратиться:</p>
|
||||
<ul>
|
||||
<li><strong>Email:</strong> <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a></li>
|
||||
<li><strong>Время работы:</strong> Круглосуточно (техническая поддержка)</li>
|
||||
<li><strong>Среднее время ответа:</strong> До 24 часов в рабочие дни</li>
|
||||
</ul>
|
||||
<p>При обращении указывайте номер заказа и краткое описание проблемы для более быстрого решения вопроса.</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<ul>
|
||||
<li><strong>Банковские карты:</strong> Visa, Mastercard, МИР</li>
|
||||
<li><strong>Системы быстрых платежей (СБП):</strong> мгновенный перевод через мобильное приложение банка</li>
|
||||
<li><strong>Электронные кошельки:</strong> ЮMoney, QIWI (при наличии)</li>
|
||||
<li><strong>Оплата по ссылке:</strong> генерация уникальной платежной ссылки для каждого заказа</li>
|
||||
</ul>
|
||||
<p>2.2. Доступные способы оплаты могут различаться в зависимости от Продавца и типа Товара/Услуги.</p>
|
||||
<p>2.3. Все платежи обрабатываются через сертифицированные платежные системы с соблюдением стандартов безопасности PCI DSS.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>3. Процесс оплаты</h2>
|
||||
<p>3.1. Процедура оплаты заказа включает следующие этапы:</p>
|
||||
<ol>
|
||||
<li>Выбор Товаров/Услуг и добавление их в корзину</li>
|
||||
<li>Оформление заказа с указанием контактных данных и способа доставки (при необходимости)</li>
|
||||
<li>Выбор способа оплаты из доступных вариантов</li>
|
||||
<li>Перенаправление на защищенную страницу платежной системы или получение платежной ссылки</li>
|
||||
<li>Ввод платежных данных и подтверждение оплаты</li>
|
||||
<li>Получение уведомления об успешной оплате</li>
|
||||
</ol>
|
||||
<p>3.2. При оплате банковской картой Покупатель может быть перенаправлен на страницу банка-эмитента для прохождения дополнительной аутентификации (3D-Secure).</p>
|
||||
<p>3.3. Обязательство Покупателя по оплате считается исполненным с момента поступления денежных средств на счет платежной системы.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>4. Безопасность платежей</h2>
|
||||
<p>4.1. Все платежи обрабатываются через защищенное HTTPS-соединение с использованием протокола TLS 1.2 и выше.</p>
|
||||
<p>4.2. Маркетплейс не хранит полные данные банковских карт Покупателей. Обработка платежных данных осуществляется сертифицированными платежными агрегаторами.</p>
|
||||
<p>4.3. Для защиты от мошенничества применяется технология 3D-Secure, требующая подтверждения платежа через SMS-код или push-уведомление от банка.</p>
|
||||
<p>4.4. В случае подозрительной активности платежная система имеет право запросить дополнительную верификацию личности Покупателя.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>5. Подтверждение оплаты</h2>
|
||||
<p>5.1. После успешной оплаты Покупатель получает подтверждение на указанный при оформлении заказа адрес электронной почты.</p>
|
||||
<p>5.2. Подтверждение содержит следующую информацию:</p>
|
||||
<ul>
|
||||
<li>Номер заказа</li>
|
||||
<li>Дата и время оплаты</li>
|
||||
<li>Сумма платежа</li>
|
||||
<li>Состав заказа</li>
|
||||
<li>Контактные данные Продавца</li>
|
||||
</ul>
|
||||
<p>5.3. Информация о заказе также отображается в личном кабинете Покупателя на Маркетплейсе (при наличии регистрации).</p>
|
||||
<p>5.4. Фискальный чек направляется Продавцом в соответствии с требованиями законодательства РФ.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>6. Возврат средств</h2>
|
||||
<p>6.1. Порядок возврата денежных средств регулируется <a [routerLink]="'/return-policy' | langRoute">Политикой возврата</a> и зависит от типа приобретенного Товара/Услуги.</p>
|
||||
<p>6.2. Возврат средств производится на тот же платежный инструмент, с которого была произведена оплата.</p>
|
||||
<p>6.3. Срок возврата денежных средств составляет:</p>
|
||||
<ul>
|
||||
<li>На банковскую карту: от 3 до 30 банковских дней (в зависимости от банка-эмитента)</li>
|
||||
<li>На электронный кошелек: от 1 до 5 рабочих дней</li>
|
||||
<li>Через СБП: от 1 до 3 рабочих дней</li>
|
||||
</ul>
|
||||
<p>6.4. За обработку возврата средств Маркетплейс комиссию не взимает. Комиссии платежных систем и банков могут применяться в соответствии с их тарифами.</p>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>7. Неуспешные платежи</h2>
|
||||
<p>7.1. Платеж может быть отклонен по следующим причинам:</p>
|
||||
<ul>
|
||||
<li>Недостаточно средств на счете</li>
|
||||
<li>Неверно введены платежные данные</li>
|
||||
<li>Карта заблокирована или просрочена</li>
|
||||
<li>Превышены лимиты на операции, установленные банком</li>
|
||||
<li>Отказ в проведении транзакции системой безопасности</li>
|
||||
</ul>
|
||||
<p>7.2. В случае неуспешной оплаты Покупатель получает уведомление с указанием причины отказа.</p>
|
||||
<p>7.3. При возникновении проблем с оплатой рекомендуется:</p>
|
||||
<ul>
|
||||
<li>Проверить правильность введенных данных</li>
|
||||
<li>Связаться с банком-эмитентом карты для уточнения причины отказа</li>
|
||||
<li>Попробовать альтернативный способ оплаты</li>
|
||||
<li>Обратиться в службу поддержки: <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="legal-section">
|
||||
<h2>8. Контакты для вопросов по оплате</h2>
|
||||
<p>По вопросам, связанным с оплатой заказов, вы можете обратиться:</p>
|
||||
<ul>
|
||||
<li><strong>Email:</strong> <a href="mailto:info@dexarmarket.ru">info@dexarmarket.ru</a></li>
|
||||
<li><strong>Время работы:</strong> Круглосуточно (техническая поддержка)</li>
|
||||
<li><strong>Среднее время ответа:</strong> До 24 часов в рабочие дни</li>
|
||||
</ul>
|
||||
<p>При обращении указывайте номер заказа и краткое описание проблемы для более быстрого решения вопроса.</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
<div class="legal-page">
|
||||
<div class="legal-container">
|
||||
<h1>PERSONAL DATA PROCESSING POLICY</h1>
|
||||
|
||||
<section class="legal-section">
|
||||
@@ -361,3 +363,5 @@
|
||||
|
||||
<p>12.3. If the Operator can reasonably associate the information specified in this section with the personal account of a specific User, then such information may be processed together with the PD and other personal information of such User.</p>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
<div class="legal-page">
|
||||
<div class="legal-container">
|
||||
<h1>PERSONAL DATA PROCESSING POLICY</h1>
|
||||
|
||||
<section class="legal-section">
|
||||
@@ -361,3 +363,5 @@
|
||||
|
||||
<p>12.3. If the Operator can reasonably associate the information specified in this section with the personal account of a specific User, then such information may be processed together with the PD and other personal information of such User.</p>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
<div class="legal-page">
|
||||
<div class="legal-container">
|
||||
<h1>ПОЛИТИКА В ОТНОШЕНИИ ОБРАБОТКИ ПЕРСОНАЛЬНЫХ ДАННЫХ</h1>
|
||||
|
||||
<section class="legal-section">
|
||||
@@ -361,3 +363,5 @@
|
||||
|
||||
<p>12.3. Если Оператор может разумно соотнести указанные в настоящем разделе сведения с личным кабинетом конкретного Пользователя, то такие сведения могут обрабатываться совместно с ПДн и иной личной информацией такого Пользователя.</p>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
<div class="legal-page">
|
||||
<div class="legal-container">
|
||||
<h1>PUBLIC OFFER AGREEMENT</h1>
|
||||
|
||||
<section class="legal-section">
|
||||
@@ -459,3 +461,5 @@
|
||||
<p><strong>16.8. Response to Violations</strong></p>
|
||||
<p>Non-intervention by the Site Owner in the event of violations of agreements by Users does not prevent subsequent measures to protect the Owner's interests at a later date.</p>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
<h1>Հdelays DELAYS ՀԱՄDELAYS</h1>
|
||||
<div class="legal-page">
|
||||
<div class="legal-container">
|
||||
<h1>Հdelays DELAYS ՀԱՄDELAYS</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
<div class="legal-page">
|
||||
<div class="legal-container">
|
||||
<h1>СОГЛАШЕНИЕ ПУБЛИЧНОЙ ОФЕРТЫ</h1>
|
||||
|
||||
<section class="legal-section">
|
||||
@@ -459,3 +461,5 @@
|
||||
<p><strong>16.8. Реакция на нарушения</strong></p>
|
||||
<p>Невмешательство Владельца сайта в случае нарушений соглашений Пользователями не препятствует последующим мерам защиты интересов Владельца позже.</p>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
<div class="legal-page">
|
||||
<div class="legal-container">
|
||||
<h1>Return Policy</h1>
|
||||
|
||||
<section class="legal-section">
|
||||
@@ -128,3 +130,5 @@
|
||||
</ul>
|
||||
<p>If the conflict cannot be resolved amicably, the Buyer has the right to file a complaint with Rospotrebnadzor or the court at the Seller's location.</p>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
<div class="legal-page">
|
||||
<div class="legal-container">
|
||||
<h1>Ապրանքների վերադարձի քաղաքականություն</h1>
|
||||
|
||||
<section class="legal-section">
|
||||
@@ -128,3 +130,5 @@
|
||||
</ul>
|
||||
<p>Եթե կոնֆլիկտը հնարավոր չէ լուծել խաղաղ ճանապարհով՝ Գնորդը իրավունք ունի բողոք ներկայացնելու Ռոսպոտրեբնաձոր կամ դատարան Վաճառողի գտնվելու վայրում։</p>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
<div class="legal-page">
|
||||
<div class="legal-container">
|
||||
<h1>Политика возврата товаров</h1>
|
||||
|
||||
<section class="legal-section">
|
||||
@@ -128,3 +130,5 @@
|
||||
</ul>
|
||||
<p>Если конфликт невозможно разрешить мирно, Покупатель вправе подать жалобу в Роспотребнадзор или суд по месту расположения Продавца.</p>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
<div class="item-card">
|
||||
<a [routerLink]="['/item', item.itemID] | langRoute" class="item-link">
|
||||
<div class="item-image">
|
||||
<img [src]="getMainImage(item)" [alt]="item.name" loading="lazy" decoding="async" width="300" height="300" />
|
||||
<img [src]="getMainImage(item)" [alt]="itemName(item)" loading="lazy" decoding="async" width="300" height="300" />
|
||||
@if (item.discount > 0) {
|
||||
<div class="discount-badge">-{{ item.discount }}%</div>
|
||||
}
|
||||
@@ -73,10 +73,10 @@
|
||||
</div>
|
||||
|
||||
<div class="item-details">
|
||||
<h3 class="item-name">{{ item.name }}</h3>
|
||||
<h3 class="item-name">{{ itemName(item) }}</h3>
|
||||
|
||||
@if (item.simpleDescription) {
|
||||
<p class="item-simple-desc">{{ item.simpleDescription }}</p>
|
||||
@if (itemDesc(item)) {
|
||||
<p class="item-simple-desc">{{ itemDesc(item) }}</p>
|
||||
}
|
||||
|
||||
<div class="item-rating">
|
||||
|
||||
@@ -6,7 +6,8 @@ import { ApiService, CartService } from '../../services';
|
||||
import { Item } from '../../models';
|
||||
import { Subject, Subscription } from 'rxjs';
|
||||
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
||||
import { getDiscountedPrice, getMainImage, trackByItemId, getBadgeClass } from '../../utils/item.utils';
|
||||
import { getDiscountedPrice, getMainImage, trackByItemId, getBadgeClass, getTranslatedField } from '../../utils/item.utils';
|
||||
import { LanguageService } from '../../services/language.service';
|
||||
import { LangRoutePipe } from '../../pipes/lang-route.pipe';
|
||||
import { TranslatePipe } from '../../i18n/translate.pipe';
|
||||
import { TranslateService } from '../../i18n/translate.service';
|
||||
@@ -27,7 +28,7 @@ export class SearchComponent implements OnDestroy {
|
||||
totalResults = signal<number>(0);
|
||||
|
||||
private skip = 0;
|
||||
private readonly count = 20;
|
||||
private readonly count = 50;
|
||||
private isLoadingMore = false;
|
||||
private searchSubject = new Subject<string>();
|
||||
private searchSubscription: Subscription;
|
||||
@@ -137,4 +138,8 @@ export class SearchComponent implements OnDestroy {
|
||||
readonly getMainImage = getMainImage;
|
||||
readonly trackByItemId = trackByItemId;
|
||||
readonly getBadgeClass = getBadgeClass;
|
||||
|
||||
private langService = inject(LanguageService);
|
||||
itemName(item: Item): string { return getTranslatedField(item, 'name', this.langService.currentLanguage()); }
|
||||
itemDesc(item: Item): string { return getTranslatedField(item, 'simpleDescription', this.langService.currentLanguage()); }
|
||||
}
|
||||
|
||||
@@ -18,7 +18,8 @@ export class ApiService {
|
||||
* legacy marketplace format and the new backOffice API format.
|
||||
*/
|
||||
private normalizeItem(raw: any): Item {
|
||||
const item: Item = { ...raw };
|
||||
const { partnerID, ...rest } = raw;
|
||||
const item: Item = { ...rest };
|
||||
|
||||
// Map backOffice string id → legacy numeric itemID
|
||||
if (raw.id != null && raw.itemID == null) {
|
||||
@@ -30,6 +31,13 @@ export class ApiService {
|
||||
if (raw.imgs && (!raw.photos || raw.photos.length === 0)) {
|
||||
item.photos = raw.imgs.map((url: string) => ({ url }));
|
||||
}
|
||||
// Normalize photo type: API sends type='video'|'photo', template checks .video
|
||||
if (item.photos) {
|
||||
item.photos = item.photos.map((p: any) => ({
|
||||
...p,
|
||||
video: p.video || (p.type === 'video' ? p.url : undefined),
|
||||
}));
|
||||
}
|
||||
item.imgs = raw.imgs || raw.photos?.map((p: any) => p.url) || [];
|
||||
|
||||
// Map backOffice description (key-value array) → legacy description string
|
||||
@@ -40,6 +48,33 @@ export class ApiService {
|
||||
item.description = raw.description || raw.simpleDescription || '';
|
||||
}
|
||||
|
||||
// Map backend names[] → translations (multi-lang name support)
|
||||
if (raw.names && Array.isArray(raw.names)) {
|
||||
item.names = raw.names;
|
||||
if (!item.translations) item.translations = {};
|
||||
for (const entry of raw.names) {
|
||||
if (!item.translations[entry.language]) item.translations[entry.language] = {};
|
||||
item.translations[entry.language].name = entry.value;
|
||||
}
|
||||
}
|
||||
|
||||
// Map backend descriptions[] → translations (multi-lang descriptions)
|
||||
if (raw.descriptions && Array.isArray(raw.descriptions)) {
|
||||
item.descriptions = raw.descriptions;
|
||||
if (!item.translations) item.translations = {};
|
||||
for (const entry of raw.descriptions) {
|
||||
if (!item.translations[entry.language]) item.translations[entry.language] = {};
|
||||
item.translations[entry.language].simpleDescription = entry.value;
|
||||
}
|
||||
}
|
||||
|
||||
// Preserve attributes from backend
|
||||
item.attributes = raw.attributes || [];
|
||||
|
||||
// Preserve colour & size
|
||||
item.colour = raw.colour || '';
|
||||
item.size = raw.size || '';
|
||||
|
||||
// Map backOffice comments → legacy callbacks
|
||||
if (raw.comments && (!raw.callbacks || raw.callbacks.length === 0)) {
|
||||
item.callbacks = raw.comments.map((c: any) => ({
|
||||
@@ -77,7 +112,7 @@ export class ApiService {
|
||||
item.badges = raw.badges || [];
|
||||
item.tags = raw.tags || [];
|
||||
item.simpleDescription = raw.simpleDescription || '';
|
||||
item.translations = raw.translations || {};
|
||||
item.translations = item.translations || raw.translations || {};
|
||||
item.visible = raw.visible ?? true;
|
||||
item.priority = raw.priority ?? 0;
|
||||
|
||||
|
||||
@@ -9,11 +9,18 @@ export interface Language {
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
export interface Currency {
|
||||
code: string;
|
||||
symbol: string;
|
||||
name: string;
|
||||
}
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class LanguageService {
|
||||
private currentLanguageSignal = signal<string>('ru');
|
||||
private currentCurrencySignal = signal<string>('RUB');
|
||||
|
||||
languages: Language[] = [
|
||||
{ code: 'ru', name: 'Русский', flag: '🇷🇺', flagSvg: '/flags/ru.svg', enabled: true },
|
||||
@@ -21,7 +28,15 @@ export class LanguageService {
|
||||
{ code: 'hy', name: 'Հայերեն', flag: '🇦🇲', flagSvg: '/flags/arm.svg', enabled: true }
|
||||
];
|
||||
|
||||
currencies: Currency[] = [
|
||||
{ code: 'RUB', symbol: '₽', name: 'Рубль' },
|
||||
{ code: 'USD', symbol: '$', name: 'Dollar' },
|
||||
{ code: 'EUR', symbol: '€', name: 'Euro' },
|
||||
{ code: 'AMD', symbol: '֏', name: 'Դրամ' },
|
||||
];
|
||||
|
||||
currentLanguage = this.currentLanguageSignal.asReadonly();
|
||||
currentCurrency = this.currentCurrencySignal.asReadonly();
|
||||
|
||||
constructor(private router: Router) {
|
||||
// Load saved language from localStorage
|
||||
@@ -29,6 +44,11 @@ export class LanguageService {
|
||||
if (savedLang && this.languages.find(l => l.code === savedLang && l.enabled)) {
|
||||
this.currentLanguageSignal.set(savedLang);
|
||||
}
|
||||
|
||||
const savedCurrency = localStorage.getItem('selectedCurrency');
|
||||
if (savedCurrency && this.currencies.find(c => c.code === savedCurrency)) {
|
||||
this.currentCurrencySignal.set(savedCurrency);
|
||||
}
|
||||
}
|
||||
|
||||
setLanguage(langCode: string): void {
|
||||
@@ -39,6 +59,18 @@ export class LanguageService {
|
||||
}
|
||||
}
|
||||
|
||||
setCurrency(code: string): void {
|
||||
const currency = this.currencies.find(c => c.code === code);
|
||||
if (currency) {
|
||||
this.currentCurrencySignal.set(code);
|
||||
localStorage.setItem('selectedCurrency', code);
|
||||
}
|
||||
}
|
||||
|
||||
getCurrentCurrency(): Currency | undefined {
|
||||
return this.currencies.find(c => c.code === this.currentCurrencySignal());
|
||||
}
|
||||
|
||||
/** Change language and navigate to the same page with the new prefix */
|
||||
switchLanguage(langCode: string): void {
|
||||
const lang = this.languages.find(l => l.code === langCode);
|
||||
|
||||
@@ -61,17 +61,31 @@ export function getBadgeClass(badge: string): string {
|
||||
|
||||
/**
|
||||
* Get the translated name/description for the current language.
|
||||
* Falls back to the default (base) field if no translation exists.
|
||||
* Checks translations map first, then names[]/descriptions[] arrays,
|
||||
* then falls back to the default (base) field.
|
||||
*/
|
||||
export function getTranslatedField(
|
||||
item: Item,
|
||||
field: 'name' | 'simpleDescription',
|
||||
lang: string
|
||||
): string {
|
||||
// 1. Check translations map (backOffice format)
|
||||
const translation = item.translations?.[lang];
|
||||
if (translation && translation[field]) {
|
||||
return translation[field]!;
|
||||
}
|
||||
|
||||
// 2. Check names[]/descriptions[] arrays (backend API format)
|
||||
if (field === 'name' && item.names?.length) {
|
||||
const entry = item.names.find(n => n.language === lang);
|
||||
if (entry) return entry.value;
|
||||
}
|
||||
if (field === 'simpleDescription' && item.descriptions?.length) {
|
||||
const entry = item.descriptions.find(d => d.language === lang);
|
||||
if (entry) return entry.value;
|
||||
}
|
||||
|
||||
// 3. Fallback to base field
|
||||
if (field === 'name') return item.name;
|
||||
if (field === 'simpleDescription') return item.simpleDescription || item.description || '';
|
||||
return '';
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
// Dexar Market Configuration
|
||||
export const environment = {
|
||||
production: false,
|
||||
useMockData: true, // Toggle to test with backOffice mock data
|
||||
useMockData: false, // Toggle to test with backOffice mock data
|
||||
brandName: 'Dexarmarket',
|
||||
brandFullName: 'Dexar Market',
|
||||
theme: 'dexar',
|
||||
apiUrl: 'https://api.dexarmarket.ru:445',
|
||||
apiUrl: '/api',
|
||||
logo: '/assets/images/dexar-logo.svg',
|
||||
contactEmail: 'info@dexarmarket.ru',
|
||||
supportEmail: 'info@dexarmarket.ru',
|
||||
|
||||
Reference in New Issue
Block a user