From fe82365c24caf20f6cfb1b5982814e9f31734a01 Mon Sep 17 00:00:00 2001 From: sethburkart123 Date: Fri, 1 Nov 2024 17:28:56 +1100 Subject: [PATCH] chore(Old-Popup): remove old popup code --- src/old-interface/SettingsContext.tsx | 51 --- .../assets/presetBackgrounds.tsx | 70 ---- src/old-interface/assets/react.svg | 1 - src/old-interface/components/Accordian.tsx | 32 -- .../components/BackgroundSelector.css | 21 -- .../components/BackgroundSelector.tsx | 252 ------------- src/old-interface/components/Checkbox.tsx | 45 --- src/old-interface/components/CodeEditor.css | 11 - src/old-interface/components/CodeEditor.tsx | 48 --- .../components/LoadingSpinner.tsx | 8 - src/old-interface/components/Picker.css | 32 -- src/old-interface/components/Picker.tsx | 125 ------- src/old-interface/components/PickerSwatch.tsx | 20 - src/old-interface/components/Select.tsx | 7 - src/old-interface/components/Slider.css | 19 - src/old-interface/components/Slider.tsx | 25 -- src/old-interface/components/Switch.css | 4 - src/old-interface/components/Switch.tsx | 35 -- .../components/TabbedContainer.tsx | 98 ----- src/old-interface/components/ThemeCover.tsx | 104 ------ .../components/ThemeSelector.tsx | 269 -------------- src/old-interface/components/store/header.tsx | 36 -- .../components/useVisibility.tsx | 34 -- src/old-interface/dark.ts | 8 - .../hooks/BackgroundDataLoader.tsx | 73 ---- src/old-interface/hooks/ThemeManagment.ts | 161 --------- src/old-interface/hooks/settingsState.ts | 100 ----- src/old-interface/index.css | 21 -- src/old-interface/index.html | 14 - src/old-interface/main.d.ts | 8 - src/old-interface/main.tsx | 59 --- src/old-interface/pages/SettingsPage.tsx | 50 --- .../pages/SettingsPage/About.tsx | 19 - .../pages/SettingsPage/Settings.tsx | 160 -------- .../pages/SettingsPage/Shortcuts.tsx | 147 -------- .../pages/SettingsPage/Themes.tsx | 30 -- src/old-interface/pages/Store.tsx | 335 ----------------- src/old-interface/pages/ThemeCreator.tsx | 341 ------------------ src/old-interface/types/AppProps.ts | 27 -- src/old-interface/types/ColorPickerProps.ts | 5 - src/old-interface/types/SettingsProps.ts | 11 - src/old-interface/types/SliderProps.ts | 7 - src/old-interface/types/SwitchProps.ts | 6 - .../types/TabbedContainerProps.ts | 11 - src/old-interface/types/pocketbase-types.ts | 88 ----- src/old-interface/vite-env.d.ts | 1 - 46 files changed, 3029 deletions(-) delete mode 100644 src/old-interface/SettingsContext.tsx delete mode 100644 src/old-interface/assets/presetBackgrounds.tsx delete mode 100644 src/old-interface/assets/react.svg delete mode 100644 src/old-interface/components/Accordian.tsx delete mode 100644 src/old-interface/components/BackgroundSelector.css delete mode 100644 src/old-interface/components/BackgroundSelector.tsx delete mode 100644 src/old-interface/components/Checkbox.tsx delete mode 100644 src/old-interface/components/CodeEditor.css delete mode 100644 src/old-interface/components/CodeEditor.tsx delete mode 100644 src/old-interface/components/LoadingSpinner.tsx delete mode 100644 src/old-interface/components/Picker.css delete mode 100644 src/old-interface/components/Picker.tsx delete mode 100644 src/old-interface/components/PickerSwatch.tsx delete mode 100644 src/old-interface/components/Select.tsx delete mode 100644 src/old-interface/components/Slider.css delete mode 100644 src/old-interface/components/Slider.tsx delete mode 100644 src/old-interface/components/Switch.css delete mode 100644 src/old-interface/components/Switch.tsx delete mode 100644 src/old-interface/components/TabbedContainer.tsx delete mode 100644 src/old-interface/components/ThemeCover.tsx delete mode 100644 src/old-interface/components/ThemeSelector.tsx delete mode 100644 src/old-interface/components/store/header.tsx delete mode 100644 src/old-interface/components/useVisibility.tsx delete mode 100644 src/old-interface/dark.ts delete mode 100644 src/old-interface/hooks/BackgroundDataLoader.tsx delete mode 100644 src/old-interface/hooks/ThemeManagment.ts delete mode 100644 src/old-interface/hooks/settingsState.ts delete mode 100644 src/old-interface/index.css delete mode 100644 src/old-interface/index.html delete mode 100644 src/old-interface/main.d.ts delete mode 100644 src/old-interface/main.tsx delete mode 100644 src/old-interface/pages/SettingsPage.tsx delete mode 100644 src/old-interface/pages/SettingsPage/About.tsx delete mode 100644 src/old-interface/pages/SettingsPage/Settings.tsx delete mode 100644 src/old-interface/pages/SettingsPage/Shortcuts.tsx delete mode 100644 src/old-interface/pages/SettingsPage/Themes.tsx delete mode 100644 src/old-interface/pages/Store.tsx delete mode 100644 src/old-interface/pages/ThemeCreator.tsx delete mode 100644 src/old-interface/types/AppProps.ts delete mode 100644 src/old-interface/types/ColorPickerProps.ts delete mode 100644 src/old-interface/types/SettingsProps.ts delete mode 100644 src/old-interface/types/SliderProps.ts delete mode 100644 src/old-interface/types/SwitchProps.ts delete mode 100644 src/old-interface/types/TabbedContainerProps.ts delete mode 100644 src/old-interface/types/pocketbase-types.ts delete mode 100644 src/old-interface/vite-env.d.ts diff --git a/src/old-interface/SettingsContext.tsx b/src/old-interface/SettingsContext.tsx deleted file mode 100644 index ae78ce7d..00000000 --- a/src/old-interface/SettingsContext.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import React, { createContext, ReactNode, useContext, useState } from 'react'; -import { SettingsState } from './types/AppProps'; -import useSettingsState from './hooks/settingsState'; - -// Create a context with an initial state -const SettingsContext = createContext<{ - settingsState: SettingsState; - setSettingsState: React.Dispatch>; - showPicker: boolean; - setShowPicker: React.Dispatch>; - standalone: boolean; - setStandalone: React.Dispatch>; -} | undefined>(undefined); - -export const SettingsContextProvider: React.FC<{ children: ReactNode }> = ({ children }) => { - const [settingsState, setSettingsState] = useState({ - notificationCollector: false, - lessonAlerts: false, - animatedBackground: false, - animatedBackgroundSpeed: "0", - customThemeColor: "rgba(219, 105, 105, 1)", - betterSEQTAPlus: true, - shortcuts: [], - customshortcuts: [], - transparencyEffects: false, - selectedTheme: '', - animations: true, - defaultPage: 'home', - devMode: false - }); - - const [showPicker, setShowPicker] = useState(false); - const [standalone, setStandalone] = useState(false); - - useSettingsState({ settingsState, setSettingsState }); - - return ( - - {children} - - ); -}; - -// eslint-disable-next-line -export const useSettingsContext = () => { - const context = useContext(SettingsContext); - if (!context) { - throw new Error('useSettingsContext must be used within a SettingsContextProvider'); - } - return context; -}; diff --git a/src/old-interface/assets/presetBackgrounds.tsx b/src/old-interface/assets/presetBackgrounds.tsx deleted file mode 100644 index d6258c0d..00000000 --- a/src/old-interface/assets/presetBackgrounds.tsx +++ /dev/null @@ -1,70 +0,0 @@ -const presetBackgrounds = [ - // Images - { - id: 'image-preset-1', - type: 'image', - url: 'https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Themes/main/backgrounds/images/background-1.jpg', - previewUrl: 'https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Themes/main/backgrounds/images/background-1-thumb.jpg', - isPreset: true - }, - { - id: 'image-preset-2', - type: 'image', - url: 'https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Themes/main/backgrounds/images/background-2.jpg', - previewUrl: 'https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Themes/main/backgrounds/images/background-2-thumb.jpg', - isPreset: true - }, - { - id: 'image-preset-3', - type: 'image', - url: 'https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Themes/main/backgrounds/images/background-3.jpg', - previewUrl: 'https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Themes/main/backgrounds/images/background-3-thumb.jpg', - isPreset: true - }, - { - id: 'image-preset-4', - type: 'image', - url: 'https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Themes/main/backgrounds/images/background-4.jpg', - previewUrl: 'https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Themes/main/backgrounds/images/background-4-thumb.jpg', - isPreset: true - }, - { - id: 'image-preset-5', - type: 'image', - url: 'https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Themes/main/backgrounds/images/background-5.jpg', - previewUrl: 'https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Themes/main/backgrounds/images/background-5-thumb.jpg', - isPreset: true - }, - { - id: 'image-preset-6', - type: 'image', - url: 'https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Themes/main/backgrounds/images/background-6.jpg', - previewUrl: 'https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Themes/main/backgrounds/images/background-6-thumb.jpg', - isPreset: true - }, - { - id: 'image-preset-7', - type: 'image', - url: 'https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Themes/main/backgrounds/images/background-7.jpg', - previewUrl: 'https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Themes/main/backgrounds/images/background-7-thumb.jpg', - isPreset: true - }, - - // Videos - { - id: 'video-preset-1', - type: 'video', - url: 'https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Themes/main/backgrounds/videos/animated-1.mp4', - previewUrl: 'https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Themes/main/backgrounds/videos/animation-1-thumb.mp4', - isPreset: true - }, - { - id: 'video-preset-2', - type: 'video', - url: 'https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Themes/main/backgrounds/videos/animation-2.mp4', - previewUrl: 'https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Themes/main/backgrounds/videos/animation-2-thumb.mp4', - isPreset: true - } -]; - -export default presetBackgrounds; \ No newline at end of file diff --git a/src/old-interface/assets/react.svg b/src/old-interface/assets/react.svg deleted file mode 100644 index 6c87de9b..00000000 --- a/src/old-interface/assets/react.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/old-interface/components/Accordian.tsx b/src/old-interface/components/Accordian.tsx deleted file mode 100644 index 0fef18e7..00000000 --- a/src/old-interface/components/Accordian.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { useEffect, useRef, useState } from 'react'; -import { ChevronDownIcon } from '@heroicons/react/24/outline'; - -const Accordion = ({ children, title, defaultOpened }: { children: React.ReactNode, title: string, defaultOpened?: boolean }) => { - const ref = useRef(null); - const [shown, setShown] = useState(false); - - useEffect(() => { - const show = async () => { - if (defaultOpened) { - await new Promise(resolve => setTimeout(resolve, 100)); - setShown(true); - } - }; - - show(); - }, []) - - return ( -
- -
- {children} -
-
- ); -}; - -export default Accordion; diff --git a/src/old-interface/components/BackgroundSelector.css b/src/old-interface/components/BackgroundSelector.css deleted file mode 100644 index 58a82a77..00000000 --- a/src/old-interface/components/BackgroundSelector.css +++ /dev/null @@ -1,21 +0,0 @@ -@keyframes shake { - 0% { - transform: rotate(0); - } - 25% { - transform: rotate(-1deg); - } - 50% { - transform: rotate(1deg); - } - 75% { - transform: rotate(-1deg); - } - 100% { - transform: rotate(0); - } -} - -.animate-shake { - animation: shake 0.5s linear infinite; -} diff --git a/src/old-interface/components/BackgroundSelector.tsx b/src/old-interface/components/BackgroundSelector.tsx deleted file mode 100644 index aaeb3607..00000000 --- a/src/old-interface/components/BackgroundSelector.tsx +++ /dev/null @@ -1,252 +0,0 @@ -import { ChangeEvent, memo, useEffect, useState } from "react"; -import { downloadPresetBackground, openDB, readAllData, writeData } from "../hooks/BackgroundDataLoader"; -import presetBackgrounds from "../assets/presetBackgrounds"; -import "./BackgroundSelector.css"; - -export interface Background { - id: string; - type: string; - blob: Blob; - url?: string; - previewUrl?: string; - isPreset?: boolean; - isDownloaded?: boolean; -} - -interface BackgroundSelectorProps { - isEditMode: boolean; - disableTheme: () => void; -} - -async function GetTheme() { - return localStorage.getItem('selectedBackground'); -} - -async function SetTheme(theme: string) { - localStorage.setItem('selectedBackground', theme); - //await browser.storage.local.set({ theme }); -} - -function BackgroundSelector({ isEditMode, disableTheme }: BackgroundSelectorProps) { - const [backgrounds, setBackgrounds] = useState([]); - const [selectedBackground, setSelectedBackground] = useState(); - const [downloadedPresetIds, setDownloadedPresetIds] = useState([]); - const [downloadProgress, setDownloadProgress] = useState>({}); - - const [BackgroundsBlocked, setBackgroundsBlocked] = useState(false); - - useEffect(() => { - GetTheme().then((theme) => { - setSelectedBackground(theme); - }); - }, []); - - const handleFileChange = async (e: ChangeEvent): Promise => { - const file = e.target.files?.[0]; - if (!file) return; - - const fileId = `${Date.now()}-${file.name}`; - const fileType = file.type.split('/')[0]; - const blob = new Blob([file], { type: file.type }); - - await writeData(fileId, fileType, blob); - setBackgrounds(prev => [...prev, { id: fileId, type: fileType, blob, url: URL.createObjectURL(blob) }]); - }; - - const loadBackgrounds = async (): Promise => { - const data = await readAllData(); - const dataWithUrls = data.map(bg => ({ ...bg, url: URL.createObjectURL(bg.blob) })); - - // Update downloaded preset IDs - setDownloadedPresetIds(data.map(bg => bg.id)); - - setBackgrounds(dataWithUrls); - }; - - const handlePresetClick = async (bg: Background): Promise => { - if (bg.isPreset) { - // Check if indexed DB is accessible or whether cross site cookies blocks it - try { - await openDB(); - } catch (error) { - // @ts-expect-error - Brave is not in the navigator type (unless you are actually using brave browser) - if (navigator.brave && await navigator.brave.isBrave() || false) { - console.error('[BetterSEQTA+] Brave browser is blocking access to IndexedDB. Please disable the "Cross-site cookies blocked" setting in the Shields panel. (or you can just disable brave shields for SEQTA)'); - setBackgroundsBlocked(true); - return; - } - alert("[BetterSEQTA+] IndexedDB is not accessible. Please check your browser settings (It's probably cross-site cookies that are blocked)."); - return; - } - - // Check if already exists in IndexedDB or is currently being downloaded - const existingBackgrounds = await readAllData(); - const alreadyExists = existingBackgrounds.some(ebg => ebg.id === bg.id) || downloadProgress[bg.id] !== undefined; - - if (!alreadyExists) { - setDownloadProgress(prev => ({ ...prev, [bg.id]: 0 })); - const downloadedBg = await downloadPresetBackground(bg, progress => { - setDownloadProgress(prev => ({ ...prev, [bg.id]: progress })); - }); - setDownloadProgress(prev => { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - const { [bg.id]: _, ...rest } = prev; - return rest; - }); - await writeData(downloadedBg.id, downloadedBg.type, downloadedBg.blob); - setBackgrounds(prev => [...prev, downloadedBg]); - setDownloadedPresetIds(prev => [...prev, downloadedBg.id]); - } - selectBackground(bg.id); - } - }; - - const selectBackground = (fileId: string): void => { - if (selectedBackground == fileId) { - selectNoBackground(); - return; - } - - setSelectedBackground(fileId); - SetTheme(fileId); - }; - - const deleteBackground = async (fileId: string): Promise => { - const db = await openDB(); - const tx = db.transaction('backgrounds', 'readwrite'); - const store = tx.objectStore('backgrounds'); - store.delete(fileId); - setBackgrounds(prev => prev.filter(bg => bg.id !== fileId)); - - // Check if the background being deleted is currently selected - if (fileId === selectedBackground) { - selectNoBackground(); // Disable the current background - } - }; - - const selectNoBackground = (): void => { - setSelectedBackground(null); - SetTheme(''); - }; - - const calcCircumference = (radius: number) => 2 * Math.PI * radius; - - useEffect(() => { - loadBackgrounds(); - }, []); - - return ( - <> - - - {BackgroundsBlocked && ( -
-

File Storage Blocked

-

Brave browser is blocking access to IndexedDB. Please disable the "Cross-site cookies blocked" setting in the Shields panel. (or you can just disable brave shields for SEQTA)

- Brave browser logo -
- )} - -
-

