summaryrefslogtreecommitdiff
path: root/main.go
blob: 679afb17d3a216c76a81ef6e0123d69d5921ee89 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package main

import (
	"crypto/sha256"
	"encoding/hex"
	"fmt"
	"log"
	"os"

	"fyne.io/fyne/v2"
	"fyne.io/fyne/v2/app"
	"fyne.io/fyne/v2/container"
	"fyne.io/fyne/v2/widget"
)

func main() {
	myApp := app.New()
	myWindow := myApp.NewWindow("Quick logger")

	input := widget.NewMultiLineEntry()
	input.SetPlaceHolder("Enter text here...")

	button := widget.NewButton("Log text", func() {
		content := input.Text
		filename := fmt.Sprintf("%s.txt", getSHA256Hash(content))
		err := os.WriteFile(filename, []byte(content), 0644)
		if err != nil {
			log.Println("Error writing to file:", err)
		} else {
			input.SetText("")
		}
	})

	myWindow.SetContent(container.NewVBox(
		input,
		button,
	))
	myWindow.Resize(fyne.NewSize(200, 100))

	myWindow.ShowAndRun()
}

func getSHA256Hash(text string) string {
	hasher := sha256.New()
	hasher.Write([]byte(text))
	return hex.EncodeToString(hasher.Sum(nil))
}