generated from dave/wails-template
Implement setting lamp brightnesses
This commit is contained in:
4
app.go
4
app.go
@@ -3,6 +3,7 @@ package main
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"io"
|
"io"
|
||||||
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
"regexp"
|
"regexp"
|
||||||
"strconv"
|
"strconv"
|
||||||
@@ -61,15 +62,18 @@ func (a *App) GetLamps() (lamps []string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) SetLampBrightness(lampId int, brightness int) string {
|
func (a *App) SetLampBrightness(lampId int, brightness int) string {
|
||||||
|
log.Printf("Setting lamp %d to %d", lampId, brightness)
|
||||||
resp, err := http.Get("http://" + IP + "/lamp/" + strconv.Itoa(lampId) + "?n=" + strconv.Itoa(brightness))
|
resp, err := http.Get("http://" + IP + "/lamp/" + strconv.Itoa(lampId) + "?n=" + strconv.Itoa(brightness))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
runtime.LogError(a.ctx, err.Error())
|
runtime.LogError(a.ctx, err.Error())
|
||||||
|
log.Printf("Error: %s", err.Error())
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
defer resp.Body.Close()
|
defer resp.Body.Close()
|
||||||
body, err := io.ReadAll(resp.Body)
|
body, err := io.ReadAll(resp.Body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
runtime.LogError(a.ctx, err.Error())
|
runtime.LogError(a.ctx, err.Error())
|
||||||
|
log.Printf("Error: %s", err.Error())
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
return string(body)
|
return string(body)
|
||||||
|
@@ -1,13 +1,14 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
export let brightnessChange = (brightness: number) => {};
|
export let brightnessChange = (lamp: number, brightness: number) => {};
|
||||||
|
export let lamp: number;
|
||||||
export let brightness: number;
|
export let brightness: number;
|
||||||
|
|
||||||
let timer: number;
|
let timer: number;
|
||||||
function handleBrightnessChange(event: Event) {
|
function handleBrightnessChange(event: Event) {
|
||||||
clearTimeout(timer);
|
clearTimeout(timer);
|
||||||
timer = setTimeout(() => {
|
timer = setTimeout(() => {
|
||||||
brightness = event.target?.value || 0;
|
brightness = Number(event.target?.value);
|
||||||
brightnessChange(brightness);
|
brightnessChange(lamp, brightness);
|
||||||
}, 300);
|
}, 300);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Lamp from "../../components/Lamp.svelte";
|
import Lamp from "../../components/Lamp.svelte";
|
||||||
import { GetLamps } from "$wails/main/App";
|
import { GetLamps, SetLampBrightness } from "$wails/main/App";
|
||||||
|
|
||||||
let lamps: number[] = [0, 0];
|
let lamps: number[] = [0, 0];
|
||||||
GetLamps().then(apilamps => {
|
GetLamps().then(apilamps => {
|
||||||
@@ -10,14 +10,14 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function handleBrightnessChange(brightness: number) {
|
function handleBrightnessChange(lamp: number, brightness: number) {
|
||||||
console.log(brightness);
|
SetLampBrightness(lamp, brightness);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="flex flex-row justify-center items-center">
|
<div class="flex flex-row justify-center items-center">
|
||||||
<Lamp brightness={lamps[0]} brightnessChange={handleBrightnessChange} />
|
<Lamp lamp={1} brightness={lamps[0]} brightnessChange={handleBrightnessChange} />
|
||||||
<Lamp brightness={lamps[1]} brightnessChange={handleBrightnessChange} />
|
<Lamp lamp={2} brightness={lamps[1]} brightnessChange={handleBrightnessChange} />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
Reference in New Issue
Block a user