mirror of
https://github.com/meshtastic/meshtastic.git
synced 2024-12-26 14:09:50 -08:00
Merge branch 'master' into master
This commit is contained in:
commit
9c8dc28899
|
@ -27,27 +27,31 @@ export const FirmwareCard = ({
|
|||
<div className="card__body">
|
||||
<p>{description}</p>
|
||||
</div>
|
||||
<div className="card__footer">
|
||||
<div className="card__footer mt-auto">
|
||||
<div className="margin-top--sm">
|
||||
<details>
|
||||
<summary>
|
||||
Older Versions
|
||||
</summary>
|
||||
{release.slice(1, 6).map((release) => {
|
||||
return (
|
||||
<div key={release.id}>
|
||||
<a href={release.assets[1]?.browser_download_url}>
|
||||
{release.tag_name}
|
||||
</a>
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
</details>
|
||||
</div>
|
||||
{release?.length ? (
|
||||
<>
|
||||
<a
|
||||
href={release[0].assets[1]?.browser_download_url}
|
||||
className="button button--secondary button--block"
|
||||
className="button button--secondary button--block margin-top--sm"
|
||||
>
|
||||
Download
|
||||
Download {variant}
|
||||
</a>
|
||||
<div className="margin-top--sm">
|
||||
<h3>Older versions</h3>
|
||||
{release.slice(1, 6).map((release) => {
|
||||
return (
|
||||
<div key={release.id}>
|
||||
<a href={release.assets[1]?.browser_download_url}>
|
||||
{release.tag_name}
|
||||
</a>
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</>
|
||||
) : (
|
||||
<button disabled className="button button--secondary button--block">
|
||||
|
|
|
@ -35,7 +35,7 @@ const Firmware = (): JSX.Element => {
|
|||
>
|
||||
<div className="container mt-8 flex flex-col gap-3">
|
||||
<h1 className="m-2">Flasher</h1>
|
||||
<div className="flex w-full overflow-hidden rounded-xl xl:h-64">
|
||||
<div className="flex w-full overflow-hidden rounded-xl">
|
||||
<div className="flex w-1/5 bg-gradient-to-r from-green-500 to-primary">
|
||||
<BoltIcon className="m-auto h-20" />
|
||||
</div>
|
||||
|
@ -47,7 +47,7 @@ const Firmware = (): JSX.Element => {
|
|||
<div className="card__body">
|
||||
<p>Desktop application to flash fimware to your devices.</p>
|
||||
</div>
|
||||
<div className="card__footer" style={{ marginTop: '1rem' }}>
|
||||
<div className="card__footer mt-auto">
|
||||
<a
|
||||
href="https://github.com/meshtastic/Meshtastic-gui-installer/releases/latest"
|
||||
className="m-auto flex rounded-lg border-4 border-transparent bg-accent p-1 font-semibold text-black shadow-md hover:text-black hover:brightness-110 active:border-green-200"
|
||||
|
@ -68,7 +68,7 @@ const Firmware = (): JSX.Element => {
|
|||
boards.
|
||||
</p>
|
||||
</div>
|
||||
<div className="card__footer" style={{ marginTop: '1rem' }}>
|
||||
<div className="card__footer mt-auto">
|
||||
<a
|
||||
href="https://flasher.meshtastic.org/"
|
||||
className="m-auto flex rounded-lg border-4 border-transparent bg-accent p-1 font-semibold text-black shadow-md hover:text-black hover:brightness-110 active:border-green-200"
|
||||
|
@ -87,12 +87,12 @@ const Firmware = (): JSX.Element => {
|
|||
Devices such as T-Echo and RAK4631 are flashed via filesystem.
|
||||
</p>
|
||||
</div>
|
||||
<div className="card__footer" style={{ marginTop: '1rem' }}>
|
||||
<div className="card__footer mt-auto">
|
||||
<a
|
||||
href="/docs/getting-started/flashing-firmware/nrf52/drag-n-drop"
|
||||
className="m-auto flex rounded-lg border-4 border-transparent bg-accent p-1 font-semibold text-black shadow-md hover:text-black hover:brightness-110 active:border-green-200"
|
||||
>
|
||||
view Instructions
|
||||
View Instructions
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -100,75 +100,90 @@ const Firmware = (): JSX.Element => {
|
|||
</div>
|
||||
{/* */}
|
||||
<h1 className="m-2">Apps</h1>
|
||||
<div className="flex w-full overflow-hidden rounded-xl lg:h-48">
|
||||
<div className="flex w-full overflow-hidden rounded-xl">
|
||||
<div className="flex w-1/5 bg-gradient-to-r from-rose-500 to-primary">
|
||||
<ComputerDesktopIcon className="m-auto h-20" />
|
||||
</div>
|
||||
<div className="flex w-full flex-col bg-primary lg:flex-row">
|
||||
<div className="flex p-4 lg:w-1/3">
|
||||
<div className="flex flex-grow rounded-md border-2 border-secondary bg-primary py-4 shadow-md hover:brightness-90 lg:py-0">
|
||||
<div className="flex w-full flex-col columns-3 bg-primary lg:flex-row">
|
||||
<div className="card m-4 border-2 border-secondary">
|
||||
<div className="card__header">
|
||||
<h3>Apple</h3>
|
||||
</div>
|
||||
<div className="card__body flex items-center">
|
||||
<div className="m-auto">
|
||||
<FaApple className="h-20 w-20" />
|
||||
</div>
|
||||
<div className="m-auto flex flex-col gap-3">
|
||||
<h2>Apple</h2>
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="https://testflight.apple.com/join/c8nNl8q1"
|
||||
className="m-auto flex rounded-lg border-4 border-transparent bg-accent p-1 font-semibold text-black shadow-md hover:text-black hover:brightness-110 active:border-green-200"
|
||||
>
|
||||
App Store
|
||||
<ArrowTopRightOnSquareIcon className="m-auto ml-2 h-4" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div className="card__body">
|
||||
Available on MacOS & iOS. Requires MacOS Ventura or iOS 16+.
|
||||
</div>
|
||||
<div className="card__footer mt-auto">
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="https://testflight.apple.com/join/c8nNl8q1"
|
||||
className="m-auto flex rounded-lg border-4 border-transparent bg-accent p-1 font-semibold text-black shadow-md hover:text-black hover:brightness-110 active:border-green-200"
|
||||
>
|
||||
App Store
|
||||
<ArrowTopRightOnSquareIcon className="m-auto ml-2 h-4" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex p-4 lg:w-1/3">
|
||||
<div className="relative flex flex-grow rounded-md border-2 border-secondary bg-primary py-4 shadow-md hover:brightness-90 lg:py-0">
|
||||
<div className="card m-4 border-2 border-secondary">
|
||||
<div className="card__header">
|
||||
<h3>Android</h3>
|
||||
</div>
|
||||
<div className="card__body flex items-center">
|
||||
<div className="m-auto">
|
||||
<FaAndroid className="h-20 w-20" />
|
||||
</div>
|
||||
<div className="m-auto flex flex-col gap-3">
|
||||
<h2>Android</h2>
|
||||
<a
|
||||
className="m-auto flex rounded-lg border-4 border-transparent bg-accent p-1 font-semibold text-black shadow-md hover:text-black hover:brightness-110 active:border-green-200"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="https://meshtastic.org/docs/software/android/android-installation"
|
||||
>
|
||||
F-Droid
|
||||
<ArrowTopRightOnSquareIcon className="m-auto ml-2 h-4" />
|
||||
</a>
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="https://play.google.com/store/apps/details?id=com.geeksville.mesh&referrer=utm_source=downloads-page"
|
||||
className="m-auto flex rounded-lg border-4 border-transparent bg-accent p-1 font-semibold text-black shadow-md hover:text-black hover:brightness-110 active:border-green-200"
|
||||
>
|
||||
Play Store
|
||||
<ArrowTopRightOnSquareIcon className="m-auto ml-2 h-4" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div className="card__body">
|
||||
Sideloading also available.
|
||||
</div>
|
||||
<div className="card__footer mt-auto">
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="https://meshtastic.org/docs/software/android/android-installation"
|
||||
className="m-auto flex rounded-lg border-4 border-transparent bg-accent p-1 font-semibold text-black shadow-md hover:text-black hover:brightness-110 active:border-green-200"
|
||||
>
|
||||
F-Droid
|
||||
<ArrowTopRightOnSquareIcon className="m-auto ml-2 h-4" />
|
||||
</a>
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="https://play.google.com/store/apps/details?id=com.geeksville.mesh&referrer=utm_source=downloads-page"
|
||||
className="mt-4 flex rounded-lg border-4 border-transparent bg-accent p-1 font-semibold text-black shadow-md hover:text-black hover:brightness-110 active:border-green-200"
|
||||
>
|
||||
Play Store
|
||||
<ArrowTopRightOnSquareIcon className="m-auto ml-2 h-4" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex p-4 lg:w-1/3">
|
||||
<div className="flex flex-grow rounded-md border-2 border-secondary bg-primary py-4 shadow-md hover:brightness-90 lg:py-0">
|
||||
<div className="card m-4 border-2 border-secondary">
|
||||
<div className="card__header">
|
||||
<h3>Web</h3>
|
||||
</div>
|
||||
<div className="card__body flex items-center">
|
||||
<div className="m-auto">
|
||||
<GlobeAltIcon className="h-20 w-20" />
|
||||
</div>
|
||||
<div className="m-auto flex flex-col gap-3">
|
||||
<h2>Web</h2>
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="https://client.meshtastic.org"
|
||||
className="m-auto flex rounded-lg border-4 border-transparent bg-accent p-1 font-semibold text-black shadow-md hover:text-black hover:brightness-110 active:border-green-200"
|
||||
>
|
||||
meshtastic.org
|
||||
<ArrowTopRightOnSquareIcon className="m-auto ml-2 h-4" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div className="card__body">
|
||||
Requires Chromium based browsers.
|
||||
</div>
|
||||
<div className="card__footer mt-auto">
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href="https://client.meshtastic.org"
|
||||
className="m-auto flex rounded-lg border-4 border-transparent bg-accent p-1 font-semibold text-black shadow-md hover:text-black hover:brightness-110 active:border-green-200"
|
||||
>
|
||||
client.meshtastic.org
|
||||
<ArrowTopRightOnSquareIcon className="m-auto ml-2 h-4" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -202,12 +217,12 @@ const Firmware = (): JSX.Element => {
|
|||
things.
|
||||
</p>
|
||||
</div>
|
||||
<div className="card__footer" style={{ marginTop: '1rem' }}>
|
||||
<div className="card__footer mt-auto">
|
||||
<a
|
||||
href="https://nightly.link/meshtastic/firmware/workflows/main/master/built.zip"
|
||||
className="button button--secondary button--block"
|
||||
>
|
||||
Download
|
||||
Download Bleeding
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Reference in a new issue