From c951720a6e249b40f2fc2bbd996d62986bc394bf Mon Sep 17 00:00:00 2001 From: Nevo David Date: Fri, 16 May 2025 16:01:33 +0700 Subject: [PATCH] feat: chrome extension token in header --- apps/extension/manifest.json | 2 +- apps/extension/package.json | 4 ++-- apps/extension/src/pages/background/index.ts | 4 +--- .../content/elements/action.component.tsx | 21 +++++++++++++++---- apps/extension/src/utils/request.util.ts | 4 +--- apps/extension/vite.config.base.ts | 6 ++---- 6 files changed, 24 insertions(+), 17 deletions(-) diff --git a/apps/extension/manifest.json b/apps/extension/manifest.json index 132b2fbc..519fb342 100755 --- a/apps/extension/manifest.json +++ b/apps/extension/manifest.json @@ -14,7 +14,7 @@ "icons": { "128": "icon-128.png" }, - "permissions": ["activeTab"], + "permissions": ["activeTab", "cookies", "tabs"], "content_scripts": [ { "matches": ["http://*/*", "https://*/*", ""], diff --git a/apps/extension/package.json b/apps/extension/package.json index 6e335360..e417706a 100644 --- a/apps/extension/package.json +++ b/apps/extension/package.json @@ -1,12 +1,12 @@ { "name": "postiz-extension", - "version": "1.0.1", + "version": "1.0.2", "description": "A simple chrome & firefox extension template with Vite, React, TypeScript and Tailwind CSS.", "scripts": { "build": "rm -rf dist && vite build --config vite.config.chrome.ts && zip -r extension.zip dist", "build:chrome": "vite build --config vite.config.chrome.ts", "build:firefox": "vite build --config vite.config.firefox.ts", - "dev": "rm -rf dist && NODE_ENV=development dotenv -e ../../.env -- vite build --config vite.config.chrome.ts --mode development --watch", + "dev": "rm -rf dist && dotenv -e ../../.env -- vite build --config vite.config.chrome.ts --mode development --watch", "dev:chrome": "nodemon --config nodemon.chrome.json", "dev:firefox": "nodemon --config nodemon.firefox.json" }, diff --git a/apps/extension/src/pages/background/index.ts b/apps/extension/src/pages/background/index.ts index fc9c73fa..f545de5b 100644 --- a/apps/extension/src/pages/background/index.ts +++ b/apps/extension/src/pages/background/index.ts @@ -29,9 +29,7 @@ chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) { if (request.action === "loadCookie") { chrome.cookies.get( { - url: isDevelopment - ? "http://localhost:4200" - : "https://platform.postiz.com", + url: import.meta.env?.FRONTEND_URL || process?.env?.FRONTEND_URL, name: request.cookieName, }, function (cookies) { diff --git a/apps/extension/src/pages/content/elements/action.component.tsx b/apps/extension/src/pages/content/elements/action.component.tsx index 5e0523ab..aad68cc5 100644 --- a/apps/extension/src/pages/content/elements/action.component.tsx +++ b/apps/extension/src/pages/content/elements/action.component.tsx @@ -1,8 +1,12 @@ import { FC, memo, useCallback, useEffect, useState } from 'react'; import { ProviderInterface } from '@gitroom/extension/providers/provider.interface'; +import { fetchCookie } from '@gitroom/extension/utils/load.cookie'; -const Comp: FC<{ removeModal: () => void; platform: string, style: string }> = (props) => { - useEffect(() => { +const Comp: FC<{ removeModal: () => void; platform: string; style: string }> = ( + props +) => { + const load = async () => { + const cookie = await fetchCookie(`auth`); if (document.querySelector('iframe#modal-postiz')) { return; } @@ -23,7 +27,9 @@ const Comp: FC<{ removeModal: () => void; platform: string, style: string }> = ( iframe.style.backgroundColor = 'transparent'; // @ts-ignore iframe.allowTransparency = 'true'; - iframe.src = (import.meta.env?.FRONTEND_URL || process?.env?.FRONTEND_URL) + `/modal/${props.style}/${props.platform}`; + iframe.src = + (import.meta.env?.FRONTEND_URL || process?.env?.FRONTEND_URL) + + `/modal/${props.style}/${props.platform}?loggedAuth=${cookie}`; iframe.id = 'modal-postiz'; iframe.style.width = '100%'; iframe.style.height = '100%'; @@ -43,6 +49,9 @@ const Comp: FC<{ removeModal: () => void; platform: string, style: string }> = ( } } }); + }; + useEffect(() => { + load(); }, []); return <>; }; @@ -92,7 +101,11 @@ export const ActionComponent: FC<{
{modal && ( - showModal(false)} /> + showModal(false)} + /> )}
); diff --git a/apps/extension/src/utils/request.util.ts b/apps/extension/src/utils/request.util.ts index 0379965c..b3b11c8c 100644 --- a/apps/extension/src/utils/request.util.ts +++ b/apps/extension/src/utils/request.util.ts @@ -17,9 +17,7 @@ export const sendRequest = ( export const fetchRequestUtil = async (request: any) => { return ( await fetch( - (isDev - ? "http://localhost:4200/v1/api" - : "https://platform.postiz.com/v1/api") + request.url, + (import.meta.env?.FRONTEND_URL || process?.env?.FRONTEND_URL) + request.url, { method: request.method || "GET", headers: { diff --git a/apps/extension/vite.config.base.ts b/apps/extension/vite.config.base.ts index 4ed39db2..f57633e3 100644 --- a/apps/extension/vite.config.base.ts +++ b/apps/extension/vite.config.base.ts @@ -21,7 +21,7 @@ export const baseManifest = { ...manifest, host_permissions: [ ...ProviderList.map((p) => p.baseUrl + "/"), - isDev ? "http://localhost:4200/" : "https://platform.postiz.com/", + import.meta.env?.FRONTEND_URL || process?.env?.FRONTEND_URL + '/*', ], permissions: [...(manifest.permissions || [])], content_scripts: [ @@ -29,9 +29,7 @@ export const baseManifest = { matches: ProviderList.reduce( (all, p) => [...all, p.baseUrl + "/*"], [ - isDev - ? "http://localhost:4200/*" - : "https://platform.postiz.com/*", + import.meta.env?.FRONTEND_URL || process?.env?.FRONTEND_URL + '/*', ], ), ...rest,