mirror of
https://github.com/meshtastic/meshtastic.git
synced 2024-11-13 17:14:25 -08:00
update downloads page & deps
This commit is contained in:
parent
f8fb0ddb92
commit
37cba0e8c8
16
package.json
16
package.json
|
@ -17,11 +17,11 @@
|
||||||
"@docusaurus/core": "2.2.0",
|
"@docusaurus/core": "2.2.0",
|
||||||
"@docusaurus/plugin-content-docs": "2.2.0",
|
"@docusaurus/plugin-content-docs": "2.2.0",
|
||||||
"@docusaurus/preset-classic": "2.2.0",
|
"@docusaurus/preset-classic": "2.2.0",
|
||||||
"@headlessui/react": "^1.7.4",
|
"@headlessui/react": "^1.7.5",
|
||||||
"@heroicons/react": "^2.0.13",
|
"@heroicons/react": "^2.0.13",
|
||||||
"@leenguyen/react-flip-clock-countdown": "^1.3.1",
|
"@leenguyen/react-flip-clock-countdown": "^1.3.1",
|
||||||
"@mdx-js/react": "^1.6.22",
|
"@mdx-js/react": "^1.6.22",
|
||||||
"@meshtastic/meshtasticjs": "^0.6.115",
|
"@meshtastic/meshtasticjs": "^0.7.2",
|
||||||
"autoprefixer": "^10.4.13",
|
"autoprefixer": "^10.4.13",
|
||||||
"base64-js": "^1.5.1",
|
"base64-js": "^1.5.1",
|
||||||
"dotenv": "^16.0.3",
|
"dotenv": "^16.0.3",
|
||||||
|
@ -31,20 +31,20 @@
|
||||||
"react-dom": "^17.0.2",
|
"react-dom": "^17.0.2",
|
||||||
"react-icons": "^4.7.1",
|
"react-icons": "^4.7.1",
|
||||||
"react-responsive-carousel": "^3.2.23",
|
"react-responsive-carousel": "^3.2.23",
|
||||||
"swr": "^1.3.0",
|
"swr": "^2.0.0",
|
||||||
"tailwindcss": "^3.2.4",
|
"tailwindcss": "^3.2.4",
|
||||||
"url-search-params-polyfill": "^8.1.1",
|
"url-search-params-polyfill": "^8.1.1",
|
||||||
"use-breakpoint": "^3.0.4"
|
"use-breakpoint": "^3.0.6"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@docusaurus/module-type-aliases": "2.2.0",
|
"@docusaurus/module-type-aliases": "2.2.0",
|
||||||
"@meshtastic/eslint-config": "^1.0.8",
|
"@meshtastic/eslint-config": "^1.0.8",
|
||||||
"@tailwindcss/typography": "^0.5.8",
|
"@tailwindcss/typography": "^0.5.8",
|
||||||
"@tsconfig/docusaurus": "^1.0.6",
|
"@tsconfig/docusaurus": "^1.0.6",
|
||||||
"@types/node": "^18.11.9",
|
"@types/node": "^18.11.12",
|
||||||
"@types/react": "^18.0.25",
|
"@types/react": "^18.0.26",
|
||||||
"@types/react-dom": "^18.0.9",
|
"@types/react-dom": "^18.0.9",
|
||||||
"prettier": "^2.8.0",
|
"prettier": "^2.8.1",
|
||||||
"typescript": "^4.9.3"
|
"typescript": "^4.9.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
516
pnpm-lock.yaml
516
pnpm-lock.yaml
File diff suppressed because it is too large
Load diff
|
@ -1 +1 @@
|
||||||
Subproject commit c82c15aac71b9134d96c03dbe319916739cc8314
|
Subproject commit b4677e35ca44ed80394f90c2e60703add8ff4f5b
|
|
@ -1,11 +1,11 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
import { Release } from '@site/src/utils/github';
|
import { DeviceFirmwareResource } from '../../../utils/apiTypes.js';
|
||||||
|
|
||||||
export interface releaseCardProps {
|
export interface releaseCardProps {
|
||||||
variant: string;
|
variant: string;
|
||||||
description: string;
|
description: string;
|
||||||
release?: Release[];
|
release?: DeviceFirmwareResource[];
|
||||||
}
|
}
|
||||||
|
|
||||||
export const FirmwareCard = ({
|
export const FirmwareCard = ({
|
||||||
|
@ -21,7 +21,7 @@ export const FirmwareCard = ({
|
||||||
>
|
>
|
||||||
<h3>{variant}</h3>
|
<h3>{variant}</h3>
|
||||||
{release?.length && (
|
{release?.length && (
|
||||||
<a href={release[0].html_url}>{release[0].tag_name}</a>
|
<a href={release[0].page_url}>{release[0].title}</a>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
<div className="card__body">
|
<div className="card__body">
|
||||||
|
@ -30,15 +30,11 @@ export const FirmwareCard = ({
|
||||||
<div className="card__footer mt-auto">
|
<div className="card__footer mt-auto">
|
||||||
<div className="margin-top--sm">
|
<div className="margin-top--sm">
|
||||||
<details>
|
<details>
|
||||||
<summary>
|
<summary>Older Versions</summary>
|
||||||
Older Versions
|
|
||||||
</summary>
|
|
||||||
{release.slice(1, 6).map((release) => {
|
{release.slice(1, 6).map((release) => {
|
||||||
return (
|
return (
|
||||||
<div key={release.id}>
|
<div key={release.id}>
|
||||||
<a href={release.assets[1]?.browser_download_url}>
|
<a href={release.zip_url}>{release.title}</a>
|
||||||
{release.tag_name}
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
|
@ -47,7 +43,7 @@ export const FirmwareCard = ({
|
||||||
{release?.length ? (
|
{release?.length ? (
|
||||||
<>
|
<>
|
||||||
<a
|
<a
|
||||||
href={release[0].assets[1]?.browser_download_url}
|
href={release[0].zip_url}
|
||||||
className="button button--secondary button--block margin-top--sm"
|
className="button button--secondary button--block margin-top--sm"
|
||||||
>
|
>
|
||||||
Download {variant}
|
Download {variant}
|
||||||
|
|
|
@ -12,7 +12,7 @@ import {
|
||||||
} from '@heroicons/react/24/solid';
|
} from '@heroicons/react/24/solid';
|
||||||
import Layout from '@theme/Layout';
|
import Layout from '@theme/Layout';
|
||||||
|
|
||||||
import { Release } from '../../utils/github';
|
import { FirmwareReleases } from '../../utils/apiTypes.js';
|
||||||
import { fetcher } from '../../utils/swr';
|
import { fetcher } from '../../utils/swr';
|
||||||
import {
|
import {
|
||||||
FirmwareCard,
|
FirmwareCard,
|
||||||
|
@ -20,14 +20,11 @@ import {
|
||||||
} from './_components/FirmwareCard';
|
} from './_components/FirmwareCard';
|
||||||
|
|
||||||
const Firmware = (): JSX.Element => {
|
const Firmware = (): JSX.Element => {
|
||||||
const { data, error } = useSWR<Release[]>(
|
const { data, error } = useSWR<FirmwareReleases>(
|
||||||
'https://api.github.com/repos/meshtastic/firmware/releases',
|
'http://localhost:4000/github/firmware/list',
|
||||||
fetcher,
|
fetcher,
|
||||||
);
|
);
|
||||||
|
|
||||||
const beta = data?.filter((release) => release.prerelease === false);
|
|
||||||
|
|
||||||
const alpha = data?.filter((release) => release.prerelease === true);
|
|
||||||
return (
|
return (
|
||||||
<Layout
|
<Layout
|
||||||
title="Downloads"
|
title="Downloads"
|
||||||
|
@ -104,7 +101,7 @@ const Firmware = (): JSX.Element => {
|
||||||
<div className="flex w-1/5 bg-gradient-to-r from-rose-500 to-primary">
|
<div className="flex w-1/5 bg-gradient-to-r from-rose-500 to-primary">
|
||||||
<ComputerDesktopIcon className="m-auto h-20" />
|
<ComputerDesktopIcon className="m-auto h-20" />
|
||||||
</div>
|
</div>
|
||||||
<div className="flex w-full flex-col columns-3 bg-primary lg:flex-row">
|
<div className="flex w-full columns-3 flex-col bg-primary lg:flex-row">
|
||||||
<div className="card m-4 border-2 border-secondary">
|
<div className="card m-4 border-2 border-secondary">
|
||||||
<div className="card__header">
|
<div className="card__header">
|
||||||
<h3>Apple</h3>
|
<h3>Apple</h3>
|
||||||
|
@ -138,9 +135,7 @@ const Firmware = (): JSX.Element => {
|
||||||
<FaAndroid className="h-20 w-20" />
|
<FaAndroid className="h-20 w-20" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="card__body">
|
<div className="card__body">Sideloading also available.</div>
|
||||||
Sideloading also available.
|
|
||||||
</div>
|
|
||||||
<div className="card__footer mt-auto">
|
<div className="card__footer mt-auto">
|
||||||
<a
|
<a
|
||||||
target="_blank"
|
target="_blank"
|
||||||
|
@ -198,14 +193,14 @@ const Firmware = (): JSX.Element => {
|
||||||
{data && !error ? (
|
{data && !error ? (
|
||||||
<>
|
<>
|
||||||
<FirmwareCard
|
<FirmwareCard
|
||||||
variant="Beta"
|
variant="Stable"
|
||||||
description="Tested feature set. For those who want stability."
|
description="Tested feature set. For those who want stability."
|
||||||
release={beta}
|
release={data.releases.stable}
|
||||||
/>
|
/>
|
||||||
<FirmwareCard
|
<FirmwareCard
|
||||||
variant="Alpha"
|
variant="Alpha"
|
||||||
description="Upcoming changes for testing. For those who want new features."
|
description="Upcoming changes for testing. For those who want new features."
|
||||||
release={alpha}
|
release={data.releases.alpha}
|
||||||
/>
|
/>
|
||||||
<div className="card m-4 border-2 border-secondary">
|
<div className="card m-4 border-2 border-secondary">
|
||||||
<div className="card__header">
|
<div className="card__header">
|
||||||
|
|
|
@ -48,3 +48,18 @@ export interface Author {
|
||||||
|
|
||||||
showcase?: Showcase[];
|
showcase?: Showcase[];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface DeviceFirmwareResource {
|
||||||
|
id: string;
|
||||||
|
title: string;
|
||||||
|
page_url?: string;
|
||||||
|
zip_url?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FirmwareReleases {
|
||||||
|
releases: {
|
||||||
|
stable: DeviceFirmwareResource[];
|
||||||
|
alpha: DeviceFirmwareResource[];
|
||||||
|
};
|
||||||
|
pullRequests: DeviceFirmwareResource[];
|
||||||
|
}
|
||||||
|
|
|
@ -1,128 +0,0 @@
|
||||||
export interface User {
|
|
||||||
login: string;
|
|
||||||
id: number;
|
|
||||||
node_id: string;
|
|
||||||
avatar_url: string;
|
|
||||||
gravatar_id: string;
|
|
||||||
url: string;
|
|
||||||
html_url: string;
|
|
||||||
followers_url: string;
|
|
||||||
following_url: string;
|
|
||||||
gists_url: string;
|
|
||||||
starred_url: string;
|
|
||||||
subscriptions_url: string;
|
|
||||||
organizations_url: string;
|
|
||||||
repos_url: string;
|
|
||||||
events_url: string;
|
|
||||||
received_events_url: string;
|
|
||||||
type: string;
|
|
||||||
site_admin: boolean;
|
|
||||||
name: string;
|
|
||||||
company: string | null;
|
|
||||||
blog: string;
|
|
||||||
location: string;
|
|
||||||
email: string | null;
|
|
||||||
hireable: string | null;
|
|
||||||
bio: string | null;
|
|
||||||
twitter_username: string | null;
|
|
||||||
public_repos: number;
|
|
||||||
public_gists: number;
|
|
||||||
followers: number;
|
|
||||||
following: number;
|
|
||||||
created_at: string;
|
|
||||||
updated_at: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface Author {
|
|
||||||
login: string;
|
|
||||||
id: number;
|
|
||||||
node_id: string;
|
|
||||||
avatar_url: string;
|
|
||||||
gravatar_id: string;
|
|
||||||
url: string;
|
|
||||||
html_url: string;
|
|
||||||
followers_url: string;
|
|
||||||
following_url: string;
|
|
||||||
gists_url: string;
|
|
||||||
starred_url: string;
|
|
||||||
subscriptions_url: string;
|
|
||||||
organizations_url: string;
|
|
||||||
repos_url: string;
|
|
||||||
events_url: string;
|
|
||||||
received_events_url: string;
|
|
||||||
type: string;
|
|
||||||
site_admin: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface Uploader {
|
|
||||||
login: string;
|
|
||||||
id: number;
|
|
||||||
node_id: string;
|
|
||||||
avatar_url: string;
|
|
||||||
gravatar_id: string;
|
|
||||||
url: string;
|
|
||||||
html_url: string;
|
|
||||||
followers_url: string;
|
|
||||||
following_url: string;
|
|
||||||
gists_url: string;
|
|
||||||
starred_url: string;
|
|
||||||
subscriptions_url: string;
|
|
||||||
organizations_url: string;
|
|
||||||
repos_url: string;
|
|
||||||
events_url: string;
|
|
||||||
received_events_url: string;
|
|
||||||
type: string;
|
|
||||||
site_admin: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface Asset {
|
|
||||||
url: string;
|
|
||||||
id: number;
|
|
||||||
node_id: string;
|
|
||||||
name: string;
|
|
||||||
label: string;
|
|
||||||
uploader: Uploader;
|
|
||||||
content_type: string;
|
|
||||||
state: string;
|
|
||||||
size: number;
|
|
||||||
download_count: number;
|
|
||||||
created_at: Date;
|
|
||||||
updated_at: Date;
|
|
||||||
browser_download_url: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface Reactions {
|
|
||||||
url: string;
|
|
||||||
total_count: number;
|
|
||||||
'+1': number;
|
|
||||||
'-1': number;
|
|
||||||
laugh: number;
|
|
||||||
hooray: number;
|
|
||||||
confused: number;
|
|
||||||
heart: number;
|
|
||||||
rocket: number;
|
|
||||||
eyes: number;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface Release {
|
|
||||||
url: string;
|
|
||||||
assets_url: string;
|
|
||||||
upload_url: string;
|
|
||||||
html_url: string;
|
|
||||||
id: number;
|
|
||||||
author: Author;
|
|
||||||
node_id: string;
|
|
||||||
tag_name: string;
|
|
||||||
target_commitish: string;
|
|
||||||
name: string;
|
|
||||||
draft: boolean;
|
|
||||||
prerelease: boolean;
|
|
||||||
created_at: Date;
|
|
||||||
published_at: Date;
|
|
||||||
assets: Asset[];
|
|
||||||
tarball_url: string;
|
|
||||||
zipball_url: string;
|
|
||||||
body: string;
|
|
||||||
reactions: Reactions;
|
|
||||||
mentions_count: number;
|
|
||||||
}
|
|
Loading…
Reference in a new issue