first commit

This commit is contained in:
2025-04-25 15:30:01 +02:00
commit 8fddcff0d9
36 changed files with 3678 additions and 0 deletions

8
frontend/README.md Normal file
View File

@ -0,0 +1,8 @@
# Vue 3 + Vite
This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 `<script setup>` SFCs,
check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
## Recommended IDE Setup
- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar)

13
frontend/index.html Normal file
View File

@ -0,0 +1,13 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
<title>userdata-decrypter</title>
</head>
<body>
<div id="app"></div>
<script src="./src/main.js" type="module"></script>
</body>
</html>

1891
frontend/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

22
frontend/package.json Normal file
View File

@ -0,0 +1,22 @@
{
"name": "frontend",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
},
"dependencies": {
"@tailwindcss/vite": "^4.1.4",
"vue": "^3.2.37"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.2.3",
"autoprefixer": "^10.4.21",
"postcss": "^8.5.3",
"tailwindcss": "^4.1.4",
"vite": "^6.3.3"
}
}

1
frontend/package.json.md5 Executable file
View File

@ -0,0 +1 @@
9116a7940560484ba71b79cd8d152bfc

22
frontend/src/App.vue Normal file
View File

@ -0,0 +1,22 @@
<script setup>
import DecryptView from './components/DecryptView.vue'
</script>
<template>
<img id="logo" alt="Yourgold" src="./assets/images/logo-light.svg"/>
<DecryptView/>
</template>
<style>
#logo {
display: block;
width: 50%;
height: 50%;
margin: auto;
padding: 5% 0 0;
background-position: center;
background-repeat: no-repeat;
background-size: 100% 100%;
background-origin: content-box;
}
</style>

View File

@ -0,0 +1,93 @@
Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com),
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View File

