Skip to content

Commit 88efdc4

Browse files
committed
Merge branch 'master' into pki
2 parents 530d33d + 41acc4d commit 88efdc4

File tree

12 files changed

+342
-260
lines changed

12 files changed

+342
-260
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
name: CI
22

3-
on: push
3+
on:
4+
push:
5+
branches:
6+
- master
47

58
permissions:
69
contents: write
@@ -21,42 +24,3 @@ jobs:
2124

2225
- name: Build Package
2326
run: pnpm build
24-
25-
- name: Package Output
26-
run: pnpm package
27-
28-
- name: Upload Artifact
29-
uses: "marvinpinto/action-automatic-releases@latest"
30-
with:
31-
repo_token: "${{ secrets.GITHUB_TOKEN }}"
32-
automatic_release_tag: "latest"
33-
prerelease: false
34-
files: |
35-
./dist/build.tar
36-
37-
- name: Set up QEMU
38-
uses: docker/setup-qemu-action@v3
39-
40-
- name: Buildah Build
41-
id: build-container
42-
uses: redhat-actions/buildah-build@v2
43-
with:
44-
containerfiles: |
45-
./Containerfile
46-
image: ${{github.event.repository.full_name}}
47-
tags: latest ${{ github.sha }}
48-
oci: true
49-
platforms: linux/amd64, linux/arm64
50-
51-
- name: Push To Registry
52-
id: push-to-registry
53-
uses: redhat-actions/push-to-registry@v2
54-
with:
55-
image: ${{ steps.build-container.outputs.image }}
56-
tags: ${{ steps.build-container.outputs.tags }}
57-
registry: ghcr.io
58-
username: ${{ github.actor }}
59-
password: ${{ secrets.GITHUB_TOKEN }}
60-
61-
- name: Print image url
62-
run: echo "Image pushed to ${{ steps.push-to-registry.outputs.registry-paths }}"

.github/workflows/pr.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,12 @@ jobs:
1919

2020
- name: Build Package
2121
run: pnpm build
22+
23+
- name: Compress build
24+
run: pnpm package
25+
26+
- name: Archive compressed build
27+
uses: actions/upload-artifact@v4
28+
with:
29+
name: build
30+
path: dist/build.tar

.github/workflows/release.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: 'Release'
2+
3+
on:
4+
release:
5+
types: [released]
6+
7+
permissions:
8+
contents: write
9+
packages: write
10+
11+
jobs:
12+
build-and-package:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v4
17+
- uses: pnpm/action-setup@v4
18+
with:
19+
version: latest
20+
21+
- name: Install Dependencies
22+
run: pnpm install
23+
24+
- name: Build Package
25+
run: pnpm build
26+
27+
- name: Package Output
28+
run: pnpm package
29+
30+
- name: Set up QEMU
31+
uses: docker/setup-qemu-action@v3
32+
33+
- name: Buildah Build
34+
id: build-container
35+
uses: redhat-actions/buildah-build@v2
36+
with:
37+
containerfiles: |
38+
./Containerfile
39+
image: ${{github.event.repository.full_name}}
40+
tags: latest ${{ github.sha }}
41+
oci: true
42+
platforms: linux/amd64, linux/arm64
43+
44+
- name: Push To Registry
45+
id: push-to-registry
46+
uses: redhat-actions/push-to-registry@v2
47+
with:
48+
image: ${{ steps.build-container.outputs.image }}
49+
tags: ${{ steps.build-container.outputs.tags }}
50+
registry: ghcr.io
51+
username: ${{ github.actor }}
52+
password: ${{ secrets.GITHUB_TOKEN }}
53+
54+
- name: Print image url
55+
run: echo "Image pushed to ${{ steps.push-to-registry.outputs.registry-paths }}"

src/App.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { DeviceSelector } from "@components/DeviceSelector.js";
55
import { DialogManager } from "@components/Dialog/DialogManager.js";
66
import { NewDeviceDialog } from "@components/Dialog/NewDeviceDialog.js";
77
import { Toaster } from "@components/Toaster.js";
8+
import Footer from "@components/UI/Footer.js";
89
import { ThemeController } from "@components/generic/ThemeController.js";
910
import { useAppStore } from "@core/stores/appStore.js";
1011
import { useDeviceStore } from "@core/stores/deviceStore.js";
@@ -40,7 +41,11 @@ export const App = (): JSX.Element => {
4041
<PageRouter />
4142
</div>
4243
) : (
43-
<Dashboard />
44+
<>
45+
<Dashboard />
46+
<div className="flex flex-grow" />
47+
<Footer />
48+
</>
4449
)}
4550
</div>
4651
</div>

src/components/PageComponents/Messages/ChannelChat.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ export const ChannelChat = ({
6868
)}
6969
</div>
7070
</div>
71-
<div className="p-3">
71+
<div className="pl-3 pr-3 pt-3 pb-1">
7272
<MessageInput to={to} channel={channel} />
7373
</div>
7474
</div>