Background Images

-
- { isEditMode ? <> : -
-
- {/* Plus icon */} -  -
- -
} - {backgrounds.filter(bg => bg.type === 'image').map(bg => ( -
selectBackground(bg.id)} - className={`relative w-16 h-16 cursor-pointer rounded-xl transition ring dark:ring-white ring-zinc-300 ${isEditMode ? 'animate-shake' : ''} ${selectedBackground === bg.id ? 'dark:ring-2 ring-4' : 'ring-0'}`}> - {isEditMode && ( -
deleteBackground(bg.id)}> -
-
- )} - swatch -
- ))} - {backgrounds.concat(presetBackgrounds as Background[]).filter(bg => bg.type === 'image' && bg.isPreset && !bg.isDownloaded && !downloadedPresetIds.includes(bg.id)).map(bg => ( - - ))} -
- -

Background Videos

-
- { isEditMode ? <> : -
-
- {/* Plus icon */} -  -
- -
- } - {backgrounds.filter(bg => bg.type === 'video').map(bg => ( -
selectBackground(bg.id)} className={`relative w-16 h-16 cursor-pointer rounded-xl transition ring dark:ring-white ring-zinc-300 ${isEditMode ? 'animate-shake' : ''} ${selectedBackground === bg.id ? 'dark:ring-2 ring-4' : 'ring-0'}`}> - {isEditMode && ( -
deleteBackground(bg.id)}> -
-
- )} -
- ))} - {backgrounds.concat(presetBackgrounds as Background[]).filter(bg => bg.type === 'video' && bg.isPreset && !bg.isDownloaded && !downloadedPresetIds.includes(bg.id)).map(bg => ( -
handlePresetClick(bg)} - className={`relative w-16 h-16 transition cursor-pointer rounded-xl duration-300 ${ isEditMode ? 'opacity-0 pointer-events-none hidden' : 'opacity-100'}`}> - {bg.isPreset && downloadProgress[bg.id] !== undefined && ( -
- - - - -
- )} -
- - {downloadProgress[bg.id] === undefined ? '' : ''} - -
-
- ))} -
-
- - ); -} - -export default memo(BackgroundSelector); \ No newline at end of file diff --git a/src/old-interface/components/Checkbox.tsx b/src/old-interface/components/Checkbox.tsx deleted file mode 100644 index 421f4640..00000000 --- a/src/old-interface/components/Checkbox.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import React from 'react'; - -type CheckboxProps = { - value: boolean; - onChange: (e: React.ChangeEvent) => void; -}; - -const Checkbox: React.FC = ({ value, onChange }) => { - return ( -