@ -0,0 +1,27 @@
<svg width="234" height="166" viewBox="0 0 234 166" fill="none" xmlns="http://www.w3.org/2000/svg">
<mask id="mask0_16_1819" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="234" height="166">
<path d="M233.423 0H0V165.122H233.423V0Z" fill="white"/>
</mask>
<g mask="url(#mask0_16_1819)">
<path d="M37.7097 91.5428L34.3839 92.2893C31.292 71.9932 35.6017 50.4373 49.1864 32.2407C36.9602 51.7436 33.9622 72.5997 37.7097 91.5428Z" fill="white"/>
<path d="M39.7711 99.6611C41.4106 104.933 43.5654 110.019 46.2356 114.825L42.4411 117.671C39.7711 112.259 37.6631 106.613 36.1641 100.781L39.7711 99.6611Z" fill="white"/>
<path d="M184.985 128.262C181.237 133.441 176.929 138.2 172.104 142.399C162.173 151.125 150.274 157.657 137.486 161.063C137.158 161.156 136.783 161.249 136.455 161.343C136.081 161.436 135.706 161.529 135.378 161.623C131.584 162.556 127.743 163.162 123.854 163.536C123.714 163.536 123.62 163.582 123.48 163.582C116.968 164.142 110.363 163.862 103.759 162.696C79.3061 159.196 59.8191 145.246 47.5928 126.676L52.0898 123.97C71.5299 150.378 106.569 164.982 144.466 151.031C157.348 146.459 168.964 138.48 178.006 128.262H184.985Z" fill="white"/>
<path d="M199.461 90.7961H195.244C196.088 84.6372 196.79 77.8252 196.65 73.486C195.713 48.1508 174.118 10.4979 139.922 1.02637C168.262 8.72491 190.232 32.5671 197.54 60.3751C200.116 70.2199 200.866 80.5312 199.461 90.7961Z" fill="white"/>
<path d="M34.477 101.294C36.0228 107.313 38.2713 113.145 41.1289 118.651L40.473 119.164C37.6156 113.565 35.367 107.639 33.8213 101.527L34.477 101.294Z" fill="white"/>
<path d="M32.7438 92.6626L32.1347 92.8024C30.5889 81.9778 31.1041 70.8732 33.821 60.2819C36.4912 49.5972 41.3629 39.4259 47.9211 30.6075C54.4792 21.7426 62.8174 14.184 72.2799 8.53838C78.4164 4.85241 84.9746 2.00628 91.8605 0C91.6731 0.0466579 91.4857 0.139974 91.2985 0.186631C84.6466 2.19292 78.2758 5.03905 72.3267 8.63171C62.8643 14.324 54.5729 21.8825 48.0616 30.7475C41.5034 39.6125 36.7723 49.784 34.1958 60.422C31.5726 70.9199 31.1041 81.9311 32.7438 92.6626Z" fill="white"/>
<path d="M185.923 128.262C185.361 129.055 184.799 129.895 184.237 130.642C177.631 139.553 169.293 147.205 159.784 152.944C150.275 158.683 139.595 162.509 128.633 164.189C117.625 165.822 106.289 165.309 95.5147 162.649C84.7406 159.99 74.4818 155.137 65.5346 148.558C57.7586 142.866 51.013 135.774 45.626 127.796L46.3756 127.329C51.7625 135.168 58.4612 142.073 66.1437 147.672C74.997 154.157 85.1154 158.87 95.7488 161.483C104.79 163.722 114.205 164.375 123.434 163.536C123.574 163.536 123.668 163.489 123.808 163.489C125.354 163.349 126.853 163.162 128.399 162.929C130.741 162.602 133.037 162.136 135.332 161.623C135.707 161.529 136.081 161.436 136.409 161.343C136.737 161.249 137.112 161.156 137.44 161.063C145.075 159.056 152.383 155.977 159.129 151.918C163.719 149.165 168.029 145.946 172.011 142.4C176.179 138.667 179.974 134.514 183.3 130.035C183.722 129.429 184.144 128.869 184.565 128.262H185.923Z" fill="white"/>
<path d="M200.023 90.7963H199.226C200.21 83.2377 200.116 75.5392 198.993 67.9805C198.617 65.4144 198.102 62.8948 197.494 60.4219C195.526 52.2568 192.293 44.4183 187.937 37.1864C182.27 27.7616 174.727 19.4564 165.874 12.9243C165.733 12.7843 165.546 12.691 165.358 12.5511C165.452 12.5511 165.546 12.5511 165.64 12.5044C165.733 12.5977 165.874 12.691 165.967 12.7377C174.868 19.2699 182.503 27.5283 188.265 36.9531C194.027 46.3779 197.869 56.9226 199.554 67.8405C200.772 75.4459 200.913 83.1911 200.023 90.7963Z" fill="white"/>
<path d="M5.38704 94.4819L10.7272 105.68L15.6927 94.4819H21.0797L13.1163 111.559V125.51H8.10398V111.465L0 94.4819H5.38704Z" fill="white"/>
<path d="M55.4631 109.926C55.4631 114.358 53.4957 118.744 50.1698 121.87C47.1249 124.763 43.2368 126.256 38.7867 126.256C29.7926 126.256 22.7661 119.117 22.7661 109.833C22.7661 105.82 24.4524 101.668 27.4037 98.4947C30.2611 95.4153 34.5239 93.5957 38.974 93.5957C48.0149 93.5957 55.4631 100.968 55.4631 109.926ZM28.2 109.926C28.2 113.612 29.418 116.458 31.9006 118.604C33.9149 120.377 36.5382 121.357 39.0677 121.357C45.2512 121.357 49.9824 116.411 49.9824 110.019C49.9824 103.627 45.2044 98.4947 39.1145 98.4947C33.0249 98.4947 28.2 103.44 28.2 109.926Z" fill="white"/>
<path d="M65.7219 94.4819V115.151C65.7219 117.298 65.8625 118.278 66.284 119.071C67.0334 120.61 68.5325 121.45 70.4062 121.45C72.4673 121.45 74.0132 120.47 74.7159 118.697C75.1844 117.531 75.2312 117.018 75.2312 113.985V94.4819H80.2435V114.591C80.2435 117.671 80.0092 119.304 79.3066 120.75C77.7607 124.11 74.4347 126.163 70.5468 126.163C66.6588 126.163 63.1923 123.97 61.6465 120.517C60.9438 119.024 60.7563 117.624 60.7563 114.498V94.4819H65.7219Z" fill="white"/>
<path d="M93.6409 94.4819C96.5921 94.4819 98.6532 94.902 100.293 95.8351C103.15 97.4214 104.79 100.268 104.79 103.627C104.79 108.013 102.12 111.465 97.6226 113.052L104.93 122.99L100.855 125.743L91.6734 113.238V125.463H86.6143V94.4819H93.6409ZM93.6409 108.713C95.3273 108.713 95.8426 108.666 96.5452 108.386C98.3252 107.686 99.4027 105.866 99.4027 103.58C99.4027 100.734 97.5289 99.0545 94.3435 99.0545H91.7202V108.666H93.6409V108.713Z" fill="white"/>
<path d="M149.384 108.013V122.15C146.199 124.623 142.639 125.883 138.798 125.883C129.897 125.883 122.871 118.837 122.871 109.879C122.871 100.921 129.804 94.062 138.657 94.062C141.515 94.062 144.559 94.8553 146.855 96.1617L145.871 101.061C143.857 99.801 140.671 98.9145 138.142 98.9145C132.661 98.9145 128.351 104 128.351 110.252C128.351 116.504 132.848 121.357 138.657 121.357C140.999 121.357 143.341 120.75 144.466 119.817V112.539H136.783L137.767 108.013H149.384Z" fill="white"/>
<path d="M186.953 109.926C186.953 114.358 184.985 118.744 181.659 121.87C178.615 124.763 174.727 126.256 170.276 126.256C161.283 126.256 154.256 119.117 154.256 109.833C154.256 105.82 155.943 101.668 158.894 98.4947C161.751 95.4153 166.014 93.5957 170.465 93.5957C179.505 93.5957 186.953 100.968 186.953 109.926ZM159.69 109.926C159.69 113.612 160.908 116.458 163.391 118.604C165.405 120.377 168.029 121.357 170.558 121.357C176.741 121.357 181.472 116.411 181.472 110.019C181.472 103.627 176.694 98.4947 170.605 98.4947C164.515 98.4947 159.69 103.44 159.69 109.926Z" fill="white"/>
<path d="M197.494 94.4819V120.937H206.347V125.51H192.48V94.5287H197.494V94.4819Z" fill="white"/>
<path d="M217.637 94.5757C220.353 94.5757 222.367 94.9489 224.381 95.882C229.816 98.3548 233.423 104.094 233.423 110.299C233.423 116.505 229.581 122.43 223.726 124.483C221.618 125.23 219.791 125.51 217.262 125.51H210.704V94.6222H217.637V94.5757ZM216.793 120.844C218.479 120.844 219.604 120.704 220.775 120.331C225.225 118.978 228.176 114.872 228.176 110.159C228.176 105.074 224.803 100.781 219.978 99.568C218.854 99.2881 218.059 99.1948 216.418 99.1948H215.716L215.669 120.844H216.793Z" fill="white"/>
<path d="M147.464 13.3906H130.132V74.3257H147.464V13.3906Z" fill="#E52B29"/>
<path d="M124.463 17.917H107.131V74.3263H124.463V17.917Z" fill="#F28F50"/>
<path d="M101.463 25.8018H84.1309V74.3259H101.463V25.8018Z" fill="#FEDE5B"/>
<path d="M171.354 83.7974H60.1938V85.757H171.354V83.7974Z" fill="white"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@ -0,0 +1,93 @@
<template>
<div class="p-6 space-y-6 max-w-4/5 mx-auto">
<h2 class="text-xl font-bold mb-12 m-6">Yourgold verification data decryptor</h2>
<div class="space-y-4">
<div class="flex justify-between items-center">
<label class="text-sm ">Encrypted Zip File:</label>
<button
@click="pickEncryptedFile"
class="bg-gray-200 px-4 py-2 rounded-md w-full sm:w-1/2 text-left overflow-hidden truncate text-black">
{{ encryptedFile || 'Choose File' }}
</button>
</div>
<div class="flex justify-between items-center">
<label class="text-sm ">Private Key File:</label>
<button
@click="pickPrivateKeyFile"
class="bg-gray-200 px-4 py-2 rounded-md w-full sm:w-1/2 text-left overflow-hidden truncate text-black">
{{ privateKeyFile || 'Choose File' }}
</button>
</div>
<div class="flex justify-between items-center">
<label class="text-sm">Output Directory:</label>
<button
@click="pickOutputDir"
class="bg-gray-200 px-4 py-2 rounded-md w-full sm:w-1/2 text-left overflow-hidden truncate text-black">
{{ outputDir || 'Choose Folder' }}
</button>
</div>
</div>
<div class="flex justify-center">
<button
@click="decrypt"
class="bg-blue-500 text-white px-6 py-3 rounded-md w-full sm:w-1/3 max-w-xs mt-6">
Decrypt
</button>
</div>
<p v-if="message" class="mt-4 text-green-600">{{ message }}</p>
<p v-if="error" class="mt-4 text-red-600">{{ error }}</p>
</div>
</template>
<script setup>
import { ref } from 'vue'
import { DecryptHybridZip, SelectPrivateKeyFile, SelectEncryptedFile, SelectOutputDirectory} from '../../wailsjs/go/backend/Decryptor'
const encryptedFile = ref(null)
const privateKeyFile = ref(null)
const outputDir = ref('')
const message = ref('')
const error = ref('')
const pickPrivateKeyFile = async () => {
const result = await SelectPrivateKeyFile()
if (result) privateKeyFile.value = result
}
const pickEncryptedFile = async () => {
const result = await SelectEncryptedFile()
if (result) encryptedFile.value = result
console.log(encryptedFile.value)
}
const pickOutputDir = async () => {
const result = await SelectOutputDirectory()
if (result) outputDir.value = result
}
const decrypt = async () => {
message.value = ''
error.value = ''
try {
console.log(encryptedFile)
if (!encryptedFile.value || !privateKeyFile.value || !outputDir.value) {
error.value = 'Please select all required files and folder.'
return
}
await DecryptHybridZip(
encryptedFile.value,
privateKeyFile.value,
outputDir.value
)
message.value = 'Decryption complete!'
} catch (err) {
error.value = 'Decryption failed: ' + err
}
}
</script>

