diff --git a/v2/cmd/wails/internal/commands/generate/template/base/app.tmpl.go b/v2/cmd/wails/internal/commands/generate/template/base/app.tmpl.go
index 70e0f1ce..dd540dcd 100644
--- a/v2/cmd/wails/internal/commands/generate/template/base/app.tmpl.go
+++ b/v2/cmd/wails/internal/commands/generate/template/base/app.tmpl.go
@@ -17,9 +17,15 @@ func NewApp() *App {
// startup is called at application startup
func (a *App) startup(ctx context.Context) {
+ // Perform your setup here
a.ctx = ctx
}
+// domReady is called after the front-end dom has been loaded
+func (a App) domReady(ctx context.Context) {
+ // Add your action here
+}
+
// shutdown is called at application termination
func (a *App) shutdown(ctx context.Context) {
// Perform your teardown here
diff --git a/v2/cmd/wails/internal/commands/generate/template/base/frontend/dist/index.html b/v2/cmd/wails/internal/commands/generate/template/base/frontend/dist/index.html
index 001ed725..7f516f7f 100644
--- a/v2/cmd/wails/internal/commands/generate/template/base/frontend/dist/index.html
+++ b/v2/cmd/wails/internal/commands/generate/template/base/frontend/dist/index.html
@@ -5,12 +5,12 @@
-
-
-
Greet
+
+
Please enter your name below 👇
+
+
+ Greet
-
diff --git a/v2/cmd/wails/internal/commands/generate/template/base/frontend/dist/main.css b/v2/cmd/wails/internal/commands/generate/template/base/frontend/dist/main.css
index 150d0486..af641246 100644
--- a/v2/cmd/wails/internal/commands/generate/template/base/frontend/dist/main.css
+++ b/v2/cmd/wails/internal/commands/generate/template/base/frontend/dist/main.css
@@ -1,47 +1,72 @@
-
html {
- text-align: center;
- color: white;
- background-color: rgba(0, 0, 0, 1);
+ background-color: rgba(33, 37, 43, 1);
+ text-align: center;
+ color: white;
}
body {
- color: white;
- font-family: 'Nunito', -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
- margin: 0;
+ 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')
+ font-family: "Nunito";
+ font-style: normal;
+ font-weight: 400;
+ src: local(""),
+ url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2");
}
-#result {
- margin-top: 1rem;
+.logo {
+ display: block;
+ width: 35%;
+ height: 35%;
+ margin: auto;
+ padding: 15% 0 0;
+ background-position: center;
+ background-repeat: no-repeat;
+ background-image: url("./assets/images/logo-dark.svg");
+}
+.result {
+ height: 20px;
+ line-height: 20px;
+ margin: 1.5rem auto;
+}
+.input-box .btn {
+ width: 60px;
+ height: 30px;
+ line-height: 30px;
+ border-radius: 3px;
+ border: none;
+ margin: 0 0 0 20px;
+ padding: 0 8px;
+ cursor: pointer;
+}
+.input-box .btn:hover {
+ background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%);
+ color: #333333;
}
-button {
- -webkit-appearance: default-button;
- padding: 6px;
+.input-box .input {
+ border: none;
+ border-radius: 3px;
+ outline: none;
+ height: 30px;
+ line-height: 30px;
+ padding: 0 10px;
+ background-color: rgba(240, 240, 240, 1);
+ -webkit-font-smoothing: antialiased;
}
-#name {
- border-radius: 3px;
- outline: none;
- height: 20px;
- -webkit-font-smoothing: antialiased;
+.input-box .input:hover {
+ border: none;
+ background-color: rgba(255, 255, 255, 1);
}
-#logo {
- width: 40%;
- height: 40%;
- padding-top: 20%;
- margin: auto;
- display: block;
- background-position: center;
- background-repeat: no-repeat;
- background-image: url("./assets/images/logo-dark.svg");
+.input-box .input:focus {
+ border: none;
+ background-color: rgba(255, 255, 255, 1);
}
diff --git a/v2/cmd/wails/internal/commands/generate/template/base/frontend/dist/main.js b/v2/cmd/wails/internal/commands/generate/template/base/frontend/dist/main.js
index fda8cc7d..db404e45 100644
--- a/v2/cmd/wails/internal/commands/generate/template/base/frontend/dist/main.js
+++ b/v2/cmd/wails/internal/commands/generate/template/base/frontend/dist/main.js
@@ -5,12 +5,19 @@ nameElement.focus();
// Setup the greet function
window.greet = function () {
- // Get name
- let name = nameElement.value;
+ // Get name
+ let name = nameElement.value;
- // Call App.Greet(name)
- window.go.main.App.Greet(name).then((result) => {
- // Update result with data back from App.Greet()
- document.getElementById("result").innerText = result;
- });
+ // Call App.Greet(name)
+ window.go.main.App.Greet(name).then((result) => {
+ // Update result with data back from App.Greet()
+ document.getElementById("result").innerText = result;
+ });
};
+
+nameElement.onkeydown = function (e) {
+ console.log(e)
+ if (e.keyCode == 13) {
+ window.greet()
+ }
+}
\ No newline at end of file
diff --git a/v2/cmd/wails/internal/commands/generate/template/base/frontend/package.tmpl.json b/v2/cmd/wails/internal/commands/generate/template/base/frontend/package.tmpl.json
new file mode 100644
index 00000000..01780288
--- /dev/null
+++ b/v2/cmd/wails/internal/commands/generate/template/base/frontend/package.tmpl.json
@@ -0,0 +1,12 @@
+{
+ "name": "{{.ProjectName}}",
+ "version": "1.0.0",
+ "description": "",
+ "main": "",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1",
+ "build": ""
+ },
+ "keywords": [],
+ "author": "{{.AuthorName}}"
+}
diff --git a/v2/cmd/wails/internal/commands/generate/template/base/main.tmpl.go b/v2/cmd/wails/internal/commands/generate/template/base/main.tmpl.go
index 9cfd556a..4bec207b 100644
--- a/v2/cmd/wails/internal/commands/generate/template/base/main.tmpl.go
+++ b/v2/cmd/wails/internal/commands/generate/template/base/main.tmpl.go
@@ -5,28 +5,49 @@ import (
"log"
"github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/logger"
"github.com/wailsapp/wails/v2/pkg/options"
+ "github.com/wailsapp/wails/v2/pkg/options/windows"
)
//go:embed frontend/dist
var assets embed.FS
func main() {
-
- // Create application with options
+ // Create an instance of the app structure
app := NewApp()
+ // Create application with options
err := wails.Run(&options.App{
- Title: "{{.ProjectName}}",
- Width: 1024,
- Height: 768,
- Assets: assets,
+ Title: "{{.ProjectName}}",
+ Width: 1024,
+ Height: 768,
+ // MinWidth: 720,
+ // MinHeight: 570,
+ // MaxWidth: 1280,
+ // MaxHeight: 740,
+ DisableResize: false,
+ Fullscreen: false,
+ Frameless: false,
+ StartHidden: false,
+ HideWindowOnClose: false,
+ RGBA: &options.RGBA{255, 255, 255, 255},
+ Assets: assets,
+ LogLevel: logger.DEBUG,
OnStartup: app.startup,
+ OnDomReady: app.domReady,
OnShutdown: app.shutdown,
Bind: []interface{}{
app,
},
+ // Windows platform specific options
+ Windows: &windows.Options{
+ WebviewIsTransparent: false,
+ WindowIsTranslucent: false,
+ DisableWindowIcon: false,
+ },
})
+
if err != nil {
log.Fatal(err)
}
diff --git a/v2/cmd/wails/internal/commands/generate/template/base/wails.tmpl.json b/v2/cmd/wails/internal/commands/generate/template/base/wails.tmpl.json
index 82aa8f45..b8d08108 100644
--- a/v2/cmd/wails/internal/commands/generate/template/base/wails.tmpl.json
+++ b/v2/cmd/wails/internal/commands/generate/template/base/wails.tmpl.json
@@ -2,11 +2,10 @@
"name": "{{.ProjectName}}",
"outputfilename": "{{.BinaryName}}",
"assetdir": "frontend/dist",
- "html": "frontend/dist/index.html",
- "frontend:build": "npm run build",
"frontend:install": "npm install",
+ "frontend:build": "npm run build",
"author": {
"name": "{{.AuthorName}}",
"email": "{{.AuthorEmail}}"
}
-}
\ No newline at end of file
+}