918af4f3ac
* change simulator svg * change radio image * Remove google fonts cdn * change color of 'advanced' button * font fix * font fix 2 * display fix * change fullsceen simulator bg * Continuous servo * handle continuous state * adding shims * update rendering for continuous servos * fixing sim * fix sig * typo * fix sim * bump pxt * bump pxt * rerun travis * Input blocks revision - add Button and Pin event types - merge onPinPressed & onPinReleased in new onPinEvent function - create new onButtonEvent function * update input blocks in docs and tests * remove device_pin_release block * Hide DAL.x behind Enum * bring back deprecated blocks, but hide them * shims and locales files * fix input.input. typing * remove buildpr * bump V3 * update simulator aspect ratio * add Loudness Block * revoke loudness block * Adds soundLevel To be replaced by pxt-common-packages when DAL is updated. * Remove P0 & P3 from AnalogPin Co-authored-by: Juri <gitkraken@juriwolf.de>
124 lines
6.6 KiB
TypeScript
124 lines
6.6 KiB
TypeScript
import * as React from "react";
|
|
|
|
export function renderUsbPairDialog(firmwareUrl?: string, failedOnce?: boolean): JSX.Element {
|
|
const boardName = pxt.appTarget.appTheme.boardName || "???";
|
|
const helpUrl = pxt.appTarget.appTheme.usbDocs;
|
|
firmwareUrl = failedOnce && `${helpUrl}/webusb/troubleshoot`; // todo mo
|
|
|
|
const instructions = <div className="ui grid">
|
|
<div className="row">
|
|
<div className="column">
|
|
<div className="ui two column grid padded">
|
|
<div className="column">
|
|
<div className="ui">
|
|
<div className="image">
|
|
<img alt={lf("Comic connecting micro:bit to computer")} className="ui medium rounded image" src="./static/download/connect.png" />
|
|
</div>
|
|
<div className="content">
|
|
<div className="description">
|
|
<span className="ui purple circular label">1</span>
|
|
<strong>{lf("Connect the {0} to your computer with a USB cable", boardName)}</strong>
|
|
<br />
|
|
<span className="ui small">{lf("Use the microUSB port on the top of the {0}", boardName)}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div className="column">
|
|
<div className="ui">
|
|
<div className="image">
|
|
<img alt={lf("Comic of successful micro:bit connection")} className="ui medium rounded image" src="./static/download/pair.png" />
|
|
</div>
|
|
<div className="content">
|
|
<div className="description">
|
|
<span className="ui purple circular label">2</span>
|
|
<strong>{lf("Pair your {0}", boardName)}</strong>
|
|
<br />
|
|
<span className="ui small">{lf("Click 'Pair device' below and select 'Calliope mini' or 'DAPLink CMSIS-DAP' from the list")}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>;
|
|
|
|
if (!firmwareUrl) return instructions;
|
|
|
|
return <div className="ui grid stackable">
|
|
<div className="column five wide firmware orange">
|
|
<div className="ui header inverted">{lf("Update Firmware")}</div>
|
|
<strong className="ui small">{lf("You must have version 0249 or above of the firmware")}</strong>
|
|
<div className="image">
|
|
<img alt={lf("Comic rainbow updating micro:bit firmware")} className="ui image" src="./static/download/firmware.png" />
|
|
</div>
|
|
<a className="ui button" role="button" href={firmwareUrl} target="_blank">{lf("Check Firmware")}</a>
|
|
</div>
|
|
<div className="column eleven wide instructions">
|
|
{instructions}
|
|
</div>
|
|
</div>;
|
|
}
|
|
|
|
export function renderBrowserDownloadInstructions(): JSX.Element {
|
|
const boardName = pxt.appTarget.appTheme.boardName || lf("device");
|
|
const boardDriveName = pxt.appTarget.appTheme.driveDisplayName || pxt.appTarget.compile.driveName || "???";
|
|
return <div className="ui grid stackable upload">
|
|
<div className="column sixteen wide instructions">
|
|
<div className="ui grid">
|
|
<div className="row">
|
|
<div className="column">
|
|
<div className="ui two column grid padded">
|
|
<div className="column">
|
|
<div className="ui">
|
|
<div className="image">
|
|
<img alt={lf("Comic connecting micro:bit to computer")} className="ui medium rounded image" src="./static/download/connect.png" />
|
|
</div>
|
|
<div className="content">
|
|
<div className="description">
|
|
<span className="ui purple circular label">1</span>
|
|
<strong>{lf("Connect the {0} to your computer with a USB cable", boardName)}</strong>
|
|
<br />
|
|
<span className="ui small">{lf("Use the microUSB port on the top of the {0}", boardName)}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div className="column">
|
|
<div className="ui">
|
|
<div className="image">
|
|
<img alt={lf("Comic moving hex file to micro:bit")} className="ui medium rounded image" src="./static/download/transfer.png" />
|
|
</div>
|
|
<div className="content">
|
|
<div className="description">
|
|
<span className="ui purple circular label">2</span>
|
|
<strong>{lf("Move the .hex file to the {0}", boardName)}</strong>
|
|
<br />
|
|
<span className="ui small">{lf("Locate the downloaded .hex file and drag it to the {0} drive", boardDriveName)}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>;
|
|
}
|
|
|
|
export function cantImportAsync(project: pxt.editor.IProjectView) {
|
|
// this feature is support in v0 only
|
|
return project.showModalDialogAsync({
|
|
header: lf("Can't import microbit.co.uk scripts..."),
|
|
body: lf("Importing microbit.co.uk programs is not supported in this editor anymore. Please open this script in the https://makecode.microbit.org/v0 editor."),
|
|
buttons: [
|
|
{
|
|
label: lf("Go to the old editor"),
|
|
url: `https://makecode.microbit.org/v0`
|
|
}
|
|
]
|
|
}).then(() => project.openHome())
|
|
}
|