5
frontend/src/main.js Normal file
View File

@ -0,0 +1,5 @@
import {createApp} from 'vue'
import App from './App.vue'
import './style.css';
createApp(App).mount('#app')

28
frontend/src/style.css Normal file
View File

@ -0,0 +1,28 @@
@import "tailwindcss";
html {
background-color: rgba(27, 38, 54, 1);
text-align: center;
color: white;
}
body {
margin: 0;
color: white;
font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto",
"Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
sans-serif;
}
@font-face {
font-family: "Nunito";
font-style: normal;
font-weight: 400;
src: local(""),
url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2");
}
#app {
height: 100vh;
text-align: center;
}

11
frontend/vite.config.js Normal file
View File

@ -0,0 +1,11 @@
import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'
import tailwindcss from '@tailwindcss/vite'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
vue(),
tailwindcss()
]
})

10
frontend/wailsjs/go/backend/Decryptor.d.ts vendored Executable file
View File

@ -0,0 +1,10 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
export function DecryptHybridZip(arg1:string,arg2:string,arg3:string):Promise<void>;
export function SelectEncryptedFile():Promise<string>;
export function SelectOutputDirectory():Promise<string>;
export function SelectPrivateKeyFile():Promise<string>;

View File

@ -0,0 +1,19 @@
// @ts-check
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
export function DecryptHybridZip(arg1, arg2, arg3) {
return window['go']['backend']['Decryptor']['DecryptHybridZip'](arg1, arg2, arg3);
}
export function SelectEncryptedFile() {
return window['go']['backend']['Decryptor']['SelectEncryptedFile']();
}
export function SelectOutputDirectory() {
return window['go']['backend']['Decryptor']['SelectOutputDirectory']();
}
export function SelectPrivateKeyFile() {
return window['go']['backend']['Decryptor']['SelectPrivateKeyFile']();
}

