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 @@ - -
- - + +
Please enter your name below 👇
+
+ +
-
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 +}