Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion packages/extension/public/_locales/de/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -899,6 +899,12 @@
"Option_openMode_window_desc": {
"message": "In neuem Fenster öffnen."
},
"Option_openMode_fullscreen": {
"message": "Vollbild"
},
"Option_openMode_fullscreen_desc": {
"message": "Im Vollbildmodus öffnen."
},
"Option_openMode_tab_desc": {
"message": "Tab anzeigen und aktivieren.<wbr>Rechts vom aktuellen Tab anzeigen."
},
Expand Down Expand Up @@ -1097,4 +1103,4 @@
"prompthistory_banner_description": {
"message": "Ein neues Tool zum Wiederverwenden von Prompts für ChatGPT und mehr✨"
}
}
}
6 changes: 6 additions & 0 deletions packages/extension/public/_locales/en/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -947,6 +947,12 @@
"Option_openMode_window_desc": {
"message": "Open in new window."
},
"Option_openMode_fullscreen": {
"message": "Fullscreen"
},
"Option_openMode_fullscreen_desc": {
"message": "Open in fullscreen mode."
},
"Option_openMode_tab_desc": {
"message": "Display tab and make it active.<wbr>Show to the right of current tab."
},
Expand Down
8 changes: 7 additions & 1 deletion packages/extension/public/_locales/es/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -899,6 +899,12 @@
"Option_openMode_window_desc": {
"message": "Abrir en nueva ventana."
},
"Option_openMode_fullscreen": {
"message": "Pantalla completa"
},
"Option_openMode_fullscreen_desc": {
"message": "Abrir en modo de pantalla completa."
},
"Option_openMode_tab_desc": {
"message": "Mostrar pestaña y activarla.<wbr>Mostrar a la derecha de la pestaña actual."
},
Expand Down Expand Up @@ -1097,4 +1103,4 @@
"prompthistory_banner_description": {
"message": "Una nueva herramienta para reutilizar prompts en ChatGPT y más✨"
}
}
}
8 changes: 7 additions & 1 deletion packages/extension/public/_locales/fr/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -899,6 +899,12 @@
"Option_openMode_window_desc": {
"message": "Ouvrir dans une nouvelle fenêtre."
},
"Option_openMode_fullscreen": {
"message": "Plein écran"
},
"Option_openMode_fullscreen_desc": {
"message": "Ouvrir en mode plein écran."
},
"Option_openMode_tab_desc": {
"message": "Afficher l'onglet et l'activer.<wbr>Afficher à droite de l'onglet actuel."
},
Expand Down Expand Up @@ -1097,4 +1103,4 @@
"prompthistory_banner_description": {
"message": "Un nouvel outil pour réutiliser les prompts pour ChatGPT et plus✨"
}
}
}
8 changes: 7 additions & 1 deletion packages/extension/public/_locales/hi/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -899,6 +899,12 @@
"Option_openMode_window_desc": {
"message": "नई विंडो में खोलें।"
},
"Option_openMode_fullscreen": {
"message": "पूर्ण स्क्रीन"
},
"Option_openMode_fullscreen_desc": {
"message": "पूर्ण स्क्रीन मोड में खोलें।"
},
"Option_openMode_tab_desc": {
"message": "टैब दिखाएँ और सक्रिय करें।<wbr>वर्तमान टैब के दाईं ओर दिखाएँ।"
},
Expand Down Expand Up @@ -1097,4 +1103,4 @@
"prompthistory_banner_description": {
"message": "ChatGPT और अधिक के लिए प्रॉम्प्ट का पुन: उपयोग करने के लिए एक नया उपकरण।✨"
}
}
}
8 changes: 7 additions & 1 deletion packages/extension/public/_locales/id/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -902,6 +902,12 @@
"Option_openMode_window_desc": {
"message": "Buka di jendela baru."
},
"Option_openMode_fullscreen": {
"message": "Layar penuh"
},
"Option_openMode_fullscreen_desc": {
"message": "Buka dalam mode layar penuh."
},
"Option_openMode_tab_desc": {
"message": "Tampilkan tab dan aktifkan.<wbr>Tampilkan di sebelah kanan tab saat ini."
},
Expand Down Expand Up @@ -1100,4 +1106,4 @@
"prompthistory_banner_description": {
"message": "Alat baru untuk menggunakan kembali prompt untuk ChatGPT dan lainnya✨"
}
}
}
8 changes: 7 additions & 1 deletion packages/extension/public/_locales/it/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -899,6 +899,12 @@
"Option_openMode_window_desc": {
"message": "Apri in nuova finestra."
},
"Option_openMode_fullscreen": {
"message": "Schermo intero"
},
"Option_openMode_fullscreen_desc": {
"message": "Apri in modalità schermo intero."
},
"Option_openMode_tab_desc": {
"message": "Mostra scheda e attivala.<wbr>Mostra a destra della scheda corrente."
},
Expand Down Expand Up @@ -1130,4 +1136,4 @@
"prompthistory_banner_description": {
"message": "Un nuovo strumento per riutilizzare i prompt per ChatGPT e altro✨"
}
}
}
6 changes: 6 additions & 0 deletions packages/extension/public/_locales/ja/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,12 @@
"Option_openMode_window_desc": {
"message": "新しいウィンドウを開く。"
},
"Option_openMode_fullscreen": {
"message": "フルスクリーン"
},
"Option_openMode_fullscreen_desc": {
"message": "フルスクリーンで開く。"
},
"Option_openMode_tab_desc": {
"message": "タブを表示してアクティブにする。<wbr>表示中タブの右側に表示する。"
},
Expand Down
8 changes: 7 additions & 1 deletion packages/extension/public/_locales/ko/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -899,6 +899,12 @@
"Option_openMode_window_desc": {
"message": "새 창에서 열기."
},
"Option_openMode_fullscreen": {
"message": "전체 화면"
},
"Option_openMode_fullscreen_desc": {
"message": "전체 화면 모드로 열기."
},
"Option_openMode_tab_desc": {
"message": "탭을 표시하고 활성화.<wbr>현재 탭 오른쪽에 표시합니다."
},
Expand Down Expand Up @@ -1130,4 +1136,4 @@
"prompthistory_banner_description": {
"message": "ChatGPT 등에서 프롬프트를 재사용할 수 있는 새로운 도구✨"
}
}
}
8 changes: 7 additions & 1 deletion packages/extension/public/_locales/ms/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -902,6 +902,12 @@
"Option_openMode_window_desc": {
"message": "Buka dalam tetingkap baru."
},
"Option_openMode_fullscreen": {
"message": "Skrin penuh"
},
"Option_openMode_fullscreen_desc": {
"message": "Buka dalam mod skrin penuh."
},
"Option_openMode_tab_desc": {
"message": "Papar tab dan aktifkan.<wbr>Papar di sebelah kanan tab semasa."
},
Expand Down Expand Up @@ -1133,4 +1139,4 @@
"prompthistory_banner_description": {
"message": "Alat baharu untuk menggunakan semula gesaan untuk ChatGPT dan lain-lain✨"
}
}
}
8 changes: 7 additions & 1 deletion packages/extension/public/_locales/pt_BR/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -902,6 +902,12 @@
"Option_openMode_window_desc": {
"message": "Abrir em nova janela."
},
"Option_openMode_fullscreen": {
"message": "Tela cheia"
},
"Option_openMode_fullscreen_desc": {
"message": "Abrir em modo de tela cheia."
},
"Option_openMode_tab_desc": {
"message": "Exibir aba e ativá-la.<wbr>Exibir à direita da aba atual."
},
Expand Down Expand Up @@ -1133,4 +1139,4 @@
"prompthistory_banner_description": {
"message": "Uma nova ferramenta para reutilizar prompts no ChatGPT e mais✨"
}
}
}
8 changes: 7 additions & 1 deletion packages/extension/public/_locales/pt_PT/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -902,6 +902,12 @@
"Option_openMode_window_desc": {
"message": "Abrir em nova janela."
},
"Option_openMode_fullscreen": {
"message": "Ecrã inteiro"
},
"Option_openMode_fullscreen_desc": {
"message": "Abrir em modo de ecrã inteiro."
},
"Option_openMode_tab_desc": {
"message": "Exibir separador e activá-lo.<wbr>Exibir à direita do separador actual."
},
Expand Down Expand Up @@ -1133,4 +1139,4 @@
"prompthistory_banner_description": {
"message": "Uma nova ferramenta para reutilizar prompts no ChatGPT e mais✨"
}
}
}
8 changes: 7 additions & 1 deletion packages/extension/public/_locales/ru/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -899,6 +899,12 @@
"Option_openMode_window_desc": {
"message": "Открыть в новом окне."
},
"Option_openMode_fullscreen": {
"message": "Полноэкранный"
},
"Option_openMode_fullscreen_desc": {
"message": "Открыть в полноэкранном режиме."
},
"Option_openMode_tab_desc": {
"message": "Показать вкладку и активировать.<wbr>Показать справа от текущей вкладки."
},
Expand Down Expand Up @@ -1130,4 +1136,4 @@
"prompthistory_banner_description": {
"message": "Новый инструмент для повторного использования подсказок для ChatGPT и других✨"
}
}
}
8 changes: 7 additions & 1 deletion packages/extension/public/_locales/zh_CN/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -899,6 +899,12 @@
"Option_openMode_window_desc": {
"message": "在新窗口中打开。"
},
"Option_openMode_fullscreen": {
"message": "全屏"
},
"Option_openMode_fullscreen_desc": {
"message": "以全屏模式打开。"
},
"Option_openMode_tab_desc": {
"message": "显示标签页并激活。<wbr>显示在当前标签页的右侧。"
},
Expand Down Expand Up @@ -1130,4 +1136,4 @@
"prompthistory_banner_description": {
"message": "用于在 ChatGPT 等中重用提示的新工具✨"
}
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ const getIconForMode = (mode: string) => {
if (mode === OPEN_MODE.WINDOW || mode === PAGE_ACTION_OPEN_MODE.WINDOW) {
return "/setting/open_mode/window.png"
}
if (mode === PAGE_ACTION_OPEN_MODE.FULLSCREEN) {
return "/setting/open_mode/fullscreen.png"
}
return "/setting/open_mode/popup.png"
}