View File

@ -0,0 +1,24 @@
{
"name": "@wailsapp/runtime",
"version": "2.0.0",
"description": "Wails Javascript runtime library",
"main": "runtime.js",
"types": "runtime.d.ts",
"scripts": {
},
"repository": {
"type": "git",
"url": "git+https://github.com/wailsapp/wails.git"
},
"keywords": [
"Wails",
"Javascript",
"Go"
],
"author": "Lea Anthony <lea.anthony@gmail.com>",
"license": "MIT",
"bugs": {
"url": "https://github.com/wailsapp/wails/issues"
},
"homepage": "https://github.com/wailsapp/wails#readme"
}

249
frontend/wailsjs/runtime/runtime.d.ts vendored Normal file
View File

@ -0,0 +1,249 @@
/*
_ __ _ __
| | / /___ _(_) /____
| | /| / / __ `/ / / ___/
| |/ |/ / /_/ / / (__ )
|__/|__/\__,_/_/_/____/
The electron alternative for Go
(c) Lea Anthony 2019-present
*/
export interface Position {
x: number;
y: number;
}
export interface Size {
w: number;
h: number;
}
export interface Screen {
isCurrent: boolean;
isPrimary: boolean;
width : number
height : number
}
// Environment information such as platform, buildtype, ...
export interface EnvironmentInfo {
buildType: string;
platform: string;
arch: string;
}
// [EventsEmit](https://wails.io/docs/reference/runtime/events#eventsemit)
// emits the given event. Optional data may be passed with the event.
// This will trigger any event listeners.
export function EventsEmit(eventName: string, ...data: any): void;
// [EventsOn](https://wails.io/docs/reference/runtime/events#eventson) sets up a listener for the given event name.
export function EventsOn(eventName: string, callback: (...data: any) => void): () => void;
// [EventsOnMultiple](https://wails.io/docs/reference/runtime/events#eventsonmultiple)
// sets up a listener for the given event name, but will only trigger a given number times.
export function EventsOnMultiple(eventName: string, callback: (...data: any) => void, maxCallbacks: number): () => void;
// [EventsOnce](https://wails.io/docs/reference/runtime/events#eventsonce)
// sets up a listener for the given event name, but will only trigger once.
export function EventsOnce(eventName: string, callback: (...data: any) => void): () => void;
// [EventsOff](https://wails.io/docs/reference/runtime/events#eventsoff)
// unregisters the listener for the given event name.
export function EventsOff(eventName: string, ...additionalEventNames: string[]): void;
// [EventsOffAll](https://wails.io/docs/reference/runtime/events#eventsoffall)
// unregisters all listeners.
export function EventsOffAll(): void;
// [LogPrint](https://wails.io/docs/reference/runtime/log#logprint)
// logs the given message as a raw message
export function LogPrint(message: string): void;
// [LogTrace](https://wails.io/docs/reference/runtime/log#logtrace)
// logs the given message at the `trace` log level.
export function LogTrace(message: string): void;
// [LogDebug](https://wails.io/docs/reference/runtime/log#logdebug)
// logs the given message at the `debug` log level.
export function LogDebug(message: string): void;
// [LogError](https://wails.io/docs/reference/runtime/log#logerror)
// logs the given message at the `error` log level.
export function LogError(message: string): void;
// [LogFatal](https://wails.io/docs/reference/runtime/log#logfatal)
// logs the given message at the `fatal` log level.
// The application will quit after calling this method.
export function LogFatal(message: string): void;
// [LogInfo](https://wails.io/docs/reference/runtime/log#loginfo)
// logs the given message at the `info` log level.
export function LogInfo(message: string): void;
// [LogWarning](https://wails.io/docs/reference/runtime/log#logwarning)
// logs the given message at the `warning` log level.
export function LogWarning(message: string): void;
// [WindowReload](https://wails.io/docs/reference/runtime/window#windowreload)
// Forces a reload by the main application as well as connected browsers.
export function WindowReload(): void;
// [WindowReloadApp](https://wails.io/docs/reference/runtime/window#windowreloadapp)
// Reloads the application frontend.
export function WindowReloadApp(): void;
// [WindowSetAlwaysOnTop](https://wails.io/docs/reference/runtime/window#windowsetalwaysontop)
// Sets the window AlwaysOnTop or not on top.
export function WindowSetAlwaysOnTop(b: boolean): void;
// [WindowSetSystemDefaultTheme](https://wails.io/docs/next/reference/runtime/window#windowsetsystemdefaulttheme)
// *Windows only*
// Sets window theme to system default (dark/light).
export function WindowSetSystemDefaultTheme(): void;
// [WindowSetLightTheme](https://wails.io/docs/next/reference/runtime/window#windowsetlighttheme)
// *Windows only*
// Sets window to light theme.
export function WindowSetLightTheme(): void;
// [WindowSetDarkTheme](https://wails.io/docs/next/reference/runtime/window#windowsetdarktheme)
// *Windows only*
// Sets window to dark theme.
export function WindowSetDarkTheme(): void;
// [WindowCenter](https://wails.io/docs/reference/runtime/window#windowcenter)
// Centers the window on the monitor the window is currently on.
export function WindowCenter(): void;
// [WindowSetTitle](https://wails.io/docs/reference/runtime/window#windowsettitle)
// Sets the text in the window title bar.
export function WindowSetTitle(title: string): void;
// [WindowFullscreen](https://wails.io/docs/reference/runtime/window#windowfullscreen)
// Makes the window full screen.
export function WindowFullscreen(): void;
// [WindowUnfullscreen](https://wails.io/docs/reference/runtime/window#windowunfullscreen)
// Restores the previous window dimensions and position prior to full screen.
export function WindowUnfullscreen(): void;
// [WindowIsFullscreen](https://wails.io/docs/reference/runtime/window#windowisfullscreen)
// Returns the state of the window, i.e. whether the window is in full screen mode or not.
export function WindowIsFullscreen(): Promise<boolean>;
// [WindowSetSize](https://wails.io/docs/reference/runtime/window#windowsetsize)
// Sets the width and height of the window.
export function WindowSetSize(width: number, height: number): void;
// [WindowGetSize](https://wails.io/docs/reference/runtime/window#windowgetsize)
// Gets the width and height of the window.
export function WindowGetSize(): Promise<Size>;
// [WindowSetMaxSize](https://wails.io/docs/reference/runtime/window#windowsetmaxsize)
// Sets the maximum window size. Will resize the window if the window is currently larger than the given dimensions.
// Setting a size of 0,0 will disable this constraint.
export function WindowSetMaxSize(width: number, height: number): void;
// [WindowSetMinSize](https://wails.io/docs/reference/runtime/window#windowsetminsize)
// Sets the minimum window size. Will resize the window if the window is currently smaller than the given dimensions.
// Setting a size of 0,0 will disable this constraint.
export function WindowSetMinSize(width: number, height: number): void;
// [WindowSetPosition](https://wails.io/docs/reference/runtime/window#windowsetposition)
// Sets the window position relative to the monitor the window is currently on.
export function WindowSetPosition(x: number, y: number): void;
// [WindowGetPosition](https://wails.io/docs/reference/runtime/window#windowgetposition)
// Gets the window position relative to the monitor the window is currently on.
export function WindowGetPosition(): Promise<Position>;
// [WindowHide](https://wails.io/docs/reference/runtime/window#windowhide)
// Hides the window.
export function WindowHide(): void;
// [WindowShow](https://wails.io/docs/reference/runtime/window#windowshow)
// Shows the window, if it is currently hidden.
export function WindowShow(): void;
// [WindowMaximise](https://wails.io/docs/reference/runtime/window#windowmaximise)
// Maximises the window to fill the screen.
export function WindowMaximise(): void;
// [WindowToggleMaximise](https://wails.io/docs/reference/runtime/window#windowtogglemaximise)
// Toggles between Maximised and UnMaximised.
export function WindowToggleMaximise(): void;
// [WindowUnmaximise](https://wails.io/docs/reference/runtime/window#windowunmaximise)
// Restores the window to the dimensions and position prior to maximising.
export function WindowUnmaximise(): void;
// [WindowIsMaximised](https://wails.io/docs/reference/runtime/window#windowismaximised)
// Returns the state of the window, i.e. whether the window is maximised or not.
export function WindowIsMaximised(): Promise<boolean>;
// [WindowMinimise](https://wails.io/docs/reference/runtime/window#windowminimise)
// Minimises the window.
export function WindowMinimise(): void;
// [WindowUnminimise](https://wails.io/docs/reference/runtime/window#windowunminimise)
// Restores the window to the dimensions and position prior to minimising.
export function WindowUnminimise(): void;
// [WindowIsMinimised](https://wails.io/docs/reference/runtime/window#windowisminimised)
// Returns the state of the window, i.e. whether the window is minimised or not.
export function WindowIsMinimised(): Promise<boolean>;
// [WindowIsNormal](https://wails.io/docs/reference/runtime/window#windowisnormal)
// Returns the state of the window, i.e. whether the window is normal or not.
export function WindowIsNormal(): Promise<boolean>;
// [WindowSetBackgroundColour](https://wails.io/docs/reference/runtime/window#windowsetbackgroundcolour)
// Sets the background colour of the window to the given RGBA colour definition. This colour will show through for all transparent pixels.
export function WindowSetBackgroundColour(R: number, G: number, B: number, A: number): void;
// [ScreenGetAll](https://wails.io/docs/reference/runtime/window#screengetall)
// Gets the all screens. Call this anew each time you want to refresh data from the underlying windowing system.
export function ScreenGetAll(): Promise<Screen[]>;
// [BrowserOpenURL](https://wails.io/docs/reference/runtime/browser#browseropenurl)
// Opens the given URL in the system browser.
export function BrowserOpenURL(url: string): void;
// [Environment](https://wails.io/docs/reference/runtime/intro#environment)
// Returns information about the environment
export function Environment(): Promise<EnvironmentInfo>;
// [Quit](https://wails.io/docs/reference/runtime/intro#quit)
// Quits the application.
export function Quit(): void;
// [Hide](https://wails.io/docs/reference/runtime/intro#hide)
// Hides the application.
export function Hide(): void;
// [Show](https://wails.io/docs/reference/runtime/intro#show)
// Shows the application.
export function Show(): void;
// [ClipboardGetText](https://wails.io/docs/reference/runtime/clipboard#clipboardgettext)
// Returns the current text stored on clipboard
export function ClipboardGetText(): Promise<string>;
// [ClipboardSetText](https://wails.io/docs/reference/runtime/clipboard#clipboardsettext)
// Sets a text on the clipboard
export function ClipboardSetText(text: string): Promise<boolean>;
// [OnFileDrop](https://wails.io/docs/reference/runtime/draganddrop#onfiledrop)
// OnFileDrop listens to drag and drop events and calls the callback with the coordinates of the drop and an array of path strings.
export function OnFileDrop(callback: (x: number, y: number ,paths: string[]) => void, useDropTarget: boolean) :void
// [OnFileDropOff](https://wails.io/docs/reference/runtime/draganddrop#dragandddropoff)
// OnFileDropOff removes the drag and drop listeners and handlers.
export function OnFileDropOff() :void
// Check if the file path resolver is available
export function CanResolveFilePaths(): boolean;
// Resolves file paths for an array of files
export function ResolveFilePaths(files: File[]): void

