30 changed files with 1275 additions and 953 deletions
@ -0,0 +1,94 @@ |
|||||
|
name: Bug Report |
||||
|
description: File a bug report |
||||
|
title: "[Bug]: " |
||||
|
labels: ["bug"] |
||||
|
body: |
||||
|
- type: markdown |
||||
|
attributes: |
||||
|
value: | |
||||
|
Thanks for taking the time to fill out this bug report! |
||||
|
|
||||
|
- type: dropdown |
||||
|
id: hardware |
||||
|
attributes: |
||||
|
label: Hardware |
||||
|
description: What hardware are you encountering this issue on? |
||||
|
multiple: true |
||||
|
options: |
||||
|
- Not Applicable |
||||
|
- T-Beam |
||||
|
- T-Beam S3 |
||||
|
- T-Beam 0.7 |
||||
|
- T-Lora v1 |
||||
|
- T-Lora v1.3 |
||||
|
- T-Lora v2 1.6 |
||||
|
- T-Deck |
||||
|
- T-Echo |
||||
|
- T-Watch |
||||
|
- Rak4631 |
||||
|
- Rak11200 |
||||
|
- Rak11310 |
||||
|
- Heltec v1 |
||||
|
- Heltec v2 |
||||
|
- Heltec v2.1 |
||||
|
- Heltec V3 |
||||
|
- Heltec Wireless Paper |
||||
|
- Heltec Wireless Tracker |
||||
|
- Raspberry Pi Pico (W) |
||||
|
- Relay v1 |
||||
|
- Relay v2 |
||||
|
- DIY |
||||
|
- Other |
||||
|
validations: |
||||
|
required: true |
||||
|
|
||||
|
- type: dropdown |
||||
|
id: category |
||||
|
attributes: |
||||
|
label: Connection Type |
||||
|
description: How are you connecting to your device? |
||||
|
multiple: true |
||||
|
options: |
||||
|
- HTTP |
||||
|
- Bluetooth |
||||
|
- Serial |
||||
|
validations: |
||||
|
required: true |
||||
|
|
||||
|
- type: dropdown |
||||
|
id: local |
||||
|
attributes: |
||||
|
label: Local or Hosted |
||||
|
description: Are you using `meshtastic.local` or `client.meshtastic.org`? |
||||
|
multiple: true |
||||
|
options: |
||||
|
- http://meshtastic.local |
||||
|
- https://client.meshtastic.org |
||||
|
validations: |
||||
|
required: true |
||||
|
|
||||
|
- type: input |
||||
|
id: version |
||||
|
attributes: |
||||
|
label: Firmware Version |
||||
|
description: This can be found on the device's screen or via one of the apps. |
||||
|
placeholder: x.x.x.yyyyyyy |
||||
|
validations: |
||||
|
required: true |
||||
|
|
||||
|
- type: textarea |
||||
|
id: body |
||||
|
attributes: |
||||
|
label: Description |
||||
|
description: Please provide details on what steps you performed for this to happen. |
||||
|
validations: |
||||
|
required: true |
||||
|
|
||||
|
- type: textarea |
||||
|
id: logs |
||||
|
attributes: |
||||
|
label: Relevant console output |
||||
|
description: If you have any log output to help in diagnosing your bug, please provide it here. |
||||
|
render: Shell |
||||
|
validations: |
||||
|
required: false |
||||
@ -0,0 +1,17 @@ |
|||||
|
name: Feature Request |
||||
|
description: Request a new feature |
||||
|
title: "[Feature Request]: " |
||||
|
labels: ["enhancement"] |
||||
|
body: |
||||
|
- type: markdown |
||||
|
attributes: |
||||
|
value: | |
||||
|
Thanks for your request this will not gurantee that we will implement it, but it will be reviewed. |
||||
|
|
||||
|
- type: textarea |
||||
|
id: body |
||||
|
attributes: |
||||
|
label: Description |
||||
|
description: Please provide details about your enhancement. |
||||
|
validations: |
||||
|
required: true |
||||
File diff suppressed because it is too large
@ -0,0 +1,52 @@ |
|||||
|
import { useAppStore } from "@app/core/stores/appStore"; |
||||
|
import { useDevice } from "@app/core/stores/deviceStore.js"; |
||||
|
import { Button } from "@components/UI/Button.js"; |
||||
|
import { |
||||
|
Dialog, |
||||
|
DialogContent, |
||||
|
DialogDescription, |
||||
|
DialogFooter, |
||||
|
DialogHeader, |
||||
|
DialogTitle, |
||||
|
} from "@components/UI/Dialog.js"; |
||||
|
import { Label } from "@components/UI/Label.js"; |
||||
|
|
||||
|
export interface RemoveNodeDialogProps { |
||||
|
open: boolean; |
||||
|
onOpenChange: (open: boolean) => void; |
||||
|
} |
||||
|
|
||||
|
export const RemoveNodeDialog = ({ |
||||
|
open, |
||||
|
onOpenChange, |
||||
|
}: RemoveNodeDialogProps): JSX.Element => { |
||||
|
const { connection, nodes, removeNode } = useDevice(); |
||||
|
const { nodeNumToBeRemoved } = useAppStore(); |
||||
|
|
||||
|
const onSubmit = () => { |
||||
|
connection?.removeNodeByNum(nodeNumToBeRemoved); |
||||
|
removeNode(nodeNumToBeRemoved); |
||||
|
onOpenChange(false); |
||||
|
}; |
||||
|
|
||||
|
return ( |
||||
|
<Dialog open={open} onOpenChange={onOpenChange}> |
||||
|
<DialogContent> |
||||
|
<DialogHeader> |
||||
|
<DialogTitle>Remove Node?</DialogTitle> |
||||
|
<DialogDescription> |
||||
|
Are you sure you want to remove this Node? |
||||
|
</DialogDescription> |
||||
|
</DialogHeader> |
||||
|
<div className="gap-4"> |
||||
|
<form onSubmit={onSubmit}> |
||||
|
<Label>{nodes.get(nodeNumToBeRemoved)?.user?.longName}</Label> |
||||
|
</form> |
||||
|
</div> |
||||
|
<DialogFooter> |
||||
|
<Button variant="destructive" onClick={() => onSubmit()}>Remove</Button> |
||||
|
</DialogFooter> |
||||
|
</DialogContent> |
||||
|
</Dialog> |
||||
|
); |
||||
|
}; |
||||
Loading…
Reference in new issue