cloudcommerce 0.0.113 → 0.0.115
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/ecomplus-stores/monocard/functions/core/package.json +1 -1
- package/ecomplus-stores/monocard/functions/events/package.json +2 -2
- package/ecomplus-stores/monocard/functions/modules/package.json +2 -2
- package/ecomplus-stores/monocard/functions/passport/package.json +2 -2
- package/ecomplus-stores/monocard/functions/ssr/package.json +5 -4
- package/ecomplus-stores/monocard/functions/ssr/src/components/TheHeader.vue +5 -0
- package/ecomplus-stores/monocard/functions/ssr/src/layouts/Pages.astro +24 -0
- package/ecomplus-stores/monocard/functions/ssr/src/pages/[...slug].astro +1 -3
- package/ecomplus-stores/monocard/functions/ssr/src/pages/fallback.astro +1 -3
- package/ecomplus-stores/monocard/package.json +1 -1
- package/package.json +7 -7
- package/packages/api/package.json +1 -1
- package/packages/apps/correios/package.json +2 -2
- package/packages/apps/custom-shipping/package.json +1 -1
- package/packages/apps/discounts/package.json +1 -1
- package/packages/apps/frenet/package.json +2 -2
- package/packages/apps/mercadopago/package.json +5 -5
- package/packages/apps/tiny-erp/package.json +4 -4
- package/packages/cli/package.json +2 -2
- package/packages/config/package.json +1 -1
- package/packages/events/package.json +3 -3
- package/packages/firebase/package.json +3 -3
- package/packages/i18n/package.json +1 -1
- package/packages/modules/package.json +4 -4
- package/packages/passport/package.json +3 -3
- package/packages/ssr/package.json +5 -5
- package/packages/storefront/astro.config.mjs +17 -1
- package/packages/storefront/dist/{client/assets/_...129504ca.css → server/assets/_...slug_.648f7d81.css} +1 -1
- package/packages/storefront/package.json +11 -11
- package/packages/storefront/src/components/.gitkeep +0 -0
- package/packages/storefront/src/layouts/Pages.astro +38 -0
- package/packages/storefront/src/{assets → lib/assets}/pico.css +0 -0
- package/packages/storefront/src/lib/components/ADrawer.vue +1 -1
- package/packages/storefront/src/lib/components/LoginDrawer.vue +2 -2
- package/packages/storefront/src/lib/components/LoginForm.vue +2 -2
- package/packages/storefront/src/lib/components/TopBar.vue +2 -2
- package/packages/storefront/src/lib/layouts/Base.astro +2 -2
- package/packages/storefront/src/lib/layouts/BaseBody.astro +2 -22
- package/packages/storefront/src/lib/layouts/BaseHead.astro +2 -2
- package/packages/storefront/src/lib/layouts/BaseStateJson.astro +1 -1
- package/packages/storefront/src/lib/layouts/Pages.astro +1 -1
- package/packages/storefront/src/lib/layouts/PagesHeader.astro +20 -18
- package/packages/storefront/src/lib/main/Fallback.astro +1 -1
- package/packages/storefront/src/lib/main/Home.astro +1 -1
- package/packages/storefront/src/lib/main/Wildcard.astro +1 -1
- package/packages/storefront/src/lib/ssr-context.ts +1 -1
- package/packages/storefront/src/lib/state/customer-session.ts +1 -1
- package/packages/storefront/src/lib/types/cms-code.d.ts +5 -0
- package/packages/storefront/src/lib/types/cms-contacts.d.ts +5 -0
- package/packages/storefront/src/lib/types/cms-header.d.ts +5 -0
- package/packages/storefront/src/lib/types/cms-settings.d.ts +5 -0
- package/packages/storefront/src/lib/types/cms-social.d.ts +5 -0
- package/packages/storefront/src/pages/[...slug].astro +3 -5
- package/packages/storefront/src/pages/fallback.astro +3 -5
- package/packages/storefront/src/pages/index.astro +3 -5
- package/packages/storefront/tsconfig.json +3 -1
- package/packages/storefront/uno.config.ts +8 -0
- package/packages/types/package.json +1 -1
- package/packages/apps/mercadopago/lib/index.d.ts +0 -1
- package/packages/apps/mercadopago/lib/index.js +0 -3
- package/packages/apps/mercadopago/lib/index.js.map +0 -1
- package/packages/apps/mercadopago/lib/mercadopago.d.ts +0 -86
- package/packages/apps/mercadopago/lib/mercadopago.js +0 -15
- package/packages/apps/mercadopago/lib/mercadopago.js.map +0 -1
- package/packages/apps/mercadopago/lib/mp-create-transaction.d.ts +0 -85
- package/packages/apps/mercadopago/lib/mp-create-transaction.js +0 -270
- package/packages/apps/mercadopago/lib/mp-create-transaction.js.map +0 -1
- package/packages/apps/mercadopago/lib/mp-list-payments.d.ts +0 -7
- package/packages/apps/mercadopago/lib/mp-list-payments.js +0 -175
- package/packages/apps/mercadopago/lib/mp-list-payments.js.map +0 -1
- package/packages/apps/mercadopago/lib/mp-webhook.d.ts +0 -5
- package/packages/apps/mercadopago/lib/mp-webhook.js +0 -119
- package/packages/apps/mercadopago/lib/mp-webhook.js.map +0 -1
- package/packages/apps/tiny-erp/lib/event-to-tiny.js +0 -115
- package/packages/apps/tiny-erp/lib/event-to-tiny.js.map +0 -1
- package/packages/apps/tiny-erp/lib/index.js +0 -2
- package/packages/apps/tiny-erp/lib/index.js.map +0 -1
- package/packages/apps/tiny-erp/lib/integration/after-tiny-queue.js +0 -79
- package/packages/apps/tiny-erp/lib/integration/after-tiny-queue.js.map +0 -1
- package/packages/apps/tiny-erp/lib/integration/export-order-to-tiny.js +0 -84
- package/packages/apps/tiny-erp/lib/integration/export-order-to-tiny.js.map +0 -1
- package/packages/apps/tiny-erp/lib/integration/export-product-to-tiny.js +0 -58
- package/packages/apps/tiny-erp/lib/integration/export-product-to-tiny.js.map +0 -1
- package/packages/apps/tiny-erp/lib/integration/helpers/format-tiny-date.js +0 -7
- package/packages/apps/tiny-erp/lib/integration/helpers/format-tiny-date.js.map +0 -1
- package/packages/apps/tiny-erp/lib/integration/import-order-from-tiny.js +0 -92
- package/packages/apps/tiny-erp/lib/integration/import-order-from-tiny.js.map +0 -1
- package/packages/apps/tiny-erp/lib/integration/import-product-from-tiny.js +0 -158
- package/packages/apps/tiny-erp/lib/integration/import-product-from-tiny.js.map +0 -1
- package/packages/apps/tiny-erp/lib/integration/parsers/order-from-tiny.js +0 -46
- package/packages/apps/tiny-erp/lib/integration/parsers/order-from-tiny.js.map +0 -1
- package/packages/apps/tiny-erp/lib/integration/parsers/order-to-tiny.js +0 -193
- package/packages/apps/tiny-erp/lib/integration/parsers/order-to-tiny.js.map +0 -1
- package/packages/apps/tiny-erp/lib/integration/parsers/product-from-tiny.js +0 -199
- package/packages/apps/tiny-erp/lib/integration/parsers/product-from-tiny.js.map +0 -1
- package/packages/apps/tiny-erp/lib/integration/parsers/product-to-tiny.js +0 -129
- package/packages/apps/tiny-erp/lib/integration/parsers/product-to-tiny.js.map +0 -1
- package/packages/apps/tiny-erp/lib/integration/parsers/status-from-tiny.js +0 -34
- package/packages/apps/tiny-erp/lib/integration/parsers/status-from-tiny.js.map +0 -1
- package/packages/apps/tiny-erp/lib/integration/parsers/status-to-tiny.js +0 -39
- package/packages/apps/tiny-erp/lib/integration/parsers/status-to-tiny.js.map +0 -1
- package/packages/apps/tiny-erp/lib/integration/post-tiny-erp.js +0 -47
- package/packages/apps/tiny-erp/lib/integration/post-tiny-erp.js.map +0 -1
- package/packages/apps/tiny-erp/lib/tiny-erp.js +0 -18
- package/packages/apps/tiny-erp/lib/tiny-erp.js.map +0 -1
- package/packages/apps/tiny-erp/lib/tiny-webhook.js +0 -92
- package/packages/apps/tiny-erp/lib/tiny-webhook.js.map +0 -1
- package/packages/passport/lib/firebase/authenticate-customer.js +0 -81
- package/packages/passport/lib/firebase/authenticate-customer.js.map +0 -1
- package/packages/passport/lib/firebase/serve-passport-api.js +0 -31
- package/packages/passport/lib/firebase/serve-passport-api.js.map +0 -1
- package/packages/passport/lib/firebase.js +0 -16
- package/packages/passport/lib/firebase.js.map +0 -1
- package/packages/passport/lib/index.js +0 -2
- package/packages/passport/lib/index.js.map +0 -1
- package/packages/ssr/lib/firebase/serve-feeds.js +0 -8
- package/packages/ssr/lib/firebase/serve-feeds.js.map +0 -1
- package/packages/ssr/lib/firebase/serve-storefront.js +0 -50
- package/packages/ssr/lib/firebase/serve-storefront.js.map +0 -1
- package/packages/ssr/lib/firebase.js +0 -23
- package/packages/ssr/lib/firebase.js.map +0 -1
- package/packages/ssr/lib/index.js +0 -4
- package/packages/ssr/lib/index.js.map +0 -1
- package/packages/storefront/dist/client/LoginDrawer.1061c69c.js +0 -1
- package/packages/storefront/dist/client/admin/config.json +0 -1
- package/packages/storefront/dist/client/assets/cms-preview.css +0 -274
- package/packages/storefront/dist/client/assets/cms.css +0 -114
- package/packages/storefront/dist/client/assets/cvv.png +0 -0
- package/packages/storefront/dist/client/assets/icons/bootstrap-icons/font/storefront-icons.woff2 +0 -0
- package/packages/storefront/dist/client/assets/icons/feather-icons/font/storefront-icons.woff2 +0 -0
- package/packages/storefront/dist/client/assets/icons/font-awesome/font/storefront-icons.woff2 +0 -0
- package/packages/storefront/dist/client/assets/icons/line-awesome/font/storefront-icons.woff2 +0 -0
- package/packages/storefront/dist/client/assets/icons/tabler-icons/font/storefront-icons.woff2 +0 -0
- package/packages/storefront/dist/client/assets/img-placeholder.png +0 -0
- package/packages/storefront/dist/client/assets/payments.png +0 -0
- package/packages/storefront/dist/client/assets/ssl-safe.png +0 -0
- package/packages/storefront/dist/client/chunks/LoginDrawer.4d10fa17.js +0 -1
- package/packages/storefront/dist/client/chunks/LoginForm.dd3df9d8.js +0 -1426
- package/packages/storefront/dist/client/chunks/preload-helper.f15ab524.js +0 -1
- package/packages/storefront/dist/client/chunks/runtime-dom.esm-bundler.7f8f570f.js +0 -1
- package/packages/storefront/dist/client/chunks/workbox-window.prod.es5.4b654ae6.js +0 -2
- package/packages/storefront/dist/client/client.246ab4a4.js +0 -1
- package/packages/storefront/dist/client/hoisted.71b2f749.js +0 -1
- package/packages/storefront/dist/client/img/icon.png +0 -0
- package/packages/storefront/dist/client/img/large-icon.png +0 -0
- package/packages/storefront/dist/client/img/uploads/banner1.png +0 -0
- package/packages/storefront/dist/client/img/uploads/banner2.png +0 -0
- package/packages/storefront/dist/client/img/uploads/banner2.webp +0 -0
- package/packages/storefront/dist/client/img/uploads/favicon.png +0 -0
- package/packages/storefront/dist/client/img/uploads/headless.png +0 -0
- package/packages/storefront/dist/client/img/uploads/headphone.png +0 -0
- package/packages/storefront/dist/client/img/uploads/headphone.webp +0 -0
- package/packages/storefront/dist/client/img/uploads/icon.png +0 -0
- package/packages/storefront/dist/client/img/uploads/large-icon.png +0 -0
- package/packages/storefront/dist/client/img/uploads/logo.png +0 -0
- package/packages/storefront/dist/client/img/uploads/logo.webp +0 -0
- package/packages/storefront/dist/client/img/uploads/og-image.png +0 -0
- package/packages/storefront/dist/client/img/uploads/passion.png +0 -0
- package/packages/storefront/dist/client/img/uploads/passion.webp +0 -0
- package/packages/storefront/dist/client/img/uploads/pwa-reliable.png +0 -0
- package/packages/storefront/dist/client/img/uploads/rect8589.png +0 -0
- package/packages/storefront/dist/client/img/uploads/rect859.png +0 -0
- package/packages/storefront/dist/client/img/uploads/rect89.png +0 -0
- package/packages/storefront/dist/client/img/uploads/rect89.webp +0 -0
- package/packages/storefront/dist/client/img/uploads/ssl-safe.png +0 -0
- package/packages/storefront/dist/client/manifest.webmanifest +0 -1
- package/packages/storefront/dist/client/page.3aa82516.js +0 -1
- package/packages/storefront/dist/client/robots.txt +0 -8
- package/packages/storefront/dist/client/sw.js +0 -1
- package/packages/storefront/dist/client/workbox-6f0d1f78.js +0 -1
- package/packages/storefront/dist/client/~partytown/partytown-atomics.js +0 -2
- package/packages/storefront/dist/client/~partytown/partytown-media.js +0 -2
- package/packages/storefront/dist/client/~partytown/partytown-sw.js +0 -2
- package/packages/storefront/dist/client/~partytown/partytown.js +0 -2
- package/packages/storefront/dist/server/avif/avif_node_dec.wasm +0 -0
- package/packages/storefront/dist/server/avif/avif_node_enc.wasm +0 -0
- package/packages/storefront/dist/server/entry.mjs +0 -16224
- package/packages/storefront/dist/server/mozjpeg/mozjpeg_node_dec.wasm +0 -0
- package/packages/storefront/dist/server/mozjpeg/mozjpeg_node_enc.wasm +0 -0
- package/packages/storefront/dist/server/png/squoosh_oxipng_bg.wasm +0 -0
- package/packages/storefront/dist/server/png/squoosh_png_bg.wasm +0 -0
- package/packages/storefront/dist/server/resize/squoosh_resize_bg.wasm +0 -0
- package/packages/storefront/dist/server/rotate/rotate.wasm +0 -0
- package/packages/storefront/dist/server/webp/webp_node_dec.wasm +0 -0
- package/packages/storefront/dist/server/webp/webp_node_enc.wasm +0 -0
- package/packages/storefront/src/types/cms-code.d.ts +0 -5
- package/packages/storefront/src/types/cms-contacts.d.ts +0 -5
- package/packages/storefront/src/types/cms-header.d.ts +0 -5
- package/packages/storefront/src/types/cms-settings.d.ts +0 -5
- package/packages/storefront/src/types/cms-social.d.ts +0 -5
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
// eslint-disable-next-line import/no-unresolved
|
|
2
|
-
import { getFirestore } from 'firebase-admin/firestore';
|
|
3
|
-
// eslint-disable-next-line import/no-unresolved
|
|
4
|
-
import { getAuth } from 'firebase-admin/auth';
|
|
5
|
-
import { logger } from 'firebase-functions';
|
|
6
|
-
import api from '@cloudcommerce/api';
|
|
7
|
-
import getEnv from '@cloudcommerce/firebase/lib/env';
|
|
8
|
-
|
|
9
|
-
const findCustomerByEmail = async (email, isOnlyId = true) => {
|
|
10
|
-
let params = `main_email=${email}`;
|
|
11
|
-
if (isOnlyId) {
|
|
12
|
-
params += '&fields=_id';
|
|
13
|
-
}
|
|
14
|
-
const { data } = await api.get(`customers?${params}`);
|
|
15
|
-
if (data.result.length) {
|
|
16
|
-
return data.result[0];
|
|
17
|
-
}
|
|
18
|
-
return null;
|
|
19
|
-
};
|
|
20
|
-
const generateAccessToken = async (customerId) => {
|
|
21
|
-
const { apiAuth } = getEnv();
|
|
22
|
-
const { data } = await api({
|
|
23
|
-
endpoint: 'authenticate',
|
|
24
|
-
method: 'post',
|
|
25
|
-
body: {
|
|
26
|
-
_id: apiAuth.authenticationId,
|
|
27
|
-
api_key: apiAuth.apiKey,
|
|
28
|
-
customer_id: customerId,
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
return {
|
|
32
|
-
access_token: data.access_token,
|
|
33
|
-
expires: data.expires,
|
|
34
|
-
customer_id: customerId,
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
const checkFirebaseAuth = async (authToken) => {
|
|
38
|
-
const firebaseAuth = getAuth();
|
|
39
|
-
try {
|
|
40
|
-
const firebaseAuthUser = await firebaseAuth.verifyIdToken(authToken);
|
|
41
|
-
return firebaseAuthUser;
|
|
42
|
-
} catch (e) {
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
const authenticateCustomer = async (firebaseAuthToken) => {
|
|
47
|
-
const firebaseAuthUser = await checkFirebaseAuth(firebaseAuthToken);
|
|
48
|
-
if (firebaseAuthUser) {
|
|
49
|
-
const { name, email, email_verified: isEmailVerified } = firebaseAuthUser;
|
|
50
|
-
if (email && isEmailVerified) {
|
|
51
|
-
const customerId = (await findCustomerByEmail(email))?._id;
|
|
52
|
-
if (customerId) {
|
|
53
|
-
const docRef = getFirestore().doc(`customerTokens/${customerId}`);
|
|
54
|
-
const storedToken = (await docRef.get()).data();
|
|
55
|
-
const expires = storedToken?.expires;
|
|
56
|
-
if (expires && new Date(expires).getTime() - Date.now() >= 2 * 60 * 1000) {
|
|
57
|
-
return storedToken;
|
|
58
|
-
}
|
|
59
|
-
const customerToken = generateAccessToken(customerId);
|
|
60
|
-
docRef.set(customerToken).catch(logger.error);
|
|
61
|
-
return customerToken;
|
|
62
|
-
}
|
|
63
|
-
const { data: newCustomer } = await api.post('customers', {
|
|
64
|
-
display_name: name || '',
|
|
65
|
-
main_email: email,
|
|
66
|
-
emails: [{
|
|
67
|
-
address: email,
|
|
68
|
-
verified: isEmailVerified,
|
|
69
|
-
}],
|
|
70
|
-
});
|
|
71
|
-
return generateAccessToken(newCustomer._id);
|
|
72
|
-
}
|
|
73
|
-
// TODO: Find customer by phone number, generate token if found, otherwise unauthorize
|
|
74
|
-
}
|
|
75
|
-
return null;
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
export default authenticateCustomer;
|
|
79
|
-
|
|
80
|
-
export { findCustomerByEmail, generateAccessToken };
|
|
81
|
-
// # sourceMappingURL=authenticate-customer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate-customer.js","sourceRoot":"","sources":["../../src/firebase/authenticate-customer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { logger } from 'firebase-functions';
|
|
2
|
-
import authenticateCustomer from './authenticate-customer.js';
|
|
3
|
-
|
|
4
|
-
export default async (req, res) => {
|
|
5
|
-
let { url } = req;
|
|
6
|
-
if (url.endsWith('.json')) {
|
|
7
|
-
url = url.slice(0, -5);
|
|
8
|
-
}
|
|
9
|
-
const endpoint = url.split('/')[1];
|
|
10
|
-
if (endpoint !== 'token') {
|
|
11
|
-
return res.sendStatus(404);
|
|
12
|
-
}
|
|
13
|
-
const firebaseAuthToken = req.headers.authorization?.split(' ')[1];
|
|
14
|
-
if (!firebaseAuthToken) {
|
|
15
|
-
return res.sendStatus(401);
|
|
16
|
-
}
|
|
17
|
-
try {
|
|
18
|
-
const authCustomerApi = await authenticateCustomer(firebaseAuthToken);
|
|
19
|
-
if (authCustomerApi !== null) {
|
|
20
|
-
return res.send(authCustomerApi);
|
|
21
|
-
}
|
|
22
|
-
return res.status(401).json({
|
|
23
|
-
status: 401,
|
|
24
|
-
error: 'Invalid Firebase Auth token, unauthorized',
|
|
25
|
-
});
|
|
26
|
-
} catch (err) {
|
|
27
|
-
logger.error(err);
|
|
28
|
-
return res.sendStatus(err.statusCode || 500);
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
// # sourceMappingURL=serve-passport-api.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serve-passport-api.js","sourceRoot":"","sources":["../../src/firebase/serve-passport-api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAE3D,eAAe,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IACnD,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAClB,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QACzB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KACxB;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,QAAQ,KAAK,OAAO,EAAE;QACxB,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KAC5B;IACD,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,iBAAiB,EAAE;QACtB,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KAC5B;IACD,IAAI;QACF,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;QACtE,IAAI,eAAe,KAAK,IAAI,EAAE;YAC5B,OAAO,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAClC;QACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YAC1B,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,2CAA2C;SACnD,CAAC,CAAC;KACJ;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,GAAG,CAAC,UAAU,CAAE,GAAgB,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;KAC5D;AACH,CAAC,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import '@cloudcommerce/firebase/lib/init';
|
|
2
|
-
// eslint-disable-next-line import/no-unresolved
|
|
3
|
-
import { onRequest } from 'firebase-functions/v2/https';
|
|
4
|
-
import config from '@cloudcommerce/firebase/lib/config';
|
|
5
|
-
import servePassportApi from './firebase/serve-passport-api.js';
|
|
6
|
-
|
|
7
|
-
const options = {
|
|
8
|
-
memory: '128MiB',
|
|
9
|
-
...config.get().httpsFunctionOptions,
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
// eslint-disable-next-line import/prefer-default-export
|
|
13
|
-
export const passport = onRequest(options, (req, res) => {
|
|
14
|
-
servePassportApi(req, res);
|
|
15
|
-
});
|
|
16
|
-
// # sourceMappingURL=firebase.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.js","sourceRoot":"","sources":["../src/firebase.ts"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC;AAC1C,gDAAgD;AAChD,OAAO,EAAgB,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,MAAM,MAAM,oCAAoC,CAAC;AACxD,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAE7D,MAAM,OAAO,GAAG;IACd,MAAM,EAAE,QAAQ;IAChB,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,oBAAoB;CACrB,CAAC;AAElB,wDAAwD;AACxD,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACtD,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kCAAkC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serve-feeds.js","sourceRoot":"","sources":["../../src/firebase/serve-feeds.ts"],"names":[],"mappings":"AAEA,eAAe,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACvB,IAAI,MAAM,KAAK,KAAK,EAAE;QACpB,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KAC5B;IACD,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC,CAAC"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { join as joinPath } from 'path';
|
|
2
|
-
import { readFile } from 'fs/promises';
|
|
3
|
-
|
|
4
|
-
const { STOREFRONT_BASE_DIR } = process.env;
|
|
5
|
-
const baseDir = STOREFRONT_BASE_DIR || process.cwd();
|
|
6
|
-
const clientRoot = new URL(joinPath(baseDir, 'dist/client/'), import.meta.url);
|
|
7
|
-
|
|
8
|
-
export default (req, res) => {
|
|
9
|
-
res.set('X-XSS-Protection', '1; mode=block');
|
|
10
|
-
const url = req.url.replace(/\?.*$/, '').replace(/\.html$/, '');
|
|
11
|
-
const setStatusAndCache = (status, defaultCache) => {
|
|
12
|
-
return res.status(status)
|
|
13
|
-
.set('X-SSR-ID', `v1/${Date.now()}`)
|
|
14
|
-
.set('Cache-Control', (typeof global.cache_control === 'function' && global.cache_control(status))
|
|
15
|
-
|| defaultCache);
|
|
16
|
-
};
|
|
17
|
-
const fallback = (err, status = 500) => {
|
|
18
|
-
if (url !== '/fallback' && (/\/[^/.]+$/.test(url) || /\.x?html$/.test(url))) {
|
|
19
|
-
setStatusAndCache(status, 'public, max-age=120')
|
|
20
|
-
.send('<html><head>'
|
|
21
|
-
+ '<meta http-equiv="refresh" content="0; '
|
|
22
|
-
+ `url=/fallback?status=${status}&url=${encodeURIComponent(url)}"/>`
|
|
23
|
-
+ `</head><body>${err.toString()}</body></html>`);
|
|
24
|
-
} else {
|
|
25
|
-
setStatusAndCache(status, 'public, max-age=120, s-maxage=600')
|
|
26
|
-
.send(err.toString());
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
/*
|
|
30
|
-
https://github.com/withastro/astro/blob/main/examples/ssr/server/server.mjs
|
|
31
|
-
import { handler as ssrHandler } from '../dist/server/entry.mjs';
|
|
32
|
-
global.ssr_handler = ssrHandler;
|
|
33
|
-
*/
|
|
34
|
-
global.ssr_handler(req, res, async (err) => {
|
|
35
|
-
if (err) {
|
|
36
|
-
res.set('X-SSR-Error', err.message);
|
|
37
|
-
fallback(err);
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
const local = new URL(`.${url}`, clientRoot);
|
|
41
|
-
try {
|
|
42
|
-
const data = await readFile(local);
|
|
43
|
-
setStatusAndCache(200, 'public, max-age=60, s-maxage=600')
|
|
44
|
-
.send(data);
|
|
45
|
-
} catch {
|
|
46
|
-
fallback(err, 404);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
|
-
// # sourceMappingURL=serve-storefront.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serve-storefront.js","sourceRoot":"","sources":["../../src/firebase/serve-storefront.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAC5C,MAAM,OAAO,GAAG,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AACrD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/E,eAAe,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC7C,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAEhE,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAE,YAAoB,EAAE,EAAE;QACjE,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;aACtB,GAAG,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;aACnC,GAAG,CACF,eAAe,EACf,CAAC,OAAO,MAAM,CAAC,aAAa,KAAK,UAAU,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;eACvE,YAAY,CAClB,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,GAAQ,EAAE,MAAM,GAAG,GAAG,EAAE,EAAE;QAC1C,IAAI,GAAG,KAAK,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAC3E,iBAAiB,CAAC,MAAM,EAAE,qBAAqB,CAAC;iBAC7C,IAAI,CAAC,cAAc;kBAChB,yCAAyC;kBACvC,wBAAwB,MAAM,QAAQ,kBAAkB,CAAC,GAAG,CAAC,KAAK;kBACpE,gBAAgB,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;SACvD;aAAM;YACL,iBAAiB,CAAC,MAAM,EAAE,mCAAmC,CAAC;iBAC3D,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;SACzB;IACH,CAAC,CAAC;IAEF;;;;MAIE;IACF,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAQ,EAAE,EAAE;QAC9C,IAAI,GAAG,EAAE;YACP,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACpC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACd,OAAO;SACR;QACD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QAC7C,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;YACnC,iBAAiB,CAAC,GAAG,EAAE,kCAAkC,CAAC;iBACvD,IAAI,CAAC,IAAI,CAAC,CAAC;SACf;QAAC,MAAM;YACN,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;SACpB;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/* eslint-disable import/prefer-default-export, import/no-unresolved, import/first */
|
|
2
|
-
import '@cloudcommerce/api/fetch-polyfill';
|
|
3
|
-
import { initializeApp } from 'firebase-admin/app';
|
|
4
|
-
|
|
5
|
-
initializeApp();
|
|
6
|
-
import { onRequest } from 'firebase-functions/v2/https';
|
|
7
|
-
import config from '@cloudcommerce/firebase/lib/config';
|
|
8
|
-
import serveStorefront from './firebase/serve-storefront.js';
|
|
9
|
-
|
|
10
|
-
const { httpsFunctionOptions, ssrFunctionOptions } = config.get();
|
|
11
|
-
|
|
12
|
-
export const ssr = onRequest(ssrFunctionOptions, (req, res) => {
|
|
13
|
-
serveStorefront(req, res);
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
export const feeds = onRequest({
|
|
17
|
-
memory: '512MiB',
|
|
18
|
-
...httpsFunctionOptions,
|
|
19
|
-
timeoutSeconds: 120,
|
|
20
|
-
}, (req, res) => {
|
|
21
|
-
serveStorefront(req, res);
|
|
22
|
-
});
|
|
23
|
-
// # sourceMappingURL=firebase.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.js","sourceRoot":"","sources":["../src/firebase.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,aAAa,EAAE,CAAC;AAEhB,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,MAAM,MAAM,oCAAoC,CAAC;AACxD,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAE1D,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;AAElE,MAAM,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAC5D,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,QAAQ;IAChB,GAAG,oBAAoB;IACvB,cAAc,EAAE,GAAG;CACpB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACd,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAE1D,eAAe,eAAe,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as i}from"./chunks/LoginDrawer.4d10fa17.js";import"./chunks/preload-helper.f15ab524.js";import"./chunks/runtime-dom.esm-bundler.7f8f570f.js";/* empty css */export{i as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{}
|
|
@@ -1,274 +0,0 @@
|
|
|
1
|
-
.ec-search-engine__count {
|
|
2
|
-
padding-left: .5rem;
|
|
3
|
-
position: relative;
|
|
4
|
-
line-height: 2.5;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
.ec-search-engine__spinner {
|
|
8
|
-
position: absolute;
|
|
9
|
-
top: .4rem;
|
|
10
|
-
right: -3rem;
|
|
11
|
-
color: var(--secondary);
|
|
12
|
-
margin-left: 1.5rem;
|
|
13
|
-
width: 1.75rem;
|
|
14
|
-
height: 1.75rem;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.ec-search-engine__toggle {
|
|
18
|
-
color: inherit;
|
|
19
|
-
display: inline-block;
|
|
20
|
-
text-decoration: none;
|
|
21
|
-
-webkit-transition: opacity .15s,color .2s;
|
|
22
|
-
transition:opacity .15s,color .2s;
|
|
23
|
-
padding: 0 .5rem;
|
|
24
|
-
opacity: .75;
|
|
25
|
-
line-height: 2.5;
|
|
26
|
-
border: none;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.ec-search-engine__toggle i,
|
|
30
|
-
.ec-search-engine__toggle svg {
|
|
31
|
-
font-size: .825rem;
|
|
32
|
-
color: var(--gray-dark);
|
|
33
|
-
margin-right: .15rem;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.ec-search-engine__toggle:focus,
|
|
37
|
-
.ec-search-engine__toggle:hover {
|
|
38
|
-
opacity: 1;
|
|
39
|
-
text-decoration: none;
|
|
40
|
-
color: inherit;
|
|
41
|
-
box-shadow: none;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.ec-search-engine__toggle[aria-expanded=true] {
|
|
45
|
-
color: var(--gray-dark);
|
|
46
|
-
opacity: 1;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.ec-search-engine__results {
|
|
50
|
-
-webkit-transition:opacity .25s;
|
|
51
|
-
transition:opacity .25s;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
.ec-search-engine__info {
|
|
55
|
-
margin-bottom: 1.5rem;
|
|
56
|
-
padding-top: 1rem;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.ec-search-engine__terms {
|
|
60
|
-
display: -webkit-box;
|
|
61
|
-
display: flex;
|
|
62
|
-
-webkit-box-pack: justify;
|
|
63
|
-
-ms-box-pack: justify;
|
|
64
|
-
-moz-box-pack: justify;
|
|
65
|
-
justify-content: space-between;
|
|
66
|
-
-webkit-box-align: center;
|
|
67
|
-
-moz-box-align: center;
|
|
68
|
-
-ms-box-align: center;
|
|
69
|
-
align-items: center;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
.ec-search-engine__terms small {
|
|
73
|
-
font-size: .95rem;
|
|
74
|
-
color: var(--gray);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
.ec-search-engine__retail {
|
|
78
|
-
padding-top: .5rem;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
.ec-search-engine__item {
|
|
82
|
-
margin-bottom: 1rem;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
.ec-search-engine__sidebar {
|
|
86
|
-
position: fixed;
|
|
87
|
-
width: 280px;
|
|
88
|
-
max-width: 100%;
|
|
89
|
-
height: 100%;
|
|
90
|
-
top: 0;
|
|
91
|
-
right: 0;
|
|
92
|
-
z-index: 1100;
|
|
93
|
-
border-radius: 0;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
.ec-search-engine__sidebar .card-body {
|
|
97
|
-
overflow-y: auto;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
.ec-search-engine__filter:not(:first-child) {
|
|
101
|
-
margin-top: 1rem;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
.ec-search-engine__filter:last-child {
|
|
105
|
-
margin-bottom: 1.5rem;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
.ec-search-engine__filter__btn {
|
|
109
|
-
padding-left: 0;
|
|
110
|
-
color: var(--secondary);
|
|
111
|
-
font-size: 1.2rem;
|
|
112
|
-
font-weight: 300;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
.ec-search-engine__filter__btn i,
|
|
116
|
-
.ec-search-engine__filter__btn svg {
|
|
117
|
-
margin-right: .25rem;
|
|
118
|
-
color: var(--gray);
|
|
119
|
-
opacity: .6;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
.ec-search-engine__filter__btn:focus {
|
|
123
|
-
box-shadow: none;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
.ec-search-engine__option small {
|
|
127
|
-
color: var(--gray);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
.ec-product-card {
|
|
131
|
-
position: relative;
|
|
132
|
-
padding-bottom: .1rem;
|
|
133
|
-
margin-bottom: 0;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
.ec-product-card--inactive,
|
|
137
|
-
.ec-product-card--inactive img {
|
|
138
|
-
opacity: .7;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
.ec-product-card__offer-stamp {
|
|
142
|
-
background-color: var(--success);
|
|
143
|
-
color: var(--success-yiq);
|
|
144
|
-
min-width: 40px;
|
|
145
|
-
font-size: .78rem;
|
|
146
|
-
line-height: 1.8;
|
|
147
|
-
text-align: center;
|
|
148
|
-
position: absolute;
|
|
149
|
-
z-index: 9;
|
|
150
|
-
top: .35rem;
|
|
151
|
-
right: .35rem;
|
|
152
|
-
border-radius: .125rem;
|
|
153
|
-
opacity: .9;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
.ec-product-card__link:hover h3 {
|
|
157
|
-
text-decoration: underline;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
.ec-product-card__name {
|
|
161
|
-
margin-top: .5rem;
|
|
162
|
-
font-size: .88rem;
|
|
163
|
-
line-height: 1.2;
|
|
164
|
-
height: 3.168rem;
|
|
165
|
-
overflow: hidden;
|
|
166
|
-
font-weight: 400;
|
|
167
|
-
display: block;
|
|
168
|
-
z-index: 1;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
.ec-product-card__pictures {
|
|
172
|
-
display: -webkit-box;
|
|
173
|
-
display: flex;
|
|
174
|
-
background-color: var(--body-bg);
|
|
175
|
-
-webkit-box-align: center;
|
|
176
|
-
-moz-box-align: center;
|
|
177
|
-
-ms-box-align: center;
|
|
178
|
-
align-items: center;
|
|
179
|
-
text-align: center;
|
|
180
|
-
overflow: hidden;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
@media (max-width:575.98px) {
|
|
184
|
-
.ec-product-card__pictures {
|
|
185
|
-
height: 180px;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
@media (min-width:576px) and (max-width:991.98px) {
|
|
190
|
-
.ec-product-card__pictures {
|
|
191
|
-
height: 200px;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
@media (min-width: 992px) {
|
|
196
|
-
.ec-product-card__pictures {
|
|
197
|
-
height: 250px;
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
.ec-product-card__picture {
|
|
202
|
-
display: block;
|
|
203
|
-
-webkit-box-flex: 0;
|
|
204
|
-
-ms-box-flex: 0;
|
|
205
|
-
-moz-box-flex: 0;
|
|
206
|
-
flex: 0 0 100%;
|
|
207
|
-
opacity: 0;
|
|
208
|
-
-webkit-transition:opacity .25s;
|
|
209
|
-
transition:opacity .25s;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
.ec-product-card__picture:first-child {
|
|
213
|
-
opacity: 1;
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
@media (max-width: 300px) {
|
|
217
|
-
.ec-product-card__picture {
|
|
218
|
-
max-width: 100px;
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
@media (max-width: 575.98px) {
|
|
223
|
-
.ec-product-card__picture img {
|
|
224
|
-
max-height: 180px;
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
@media (min-width: 576px) and (max-width: 991.98px) {
|
|
229
|
-
.ec-product-card__picture img {
|
|
230
|
-
max-height: 200px;
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
@media (min-width: 992px) {
|
|
235
|
-
.ec-product-card__picture img {
|
|
236
|
-
max-height:250px;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
.ec-product-card__prices {
|
|
241
|
-
margin-bottom: .15rem;
|
|
242
|
-
height: 4.95rem;
|
|
243
|
-
overflow: hidden;
|
|
244
|
-
white-space: nowrap;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
.ec-product-card__prices .ec-prices__value:first-child {
|
|
248
|
-
margin-top: 1.14rem;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
.ec-product-card:hover .ec-product-card__picture {
|
|
252
|
-
display: none;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
.ec-product-card:hover .ec-product-card__picture:last-child {
|
|
256
|
-
display: block;
|
|
257
|
-
opacity: 1;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
.ec-product-card:hover .ec-product-card__buy {
|
|
261
|
-
opacity: 1;
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
svg:not(:root).svg-inline--fa {
|
|
265
|
-
overflow: visible;
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
.svg-inline--fa {
|
|
269
|
-
display: inline-block;
|
|
270
|
-
font-size: inherit;
|
|
271
|
-
height: 1em;
|
|
272
|
-
overflow: visible;
|
|
273
|
-
vertical-align: -0.125em;
|
|
274
|
-
}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
.loading {
|
|
2
|
-
position: fixed;
|
|
3
|
-
z-index: 9999;
|
|
4
|
-
height: 2em;
|
|
5
|
-
width: 2em;
|
|
6
|
-
overflow: show;
|
|
7
|
-
margin: auto;
|
|
8
|
-
top: 0;
|
|
9
|
-
left: 0;
|
|
10
|
-
bottom: 0;
|
|
11
|
-
right: 0;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.loading:before {
|
|
15
|
-
content: '';
|
|
16
|
-
display: block;
|
|
17
|
-
position: fixed;
|
|
18
|
-
top: 0;
|
|
19
|
-
left: 0;
|
|
20
|
-
width: 100%;
|
|
21
|
-
height: 100%;
|
|
22
|
-
background: radial-gradient(rgba(20, 20, 20,.8), rgba(0, 0, 0, .8));
|
|
23
|
-
background: -webkit-radial-gradient(rgba(20, 20, 20,.8), rgba(0, 0, 0,.8));
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.loading:not(:required) {
|
|
27
|
-
font: 0/0 a;
|
|
28
|
-
color: transparent;
|
|
29
|
-
text-shadow: none;
|
|
30
|
-
background-color: transparent;
|
|
31
|
-
border: 0;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.loading:not(:required):after {
|
|
35
|
-
content: '';
|
|
36
|
-
display: block;
|
|
37
|
-
font-size: 10px;
|
|
38
|
-
width: 1em;
|
|
39
|
-
height: 1em;
|
|
40
|
-
margin-top: -0.5em;
|
|
41
|
-
-webkit-animation: spinner 150ms infinite linear;
|
|
42
|
-
-moz-animation: spinner 150ms infinite linear;
|
|
43
|
-
-ms-animation: spinner 150ms infinite linear;
|
|
44
|
-
-o-animation: spinner 150ms infinite linear;
|
|
45
|
-
animation: spinner 150ms infinite linear;
|
|
46
|
-
border-radius: 0.5em;
|
|
47
|
-
-webkit-box-shadow: rgba(255,255,255, 0.75) 1.5em 0 0 0, rgba(255,255,255, 0.75) 1.1em 1.1em 0 0, rgba(255,255,255, 0.75) 0 1.5em 0 0, rgba(255,255,255, 0.75) -1.1em 1.1em 0 0, rgba(255,255,255, 0.75) -1.5em 0 0 0, rgba(255,255,255, 0.75) -1.1em -1.1em 0 0, rgba(255,255,255, 0.75) 0 -1.5em 0 0, rgba(255,255,255, 0.75) 1.1em -1.1em 0 0;
|
|
48
|
-
box-shadow: rgba(255,255,255, 0.75) 1.5em 0 0 0, rgba(255,255,255, 0.75) 1.1em 1.1em 0 0, rgba(255,255,255, 0.75) 0 1.5em 0 0, rgba(255,255,255, 0.75) -1.1em 1.1em 0 0, rgba(255,255,255, 0.75) -1.5em 0 0 0, rgba(255,255,255, 0.75) -1.1em -1.1em 0 0, rgba(255,255,255, 0.75) 0 -1.5em 0 0, rgba(255,255,255, 0.75) 1.1em -1.1em 0 0;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
@-webkit-keyframes spinner {
|
|
52
|
-
0% {
|
|
53
|
-
-webkit-transform: rotate(0deg);
|
|
54
|
-
-moz-transform: rotate(0deg);
|
|
55
|
-
-ms-transform: rotate(0deg);
|
|
56
|
-
-o-transform: rotate(0deg);
|
|
57
|
-
transform: rotate(0deg);
|
|
58
|
-
}
|
|
59
|
-
100% {
|
|
60
|
-
-webkit-transform: rotate(360deg);
|
|
61
|
-
-moz-transform: rotate(360deg);
|
|
62
|
-
-ms-transform: rotate(360deg);
|
|
63
|
-
-o-transform: rotate(360deg);
|
|
64
|
-
transform: rotate(360deg);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
@-moz-keyframes spinner {
|
|
68
|
-
0% {
|
|
69
|
-
-webkit-transform: rotate(0deg);
|
|
70
|
-
-moz-transform: rotate(0deg);
|
|
71
|
-
-ms-transform: rotate(0deg);
|
|
72
|
-
-o-transform: rotate(0deg);
|
|
73
|
-
transform: rotate(0deg);
|
|
74
|
-
}
|
|
75
|
-
100% {
|
|
76
|
-
-webkit-transform: rotate(360deg);
|
|
77
|
-
-moz-transform: rotate(360deg);
|
|
78
|
-
-ms-transform: rotate(360deg);
|
|
79
|
-
-o-transform: rotate(360deg);
|
|
80
|
-
transform: rotate(360deg);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
@-o-keyframes spinner {
|
|
84
|
-
0% {
|
|
85
|
-
-webkit-transform: rotate(0deg);
|
|
86
|
-
-moz-transform: rotate(0deg);
|
|
87
|
-
-ms-transform: rotate(0deg);
|
|
88
|
-
-o-transform: rotate(0deg);
|
|
89
|
-
transform: rotate(0deg);
|
|
90
|
-
}
|
|
91
|
-
100% {
|
|
92
|
-
-webkit-transform: rotate(360deg);
|
|
93
|
-
-moz-transform: rotate(360deg);
|
|
94
|
-
-ms-transform: rotate(360deg);
|
|
95
|
-
-o-transform: rotate(360deg);
|
|
96
|
-
transform: rotate(360deg);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
@keyframes spinner {
|
|
100
|
-
0% {
|
|
101
|
-
-webkit-transform: rotate(0deg);
|
|
102
|
-
-moz-transform: rotate(0deg);
|
|
103
|
-
-ms-transform: rotate(0deg);
|
|
104
|
-
-o-transform: rotate(0deg);
|
|
105
|
-
transform: rotate(0deg);
|
|
106
|
-
}
|
|
107
|
-
100% {
|
|
108
|
-
-webkit-transform: rotate(360deg);
|
|
109
|
-
-moz-transform: rotate(360deg);
|
|
110
|
-
-ms-transform: rotate(360deg);
|
|
111
|
-
-o-transform: rotate(360deg);
|
|
112
|
-
transform: rotate(360deg);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
Binary file
|
package/packages/storefront/dist/client/assets/icons/bootstrap-icons/font/storefront-icons.woff2
DELETED
|
Binary file
|
package/packages/storefront/dist/client/assets/icons/feather-icons/font/storefront-icons.woff2
DELETED
|
Binary file
|
package/packages/storefront/dist/client/assets/icons/font-awesome/font/storefront-icons.woff2
DELETED
|
Binary file
|
package/packages/storefront/dist/client/assets/icons/line-awesome/font/storefront-icons.woff2
DELETED
|
Binary file
|
package/packages/storefront/dist/client/assets/icons/tabler-icons/font/storefront-icons.woff2
DELETED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|