View File

@ -0,0 +1,238 @@
/*
_ __ _ __
| | / /___ _(_) /____
| | /| / / __ `/ / / ___/
| |/ |/ / /_/ / / (__ )
|__/|__/\__,_/_/_/____/
The electron alternative for Go
(c) Lea Anthony 2019-present
*/
export function LogPrint(message) {
window.runtime.LogPrint(message);
}
export function LogTrace(message) {
window.runtime.LogTrace(message);
}
export function LogDebug(message) {
window.runtime.LogDebug(message);
}
export function LogInfo(message) {
window.runtime.LogInfo(message);
}
export function LogWarning(message) {
window.runtime.LogWarning(message);
}
export function LogError(message) {
window.runtime.LogError(message);
}
export function LogFatal(message) {
window.runtime.LogFatal(message);
}
export function EventsOnMultiple(eventName, callback, maxCallbacks) {
return window.runtime.EventsOnMultiple(eventName, callback, maxCallbacks);
}
export function EventsOn(eventName, callback) {
return EventsOnMultiple(eventName, callback, -1);
}
export function EventsOff(eventName, ...additionalEventNames) {
return window.runtime.EventsOff(eventName, ...additionalEventNames);
}
export function EventsOnce(eventName, callback) {
return EventsOnMultiple(eventName, callback, 1);
}
export function EventsEmit(eventName) {
let args = [eventName].slice.call(arguments);
return window.runtime.EventsEmit.apply(null, args);
}
export function WindowReload() {
window.runtime.WindowReload();
}
export function WindowReloadApp() {
window.runtime.WindowReloadApp();
}
export function WindowSetAlwaysOnTop(b) {
window.runtime.WindowSetAlwaysOnTop(b);
}
export function WindowSetSystemDefaultTheme() {
window.runtime.WindowSetSystemDefaultTheme();
}
export function WindowSetLightTheme() {
window.runtime.WindowSetLightTheme();
}
export function WindowSetDarkTheme() {
window.runtime.WindowSetDarkTheme();
}
export function WindowCenter() {
window.runtime.WindowCenter();
}
export function WindowSetTitle(title) {
window.runtime.WindowSetTitle(title);
}
export function WindowFullscreen() {
window.runtime.WindowFullscreen();
}
export function WindowUnfullscreen() {
window.runtime.WindowUnfullscreen();
}
export function WindowIsFullscreen() {
return window.runtime.WindowIsFullscreen();
}
export function WindowGetSize() {
return window.runtime.WindowGetSize();
}
export function WindowSetSize(width, height) {
window.runtime.WindowSetSize(width, height);
}
export function WindowSetMaxSize(width, height) {
window.runtime.WindowSetMaxSize(width, height);
}
export function WindowSetMinSize(width, height) {
window.runtime.WindowSetMinSize(width, height);
}
export function WindowSetPosition(x, y) {
window.runtime.WindowSetPosition(x, y);
}
export function WindowGetPosition() {
return window.runtime.WindowGetPosition();
}
export function WindowHide() {
window.runtime.WindowHide();
}
export function WindowShow() {
window.runtime.WindowShow();
}
export function WindowMaximise() {
window.runtime.WindowMaximise();
}
export function WindowToggleMaximise() {
window.runtime.WindowToggleMaximise();
}
export function WindowUnmaximise() {
window.runtime.WindowUnmaximise();
}
export function WindowIsMaximised() {
return window.runtime.WindowIsMaximised();
}
export function WindowMinimise() {
window.runtime.WindowMinimise();
}
export function WindowUnminimise() {
window.runtime.WindowUnminimise();
}
export function WindowSetBackgroundColour(R, G, B, A) {
window.runtime.WindowSetBackgroundColour(R, G, B, A);
}
export function ScreenGetAll() {
return window.runtime.ScreenGetAll();
}
export function WindowIsMinimised() {
return window.runtime.WindowIsMinimised();
}
export function WindowIsNormal() {
return window.runtime.WindowIsNormal();
}
export function BrowserOpenURL(url) {
window.runtime.BrowserOpenURL(url);
}
export function Environment() {
return window.runtime.Environment();
}
export function Quit() {
window.runtime.Quit();
}
export function Hide() {
window.runtime.Hide();
}
export function Show() {
window.runtime.Show();
}
export function ClipboardGetText() {
return window.runtime.ClipboardGetText();
}
export function ClipboardSetText(text) {
return window.runtime.ClipboardSetText(text);
}
/**
* Callback for OnFileDrop returns a slice of file path strings when a drop is finished.
*
* @export
* @callback OnFileDropCallback
* @param {number} x - x coordinate of the drop
* @param {number} y - y coordinate of the drop
* @param {string[]} paths - A list of file paths.
*/
/**
* OnFileDrop listens to drag and drop events and calls the callback with the coordinates of the drop and an array of path strings.
*
* @export
* @param {OnFileDropCallback} callback - Callback for OnFileDrop returns a slice of file path strings when a drop is finished.
* @param {boolean} [useDropTarget=true] - Only call the callback when the drop finished on an element that has the drop target style. (--wails-drop-target)
*/
export function OnFileDrop(callback, useDropTarget) {
return window.runtime.OnFileDrop(callback, useDropTarget);
}
/**
* OnFileDropOff removes the drag and drop listeners and handlers.
*/
export function OnFileDropOff() {
return window.runtime.OnFileDropOff();
}
export function CanResolveFilePaths() {
return window.runtime.CanResolveFilePaths();
}
export function ResolveFilePaths(files) {
return window.runtime.ResolveFilePaths(files);
}