diff --git a/biome.json b/biome.json index 5479d49cd..5ab3cf6f0 100644 --- a/biome.json +++ b/biome.json @@ -1,12 +1,10 @@ { - "$schema": "https://biomejs.dev/schemas/1.8.3/schema.json", + "$schema": "https://biomejs.dev/schemas/2.1.1/schema.json", "formatter": { "enabled": true, "indentStyle": "tab" }, - "organizeImports": { - "enabled": true - }, + "assist": { "actions": { "source": { "organizeImports": "on" } } }, "linter": { "enabled": true, "rules": { @@ -34,23 +32,21 @@ "globals": ["Global1"] }, "files": { - "include": [ - "src/**/*", - "utils/**/*.js", - "www/**/*.js", - "www/res/**/*.css", - "src/plugins/terminal" - ], - "ignore": [ - "ace-builds", - "www/js/**/*.js", - "www/css/**/*.css", - "src/plugins/**/*", - "plugins/**/*", - "hooks/**/*", - "fastlane/**/*", - "res/**/*", - "platforms/**/*" + "includes": [ + "**/src/**/*", + "**/utils/**/*.js", + "**/www/**/*.js", + "**/www/res/**/*.css", + "**/src/plugins/terminal/**", + "!**/ace-builds", + "!**/www/js/**/*.js", + "!**/www/css/**/*.css", + "!**/src/plugins/**/*", + "!**/plugins/**/*", + "!**/hooks/**/*", + "!**/fastlane/**/*", + "!**/res/**/*", + "!**/platforms/**/*" ] } } diff --git a/package-lock.json b/package-lock.json index 62e57cc9d..10c1af0e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,7 +49,7 @@ "@babel/preset-env": "^7.24.6", "@babel/runtime": "^7.24.6", "@babel/runtime-corejs3": "^7.24.6", - "@biomejs/biome": "1.8.3", + "@biomejs/biome": "2.1.1", "@types/ace": "^0.0.52", "@types/url-parse": "^1.4.11", "autoprefixer": "^10.4.19", @@ -1942,11 +1942,11 @@ } }, "node_modules/@biomejs/biome": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.8.3.tgz", - "integrity": "sha512-/uUV3MV+vyAczO+vKrPdOW0Iaet7UnJMU4bNMinggGJTAnBPjCoLEYcyYtYHNnUNYlv4xZMH6hVIQCAozq8d5w==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.1.1.tgz", + "integrity": "sha512-HFGYkxG714KzG+8tvtXCJ1t1qXQMzgWzfvQaUjxN6UeKv+KvMEuliInnbZLJm6DXFXwqVi6446EGI0sGBLIYng==", "dev": true, - "hasInstallScript": true, + "license": "MIT OR Apache-2.0", "bin": { "biome": "bin/biome" }, @@ -1958,24 +1958,25 @@ "url": "https://opencollective.com/biome" }, "optionalDependencies": { - "@biomejs/cli-darwin-arm64": "1.8.3", - "@biomejs/cli-darwin-x64": "1.8.3", - "@biomejs/cli-linux-arm64": "1.8.3", - "@biomejs/cli-linux-arm64-musl": "1.8.3", - "@biomejs/cli-linux-x64": "1.8.3", - "@biomejs/cli-linux-x64-musl": "1.8.3", - "@biomejs/cli-win32-arm64": "1.8.3", - "@biomejs/cli-win32-x64": "1.8.3" + "@biomejs/cli-darwin-arm64": "2.1.1", + "@biomejs/cli-darwin-x64": "2.1.1", + "@biomejs/cli-linux-arm64": "2.1.1", + "@biomejs/cli-linux-arm64-musl": "2.1.1", + "@biomejs/cli-linux-x64": "2.1.1", + "@biomejs/cli-linux-x64-musl": "2.1.1", + "@biomejs/cli-win32-arm64": "2.1.1", + "@biomejs/cli-win32-x64": "2.1.1" } }, "node_modules/@biomejs/cli-darwin-arm64": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.8.3.tgz", - "integrity": "sha512-9DYOjclFpKrH/m1Oz75SSExR8VKvNSSsLnVIqdnKexj6NwmiMlKk94Wa1kZEdv6MCOHGHgyyoV57Cw8WzL5n3A==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.1.1.tgz", + "integrity": "sha512-2Muinu5ok4tWxq4nu5l19el48cwCY/vzvI7Vjbkf3CYIQkjxZLyj0Ad37Jv2OtlXYaLvv+Sfu1hFeXt/JwRRXQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT OR Apache-2.0", "optional": true, "os": [ "darwin" @@ -1985,13 +1986,14 @@ } }, "node_modules/@biomejs/cli-darwin-x64": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.8.3.tgz", - "integrity": "sha512-UeW44L/AtbmOF7KXLCoM+9PSgPo0IDcyEUfIoOXYeANaNXXf9mLUwV1GeF2OWjyic5zj6CnAJ9uzk2LT3v/wAw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.1.1.tgz", + "integrity": "sha512-cC8HM5lrgKQXLAK+6Iz2FrYW5A62pAAX6KAnRlEyLb+Q3+Kr6ur/sSuoIacqlp1yvmjHJqjYfZjPvHWnqxoEIA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT OR Apache-2.0", "optional": true, "os": [ "darwin" @@ -2001,13 +2003,14 @@ } }, "node_modules/@biomejs/cli-linux-arm64": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.8.3.tgz", - "integrity": "sha512-fed2ji8s+I/m8upWpTJGanqiJ0rnlHOK3DdxsyVLZQ8ClY6qLuPc9uehCREBifRJLl/iJyQpHIRufLDeotsPtw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.1.1.tgz", + "integrity": "sha512-tw4BEbhAUkWPe4WBr6IX04DJo+2jz5qpPzpW/SWvqMjb9QuHY8+J0M23V8EPY/zWU4IG8Ui0XESapR1CB49Q7g==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT OR Apache-2.0", "optional": true, "os": [ "linux" @@ -2017,13 +2020,14 @@ } }, "node_modules/@biomejs/cli-linux-arm64-musl": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.8.3.tgz", - "integrity": "sha512-9yjUfOFN7wrYsXt/T/gEWfvVxKlnh3yBpnScw98IF+oOeCYb5/b/+K7YNqKROV2i1DlMjg9g/EcN9wvj+NkMuQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.1.1.tgz", + "integrity": "sha512-/7FBLnTswu4jgV9ttI3AMIdDGqVEPIZd8I5u2D4tfCoj8rl9dnjrEQbAIDlWhUXdyWlFSz8JypH3swU9h9P+2A==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT OR Apache-2.0", "optional": true, "os": [ "linux" @@ -2033,13 +2037,14 @@ } }, "node_modules/@biomejs/cli-linux-x64": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.8.3.tgz", - "integrity": "sha512-I8G2QmuE1teISyT8ie1HXsjFRz9L1m5n83U1O6m30Kw+kPMPSKjag6QGUn+sXT8V+XWIZxFFBoTDEDZW2KPDDw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.1.1.tgz", + "integrity": "sha512-3WJ1GKjU7NzZb6RTbwLB59v9cTIlzjbiFLDB0z4376TkDqoNYilJaC37IomCr/aXwuU8QKkrYoHrgpSq5ffJ4Q==", "cpu": [ "x64" ], "dev": true, + "license": "MIT OR Apache-2.0", "optional": true, "os": [ "linux" @@ -2049,13 +2054,14 @@ } }, "node_modules/@biomejs/cli-linux-x64-musl": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.8.3.tgz", - "integrity": "sha512-UHrGJX7PrKMKzPGoEsooKC9jXJMa28TUSMjcIlbDnIO4EAavCoVmNQaIuUSH0Ls2mpGMwUIf+aZJv657zfWWjA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.1.1.tgz", + "integrity": "sha512-kUu+loNI3OCD2c12cUt7M5yaaSjDnGIksZwKnueubX6c/HWUyi/0mPbTBHR49Me3F0KKjWiKM+ZOjsmC+lUt9g==", "cpu": [ "x64" ], "dev": true, + "license": "MIT OR Apache-2.0", "optional": true, "os": [ "linux" @@ -2065,13 +2071,14 @@ } }, "node_modules/@biomejs/cli-win32-arm64": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.8.3.tgz", - "integrity": "sha512-J+Hu9WvrBevfy06eU1Na0lpc7uR9tibm9maHynLIoAjLZpQU3IW+OKHUtyL8p6/3pT2Ju5t5emReeIS2SAxhkQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.1.1.tgz", + "integrity": "sha512-vEHK0v0oW+E6RUWLoxb2isI3rZo57OX9ZNyyGH701fZPj6Il0Rn1f5DMNyCmyflMwTnIQstEbs7n2BxYSqQx4Q==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT OR Apache-2.0", "optional": true, "os": [ "win32" @@ -2081,13 +2088,14 @@ } }, "node_modules/@biomejs/cli-win32-x64": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.8.3.tgz", - "integrity": "sha512-/PJ59vA1pnQeKahemaQf4Nyj7IKUvGQSc3Ze1uIGi+Wvr1xF7rGobSrAAG01T/gUDG21vkDsZYM03NAmPiVkqg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.1.1.tgz", + "integrity": "sha512-i2PKdn70kY++KEF/zkQFvQfX1e8SkA8hq4BgC+yE9dZqyLzB/XStY2MvwI3qswlRgnGpgncgqe0QYKVS1blksg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT OR Apache-2.0", "optional": true, "os": [ "win32" @@ -2834,12 +2842,13 @@ "peer": true }, "node_modules/@types/node": { - "version": "20.11.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.13.tgz", - "integrity": "sha512-5G4zQwdiQBSWYTDAH1ctw2eidqdhMJaNsiIDKHFr55ihz5Trl2qqR8fdrT732yPBho5gkNxXm67OxWFBqX9aPg==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.1.0.tgz", + "integrity": "sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==", "dev": true, + "license": "MIT", "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~7.8.0" } }, "node_modules/@types/trusted-types": { @@ -10121,6 +10130,126 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/ts-loader": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.2.tgz", + "integrity": "sha512-Qo4piXvOTWcMGIgRiuFa6nHNm+54HbYaZCKqc9eeZCLRy3XqafQgwX2F7mofrbJG3g7EEb+lkiR+z2Lic2s3Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/ts-loader/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ts-loader/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ts-loader/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ts-loader/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ts-loader/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-loader/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-loader/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/ts-loader/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/tslib": { "version": "1.14.1", "license": "0BSD" @@ -10170,16 +10299,31 @@ "is-typedarray": "^1.0.0" } }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, "node_modules/uc.micro": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==" }, "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", + "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", + "dev": true, + "license": "MIT" }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", diff --git a/package.json b/package.json index 88206ac5d..f29ca0c5c 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "@babel/preset-env": "^7.24.6", "@babel/runtime": "^7.24.6", "@babel/runtime-corejs3": "^7.24.6", - "@biomejs/biome": "1.8.3", + "@biomejs/biome": "2.1.1", "@types/ace": "^0.0.52", "@types/url-parse": "^1.4.11", "autoprefixer": "^10.4.19", @@ -129,4 +129,4 @@ "yargs": "^17.7.2" }, "browserslist": "cover 100%,not android < 5" -} \ No newline at end of file +} diff --git a/src/ace/colorView.js b/src/ace/colorView.js index 3952c2241..1624544e3 100644 --- a/src/ace/colorView.js +++ b/src/ace/colorView.js @@ -8,10 +8,10 @@ import { HEX, HSL, HSLA, + isValidColor, NAMED_COLORS, RGB, RGBA, - isValidColor, } from "utils/color/regex"; const COLORPICKER_TOKEN_CLASS = ".ace_color"; diff --git a/src/ace/commands.js b/src/ace/commands.js index 233a23c0b..8f8f0047d 100644 --- a/src/ace/commands.js +++ b/src/ace/commands.js @@ -1,5 +1,5 @@ -import prompt from "dialogs/prompt"; import fsOperation from "fileSystem"; +import prompt from "dialogs/prompt"; import actions from "handlers/quickTools"; import keyBindings from "lib/keyBindings"; import settings from "lib/settings"; diff --git a/src/components/terminal/terminalTouchSelection.css b/src/components/terminal/terminalTouchSelection.css index 2cb7b1896..990a44fca 100644 --- a/src/components/terminal/terminalTouchSelection.css +++ b/src/components/terminal/terminalTouchSelection.css @@ -3,133 +3,133 @@ */ .terminal-selection-overlay { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - pointer-events: none; - z-index: 100; - overflow: hidden; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none; + z-index: 100; + overflow: hidden; } .terminal-selection-handle { - position: absolute; - background: #2196f3; - border: 2px solid #fff; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); - display: none; - pointer-events: auto; - touch-action: none; - z-index: 101; - cursor: grab; - transition: transform 0.15s ease; + position: absolute; + background: #2196f3; + border: 2px solid #fff; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); + display: none; + pointer-events: auto; + touch-action: none; + z-index: 101; + cursor: grab; + transition: transform 0.15s ease; } .terminal-selection-handle:active { - cursor: grabbing; + cursor: grabbing; } .terminal-selection-handle-start, .terminal-selection-handle-end { - transform: rotate(135deg); - border-radius: 50% 50% 50% 0; + transform: rotate(135deg); + border-radius: 50% 50% 50% 0; } .terminal-context-menu { - position: absolute; - background-color: var(--secondary-color); - border-radius: 4px; - height: 40px; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4); - box-shadow: 0 4px 12px var(--box-shadow-color); - border: none; - border: solid 1px var(--popup-border-color); - z-index: 1000; - min-width: 200px; - animation: fadeIn 0.2s ease; - flex-direction: row; - align-items: center; - justify-content: space-around; - pointer-events: auto; + position: absolute; + background-color: var(--secondary-color); + border-radius: 4px; + height: 40px; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4); + box-shadow: 0 4px 12px var(--box-shadow-color); + border: none; + border: solid 1px var(--popup-border-color); + z-index: 1000; + min-width: 200px; + animation: fadeIn 0.2s ease; + flex-direction: row; + align-items: center; + justify-content: space-around; + pointer-events: auto; } @keyframes fadeIn { - from { - opacity: 0; - transform: translateY(10px); - } - to { - opacity: 1; - transform: translateY(0); - } + from { + opacity: 0; + transform: translateY(10px); + } + to { + opacity: 1; + transform: translateY(0); + } } .terminal-context-menu button { - display: inline-block; - flex: 1; - padding: 12px 16px; - border: none; - background: transparent; - color: #fff; - font-size: 14px; - font-weight: 500; - text-align: center; - cursor: pointer; - border-radius: 16px; - margin: 0 4px; - transition: background-color 0.15s ease; - white-space: nowrap; - pointer-events: auto; + display: inline-block; + flex: 1; + padding: 12px 16px; + border: none; + background: transparent; + color: #fff; + font-size: 14px; + font-weight: 500; + text-align: center; + cursor: pointer; + border-radius: 16px; + margin: 0 4px; + transition: background-color 0.15s ease; + white-space: nowrap; + pointer-events: auto; } .terminal-context-menu button:hover, .terminal-context-menu button:focus { - background: #616161; - outline: none; + background: #616161; + outline: none; } .terminal-context-menu button:active { - background: #757575; + background: #757575; } @media (min-width: 768px) { - .terminal-selection-handle { - width: 28px; - height: 28px; - } - - .terminal-context-menu { - min-width: 240px; - } - - .terminal-context-menu button { - padding: 14px 18px; - font-size: 16px; - } + .terminal-selection-handle { + width: 28px; + height: 28px; + } + + .terminal-context-menu { + min-width: 240px; + } + + .terminal-context-menu button { + padding: 14px 18px; + font-size: 16px; + } } @media (prefers-contrast: high) { - .terminal-selection-handle { - border-width: 3px; - box-shadow: 0 3px 12px rgba(0, 0, 0, 0.6); - } - - .terminal-context-menu { - border: 2px solid #000; - } + .terminal-selection-handle { + border-width: 3px; + box-shadow: 0 3px 12px rgba(0, 0, 0, 0.6); + } + + .terminal-context-menu { + border: 2px solid #000; + } } @media (prefers-reduced-motion: reduce) { - .terminal-selection-handle { - transition: none; - } + .terminal-selection-handle { + transition: none; + } - .terminal-context-menu { - animation: none; - } + .terminal-context-menu { + animation: none; + } - .terminal-context-menu button { - transition: none; - } + .terminal-context-menu button { + transition: none; + } } diff --git a/src/components/toast/index.js b/src/components/toast/index.js index bdedd467a..bed7ace02 100644 --- a/src/components/toast/index.js +++ b/src/components/toast/index.js @@ -17,14 +17,12 @@ export default function toast(message, duration = 0, bgColor, color) { style={{ backgroundColor: bgColor, color }} > {message} - {duration === false ? ( - - ) : ( - "" - )} + {duration === false + ? + : ""} ); diff --git a/src/dialogs/select.js b/src/dialogs/select.js index 9503e3de5..764dee865 100644 --- a/src/dialogs/select.js +++ b/src/dialogs/select.js @@ -48,9 +48,9 @@ function select(title, items, options = {}) { const $list = tag("ul", { className: `scroll${!textTransform ? " no-text-transform" : ""}`, }); - const $titleSpan = title ? ( - {title} - ) : null; + const $titleSpan = title + ? {title} + : null; const $select = (
{$titleSpan ? [$titleSpan, $list] : $list} diff --git a/src/fileSystem/externalFs.js b/src/fileSystem/externalFs.js index 8f6b22f2f..8ff1a291e 100644 --- a/src/fileSystem/externalFs.js +++ b/src/fileSystem/externalFs.js @@ -1,7 +1,7 @@ import loader from "dialogs/loader"; -import Url from "utils/Url"; import { decode, encode } from "utils/encodings"; import helpers from "utils/helpers"; +import Url from "utils/Url"; const externalFs = { async readFile(url) { diff --git a/src/fileSystem/ftp.js b/src/fileSystem/ftp.js index 7002e89eb..8ba1ea720 100644 --- a/src/fileSystem/ftp.js +++ b/src/fileSystem/ftp.js @@ -1,9 +1,9 @@ import settings from "lib/settings"; import mimeType from "mime-types"; -import Path from "utils/Path"; -import Url from "utils/Url"; import { decode, encode } from "utils/encodings"; import helpers from "utils/helpers"; +import Path from "utils/Path"; +import Url from "utils/Url"; import internalFs from "./internalFs"; class FtpClient { diff --git a/src/fileSystem/index.js b/src/fileSystem/index.js index d61e6e967..2d74065ad 100644 --- a/src/fileSystem/index.js +++ b/src/fileSystem/index.js @@ -1,6 +1,6 @@ import ajax from "@deadlyjack/ajax"; -import Url from "utils/Url"; import { decode } from "utils/encodings"; +import Url from "utils/Url"; import externalFs from "./externalFs"; import Ftp from "./ftp"; import internalFs from "./internalFs"; diff --git a/src/fileSystem/internalFs.js b/src/fileSystem/internalFs.js index c53654cf7..870da7c41 100644 --- a/src/fileSystem/internalFs.js +++ b/src/fileSystem/internalFs.js @@ -1,8 +1,8 @@ -import ajax from "@deadlyjack/ajax"; import fsOperation from "fileSystem"; -import Url from "utils/Url"; +import ajax from "@deadlyjack/ajax"; import { decode, encode } from "utils/encodings"; import helpers from "utils/helpers"; +import Url from "utils/Url"; const internalFs = { /** diff --git a/src/fileSystem/sftp.js b/src/fileSystem/sftp.js index 8c582113e..539a11e48 100644 --- a/src/fileSystem/sftp.js +++ b/src/fileSystem/sftp.js @@ -1,9 +1,9 @@ import settings from "lib/settings"; import mimeType from "mime-types"; -import Path from "utils/Path"; -import Url from "utils/Url"; import { decode, encode } from "utils/encodings"; import helpers from "utils/helpers"; +import Path from "utils/Path"; +import Url from "utils/Url"; import internalFs from "./internalFs"; class SftpClient { diff --git a/src/handlers/keyboard.js b/src/handlers/keyboard.js index 83ab2c24b..62567f8fe 100644 --- a/src/handlers/keyboard.js +++ b/src/handlers/keyboard.js @@ -1,6 +1,6 @@ import { - HARDKEYBOARDHIDDEN_NO, getSystemConfiguration, + HARDKEYBOARDHIDDEN_NO, } from "lib/systemConfiguration"; import KeyboardEvent from "utils/keyboardEvent"; import windowResize from "./windowResize"; diff --git a/src/lib/acode.js b/src/lib/acode.js index 7bec984d8..f278cf142 100644 --- a/src/lib/acode.js +++ b/src/lib/acode.js @@ -1,4 +1,7 @@ +import fsOperation from "fileSystem"; +import sidebarApps from "sidebarApps"; import ajax from "@deadlyjack/ajax"; +import { addMode, removeMode } from "ace/modelist"; import Contextmenu from "components/contextmenu"; import inputhints from "components/inputhints"; import Page from "components/page"; @@ -16,7 +19,7 @@ import loader from "dialogs/loader"; import multiPrompt from "dialogs/multiPrompt"; import prompt from "dialogs/prompt"; import select from "dialogs/select"; -import fsOperation from "fileSystem"; +import { addIntentHandler, removeIntentHandler } from "handlers/intent"; import keyboardHandler from "handlers/keyboard"; import purchaseListener from "handlers/purchase"; import windowResize from "handlers/windowResize"; @@ -27,27 +30,21 @@ import files from "lib/fileList"; import fileTypeHandler from "lib/fileTypeHandler"; import fonts from "lib/fonts"; import NotificationManager from "lib/notificationManager"; -import openFolder from "lib/openFolder"; +import openFolder, { addedFolder } from "lib/openFolder"; import projects from "lib/projects"; import selectionMenu from "lib/selectionMenu"; import appSettings from "lib/settings"; import FileBrowser from "pages/fileBrowser"; import formatterSettings from "settings/formatterSettings"; -import sidebarApps from "sidebarApps"; import ThemeBuilder from "theme/builder"; import themes from "theme/list"; -import Url from "utils/Url"; import Color from "utils/color"; -import encodings from "utils/encodings"; +import encodings, { decode, encode } from "utils/encodings"; import helpers from "utils/helpers"; import KeyboardEvent from "utils/keyboardEvent"; +import Url from "utils/Url"; import constants from "./constants"; -import { addMode, removeMode } from "ace/modelist"; -import { addIntentHandler, removeIntentHandler } from "handlers/intent"; -import { addedFolder } from "lib/openFolder"; -import { decode, encode } from "utils/encodings"; - export default class Acode { #modules = {}; #pluginsInit = {}; diff --git a/src/lib/auth.js b/src/lib/auth.js index e8ac126e9..4d0763a41 100644 --- a/src/lib/auth.js +++ b/src/lib/auth.js @@ -1,5 +1,5 @@ -import toast from "components/toast"; import fsOperation from "fileSystem"; +import toast from "components/toast"; import { addIntentHandler } from "handlers/intent"; import constants from "./constants"; diff --git a/src/lib/checkFiles.js b/src/lib/checkFiles.js index 9f585f9b4..3b369d481 100644 --- a/src/lib/checkFiles.js +++ b/src/lib/checkFiles.js @@ -1,6 +1,6 @@ +import fsOperation from "fileSystem"; import alert from "dialogs/alert"; import confirm from "dialogs/confirm"; -import fsOperation from "fileSystem"; let checkFileEnabled = true; diff --git a/src/lib/commands.js b/src/lib/commands.js index e0bf653f3..94408dd80 100644 --- a/src/lib/commands.js +++ b/src/lib/commands.js @@ -1,10 +1,10 @@ +import fsOperation from "fileSystem"; import Sidebar from "components/sidebar"; import { TerminalManager } from "components/terminal"; import color from "dialogs/color"; import confirm from "dialogs/confirm"; import prompt from "dialogs/prompt"; import select from "dialogs/select"; -import fsOperation from "fileSystem"; import actions from "handlers/quickTools"; import recents from "lib/recents"; import FileBrowser from "pages/fileBrowser"; @@ -18,9 +18,9 @@ import findFile from "palettes/findFile"; import browser from "plugins/browser"; import help from "settings/helpSettings"; import mainSettings from "settings/mainSettings"; -import Url from "utils/Url"; import { getColorRange } from "utils/color/regex"; import helpers from "utils/helpers"; +import Url from "utils/Url"; import checkFiles from "./checkFiles"; import constants from "./constants"; import EditorFile from "./editorFile"; diff --git a/src/lib/editorFile.js b/src/lib/editorFile.js index 99f9d9034..c8c96d64f 100644 --- a/src/lib/editorFile.js +++ b/src/lib/editorFile.js @@ -1,14 +1,14 @@ +import fsOperation from "fileSystem"; import Sidebar from "components/sidebar"; import tile from "components/tile"; import confirm from "dialogs/confirm"; import DOMPurify from "dompurify"; -import fsOperation from "fileSystem"; import startDrag from "handlers/editorFileTab"; import tag from "html-tag-js"; import mimeTypes from "mime-types"; +import helpers from "utils/helpers"; import Path from "utils/Path"; import Url from "utils/Url"; -import helpers from "utils/helpers"; import constants from "./constants"; import openFolder from "./openFolder"; import run from "./run"; diff --git a/src/lib/editorManager.js b/src/lib/editorManager.js index be5b92c19..83151c2bd 100644 --- a/src/lib/editorManager.js +++ b/src/lib/editorManager.js @@ -1,21 +1,18 @@ -import initColorView from "ace/colorView"; -import { deactivateColorView } from "ace/colorView"; +import sidebarApps from "sidebarApps"; +import initColorView, { deactivateColorView } from "ace/colorView"; import { setCommands, setKeyBindings } from "ace/commands"; -import touchListeners from "ace/touchHandler"; -import { scrollAnimationFrame } from "ace/touchHandler"; +import touchListeners, { scrollAnimationFrame } from "ace/touchHandler"; import list from "components/collapsableList"; import quickTools from "components/quickTools"; import ScrollBar from "components/scrollbar"; import SideButton, { sideButtonContainer } from "components/sideButton"; -import keyboardHandler from "handlers/keyboard"; -import { keydownState } from "handlers/keyboard"; +import keyboardHandler, { keydownState } from "handlers/keyboard"; import actions from "handlers/quickTools"; -import sidebarApps from "sidebarApps"; import EditorFile from "./editorFile"; import appSettings from "./settings"; import { - HARDKEYBOARDHIDDEN_NO, getSystemConfiguration, + HARDKEYBOARDHIDDEN_NO, } from "./systemConfiguration"; /** diff --git a/src/lib/fileList.js b/src/lib/fileList.js index 79a04c5dc..4d390e1ed 100644 --- a/src/lib/fileList.js +++ b/src/lib/fileList.js @@ -1,5 +1,5 @@ -import toast from "components/toast"; import fsOperation from "fileSystem"; +import toast from "components/toast"; import { minimatch } from "minimatch"; import Url from "utils/Url"; import { addedFolder } from "./openFolder"; diff --git a/src/lib/fonts.js b/src/lib/fonts.js index bc423fe40..26c83810e 100644 --- a/src/lib/fonts.js +++ b/src/lib/fonts.js @@ -1,7 +1,7 @@ -import loader from "dialogs/loader"; import fsOperation from "fileSystem"; -import Url from "utils/Url"; +import loader from "dialogs/loader"; import helpers from "utils/helpers"; +import Url from "utils/Url"; const fonts = new Map(); diff --git a/src/lib/installPlugin.js b/src/lib/installPlugin.js index 84b9b20bd..8521c014d 100644 --- a/src/lib/installPlugin.js +++ b/src/lib/installPlugin.js @@ -1,12 +1,12 @@ +import fsOperation from "fileSystem"; import ajax from "@deadlyjack/ajax"; import alert from "dialogs/alert"; import confirm from "dialogs/confirm"; import loader from "dialogs/loader"; -import fsOperation from "fileSystem"; import purchaseListener from "handlers/purchase"; import JSZip from "jszip"; -import Url from "utils/Url"; import helpers from "utils/helpers"; +import Url from "utils/Url"; import constants from "./constants"; import InstallState from "./installState"; import loadPlugin from "./loadPlugin"; diff --git a/src/lib/loadPlugin.js b/src/lib/loadPlugin.js index cc0b0d13f..4078f29c9 100644 --- a/src/lib/loadPlugin.js +++ b/src/lib/loadPlugin.js @@ -1,7 +1,7 @@ -import Page from "components/page"; import fsOperation from "fileSystem"; -import Url from "utils/Url"; +import Page from "components/page"; import helpers from "utils/helpers"; +import Url from "utils/Url"; import actionStack from "./actionStack"; export default async function loadPlugin(pluginId, justInstalled = false) { diff --git a/src/lib/main.js b/src/lib/main.js index 7252bdf40..298e1375b 100644 --- a/src/lib/main.js +++ b/src/lib/main.js @@ -10,15 +10,18 @@ import "lib/polyfill"; import "ace/supportedModes"; import "components/WebComponents"; +import fsOperation from "fileSystem"; +import sidebarApps from "sidebarApps"; import ajax from "@deadlyjack/ajax"; +import { setKeyBindings } from "ace/commands"; +import { initModes } from "ace/modelist"; import Contextmenu from "components/contextmenu"; import Sidebar from "components/sidebar"; import tile from "components/tile"; import toast from "components/toast"; import tutorial from "components/tutorial"; -import fsOperation from "fileSystem"; import intentHandler, { processPendingIntents } from "handlers/intent"; -import keyboardHandler from "handlers/keyboard"; +import keyboardHandler, { keydownState } from "handlers/keyboard"; import quickToolsInit from "handlers/quickToolsInit"; import windowResize from "handlers/windowResize"; import Acode from "lib/acode"; @@ -28,31 +31,25 @@ import checkFiles from "lib/checkFiles"; import checkPluginsUpdate from "lib/checkPluginsUpdate"; import EditorFile from "lib/editorFile"; import EditorManager from "lib/editorManager"; +import { initFileList } from "lib/fileList"; import lang from "lib/lang"; import loadPlugins from "lib/loadPlugins"; import Logger from "lib/logger"; -import openFolder from "lib/openFolder"; +import NotificationManager from "lib/notificationManager"; +import openFolder, { addedFolder } from "lib/openFolder"; import restoreFiles from "lib/restoreFiles"; import settings from "lib/settings"; import startAd from "lib/startAd"; import mustache from "mustache"; import plugins from "pages/plugins"; import otherSettings from "settings/appSettings"; -import sidebarApps from "sidebarApps"; import themes from "theme/list"; -import Url from "utils/Url"; +import { getEncoding, initEncodings } from "utils/encodings"; import helpers from "utils/helpers"; import loadPolyFill from "utils/polyfill"; +import Url from "utils/Url"; import $_fileMenu from "views/file-menu.hbs"; import $_menu from "views/menu.hbs"; - -import { setKeyBindings } from "ace/commands"; -import { initModes } from "ace/modelist"; -import { keydownState } from "handlers/keyboard"; -import { initFileList } from "lib/fileList"; -import NotificationManager from "lib/notificationManager"; -import { addedFolder } from "lib/openFolder"; -import { getEncoding, initEncodings } from "utils/encodings"; import auth, { loginEvents } from "./auth"; const previousVersionCode = Number.parseInt(localStorage.versionCode, 10); diff --git a/src/lib/openFile.js b/src/lib/openFile.js index 62edc44e0..d4e9bc44a 100644 --- a/src/lib/openFile.js +++ b/src/lib/openFile.js @@ -1,8 +1,8 @@ +import fsOperation from "fileSystem"; import AudioPlayer from "components/audioPlayer"; import alert from "dialogs/alert"; import confirm from "dialogs/confirm"; import loader from "dialogs/loader"; -import fsOperation from "fileSystem"; import { reopenWithNewEncoding } from "palettes/changeEncoding"; import { decode } from "utils/encodings"; import helpers from "utils/helpers"; diff --git a/src/lib/openFolder.js b/src/lib/openFolder.js index 1d3bda2ed..bbbcb99db 100644 --- a/src/lib/openFolder.js +++ b/src/lib/openFolder.js @@ -1,3 +1,5 @@ +import fsOperation from "fileSystem"; +import sidebarApps from "sidebarApps"; import collapsableList from "components/collapsableList"; import Sidebar from "components/sidebar"; import tile from "components/tile"; @@ -7,12 +9,10 @@ import confirm from "dialogs/confirm"; import prompt from "dialogs/prompt"; import select from "dialogs/select"; import escapeStringRegexp from "escape-string-regexp"; -import fsOperation from "fileSystem"; import FileBrowser from "pages/fileBrowser"; -import sidebarApps from "sidebarApps"; +import helpers from "utils/helpers"; import Path from "utils/Path"; import Url from "utils/Url"; -import helpers from "utils/helpers"; import constants from "./constants"; import * as FileList from "./fileList"; import openFile from "./openFile"; diff --git a/src/lib/recents.js b/src/lib/recents.js index 59ed7cc65..9eb3bad84 100644 --- a/src/lib/recents.js +++ b/src/lib/recents.js @@ -1,7 +1,7 @@ import select from "dialogs/select"; import escapeStringRegexp from "escape-string-regexp"; -import Url from "utils/Url"; import helpers from "utils/helpers"; +import Url from "utils/Url"; const recents = { /** diff --git a/src/lib/remoteStorage.js b/src/lib/remoteStorage.js index 1050eaf80..96dee270a 100644 --- a/src/lib/remoteStorage.js +++ b/src/lib/remoteStorage.js @@ -1,11 +1,11 @@ -import loader from "dialogs/loader"; -import multiPrompt from "dialogs/multiPrompt"; import fsOperation from "fileSystem"; import Ftp from "fileSystem/ftp"; import Sftp from "fileSystem/sftp"; +import loader from "dialogs/loader"; +import multiPrompt from "dialogs/multiPrompt"; import URLParse from "url-parse"; -import Url from "utils/Url"; import helpers from "utils/helpers"; +import Url from "utils/Url"; export default { /** diff --git a/src/lib/run.js b/src/lib/run.js index 79048a77f..062a45c18 100644 --- a/src/lib/run.js +++ b/src/lib/run.js @@ -1,7 +1,7 @@ +import fsOperation from "fileSystem"; import tutorial from "components/tutorial"; import alert from "dialogs/alert"; import box from "dialogs/box"; -import fsOperation from "fileSystem"; import markdownIt from "markdown-it"; import anchor from "markdown-it-anchor"; import markdownItFootnote from "markdown-it-footnote"; @@ -11,8 +11,8 @@ import mimeType from "mime-types"; import mustache from "mustache"; import path from "path-browserify"; import browser from "plugins/browser"; -import Url from "utils/Url"; import helpers from "utils/helpers"; +import Url from "utils/Url"; import $_console from "views/console.hbs"; import $_markdown from "views/markdown.hbs"; import constants from "./constants"; diff --git a/src/lib/saveFile.js b/src/lib/saveFile.js index 79ab7ce0b..a80813ca8 100644 --- a/src/lib/saveFile.js +++ b/src/lib/saveFile.js @@ -1,10 +1,10 @@ +import fsOperation from "fileSystem"; import prompt from "dialogs/prompt"; import select from "dialogs/select"; -import fsOperation from "fileSystem"; import recents from "lib/recents"; import FileBrowser from "pages/fileBrowser"; -import Url from "utils/Url"; import helpers from "utils/helpers"; +import Url from "utils/Url"; import constants from "./constants"; import EditorFile from "./editorFile"; import openFolder from "./openFolder"; diff --git a/src/lib/settings.js b/src/lib/settings.js index 85a535651..21ef2be55 100644 --- a/src/lib/settings.js +++ b/src/lib/settings.js @@ -2,8 +2,8 @@ import fsOperation from "fileSystem"; import ThemeBuilder from "theme/builder"; import themes from "theme/list"; import { getSystemEditorTheme } from "theme/preInstalled"; -import Url from "utils/Url"; import helpers from "utils/helpers"; +import Url from "utils/Url"; import constants from "./constants"; import lang from "./lang"; import { isDeviceDarkTheme } from "./systemConfiguration"; diff --git a/src/lib/showFileInfo.js b/src/lib/showFileInfo.js index 9adaa5bd9..77eeebcca 100644 --- a/src/lib/showFileInfo.js +++ b/src/lib/showFileInfo.js @@ -1,9 +1,9 @@ -import box from "dialogs/box"; import fsOperation from "fileSystem"; +import box from "dialogs/box"; import { filesize } from "filesize"; import mustache from "mustache"; -import Url from "utils/Url"; import helpers from "utils/helpers"; +import Url from "utils/Url"; import $_fileInfo from "views/file-info.hbs"; import settings from "./settings"; diff --git a/src/pages/fileBrowser/fileBrowser.js b/src/pages/fileBrowser/fileBrowser.js index 358fd469e..f3806f994 100644 --- a/src/pages/fileBrowser/fileBrowser.js +++ b/src/pages/fileBrowser/fileBrowser.js @@ -1,5 +1,7 @@ import "./fileBrowser.scss"; +import fsOperation from "fileSystem"; +import externalFs from "fileSystem/externalFs"; import Checkbox from "components/checkbox"; import Contextmenu from "components/contextmenu"; import Page from "components/page"; @@ -9,8 +11,6 @@ import confirm from "dialogs/confirm"; import loader from "dialogs/loader"; import prompt from "dialogs/prompt"; import select from "dialogs/select"; -import fsOperation from "fileSystem"; -import externalFs from "fileSystem/externalFs"; import JSZip from "jszip"; import actionStack from "lib/actionStack"; import checkFiles from "lib/checkFiles"; @@ -24,10 +24,10 @@ import mimeTypes from "mime-types"; import mustache from "mustache"; import filesSettings from "settings/filesSettings"; import URLParse from "url-parse"; -import Url from "utils/Url"; import helpers from "utils/helpers"; -import _addMenuHome from "./add-menu-home.hbs"; +import Url from "utils/Url"; import _addMenu from "./add-menu.hbs"; +import _addMenuHome from "./add-menu-home.hbs"; import _template from "./fileBrowser.hbs"; import _list from "./list.hbs"; import util from "./util"; diff --git a/src/pages/fileBrowser/index.js b/src/pages/fileBrowser/index.js index e2da0d9e2..63becfb32 100644 --- a/src/pages/fileBrowser/index.js +++ b/src/pages/fileBrowser/index.js @@ -1,8 +1,8 @@ import alert from "dialogs/alert"; import openFile from "lib/openFile"; import openFolder, { addedFolder } from "lib/openFolder"; -import Url from "utils/Url"; import helpers from "utils/helpers"; +import Url from "utils/Url"; /** * @typedef {"file"|"folder"|"both"} BrowseMode diff --git a/src/pages/plugin/plugin.js b/src/pages/plugin/plugin.js index 89e513aea..f72be3277 100644 --- a/src/pages/plugin/plugin.js +++ b/src/pages/plugin/plugin.js @@ -1,9 +1,9 @@ import "./plugin.scss"; +import fsOperation from "fileSystem"; import ajax from "@deadlyjack/ajax"; import Page from "components/page"; import alert from "dialogs/alert"; import loader from "dialogs/loader"; -import fsOperation from "fileSystem"; import purchaseListener from "handlers/purchase"; import actionStack from "lib/actionStack"; import constants from "lib/constants"; @@ -15,8 +15,8 @@ import anchor from "markdown-it-anchor"; import markdownItFootnote from "markdown-it-footnote"; import MarkdownItGitHubAlerts from "markdown-it-github-alerts"; import markdownItTaskLists from "markdown-it-task-lists"; -import Url from "utils/Url"; import helpers from "utils/helpers"; +import Url from "utils/Url"; import view from "./plugin.view.js"; let $lastPluginPage; diff --git a/src/pages/plugin/plugin.view.js b/src/pages/plugin/plugin.view.js index 57f7dfb6d..9544272c9 100644 --- a/src/pages/plugin/plugin.view.js +++ b/src/pages/plugin/plugin.view.js @@ -1,13 +1,13 @@ +import fsOperation from "fileSystem"; import TabView from "components/tabView"; import toast from "components/toast"; import alert from "dialogs/alert"; import DOMPurify from "dompurify"; -import fsOperation from "fileSystem"; import Ref from "html-tag-js/ref"; import actionStack from "lib/actionStack"; import constants from "lib/constants"; -import Url from "utils/Url"; import helpers from "utils/helpers"; +import Url from "utils/Url"; export default (props) => { const { @@ -52,12 +52,12 @@ export default (props) => {

{name}

- {repository ? ( - - - {strings.open_source} - - ) : null} + {repository + ? + + {strings.open_source} + + : null}
@@ -69,16 +69,14 @@ export default (props) => { {author} - {authorVerified ? ( - { - toast(strings["verified publisher"]); - }} - className="licons verified verified-tick" - > - ) : ( - "" - )} + {authorVerified + ? { + toast(strings["verified publisher"]); + }} + className="licons verified verified-tick" + > + : ""} { {license || "Unknown"}
- {votesUp !== undefined ? ( -
-
- - - {helpers.formatDownloadCount( - typeof downloads === "string" - ? Number.parseInt(downloads) - : downloads, - )} - - downloads -
-
- - = 80 ? "rating-high" : rating.replace("%", "") >= 50 ? "rating-medium" : "rating-low"}`} + {votesUp !== undefined + ?
+
+ + + {helpers.formatDownloadCount( + typeof downloads === "string" + ? Number.parseInt(downloads) + : downloads, + )} + + downloads +
+
+ + = 80 ? "rating-high" : rating.replace("%", "") >= 50 ? "rating-medium" : "rating-low"}`} + > + {rating} + +
+
- {rating} - + + {commentCount} + reviews +
-
- - {commentCount} - reviews + : null} + {Array.isArray(keywords) && keywords.length + ?
+ {keywords.map((keyword) => ( + {keyword} + ))}
-
- ) : null} - {Array.isArray(keywords) && keywords.length ? ( -
- {keywords.map((keyword) => ( - {keyword} - ))} -
- ) : null} + : null}
diff --git a/src/pages/quickTools/quickTools.js b/src/pages/quickTools/quickTools.js index 67fed691a..5970fa7f6 100644 --- a/src/pages/quickTools/quickTools.js +++ b/src/pages/quickTools/quickTools.js @@ -1,7 +1,7 @@ import "./style.scss"; -import WCPage from "components/WebComponents/wcPage"; import Page from "components/page"; import items, { description } from "components/quickTools/items"; +import WCPage from "components/WebComponents/wcPage"; import select from "dialogs/select"; import actionStack from "lib/actionStack"; import settings from "lib/settings"; diff --git a/src/palettes/changeEncoding/index.js b/src/palettes/changeEncoding/index.js index 3e2083714..898ed5ab9 100644 --- a/src/palettes/changeEncoding/index.js +++ b/src/palettes/changeEncoding/index.js @@ -1,6 +1,6 @@ +import fsOperation from "fileSystem"; import palette from "components/palette"; import confirm from "dialogs/confirm"; -import fsOperation from "fileSystem"; import encodings from "utils/encodings"; export default function changeEncoding() { diff --git a/src/settings/appSettings.js b/src/settings/appSettings.js index 5b1ba4632..a83ca2e57 100644 --- a/src/settings/appSettings.js +++ b/src/settings/appSettings.js @@ -1,8 +1,8 @@ +import fsOperation from "fileSystem"; import ajax from "@deadlyjack/ajax"; import { resetKeyBindings } from "ace/commands"; import settingsPage from "components/settingsPage"; import loader from "dialogs/loader"; -import fsOperation from "fileSystem"; import actions from "handlers/quickTools"; import actionStack from "lib/actionStack"; import constants from "lib/constants"; @@ -10,9 +10,9 @@ import lang from "lib/lang"; import openFile from "lib/openFile"; import appSettings from "lib/settings"; import QuickToolsSettings from "pages/quickTools"; -import Url from "utils/Url"; import encodings, { getEncoding } from "utils/encodings"; import helpers from "utils/helpers"; +import Url from "utils/Url"; export default function otherSettings() { const values = appSettings.value; diff --git a/src/settings/backupRestore.js b/src/settings/backupRestore.js index 4564e3196..522d572c8 100644 --- a/src/settings/backupRestore.js +++ b/src/settings/backupRestore.js @@ -1,13 +1,13 @@ +import fsOperation from "fileSystem"; import settingsPage from "components/settingsPage"; import toast from "components/toast"; import alert from "dialogs/alert"; -import fsOperation from "fileSystem"; import constants from "lib/constants"; import appSettings from "lib/settings"; import FileBrowser from "pages/fileBrowser"; +import helpers from "utils/helpers"; import Uri from "utils/Uri"; import Url from "utils/Url"; -import helpers from "utils/helpers"; function backupRestore() { const title = diff --git a/src/settings/terminalSettings.js b/src/settings/terminalSettings.js index d400ca495..e101b9872 100644 --- a/src/settings/terminalSettings.js +++ b/src/settings/terminalSettings.js @@ -1,3 +1,4 @@ +import fsOperation from "fileSystem"; import settingsPage from "components/settingsPage"; import { DEFAULT_TERMINAL_SETTINGS, @@ -6,7 +7,6 @@ import { import toast from "components/toast"; import alert from "dialogs/alert"; import loader from "dialogs/loader"; -import fsOperation from "fileSystem"; import fonts from "lib/fonts"; import appSettings from "lib/settings"; import FileBrowser from "pages/fileBrowser"; diff --git a/src/sidebarApps/extensions/index.js b/src/sidebarApps/extensions/index.js index 1679e847a..cece90a40 100644 --- a/src/sidebarApps/extensions/index.js +++ b/src/sidebarApps/extensions/index.js @@ -1,12 +1,12 @@ import "./style.scss"; +import fsOperation from "fileSystem"; import ajax from "@deadlyjack/ajax"; import collapsableList from "components/collapsableList"; import Sidebar from "components/sidebar"; import alert from "dialogs/alert"; import prompt from "dialogs/prompt"; import select from "dialogs/select"; -import fsOperation from "fileSystem"; import purchaseListener from "handlers/purchase"; import constants from "lib/constants"; import InstallState from "lib/installState"; @@ -14,8 +14,8 @@ import loadPlugin from "lib/loadPlugin"; import settings from "lib/settings"; import FileBrowser from "pages/fileBrowser"; import plugin from "pages/plugin"; -import Url from "utils/Url"; import helpers from "utils/helpers"; +import Url from "utils/Url"; /** @type {HTMLElement} */ let $installed = null; @@ -469,22 +469,20 @@ function ListItem({ icon, name, id, version, downloads, installed, source }) { > {name} - {installed ? ( - <> - {source ? ( - - ) : null} - - - ) : ( - - )} + {installed + ? <> + {source + ? + : null} + + + : }
); diff --git a/src/sidebarApps/searchInFiles/index.js b/src/sidebarApps/searchInFiles/index.js index 8ab82a162..791157d05 100644 --- a/src/sidebarApps/searchInFiles/index.js +++ b/src/sidebarApps/searchInFiles/index.js @@ -1,11 +1,10 @@ import "./styles.scss"; +import fsOperation from "fileSystem"; import addTouchListeners from "ace/touchHandler"; import autosize from "autosize"; import Checkbox from "components/checkbox"; -import Sidebar from "components/sidebar"; -import { preventSlide } from "components/sidebar"; +import Sidebar, { preventSlide } from "components/sidebar"; import escapeStringRegexp from "escape-string-regexp"; -import fsOperation from "fileSystem"; import Ref from "html-tag-js/ref"; import files, { Tree } from "lib/fileList"; import openFile from "lib/openFile"; diff --git a/src/styles/page.scss b/src/styles/page.scss index f5eb511cc..a006f4029 100644 --- a/src/styles/page.scss +++ b/src/styles/page.scss @@ -324,6 +324,14 @@ wc-page { #quicktools-toggler { transform: translate3d(0, -40px, 0); + + @media (min-width: 769px) { + transform: translate3d(0, -50px, 0); + } + + @media (min-width: 1024px) { + transform: translate3d(0, -60px, 0); + } } &.top-bar { @@ -352,6 +360,14 @@ wc-page { #quicktools-toggler { transform: translate3d(0, -80px, 0); + + @media (min-width: 769px) { + transform: translate3d(0, -100px, 0); + } + + @media (min-width: 1024px) { + transform: translate3d(0, -120px, 0); + } } &.top-bar { @@ -380,6 +396,14 @@ wc-page { #quicktools-toggler { transform: translate3d(0, -140px, 0); + + @media (min-width: 769px) { + transform: translate3d(0, -150px, 0); + } + + @media (min-width: 1024px) { + transform: translate3d(0, -180px, 0); + } } &.top-bar { diff --git a/src/theme/list.js b/src/theme/list.js index 0c8b308f8..90cfd0150 100644 --- a/src/theme/list.js +++ b/src/theme/list.js @@ -1,7 +1,7 @@ import fsOperation from "fileSystem"; import { isDeviceDarkTheme } from "lib/systemConfiguration"; -import Url from "utils/Url"; import color from "utils/color"; +import Url from "utils/Url"; import fonts from "../lib/fonts"; import settings from "../lib/settings"; import ThemeBuilder from "./builder"; diff --git a/src/utils/helpers.js b/src/utils/helpers.js index 1b805e82f..9eed0489a 100644 --- a/src/utils/helpers.js +++ b/src/utils/helpers.js @@ -1,8 +1,7 @@ -import ajax from "@deadlyjack/ajax"; -import escapeStringRegexp from "escape-string-regexp"; import fsOperation from "fileSystem"; - +import ajax from "@deadlyjack/ajax"; import alert from "dialogs/alert"; +import escapeStringRegexp from "escape-string-regexp"; import constants from "lib/constants"; import path from "./Path"; import Uri from "./Uri";