- App.tsx: full navigation (Auth stack + Main tabs with 5 screens) - Auth: LoginScreen, RegisterScreen, ForgotPasswordScreen - HomeScreen: dashboard with IoT metrics, weather widget, alerts, quick actions, sensors - MapScreen: interactive map with layer toggles (6 layers) - MarketplaceScreen: categories (6), products (5), search - ChatScreen: AI chat with quick prompts (4), bot responses - ProfileScreen: user info, stats, menu (9 items), logout - AlertsScreen: alert list with severity, acknowledge - SensorsScreen: sensor list with type filters (6 types), search - ZonesScreen: zone cards with stats - SettingsScreen: language picker (FR/EN/ES/DE), privacy, about - Stores: iotStore (sensors, zones, alerts), notificationStore, uiStore + i18n - Hooks: useSensors, useAlerts, useNotifications, useLocation - Components: Card, Button, LoadingSpinner, ErrorBoundary, Header - Services: iotService, notificationService (with axios API client) - Utils: formatters (temp, AQI, noise, dates), validators (email, password, IBAN) - Theme: colors.ts with full design system (Blue Ocean palette) - Ditto: fixed MongoDB connection, new JWT secrets, official gateway image
49 lines
2.2 KiB
Markdown
49 lines
2.2 KiB
Markdown
# supports-hyperlinks [](https://travis-ci.org/jamestalmage/supports-hyperlinks) [](https://codecov.io/gh/jamestalmage/supports-hyperlinks?branch=master)
|
|
|
|
> Detect whether a terminal emulator supports hyperlinks
|
|
|
|
Terminal emulators are [starting to support hyperlinks](https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda). While many terminals have long detected URL's and linkified them, allowing you to Command-Click or Control-Click them to open a browser, you were forced to print the long unsightly URL's on the screen. As of spring 2017 [a few terminals](https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda) began supporting HTML like links, where the link text and destination could be specified separately.
|
|
|
|
This module allows you to detect if hyperlinks are supported in the current Terminal.
|
|
|
|
As this is a new development, we anticipate the list of supported Terminals to grow rapidly. Please open an issue or submit a PR as new Terminals implement support.
|
|
|
|
## Install
|
|
|
|
```
|
|
$ npm install supports-hyperlinks
|
|
```
|
|
|
|
|
|
## Usage
|
|
|
|
```js
|
|
const supportsHyperlinks = require('supports-hyperlinks');
|
|
|
|
if (supportsHyperlinks.stdout) {
|
|
console.log('Terminal stdout supports hyperlinks');
|
|
}
|
|
|
|
if (supportsHyperlinks.stderr) {
|
|
console.log('Terminal stderr supports hyperlinks');
|
|
}
|
|
```
|
|
|
|
## API
|
|
|
|
Returns an `Object` with a `stdout` and `stderr` property for testing either streams. Each property is a `boolean`, indicating whether or not hyperlinks are supported.
|
|
|
|
## Info
|
|
|
|
Obeys the `--no-hyperlinks`, `--hyperlink=always`, and `--hyperlink=never` CLI flags.
|
|
|
|
Can be overridden by the user with the flags `--hyperlinks=always` and `--no-hyperlinks`. For situations where using those flags are not possible, add the environment variable `FORCE_HYPERLINK=1` to forcefully enable hyperlinks or `FORCE_HYPERLINK=0` to forcefully disable. The use of `FORCE_HYPERLINK` overrides all other hyperlink support checks.
|
|
|
|
## Related
|
|
|
|
* [`hyperlinker`](https://github.com/jamestalmage/hyperlinker): Write hyperlinks for the Terminal.
|
|
|
|
## License
|
|
|
|
MIT © [James Talmage](https://github.com/jamestalmage)
|