@ -0,0 +1,13 @@
|
||||
VITE_APP_ENV = development
|
||||
|
||||
VITE_APP_IMG_URL = 'https://shop.h888.fun/'
|
||||
|
||||
VITE_APP_API_URL = 'https://shop.h888.fun/appapi/v1'
|
||||
|
||||
VITE_APP_SSO_URL = 'https://sso.h888.fun/api/v1'
|
||||
|
||||
VITE_APP_LINE_CLIENT_ID = '1657876696'
|
||||
|
||||
VITE_APP_LINE_CLIENT_SECRET = '2a7930d6143a00ff421812b942cde200'
|
||||
|
||||
VITE_APP_WS_URL = 'wss://ws.h888.fun:8443'
|
||||
@ -0,0 +1,11 @@
|
||||
VITE_APP_IMG_URL = 'https://shop.h888.fun/'
|
||||
|
||||
VITE_APP_API_URL = 'https://shop.h888.fun/appapi/v1'
|
||||
|
||||
VITE_APP_SSO_URL = 'https://sso.h888.fun/api/v1'
|
||||
|
||||
VITE_APP_LINE_CLIENT_ID = '1657876696'
|
||||
|
||||
VITE_APP_LINE_CLIENT_SECRET = '2a7930d6143a00ff421812b942cde200'
|
||||
|
||||
VITE_APP_WS_URL = 'wss://ws.h888.fun:8443'
|
||||
@ -0,0 +1,9 @@
|
||||
VITE_APP_IMG_URL = 'https://shop.slash1000.com/'
|
||||
|
||||
VITE_APP_API_URL = 'https://shop.slash1000.com/appapi/v1'
|
||||
|
||||
VITE_APP_SSO_URL = 'https://sso.slash1000.com/api/v1'
|
||||
|
||||
VITE_APP_LINE_CLIENT_ID = '1661025693'
|
||||
|
||||
VITE_APP_LINE_CLIENT_SECRET = '914cc067cb11ffbd47640de8f3f4a00a'
|
||||
@ -0,0 +1,13 @@
|
||||
VITE_APP_ENV = slash
|
||||
|
||||
VITE_APP_IMG_URL = 'https://shop.slash1000.com/'
|
||||
|
||||
VITE_APP_API_URL = 'https://shop.slash1000.com/appapi/v1'
|
||||
|
||||
VITE_APP_SSO_URL = 'https://sso.slash1000.com/api/v1'
|
||||
|
||||
VITE_APP_LINE_CLIENT_ID = '1661025693'
|
||||
|
||||
VITE_APP_LINE_CLIENT_SECRET = '914cc067cb11ffbd47640de8f3f4a00a'
|
||||
|
||||
VITE_APP_WS_URL = 'wss://shop.slash1000.com:8443'
|
||||
@ -0,0 +1,26 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
.idea
|
||||
.DS_Store
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
|
||||
uph888.sh
|
||||
@ -0,0 +1,5 @@
|
||||
{
|
||||
"printWidth": 120,
|
||||
"tabWidth": 4,
|
||||
"useTabs": false
|
||||
}
|
||||
@ -0,0 +1,3 @@
|
||||
{
|
||||
"recommendations": ["Vue.volar"]
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
# Vue 3 + TypeScript + Vite
|
||||
|
||||
This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
|
||||
|
||||
## Recommended IDE Setup
|
||||
|
||||
- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar)
|
||||
|
||||
## Type Support For `.vue` Imports in TS
|
||||
|
||||
Since TypeScript cannot handle type information for `.vue` imports, they are shimmed to be a generic Vue component type by default. In most cases this is fine if you don't really care about component prop types outside of templates. However, if you wish to get actual prop types in `.vue` imports (for example to get props validation when using manual `h(...)` calls), you can enable Volar's Take Over mode by following these steps:
|
||||
|
||||
1. Run `Extensions: Show Built-in Extensions` from VS Code's command palette, look for `TypeScript and JavaScript Language Features`, then right click and select `Disable (Workspace)`. By default, Take Over mode will enable itself if the default TypeScript extension is disabled.
|
||||
2. Reload the VS Code window by running `Developer: Reload Window` from the command palette.
|
||||
|
||||
You can learn more about Take Over mode [here](https://github.com/johnsoncodehk/volar/discussions/471).
|
||||
@ -0,0 +1,19 @@
|
||||
// generated by unplugin-vue-components
|
||||
// We suggest you to commit this file into source control
|
||||
// Read more: https://github.com/vuejs/core/pull/3399
|
||||
import '@vue/runtime-core'
|
||||
|
||||
export {}
|
||||
|
||||
declare module '@vue/runtime-core' {
|
||||
export interface GlobalComponents {
|
||||
Footer: typeof import('./src/components/Footer.vue')['default']
|
||||
Header: typeof import('./src/components/Header.vue')['default']
|
||||
RouterLink: typeof import('vue-router')['RouterLink']
|
||||
RouterView: typeof import('vue-router')['RouterView']
|
||||
UserHeader: typeof import('./src/components/UserHeader.vue')['default']
|
||||
VanIcon: typeof import('vant/es')['Icon']
|
||||
VanSwipe: typeof import('vant/es')['Swipe']
|
||||
VanSwipeItem: typeof import('vant/es')['SwipeItem']
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-TW">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="description" content="" />
|
||||
<meta name="keywords" content="" />
|
||||
<meta name="author" content="" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" /> -->
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
|
||||
<link rel="apple-touch-icon" href="/favicon.ico" />
|
||||
<meta name="theme-color" content="#0baf9a" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
||||
<meta name="apple-mobile-web-app-title" content="Fastkart" />
|
||||
<meta name="msapplication-TileImage" content="/assets/images/favicon.png" />
|
||||
<meta name="msapplication-TileColor" content="#FFFFFF" />
|
||||
|
||||
<!-- Bootstrap 5 -->
|
||||
<link rel="stylesheet" id="rtl-link" type="text/css" href="/assets/css/vendors/bootstrap.css" />
|
||||
|
||||
<!-- Iconly Icon css -->
|
||||
<!-- <link rel="stylesheet" type="text/css" href="assets/css/iconly.css" /> -->
|
||||
<link href="https://dev.iconly.io/public/zmWANpvJMPK2/iconly.css" rel="stylesheet" />
|
||||
|
||||
<!-- Slick css -->
|
||||
<!-- <link rel="stylesheet" type="text/css" href="assets/css/vendors/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="assets/css/vendors/slick-theme.css" /> -->
|
||||
|
||||
<!-- Style css -->
|
||||
<!-- <link rel="stylesheet" id="change-link" type="text/css" href="assets/css/style.css" /> -->
|
||||
|
||||
<title>Slash電商</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="/src/main.ts"></script>
|
||||
<script src="https://js.tappaysdk.com/sdk/tpdirect/v5.15.0"></script>
|
||||
<script src="/assets/js/bootstrap.bundle.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,49 @@
|
||||
{
|
||||
"name": "h5src",
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vue-tsc && vite build",
|
||||
"build:h888": "vue-tsc && vite build --mode h888",
|
||||
"build:slash": "vue-tsc && vite build --mode slash",
|
||||
"preview": "vite preview"
|
||||
},
|
||||
"dependencies": {
|
||||
"@line/liff": "^2.21.4",
|
||||
"@rollup/plugin-alias": "^4.0.2",
|
||||
"@soerenmartius/vue3-clipboard": "^0.1.2",
|
||||
"@vant/icons": "^2.0.0",
|
||||
"axios": "^1.2.1",
|
||||
"dotenv": "^16.0.3",
|
||||
"hammerjs": "^2.0.8",
|
||||
"js-cookie": "^3.0.1",
|
||||
"less": "^4.1.3",
|
||||
"lodash": "^4.17.21",
|
||||
"nprogress": "^0.2.0",
|
||||
"pinia": "^2.0.28",
|
||||
"postcss": "^8.4.20",
|
||||
"qrcode.vue": "^3.4.0",
|
||||
"reconnecting-websocket": "^4.4.0",
|
||||
"uuid": "^9.0.0",
|
||||
"vant": "^4.0.2",
|
||||
"vue": "^3.2.41",
|
||||
"vue-advanced-cropper": "^2.8.8",
|
||||
"vue-router": "^4.1.6",
|
||||
"vue3-clipboard": "^1.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/hammerjs": "^2.0.41",
|
||||
"@types/js-cookie": "^3.0.2",
|
||||
"@types/lodash": "^4.14.191",
|
||||
"@vitejs/plugin-vue": "^3.2.0",
|
||||
"amfe-flexible": "^2.2.1",
|
||||
"postcss-pxtorem": "^6.0.0",
|
||||
"typescript": "^4.6.4",
|
||||
"unplugin-vue-components": "^0.22.12",
|
||||
"vite": "^3.2.3",
|
||||
"vite-plugin-top-level-await": "^1.3.0",
|
||||
"vue-tsc": "^1.0.9"
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
export default {
|
||||
plugins: {
|
||||
// 'postcss-pxtorem': {
|
||||
// rootValue: 37.5,
|
||||
// propList: ['*']
|
||||
// }
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,410 @@
|
||||
.datepicker--cell-day.-other-month-,
|
||||
.datepicker--cell-year.-other-decade- {
|
||||
color: #dedede;
|
||||
}
|
||||
.datepicker--cell-day.-other-month-:hover,
|
||||
.datepicker--cell-year.-other-decade-:hover {
|
||||
color: #c5c5c5;
|
||||
}
|
||||
.-disabled-.-focus-.datepicker--cell-day.-other-month-,
|
||||
.-disabled-.-focus-.datepicker--cell-year.-other-decade- {
|
||||
color: #dedede;
|
||||
}
|
||||
.-selected-.datepicker--cell-day.-other-month-,
|
||||
.-selected-.datepicker--cell-year.-other-decade- {
|
||||
color: #fff;
|
||||
background: #a2ddf6;
|
||||
}
|
||||
.-selected-.-focus-.datepicker--cell-day.-other-month-,
|
||||
.-selected-.-focus-.datepicker--cell-year.-other-decade- {
|
||||
background: #8ad5f4;
|
||||
}
|
||||
.-in-range-.datepicker--cell-day.-other-month-,
|
||||
.-in-range-.datepicker--cell-year.-other-decade- {
|
||||
background-color: rgba(92, 196, 239, 0.1);
|
||||
color: #ccc;
|
||||
}
|
||||
.-in-range-.-focus-.datepicker--cell-day.-other-month-,
|
||||
.-in-range-.-focus-.datepicker--cell-year.-other-decade- {
|
||||
background-color: rgba(92, 196, 239, 0.2);
|
||||
}
|
||||
.datepicker--cell-day.-other-month-:empty,
|
||||
.datepicker--cell-year.-other-decade-:empty {
|
||||
background: none;
|
||||
border: none;
|
||||
}
|
||||
.datepicker--cells {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-ms-flex-wrap: wrap;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.datepicker--cell {
|
||||
border-radius: 5px;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
cursor: pointer;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
position: relative;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
height: 32px;
|
||||
z-index: 1;
|
||||
}
|
||||
.datepicker--cell.-focus- {
|
||||
background: #f0f0f0;
|
||||
}
|
||||
.datepicker--cell.-current- {
|
||||
color: #4eb5e6;
|
||||
border-color: #4eb5e6;
|
||||
}
|
||||
.datepicker--cell.-current-.-focus- {
|
||||
color: #4a4a4a;
|
||||
}
|
||||
.datepicker--cell.-current-.-in-range- {
|
||||
color: #4eb5e6;
|
||||
}
|
||||
.datepicker--cell.-in-range- {
|
||||
background: rgba(92, 196, 239, 0.1);
|
||||
color: #4a4a4a;
|
||||
border-radius: 0;
|
||||
}
|
||||
.datepicker--cell.-in-range-.-focus- {
|
||||
background-color: rgba(92, 196, 239, 0.2);
|
||||
}
|
||||
.datepicker--cell.-disabled- {
|
||||
cursor: default;
|
||||
color: #aeaeae;
|
||||
}
|
||||
.datepicker--cell.-disabled-.-focus- {
|
||||
color: #aeaeae;
|
||||
}
|
||||
.datepicker--cell.-disabled-.-in-range- {
|
||||
color: #a1a1a1;
|
||||
}
|
||||
.datepicker--cell.-disabled-.-current-.-focus- {
|
||||
color: #aeaeae;
|
||||
}
|
||||
.datepicker--cell.-range-from- {
|
||||
border: 1px solid rgba(92, 196, 239, 0.5);
|
||||
background-color: rgba(92, 196, 239, 0.1);
|
||||
border-radius: 8px 0 0 8px;
|
||||
}
|
||||
.datepicker--cell.-range-to- {
|
||||
border: 1px solid rgba(92, 196, 239, 0.5);
|
||||
background-color: rgba(92, 196, 239, 0.1);
|
||||
border-radius: 0 8px 8px 0;
|
||||
}
|
||||
.datepicker--cell.-range-from-.-range-to- {
|
||||
border-radius: 8px;
|
||||
}
|
||||
.datepicker--cell.-selected- {
|
||||
color: #fff;
|
||||
border: none;
|
||||
background: #5cc4ef;
|
||||
}
|
||||
.datepicker--cell.-selected-.-current- {
|
||||
color: #fff;
|
||||
background: #5cc4ef;
|
||||
}
|
||||
.datepicker--cell.-selected-.-focus- {
|
||||
background: #45bced;
|
||||
}
|
||||
.datepicker--cell:empty {
|
||||
cursor: default;
|
||||
}
|
||||
.datepicker--days-names {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-ms-flex-wrap: wrap;
|
||||
flex-wrap: wrap;
|
||||
margin: 8px 0 3px;
|
||||
}
|
||||
.datepicker--day-name {
|
||||
color: #ff9a19;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
-webkit-box-flex: 1;
|
||||
-ms-flex: 1;
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
.datepicker--cell-day {
|
||||
width: 14.28571%;
|
||||
height: 34px;
|
||||
}
|
||||
.datepicker--cells-months {
|
||||
height: 170px;
|
||||
}
|
||||
.datepicker--cell-month {
|
||||
width: 33.33%;
|
||||
height: 25%;
|
||||
}
|
||||
.datepicker--years {
|
||||
height: 170px;
|
||||
}
|
||||
.datepicker--cells-years {
|
||||
height: 170px;
|
||||
}
|
||||
.datepicker--cell-year {
|
||||
width: 25%;
|
||||
height: 33.33%;
|
||||
}
|
||||
.datepickers-container {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
@media print {
|
||||
.datepickers-container {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.datepicker {
|
||||
background: #fff;
|
||||
border-radius: 8px;
|
||||
-webkit-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
font-size: 14px;
|
||||
color: #4a4a4a;
|
||||
width: 250px;
|
||||
position: absolute;
|
||||
left: -100000px;
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
padding: 10px;
|
||||
-webkit-transition: opacity 0.3s ease, left 0s 0.3s, -webkit-transform 0.3s ease;
|
||||
transition: opacity 0.3s ease, left 0s 0.3s, -webkit-transform 0.3s ease;
|
||||
transition: opacity 0.3s ease, transform 0.3s ease, left 0s 0.3s;
|
||||
transition: opacity 0.3s ease, transform 0.3s ease, left 0s 0.3s, -webkit-transform 0.3s ease;
|
||||
z-index: 100;
|
||||
-webkit-box-shadow: 0 0 37px rgba(8, 21, 66, 0.05);
|
||||
box-shadow: 0 0 37px rgba(8, 21, 66, 0.05);
|
||||
}
|
||||
.datepicker.-from-top- {
|
||||
-webkit-transform: translateY(-8px);
|
||||
transform: translateY(-8px);
|
||||
}
|
||||
.datepicker.-from-right- {
|
||||
-webkit-transform: translateX(8px);
|
||||
transform: translateX(8px);
|
||||
}
|
||||
.datepicker.-from-bottom- {
|
||||
-webkit-transform: translateY(8px);
|
||||
transform: translateY(8px);
|
||||
}
|
||||
.datepicker.-from-left- {
|
||||
-webkit-transform: translateX(-8px);
|
||||
transform: translateX(-8px);
|
||||
}
|
||||
.datepicker.active {
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
-webkit-transform: translate(0);
|
||||
transform: translate(0);
|
||||
-webkit-transition: opacity 0.3s ease, left 0s 0s, -webkit-transform 0.3s ease;
|
||||
transition: opacity 0.3s ease, left 0s 0s, -webkit-transform 0.3s ease;
|
||||
transition: opacity 0.3s ease, transform 0.3s ease, left 0s 0s;
|
||||
transition: opacity 0.3s ease, transform 0.3s ease, left 0s 0s, -webkit-transform 0.3s ease;
|
||||
}
|
||||
.datepicker-inline .datepicker {
|
||||
position: static;
|
||||
left: auto;
|
||||
right: auto;
|
||||
opacity: 1;
|
||||
-webkit-transform: none;
|
||||
transform: none;
|
||||
}
|
||||
.datepicker-inline .datepicker--pointer {
|
||||
display: none;
|
||||
}
|
||||
.datepicker--content {
|
||||
-webkit-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
padding: 4px;
|
||||
}
|
||||
.-only-timepicker- .datepicker--content {
|
||||
display: none;
|
||||
}
|
||||
.datepicker--pointer {
|
||||
position: absolute;
|
||||
background: #fff;
|
||||
border-top: 1px solid #dbdbdb;
|
||||
border-right: 1px solid #dbdbdb;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
z-index: -1;
|
||||
}
|
||||
.-top-left- .datepicker--pointer,
|
||||
.-top-center- .datepicker--pointer,
|
||||
.-top-right- .datepicker--pointer {
|
||||
top: calc(100% - 4px);
|
||||
-webkit-transform: rotate(135deg);
|
||||
transform: rotate(135deg);
|
||||
}
|
||||
.-right-top- .datepicker--pointer,
|
||||
.-right-center- .datepicker--pointer,
|
||||
.-right-bottom- .datepicker--pointer {
|
||||
right: calc(100% - 4px);
|
||||
-webkit-transform: rotate(225deg);
|
||||
transform: rotate(225deg);
|
||||
}
|
||||
.-bottom-left- .datepicker--pointer,
|
||||
.-bottom-center- .datepicker--pointer,
|
||||
.-bottom-right- .datepicker--pointer {
|
||||
bottom: calc(100% - 4px);
|
||||
-webkit-transform: rotate(315deg);
|
||||
transform: rotate(315deg);
|
||||
}
|
||||
.-left-top- .datepicker--pointer,
|
||||
.-left-center- .datepicker--pointer,
|
||||
.-left-bottom- .datepicker--pointer {
|
||||
left: calc(100% - 4px);
|
||||
-webkit-transform: rotate(45deg);
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
.-top-left- .datepicker--pointer,
|
||||
.-bottom-left- .datepicker--pointer {
|
||||
left: 10px;
|
||||
}
|
||||
.-top-right- .datepicker--pointer,
|
||||
.-bottom-right- .datepicker--pointer {
|
||||
right: 10px;
|
||||
}
|
||||
.-top-center- .datepicker--pointer,
|
||||
.-bottom-center- .datepicker--pointer {
|
||||
left: calc(50% - 10px / 2);
|
||||
}
|
||||
.-left-top- .datepicker--pointer,
|
||||
.-right-top- .datepicker--pointer {
|
||||
top: 10px;
|
||||
}
|
||||
.-left-bottom- .datepicker--pointer,
|
||||
.-right-bottom- .datepicker--pointer {
|
||||
bottom: 10px;
|
||||
}
|
||||
.-left-center- .datepicker--pointer,
|
||||
.-right-center- .datepicker--pointer {
|
||||
top: calc(50% - 10px / 2);
|
||||
}
|
||||
.datepicker--body {
|
||||
display: none;
|
||||
}
|
||||
.datepicker--body.active {
|
||||
display: block !important;
|
||||
}
|
||||
.datepicker--nav {
|
||||
color: var(--theme-deafult);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
font-weight: 600;
|
||||
border-radius: 5px;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: justify;
|
||||
-ms-flex-pack: justify;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1px solid #efefef;
|
||||
min-height: 32px;
|
||||
padding: 4px;
|
||||
}
|
||||
.-only-timepicker- .datepicker--nav {
|
||||
display: none;
|
||||
}
|
||||
.datepicker--nav-title,
|
||||
.datepicker--nav-action {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
cursor: pointer;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.datepicker--nav-action {
|
||||
width: 32px;
|
||||
border-radius: 5px;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
background: var(--theme-deafult);
|
||||
}
|
||||
.datepicker--nav-action:hover {
|
||||
background: var(--theme-deafult);
|
||||
}
|
||||
.datepicker--nav-action.-disabled- {
|
||||
visibility: hidden;
|
||||
}
|
||||
.datepicker--nav-action svg {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
.datepicker--nav-action path {
|
||||
fill: none;
|
||||
stroke: #fff;
|
||||
stroke-width: 2px;
|
||||
}
|
||||
.datepicker--nav-title {
|
||||
border-radius: 8px;
|
||||
padding: 0 8px;
|
||||
}
|
||||
.datepicker--nav-title i {
|
||||
font-style: normal;
|
||||
color: var(--theme-deafult);
|
||||
margin-left: 5px;
|
||||
}
|
||||
.datepicker--nav-title.-disabled- {
|
||||
cursor: default;
|
||||
background: none;
|
||||
}
|
||||
.datepicker--buttons {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
padding: 4px;
|
||||
border-top: 1px solid #efefef;
|
||||
}
|
||||
.datepicker--button {
|
||||
color: #4eb5e6;
|
||||
cursor: pointer;
|
||||
border-radius: 8px;
|
||||
-webkit-box-flex: 1;
|
||||
-ms-flex: 1;
|
||||
flex: 1;
|
||||
display: -webkit-inline-box;
|
||||
display: -ms-inline-flexbox;
|
||||
display: inline-flex;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
height: 32px;
|
||||
}
|
||||
.datepicker--button:hover {
|
||||
color: #4a4a4a;
|
||||
background: #f0f0f0;
|
||||
}
|
||||
@ -0,0 +1,374 @@
|
||||
/**
|
||||
*
|
||||
* Name: iconly font icon
|
||||
* Version: 1.0
|
||||
* Created on: Dec 29, 2020
|
||||
* License: GNU General Public License
|
||||
--------------------------------------------------------------------------------------
|
||||
*
|
||||
**/
|
||||
|
||||
@font-face {
|
||||
font-family: "iconly";
|
||||
font-style: normal;
|
||||
font-weight: 200;
|
||||
src: url("../fonts/iconly/Iconly-light.eot");
|
||||
src: url("../fonts/iconly/Iconly-light.eot?") format("embedded-opentype"), /* IE6-8 */ url("../fonts/iconly/Iconly-light.woff") format("woff"),
|
||||
/* FF3.6+, IE9, Chrome6+, Saf5.1+*/ url("../fonts/iconly/Iconly-light.ttf") format("truetype"), url("../fonts/iconly/Iconly-light.svg") format("svg");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "iconly";
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
src: url("../fonts/iconly/Iconly-Broken.eot");
|
||||
src: url("../fonts/iconly/Iconly-Broken.eot?") format("embedded-opentype"), /* IE6-8 */ url("../fonts/iconly/Iconly-Broken.woff") format("woff"),
|
||||
/* FF3.6+, IE9, Chrome6+, Saf5.1+*/ url("../fonts/iconly/Iconly-Broken.ttf") format("truetype"), url("../fonts/iconly/Iconly-Broken.svg") format("svg");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "iconly";
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: url("../fonts/iconly/Iconly-Bold.eot");
|
||||
src: url("../fonts/iconly/Iconly-Bold.eot?") format("embedded-opentype"), /* IE6-8 */ url("../fonts/iconly/Iconly-Bold.woff") format("woff"),
|
||||
/* FF3.6+, IE9, Chrome6+, Saf5.1+*/ url("../fonts/iconly/Iconly-Bold.ttf") format("truetype"), url("../fonts/iconly/Iconly-Bold.svg") format("svg");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "iconly";
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
src: url("../fonts/iconly/Iconly-bulk.eot");
|
||||
src: url("../fonts/iconly/Iconly-bulk.eot?") format("embedded-opentype"), /* IE6-8 */ url("../fonts/iconly/Iconly-bulk.woff") format("woff"),
|
||||
/* FF3.6+, IE9, Chrome6+, Saf5.1+*/ url("../fonts/iconly/Iconly-bulk.ttf") format("truetype"), url("../fonts/iconly/Iconly-bulk.svg") format("svg");
|
||||
}
|
||||
|
||||
[class^="iconly-"],
|
||||
[class*="iconly-"] {
|
||||
/* use !important to prevent issues with browser extensions that change fonts */
|
||||
font-family: "iconly" !important;
|
||||
speak: never;
|
||||
font-style: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
font-weight: normal;
|
||||
line-height: 1;
|
||||
/* Better Font Rendering =========== */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.icli {
|
||||
font-weight: 200;
|
||||
}
|
||||
.icbr {
|
||||
font-weight: normal;
|
||||
}
|
||||
.icbo {
|
||||
font-weight: 700;
|
||||
}
|
||||
.icbu {
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.iconly-Activity:before {
|
||||
content: "\e900";
|
||||
}
|
||||
.iconly-Add-User:before {
|
||||
content: "\e901";
|
||||
}
|
||||
.iconly-Arrow-Down:before {
|
||||
content: "\e902";
|
||||
}
|
||||
.iconly-Arrow-Down-2:before {
|
||||
content: "\e903";
|
||||
}
|
||||
.iconly-Arrow-Down-3:before {
|
||||
content: "\e904";
|
||||
}
|
||||
.iconly-Arrow-Down-Circle:before {
|
||||
content: "\e905";
|
||||
}
|
||||
.iconly-Arrow-Down-Square:before {
|
||||
content: "\e906";
|
||||
}
|
||||
.iconly-Arrow-Left:before {
|
||||
content: "\e907";
|
||||
}
|
||||
.iconly-Arrow-Left-2:before {
|
||||
content: "\e908";
|
||||
}
|
||||
.iconly-Arrow-Left-3:before {
|
||||
content: "\e909";
|
||||
}
|
||||
.iconly-Arrow-Left-Circle:before {
|
||||
content: "\e90a";
|
||||
}
|
||||
.iconly-Arrow-Left-Square:before {
|
||||
content: "\e90b";
|
||||
}
|
||||
.iconly-Arrow-Right:before {
|
||||
content: "\e90c";
|
||||
}
|
||||
.iconly-Arrow-Right-2:before {
|
||||
content: "\e90d";
|
||||
}
|
||||
.iconly-Arrow-Right-3:before {
|
||||
content: "\e90e";
|
||||
}
|
||||
.iconly-Arrow-Right-Circle:before {
|
||||
content: "\e90f";
|
||||
}
|
||||
.iconly-Arrow-Right-Square:before {
|
||||
content: "\e910";
|
||||
}
|
||||
.iconly-Arrow-Up:before {
|
||||
content: "\e911";
|
||||
}
|
||||
.iconly-Arrow-Up-2:before {
|
||||
content: "\e912";
|
||||
}
|
||||
.iconly-Arrow-Up-3:before {
|
||||
content: "\e913";
|
||||
}
|
||||
.iconly-Arrow-Up-Circle:before {
|
||||
content: "\e914";
|
||||
}
|
||||
.iconly-Arrow-Up-Square:before {
|
||||
content: "\e915";
|
||||
}
|
||||
.iconly-Bag:before {
|
||||
content: "\e916";
|
||||
}
|
||||
.iconly-Bag-2:before {
|
||||
content: "\e917";
|
||||
}
|
||||
.iconly-Bookmark:before {
|
||||
content: "\e918";
|
||||
}
|
||||
.iconly-Buy:before {
|
||||
content: "\e919";
|
||||
}
|
||||
.iconly-Calendar:before {
|
||||
content: "\e91a";
|
||||
}
|
||||
.iconly-Call:before {
|
||||
content: "\e91b";
|
||||
}
|
||||
.iconly-Call-Missed:before {
|
||||
content: "\e91c";
|
||||
}
|
||||
.iconly-Call-Silent:before {
|
||||
content: "\e91d";
|
||||
}
|
||||
.iconly-Calling:before {
|
||||
content: "\e91e";
|
||||
}
|
||||
.iconly-Camera:before {
|
||||
content: "\e91f";
|
||||
}
|
||||
.iconly-Category:before {
|
||||
content: "\e920";
|
||||
}
|
||||
.iconly-Chart:before {
|
||||
content: "\e921";
|
||||
}
|
||||
.iconly-Chat:before {
|
||||
content: "\e922";
|
||||
}
|
||||
.iconly-Close-Square:before {
|
||||
content: "\e923";
|
||||
}
|
||||
.iconly-Danger:before {
|
||||
content: "\e924";
|
||||
}
|
||||
.iconly-Delete:before {
|
||||
content: "\e925";
|
||||
}
|
||||
.iconly-Discount:before {
|
||||
content: "\e926";
|
||||
}
|
||||
.iconly-Discovery:before {
|
||||
content: "\e927";
|
||||
}
|
||||
.iconly-Document:before {
|
||||
content: "\e928";
|
||||
}
|
||||
.iconly-Download:before {
|
||||
content: "\e929";
|
||||
}
|
||||
.iconly-Edit:before {
|
||||
content: "\e92a";
|
||||
}
|
||||
.iconly-Edit-Square:before {
|
||||
content: "\e92b";
|
||||
}
|
||||
.iconly-Filter:before {
|
||||
content: "\e92c";
|
||||
}
|
||||
.iconly-Filter-2:before {
|
||||
content: "\e92d";
|
||||
}
|
||||
.iconly-Folder:before {
|
||||
content: "\e92e";
|
||||
}
|
||||
.iconly-Game:before {
|
||||
content: "\e92f";
|
||||
}
|
||||
.iconly-Graph:before {
|
||||
content: "\e930";
|
||||
}
|
||||
.iconly-Heart:before {
|
||||
content: "\e931";
|
||||
}
|
||||
.iconly-Hide:before {
|
||||
content: "\e932";
|
||||
}
|
||||
.iconly-Home:before {
|
||||
content: "\e933";
|
||||
}
|
||||
.iconly-Image:before {
|
||||
content: "\e934";
|
||||
}
|
||||
.iconly-Image-2:before {
|
||||
content: "\e935";
|
||||
}
|
||||
.iconly-Info-Circle:before {
|
||||
content: "\e936";
|
||||
}
|
||||
.iconly-Info-Square:before {
|
||||
content: "\e937";
|
||||
}
|
||||
.iconly-Location:before {
|
||||
content: "\e938";
|
||||
}
|
||||
.iconly-Lock:before {
|
||||
content: "\e939";
|
||||
}
|
||||
.iconly-Login:before {
|
||||
content: "\e93a";
|
||||
}
|
||||
.iconly-Logout:before {
|
||||
content: "\e93b";
|
||||
}
|
||||
.iconly-Message:before {
|
||||
content: "\e93c";
|
||||
}
|
||||
.iconly-More-Circle:before {
|
||||
content: "\e93d";
|
||||
}
|
||||
.iconly-More-Square:before {
|
||||
content: "\e93e";
|
||||
}
|
||||
.iconly-Notification:before {
|
||||
content: "\e93f";
|
||||
}
|
||||
.iconly-Paper:before {
|
||||
content: "\e940";
|
||||
}
|
||||
.iconly-Paper-Download:before {
|
||||
content: "\e941";
|
||||
}
|
||||
.iconly-Paper-Fail:before {
|
||||
content: "\e942";
|
||||
}
|
||||
.iconly-Paper-Negative:before {
|
||||
content: "\e943";
|
||||
}
|
||||
.iconly-Paper-Plus:before {
|
||||
content: "\e944";
|
||||
}
|
||||
.iconly-Paper-Upload:before {
|
||||
content: "\e945";
|
||||
}
|
||||
.iconly-Password:before {
|
||||
content: "\e946";
|
||||
}
|
||||
.iconly-Play:before {
|
||||
content: "\e947";
|
||||
}
|
||||
.iconly-Plus:before {
|
||||
content: "\e948";
|
||||
}
|
||||
.iconly-Profile:before {
|
||||
content: "\e949";
|
||||
}
|
||||
.iconly-Scan:before {
|
||||
content: "\e94a";
|
||||
}
|
||||
.iconly-Search:before {
|
||||
content: "\e94b";
|
||||
}
|
||||
.iconly-Send:before {
|
||||
content: "\e94c";
|
||||
}
|
||||
.iconly-Setting:before {
|
||||
content: "\e94d";
|
||||
}
|
||||
.iconly-Shield-Done:before {
|
||||
content: "\e94e";
|
||||
}
|
||||
.iconly-Shield-Fail:before {
|
||||
content: "\e94f";
|
||||
}
|
||||
.iconly-Show:before {
|
||||
content: "\e950";
|
||||
}
|
||||
.iconly-Star:before {
|
||||
content: "\e951";
|
||||
}
|
||||
.iconly-Swap:before {
|
||||
content: "\e952";
|
||||
}
|
||||
.iconly-Tick-Square:before {
|
||||
content: "\e953";
|
||||
}
|
||||
.iconly-Ticket:before {
|
||||
content: "\e954";
|
||||
}
|
||||
.iconly-Ticket-Star:before {
|
||||
content: "\e955";
|
||||
}
|
||||
.iconly-Time-Circle:before {
|
||||
content: "\e956";
|
||||
}
|
||||
.iconly-Time-Square:before {
|
||||
content: "\e957";
|
||||
}
|
||||
.iconly-Unlock:before {
|
||||
content: "\e958";
|
||||
}
|
||||
.iconly-Upload:before {
|
||||
content: "\e959";
|
||||
}
|
||||
.iconly-User2:before {
|
||||
content: "\e95a";
|
||||
}
|
||||
.iconly-User3:before {
|
||||
content: "\e95b";
|
||||
}
|
||||
.iconly-Video:before {
|
||||
content: "\e95c";
|
||||
}
|
||||
.iconly-Voice:before {
|
||||
content: "\e95d";
|
||||
}
|
||||
.iconly-Voice-2:before {
|
||||
content: "\e95e";
|
||||
}
|
||||
.iconly-Volume-Down:before {
|
||||
content: "\e95f";
|
||||
}
|
||||
.iconly-Volume-Off:before {
|
||||
content: "\e960";
|
||||
}
|
||||
.iconly-Volume-Up:before {
|
||||
content: "\e961";
|
||||
}
|
||||
.iconly-Wallet:before {
|
||||
content: "\e962";
|
||||
}
|
||||
.iconly-Work:before {
|
||||
content: "\e963";
|
||||
}
|
||||
@ -0,0 +1,272 @@
|
||||
/* Ion.RangeSlider
|
||||
// css version 2.0.3
|
||||
// © 2013-2014 Denis Ineshin | IonDen.com
|
||||
// ===================================================================================================================*/
|
||||
|
||||
/* =====================================================================================================================
|
||||
// RangeSlider */
|
||||
|
||||
.irs {
|
||||
position: relative; display: block;
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
.irs-line {
|
||||
position: relative; display: block;
|
||||
overflow: hidden;
|
||||
outline: none !important;
|
||||
}
|
||||
.irs-line-left, .irs-line-mid, .irs-line-right {
|
||||
position: absolute; display: block;
|
||||
top: 0;
|
||||
}
|
||||
.irs-line-left {
|
||||
left: 0; width: 11%;
|
||||
}
|
||||
.irs-line-mid {
|
||||
left: 9%; width: 82%;
|
||||
}
|
||||
.irs-line-right {
|
||||
right: 0; width: 11%;
|
||||
}
|
||||
|
||||
.irs-bar {
|
||||
position: absolute; display: block;
|
||||
left: 0; width: 0;
|
||||
}
|
||||
.irs-bar-edge {
|
||||
position: absolute; display: block;
|
||||
top: 0; left: 0;
|
||||
}
|
||||
|
||||
.irs-shadow {
|
||||
position: absolute; display: none;
|
||||
left: 0; width: 0;
|
||||
}
|
||||
|
||||
.irs-slider {
|
||||
position: absolute; display: block;
|
||||
cursor: default;
|
||||
z-index: 1;
|
||||
}
|
||||
.irs-slider.single {
|
||||
|
||||
}
|
||||
.irs-slider.from {
|
||||
|
||||
}
|
||||
.irs-slider.to {
|
||||
|
||||
}
|
||||
.irs-slider.type_last {
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.irs-min {
|
||||
position: absolute; display: block;
|
||||
left: 0;
|
||||
cursor: default;
|
||||
}
|
||||
.irs-max {
|
||||
position: absolute; display: block;
|
||||
right: 0;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.irs-from, .irs-to, .irs-single {
|
||||
position: absolute; display: block;
|
||||
top: 0; left: 0;
|
||||
cursor: default;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.irs-grid {
|
||||
position: absolute; display: none;
|
||||
bottom: 0; left: 0;
|
||||
width: 100%; height: 20px;
|
||||
}
|
||||
.irs-with-grid .irs-grid {
|
||||
display: block;
|
||||
}
|
||||
.irs-grid-pol {
|
||||
position: absolute;
|
||||
top: 0; left: 0;
|
||||
width: 1px; height: 8px;
|
||||
background: #000;
|
||||
}
|
||||
.irs-grid-pol.small {
|
||||
height: 4px;
|
||||
}
|
||||
.irs-grid-text {
|
||||
position: absolute;
|
||||
bottom: 0; left: 0;
|
||||
white-space: nowrap;
|
||||
text-align: center;
|
||||
font-size: 9px; line-height: 9px;
|
||||
padding: 0 3px;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.irs-disable-mask {
|
||||
position: absolute; display: block;
|
||||
top: 0; left: -1%;
|
||||
width: 102%; height: 100%;
|
||||
cursor: default;
|
||||
background: rgba(0,0,0,0.0);
|
||||
z-index: 2;
|
||||
}
|
||||
.lt-ie9 .irs-disable-mask {
|
||||
background: #000;
|
||||
filter: alpha(opacity=0);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.irs-disabled {
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
|
||||
.irs-hidden-input {
|
||||
position: absolute !important;
|
||||
display: block !important;
|
||||
top: 0 !important;
|
||||
left: 0 !important;
|
||||
width: 0 !important;
|
||||
height: 0 !important;
|
||||
font-size: 0 !important;
|
||||
line-height: 0 !important;
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
outline: none !important;
|
||||
z-index: -9999 !important;
|
||||
background: none !important;
|
||||
border-style: solid !important;
|
||||
border-color: transparent !important;
|
||||
}
|
||||
|
||||
|
||||
/* Ion.RangeSlider, Simple Skin
|
||||
// css version 2.0.3
|
||||
// © Denis Ineshin, 2014 https://github.com/IonDen
|
||||
// © guybowden, 2014 https://github.com/guybowden
|
||||
// ===================================================================================================================*/
|
||||
|
||||
/* =====================================================================================================================
|
||||
// Skin details */
|
||||
|
||||
.irs {
|
||||
height: 55px;
|
||||
}
|
||||
.irs-with-grid {
|
||||
height: 75px;
|
||||
}
|
||||
.irs-line {
|
||||
height: 10px; top: 33px;
|
||||
background: #EEE;
|
||||
background: linear-gradient(to bottom, #DDD -50%, #FFF 150%); /* W3C */
|
||||
border: 1px solid #CCC;
|
||||
border-radius: 16px;
|
||||
-moz-border-radius: 16px;
|
||||
}
|
||||
.irs-line-left {
|
||||
height: 8px;
|
||||
}
|
||||
.irs-line-mid {
|
||||
height: 8px;
|
||||
}
|
||||
.irs-line-right {
|
||||
height: 8px;
|
||||
}
|
||||
|
||||
.irs-bar {
|
||||
height: 10px; top: 33px;
|
||||
border-top: 1px solid #428bca;
|
||||
border-bottom: 1px solid #428bca;
|
||||
background: #428bca;
|
||||
background: linear-gradient(to top, rgba(66,139,202,1) 0%,rgba(127,195,232,1) 100%); /* W3C */
|
||||
}
|
||||
.irs-bar-edge {
|
||||
height: 10px; top: 33px;
|
||||
width: 14px;
|
||||
border: 1px solid #428bca;
|
||||
border-right: 0;
|
||||
background: #428bca;
|
||||
background: linear-gradient(to top, rgba(66,139,202,1) 0%,rgba(127,195,232,1) 100%); /* W3C */
|
||||
border-radius: 16px 0 0 16px;
|
||||
-moz-border-radius: 16px 0 0 16px;
|
||||
}
|
||||
|
||||
.irs-shadow {
|
||||
height: 2px; top: 38px;
|
||||
background: #000;
|
||||
opacity: 0.3;
|
||||
border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
}
|
||||
.lt-ie9 .irs-shadow {
|
||||
filter: alpha(opacity=30);
|
||||
}
|
||||
|
||||
.irs-slider {
|
||||
top: 25px;
|
||||
width: 27px; height: 27px;
|
||||
border: 1px solid #AAA;
|
||||
background: #DDD;
|
||||
background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(220,220,220,1) 20%,rgba(255,255,255,1) 100%); /* W3C */
|
||||
border-radius: 27px;
|
||||
-moz-border-radius: 27px;
|
||||
box-shadow: 1px 1px 3px rgba(0,0,0,0.3);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.irs-slider.state_hover, .irs-slider:hover {
|
||||
background: #FFF;
|
||||
}
|
||||
|
||||
.irs-min, .irs-max {
|
||||
color: #333;
|
||||
font-size: 12px; line-height: 1.333;
|
||||
text-shadow: none;
|
||||
top: 0;
|
||||
padding: 1px 5px;
|
||||
background: rgba(0,0,0,0.1);
|
||||
border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
}
|
||||
|
||||
.lt-ie9 .irs-min, .lt-ie9 .irs-max {
|
||||
background: #ccc;
|
||||
}
|
||||
|
||||
.irs-from, .irs-to, .irs-single {
|
||||
color: #fff;
|
||||
font-size: 14px; line-height: 1.333;
|
||||
text-shadow: none;
|
||||
padding: 1px 5px;
|
||||
background: #428bca;
|
||||
border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
}
|
||||
.lt-ie9 .irs-from, .lt-ie9 .irs-to, .lt-ie9 .irs-single {
|
||||
background: #999;
|
||||
}
|
||||
|
||||
.irs-grid {
|
||||
height: 27px;
|
||||
}
|
||||
.irs-grid-pol {
|
||||
opacity: 0.5;
|
||||
background: #428bca;
|
||||
}
|
||||
.irs-grid-pol.small {
|
||||
background: #999;
|
||||
}
|
||||
|
||||
.irs-grid-text {
|
||||
bottom: 5px;
|
||||
color: #99a4ac;
|
||||
}
|
||||
@ -0,0 +1,2 @@
|
||||
.slick-loading .slick-list{background:#fff url("../../loader/ajax-loader.gif") center center no-repeat}@font-face{font-family:"slick";src:url("https://themes.pixelstrap.com/fastkart-app/assets/fonts/slick.eot");src:url("https://themes.pixelstrap.com/fastkart-app/assets/fonts/slick.eot?") format("embedded-opentype"),url("../../fonts/slick.woff") format("woff"),url("../../fonts/slick.ttf") format("truetype"),url("https://themes.pixelstrap.com/fastkart-app/assets/fonts/slick.svg") format("svg");font-weight:normal;font-style:normal}.slick-prev,.slick-next{position:absolute;display:block;height:20px;width:20px;line-height:0px;font-size:0px;cursor:pointer;background:transparent;color:transparent;top:50%;-webkit-transform:translate(0, -50%);transform:translate(0, -50%);padding:0;border:none;outline:none}.slick-prev:hover,.slick-prev:focus,.slick-next:hover,.slick-next:focus{outline:none;background:transparent;color:transparent}.slick-prev:hover:before,.slick-prev:focus:before,.slick-next:hover:before,.slick-next:focus:before{opacity:1}.slick-prev.slick-disabled:before,.slick-next.slick-disabled:before{opacity:.25}.slick-prev:before,.slick-next:before{font-family:"slick";font-size:20px;line-height:1;color:#fff;opacity:.75;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-prev{left:-25px}[dir="rtl"] .slick-prev{left:auto;right:-25px}.slick-prev:before{content:"←"}[dir="rtl"] .slick-prev:before{content:"→"}.slick-next{right:-25px}[dir="rtl"] .slick-next{left:-25px;right:auto}.slick-next:before{content:"→"}[dir="rtl"] .slick-next:before{content:"←"}.slick-dotted.slick-slider{margin-bottom:30px}.slick-dots{position:absolute;bottom:-25px;list-style:none;display:block;text-align:center;padding:0;margin:0;width:100%}.slick-dots li{position:relative;display:inline-block;height:20px;width:20px;margin:0 5px;padding:0;cursor:pointer}.slick-dots li button{border:0;background:transparent;display:block;height:20px;width:20px;outline:none;line-height:0px;font-size:0px;color:transparent;padding:5px;cursor:pointer}.slick-dots li button:hover,.slick-dots li button:focus{outline:none}.slick-dots li button:hover:before,.slick-dots li button:focus:before{opacity:1}.slick-dots li button:before{position:absolute;top:0;left:0;content:"•";width:20px;height:20px;font-family:"slick";font-size:6px;line-height:20px;text-align:center;color:#000;opacity:.25;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-dots li.slick-active button:before{color:#000;opacity:.75}
|
||||
/*# sourceMappingURL=slick-theme.css.map */
|
||||
@ -0,0 +1,2 @@
|
||||
.slick-slider{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;overflow:hidden;display:block;margin:0;padding:0}.slick-list:focus{outline:none}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.slick-track{position:relative;left:0;top:0;display:block;margin-left:auto;margin-right:auto}.slick-track:before,.slick-track:after{content:"";display:table}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{float:left;height:100%;min-height:1px;display:none}[dir="rtl"] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:block}
|
||||
/*# sourceMappingURL=slick.css.map */
|
||||
|
After Width: | Height: | Size: 798 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 289 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 95 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 295 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 102 KiB |
|
After Width: | Height: | Size: 171 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 270 B |
|
After Width: | Height: | Size: 366 B |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 10 KiB |
@ -0,0 +1,25 @@
|
||||
"use strict";
|
||||
(function($) {
|
||||
"use strict";
|
||||
//Minimum and Maxium Date
|
||||
$('#minMaxExample').datepicker({
|
||||
language: 'en',
|
||||
minDate: new Date() // Now can select only dates, which goes after today
|
||||
})
|
||||
|
||||
//Disable Days of week
|
||||
var disabledDays = [0, 6];
|
||||
|
||||
$('#disabled-days').datepicker({
|
||||
language: 'en',
|
||||
onRenderCell: function (date, cellType) {
|
||||
if (cellType == 'day') {
|
||||
var day = date.getDay(),
|
||||
isDisabled = disabledDays.indexOf(day) != -1;
|
||||
return {
|
||||
disabled: isDisabled
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
})(jQuery);
|
||||
@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
;(function ($) { $.fn.datepicker.language['en'] = {
|
||||
days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
|
||||
daysShort: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
|
||||
daysMin: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
|
||||
months: ['January','February','March','April','May','June', 'July','August','September','October','November','December'],
|
||||
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
|
||||
today: 'Today',
|
||||
clear: 'Clear',
|
||||
dateFormat: 'mm/dd/yyyy',
|
||||
timeFormat: 'hh:ii aa',
|
||||
firstDay: 0
|
||||
}; })(jQuery);
|
||||
@ -0,0 +1,71 @@
|
||||
|
||||
function addMarkerToGroup(group, coordinate, html) {
|
||||
var marker = new H.map.Marker(coordinate, { icon: icon });
|
||||
// add custom data to the marker
|
||||
marker.setData(html);
|
||||
group.addObject(marker);
|
||||
}
|
||||
var yourMarker = './assets/icons/png/map-pin.png';
|
||||
var icon = new H.map.Icon(yourMarker);
|
||||
var markersData = {
|
||||
'location': [
|
||||
{
|
||||
name: 'you order',
|
||||
location_latitude: 25.222578,
|
||||
location_longitude: 55.319011,
|
||||
|
||||
},
|
||||
]
|
||||
};
|
||||
function addInfoBubble(map) {
|
||||
var group = new H.map.Group();
|
||||
map.addObject(group);
|
||||
window.addEventListener('resize', () => map.getViewPort().resize());
|
||||
|
||||
for (var key in markersData)
|
||||
markersData[key].forEach(function (item) {
|
||||
addMarkerToGroup(group, { lat: item.location_latitude, lng: item.location_longitude },
|
||||
|
||||
);
|
||||
})
|
||||
}
|
||||
var platform = new H.service.Platform({
|
||||
'apikey': 'ElOm77yzgasZvSGlnpiqwE-D5sbtTwgMYzSFiBV-6pc'
|
||||
});
|
||||
var defaultLayers = platform.createDefaultLayers();
|
||||
|
||||
var map = new H.Map(document.getElementById('map'),
|
||||
defaultLayers.vector.normal.map, {
|
||||
center: { lat: 25.222578, lng: 55.319011 },
|
||||
zoom: 14,
|
||||
pixelRatio: window.devicePixelRatio || 1
|
||||
});
|
||||
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
|
||||
|
||||
var ui = H.ui.UI.createDefault(map, defaultLayers);
|
||||
|
||||
addInfoBubble(map);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,160 @@
|
||||
|
||||
function calculateRouteFromAtoB(platform) {
|
||||
var router = platform.getRoutingService(),
|
||||
routeRequestParams = {
|
||||
mode: 'fastest;car',
|
||||
representation: 'display',
|
||||
routeattributes: 'waypoints,summary,shape,legs',
|
||||
maneuverattributes: 'direction,action',
|
||||
waypoint0: '52.5160,13.3779', // Brandenburg Gate
|
||||
waypoint1: '52.5206,13.3862' // Friedrichstraße Railway Station
|
||||
};
|
||||
|
||||
|
||||
router.calculateRoute(
|
||||
routeRequestParams,
|
||||
onSuccess,
|
||||
onError
|
||||
);
|
||||
}
|
||||
|
||||
function onSuccess(result) {
|
||||
var route = result.response.route[0];
|
||||
|
||||
addRouteShapeToMap(route);
|
||||
addManueversToMap(route);
|
||||
|
||||
// ... etc.
|
||||
}
|
||||
|
||||
function onError(error) {
|
||||
alert('Can\'t reach the remote server');
|
||||
}
|
||||
|
||||
|
||||
// set up containers for the map + panel
|
||||
var mapContainer = document.getElementById('map');
|
||||
|
||||
//Step 1: initialize communication with the platform
|
||||
// In your own code, replace variable window.apikey with your own apikey
|
||||
var platform = new H.service.Platform({
|
||||
'apikey': 'ElOm77yzgasZvSGlnpiqwE-D5sbtTwgMYzSFiBV-6pc'
|
||||
});
|
||||
|
||||
var defaultLayers = platform.createDefaultLayers();
|
||||
|
||||
//Step 2: initialize a map - this map is centered over Berlin
|
||||
var map = new H.Map(mapContainer,
|
||||
defaultLayers.vector.normal.map, {
|
||||
center: { lat: 52.5206, lng: 13.3862 },
|
||||
zoom: 13,
|
||||
pixelRatio: window.devicePixelRatio || 1
|
||||
});
|
||||
// add a resize listener to make sure that the map occupies the whole container
|
||||
window.addEventListener('resize', () => map.getViewPort().resize());
|
||||
|
||||
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
|
||||
|
||||
// Create the default UI components
|
||||
var ui = H.ui.UI.createDefault(map, defaultLayers);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Creates a H.map.Polyline from the shape of the route and adds it to the map.
|
||||
* @param {Object} route A route as received from the H.service.RoutingService
|
||||
*/
|
||||
function addRouteShapeToMap(route) {
|
||||
var lineString = new H.geo.LineString(),
|
||||
routeShape = route.shape,
|
||||
polyline;
|
||||
|
||||
routeShape.forEach(function (point) {
|
||||
var parts = point.split(',');
|
||||
lineString.pushLatLngAlt(parts[0], parts[1]);
|
||||
});
|
||||
|
||||
polyline = new H.map.Polyline(lineString, {
|
||||
style: {
|
||||
lineWidth: 4,
|
||||
strokeColor: '#0baf9a'
|
||||
}
|
||||
});
|
||||
// Add the polyline to the map
|
||||
map.addObject(polyline);
|
||||
// And zoom to its bounding rectangle
|
||||
map.getViewModel().setLookAtData({
|
||||
bounds: polyline.getBoundingBox()
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Creates a series of H.map.Marker points from the route and adds them to the map.
|
||||
* @param {Object} route A route as received from the H.service.RoutingService
|
||||
*/
|
||||
function addManueversToMap(route) {
|
||||
var svgMarkup = '<svg width="18" height="18" ' +
|
||||
'xmlns="http://www.w3.org/2000/svg">' +
|
||||
'<circle cx="8" cy="8" r="8" ' +
|
||||
'fill="#0baf9a" stroke="white" stroke-width="1" />' +
|
||||
'</svg>',
|
||||
dotIcon = new H.map.Icon(svgMarkup, { anchor: { x: 8, y: 8 } }),
|
||||
group = new H.map.Group(),
|
||||
i,
|
||||
j;
|
||||
|
||||
// Add a marker for each maneuver
|
||||
for (i = 0; i < route.leg.length; i += 1) {
|
||||
for (j = 0; j < route.leg[i].maneuver.length; j += 1) {
|
||||
// Get the next maneuver.
|
||||
maneuver = route.leg[i].maneuver[j];
|
||||
// Add a marker to the maneuvers group
|
||||
var marker = new H.map.Marker({
|
||||
lat: maneuver.position.latitude,
|
||||
lng: maneuver.position.longitude
|
||||
},
|
||||
{ icon: dotIcon });
|
||||
marker.instruction = maneuver.instruction;
|
||||
group.addObject(marker);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Add the maneuvers group to the map
|
||||
map.addObject(group);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Creates a series of H.map.Marker points from the route and adds them to the map.
|
||||
* @param {Object} route A route as received from the H.service.RoutingService
|
||||
*/
|
||||
function addWaypointsToPanel(waypoints) {
|
||||
|
||||
|
||||
|
||||
var nodeH3 = document.createElement('h3'),
|
||||
waypointLabels = [],
|
||||
i;
|
||||
|
||||
|
||||
for (i = 0; i < waypoints.length; i += 1) {
|
||||
waypointLabels.push(waypoints[i].label)
|
||||
}
|
||||
|
||||
nodeH3.textContent = waypointLabels.join(' - ');
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Number.prototype.toMMSS = function () {
|
||||
return Math.floor(this / 60) + ' minutes ' + (this % 60) + ' seconds.';
|
||||
};
|
||||
|
||||
// Now use the map as required...
|
||||
calculateRouteFromAtoB(platform);
|
||||
@ -0,0 +1,36 @@
|
||||
(function ($) {
|
||||
|
||||
/*=====================
|
||||
Pwa Installer Popup js
|
||||
==========================*/
|
||||
var firstTime = localStorage.getItem("first_time");
|
||||
if (!firstTime) {
|
||||
$(window).on('load', function () {
|
||||
setTimeout(function () {
|
||||
$('.addtohome-popup').offcanvas('show');
|
||||
}, 3000);
|
||||
});
|
||||
localStorage.setItem("first_time", "1");
|
||||
}
|
||||
|
||||
/*==========================
|
||||
add to home screen Btn js
|
||||
==========================*/
|
||||
let deferredPrompt;
|
||||
|
||||
window.addEventListener('beforeinstallprompt', (e) => {
|
||||
deferredPrompt = e;
|
||||
});
|
||||
|
||||
const installApp = document.getElementById('installApp');
|
||||
|
||||
installApp.addEventListener('click', async () => {
|
||||
if (deferredPrompt !== null) {
|
||||
deferredPrompt.prompt();
|
||||
const { outcome } = await deferredPrompt.userChoice;
|
||||
if (outcome === 'accepted') {
|
||||
deferredPrompt = null;
|
||||
}
|
||||
}
|
||||
});
|
||||
})(jQuery);
|
||||
@ -0,0 +1,53 @@
|
||||
//// OTP JS ///
|
||||
|
||||
/// Otp Timer Js
|
||||
let timerOn = true;
|
||||
|
||||
function timer(remaining) {
|
||||
var m = Math.floor(remaining / 60);
|
||||
var s = remaining % 60;
|
||||
|
||||
m = m < 10 ? '0' + m : m;
|
||||
s = s < 10 ? '0' + s : s;
|
||||
document.getElementById('timer').innerHTML = m + ':' + s;
|
||||
remaining -= 1;
|
||||
|
||||
if (remaining >= 0 && timerOn) {
|
||||
setTimeout(function () {
|
||||
timer(remaining);
|
||||
}, 1000);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!timerOn) {
|
||||
// Do validate stuff here
|
||||
return;
|
||||
}
|
||||
|
||||
// Do timeout stuff here
|
||||
$(".time").css("display", "none");
|
||||
$(".resend-otp").css("color", "#4e63ff");
|
||||
|
||||
$(".resend-otp").on("click", function () {
|
||||
$(".time").css("display", "inline-block");
|
||||
$(".resend-otp").css("color", "#777777");
|
||||
timer(30);
|
||||
});
|
||||
|
||||
}
|
||||
timer(30);
|
||||
|
||||
//// Otp Input Js////
|
||||
let digitValidate = function (ele) {
|
||||
ele.value = ele.value.replace(/[^0-9]/g, '');
|
||||
}
|
||||
|
||||
let tabChange = function (val) {
|
||||
let ele = document.querySelectorAll('input');
|
||||
if (ele[val - 1].value != '') {
|
||||
ele[val].focus()
|
||||
} else if (ele[val - 1].value == '') {
|
||||
ele[val - 2].focus()
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,190 @@
|
||||
/*-----------------------------------------------------------------------------------
|
||||
|
||||
Template Name:Fastkart APP
|
||||
Template URI: themes.pixelstrap.com/Fastkart-app
|
||||
Description: This is PWA Html Template
|
||||
Author: Pixelstrap
|
||||
Author URL: https://themeforest.net/user/pixelstrap
|
||||
|
||||
----------------------------------------------------------------------------------- */
|
||||
// 01.Service Worker Register js
|
||||
// 02.Pre Loader js
|
||||
// 03.Ratio js
|
||||
// 04.Header Sidebar js
|
||||
// 05.Filter Select js
|
||||
// 06.Address Active js
|
||||
// 07.Plus Minus Item Js
|
||||
// 08.Catagories Mordent Menu js
|
||||
// 09.Filter Active js
|
||||
// 10.Swipe To Show Delete cart page js
|
||||
// 11.Product card Heart Fill js
|
||||
// 12.Product card Plus js
|
||||
// 13. Password Showhide js
|
||||
|
||||
|
||||
(function ($) {
|
||||
|
||||
/*========================
|
||||
01. Service Worker Register js
|
||||
==========================*/
|
||||
$(window).on('load', function () {
|
||||
'use strict';
|
||||
if ('serviceWorker' in navigator) {
|
||||
navigator.serviceWorker
|
||||
.register('sw.js');
|
||||
}
|
||||
});
|
||||
|
||||
/*=====================
|
||||
02. Pre Loader js
|
||||
==========================*/
|
||||
$(window).on('load', function () {
|
||||
setTimeout(function () {
|
||||
$('.skeleton-loader').fadeOut('slow');
|
||||
}, 500);
|
||||
$('.skeleton-loader').remove('slow');
|
||||
});
|
||||
|
||||
|
||||
/*=====================
|
||||
03. Ratio js
|
||||
==========================*/
|
||||
"use strict";
|
||||
// image to background
|
||||
$(".bg-top").parent().addClass('b-top'); // background postion top
|
||||
$(".bg-bottom").parent().addClass('b-bottom'); // background postion bottom
|
||||
$(".bg-center").parent().addClass('b-center'); // background postion center
|
||||
$(".bg-left").parent().addClass('b-left'); // background postion left
|
||||
$(".bg-right").parent().addClass('b-right'); // background postion right
|
||||
$(".bg_size_content").parent().addClass('b_size_content'); // background size content
|
||||
$(".bg-img").parent().addClass('bg-size');
|
||||
$(".bg-img.blur-up").parent().addClass('blur-up lazyload');
|
||||
$('.bg-img').each(function () {
|
||||
|
||||
var el = $(this),
|
||||
src = el.attr('src'),
|
||||
parent = el.parent();
|
||||
|
||||
|
||||
parent.css({
|
||||
'background-image': 'url(' + src + ')',
|
||||
'background-size': 'cover',
|
||||
'background-position': 'center',
|
||||
'background-repeat': 'no-repeat',
|
||||
'display': 'block'
|
||||
});
|
||||
|
||||
el.hide();
|
||||
});
|
||||
|
||||
/*=====================
|
||||
04. Header sidebar js
|
||||
==========================*/
|
||||
$(".nav-bar").on('click', function () {
|
||||
$(".header-sidebar,.overlay-sidebar").addClass("show");
|
||||
$('body').addClass("bluer");
|
||||
});
|
||||
$(".user-panel, .overlay-sidebar ").on('click', function () {
|
||||
$(".header-sidebar,.overlay-sidebar").removeClass("show");
|
||||
$('body').removeClass("bluer");
|
||||
});
|
||||
|
||||
/*=====================
|
||||
05. Filter select js
|
||||
==========================*/
|
||||
$('.filter-row li').on('click', function (e) {
|
||||
$(this).addClass('active').siblings('.active').removeClass('active');
|
||||
});
|
||||
|
||||
/*========================
|
||||
06. Address Active js
|
||||
=============================*/
|
||||
$('.address-box').on('click', function (e) {
|
||||
$(this).addClass('active').siblings('.active').removeClass('active');
|
||||
});
|
||||
|
||||
/*=====================
|
||||
07. Plus Minus Item Js
|
||||
==========================*/
|
||||
$('.add').on('click', function () {
|
||||
if ($(this).prev().val() < 10) {
|
||||
$(this).prev().val(+$(this).prev().val() + 1);
|
||||
}
|
||||
});
|
||||
$('.sub').on('click', function () {
|
||||
if ($(this).next().val() > 1) {
|
||||
if ($(this).next().val() > 1) $(this).next().val(+$(this).next().val() - 1);
|
||||
}
|
||||
});
|
||||
|
||||
/*========================
|
||||
08. Catagories Mordent Menu js
|
||||
=============================*/
|
||||
$(".catagories-menu").on('click', function () {
|
||||
$('#myScrollspy,.overlay').addClass("show");
|
||||
$(".toggle .overlay, .list-group-item").on('click', function () {
|
||||
$('#myScrollspy,.overlay').removeClass("show");
|
||||
});
|
||||
});
|
||||
|
||||
/*========================
|
||||
09. Filter Active js
|
||||
=============================*/
|
||||
$(".size").on('click', function () {
|
||||
$(".size").removeClass('active');
|
||||
$(this).addClass('active');
|
||||
});
|
||||
|
||||
|
||||
|
||||
/*==============================
|
||||
10. Swipe To Show Delete cart page js
|
||||
=====================================*/
|
||||
$(".swipe-to-show").on("swipeleft", function () {
|
||||
$(this).addClass('active').siblings().removeClass("active")
|
||||
})
|
||||
$(".swipe-to-show").on("swiperight", function () {
|
||||
$(this).removeClass("active")
|
||||
});
|
||||
|
||||
/*==============================
|
||||
11. Product card Heart Fill js
|
||||
=====================================*/
|
||||
$(".product-card .iconly-Heart").on('click', function () {
|
||||
$(this).toggleClass("icli")
|
||||
$(this).toggleClass("icbo")
|
||||
});
|
||||
|
||||
|
||||
/*==============================
|
||||
12. Product card Plus js
|
||||
=====================================*/
|
||||
$(".plus-theme").on('click', function () {
|
||||
$(this).parent().addClass("active")
|
||||
});
|
||||
|
||||
$(".sub").on('click', function () {
|
||||
if ($(this).siblings(".val").val() <= 1) {
|
||||
$(this).parentsUntil("active").removeClass("active")
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/*==============================
|
||||
13. Password Showhide js
|
||||
=====================================*/
|
||||
$(".showHidePassword").on("click", function () {
|
||||
$(this).toggleClass("iconly-Hide");
|
||||
$(this).toggleClass("iconly-Show");
|
||||
let inputEl = $(this).parent().find($('input'));
|
||||
if (inputEl.attr("type") == "password") {
|
||||
inputEl.attr("type", "text");
|
||||
}
|
||||
else {
|
||||
inputEl.attr("type", "password");
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
|
||||
@ -0,0 +1,146 @@
|
||||
|
||||
|
||||
(function ($) {
|
||||
/// Home Banner Slider slider ///
|
||||
$(".h-banner-slider").slick({
|
||||
dots: false,
|
||||
slidesToShow: 1,
|
||||
infinite: true,
|
||||
centerMode: true,
|
||||
centerPadding: "50px",
|
||||
arrows: false,
|
||||
slidesToScroll: 1,
|
||||
responsive: [
|
||||
{
|
||||
breakpoint: 475,
|
||||
settings: {
|
||||
centerPadding: "20px",
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
breakpoint: 375,
|
||||
settings: {
|
||||
centerPadding: "15px",
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
/// Product Slider ///
|
||||
$(".product-slider").slick({
|
||||
dots: false,
|
||||
slidesToShow: 3,
|
||||
centerMode: true,
|
||||
centerPadding: "50px",
|
||||
arrows: false,
|
||||
slidesToScroll: 1,
|
||||
responsive: [
|
||||
{
|
||||
breakpoint: 567,
|
||||
settings: {
|
||||
slidesToShow: 3, centerPadding: "25px",
|
||||
},
|
||||
},
|
||||
{
|
||||
breakpoint: 475,
|
||||
settings: {
|
||||
slidesToShow: 2, centerPadding: "25px",
|
||||
},
|
||||
},
|
||||
{
|
||||
breakpoint: 375,
|
||||
settings: {
|
||||
slidesToShow: 1,
|
||||
centerPadding: "120px"
|
||||
},
|
||||
}
|
||||
],
|
||||
});
|
||||
|
||||
/// Product Page Banner Slider ///
|
||||
$('.product-banner').slick({
|
||||
dots: true,
|
||||
infinite: true,
|
||||
speed: 300,
|
||||
slidesToShow: 1,
|
||||
adaptiveHeight: true
|
||||
});
|
||||
|
||||
/// Product Slider ///
|
||||
$(".product-recent-slider").slick({
|
||||
dots: false,
|
||||
slidesToShow: 3,
|
||||
centerMode: true,
|
||||
centerPadding: "50px",
|
||||
arrows: false,
|
||||
slidesToScroll: 1,
|
||||
responsive: [
|
||||
{
|
||||
breakpoint: 567,
|
||||
settings: {
|
||||
slidesToShow: 3, centerPadding: "25px",
|
||||
},
|
||||
},
|
||||
{
|
||||
breakpoint: 475,
|
||||
settings: {
|
||||
slidesToShow: 2, centerPadding: "25px",
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
/// Onboarding Slider ///
|
||||
$('.onboarding-slider').slick({
|
||||
dots: true,
|
||||
infinite: true,
|
||||
speed: 300,
|
||||
slidesToShow: 1,
|
||||
adaptiveHeight: true
|
||||
});
|
||||
|
||||
/// Onboarding Slider ///
|
||||
|
||||
if ($(window).width() > '767') {
|
||||
$('.recently-list-slider').slick({
|
||||
speed: 300,
|
||||
slidesToShow: 4,
|
||||
centerMode: true,
|
||||
centerPadding: "30px ",
|
||||
responsive: [
|
||||
{
|
||||
breakpoint: 1367,
|
||||
settings: {
|
||||
slidesToShow: 5,
|
||||
centerPadding: "10px ",
|
||||
},
|
||||
},
|
||||
{
|
||||
breakpoint: 1199,
|
||||
settings: {
|
||||
slidesToShow: 5,
|
||||
centerPadding: "20px ",
|
||||
},
|
||||
},
|
||||
{
|
||||
breakpoint: 991,
|
||||
settings: {
|
||||
slidesToShow: 5,
|
||||
centerPadding: "30px ",
|
||||
},
|
||||
},]
|
||||
});
|
||||
}
|
||||
|
||||
/// Coupon-slider ///
|
||||
if ($(window).width() > '767') {
|
||||
$('.coupon-slider').slick({
|
||||
speed: 300,
|
||||
slidesToShow: 3,
|
||||
centerMode: true,
|
||||
centerPadding: "30px ",
|
||||
|
||||
});
|
||||
}
|
||||
})(jQuery);
|
||||
@ -0,0 +1,44 @@
|
||||
(function ($) {
|
||||
"use strict";
|
||||
/*========================
|
||||
Dark local storage setting js
|
||||
==========================*/
|
||||
$('#darkButton').change(function () {
|
||||
if ($(this).is(":checked")) {
|
||||
$('body').addClass('dark');
|
||||
$("#change-link").attr("href", "assets/css/dark.css");
|
||||
localStorage.setItem('body', 'dark');
|
||||
localStorage.setItem('layoutcss', 'assets/css/dark.css');
|
||||
} else {
|
||||
$('body').removeClass('dark');
|
||||
$("#change-link").attr("href", "assets/css/style.css");
|
||||
localStorage.setItem('body', '');
|
||||
localStorage.setItem('layoutcss', 'assets/css/style.css');
|
||||
}
|
||||
});
|
||||
|
||||
$("body").attr("class", localStorage.getItem('body'));
|
||||
$("#change-link").attr("href", localStorage.getItem('layoutcss') ? localStorage.getItem('layoutcss') : 'assets/css/style.css');
|
||||
localStorage.getItem('body') ? $('#darkButton').attr('checked', true) : '';
|
||||
|
||||
|
||||
/*========================
|
||||
RTL local storage setting js
|
||||
==========================*/
|
||||
$('#rtlButton').change(function () {
|
||||
if ($(this).is(":checked")) {
|
||||
$("html").attr("dir", "rtl");
|
||||
$("#rtl-link").attr("href", "assets/css/vendors/bootstrap.rtl.css");
|
||||
localStorage.setItem('rtlcss', 'assets/css/vendors/bootstrap.rtl.css');
|
||||
localStorage.setItem('dir', 'rtl');
|
||||
} else {
|
||||
$("html").attr("dir", '');
|
||||
localStorage.setItem('dir', '');
|
||||
$("#rtl-link").attr("href", "assets/css/vendors/bootstrap.css");
|
||||
localStorage.setItem('rtlcss', 'assets/css/vendors/bootstrap.css');
|
||||
}
|
||||
});
|
||||
$("html").attr("dir", localStorage.getItem('dir'));
|
||||
$("#rtl-link").attr("href", localStorage.getItem('rtlcss') ? localStorage.getItem('rtlcss') : 'assets/css/vendors/bootstrap.css');
|
||||
localStorage.getItem('dir') ? $('#rtlButton').attr('checked', true) : '';
|
||||
})(jQuery);
|
||||
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 108 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 295 KiB |
@ -0,0 +1,53 @@
|
||||
{
|
||||
"name": "SlashCard",
|
||||
"short_name": "Slash",
|
||||
"lang": "en-TW",
|
||||
"start_url": ".",
|
||||
"display": "standalone",
|
||||
"background_color": "white",
|
||||
"theme_color": "#0baf9a",
|
||||
"description": "SlashCard app",
|
||||
"icons": [
|
||||
{
|
||||
"src": "assets/images/logo/logo48.png",
|
||||
"sizes": "48x48",
|
||||
"type": "image/png",
|
||||
"purpose": "any maskable"
|
||||
},
|
||||
{
|
||||
"src": "assets/images/logo/logo72.png",
|
||||
"sizes": "72x72",
|
||||
"type": "image/png"
|
||||
},
|
||||
{
|
||||
"src": "assets/images/logo/logo96.png",
|
||||
"sizes": "96x96",
|
||||
"type": "image/png",
|
||||
"purpose": "any maskable"
|
||||
},
|
||||
{
|
||||
"src": "assets/images/logo/logo144.png",
|
||||
"sizes": "144x144",
|
||||
"type": "image/png",
|
||||
"purpose": "any maskable"
|
||||
},
|
||||
{
|
||||
"src": "assets/images/logo/logo168.png",
|
||||
"sizes": "168x168",
|
||||
"type": "image/png",
|
||||
"purpose": "any maskable"
|
||||
},
|
||||
{
|
||||
"src": "assets/images/logo/logo192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "any maskable"
|
||||
},
|
||||
{
|
||||
"src": "assets/images/logo/logo512.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "any maskable"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
<template>
|
||||
<router-view></router-view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { onMounted } from "vue";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
|
||||
import Cookies from "js-cookie";
|
||||
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
|
||||
onMounted(async () => {
|
||||
await router.isReady();
|
||||
|
||||
if (route.query.refer !== undefined) {
|
||||
Cookies.set("refer_code", route.query.refer, { expires: 1 });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="less"></style>
|
||||
@ -0,0 +1,9 @@
|
||||
@import url(//fonts.googleapis.com/earlyaccess/notosanstc.css);
|
||||
|
||||
* {
|
||||
// font-family: "Helvetica", "Arial","LiHei Pro","黑體-繁","微軟正黑體", sans-serif !important;
|
||||
}
|
||||
|
||||
input, textarea{
|
||||
font-size: initial !important;
|
||||
}
|
||||
@ -0,0 +1,349 @@
|
||||
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
|
||||
|
||||
/* Document
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Correct the line height in all browsers.
|
||||
* 2. Prevent adjustments of font size after orientation changes in iOS.
|
||||
*/
|
||||
|
||||
html {
|
||||
line-height: 1.15; /* 1 */
|
||||
-webkit-text-size-adjust: 100%; /* 2 */
|
||||
}
|
||||
|
||||
/* Sections
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the margin in all browsers.
|
||||
*/
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Render the `main` element consistently in IE.
|
||||
*/
|
||||
|
||||
main {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the font size and margin on `h1` elements within `section` and
|
||||
* `article` contexts in Chrome, Firefox, and Safari.
|
||||
*/
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
margin: 0.67em 0;
|
||||
}
|
||||
|
||||
/* Grouping content
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Add the correct box sizing in Firefox.
|
||||
* 2. Show the overflow in Edge and IE.
|
||||
*/
|
||||
|
||||
hr {
|
||||
box-sizing: content-box; /* 1 */
|
||||
height: 0; /* 1 */
|
||||
overflow: visible; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||
* 2. Correct the odd `em` font sizing in all browsers.
|
||||
*/
|
||||
|
||||
pre {
|
||||
font-family: monospace, monospace; /* 1 */
|
||||
font-size: 1em; /* 2 */
|
||||
}
|
||||
|
||||
/* Text-level semantics
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the gray background on active links in IE 10.
|
||||
*/
|
||||
|
||||
a {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Remove the bottom border in Chrome 57-
|
||||
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
|
||||
*/
|
||||
|
||||
abbr[title] {
|
||||
border-bottom: none; /* 1 */
|
||||
text-decoration: underline; /* 2 */
|
||||
text-decoration: underline dotted; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font weight in Chrome, Edge, and Safari.
|
||||
*/
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||
* 2. Correct the odd `em` font sizing in all browsers.
|
||||
*/
|
||||
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
font-family: monospace, monospace; /* 1 */
|
||||
font-size: 1em; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font size in all browsers.
|
||||
*/
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent `sub` and `sup` elements from affecting the line height in
|
||||
* all browsers.
|
||||
*/
|
||||
|
||||
sub,
|
||||
sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
/* Embedded content
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the border on images inside links in IE 10.
|
||||
*/
|
||||
|
||||
img {
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
/* Forms
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Change the font styles in all browsers.
|
||||
* 2. Remove the margin in Firefox and Safari.
|
||||
*/
|
||||
|
||||
button,
|
||||
input,
|
||||
optgroup,
|
||||
select,
|
||||
textarea {
|
||||
font-family: inherit; /* 1 */
|
||||
font-size: 100%; /* 1 */
|
||||
line-height: 1.15; /* 1 */
|
||||
margin: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the overflow in IE.
|
||||
* 1. Show the overflow in Edge.
|
||||
*/
|
||||
|
||||
button,
|
||||
input { /* 1 */
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inheritance of text transform in Edge, Firefox, and IE.
|
||||
* 1. Remove the inheritance of text transform in Firefox.
|
||||
*/
|
||||
|
||||
button,
|
||||
select { /* 1 */
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the inability to style clickable types in iOS and Safari.
|
||||
*/
|
||||
|
||||
button,
|
||||
[type="button"],
|
||||
[type="reset"],
|
||||
[type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inner border and padding in Firefox.
|
||||
*/
|
||||
|
||||
button::-moz-focus-inner,
|
||||
[type="button"]::-moz-focus-inner,
|
||||
[type="reset"]::-moz-focus-inner,
|
||||
[type="submit"]::-moz-focus-inner {
|
||||
border-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Restore the focus styles unset by the previous rule.
|
||||
*/
|
||||
|
||||
button:-moz-focusring,
|
||||
[type="button"]:-moz-focusring,
|
||||
[type="reset"]:-moz-focusring,
|
||||
[type="submit"]:-moz-focusring {
|
||||
outline: 1px dotted ButtonText;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the padding in Firefox.
|
||||
*/
|
||||
|
||||
fieldset {
|
||||
padding: 0.35em 0.75em 0.625em;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the text wrapping in Edge and IE.
|
||||
* 2. Correct the color inheritance from `fieldset` elements in IE.
|
||||
* 3. Remove the padding so developers are not caught out when they zero out
|
||||
* `fieldset` elements in all browsers.
|
||||
*/
|
||||
|
||||
legend {
|
||||
box-sizing: border-box; /* 1 */
|
||||
color: inherit; /* 2 */
|
||||
display: table; /* 1 */
|
||||
max-width: 100%; /* 1 */
|
||||
padding: 0; /* 3 */
|
||||
white-space: normal; /* 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
|
||||
*/
|
||||
|
||||
progress {
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the default vertical scrollbar in IE 10+.
|
||||
*/
|
||||
|
||||
textarea {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Add the correct box sizing in IE 10.
|
||||
* 2. Remove the padding in IE 10.
|
||||
*/
|
||||
|
||||
[type="checkbox"],
|
||||
[type="radio"] {
|
||||
box-sizing: border-box; /* 1 */
|
||||
padding: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the cursor style of increment and decrement buttons in Chrome.
|
||||
*/
|
||||
|
||||
[type="number"]::-webkit-inner-spin-button,
|
||||
[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the odd appearance in Chrome and Safari.
|
||||
* 2. Correct the outline style in Safari.
|
||||
*/
|
||||
|
||||
[type="search"] {
|
||||
-webkit-appearance: textfield; /* 1 */
|
||||
outline-offset: -2px; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inner padding in Chrome and Safari on macOS.
|
||||
*/
|
||||
|
||||
[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inability to style clickable types in iOS and Safari.
|
||||
* 2. Change font properties to `inherit` in Safari.
|
||||
*/
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
-webkit-appearance: button; /* 1 */
|
||||
font: inherit; /* 2 */
|
||||
}
|
||||
|
||||
/* Interactive
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* Add the correct display in Edge, IE 10+, and Firefox.
|
||||
*/
|
||||
|
||||
details {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add the correct display in all browsers.
|
||||
*/
|
||||
|
||||
summary {
|
||||
display: list-item;
|
||||
}
|
||||
|
||||
/* Misc
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 10+.
|
||||
*/
|
||||
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 10.
|
||||
*/
|
||||
|
||||
[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
After Width: | Height: | Size: 798 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 289 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 95 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 295 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 102 KiB |
|
After Width: | Height: | Size: 171 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 270 B |
|
After Width: | Height: | Size: 366 B |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 8.6 KiB |