src/components/PageComponents/ModuleConfig/Telemetry.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ export const Telemetry = (): JSX.Element => {
8787
description: "How often to send Power data over the mesh",
8888
},
8989
{
90-
type: "text",
90+
type: "toggle",
9191
name: "powerScreenEnabled",
9292
label: "Power Screen Enabled",
9393
description: "Enable the Power Telemetry Screen",

src/components/PageLayout.tsx

Lines changed: 35 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { cn } from "@app/core/utils/cn.js";
22
import { AlignLeftIcon, type LucideIcon } from "lucide-react";
3+
import Footer from "./UI/Footer";
34

45
export interface PageLayoutProps {
56
label: string;
@@ -18,40 +19,43 @@ export const PageLayout = ({
1819
children,
1920
}: PageLayoutProps): JSX.Element => {
2021
return (
21-
<div className="relative flex h-full w-full flex-col">
22-
<div className="flex h-14 shrink-0 border-b-[0.5px] border-slate-300 dark:border-slate-700 md:h-16 md:px-4">
23-
<button
24-
type="button"
25-
className="pl-4 transition-all hover:text-accent md:hidden"
26-
>
27-
<AlignLeftIcon />
28-
</button>
29-
<div className="flex flex-1 items-center justify-between px-4 md:px-0">
30-
<div className="flex w-full items-center">
31-
<span className="w-full text-lg font-medium">{label}</span>
32-
<div className="flex justify-end space-x-4">
33-
{actions?.map((action, index) => (
34-
<button
35-
key={action.icon.name}
36-
type="button"
37-
className="transition-all hover:text-accent"
38-
onClick={action.onClick}
39-
>
40-
<action.icon />
41-
</button>
42-
))}
22+
<>
23+
<div className="relative flex h-full w-full flex-col">
24+
<div className="flex h-14 shrink-0 border-b-[0.5px] border-slate-300 dark:border-slate-700 md:h-16 md:px-4">
25+
<button
26+
type="button"
27+
className="pl-4 transition-all hover:text-accent md:hidden"
28+
>
29+
<AlignLeftIcon />
30+
</button>
31+
<div className="flex flex-1 items-center justify-between px-4 md:px-0">
32+
<div className="flex w-full items-center">
33+
<span className="w-full text-lg font-medium">{label}</span>
34+
<div className="flex justify-end space-x-4">
35+
{actions?.map((action, index) => (
36+
<button
37+
key={action.icon.name}
38+
type="button"
39+
className="transition-all hover:text-accent"
40+
onClick={action.onClick}
41+
>
42+
<action.icon />
43+
</button>
44+
))}
45+
</div>
4346
</div>
4447
</div>
4548
</div>
49+
<div
50+
className={cn(
51+
"flex h-full w-full flex-col overflow-y-auto",
52+
!noPadding && "pl-3 pr-3 ",
53+
)}
54+
>
55+
{children}
56+
<Footer />
57+
</div>
4658
</div>
47-
<div
48-
className={cn(
49-
"flex h-full w-full flex-col overflow-y-auto",
50-
!noPadding && "p-3",
51-
)}
52-
>
53-
{children}
54-
</div>
55-
</div>
59+
</>
5660
);
5761
};

src/components/UI/Footer.tsx

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import React from "react";
2+
3+
export interface FooterProps extends React.HTMLAttributes<HTMLElement> {}
4+
5+
const Footer = React.forwardRef<HTMLElement, FooterProps>(
6+
({ className, ...props }, ref) => {
7+
return (
8+
<footer
9+
className={`flex flex- justify-center p-2 ${className}`}
10+
style={{
11+
backgroundColor: "var(--backgroundPrimary)",
12+
color: "var(--textPrimary)",
13+
}}
14+
>
15+
<p>
16+
<a
17+
href="https://vercel.com/?utm_source=meshtastic&utm_campaign=oss"
18+
className="hover:underline"
19+
style={{ color: "var(--link)" }}
20+
>
21+
Powered by ▲ Vercel
22+
</a>{" "}
23+
| Meshtastic® is a registered trademark of Meshtastic LLC. |{" "}
24+
<a
25+
href="https://meshtastic.org/docs/legal"
26+
className="hover:underline"
27+
style={{ color: "var(--link)" }}
28+
>
29+
Legal Information
30+
</a>
31+
</p>
32+
</footer>
33+
);
34+
},
35+
);
36+
37+
export default Footer;

src/components/UI/Tabs.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const TabsList = React.forwardRef<
1212
<TabsPrimitive.List
1313
ref={ref}
1414
className={cn(
15-
"inline-flex flex-wrap items-center rounded-md bg-slate-100 p-1 dark:bg-slate-800",
15+
"inline-flex flex-wrap items-center rounded-md bg-slate-100 p-1 mt-2 dark:bg-slate-800",
1616
className,
1717
)}
1818
{...props}

0 commit comments

Comments
 (0)