diff options
author | Starscouts <starscouts@equestria.dev> | 2024-07-14 14:28:01 +0200 |
---|---|---|
committer | Starscouts <starscouts@equestria.dev> | 2024-07-14 14:28:01 +0200 |
commit | 361fe53a7e8a48e42ac8d7f4c07f33bf4ed178e2 (patch) | |
tree | f559784cd9a076c27fa6cd904641176efec89a6a | |
parent | 1bbe60d3a237cfe99dc6d1a3aa14de542668dc6f (diff) | |
download | faunerie-mane.tar.gz faunerie-mane.tar.bz2 faunerie-mane.zip |
-rw-r--r--[-rwxr-xr-x] | .gitignore | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | .idea/.gitignore | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | .idea/compiler.xml | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | .idea/deployment.xml | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | .idea/discord.xml | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | .idea/faunerie.iml | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | .idea/inspectionProfiles/Project_Default.xml | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | .idea/jsLibraryMappings.xml | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | .idea/modules.xml | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | .idea/php.xml | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | .idea/sshConfigs.xml | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | .idea/vcs.xml | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | .idea/webServers.xml | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | LICENSE | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | README.md | 5 | ||||
-rw-r--r--[-rwxr-xr-x] | ai/server.py | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | bootstrap/bootstrap.bundle.min.js | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | bootstrap/bootstrap.bundle.min.js.map | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | bootstrap/bootstrap.min.css | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | bootstrap/bootstrap.min.css.map | 0 | ||||
-rw-r--r-- | build.bat | 11 | ||||
-rw-r--r--[-rwxr-xr-x] | build.sh | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | dom/app.css | 20 | ||||
-rw-r--r--[-rwxr-xr-x] | dom/index.html | 60 | ||||
-rw-r--r--[-rwxr-xr-x] | e621/categories.png | bin | 24434 -> 24434 bytes | |||
-rw-r--r--[-rwxr-xr-x] | e621/csv2json.js | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | e621/match.js | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | e621/package-lock.json | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | e621/package.json | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | e621/parse.js | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | e621/update.js | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | intimate/TODO.md | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | intimate/bs5/bootstrap.bundle.min.js | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | intimate/bs5/bootstrap.bundle.min.js.map | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | intimate/bs5/bootstrap.min.css | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | intimate/bs5/bootstrap.min.css.map | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | intimate/build.sh | 3 | ||||
-rw-r--r--[-rwxr-xr-x] | intimate/default.toml | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | intimate/fullscreen.html | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | intimate/index.html | 1 | ||||
-rw-r--r--[-rwxr-xr-x] | intimate/index.js | 14 | ||||
-rw-r--r--[-rwxr-xr-x] | intimate/loader.svg | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | intimate/package-lock.json | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | intimate/package.json | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | intimate/src/actions.js | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | intimate/src/display.js | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | intimate/src/fetcher.js | 1 | ||||
-rw-r--r--[-rwxr-xr-x] | intimate/src/keyboard.js | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | logo/logo-mac.png | bin | 140782 -> 140782 bytes | |||
-rw-r--r--[-rwxr-xr-x] | logo/logo-round.ico | bin | 277095 -> 277095 bytes | |||
-rw-r--r--[-rwxr-xr-x] | logo/logo-round.png | bin | 19423 -> 19423 bytes | |||
-rw-r--r--[-rwxr-xr-x] | logo/logo-updater-mac.png | bin | 140782 -> 140782 bytes | |||
-rw-r--r--[-rwxr-xr-x] | logo/logo-updater-round.ico | bin | 277095 -> 277095 bytes | |||
-rw-r--r--[-rwxr-xr-x] | logo/logo-updater-round.png | bin | 19423 -> 19423 bytes | |||
-rw-r--r--[-rwxr-xr-x] | logo/logo-updater.icns | bin | 166003 -> 166003 bytes | |||
-rw-r--r--[-rwxr-xr-x] | logo/logo-updater.png | bin | 14839 -> 14839 bytes | |||
-rw-r--r--[-rwxr-xr-x] | logo/logo.icns | bin | 166003 -> 166003 bytes | |||
-rw-r--r--[-rwxr-xr-x] | logo/logo.png | bin | 14839 -> 14839 bytes | |||
-rw-r--r--[-rwxr-xr-x] | logo/placeholder.jpg | bin | 16579 -> 16579 bytes | |||
-rw-r--r--[-rwxr-xr-x] | main.js | 18 | ||||
-rw-r--r--[-rwxr-xr-x] | package-lock.json | 8 | ||||
-rw-r--r--[-rwxr-xr-x] | package.json | 5 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/.idea/.gitignore | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/.idea/inspectionProfiles/Project_Default.xml | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/.idea/inspectionProfiles/profiles_settings.xml | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/.idea/misc.xml | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/.idea/modules.xml | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/.idea/pgsql.iml | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/doall.sh | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/mac/LICENSE | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/mac/README.md | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/mac/binding.gyp | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/mac/deps/common-sqlite.gypi | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/mac/deps/extract.js | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/mac/deps/sqlite3.gyp | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/mac/lib/sqlite3-binding.js | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/mac/lib/sqlite3.d.ts | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/mac/lib/sqlite3.js | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/mac/lib/trace.js | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/mac/package.json | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/main.py | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/win/LICENSE | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/win/README.md | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/win/binding.gyp | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/win/deps/common-sqlite.gypi | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/win/deps/extract.js | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/win/deps/sqlite3.gyp | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/win/lib/sqlite3-binding.js | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/win/lib/sqlite3.d.ts | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/win/lib/sqlite3.js | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/win/lib/trace.js | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | sql/win/package.json | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/FaunerieAI.ts | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/FaunerieActions.ts | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/FaunerieApp.ts | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | src/FaunerieAppDisplay.ts | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/FaunerieDataStore.ts | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/FaunerieDerpibooru.ts | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/FaunerieLoader.ts | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/FaunerieSearch.ts | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/FaunerieSettings.ts | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/FaunerieUtilities.ts | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/index.ts | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | src/tsconfig.json | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | updater/main.js | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | updater/menu/16x16@2x.png | bin | 4883 -> 4883 bytes | |||
-rw-r--r--[-rwxr-xr-x] | updater/package-lock.json | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | updater/package.json | 0 | ||||
l--------- | updater/sql | 1 | ||||
-rw-r--r--[-rwxr-xr-x] | updater/tray/16x16Template@2x.png | bin | 2556 -> 2556 bytes |
110 files changed, 96 insertions, 55 deletions
diff --git a/.gitignore b/.gitignore index d5045ce..d5045ce 100755..100644 --- a/.gitignore +++ b/.gitignore diff --git a/.idea/.gitignore b/.idea/.gitignore index b58b603..b58b603 100755..100644 --- a/.idea/.gitignore +++ b/.idea/.gitignore diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 1a2fb33..1a2fb33 100755..100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml diff --git a/.idea/deployment.xml b/.idea/deployment.xml index 3aa29c3..3aa29c3 100755..100644 --- a/.idea/deployment.xml +++ b/.idea/deployment.xml diff --git a/.idea/discord.xml b/.idea/discord.xml index 3aef922..3aef922 100755..100644 --- a/.idea/discord.xml +++ b/.idea/discord.xml diff --git a/.idea/faunerie.iml b/.idea/faunerie.iml index 41eb966..41eb966 100755..100644 --- a/.idea/faunerie.iml +++ b/.idea/faunerie.iml diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index d6adb5e..d6adb5e 100755..100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml index d23208f..d23208f 100755..100644 --- a/.idea/jsLibraryMappings.xml +++ b/.idea/jsLibraryMappings.xml diff --git a/.idea/modules.xml b/.idea/modules.xml index 468ea56..468ea56 100755..100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml diff --git a/.idea/php.xml b/.idea/php.xml index 88cd1bc..88cd1bc 100755..100644 --- a/.idea/php.xml +++ b/.idea/php.xml diff --git a/.idea/sshConfigs.xml b/.idea/sshConfigs.xml index dc6085f..dc6085f 100755..100644 --- a/.idea/sshConfigs.xml +++ b/.idea/sshConfigs.xml diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 94a25f7..94a25f7 100755..100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml diff --git a/.idea/webServers.xml b/.idea/webServers.xml index 1fb39d7..1fb39d7 100755..100644 --- a/.idea/webServers.xml +++ b/.idea/webServers.xml diff --git a/README.md b/README.md index 67b5128..b27e993 100755..100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ A browser and search engine for local copies of various image boards (e621, Derpibooru, Furbooru, ...) ## Development -Assuming you are using macOS or Linux. Other POSIX systems won't work as Electron does not have binaries for these. +Assuming you are using macOS, Windows or Linux. Other POSIX systems won't work as Electron does not have binaries for these. ### Cloning ``` @@ -27,5 +27,6 @@ npm run debug-updater ### Building ``` # This will run 'npm audit fix' and 'npm install' to update dependencies if needed -npm run release +npm run release-unix # For Unix systems +npm run release-win # For Windows ``` diff --git a/ai/server.py b/ai/server.py index 1db3891..1db3891 100755..100644 --- a/ai/server.py +++ b/ai/server.py diff --git a/bootstrap/bootstrap.bundle.min.js b/bootstrap/bootstrap.bundle.min.js index b1999d9..b1999d9 100755..100644 --- a/bootstrap/bootstrap.bundle.min.js +++ b/bootstrap/bootstrap.bundle.min.js diff --git a/bootstrap/bootstrap.bundle.min.js.map b/bootstrap/bootstrap.bundle.min.js.map index 7cd8480..7cd8480 100755..100644 --- a/bootstrap/bootstrap.bundle.min.js.map +++ b/bootstrap/bootstrap.bundle.min.js.map diff --git a/bootstrap/bootstrap.min.css b/bootstrap/bootstrap.min.css index 8562e9a..8562e9a 100755..100644 --- a/bootstrap/bootstrap.min.css +++ b/bootstrap/bootstrap.min.css diff --git a/bootstrap/bootstrap.min.css.map b/bootstrap/bootstrap.min.css.map index c418bf8..c418bf8 100755..100644 --- a/bootstrap/bootstrap.min.css.map +++ b/bootstrap/bootstrap.min.css.map diff --git a/build.bat b/build.bat new file mode 100644 index 0000000..7374a92 --- /dev/null +++ b/build.bat @@ -0,0 +1,11 @@ +del /s /q build + +cd src || exit +npx tsc +cd .. || exit + +npx electron-packager . Faunerie --ignore sql/win --ignore sql/preprocessed.db --ignore updater --ignore intimate --ignore sql/preprocessed.db --ignore sql/preprocessed2.db --ignore e621 --overwrite --platform=darwin --arch=arm64 --icon=./logo/logo.icns --out=./build +npx electron-packager . Faunerie --ignore sql/mac --ignore sql/preprocessed.db --ignore updater --ignore intimate --ignore sql/preprocessed.db --ignore sql/preprocessed2.db --ignore e621 --overwrite --platform=win32 --arch=x64 --icon=./logo/logo-round.ico --out=./build + +npx electron-packager ./updater "Faunerie Updater" --ignore sql/win --ignore sql/preprocessed.db --ignore sql/preprocessed2.db --overwrite --platform=darwin --arch=arm64 --icon=./logo/logo-updater.icns --out=./build +npx electron-packager ./updater "Faunerie Updater" --ignore sql/mac --ignore sql/preprocessed.db --ignore sql/preprocessed2.db --overwrite --platform=win32 --arch=x64 --icon=./logo/logo-updater-round.ico --out=./build diff --git a/dom/app.css b/dom/app.css index c4893d2..10054af 100755..100644 --- a/dom/app.css +++ b/dom/app.css @@ -14,11 +14,11 @@ code { } #search { - font-family: 'JetBrains Mono', monospace; + font-family: 'Iosevka', 'JetBrains Mono', monospace; } #search::placeholder { - font-family: var(--bs-body-font-family) !important; + font-family: var(--bs-body-font-family), sans-serif !important; color: rgba(255, 255, 255, .5); } @@ -412,3 +412,19 @@ select:active, select:focus { #preview-parts-list:has(.preview-tag-zone:hover) .preview-tag-zone:not(:hover):not(.hover), #preview-parts-list:has(.preview-tag-zone.hover) .preview-tag-zone:not(:hover):not(.hover) { opacity: .75 !important; } + +::-webkit-scrollbar { + width: 8px; +} + +::-webkit-scrollbar-track { + background-color: transparent; +} + +::-webkit-scrollbar-thumb { + background-color: rgba(255, 255, 255, .05); +} + +::-webkit-scrollbar-thumb:hover { + background-color: rgba(255, 255, 255, .1); +} diff --git a/dom/index.html b/dom/index.html index 4239a1d..a7b95b5 100755..100644 --- a/dom/index.html +++ b/dom/index.html @@ -90,8 +90,8 @@ </div> </div> - <div id="app" class="container disabled" style="padding-top: 50px;"> - <div style="-webkit-app-region: drag; position: fixed; top: 0; left: 0; right: 0; backdrop-filter: blur(50px); background-color: rgba(33,33,33,0.75); border-bottom: 1px solid #111;" id="filter-bar"> + <div id="app" class="disabled" style="padding-top: 50px;"> + <div style="z-index: 99; -webkit-app-region: drag; position: fixed; top: 0; left: 0; right: 0; backdrop-filter: blur(50px); background-color: rgba(33,33,33,0.75); border-bottom: 1px solid #111;" id="filter-bar"> <div style="display: grid; grid-template-columns: minmax(130px, 1fr) 2fr minmax(260px, 1fr); grid-gap: 10px;"> <div style="text-align: center;"> <a class="fancy-btn" id="logo" onclick="instance.actions.goHome();" href="#" style="padding: 5px 10px; display: inline-block; color: white; text-decoration: none; -webkit-app-region: no-drag;"> @@ -136,33 +136,35 @@ </div> </div> - <div style="margin-top: 42px;"> - <div id="search-error" style="margin-bottom: 20px; margin-top: 20px; display: none;" class="alert alert-danger"></div> - <div id="search-warning" style="margin-bottom: 20px; margin-top: 20px; display: none;" class="alert alert-warning"></div> - <div id="images" style="margin-bottom: 20px; margin-top: 20px; display: grid; grid-template-columns: repeat(5, 1fr); grid-gap: 10px;"></div> - <div style="margin-bottom: 50px; display: grid; grid-template-columns: 1fr max-content;" id="footer"> - <div id="pages"></div> - <div id="sort"> - <select tabindex="-1" id="sorting" onchange="instance.display.updateDisplay();" class="form-select" style="width: max-content; display: inline-block;"> - <option selected value="new">Sort by date</option> - <optgroup label="Popularity"> - <option value="popular">Sort by score</option> - <option value="relevance">Sort by relevance</option> - </optgroup> - <optgroup label="Sizes"> - <option value="resolution">Sort by resolution</option> - <option value="size">Sort by size</option> - <option value="duration">Sort by duration</option> - </optgroup> - <optgroup label="Technical"> - <option value="id">Sort by image ID</option> - <option value="tag">Sort by tags</option> - </optgroup> - </select> - <select tabindex="-1" id="order" onchange="instance.display.updateDisplay();" class="form-select" style="width: max-content; display: inline-block;"> - <option value="up">↑ Ascending</option> - <option selected value="down">↓ Descending</option> - </select> + <div id="app-area" style="z-index: 1; position: fixed; top: 0; left: 0; right: 0; overflow: auto; bottom: 0;"> + <div style="padding-top: 42px;" class="container"> + <div id="search-error" style="margin-bottom: 20px; margin-top: 20px; display: none;" class="alert alert-danger"></div> + <div id="search-warning" style="margin-bottom: 20px; margin-top: 20px; display: none;" class="alert alert-warning"></div> + <div id="images" style="margin-bottom: 20px; margin-top: 20px; display: grid; grid-template-columns: repeat(5, 1fr); grid-gap: 10px;"></div> + <div style="margin-bottom: 50px; display: grid; grid-template-columns: 1fr max-content;" id="footer"> + <div id="pages"></div> + <div id="sort"> + <select tabindex="-1" id="sorting" onchange="instance.display.updateDisplay();" class="form-select" style="width: max-content; display: inline-block;"> + <option selected value="new">Sort by date</option> + <optgroup label="Popularity"> + <option value="popular">Sort by score</option> + <option value="relevance">Sort by relevance</option> + </optgroup> + <optgroup label="Sizes"> + <option value="resolution">Sort by resolution</option> + <option value="size">Sort by size</option> + <option value="duration">Sort by duration</option> + </optgroup> + <optgroup label="Technical"> + <option value="id">Sort by image ID</option> + <option value="tag">Sort by tags</option> + </optgroup> + </select> + <select tabindex="-1" id="order" onchange="instance.display.updateDisplay();" class="form-select" style="width: max-content; display: inline-block;"> + <option value="up">↑ Ascending</option> + <option selected value="down">↓ Descending</option> + </select> + </div> </div> </div> </div> diff --git a/e621/categories.png b/e621/categories.png Binary files differindex da09fde..da09fde 100755..100644 --- a/e621/categories.png +++ b/e621/categories.png diff --git a/e621/csv2json.js b/e621/csv2json.js index ee55fdb..ee55fdb 100755..100644 --- a/e621/csv2json.js +++ b/e621/csv2json.js diff --git a/e621/match.js b/e621/match.js index 3837500..3837500 100755..100644 --- a/e621/match.js +++ b/e621/match.js diff --git a/e621/package-lock.json b/e621/package-lock.json index 556abc0..556abc0 100755..100644 --- a/e621/package-lock.json +++ b/e621/package-lock.json diff --git a/e621/package.json b/e621/package.json index d0c2ada..d0c2ada 100755..100644 --- a/e621/package.json +++ b/e621/package.json diff --git a/e621/parse.js b/e621/parse.js index b848708..b848708 100755..100644 --- a/e621/parse.js +++ b/e621/parse.js diff --git a/e621/update.js b/e621/update.js index 08d61af..08d61af 100755..100644 --- a/e621/update.js +++ b/e621/update.js diff --git a/intimate/TODO.md b/intimate/TODO.md index 35bbf5f..35bbf5f 100755..100644 --- a/intimate/TODO.md +++ b/intimate/TODO.md diff --git a/intimate/bs5/bootstrap.bundle.min.js b/intimate/bs5/bootstrap.bundle.min.js index d705b8d..d705b8d 100755..100644 --- a/intimate/bs5/bootstrap.bundle.min.js +++ b/intimate/bs5/bootstrap.bundle.min.js diff --git a/intimate/bs5/bootstrap.bundle.min.js.map b/intimate/bs5/bootstrap.bundle.min.js.map index 17a1e03..17a1e03 100755..100644 --- a/intimate/bs5/bootstrap.bundle.min.js.map +++ b/intimate/bs5/bootstrap.bundle.min.js.map diff --git a/intimate/bs5/bootstrap.min.css b/intimate/bs5/bootstrap.min.css index aac8bee..aac8bee 100755..100644 --- a/intimate/bs5/bootstrap.min.css +++ b/intimate/bs5/bootstrap.min.css diff --git a/intimate/bs5/bootstrap.min.css.map b/intimate/bs5/bootstrap.min.css.map index e504478..e504478 100755..100644 --- a/intimate/bs5/bootstrap.min.css.map +++ b/intimate/bs5/bootstrap.min.css.map diff --git a/intimate/build.sh b/intimate/build.sh index 3917ff6..6eaf025 100755..100644 --- a/intimate/build.sh +++ b/intimate/build.sh @@ -1,5 +1,2 @@ -#npx electron-packager . Intimate --overwrite --platform=darwin --arch=arm64 --icon=./logo/logo-round.ico --out=./build npx electron-packager . Intimate --overwrite --platform=darwin --arch=arm64 --out=./build npx electron-packager . Intimate --overwrite --platform=win32 --arch=x64 --out=./build -/Library/Atomic/SDK/convert_darwin_arm64.sh ./build/Intimate-darwin-arm64/Intimate.app || /Volumes/Projects/atomic/converter/convert_darwin_arm64.sh ./build/Intimate-darwin-arm64/Intimate.app -/Library/Atomic/SDK/convert_windows_x64.sh ./build/Intimate-win32-x64 || /Volumes/Projects/atomic/converter/convert_windows_x64.sh ./build/Intimate-win32-x64 diff --git a/intimate/default.toml b/intimate/default.toml index 57d5d7d..57d5d7d 100755..100644 --- a/intimate/default.toml +++ b/intimate/default.toml diff --git a/intimate/fullscreen.html b/intimate/fullscreen.html index 8e9f6d6..8e9f6d6 100755..100644 --- a/intimate/fullscreen.html +++ b/intimate/fullscreen.html diff --git a/intimate/index.html b/intimate/index.html index aa8eac0..3fc0e32 100755..100644 --- a/intimate/index.html +++ b/intimate/index.html @@ -126,6 +126,7 @@ if (!config.modules.derpibooru['faunerie_cache']) return i; if (!fs.existsSync(config.modules.derpibooru['faunerie_cache'] + "/images/" + i['sha512_hash'].substring(0, 1) + "/" + i['sha512_hash'].substring(0, 2) + "/" + i['sha512_hash'].substring(0, 3) + "/10" + i['id'] + ".bin")) return i; i['view_url'] = "pbip://" + config.modules.derpibooru['faunerie_cache'] + "/images/" + i['sha512_hash'].substring(0, 1) + "/" + i['sha512_hash'].substring(0, 2) + "/" + i['sha512_hash'].substring(0, 3) + "/10" + i['id'] + ".bin"; + if (process.platform === "win32") i['view_url'] = i['view_url'].replaceAll("\\", "/").replaceAll("pbip://", "pbip:///"); return i; })[0]["view_url"]; diff --git a/intimate/index.js b/intimate/index.js index 620398c..be295e3 100755..100644 --- a/intimate/index.js +++ b/intimate/index.js @@ -22,6 +22,10 @@ function createWindow () { fullscreenable: false, simpleFullscreen: true, titleBarStyle: "hidden", + titleBarOverlay: { + color: "#21252977", + symbolColor: "#ffffff" + }, backgroundColor: "#212529", autoHideMenuBar: true, webPreferences: { @@ -98,9 +102,11 @@ Menu.setApplicationMenu(menu); app.whenReady().then(() => { protocol.handle('pbip', async (req) => { - const { pathname, searchParams } = new URL(req.url); + let { pathname, searchParams } = new URL(req.url); let mime = searchParams.get("mime") ?? "application/octet-stream"; + if (process.platform === "win32") pathname = pathname.substring(1); + const inflateRawSync = util.promisify(zlib.inflateRaw); try { @@ -140,11 +146,6 @@ app.on('window-all-closed', () => { app.quit(); }); -app.on('before-quit', () => { - try { if (mainWindow) mainWindow.close(); } catch (e) { console.error(e); } - try { if (mainWindow) fullscreenWindow.close(); } catch (e) { console.error(e); } -}); - ipcMain.on('start', (_, prefs, config) => { preferences = prefs; globalConfig = config; @@ -158,6 +159,7 @@ ipcMain.on('start', (_, prefs, config) => { resizable: false, maximizable: false, minimizable: false, + autoHideMenuBar: true, webPreferences: { nodeIntegration: true, contextIsolation: false diff --git a/intimate/loader.svg b/intimate/loader.svg index df4bd90..df4bd90 100755..100644 --- a/intimate/loader.svg +++ b/intimate/loader.svg diff --git a/intimate/package-lock.json b/intimate/package-lock.json index 8409912..8409912 100755..100644 --- a/intimate/package-lock.json +++ b/intimate/package-lock.json diff --git a/intimate/package.json b/intimate/package.json index 8bbd20a..8bbd20a 100755..100644 --- a/intimate/package.json +++ b/intimate/package.json diff --git a/intimate/src/actions.js b/intimate/src/actions.js index 2590656..2590656 100755..100644 --- a/intimate/src/actions.js +++ b/intimate/src/actions.js diff --git a/intimate/src/display.js b/intimate/src/display.js index 921cdee..921cdee 100755..100644 --- a/intimate/src/display.js +++ b/intimate/src/display.js diff --git a/intimate/src/fetcher.js b/intimate/src/fetcher.js index 4375fe5..f5eb236 100755..100644 --- a/intimate/src/fetcher.js +++ b/intimate/src/fetcher.js @@ -99,6 +99,7 @@ async function slideshowMain() { if (!config.modules.derpibooru['faunerie_cache']) return i; if (!fs.existsSync(config.modules.derpibooru['faunerie_cache'] + "/images/" + i['sha512_hash'].substring(0, 1) + "/" + i['sha512_hash'].substring(0, 2) + "/" + i['sha512_hash'].substring(0, 3) + "/10" + i['id'] + ".bin")) return i; i['view_url'] = "pbip://" + config.modules.derpibooru['faunerie_cache'] + "/images/" + i['sha512_hash'].substring(0, 1) + "/" + i['sha512_hash'].substring(0, 2) + "/" + i['sha512_hash'].substring(0, 3) + "/10" + i['id'] + ".bin"; + if (process.platform === "win32") i['view_url'] = i['view_url'].replaceAll("\\", "/").replaceAll("pbip://", "pbip:///"); return i; })); window.displayQueue = window.displayQueue.sort(() => Math.random() - Math.random()); diff --git a/intimate/src/keyboard.js b/intimate/src/keyboard.js index 26916bb..26916bb 100755..100644 --- a/intimate/src/keyboard.js +++ b/intimate/src/keyboard.js diff --git a/logo/logo-mac.png b/logo/logo-mac.png Binary files differindex 004c9ff..004c9ff 100755..100644 --- a/logo/logo-mac.png +++ b/logo/logo-mac.png diff --git a/logo/logo-round.ico b/logo/logo-round.ico Binary files differindex 384ee93..384ee93 100755..100644 --- a/logo/logo-round.ico +++ b/logo/logo-round.ico diff --git a/logo/logo-round.png b/logo/logo-round.png Binary files differindex e1736b4..e1736b4 100755..100644 --- a/logo/logo-round.png +++ b/logo/logo-round.png diff --git a/logo/logo-updater-mac.png b/logo/logo-updater-mac.png Binary files differindex 004c9ff..004c9ff 100755..100644 --- a/logo/logo-updater-mac.png +++ b/logo/logo-updater-mac.png diff --git a/logo/logo-updater-round.ico b/logo/logo-updater-round.ico Binary files differindex 384ee93..384ee93 100755..100644 --- a/logo/logo-updater-round.ico +++ b/logo/logo-updater-round.ico diff --git a/logo/logo-updater-round.png b/logo/logo-updater-round.png Binary files differindex e1736b4..e1736b4 100755..100644 --- a/logo/logo-updater-round.png +++ b/logo/logo-updater-round.png diff --git a/logo/logo-updater.icns b/logo/logo-updater.icns Binary files differindex 9366bef..9366bef 100755..100644 --- a/logo/logo-updater.icns +++ b/logo/logo-updater.icns diff --git a/logo/logo-updater.png b/logo/logo-updater.png Binary files differindex 86f041b..86f041b 100755..100644 --- a/logo/logo-updater.png +++ b/logo/logo-updater.png diff --git a/logo/logo.icns b/logo/logo.icns Binary files differindex 9366bef..9366bef 100755..100644 --- a/logo/logo.icns +++ b/logo/logo.icns diff --git a/logo/logo.png b/logo/logo.png Binary files differindex 86f041b..86f041b 100755..100644 --- a/logo/logo.png +++ b/logo/logo.png diff --git a/logo/placeholder.jpg b/logo/placeholder.jpg Binary files differindex 6f38b08..6f38b08 100755..100644 --- a/logo/placeholder.jpg +++ b/logo/placeholder.jpg @@ -25,7 +25,7 @@ function open() { }, titleBarStyle: "hidden", titleBarOverlay: { - color: "transparent", + color: "#00000000", symbolColor: "#ffffff", height: 43 }, @@ -39,9 +39,10 @@ function open() { remote.enable(win.webContents); win.on('close', async (e) => { - if (await win.webContents.executeJavaScript("instance?.dataStore.unloaded;")) e.preventDefault(); - await win.webContents.executeJavaScript("instance?.safeClose();"); - }) + e.preventDefault(); + if (await win.webContents.executeJavaScript("instance?.dataStore.unloaded;")) win.destroy(); + await win.webContents.executeJavaScript("instance?.safeUnload().then(() => { require('electron').ipcRenderer.send('destroy'); });"); + }); win.loadFile("./dom/index.html"); win.on('ready-to-show', () => { @@ -68,6 +69,10 @@ function open() { properties: ["openFile", "treatPackageAsDirectory", "dontAddToRecent"] }); }); + + ipcMain.on('destroy', () => { + win.destroy(); + }); } if (app.getName() !== "Electron") { @@ -80,9 +85,11 @@ if (app.getName() !== "Electron") { app.whenReady().then(() => { protocol.handle('pbip', async (req) => { - const { pathname, searchParams } = new URL(req.url); + let { pathname, searchParams } = new URL(req.url); let mime = searchParams.get("mime") ?? "application/octet-stream"; + if (process.platform === "win32") pathname = pathname.substring(1); + const inflateRawSync = util.promisify(zlib.inflateRaw); try { @@ -101,7 +108,6 @@ app.whenReady().then(() => { headers: { 'content-type': 'text/plain' } }); } - }); open(); diff --git a/package-lock.json b/package-lock.json index 2650569..0996c10 100755..100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { "name": "faunerie", - "version": "3.1.0", + "version": "3.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "version": "3.1.0", + "version": "3.2.0", "hasInstallScript": true, "dependencies": { "@electron/remote": "^2.1.2", @@ -2158,8 +2158,8 @@ } }, "node_modules/libfaunerie": { - "version": "2.4.0", - "resolved": "git+ssh://git@github.com/equestria-dev/libfaunerie.git#e2dc982e0530f11c5afd673b08ccab2e7d1341ad", + "version": "2.5.0", + "resolved": "git+ssh://git@github.com/equestria-dev/libfaunerie.git#126e8dce7032d537180cf197846adeedcea180fc", "hasInstallScript": true, "dependencies": { "@types/sqlite3": "^3.1.11" diff --git a/package.json b/package.json index 26dfab4..bd0d3df 100755..100644 --- a/package.json +++ b/package.json @@ -3,11 +3,12 @@ "version": "3.2.0", "scripts": { "install": "cd updater && npm install && cd ..", - "postinstall": "echo \"============================\n\nThank you for developing on Faunerie!\n\n- Run 'npm run build' to build TypeScript code\n- Run 'npm run debug' to start the application in debug mode\n- Run 'npm run debug-updater' to start Faunerie Updater in debug mode\n- Run 'npm run release' to build the release application\n\n============================\"", + "postinstall": "echo \"============================\n\nThank you for developing on Faunerie!\n\n- Run 'npm run build' to build TypeScript code\n- Run 'npm run debug' to start the application in debug mode\n- Run 'npm run debug-updater' to start Faunerie Updater in debug mode\n- Run 'npm run release-<platform>' to build the release application\n\n============================\"", "build": "cd src && tsc && cd ..", "debug": "npm run build && electron main.js", "debug-updater": "npm run build && cd updater && npx electron main.js && cd ..", - "release": "npm audit fix && npm install && ./build.sh" + "release-unix": "npm audit fix && npm install && ./build.sh", + "release-win": "npm audit fix && npm install && build.bat" }, "dependencies": { "@electron/remote": "^2.1.2", diff --git a/sql/.idea/.gitignore b/sql/.idea/.gitignore index 13566b8..13566b8 100755..100644 --- a/sql/.idea/.gitignore +++ b/sql/.idea/.gitignore diff --git a/sql/.idea/inspectionProfiles/Project_Default.xml b/sql/.idea/inspectionProfiles/Project_Default.xml index 8252e57..8252e57 100755..100644 --- a/sql/.idea/inspectionProfiles/Project_Default.xml +++ b/sql/.idea/inspectionProfiles/Project_Default.xml diff --git a/sql/.idea/inspectionProfiles/profiles_settings.xml b/sql/.idea/inspectionProfiles/profiles_settings.xml index 105ce2d..105ce2d 100755..100644 --- a/sql/.idea/inspectionProfiles/profiles_settings.xml +++ b/sql/.idea/inspectionProfiles/profiles_settings.xml diff --git a/sql/.idea/misc.xml b/sql/.idea/misc.xml index a971a2c..a971a2c 100755..100644 --- a/sql/.idea/misc.xml +++ b/sql/.idea/misc.xml diff --git a/sql/.idea/modules.xml b/sql/.idea/modules.xml index dfb35d4..dfb35d4 100755..100644 --- a/sql/.idea/modules.xml +++ b/sql/.idea/modules.xml diff --git a/sql/.idea/pgsql.iml b/sql/.idea/pgsql.iml index d0876a7..d0876a7 100755..100644 --- a/sql/.idea/pgsql.iml +++ b/sql/.idea/pgsql.iml diff --git a/sql/doall.sh b/sql/doall.sh index 89594f8..89594f8 100755..100644 --- a/sql/doall.sh +++ b/sql/doall.sh diff --git a/sql/mac/LICENSE b/sql/mac/LICENSE index 6c4ce40..6c4ce40 100755..100644 --- a/sql/mac/LICENSE +++ b/sql/mac/LICENSE diff --git a/sql/mac/README.md b/sql/mac/README.md index ffc1f04..ffc1f04 100755..100644 --- a/sql/mac/README.md +++ b/sql/mac/README.md diff --git a/sql/mac/binding.gyp b/sql/mac/binding.gyp index a8fccd0..a8fccd0 100755..100644 --- a/sql/mac/binding.gyp +++ b/sql/mac/binding.gyp diff --git a/sql/mac/deps/common-sqlite.gypi b/sql/mac/deps/common-sqlite.gypi index a04b1d5..a04b1d5 100755..100644 --- a/sql/mac/deps/common-sqlite.gypi +++ b/sql/mac/deps/common-sqlite.gypi diff --git a/sql/mac/deps/extract.js b/sql/mac/deps/extract.js index 46aed47..46aed47 100755..100644 --- a/sql/mac/deps/extract.js +++ b/sql/mac/deps/extract.js diff --git a/sql/mac/deps/sqlite3.gyp b/sql/mac/deps/sqlite3.gyp index 660b3b0..660b3b0 100755..100644 --- a/sql/mac/deps/sqlite3.gyp +++ b/sql/mac/deps/sqlite3.gyp diff --git a/sql/mac/lib/sqlite3-binding.js b/sql/mac/lib/sqlite3-binding.js index 98d1b91..98d1b91 100755..100644 --- a/sql/mac/lib/sqlite3-binding.js +++ b/sql/mac/lib/sqlite3-binding.js diff --git a/sql/mac/lib/sqlite3.d.ts b/sql/mac/lib/sqlite3.d.ts index 15e6623..15e6623 100755..100644 --- a/sql/mac/lib/sqlite3.d.ts +++ b/sql/mac/lib/sqlite3.d.ts diff --git a/sql/mac/lib/sqlite3.js b/sql/mac/lib/sqlite3.js index 430a2b8..430a2b8 100755..100644 --- a/sql/mac/lib/sqlite3.js +++ b/sql/mac/lib/sqlite3.js diff --git a/sql/mac/lib/trace.js b/sql/mac/lib/trace.js index 1d84cb0..1d84cb0 100755..100644 --- a/sql/mac/lib/trace.js +++ b/sql/mac/lib/trace.js diff --git a/sql/mac/package.json b/sql/mac/package.json index ab413ff..ab413ff 100755..100644 --- a/sql/mac/package.json +++ b/sql/mac/package.json diff --git a/sql/main.py b/sql/main.py index f4e3a01..f4e3a01 100755..100644 --- a/sql/main.py +++ b/sql/main.py diff --git a/sql/win/LICENSE b/sql/win/LICENSE index 6c4ce40..6c4ce40 100755..100644 --- a/sql/win/LICENSE +++ b/sql/win/LICENSE diff --git a/sql/win/README.md b/sql/win/README.md index ffc1f04..ffc1f04 100755..100644 --- a/sql/win/README.md +++ b/sql/win/README.md diff --git a/sql/win/binding.gyp b/sql/win/binding.gyp index a8fccd0..a8fccd0 100755..100644 --- a/sql/win/binding.gyp +++ b/sql/win/binding.gyp diff --git a/sql/win/deps/common-sqlite.gypi b/sql/win/deps/common-sqlite.gypi index a04b1d5..a04b1d5 100755..100644 --- a/sql/win/deps/common-sqlite.gypi +++ b/sql/win/deps/common-sqlite.gypi diff --git a/sql/win/deps/extract.js b/sql/win/deps/extract.js index 46aed47..46aed47 100755..100644 --- a/sql/win/deps/extract.js +++ b/sql/win/deps/extract.js diff --git a/sql/win/deps/sqlite3.gyp b/sql/win/deps/sqlite3.gyp index 660b3b0..660b3b0 100755..100644 --- a/sql/win/deps/sqlite3.gyp +++ b/sql/win/deps/sqlite3.gyp diff --git a/sql/win/lib/sqlite3-binding.js b/sql/win/lib/sqlite3-binding.js index 98d1b91..98d1b91 100755..100644 --- a/sql/win/lib/sqlite3-binding.js +++ b/sql/win/lib/sqlite3-binding.js diff --git a/sql/win/lib/sqlite3.d.ts b/sql/win/lib/sqlite3.d.ts index 15e6623..15e6623 100755..100644 --- a/sql/win/lib/sqlite3.d.ts +++ b/sql/win/lib/sqlite3.d.ts diff --git a/sql/win/lib/sqlite3.js b/sql/win/lib/sqlite3.js index 430a2b8..430a2b8 100755..100644 --- a/sql/win/lib/sqlite3.js +++ b/sql/win/lib/sqlite3.js diff --git a/sql/win/lib/trace.js b/sql/win/lib/trace.js index 1d84cb0..1d84cb0 100755..100644 --- a/sql/win/lib/trace.js +++ b/sql/win/lib/trace.js diff --git a/sql/win/package.json b/sql/win/package.json index ab413ff..ab413ff 100755..100644 --- a/sql/win/package.json +++ b/sql/win/package.json diff --git a/src/FaunerieAI.ts b/src/FaunerieAI.ts index aa93cbb..aa93cbb 100755..100644 --- a/src/FaunerieAI.ts +++ b/src/FaunerieAI.ts diff --git a/src/FaunerieActions.ts b/src/FaunerieActions.ts index 853ac12..853ac12 100755..100644 --- a/src/FaunerieActions.ts +++ b/src/FaunerieActions.ts diff --git a/src/FaunerieApp.ts b/src/FaunerieApp.ts index 6614d07..55f651b 100755..100644 --- a/src/FaunerieApp.ts +++ b/src/FaunerieApp.ts @@ -69,6 +69,10 @@ export class FaunerieApp { async loadApp() { if (this.dataStore.loaded) return; + if (process.platform === "win32") { + document.getElementById("filter-bar").style.paddingRight = "96px"; + } + document.getElementById("load").innerText = "Waiting for application..."; document.getElementById("progress").classList.remove("progress-bar-striped"); document.getElementById("progress").style.width = "0%"; diff --git a/src/FaunerieAppDisplay.ts b/src/FaunerieAppDisplay.ts index 66f592b..66f592b 100755..100644 --- a/src/FaunerieAppDisplay.ts +++ b/src/FaunerieAppDisplay.ts diff --git a/src/FaunerieDataStore.ts b/src/FaunerieDataStore.ts index 3506841..3506841 100755..100644 --- a/src/FaunerieDataStore.ts +++ b/src/FaunerieDataStore.ts diff --git a/src/FaunerieDerpibooru.ts b/src/FaunerieDerpibooru.ts index 84252f9..84252f9 100755..100644 --- a/src/FaunerieDerpibooru.ts +++ b/src/FaunerieDerpibooru.ts diff --git a/src/FaunerieLoader.ts b/src/FaunerieLoader.ts index 926ece6..926ece6 100755..100644 --- a/src/FaunerieLoader.ts +++ b/src/FaunerieLoader.ts diff --git a/src/FaunerieSearch.ts b/src/FaunerieSearch.ts index eb4db33..eb4db33 100755..100644 --- a/src/FaunerieSearch.ts +++ b/src/FaunerieSearch.ts diff --git a/src/FaunerieSettings.ts b/src/FaunerieSettings.ts index 74919ae..74919ae 100755..100644 --- a/src/FaunerieSettings.ts +++ b/src/FaunerieSettings.ts diff --git a/src/FaunerieUtilities.ts b/src/FaunerieUtilities.ts index 1c84300..1c84300 100755..100644 --- a/src/FaunerieUtilities.ts +++ b/src/FaunerieUtilities.ts diff --git a/src/index.ts b/src/index.ts index 5413d83..5413d83 100755..100644 --- a/src/index.ts +++ b/src/index.ts diff --git a/src/tsconfig.json b/src/tsconfig.json index e397c5f..e397c5f 100755..100644 --- a/src/tsconfig.json +++ b/src/tsconfig.json diff --git a/updater/main.js b/updater/main.js index 16f4aff..16f4aff 100755..100644 --- a/updater/main.js +++ b/updater/main.js diff --git a/updater/menu/16x16@2x.png b/updater/menu/16x16@2x.png Binary files differindex c02929f..c02929f 100755..100644 --- a/updater/menu/16x16@2x.png +++ b/updater/menu/16x16@2x.png diff --git a/updater/package-lock.json b/updater/package-lock.json index 99658cf..99658cf 100755..100644 --- a/updater/package-lock.json +++ b/updater/package-lock.json diff --git a/updater/package.json b/updater/package.json index 34f86f2..34f86f2 100755..100644 --- a/updater/package.json +++ b/updater/package.json diff --git a/updater/sql b/updater/sql deleted file mode 120000 index 44657b9..0000000 --- a/updater/sql +++ /dev/null @@ -1 +0,0 @@ -../sql
\ No newline at end of file diff --git a/updater/tray/16x16Template@2x.png b/updater/tray/16x16Template@2x.png Binary files differindex 3136296..3136296 100755..100644 --- a/updater/tray/16x16Template@2x.png +++ b/updater/tray/16x16Template@2x.png |