From 82055abfd5557d665516a934f5b19a794fe42d71 Mon Sep 17 00:00:00 2001 From: Yayroos Date: Sun, 11 Feb 2024 10:09:10 +1100 Subject: [PATCH] unbreak formatting --- .eslintrc.json | 14 ++++- ACKNOWLEDGMENTS.md | 4 +- BUGS.md | 2 + src/main/main.ts | 20 +++++-- src/renderer/app/cover/index.tsx | 12 +++- src/renderer/app/cover/visualizer/index.tsx | 12 +++- src/renderer/app/index.tsx | 8 ++- .../contexts/currently-playing.context.tsx | 5 +- src/renderer/contexts/settings.context.tsx | 5 +- src/renderer/hooks/use-hover.ts | 5 +- src/renderer/index.html | 19 +++---- src/renderer/style.css | 8 +-- .../windows/settings/advanced-settings.tsx | 7 ++- .../windows/settings/audio-settings.tsx | 10 +++- .../windows/settings/track-info-settings.tsx | 10 +++- .../settings/visualization-settings.tsx | 5 +- .../windows/settings/window-settings.tsx | 10 +++- webpack.dev.js | 56 +++++++++---------- webpack.prod.js | 54 +++++++++--------- 19 files changed, 169 insertions(+), 97 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index d785532..ab56f2a 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -22,12 +22,22 @@ "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": ["@typescript-eslint", "import", "prettier", "react", "react-hooks", "simple-import-sort"], + "plugins": [ + "@typescript-eslint", + "import", + "prettier", + "react", + "react-hooks", + "simple-import-sort" + ], "rules": { "import/no-extraneous-dependencies": ["error", { "devDependencies": true }], "no-use-before-define": "off", "@typescript-eslint/no-use-before-define": ["error"], - "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }], + "@typescript-eslint/no-unused-vars": [ + "error", + { "argsIgnorePattern": "^_" } + ], "react/jsx-filename-extension": [ "warn", { diff --git a/ACKNOWLEDGMENTS.md b/ACKNOWLEDGMENTS.md index ff9625b..3bf5911 100644 --- a/ACKNOWLEDGMENTS.md +++ b/ACKNOWLEDGMENTS.md @@ -2,11 +2,11 @@ This is a list of assets used by Lofi, including, but not limited to, fonts, graphics, images, and vector icons. - - [ipc](https://github.com/jarikomppa/ipc) by [Jari Komppa](http://iki.fi/sol/) - [Inter-UI](https://rsms.me/inter/) font pack by [Rasmus Andersson](https://twitter.com/rsms) - [Font Awesome](https://fontawesome.com) vector icons - [Vaporwave ぎレブ](https://steamcommunity.com/sharedfiles/filedetails/?id=1551937777) by [mrchernobyl](https://steamcommunity.com/id/mrchernobyl) ## Removal -If your license doesn't permit Lofi to use your asset, or you would like me to remove the asset from Lofi (for whatever reason), please submit an [issue](https://github.com/dvx/lofi/issues). \ No newline at end of file + +If your license doesn't permit Lofi to use your asset, or you would like me to remove the asset from Lofi (for whatever reason), please submit an [issue](https://github.com/dvx/lofi/issues). diff --git a/BUGS.md b/BUGS.md index 3930730..2fc7f43 100644 --- a/BUGS.md +++ b/BUGS.md @@ -1,3 +1,5 @@ # Known bugs + Bugs: + - When Windows Desktop DPI size is not 100%, application window "touchable" area might not be the right size. Drag the window to fix this. diff --git a/src/main/main.ts b/src/main/main.ts index b6ff89e..bc70d54 100644 --- a/src/main/main.ts +++ b/src/main/main.ts @@ -227,7 +227,10 @@ const createMainWindow = (): void => { const windowOpenHandler = ( details: HandlerDetails - ): { action: 'allow' | 'deny'; overrideBrowserWindowOptions?: BrowserWindowConstructorOptions } => { + ): { + action: 'allow' | 'deny'; + overrideBrowserWindowOptions?: BrowserWindowConstructorOptions; + } => { switch (details.frameName) { case WindowName.About: { return { @@ -300,7 +303,10 @@ const createMainWindow = (): void => { }); childWindow.on('close', () => { - setAlwaysOnTop({ window: mainWindow, isAlwaysOnTop: settings.isAlwaysOnTop }); + setAlwaysOnTop({ + window: mainWindow, + isAlwaysOnTop: settings.isAlwaysOnTop, + }); }); break; } @@ -317,7 +323,10 @@ const createMainWindow = (): void => { case WindowName.TrackInfo: { moveTrackInfo(mainWindow, screen); childWindow.setIgnoreMouseEvents(true); - setAlwaysOnTop({ window: childWindow, isAlwaysOnTop: settings.isAlwaysOnTop }); + setAlwaysOnTop({ + window: childWindow, + isAlwaysOnTop: settings.isAlwaysOnTop, + }); if (MACOS) { childWindow.setWindowButtonVisibility(false); } @@ -390,7 +399,10 @@ app.on('ready', () => { mainWindow.center(); } - setAlwaysOnTop({ window: mainWindow, isAlwaysOnTop: settings.isAlwaysOnTop }); + setAlwaysOnTop({ + window: mainWindow, + isAlwaysOnTop: settings.isAlwaysOnTop, + }); const bounds = mainWindow.getBounds(); const currentDisplay = screen.getDisplayMatching(bounds); diff --git a/src/renderer/app/cover/index.tsx b/src/renderer/app/cover/index.tsx index 39a1342..f655c51 100644 --- a/src/renderer/app/cover/index.tsx +++ b/src/renderer/app/cover/index.tsx @@ -59,7 +59,7 @@ export const Cover: FunctionComponent = ({ settings, message, onVisualiza visualizationId, visualizationType, visualizerOpacity, - refreshTime + refreshTime, } = useMemo(() => settings, [settings]); const [currentSongId, setCurrentSongId] = useState(''); @@ -82,7 +82,10 @@ export const Cover: FunctionComponent = ({ settings, message, onVisualiza return; } - dispatch({ type: CurrentlyPlayingActions.SetCurrentlyPlaying, payload: currentlyPlaying }); + dispatch({ + type: CurrentlyPlayingActions.SetCurrentlyPlaying, + payload: currentlyPlaying, + }); setErrorToDisplay(''); } catch (error) { console.error(error); @@ -97,7 +100,10 @@ export const Cover: FunctionComponent = ({ settings, message, onVisualiza if (state.isLiked !== isTrackLiked) { ipcRenderer.send(IpcMessage.TrackLiked, isTrackLiked); } - dispatch({ type: CurrentlyPlayingActions.SetTrackLiked, payload: isTrackLiked }); + dispatch({ + type: CurrentlyPlayingActions.SetTrackLiked, + payload: isTrackLiked, + }); await handlePlaybackChanged(); } catch (error) { console.error(error); diff --git a/src/renderer/app/cover/visualizer/index.tsx b/src/renderer/app/cover/visualizer/index.tsx index ad848b8..e76a560 100644 --- a/src/renderer/app/cover/visualizer/index.tsx +++ b/src/renderer/app/cover/visualizer/index.tsx @@ -30,9 +30,17 @@ export const Visualizer: FunctionComponent = ({ useEffect(() => { if (!visualizationId || visualizationId < 0 || visualizationId >= visualizations.length) { - visualizations[0].visualize({ canvas: canvasRef.current, peakFactor, timeFactor }); + visualizations[0].visualize({ + canvas: canvasRef.current, + peakFactor, + timeFactor, + }); } else { - visualizations[visualizationId].visualize({ canvas: canvasRef.current, peakFactor, timeFactor }); + visualizations[visualizationId].visualize({ + canvas: canvasRef.current, + peakFactor, + timeFactor, + }); } const canvasRefValue = canvasRef.current; return () => { diff --git a/src/renderer/app/index.tsx b/src/renderer/app/index.tsx index d2eb42c..bd10657 100644 --- a/src/renderer/app/index.tsx +++ b/src/renderer/app/index.tsx @@ -151,7 +151,13 @@ export const App: FunctionComponent = () => { let mouseX = 0; let mouseY = 0; - setDisplays(() => displayData.map(({ label, bounds: { height, width } }) => ({ label, height, width }))); + setDisplays(() => + displayData.map(({ label, bounds: { height, width } }) => ({ + label, + height, + width, + })) + ); const moveWindow = (): void => { ipcRenderer.send(IpcMessage.WindowMoving, { mouseX, mouseY }); diff --git a/src/renderer/contexts/currently-playing.context.tsx b/src/renderer/contexts/currently-playing.context.tsx index b6632d7..0e2c7f0 100644 --- a/src/renderer/contexts/currently-playing.context.tsx +++ b/src/renderer/contexts/currently-playing.context.tsx @@ -12,7 +12,10 @@ interface CurrentlyPlayingContext { dispatch: Dispatch; } -const Context = createContext({ state: null, dispatch: null }); +const Context = createContext({ + state: null, + dispatch: null, +}); export const CurrentlyPlayingProvider: FunctionComponent = ({ children }) => { const [state, dispatch] = useReducer(useCurrentlyPlayingReducer, INITIAL_STATE); diff --git a/src/renderer/contexts/settings.context.tsx b/src/renderer/contexts/settings.context.tsx index 93beabd..bfa8a0a 100644 --- a/src/renderer/contexts/settings.context.tsx +++ b/src/renderer/contexts/settings.context.tsx @@ -24,7 +24,10 @@ export const SettingsProvider: FunctionComponent = ({ children }) => { }), [] ); - const [state, dispatch] = useReducer(useSettingsReducer, { ...DEFAULT_SETTINGS, ...store.get('settings') }); + const [state, dispatch] = useReducer(useSettingsReducer, { + ...DEFAULT_SETTINGS, + ...store.get('settings'), + }); useEffect(() => { store.set('settings', state || DEFAULT_SETTINGS); diff --git a/src/renderer/hooks/use-hover.ts b/src/renderer/hooks/use-hover.ts index 7c53163..80c8a3c 100644 --- a/src/renderer/hooks/use-hover.ts +++ b/src/renderer/hooks/use-hover.ts @@ -1,6 +1,9 @@ import { useState } from 'react'; -export const useHover = (): { isHovering: boolean; props: { onMouseEnter: () => void; onMouseLeave: () => void } } => { +export const useHover = (): { + isHovering: boolean; + props: { onMouseEnter: () => void; onMouseLeave: () => void }; +} => { const [isHovering, setIsHovering] = useState(false); const props = { diff --git a/src/renderer/index.html b/src/renderer/index.html index 0d9ff6f..5e4d447 100644 --- a/src/renderer/index.html +++ b/src/renderer/index.html @@ -1,14 +1,11 @@ + + + lofi + - - - lofi - - - -
- - - \ No newline at end of file + +
+ + diff --git a/src/renderer/style.css b/src/renderer/style.css index 99046ca..f09e5c7 100644 --- a/src/renderer/style.css +++ b/src/renderer/style.css @@ -1,9 +1,9 @@ -@import url('./static/inter-ui/inter-ui.css'); -@import url('./static/fontawesome/css/all.min.css'); +@import url("./static/inter-ui/inter-ui.css"); +@import url("./static/fontawesome/css/all.min.css"); html, body { - font-family: 'Inter UI', sans-serif; + font-family: "Inter UI", sans-serif; height: 100%; width: 100%; -webkit-app-region: none; @@ -64,4 +64,4 @@ body { background-color: transparent; width: 100%; height: 100%; -} \ No newline at end of file +} diff --git a/src/renderer/windows/settings/advanced-settings.tsx b/src/renderer/windows/settings/advanced-settings.tsx index 4e2aa1f..ce01efd 100644 --- a/src/renderer/windows/settings/advanced-settings.tsx +++ b/src/renderer/windows/settings/advanced-settings.tsx @@ -5,8 +5,6 @@ import { DEFAULT_SETTINGS, Settings } from '../../../models/settings'; import { FieldSet, FormGroup, Label, Legend, RangeValue, Row, Slider, StyledCheckbox } from '../../components'; import { INPUT_COLOR } from '../../components/mantine.styled'; - - export const AdvancedSettings: FunctionComponent = () => { const { register, watch } = useFormContext(); @@ -36,7 +34,10 @@ export const AdvancedSettings: FunctionComponent = () => { max={10000} step={500} defaultValue={DEFAULT_SETTINGS.refreshTime} - {...register('refreshTime', { required: true, valueAsNumber: true })} + {...register('refreshTime', { + required: true, + valueAsNumber: true, + })} /> {refreshTimeWatch} diff --git a/src/renderer/windows/settings/audio-settings.tsx b/src/renderer/windows/settings/audio-settings.tsx index 4dad1e3..376ea9e 100644 --- a/src/renderer/windows/settings/audio-settings.tsx +++ b/src/renderer/windows/settings/audio-settings.tsx @@ -23,7 +23,10 @@ export const AudioSettings: FunctionComponent = () => { max={100} step={2} defaultValue={DEFAULT_SETTINGS.volumeIncrement} - {...register('volumeIncrement', { required: true, valueAsNumber: true })} + {...register('volumeIncrement', { + required: true, + valueAsNumber: true, + })} /> {volumeIncrementWatch} @@ -37,7 +40,10 @@ export const AudioSettings: FunctionComponent = () => { max={MAX_SKIP_SONG_DELAY} step={5} defaultValue={DEFAULT_SETTINGS.skipSongDelay} - {...register('skipSongDelay', { required: true, valueAsNumber: true })} + {...register('skipSongDelay', { + required: true, + valueAsNumber: true, + })} /> {skipSongDelayWatch} diff --git a/src/renderer/windows/settings/track-info-settings.tsx b/src/renderer/windows/settings/track-info-settings.tsx index 3035db7..ae57116 100644 --- a/src/renderer/windows/settings/track-info-settings.tsx +++ b/src/renderer/windows/settings/track-info-settings.tsx @@ -31,7 +31,10 @@ export const TrackInfoSettings: FunctionComponent = () => { max={MAX_FONT_SIZE} step={1} defaultValue={DEFAULT_SETTINGS.trackInfoFontSize} - {...register('trackInfoFontSize', { required: true, valueAsNumber: true })} + {...register('trackInfoFontSize', { + required: true, + valueAsNumber: true, + })} /> {trackInfoFontSizeWatch} @@ -57,7 +60,10 @@ export const TrackInfoSettings: FunctionComponent = () => { max={100} step={1} defaultValue={DEFAULT_SETTINGS.trackInfoBackgroundOpacity} - {...register('trackInfoBackgroundOpacity', { required: true, valueAsNumber: true })} + {...register('trackInfoBackgroundOpacity', { + required: true, + valueAsNumber: true, + })} /> {trackInfoBackgroundOpacityWatch} diff --git a/src/renderer/windows/settings/visualization-settings.tsx b/src/renderer/windows/settings/visualization-settings.tsx index f5f42fe..c441683 100644 --- a/src/renderer/windows/settings/visualization-settings.tsx +++ b/src/renderer/windows/settings/visualization-settings.tsx @@ -54,7 +54,10 @@ export const VisualizationSettings: FunctionComponent = ({ max={100} step={5} defaultValue={DEFAULT_SETTINGS.visualizerOpacity} - {...register('visualizerOpacity', { required: true, valueAsNumber: true })} + {...register('visualizerOpacity', { + required: true, + valueAsNumber: true, + })} /> {opacityWatch} diff --git a/src/renderer/windows/settings/window-settings.tsx b/src/renderer/windows/settings/window-settings.tsx index 80b43ba..27b62c2 100644 --- a/src/renderer/windows/settings/window-settings.tsx +++ b/src/renderer/windows/settings/window-settings.tsx @@ -62,7 +62,10 @@ export const WindowSettings: FunctionComponent = () => { max={MAX_BAR_THICKNESS} step={1} defaultValue={DEFAULT_SETTINGS.barThickness} - {...register('barThickness', { required: true, valueAsNumber: true })} + {...register('barThickness', { + required: true, + valueAsNumber: true, + })} /> {barThicknessWatch} @@ -82,7 +85,10 @@ export const WindowSettings: FunctionComponent = () => { max={MAX_CORNER_RADIUS} step={1} defaultValue={DEFAULT_SETTINGS.cornerRadius} - {...register('cornerRadius', { required: true, valueAsNumber: true })} + {...register('cornerRadius', { + required: true, + valueAsNumber: true, + })} /> {cornerRadiusWatch} diff --git a/webpack.dev.js b/webpack.dev.js index 4aa9725..487f1f2 100644 --- a/webpack.dev.js +++ b/webpack.dev.js @@ -1,14 +1,14 @@ -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const CopyPkgJsonPlugin = require('copy-pkg-json-webpack-plugin'); -const path = require('path'); -const outputFolder = '/pack'; +const HtmlWebpackPlugin = require("html-webpack-plugin"); +const CopyPkgJsonPlugin = require("copy-pkg-json-webpack-plugin"); +const path = require("path"); +const outputFolder = "/pack"; let mainConfig = { - mode: 'development', - entry: './src/main/main.ts', - target: 'electron-main', + mode: "development", + entry: "./src/main/main.ts", + target: "electron-main", output: { - filename: 'main.bundle.js', + filename: "main.bundle.js", path: __dirname + outputFolder, }, node: { @@ -16,7 +16,7 @@ let mainConfig = { __filename: false, }, resolve: { - extensions: ['.js', '.json', '.ts'], + extensions: [".js", ".json", ".ts"], }, module: { rules: [ @@ -25,42 +25,42 @@ let mainConfig = { test: /\.(ts)$/, exclude: /node_modules/, use: { - loader: 'ts-loader', + loader: "ts-loader", }, }, { test: /\.(gif|jpg|png|svg|ico|icns)$/, - loader: 'file-loader', + loader: "file-loader", options: { - name: '[path][name].[ext]', + name: "[path][name].[ext]", }, }, { test: /\.(eot|ttf|woff|woff2)$/, - loader: 'file-loader', + loader: "file-loader", options: { - name: '[path][name].[ext]', + name: "[path][name].[ext]", }, }, { test: /\.node$/, - use: 'native-ext-loader', + use: "native-ext-loader", }, ], }, plugins: [ new CopyPkgJsonPlugin({ - remove: ['devDependencies'], + remove: ["devDependencies"], }), ], }; let rendererConfig = { - mode: 'development', - entry: './src/renderer/renderer.tsx', - target: 'electron-renderer', + mode: "development", + entry: "./src/renderer/renderer.tsx", + target: "electron-renderer", output: { - filename: 'renderer.bundle.js', + filename: "renderer.bundle.js", path: __dirname + outputFolder, }, node: { @@ -68,7 +68,7 @@ let rendererConfig = { __filename: false, }, resolve: { - extensions: ['.js', '.json', '.ts', '.tsx'], + extensions: [".js", ".json", ".ts", ".tsx"], }, module: { rules: [ @@ -77,30 +77,30 @@ let rendererConfig = { test: /\.(ts|tsx)$/, exclude: /node_modules/, use: { - loader: 'ts-loader', + loader: "ts-loader", }, }, { test: /\.(css)$/, - use: ['style-loader', 'css-loader?sourceMap'], + use: ["style-loader", "css-loader?sourceMap"], }, { test: /\.(gif|jpg|png|svg|ico|icns|eot|ttf|woff|woff2)$/, - loader: 'file-loader', + loader: "file-loader", options: { - name: '[path][name].[ext]', + name: "[path][name].[ext]", }, }, { test: /\.node$/, - use: 'native-ext-loader', + use: "native-ext-loader", }, ], }, plugins: [ new HtmlWebpackPlugin({ - filename: 'index.html', - template: path.resolve(__dirname, './src/renderer/index.html'), + filename: "index.html", + template: path.resolve(__dirname, "./src/renderer/index.html"), }), ], }; diff --git a/webpack.prod.js b/webpack.prod.js index 5a0badc..c939b54 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -1,14 +1,14 @@ -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const CopyPkgJsonPlugin = require('copy-pkg-json-webpack-plugin'); -const path = require('path'); -const outputFolder = '/pack'; +const HtmlWebpackPlugin = require("html-webpack-plugin"); +const CopyPkgJsonPlugin = require("copy-pkg-json-webpack-plugin"); +const path = require("path"); +const outputFolder = "/pack"; let mainConfig = { - mode: 'production', - entry: './src/main/main.ts', - target: 'electron-main', + mode: "production", + entry: "./src/main/main.ts", + target: "electron-main", output: { - filename: 'main.bundle.js', + filename: "main.bundle.js", path: __dirname + outputFolder, }, node: { @@ -16,7 +16,7 @@ let mainConfig = { __filename: false, }, resolve: { - extensions: ['.js', '.json', '.ts'], + extensions: [".js", ".json", ".ts"], }, module: { rules: [ @@ -25,35 +25,35 @@ let mainConfig = { test: /\.(ts)$/, exclude: /node_modules/, use: { - loader: 'ts-loader', + loader: "ts-loader", }, }, { test: /\.(gif|jpg|png|svg|ico|icns|eot|ttf|woff|woff2)$/, - loader: 'file-loader', + loader: "file-loader", options: { - name: '[path][name].[ext]', + name: "[path][name].[ext]", }, }, { test: /\.node$/, - use: 'native-ext-loader', + use: "native-ext-loader", }, ], }, plugins: [ new CopyPkgJsonPlugin({ - remove: ['devDependencies'], + remove: ["devDependencies"], }), ], }; let rendererConfig = { - mode: 'production', - entry: './src/renderer/renderer.tsx', - target: 'electron-renderer', + mode: "production", + entry: "./src/renderer/renderer.tsx", + target: "electron-renderer", output: { - filename: 'renderer.bundle.js', + filename: "renderer.bundle.js", path: __dirname + outputFolder, }, node: { @@ -61,7 +61,7 @@ let rendererConfig = { __filename: false, }, resolve: { - extensions: ['.js', '.json', '.ts', '.tsx'], + extensions: [".js", ".json", ".ts", ".tsx"], }, module: { rules: [ @@ -70,36 +70,36 @@ let rendererConfig = { test: /\.(ts|tsx)$/, exclude: /node_modules/, use: { - loader: 'ts-loader', + loader: "ts-loader", }, }, { test: /\.(css)$/, - use: ['style-loader', 'css-loader?sourceMap'], + use: ["style-loader", "css-loader?sourceMap"], }, { test: /\.(gif|jpg|png|svg|ico|icns)$/, - loader: 'file-loader', + loader: "file-loader", options: { - name: '[path][name].[ext]', + name: "[path][name].[ext]", }, }, { test: /\.(eot|ttf|woff|woff2)$/, - loader: 'file-loader', + loader: "file-loader", options: { - name: '[path][name].[ext]', + name: "[path][name].[ext]", }, }, { test: /\.node$/, - use: 'native-ext-loader', + use: "native-ext-loader", }, ], }, plugins: [ new HtmlWebpackPlugin({ - template: path.resolve(__dirname, './src/renderer/index.html'), + template: path.resolve(__dirname, "./src/renderer/index.html"), }), ], };