policy pagfe
This commit is contained in:
parent
8d463b0fc9
commit
57d6bf1b4e
|
|
@ -1 +1 @@
|
|||
import{R as c,j as s,Q as u,q as l,P as d}from"./popup-BMz864nQ.js";import"./base64-BbJB1hmJ.js";import"./product-api.service-PLptzR9s.js";import"./app-C7VSS-q9.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const e of document.querySelectorAll('link[rel="modulepreload"]'))i(e);new MutationObserver(e=>{for(const r of e)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function n(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),e.crossOrigin==="use-credentials"?r.credentials="include":e.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function i(e){if(e.ep)return;e.ep=!0;const r=n(e);fetch(e.href,r)}})();c.createRoot(document.getElementById("root")).render(s.jsx(u,{client:l,children:s.jsx(d,{})}));
|
||||
import{R as c,j as s,Q as u,q as l,P as d}from"./popup-D--aKLqS.js";import"./base64-BbJB1hmJ.js";import"./product-api.service-DR0CE0o9.js";import"./app-C7VSS-q9.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const e of document.querySelectorAll('link[rel="modulepreload"]'))i(e);new MutationObserver(e=>{for(const r of e)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function n(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),e.crossOrigin==="use-credentials"?r.credentials="include":e.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function i(e){if(e.ep)return;e.ep=!0;const r=n(e);fetch(e.href,r)}})();c.createRoot(document.getElementById("root")).render(s.jsx(u,{client:l,children:s.jsx(d,{})}));
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -7,9 +7,9 @@
|
|||
<title>Vite + React + TS</title>
|
||||
<script type="module" crossorigin src="/assets/popup.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/assets/base64-BbJB1hmJ.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/product-api.service-PLptzR9s.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/product-api.service-DR0CE0o9.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/app-C7VSS-q9.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/popup-BMz864nQ.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/popup-D--aKLqS.js">
|
||||
<link rel="stylesheet" crossorigin href="/assets/style.css">
|
||||
</head>
|
||||
<body>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,12 @@
|
|||
"name": "Auto post facebook extensions",
|
||||
"version": "1.0",
|
||||
"action": {
|
||||
"default_popup": "index.html"
|
||||
"default_popup": "index.html",
|
||||
"default_icon": {
|
||||
"16": "icons/16.png",
|
||||
"32": "icons/32.png",
|
||||
"128": "icons/128.png"
|
||||
}
|
||||
},
|
||||
"background": {
|
||||
"service_worker": "background/background.js",
|
||||
|
|
@ -23,5 +28,10 @@
|
|||
"matches": ["https://www.facebook.com/*"]
|
||||
}
|
||||
],
|
||||
"permissions": ["storage", "tabs", "activeTab", "scripting"]
|
||||
"permissions": ["storage", "tabs", "activeTab", "scripting"],
|
||||
"icons": {
|
||||
"16": "icons/16.png",
|
||||
"32": "icons/32.png",
|
||||
"128": "icons/128.png"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,14 @@
|
|||
{
|
||||
"manifest_version": 3,
|
||||
"name": "Auto post facebook extensions",
|
||||
"version": "1.0",
|
||||
"version": "1.2",
|
||||
"action": {
|
||||
"default_popup": "index.html"
|
||||
"default_popup": "index.html",
|
||||
"default_icon": {
|
||||
"16": "icons/16.png",
|
||||
"32": "icons/32.png",
|
||||
"128": "icons/128.png"
|
||||
}
|
||||
},
|
||||
"background": {
|
||||
"service_worker": "background/background.js",
|
||||
|
|
@ -23,5 +28,10 @@
|
|||
"matches": ["https://www.facebook.com/*"]
|
||||
}
|
||||
],
|
||||
"permissions": ["storage", "tabs", "activeTab", "scripting"]
|
||||
"permissions": ["tabs", "activeTab", "scripting"],
|
||||
"icons": {
|
||||
"16": "icons/16.png",
|
||||
"32": "icons/32.png",
|
||||
"128": "icons/128.png"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
import{R as c,j as s,Q as u,q as l,P as d}from"./popup-BMz864nQ.js";import"./base64-BbJB1hmJ.js";import"./product-api.service-PLptzR9s.js";import"./app-C7VSS-q9.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const e of document.querySelectorAll('link[rel="modulepreload"]'))i(e);new MutationObserver(e=>{for(const r of e)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function n(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),e.crossOrigin==="use-credentials"?r.credentials="include":e.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function i(e){if(e.ep)return;e.ep=!0;const r=n(e);fetch(e.href,r)}})();c.createRoot(document.getElementById("root")).render(s.jsx(u,{client:l,children:s.jsx(d,{})}));
|
||||
import{R as c,j as s,Q as u,q as l,P as d}from"./popup-D--aKLqS.js";import"./base64-BbJB1hmJ.js";import"./product-api.service-DR0CE0o9.js";import"./app-C7VSS-q9.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const e of document.querySelectorAll('link[rel="modulepreload"]'))i(e);new MutationObserver(e=>{for(const r of e)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function n(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),e.crossOrigin==="use-credentials"?r.credentials="include":e.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function i(e){if(e.ep)return;e.ep=!0;const r=n(e);fetch(e.href,r)}})();c.createRoot(document.getElementById("root")).render(s.jsx(u,{client:l,children:s.jsx(d,{})}));
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -7,9 +7,9 @@
|
|||
<title>Vite + React + TS</title>
|
||||
<script type="module" crossorigin src="/assets/popup.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/assets/base64-BbJB1hmJ.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/product-api.service-PLptzR9s.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/product-api.service-DR0CE0o9.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/app-C7VSS-q9.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/popup-BMz864nQ.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/popup-D--aKLqS.js">
|
||||
<link rel="stylesheet" crossorigin href="/assets/style.css">
|
||||
</head>
|
||||
<body>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,12 @@
|
|||
"name": "Auto post facebook extensions",
|
||||
"version": "1.0",
|
||||
"action": {
|
||||
"default_popup": "index.html"
|
||||
"default_popup": "index.html",
|
||||
"default_icon": {
|
||||
"16": "icons/16.png",
|
||||
"32": "icons/32.png",
|
||||
"128": "icons/128.png"
|
||||
}
|
||||
},
|
||||
"background": {
|
||||
"service_worker": "background/background.js",
|
||||
|
|
@ -23,5 +28,10 @@
|
|||
"matches": ["https://www.facebook.com/*"]
|
||||
}
|
||||
],
|
||||
"permissions": ["storage", "tabs", "activeTab", "scripting"]
|
||||
"permissions": ["storage", "tabs", "activeTab", "scripting"],
|
||||
"icons": {
|
||||
"16": "icons/16.png",
|
||||
"32": "icons/32.png",
|
||||
"128": "icons/128.png"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -0,0 +1 @@
|
|||
function a(e,r=[]){return Object.entries(e).reduce((t,[n,o])=>((o||r.includes(n))&&(t[n]=o),t),{})}function u(e){return new Promise(r=>setTimeout(r,e))}function s(e,r){const t=Math.floor(Math.random()*(r-e+1))+e;return u(t)}export{u as a,s as d,a as r};
|
||||
|
|
@ -0,0 +1 @@
|
|||
function a(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}async function l(e){return fetch(e).then(o=>o.blob()).then(o=>new Promise((n,r)=>{const t=new FileReader;t.onloadend=()=>{typeof t.result=="string"?n(t.result):r("Failed to convert blob to base64")},t.onerror=r,t.readAsDataURL(o)}))}export{a as g,l as u};
|
||||
|
|
@ -0,0 +1 @@
|
|||
class s{static ID_EXTENSION="ex-root"}export{s as C};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
import{R as c,j as s,Q as u,q as l,P as d}from"./popup-D--aKLqS.js";import"./base64-BbJB1hmJ.js";import"./product-api.service-DR0CE0o9.js";import"./app-C7VSS-q9.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const e of document.querySelectorAll('link[rel="modulepreload"]'))i(e);new MutationObserver(e=>{for(const r of e)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function n(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),e.crossOrigin==="use-credentials"?r.credentials="include":e.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function i(e){if(e.ep)return;e.ep=!0;const r=n(e);fetch(e.href,r)}})();c.createRoot(document.getElementById("root")).render(s.jsx(u,{client:l,children:s.jsx(d,{})}));
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
import{R as r,j as t,Q as i,q as o,P as n}from"../assets/popup-D--aKLqS.js";import{C as s}from"../assets/contants-Cf0CQNSY.js";import"../assets/base64-BbJB1hmJ.js";import"../assets/product-api.service-DR0CE0o9.js";import"../assets/app-C7VSS-q9.js";const e=document.getElementById(s.ID_EXTENSION);e&&r.createRoot(e).render(t.jsx(t.Fragment,{children:t.jsx(i,{client:o,children:t.jsx("div",{className:"fixed bottom-20 right-6",children:t.jsx(n,{})})})}));
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 35 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 566 B |
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
|
|
@ -0,0 +1,18 @@
|
|||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Vite + React + TS</title>
|
||||
<script type="module" crossorigin src="/assets/popup.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/assets/base64-BbJB1hmJ.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/product-api.service-DR0CE0o9.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/app-C7VSS-q9.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/popup-D--aKLqS.js">
|
||||
<link rel="stylesheet" crossorigin href="/assets/style.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"manifest_version": 3,
|
||||
"name": "Auto post facebook extensions",
|
||||
"version": "1.2",
|
||||
"action": {
|
||||
"default_popup": "index.html",
|
||||
"default_icon": {
|
||||
"16": "icons/16.png",
|
||||
"32": "icons/32.png",
|
||||
"128": "icons/128.png"
|
||||
}
|
||||
},
|
||||
"background": {
|
||||
"service_worker": "background/background.js",
|
||||
"type": "module"
|
||||
},
|
||||
"host_permissions": ["https://www.facebook.com/*"],
|
||||
"content_scripts": [
|
||||
{
|
||||
"matches": ["https://www.facebook.com/*"],
|
||||
"js": ["content/content.js"],
|
||||
"type": "module"
|
||||
}
|
||||
],
|
||||
"web_accessible_resources": [
|
||||
{
|
||||
"resources": ["content/inject-ui.js", "assets/*"],
|
||||
"matches": ["https://www.facebook.com/*"]
|
||||
}
|
||||
],
|
||||
"permissions": ["tabs", "activeTab", "scripting"],
|
||||
"icons": {
|
||||
"16": "icons/16.png",
|
||||
"32": "icons/32.png",
|
||||
"128": "icons/128.png"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
|
|
@ -177,6 +177,11 @@ app.post("/", async (req, res) => {
|
|||
}
|
||||
});
|
||||
|
||||
// Route trả về privacy policy
|
||||
app.get("/policy", (req, res) => {
|
||||
res.sendFile(path.join(process.cwd(), "views", "policy.html"));
|
||||
});
|
||||
|
||||
app.listen(3000, () => {
|
||||
console.log("Server chạy tại http://localhost:3000");
|
||||
});
|
||||
|
|
|
|||
|
|
@ -0,0 +1,250 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Privacy Policy — Bid Extension</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Privacy Policy for the Bid Extension Chrome extension."
|
||||
/>
|
||||
<style>
|
||||
:root {
|
||||
--bg: #0b1020;
|
||||
--bg-soft: #0f152b;
|
||||
--card: #111832;
|
||||
--text: #e9eefb;
|
||||
--muted: #a9b1c7;
|
||||
--brand: #6aa6ff;
|
||||
--ring: rgba(106, 166, 255, 0.4);
|
||||
--border: rgba(255, 255, 255, 0.1);
|
||||
--shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
|
||||
--radius-xl: 22px;
|
||||
--radius-lg: 14px;
|
||||
}
|
||||
@media (prefers-color-scheme: light) {
|
||||
:root {
|
||||
--bg: #f6f8ff;
|
||||
--bg-soft: #eef2ff;
|
||||
--card: #ffffff;
|
||||
--text: #0b1020;
|
||||
--muted: #5b637a;
|
||||
--brand: #3b82f6;
|
||||
--ring: rgba(59, 130, 246, 0.25);
|
||||
--border: rgba(12, 18, 38, 0.08);
|
||||
--shadow: 0 10px 30px rgba(20, 30, 60, 0.08);
|
||||
}
|
||||
}
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
}
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto,
|
||||
Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
|
||||
color: var(--text);
|
||||
background: radial-gradient(
|
||||
1200px 800px at 80% -10%,
|
||||
rgba(106, 166, 255, 0.18),
|
||||
transparent 60%
|
||||
),
|
||||
radial-gradient(
|
||||
900px 600px at -10% 20%,
|
||||
rgba(90, 219, 216, 0.16),
|
||||
transparent 60%
|
||||
),
|
||||
var(--bg);
|
||||
line-height: 1.65;
|
||||
letter-spacing: 0.2px;
|
||||
}
|
||||
.wrap {
|
||||
max-width: 920px;
|
||||
margin: 56px auto;
|
||||
padding: 0 20px 56px;
|
||||
}
|
||||
.header {
|
||||
position: relative;
|
||||
border: 1px solid var(--border);
|
||||
background: linear-gradient(180deg, var(--bg-soft), var(--card));
|
||||
border-radius: var(--radius-xl);
|
||||
padding: 32px 28px 28px 28px;
|
||||
box-shadow: var(--shadow);
|
||||
overflow: hidden;
|
||||
}
|
||||
.header::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
inset: -1px;
|
||||
border-radius: inherit;
|
||||
pointer-events: none;
|
||||
box-shadow: 0 0 0 1px var(--ring) inset;
|
||||
opacity: 0.5;
|
||||
}
|
||||
.badge {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 8px 12px;
|
||||
background: rgba(106, 166, 255, 0.12);
|
||||
color: var(--text);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 999px;
|
||||
font-size: 12px;
|
||||
letter-spacing: 0.3px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.title {
|
||||
margin: 14px 0 8px;
|
||||
font-size: 34px;
|
||||
line-height: 1.2;
|
||||
letter-spacing: 0.2px;
|
||||
}
|
||||
.subtitle {
|
||||
margin: 0 0 10px;
|
||||
color: var(--muted);
|
||||
font-size: 16px;
|
||||
}
|
||||
.meta {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
align-items: center;
|
||||
color: var(--muted);
|
||||
font-size: 14px;
|
||||
}
|
||||
.meta strong {
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
.card {
|
||||
margin-top: 22px;
|
||||
border: 1px solid var(--border);
|
||||
background: var(--card);
|
||||
border-radius: var(--radius-lg);
|
||||
padding: 22px 22px;
|
||||
box-shadow: var(--shadow);
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 20px;
|
||||
margin: 0 0 10px;
|
||||
}
|
||||
p {
|
||||
margin: 0 0 14px;
|
||||
}
|
||||
ul {
|
||||
margin: 0 0 14px 18px;
|
||||
}
|
||||
|
||||
.footer {
|
||||
margin-top: 26px;
|
||||
color: var(--muted);
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.row {
|
||||
display: grid;
|
||||
gap: 16px;
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
@media (min-width: 720px) {
|
||||
.row {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
.kbd {
|
||||
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
|
||||
"Liberation Mono", "Courier New", monospace;
|
||||
background: rgba(255, 255, 255, 0.06);
|
||||
border: 1px solid var(--border);
|
||||
border-bottom-width: 2px;
|
||||
padding: 2px 6px;
|
||||
border-radius: 8px;
|
||||
font-size: 12px;
|
||||
}
|
||||
a {
|
||||
color: var(--brand);
|
||||
text-underline-offset: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<main class="wrap" aria-labelledby="doc-title">
|
||||
<header class="header">
|
||||
<span class="badge" aria-label="Document type">
|
||||
<!-- lock icon -->
|
||||
<svg
|
||||
width="14"
|
||||
height="14"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
aria-hidden="true"
|
||||
>
|
||||
<path
|
||||
d="M17 11V8a5 5 0 1 0-10 0v3"
|
||||
stroke="currentColor"
|
||||
stroke-width="1.5"
|
||||
stroke-linecap="round"
|
||||
/>
|
||||
</svg>
|
||||
Privacy Policy
|
||||
</span>
|
||||
<h1 id="doc-title" class="title">Bid Extension — Privacy Policy</h1>
|
||||
<p class="subtitle">
|
||||
How the Bid Extension Chrome extension handles your data.
|
||||
</p>
|
||||
<div class="meta" role="contentinfo">
|
||||
<div>
|
||||
<strong>Effective Date:</strong>
|
||||
<time datetime="2025-08-25">August 25, 2025</time>
|
||||
</div>
|
||||
<div>•</div>
|
||||
<div><span class="kbd">Version 1.2</span></div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<section class="card" aria-labelledby="info-collection">
|
||||
<h2 id="info-collection">1. Information Collection</h2>
|
||||
<p>
|
||||
The Bid Extension does not collect or transmit any personal or
|
||||
sensitive user data.
|
||||
</p>
|
||||
<p>
|
||||
The extension uses the <span class="kbd">storage</span> permission
|
||||
solely to save settings and preferences
|
||||
<strong>locally in your browser</strong>. This data does not leave
|
||||
your device.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section class="card" aria-labelledby="third-parties">
|
||||
<h2 id="third-parties">2. No Third‑party Sharing</h2>
|
||||
<p>
|
||||
We do not share any user data with third parties. We do not use
|
||||
analytics, advertising, or tracking technologies.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section class="card" aria-labelledby="changes">
|
||||
<h2 id="changes">3. Changes to this Policy</h2>
|
||||
<p>
|
||||
If we update this privacy policy, we will revise this page and update
|
||||
the effective date above.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section class="card" aria-labelledby="contact">
|
||||
<h2 id="contact">4. Contact</h2>
|
||||
<p>
|
||||
If you have questions about this policy, contact us at
|
||||
<a href="mailto:support@example.com">apactech65@gmail.com</a>.
|
||||
</p>
|
||||
</section>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -230,14 +230,13 @@ window.addEventListener("message", async (event) => {
|
|||
});
|
||||
|
||||
(async () => {
|
||||
// Call to inject modal
|
||||
|
||||
await delayRD(800, 1000);
|
||||
|
||||
// Sử dụng
|
||||
thiefService
|
||||
.waitForElement('[aria-label="Collection of your Marketplace items"]')
|
||||
.then(async (el) => {
|
||||
if (window.location.href.includes(facebookService.sellingPath)) {
|
||||
try {
|
||||
const el = await thiefService.waitForElement(
|
||||
'[aria-label="Collection of your Marketplace items"]'
|
||||
);
|
||||
console.log("Element đã xuất hiện:", el);
|
||||
|
||||
await facebookService.waitForPageReady(
|
||||
|
|
@ -246,15 +245,17 @@ window.addEventListener("message", async (event) => {
|
|||
);
|
||||
|
||||
await delayRD(800, 1000);
|
||||
const products = await facebookService.getProducts();
|
||||
|
||||
const products = await facebookService.getProducts();
|
||||
console.log({ products });
|
||||
|
||||
productApi.sync(products);
|
||||
|
||||
injectApp();
|
||||
})
|
||||
.catch((err) => {
|
||||
await productApi.sync(products);
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
});
|
||||
} finally {
|
||||
injectApp();
|
||||
}
|
||||
} else {
|
||||
injectApp();
|
||||
}
|
||||
})();
|
||||
|
|
|
|||
Loading…
Reference in New Issue