Expand All @@ -46,6 +49,7 @@ const SEARCH_MODES = [
const PAGE_ACTION_MODES = [
PAGE_ACTION_OPEN_MODE.POPUP,
PAGE_ACTION_OPEN_MODE.WINDOW,
PAGE_ACTION_OPEN_MODE.FULLSCREEN,
PAGE_ACTION_OPEN_MODE.TAB,
PAGE_ACTION_OPEN_MODE.BACKGROUND_TAB,
] as const
Expand All @@ -66,6 +70,7 @@ export const OpenModeToggleField = ({
type,
}: OpenModeToggleFieldProps) => {
const modes = type === "search" ? SEARCH_MODES : PAGE_ACTION_MODES
const gridCols = modes.length === 4 ? "grid-cols-4" : "grid-cols-5"

return (
<FormField
Expand All @@ -86,7 +91,7 @@ export const OpenModeToggleField = ({
onValueChange={(val) => {
if (val) field.onChange(val)
}}
className="grid grid-cols-4 gap-2 py-1"
className={`grid ${gridCols} gap-2 py-1`}
>
{modes.map((mode) => {
const iconSrc = getIconForMode(mode)
Expand Down
18 changes: 12 additions & 6 deletions packages/extension/src/services/chrome.ts
Original file line number Diff line number Diff line change
Expand Up @@ -355,16 +355,22 @@ const readClipboardContent = async (
const openWindowAndReadClipboard = async (
param: ReadClipboardParam,
): Promise<ReadClipboardResult> => {
const w = await chrome.windows.create({
const createParams: chrome.windows.CreateData = {
url: chrome.runtime.getURL("src/clipboard.html"),
focused: true,
type: param.type,
width: param.width,
height: param.height,
left: param.left,
top: param.top,
incognito: param.incognito,
})
}

// Only set dimensions for non-fullscreen windows; fullscreen state is applied after creation
if (param.type === POPUP_TYPE.NORMAL) {
createParams.width = param.width
createParams.height = param.height
createParams.left = param.left
createParams.top = param.top
}

const w = await chrome.windows.create(createParams)

const result = await readClipboardContent(w.tabs?.[0].id as number)

Expand Down
34 changes: 32 additions & 2 deletions packages/extension/src/services/pageAction/background.ts
Original file line number Diff line number Diff line change
Expand Up @@ -340,16 +340,25 @@ export const openAndRun = (
tabId = ret.tabId
clipboardText = ret.clipboardText
} else {
// Popup and Window modes
// Popup, Window, and Fullscreen modes
const ret = await openPopupWindow({
...param,
type:
param.openMode === PAGE_ACTION_OPEN_MODE.WINDOW
param.openMode === PAGE_ACTION_OPEN_MODE.WINDOW ||
param.openMode === PAGE_ACTION_OPEN_MODE.FULLSCREEN
? POPUP_TYPE.NORMAL
: POPUP_TYPE.POPUP,
})
tabId = ret.tabId
clipboardText = ret.clipboardText

// Set window to fullscreen if requested
if (param.openMode === PAGE_ACTION_OPEN_MODE.FULLSCREEN && ret.tabId) {
const tab = await chrome.tabs.get(ret.tabId)
if (tab.windowId) {
await chrome.windows.update(tab.windowId, { state: "fullscreen" })
}
}
}

if (tabId == null) {
Expand Down Expand Up @@ -607,6 +616,27 @@ export const openRecorder = (
} else {
console.error("Failed to open the recorder.")
}
} else if (
openMode === PAGE_ACTION_OPEN_MODE.WINDOW ||
openMode === PAGE_ACTION_OPEN_MODE.FULLSCREEN
) {
const w = await chrome.windows.create({
url: startUrl,
width: size.width,
height: size.height,
top: t,
left: l,
type: POPUP_TYPE.NORMAL,
})
if (w.tabs) {
await setRecordingTabId(w.tabs[0].id)
// Set window to fullscreen if requested
if (openMode === PAGE_ACTION_OPEN_MODE.FULLSCREEN && w.id) {
await chrome.windows.update(w.id, { state: "fullscreen" })
}
} else {
console.error("Failed to open the recorder.")
}
} else {
const tab = sender.tab || (await getCurrentTab())
const recorderTab = await chrome.tabs.create({
Expand Down
1 change: 1 addition & 0 deletions packages/shared/src/constants/open-mode.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,5 @@ export enum PAGE_ACTION_OPEN_MODE {
TAB = OPEN_MODE.TAB,
BACKGROUND_TAB = OPEN_MODE.BACKGROUND_TAB,
WINDOW = OPEN_MODE.WINDOW,
FULLSCREEN = "fullscreen",
}