From c1b65e2dbbe6638b06182601aef96f88c6fff06a Mon Sep 17 00:00:00 2001 From: gykoh42 Date: Tue, 25 Jun 2024 20:08:00 +0900 Subject: [PATCH 01/15] =?UTF-8?q?feat:=20logo.png=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/popup/public/logo.png | Bin 0 -> 26187 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pages/popup/public/logo.png diff --git a/pages/popup/public/logo.png b/pages/popup/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..261b0730f65f95879f7370e0d15d29ce7ca19632 GIT binary patch literal 26187 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 Date: Tue, 25 Jun 2024 20:08:33 +0900 Subject: [PATCH 02/15] =?UTF-8?q?feat:=20default=20width,=20height=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/popup/src/index.css | 2 -- 1 file changed, 2 deletions(-) diff --git a/pages/popup/src/index.css b/pages/popup/src/index.css index ec439bb..a3f26a6 100644 --- a/pages/popup/src/index.css +++ b/pages/popup/src/index.css @@ -24,8 +24,6 @@ } body { - width: 450px; - height: 500px; margin: 0; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; From 43002063269cbe9c61dfd23e9fd5d28c54a74d18 Mon Sep 17 00:00:00 2001 From: gykoh42 Date: Tue, 25 Jun 2024 20:09:33 +0900 Subject: [PATCH 03/15] =?UTF-8?q?feat:=20Popup.tsx=20=EC=97=90=20Home=20?= =?UTF-8?q?=EA=B3=BC=20Options=20view=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/popup/src/Popup.tsx | 113 ++++++++++++++++++++++++-------------- 1 file changed, 72 insertions(+), 41 deletions(-) diff --git a/pages/popup/src/Popup.tsx b/pages/popup/src/Popup.tsx index 55187b9..9daa6c4 100644 --- a/pages/popup/src/Popup.tsx +++ b/pages/popup/src/Popup.tsx @@ -1,52 +1,83 @@ -import '@src/Popup.css'; import { useStorageSuspense, withErrorBoundary, withSuspense } from '@chrome-extension-boilerplate/shared'; import { exampleThemeStorage } from '@chrome-extension-boilerplate/storage'; - -import { ComponentPropsWithoutRef } from 'react'; +import React, { useState } from 'react'; const Popup = () => { const theme = useStorageSuspense(exampleThemeStorage); - + const [activeView, setActiveView] = useState('home'); return ( -
-
- logo +
+
+ + + +
+ {activeView === 'home' ? ( +
+

SmartCC

+

+ Generate AI-powered closed captions that emphasize background music and sound effects. +

+
+ + +
+
+ ) : ( +
+

Subtitle Options

+

Customize your subtitles to match your preferences.

+
+
+ + +
+
+ + +
-

- Edit pages/popup/src/Popup.tsx and save to reload. -

- - Learn React! - - Toggle theme -
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+ + )} ); }; -const ToggleButton = (props: ComponentPropsWithoutRef<'button'>) => { - const theme = useStorageSuspense(exampleThemeStorage); - return ( - - ); -}; - -export default withErrorBoundary(withSuspense(Popup,
Loading ...
),
Error Occur
); +export default withErrorBoundary(withSuspense(Popup,
Loading...
),
Error Occur
); From 4c963f84a496861aae1b92233ad9e2a80710a267 Mon Sep 17 00:00:00 2001 From: gykoh42 Date: Wed, 26 Jun 2024 16:54:40 +0900 Subject: [PATCH 04/15] =?UTF-8?q?feat:=20Options=20=EB=B7=B0=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20=EB=B0=8F=20Color,=20Background=20=EB=A5=BC=20state?= =?UTF-8?q?=20=EC=97=90=20=EC=A0=80=EC=9E=A5=ED=95=98=EB=8A=94=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/popup/src/Popup.tsx | 70 ++++++++++++++++++++++++--------------- 1 file changed, 43 insertions(+), 27 deletions(-) diff --git a/pages/popup/src/Popup.tsx b/pages/popup/src/Popup.tsx index 9daa6c4..1a22b0c 100644 --- a/pages/popup/src/Popup.tsx +++ b/pages/popup/src/Popup.tsx @@ -1,10 +1,13 @@ +import React, { useState } from 'react'; import { useStorageSuspense, withErrorBoundary, withSuspense } from '@chrome-extension-boilerplate/shared'; import { exampleThemeStorage } from '@chrome-extension-boilerplate/storage'; -import React, { useState } from 'react'; const Popup = () => { const theme = useStorageSuspense(exampleThemeStorage); const [activeView, setActiveView] = useState('home'); + const [color, setColor] = useState('#FFFFFF'); + const [background, setBackground] = useState('#191919'); + return (
@@ -31,43 +34,56 @@ const Popup = () => {

Subtitle Options

Customize your subtitles to match your preferences.

-
-
+
+
-
-
+
- +
- -
+
- +
+ setColor(e.target.value)} + style={{ padding: '0', margin: '0' }} + /> +
+
+ {color.toUpperCase()} +
+
-
- - +
+ +
+ setBackground(e.target.value)} + style={{ padding: '0', margin: '0' }} + /> +
+
+ {background.toUpperCase()} +
+
-
+
- +
-
- - +
+ +
From bbaa6d1fb06b0c7a81c5423aae1116052b41b0b6 Mon Sep 17 00:00:00 2001 From: gykoh42 Date: Wed, 26 Jun 2024 17:03:21 +0900 Subject: [PATCH 05/15] =?UTF-8?q?feat:=20Options=20=EC=9D=B8=EC=9E=90?= =?UTF-8?q?=EA=B0=92=20state=20=EC=97=90=20=EC=A0=80=EC=9E=A5=20=EB=B0=8F?= =?UTF-8?q?=20Reset=20=EB=A1=9C=EC=A7=81=20=EA=B5=AC=ED=98=84=20#2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/popup/src/Popup.tsx | 47 +++++++++++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 7 deletions(-) diff --git a/pages/popup/src/Popup.tsx b/pages/popup/src/Popup.tsx index 1a22b0c..55b6cf3 100644 --- a/pages/popup/src/Popup.tsx +++ b/pages/popup/src/Popup.tsx @@ -7,6 +7,19 @@ const Popup = () => { const [activeView, setActiveView] = useState('home'); const [color, setColor] = useState('#FFFFFF'); const [background, setBackground] = useState('#191919'); + const [font, setFont] = useState('Arial'); + const [spacing, setSpacing] = useState(0); + const [stroke, setStroke] = useState(0); + const [size, setSize] = useState(12); + + const resetSettings = () => { + setColor('#FFFFFF'); + setBackground('#191919'); + setFont('Arial'); + setSpacing(0); + setStroke(0); + setSize(12); + }; return (
@@ -19,7 +32,7 @@ const Popup = () => { Options
- {activeView === 'home' ? ( + {activeView === 'home' && (

SmartCC

@@ -30,20 +43,28 @@ const Popup = () => {

- ) : ( + )} + {activeView === 'options' && (

Subtitle Options

Customize your subtitles to match your preferences.

- setFont(e.target.value)} className="p-2 border rounded w-full h-8"> + +
- + setSpacing(Number(e.target.value))} + />
@@ -79,15 +100,27 @@ const Popup = () => {
- + setStroke(Number(e.target.value))} + />
- + setSize(Number(e.target.value))} + />
- +
From eb6e22ad12ca10701a4b12fc61ba98bccd5eaa57 Mon Sep 17 00:00:00 2001 From: gykoh42 Date: Wed, 26 Jun 2024 17:43:35 +0900 Subject: [PATCH 06/15] =?UTF-8?q?feat:=20options=20=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EB=B0=9B=EC=95=84=EC=98=A8=20=EA=B0=92=20storage=20=EC=97=90?= =?UTF-8?q?=20=EC=A0=80=EC=9E=A5=ED=95=98=EB=8A=94=20=EB=A1=9C=EC=A7=81=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20#2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/popup/src/Popup.tsx | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/pages/popup/src/Popup.tsx b/pages/popup/src/Popup.tsx index 55b6cf3..70e619a 100644 --- a/pages/popup/src/Popup.tsx +++ b/pages/popup/src/Popup.tsx @@ -1,6 +1,7 @@ import React, { useState } from 'react'; import { useStorageSuspense, withErrorBoundary, withSuspense } from '@chrome-extension-boilerplate/shared'; import { exampleThemeStorage } from '@chrome-extension-boilerplate/storage'; +import { storage, saveSettings, loadSettings } from '@chrome-extension-boilerplate/storage/lib/settingStorage'; const Popup = () => { const theme = useStorageSuspense(exampleThemeStorage); @@ -21,6 +22,20 @@ const Popup = () => { setSize(12); }; + const saveSettings = async () => { + await storage.set({ + color, + background, + font, + spacing, + stroke, + size, + }); + + // const savedSettings = await storage.get(); + // console.log('Saved Settings:', savedSettings); + }; + return (
@@ -121,7 +136,9 @@ const Popup = () => { - +
)} From 2e759c04f32e2a77e9b9a79700407ae4329e4fe4 Mon Sep 17 00:00:00 2001 From: gykoh42 Date: Wed, 26 Jun 2024 17:43:58 +0900 Subject: [PATCH 07/15] =?UTF-8?q?feat:=20settingStorage.ts=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84=20#2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/storage/lib/settingStorage.ts | 36 ++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 packages/storage/lib/settingStorage.ts diff --git a/packages/storage/lib/settingStorage.ts b/packages/storage/lib/settingStorage.ts new file mode 100644 index 0000000..e5523d7 --- /dev/null +++ b/packages/storage/lib/settingStorage.ts @@ -0,0 +1,36 @@ +import { BaseStorage, createStorage, StorageType } from './base'; + +interface SubtitleSettings { + color: string; + background: string; + font: string; + spacing: number; + stroke: number; + size: number; +} + +const storageKey = 'subtitle-settings'; + +export const storage = createStorage( + storageKey, + { + color: '#FFFFFF', + background: '#191919', + font: 'Arial', + spacing: 0, + stroke: 0, + size: 12, + }, + { + storageType: StorageType.Local, + liveUpdate: true, + }, +); + +export const saveSettings = async (settings: SubtitleSettings) => { + await storage.set(settings); +}; + +export const loadSettings = async (): Promise => { + return storage.get(); +}; From ef7abee2570371911a3b7b42aa4bb80f663c85d4 Mon Sep 17 00:00:00 2001 From: gykoh42 Date: Wed, 26 Jun 2024 18:59:27 +0900 Subject: [PATCH 08/15] =?UTF-8?q?feat:=20Cancel=20=EB=B2=84=ED=8A=BC=20onC?= =?UTF-8?q?lick=20=EC=8B=9C=20extension=20window=20=EA=B0=80=20=EB=8B=AB?= =?UTF-8?q?=ED=9E=88=EB=8F=84=EB=A1=9D=20=EA=B5=AC=ED=98=84=20#2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/popup/src/Popup.tsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pages/popup/src/Popup.tsx b/pages/popup/src/Popup.tsx index 70e619a..07a40b6 100644 --- a/pages/popup/src/Popup.tsx +++ b/pages/popup/src/Popup.tsx @@ -31,9 +31,6 @@ const Popup = () => { stroke, size, }); - - // const savedSettings = await storage.get(); - // console.log('Saved Settings:', savedSettings); }; return ( @@ -54,7 +51,9 @@ const Popup = () => { Generate AI-powered closed captions that emphasize background music and sound effects.

- +
From 779a56c62dccc5d2ed58ef3aa87b8c34387fb773 Mon Sep 17 00:00:00 2001 From: gykoh42 Date: Wed, 26 Jun 2024 20:07:07 +0900 Subject: [PATCH 09/15] =?UTF-8?q?feat:=20Size=20=EC=99=80=20Spacing=20?= =?UTF-8?q?=EC=9C=84=EC=B9=98=20=EB=B3=80=EA=B2=BD=20#2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/popup/src/Popup.tsx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pages/popup/src/Popup.tsx b/pages/popup/src/Popup.tsx index 07a40b6..0cc9d4c 100644 --- a/pages/popup/src/Popup.tsx +++ b/pages/popup/src/Popup.tsx @@ -31,6 +31,8 @@ const Popup = () => { stroke, size, }); + // const savedSettings = await storage.get(); + // console.log('Saved Settings:', savedSettings); }; return ( @@ -72,12 +74,12 @@ const Popup = () => {
- + setSpacing(Number(e.target.value))} + value={size} + onChange={e => setSize(Number(e.target.value))} />
@@ -122,12 +124,12 @@ const Popup = () => { />
- + setSize(Number(e.target.value))} + value={spacing} + onChange={e => setSpacing(Number(e.target.value))} />
From b465da8205f0c4a52e04ce89462712b1ad04d7b8 Mon Sep 17 00:00:00 2001 From: gykoh42 Date: Wed, 26 Jun 2024 20:17:13 +0900 Subject: [PATCH 10/15] =?UTF-8?q?feat:=20Home=20=EA=B3=BC=20Options=20?= =?UTF-8?q?=EB=B2=84=ED=8A=BC=20=EC=82=AC=EC=9D=B4=20=EA=B0=84=EA=B2=A9=20?= =?UTF-8?q?=EC=A1=B0=EC=A0=95=20#2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/popup/src/Popup.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/popup/src/Popup.tsx b/pages/popup/src/Popup.tsx index 0cc9d4c..6b1e59a 100644 --- a/pages/popup/src/Popup.tsx +++ b/pages/popup/src/Popup.tsx @@ -39,10 +39,10 @@ const Popup = () => {
- -
From ab7671a264d05a6a02635dfb0ef7efc623a80d3f Mon Sep 17 00:00:00 2001 From: jusohn Eddie Sohn Date: Thu, 27 Jun 2024 14:11:57 +0900 Subject: [PATCH 11/15] fix: commented unused storage #2 --- pages/content/lib/toggleTheme.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pages/content/lib/toggleTheme.ts b/pages/content/lib/toggleTheme.ts index 8b0c5b6..ea6bcca 100644 --- a/pages/content/lib/toggleTheme.ts +++ b/pages/content/lib/toggleTheme.ts @@ -1,7 +1,7 @@ -import { exampleThemeStorage } from '@chrome-extension-boilerplate/storage'; +// import { exampleThemeStorage } from '@chrome-extension-boilerplate/storage'; -export async function toggleTheme() { - console.log('initial theme:', await exampleThemeStorage.get()); - await exampleThemeStorage.toggle(); - console.log('toggled theme:', await exampleThemeStorage.get()); -} +// export async function toggleTheme() { +// console.log('initial theme:', await exampleThemeStorage.get()); +// await exampleThemeStorage.toggle(); +// console.log('toggled theme:', await exampleThemeStorage.get()); +// } From 65aed05fa9baa9563ae8cfee97c7d49322e757ce Mon Sep 17 00:00:00 2001 From: jusohn Eddie Sohn Date: Thu, 27 Jun 2024 14:12:41 +0900 Subject: [PATCH 12/15] fix: updated settingStorage for modularization #2 --- packages/storage/lib/settingStorage.ts | 51 +++++++++++++++----------- 1 file changed, 30 insertions(+), 21 deletions(-) diff --git a/packages/storage/lib/settingStorage.ts b/packages/storage/lib/settingStorage.ts index e5523d7..9c0ef8b 100644 --- a/packages/storage/lib/settingStorage.ts +++ b/packages/storage/lib/settingStorage.ts @@ -1,6 +1,6 @@ import { BaseStorage, createStorage, StorageType } from './base'; -interface SubtitleSettings { +interface SubtitleSetting { color: string; background: string; font: string; @@ -9,28 +9,37 @@ interface SubtitleSettings { size: number; } +const defaultSubtitleSetting: SubtitleSetting = { + color: '#FFFFFF', + background: '#191919', + font: 'Arial', + spacing: 0, + stroke: 0, + size: 12, +}; + +type SubtitleSettingStorage = BaseStorage & { + saveSettings: (settings: SubtitleSetting) => Promise; + loadSettings: () => Promise; + resetSettings: () => Promise; +}; + const storageKey = 'subtitle-settings'; -export const storage = createStorage( - storageKey, - { - color: '#FFFFFF', - background: '#191919', - font: 'Arial', - spacing: 0, - stroke: 0, - size: 12, +const storage = createStorage(storageKey, defaultSubtitleSetting, { + storageType: StorageType.Sync, + liveUpdate: true, +}); + +export const subtitleSettingStorage: SubtitleSettingStorage = { + ...storage, + saveSettings: async (settings: SubtitleSetting) => { + await storage.set(settings); }, - { - storageType: StorageType.Local, - liveUpdate: true, + loadSettings: async () => { + return storage.get(); + }, + resetSettings: async () => { + await storage.set(defaultSubtitleSetting); }, -); - -export const saveSettings = async (settings: SubtitleSettings) => { - await storage.set(settings); -}; - -export const loadSettings = async (): Promise => { - return storage.get(); }; From f32c197fcaf54ace07e26ced5c2d170e92a81725 Mon Sep 17 00:00:00 2001 From: jusohn Eddie Sohn Date: Thu, 27 Jun 2024 14:13:28 +0900 Subject: [PATCH 13/15] fix: updated ThemeStorage to SubtitleSettingStorage #2 --- chrome-extension/lib/background/index.ts | 8 ++++---- packages/storage/lib/index.ts | 4 ++-- pages/content/lib/index.ts | 4 ---- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/chrome-extension/lib/background/index.ts b/chrome-extension/lib/background/index.ts index dc4cc43..7ed1b8e 100644 --- a/chrome-extension/lib/background/index.ts +++ b/chrome-extension/lib/background/index.ts @@ -1,9 +1,9 @@ import 'webextension-polyfill'; -// import { exampleThemeStorage } from '@chrome-extension-boilerplate/storage'; +import { subtitleSettingStorage } from '@chrome-extension-boilerplate/storage'; -// exampleThemeStorage.get().then(theme => { -// console.log('theme', theme); -// }); +subtitleSettingStorage.get().then(settings => { + console.log('subtitle settings', settings); +}); console.log('background loaded'); console.log("Edit 'chrome-extension/lib/background/index.ts' and save to reload."); diff --git a/packages/storage/lib/index.ts b/packages/storage/lib/index.ts index 8762790..8ecde5c 100644 --- a/packages/storage/lib/index.ts +++ b/packages/storage/lib/index.ts @@ -1,4 +1,4 @@ import { createStorage, StorageType, type BaseStorage, SessionAccessLevel } from './base'; -import { exampleThemeStorage } from './exampleThemeStorage'; +import { subtitleSettingStorage } from './settingStorage'; -export { exampleThemeStorage, createStorage, StorageType, SessionAccessLevel, BaseStorage }; +export { subtitleSettingStorage, createStorage, StorageType, SessionAccessLevel, BaseStorage }; diff --git a/pages/content/lib/index.ts b/pages/content/lib/index.ts index 596a917..871ea01 100644 --- a/pages/content/lib/index.ts +++ b/pages/content/lib/index.ts @@ -1,5 +1 @@ -import { toggleTheme } from '@lib/toggleTheme'; - console.log('content script loaded'); - -void toggleTheme(); From e82bc91d9b25bf548031ad11638eccee6ff5878c Mon Sep 17 00:00:00 2001 From: jusohn Eddie Sohn Date: Thu, 27 Jun 2024 14:33:28 +0900 Subject: [PATCH 14/15] fix: updated Popup to use updated storage, updated