@dxos/plugin-status-bar 0.8.4-main.3eb6e50203 → 0.8.4-main.3fbcb4aa9b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/neutral/StatusBarActions-GYLT4QVU.mjs +8 -0
- package/dist/lib/neutral/StatusBarActions-GYLT4QVU.mjs.map +7 -0
- package/dist/lib/neutral/StatusBarPanel-UTQAZ7VT.mjs +20 -0
- package/dist/lib/neutral/StatusBarPanel-UTQAZ7VT.mjs.map +7 -0
- package/dist/lib/neutral/StatusBarPlugin.mjs +17 -0
- package/dist/lib/neutral/StatusBarPlugin.mjs.map +7 -0
- package/dist/lib/neutral/VersionNumber-E7DDIVTB.mjs +7 -0
- package/dist/lib/neutral/VersionNumber-E7DDIVTB.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/index.mjs +7 -0
- package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
- package/dist/lib/neutral/chunk-BHLVVHW4.mjs +19 -0
- package/dist/lib/neutral/chunk-BHLVVHW4.mjs.map +7 -0
- package/dist/lib/neutral/chunk-DV7SD4RL.mjs +71 -0
- package/dist/lib/neutral/chunk-DV7SD4RL.mjs.map +7 -0
- package/dist/lib/neutral/chunk-PQSD2QVZ.mjs +70 -0
- package/dist/lib/neutral/chunk-PQSD2QVZ.mjs.map +7 -0
- package/dist/lib/neutral/components/index.mjs +48 -0
- package/dist/lib/neutral/components/index.mjs.map +7 -0
- package/dist/lib/neutral/containers/index.mjs +11 -0
- package/dist/lib/neutral/containers/index.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +7 -0
- package/dist/lib/neutral/index.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/meta.mjs +7 -0
- package/dist/lib/neutral/meta.mjs.map +7 -0
- package/dist/lib/neutral/plugin.mjs +11 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/{browser/react-surface-B2T3FRSM.mjs → neutral/react-surface-LRBTL7UM.mjs} +7 -20
- package/dist/lib/neutral/react-surface-LRBTL7UM.mjs.map +7 -0
- package/dist/lib/neutral/translations.mjs +24 -0
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/types/src/StatusBarPlugin.d.ts +1 -0
- package/dist/types/src/StatusBarPlugin.d.ts.map +1 -1
- package/dist/types/src/StatusBarPlugin.test.d.ts +2 -0
- package/dist/types/src/StatusBarPlugin.test.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +2 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +5 -0
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
- package/dist/types/src/components/{StatusBar.d.ts → StatusBar/StatusBar.d.ts} +6 -4
- package/dist/types/src/components/StatusBar/StatusBar.d.ts.map +1 -0
- package/dist/types/src/components/{StatusBar.stories.d.ts → StatusBar/StatusBar.stories.d.ts} +3 -1
- package/dist/types/src/components/StatusBar/StatusBar.stories.d.ts.map +1 -0
- package/dist/types/src/components/StatusBar/index.d.ts +2 -0
- package/dist/types/src/components/StatusBar/index.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +0 -2
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/StatusBarActions/StatusBarActions.d.ts +4 -0
- package/dist/types/src/containers/StatusBarActions/StatusBarActions.d.ts.map +1 -0
- package/dist/types/src/containers/StatusBarActions/StatusBarActions.stories.d.ts +7 -0
- package/dist/types/src/containers/StatusBarActions/StatusBarActions.stories.d.ts.map +1 -0
- package/dist/types/src/containers/StatusBarActions/index.d.ts +2 -0
- package/dist/types/src/containers/StatusBarActions/index.d.ts.map +1 -0
- package/dist/types/src/containers/StatusBarPanel/StatusBarPanel.d.ts +4 -0
- package/dist/types/src/containers/StatusBarPanel/StatusBarPanel.d.ts.map +1 -0
- package/dist/types/src/containers/StatusBarPanel/index.d.ts +2 -0
- package/dist/types/src/containers/StatusBarPanel/index.d.ts.map +1 -0
- package/dist/types/src/containers/VersionNumber/VersionNumber.d.ts +4 -0
- package/dist/types/src/containers/VersionNumber/VersionNumber.d.ts.map +1 -0
- package/dist/types/src/containers/VersionNumber/index.d.ts +2 -0
- package/dist/types/src/containers/VersionNumber/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +5 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +0 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/plugin.d.ts +3 -0
- package/dist/types/src/plugin.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +11 -12
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +69 -25
- package/src/StatusBarPlugin.test.ts +23 -0
- package/src/StatusBarPlugin.ts +5 -3
- package/src/capabilities/index.ts +3 -1
- package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +5 -11
- package/src/components/StatusBar/StatusBar.stories.tsx +45 -0
- package/src/components/{StatusBar.tsx → StatusBar/StatusBar.tsx} +43 -21
- package/src/components/StatusBar/index.ts +5 -0
- package/src/components/index.ts +0 -2
- package/src/containers/StatusBarActions/StatusBarActions.stories.tsx +62 -0
- package/src/containers/StatusBarActions/StatusBarActions.tsx +70 -0
- package/src/containers/StatusBarActions/index.ts +5 -0
- package/src/containers/StatusBarPanel/StatusBarPanel.tsx +21 -0
- package/src/containers/StatusBarPanel/index.ts +5 -0
- package/src/containers/VersionNumber/VersionNumber.tsx +97 -0
- package/src/containers/VersionNumber/index.ts +5 -0
- package/src/containers/index.ts +9 -0
- package/src/index.ts +1 -2
- package/src/meta.ts +2 -1
- package/src/plugin.ts +9 -0
- package/src/translations.ts +11 -11
- package/dist/lib/browser/chunk-VP63XX2T.mjs +0 -195
- package/dist/lib/browser/chunk-VP63XX2T.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -51
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/react-surface-B2T3FRSM.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-UONVHDU2.mjs +0 -197
- package/dist/lib/node-esm/chunk-UONVHDU2.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -52
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/react-surface-2KYAWCDQ.mjs +0 -41
- package/dist/lib/node-esm/react-surface-2KYAWCDQ.mjs.map +0 -7
- package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +0 -5
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
- package/dist/types/src/components/StatusBar.d.ts.map +0 -1
- package/dist/types/src/components/StatusBar.stories.d.ts.map +0 -1
- package/dist/types/src/components/StatusBarPanel.d.ts +0 -4
- package/dist/types/src/components/StatusBarPanel.d.ts.map +0 -1
- package/dist/types/src/components/VersionNumber.d.ts +0 -3
- package/dist/types/src/components/VersionNumber.d.ts.map +0 -1
- package/src/capabilities/react-surface/index.ts +0 -7
- package/src/components/StatusBar.stories.tsx +0 -45
- package/src/components/StatusBarPanel.tsx +0 -76
- package/src/components/VersionNumber.tsx +0 -85
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/StatusBar.tsx", "../../../src/meta.ts", "../../../src/components/VersionNumber.tsx", "../../../src/components/StatusBarPanel.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Slot } from '@radix-ui/react-slot';\nimport React, { type ComponentPropsWithRef, type PropsWithChildren, type ReactNode, forwardRef } from 'react';\n\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/ui-theme';\n\ntype StatusBarTextProps = ThemedClassName<{ children: ReactNode }>;\n\nconst StatusBarText = forwardRef<HTMLSpanElement, StatusBarTextProps>(({ classNames, children }, forwardedRef) => (\n <span className={mx(classNames)} ref={forwardedRef}>\n {children}\n </span>\n));\n\ntype StatusBarButtonProps = ThemedClassName<ComponentPropsWithRef<'button'> & { asChild?: boolean }>;\n\nconst StatusBarButton = forwardRef<HTMLButtonElement, StatusBarButtonProps>(\n ({ classNames, children, asChild, ...props }, forwardedRef) => {\n const classes = mx(\n 'flex items-center justify-center gap-2 p-1 pli-2 rounded-sm',\n 'select-none cursor-pointer dx-focus-ring text-description text-xs',\n 'hover:bg-neutral-75 active:bg-neutral-150 dark:hover:bg-neutral-750 dark:active:bg-neutral-700',\n classNames,\n );\n\n return asChild ? (\n <Slot role='button' ref={forwardedRef} className={classes} {...props}>\n {children}\n </Slot>\n ) : (\n <button className={classes} ref={forwardedRef} {...props}>\n {children}\n </button>\n );\n },\n);\n\nexport default StatusBarButton;\n\ntype StatusBarItemProps = ThemedClassName<ComponentPropsWithRef<'div'>>;\n\nconst StatusBarItem = forwardRef<HTMLDivElement, StatusBarItemProps>(\n ({ classNames, children, ...props }, forwardedRef) => (\n <div\n role='menuitem'\n className={mx('flex items-center justify-center gap-2 p-1 pli-2 rounded-sm select-none', classNames)}\n ref={forwardedRef}\n {...props}\n >\n {children}\n </div>\n ),\n);\n\ntype StartContentProps = ThemedClassName<PropsWithChildren<{}>>;\n\nconst StartContent = forwardRef<HTMLDivElement, StartContentProps>(({ classNames, children }, forwardedRef) => (\n <div role='none' className={mx('flex-grow flex items-center space-x-2', classNames)} ref={forwardedRef}>\n {children}\n </div>\n));\n\ntype EndContentProps = ThemedClassName<PropsWithChildren<{}>>;\n\nconst EndContent = forwardRef<HTMLDivElement, EndContentProps>(({ classNames, children }, forwardedRef) => (\n <div role='none' className={mx('flex-grow flex items-center justify-end', classNames)} ref={forwardedRef}>\n {children}\n </div>\n));\n\nexport const StatusBar = {\n Text: StatusBarText,\n Item: StatusBarItem,\n Button: StatusBarButton,\n StartContent,\n EndContent,\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'dxos.org/plugin/status-bar',\n name: 'Status Bar',\n description: trim`\n Persistent bottom bar displaying workspace status information and quick actions.\n Access connection state, notifications, and common commands without leaving your current context.\n `,\n icon: 'ph--info--regular',\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { formatDistance } from 'date-fns/formatDistance';\nimport React from 'react';\n\nimport { useConfig } from '@dxos/react-client';\nimport { Icon, Link, Message, Popover, Trans, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '../meta';\n\nimport { StatusBar } from './StatusBar';\n\nconst repo = 'https://github.com/dxos/dxos';\n\nconst VERSION_REGEX = /([\\d.]+)/;\n\nexport const VersionNumber = () => {\n const { t } = useTranslation(meta.id);\n const config = useConfig();\n const { version, timestamp, commitHash } = config.values.runtime?.app?.build ?? {};\n const [_, v] = version?.match(VERSION_REGEX) ?? [];\n const isLabs = config.values.runtime?.app?.env?.DX_LABS;\n\n const releaseUrl =\n config.values.runtime?.app?.env?.DX_ENVIRONMENT === 'production'\n ? `${repo}/releases/tag/v${version}`\n : `${repo}/commit/${commitHash}`;\n\n const previewUrl = 'https://docs.dxos.org/composer#technology-preview';\n\n return (\n <Popover.Root>\n <Popover.Trigger asChild>\n <StatusBar.Button classNames='text-xs'>{isLabs ? version : v}</StatusBar.Button>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content\n side='top'\n role='message'\n classNames='z-[12] bg-warning-500 max-is-[min(calc(100vw-16px),40ch)]'\n >\n <Message.Root valence='warning' classNames='rounded-be-none p-5'>\n <Message.Title>{t('warning title')}</Message.Title>\n <Message.Content>\n {t('technology preview message')}\n <br />\n <Link href={previewUrl} target='_blank' rel='noreferrer' variant='neutral'>\n {t('learn more label')}\n <Icon icon='ph--arrow-square-out--bold' classNames='inline mis-1' />\n </Link>\n </Message.Content>\n </Message.Root>\n <div role='none' className='plb-4 pli-5 space-b-2 text-baseText'>\n {timestamp && (\n <p>\n {t('released message', {\n released: formatDistance(new Date(timestamp), new Date(), { addSuffix: true }),\n })}\n <br />\n <Link href={releaseUrl} target='_blank' rel='noreferrer' variant='neutral'>\n {t('see release label')}\n <Icon icon='ph--arrow-square-out--bold' classNames='inline mis-1' />\n </Link>\n </p>\n )}\n <p>\n <Trans\n {...{\n t,\n i18nKey: 'powered by dxos message',\n components: {\n dxos: <Link href='https://dxos.org' target='_blank' rel='noreferrer' variant='neutral' />,\n },\n }}\n />\n </p>\n </div>\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useState } from 'react';\n\nimport { Surface } from '@dxos/app-framework/ui';\nimport { useConfig } from '@dxos/react-client';\nimport { Icon, Popover, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '../meta';\n\nimport { StatusBar } from './StatusBar';\nimport { VersionNumber } from './VersionNumber';\n\nexport const StatusBarActions = () => {\n const { t } = useTranslation(meta.id);\n const [open, setOpen] = useState(false);\n\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <EnvironmentLabel />\n <VersionNumber />\n <StatusBar.Button asChild>\n <a href='https://dxos.org/discord' target='_blank' rel='noopener noreferrer'>\n <Icon icon='ph--discord-logo--regular' size={4} />\n <StatusBar.Text classNames='hidden sm:block'>{t('discord label')}</StatusBar.Text>\n </a>\n </StatusBar.Button>\n <StatusBar.Button asChild>\n <a href='https://github.com/dxos/dxos' target='_blank' rel='noopener noreferrer'>\n <Icon icon='ph--github-logo--regular' size={4} />\n <StatusBar.Text classNames='hidden sm:block'>{t('github label')}</StatusBar.Text>\n </a>\n </StatusBar.Button>\n </Popover.Root>\n );\n};\n\nexport const StatusBarPanel = () => {\n return (\n <>\n <StatusBarActions />\n <span role='separator' className='grow' />\n <Surface.Surface role='status' />\n </>\n );\n};\n\nconst ENV_LABELS: Record<string, string> = {\n 'edge-dev': 'Dev',\n 'edge-main': 'Main',\n 'edge-labs': 'Labs',\n 'edge-production': 'Production',\n};\n\nconst EnvironmentLabel = () => {\n const config = useConfig();\n const edgeUrl = config.values.runtime?.services?.edge?.url;\n if (!edgeUrl) {\n return null;\n }\n const part = new URL(edgeUrl).host.split('.')[0];\n const edgeEnv = ENV_LABELS[part];\n if (!edgeEnv) {\n return null;\n }\n\n return (\n <StatusBar.Item>\n <StatusBar.Text classNames='text-xs text-subdued border border-separator rounded-full pli-1'>\n <span title={edgeEnv}>{edgeEnv[0]}</span>\n </StatusBar.Text>\n </StatusBar.Item>\n );\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Slot", "React", "forwardRef", "mx", "StatusBarText", "forwardRef", "classNames", "children", "forwardedRef", "span", "className", "mx", "ref", "StatusBarButton", "asChild", "props", "classes", "Slot", "role", "button", "StatusBarItem", "forwardRef", "classNames", "children", "props", "forwardedRef", "div", "role", "className", "mx", "ref", "StartContent", "EndContent", "StatusBar", "Text", "StatusBarText", "Item", "Button", "StatusBarButton", "trim", "meta", "id", "name", "description", "trim", "icon", "formatDistance", "React", "useConfig", "Icon", "Link", "Message", "Popover", "Trans", "useTranslation", "repo", "VERSION_REGEX", "VersionNumber", "t", "useTranslation", "meta", "id", "config", "useConfig", "version", "timestamp", "commitHash", "values", "runtime", "app", "build", "_", "v", "match", "isLabs", "env", "DX_LABS", "releaseUrl", "DX_ENVIRONMENT", "previewUrl", "React", "Popover", "Root", "Trigger", "asChild", "StatusBar", "Button", "classNames", "Portal", "Content", "side", "role", "Message", "valence", "Title", "br", "Link", "href", "target", "rel", "variant", "Icon", "icon", "div", "className", "p", "released", "formatDistance", "Date", "addSuffix", "Trans", "i18nKey", "components", "dxos", "Arrow", "React", "useState", "Surface", "useConfig", "Icon", "Popover", "useTranslation", "StatusBarActions", "t", "useTranslation", "meta", "id", "open", "setOpen", "useState", "React", "Popover", "Root", "onOpenChange", "EnvironmentLabel", "VersionNumber", "StatusBar", "Button", "asChild", "a", "href", "target", "rel", "Icon", "icon", "size", "Text", "classNames", "StatusBarPanel", "span", "role", "className", "Surface", "ENV_LABELS", "config", "useConfig", "edgeUrl", "values", "runtime", "services", "edge", "url", "part", "URL", "host", "split", "edgeEnv", "Item", "title"]
|
|
7
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
StatusBar,
|
|
4
|
-
StatusBarActions,
|
|
5
|
-
StatusBarPanel,
|
|
6
|
-
VersionNumber,
|
|
7
|
-
meta
|
|
8
|
-
} from "./chunk-UONVHDU2.mjs";
|
|
9
|
-
|
|
10
|
-
// src/StatusBarPlugin.ts
|
|
11
|
-
import { Plugin } from "@dxos/app-framework";
|
|
12
|
-
import { AppPlugin } from "@dxos/app-toolkit";
|
|
13
|
-
|
|
14
|
-
// src/capabilities/react-surface/index.ts
|
|
15
|
-
import { Capability } from "@dxos/app-framework";
|
|
16
|
-
var ReactSurface = Capability.lazy("ReactSurface", () => import("./react-surface-2KYAWCDQ.mjs"));
|
|
17
|
-
|
|
18
|
-
// src/translations.ts
|
|
19
|
-
var translations = [
|
|
20
|
-
{
|
|
21
|
-
"en-US": {
|
|
22
|
-
[meta.id]: {
|
|
23
|
-
"plugin name": "Status Bar",
|
|
24
|
-
"warning title": "WARNING",
|
|
25
|
-
"technology preview message": "Composer is currently in beta.",
|
|
26
|
-
"learn more label": "Learn more",
|
|
27
|
-
"released message": "This version released {{released}}.",
|
|
28
|
-
"see release label": "See release on GitHub",
|
|
29
|
-
"powered by dxos message": "Powered by <dxos>DXOS</dxos>",
|
|
30
|
-
"discord label": "Discord",
|
|
31
|
-
"github label": "GitHub",
|
|
32
|
-
"feedback label": "Feedback"
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
];
|
|
37
|
-
|
|
38
|
-
// src/StatusBarPlugin.ts
|
|
39
|
-
var StatusBarPlugin = Plugin.define(meta).pipe(AppPlugin.addSurfaceModule({
|
|
40
|
-
activate: ReactSurface
|
|
41
|
-
}), AppPlugin.addTranslationsModule({
|
|
42
|
-
translations
|
|
43
|
-
}), Plugin.make);
|
|
44
|
-
export {
|
|
45
|
-
StatusBar,
|
|
46
|
-
StatusBarActions,
|
|
47
|
-
StatusBarPanel,
|
|
48
|
-
StatusBarPlugin,
|
|
49
|
-
VersionNumber,
|
|
50
|
-
meta
|
|
51
|
-
};
|
|
52
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/StatusBarPlugin.ts", "../../../src/capabilities/react-surface/index.ts", "../../../src/translations.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\n\nimport { ReactSurface } from './capabilities';\nimport { meta } from './meta';\nimport { translations } from './translations';\n\nexport const StatusBarPlugin = Plugin.define(meta).pipe(\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.make,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\n\nexport const translations = [\n {\n 'en-US': {\n [meta.id]: {\n 'plugin name': 'Status Bar',\n 'warning title': 'WARNING',\n 'technology preview message': 'Composer is currently in beta.',\n 'learn more label': 'Learn more',\n 'released message': 'This version released {{released}}.',\n 'see release label': 'See release on GitHub',\n 'powered by dxos message': 'Powered by <dxos>DXOS</dxos>',\n 'discord label': 'Discord',\n 'github label': 'GitHub',\n 'feedback label': 'Feedback',\n },\n },\n },\n] as const satisfies Resource[];\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;AAIA,SAASA,cAAc;AACvB,SAASC,iBAAiB;;;ACD1B,SAASC,kBAAkB;AAEpB,IAAMC,eAAeC,WAAWC,KAAK,gBAAgB,MAAM,OAAO,8BAAA,CAAA;;;ACElE,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,KAAKC,EAAE,GAAG;QACT,eAAe;QACf,iBAAiB;QACjB,8BAA8B;QAC9B,oBAAoB;QACpB,oBAAoB;QACpB,qBAAqB;QACrB,2BAA2B;QAC3B,iBAAiB;QACjB,gBAAgB;QAChB,kBAAkB;MACpB;IACF;EACF;;;;AFbK,IAAMC,kBAAkBC,OAAOC,OAAOC,IAAAA,EAAMC,KACjDC,UAAUC,iBAAiB;EAAEC,UAAUC;AAAa,CAAA,GACpDH,UAAUI,sBAAsB;EAAEC;AAAa,CAAA,GAC/CT,OAAOU,IAAI;",
|
|
6
|
-
"names": ["Plugin", "AppPlugin", "Capability", "ReactSurface", "Capability", "lazy", "translations", "meta", "id", "StatusBarPlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addSurfaceModule", "activate", "ReactSurface", "addTranslationsModule", "translations", "make"]
|
|
7
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"inputs":{"src/components/StatusBar.tsx":{"bytes":7670,"imports":[{"path":"@radix-ui/react-slot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/meta.ts":{"bytes":1555,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/components/VersionNumber.tsx":{"bytes":10499,"imports":[{"path":"date-fns/formatDistance","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/components/StatusBar.tsx","kind":"import-statement","original":"./StatusBar"}],"format":"esm"},"src/components/StatusBarPanel.tsx":{"bytes":8447,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/components/StatusBar.tsx","kind":"import-statement","original":"./StatusBar"},{"path":"src/components/VersionNumber.tsx","kind":"import-statement","original":"./VersionNumber"}],"format":"esm"},"src/components/index.ts":{"bytes":684,"imports":[{"path":"src/components/StatusBar.tsx","kind":"import-statement","original":"./StatusBar"},{"path":"src/components/StatusBarPanel.tsx","kind":"import-statement","original":"./StatusBarPanel"},{"path":"src/components/VersionNumber.tsx","kind":"import-statement","original":"./VersionNumber"}],"format":"esm"},"src/capabilities/react-surface/react-surface.tsx":{"bytes":4439,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"src/components/index.ts","kind":"import-statement","original":"../../components"},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"src/capabilities/react-surface/index.ts":{"bytes":914,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/react-surface/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":491,"imports":[{"path":"src/capabilities/react-surface/index.ts","kind":"import-statement","original":"./react-surface"}],"format":"esm"},"src/translations.ts":{"bytes":2422,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/StatusBarPlugin.ts":{"bytes":1958,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"src/index.ts":{"bytes":654,"imports":[{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/StatusBarPlugin.ts","kind":"import-statement","original":"./StatusBarPlugin"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2345},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-UONVHDU2.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/react-surface-2KYAWCDQ.mjs","kind":"dynamic-import"}],"exports":["StatusBar","StatusBarActions","StatusBarPanel","StatusBarPlugin","VersionNumber","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/StatusBarPlugin.ts":{"bytesInOutput":265},"src/capabilities/react-surface/index.ts":{"bytesInOutput":148},"src/capabilities/index.ts":{"bytesInOutput":0},"src/translations.ts":{"bytesInOutput":562}},"bytes":1445},"dist/lib/node-esm/react-surface-2KYAWCDQ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2157},"dist/lib/node-esm/react-surface-2KYAWCDQ.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-UONVHDU2.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface/react-surface.tsx","inputs":{"src/capabilities/react-surface/react-surface.tsx":{"bytesInOutput":1024}},"bytes":1370},"dist/lib/node-esm/chunk-UONVHDU2.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":14933},"dist/lib/node-esm/chunk-UONVHDU2.mjs":{"imports":[{"path":"@radix-ui/react-slot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"date-fns/formatDistance","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"exports":["StatusBar","StatusBarActions","StatusBarPanel","VersionNumber","meta"],"inputs":{"src/components/StatusBar.tsx":{"bytesInOutput":1944},"src/meta.ts":{"bytesInOutput":350},"src/components/VersionNumber.tsx":{"bytesInOutput":3023},"src/components/StatusBarPanel.tsx":{"bytesInOutput":2540},"src/components/index.ts":{"bytesInOutput":0}},"bytes":8205}}}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
StatusBarActions,
|
|
4
|
-
StatusBarPanel,
|
|
5
|
-
VersionNumber,
|
|
6
|
-
meta
|
|
7
|
-
} from "./chunk-UONVHDU2.mjs";
|
|
8
|
-
|
|
9
|
-
// src/capabilities/react-surface/react-surface.tsx
|
|
10
|
-
import * as Effect from "effect/Effect";
|
|
11
|
-
import React from "react";
|
|
12
|
-
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
13
|
-
import { Surface } from "@dxos/app-framework/ui";
|
|
14
|
-
var react_surface_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(Capabilities.ReactSurface, [
|
|
15
|
-
Surface.create({
|
|
16
|
-
id: `${meta.id}/status-bar`,
|
|
17
|
-
role: "status-bar",
|
|
18
|
-
component: () => /* @__PURE__ */ React.createElement(StatusBarPanel, null)
|
|
19
|
-
}),
|
|
20
|
-
Surface.create({
|
|
21
|
-
id: `${meta.id}/status-bar--r0-footer`,
|
|
22
|
-
role: "status-bar--r0-footer",
|
|
23
|
-
component: () => /* @__PURE__ */ React.createElement(Surface.Surface, {
|
|
24
|
-
role: "status"
|
|
25
|
-
})
|
|
26
|
-
}),
|
|
27
|
-
Surface.create({
|
|
28
|
-
id: `${meta.id}/status-bar--r1-footer`,
|
|
29
|
-
role: "status-bar--r1-footer",
|
|
30
|
-
component: () => /* @__PURE__ */ React.createElement(StatusBarActions, null)
|
|
31
|
-
}),
|
|
32
|
-
Surface.create({
|
|
33
|
-
id: `${meta.id}/header-end`,
|
|
34
|
-
role: "header-end",
|
|
35
|
-
component: () => /* @__PURE__ */ React.createElement(VersionNumber, null)
|
|
36
|
-
})
|
|
37
|
-
])));
|
|
38
|
-
export {
|
|
39
|
-
react_surface_default as default
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=react-surface-2KYAWCDQ.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/react-surface/react-surface.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface } from '@dxos/app-framework/ui';\n\nimport { StatusBarActions, StatusBarPanel, VersionNumber } from '../../components';\nimport { meta } from '../../meta';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: `${meta.id}/status-bar`,\n role: 'status-bar',\n component: () => <StatusBarPanel />,\n }),\n Surface.create({\n id: `${meta.id}/status-bar--r0-footer`,\n role: 'status-bar--r0-footer',\n component: () => <Surface.Surface role='status' />,\n }),\n Surface.create({\n id: `${meta.id}/status-bar--r1-footer`,\n role: 'status-bar--r1-footer',\n component: () => <StatusBarActions />,\n }),\n Surface.create({\n id: `${meta.id}/header-end`,\n role: 'header-end',\n component: () => <VersionNumber />,\n }),\n ]),\n ),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAW;AAElB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,eAAe;AAKxB,IAAA,wBAAeC,WAAWC,WAAW,MAC5BC,eACLF,WAAWG,YAAYC,aAAaC,cAAc;EAChDC,QAAQC,OAAO;IACbC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,WAAW,MAAM,sBAAA,cAACC,gBAAAA,IAAAA;EACpB,CAAA;EACAN,QAAQC,OAAO;IACbC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,WAAW,MAAM,sBAAA,cAACL,QAAQA,SAAO;MAACI,MAAK;;EACzC,CAAA;EACAJ,QAAQC,OAAO;IACbC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,WAAW,MAAM,sBAAA,cAACE,kBAAAA,IAAAA;EACpB,CAAA;EACAP,QAAQC,OAAO;IACbC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,WAAW,MAAM,sBAAA,cAACG,eAAAA,IAAAA;EACpB,CAAA;CACD,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "React", "Capabilities", "Capability", "Surface", "Capability", "makeModule", "succeed", "contributes", "Capabilities", "ReactSurface", "Surface", "create", "id", "meta", "role", "component", "StatusBarPanel", "StatusBarActions", "VersionNumber"]
|
|
7
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/react-surface/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,YAAY,iJAAmE,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import * as Effect from 'effect/Effect';
|
|
2
|
-
import { Capabilities, Capability } from '@dxos/app-framework';
|
|
3
|
-
declare const _default: (props?: void | undefined) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Capabilities.ReactSurface>>, never, never>;
|
|
4
|
-
export default _default;
|
|
5
|
-
//# sourceMappingURL=react-surface.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/react-surface/react-surface.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;;AAM/D,wBAyBE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../../../src/components/StatusBar.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,KAAK,qBAAqB,EAA0B,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAE9G,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAWtD,KAAK,oBAAoB,GAAG,eAAe,CAAC,qBAAqB,CAAC,QAAQ,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAErG,QAAA,MAAM,eAAe,6GAmBpB,CAAC;AAEF,eAAe,eAAe,CAAC;AAE/B,KAAK,kBAAkB,GAAG,eAAe,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;AA+BxE,eAAO,MAAM,SAAS;;kBAhEgC,SAAS;;;;;;;;;;;;;;;;CAsE9D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBar.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/StatusBar.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,eAAO,MAAM,YAAY,yBAmBxB,CAAC;AAEF,QAAA,MAAM,IAAI;;eAEgB,GAAG;;;CAGK,CAAC;AAEnC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBarPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/StatusBarPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAWxC,eAAO,MAAM,gBAAgB,yBAsB5B,CAAC;AAEF,eAAO,MAAM,cAAc,yBAQ1B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VersionNumber.d.ts","sourceRoot":"","sources":["../../../../src/components/VersionNumber.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,eAAO,MAAM,aAAa,yBAkEzB,CAAC"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2024 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
6
|
-
import React from 'react';
|
|
7
|
-
|
|
8
|
-
import { Icon } from '@dxos/react-ui';
|
|
9
|
-
import { withTheme } from '@dxos/react-ui/testing';
|
|
10
|
-
|
|
11
|
-
import { StatusBar } from './StatusBar';
|
|
12
|
-
|
|
13
|
-
export const DefaultStory = () => (
|
|
14
|
-
<div>
|
|
15
|
-
<StatusBar.EndContent>
|
|
16
|
-
<StatusBar.Button>
|
|
17
|
-
<Icon icon='ph--mailbox--regular' size={4} />
|
|
18
|
-
<StatusBar.Text>Quick feedback</StatusBar.Text>
|
|
19
|
-
</StatusBar.Button>
|
|
20
|
-
<a href='https://dxos.org/discord' target='_blank' rel='noopener noreferrer'>
|
|
21
|
-
<StatusBar.Button>
|
|
22
|
-
<Icon icon='ph--discord-logo--regular' size={4} />
|
|
23
|
-
<StatusBar.Text>Join us on Discord</StatusBar.Text>
|
|
24
|
-
</StatusBar.Button>
|
|
25
|
-
</a>
|
|
26
|
-
<StatusBar.Item>
|
|
27
|
-
<Icon icon='ph--lightning--regular' size={4} />
|
|
28
|
-
<StatusBar.Text>Online</StatusBar.Text>
|
|
29
|
-
</StatusBar.Item>
|
|
30
|
-
</StatusBar.EndContent>
|
|
31
|
-
</div>
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
const meta = {
|
|
35
|
-
title: 'plugins/plugin-status/StatusBar',
|
|
36
|
-
component: StatusBar as any,
|
|
37
|
-
render: DefaultStory,
|
|
38
|
-
decorators: [withTheme()],
|
|
39
|
-
} satisfies Meta<typeof StatusBar>;
|
|
40
|
-
|
|
41
|
-
export default meta;
|
|
42
|
-
|
|
43
|
-
type Story = StoryObj<typeof meta>;
|
|
44
|
-
|
|
45
|
-
export const Default: Story = {};
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2024 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import React, { useState } from 'react';
|
|
6
|
-
|
|
7
|
-
import { Surface } from '@dxos/app-framework/ui';
|
|
8
|
-
import { useConfig } from '@dxos/react-client';
|
|
9
|
-
import { Icon, Popover, useTranslation } from '@dxos/react-ui';
|
|
10
|
-
|
|
11
|
-
import { meta } from '../meta';
|
|
12
|
-
|
|
13
|
-
import { StatusBar } from './StatusBar';
|
|
14
|
-
import { VersionNumber } from './VersionNumber';
|
|
15
|
-
|
|
16
|
-
export const StatusBarActions = () => {
|
|
17
|
-
const { t } = useTranslation(meta.id);
|
|
18
|
-
const [open, setOpen] = useState(false);
|
|
19
|
-
|
|
20
|
-
return (
|
|
21
|
-
<Popover.Root open={open} onOpenChange={setOpen}>
|
|
22
|
-
<EnvironmentLabel />
|
|
23
|
-
<VersionNumber />
|
|
24
|
-
<StatusBar.Button asChild>
|
|
25
|
-
<a href='https://dxos.org/discord' target='_blank' rel='noopener noreferrer'>
|
|
26
|
-
<Icon icon='ph--discord-logo--regular' size={4} />
|
|
27
|
-
<StatusBar.Text classNames='hidden sm:block'>{t('discord label')}</StatusBar.Text>
|
|
28
|
-
</a>
|
|
29
|
-
</StatusBar.Button>
|
|
30
|
-
<StatusBar.Button asChild>
|
|
31
|
-
<a href='https://github.com/dxos/dxos' target='_blank' rel='noopener noreferrer'>
|
|
32
|
-
<Icon icon='ph--github-logo--regular' size={4} />
|
|
33
|
-
<StatusBar.Text classNames='hidden sm:block'>{t('github label')}</StatusBar.Text>
|
|
34
|
-
</a>
|
|
35
|
-
</StatusBar.Button>
|
|
36
|
-
</Popover.Root>
|
|
37
|
-
);
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
export const StatusBarPanel = () => {
|
|
41
|
-
return (
|
|
42
|
-
<>
|
|
43
|
-
<StatusBarActions />
|
|
44
|
-
<span role='separator' className='grow' />
|
|
45
|
-
<Surface.Surface role='status' />
|
|
46
|
-
</>
|
|
47
|
-
);
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
const ENV_LABELS: Record<string, string> = {
|
|
51
|
-
'edge-dev': 'Dev',
|
|
52
|
-
'edge-main': 'Main',
|
|
53
|
-
'edge-labs': 'Labs',
|
|
54
|
-
'edge-production': 'Production',
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
const EnvironmentLabel = () => {
|
|
58
|
-
const config = useConfig();
|
|
59
|
-
const edgeUrl = config.values.runtime?.services?.edge?.url;
|
|
60
|
-
if (!edgeUrl) {
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
|
-
const part = new URL(edgeUrl).host.split('.')[0];
|
|
64
|
-
const edgeEnv = ENV_LABELS[part];
|
|
65
|
-
if (!edgeEnv) {
|
|
66
|
-
return null;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
return (
|
|
70
|
-
<StatusBar.Item>
|
|
71
|
-
<StatusBar.Text classNames='text-xs text-subdued border border-separator rounded-full pli-1'>
|
|
72
|
-
<span title={edgeEnv}>{edgeEnv[0]}</span>
|
|
73
|
-
</StatusBar.Text>
|
|
74
|
-
</StatusBar.Item>
|
|
75
|
-
);
|
|
76
|
-
};
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2024 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { formatDistance } from 'date-fns/formatDistance';
|
|
6
|
-
import React from 'react';
|
|
7
|
-
|
|
8
|
-
import { useConfig } from '@dxos/react-client';
|
|
9
|
-
import { Icon, Link, Message, Popover, Trans, useTranslation } from '@dxos/react-ui';
|
|
10
|
-
|
|
11
|
-
import { meta } from '../meta';
|
|
12
|
-
|
|
13
|
-
import { StatusBar } from './StatusBar';
|
|
14
|
-
|
|
15
|
-
const repo = 'https://github.com/dxos/dxos';
|
|
16
|
-
|
|
17
|
-
const VERSION_REGEX = /([\d.]+)/;
|
|
18
|
-
|
|
19
|
-
export const VersionNumber = () => {
|
|
20
|
-
const { t } = useTranslation(meta.id);
|
|
21
|
-
const config = useConfig();
|
|
22
|
-
const { version, timestamp, commitHash } = config.values.runtime?.app?.build ?? {};
|
|
23
|
-
const [_, v] = version?.match(VERSION_REGEX) ?? [];
|
|
24
|
-
const isLabs = config.values.runtime?.app?.env?.DX_LABS;
|
|
25
|
-
|
|
26
|
-
const releaseUrl =
|
|
27
|
-
config.values.runtime?.app?.env?.DX_ENVIRONMENT === 'production'
|
|
28
|
-
? `${repo}/releases/tag/v${version}`
|
|
29
|
-
: `${repo}/commit/${commitHash}`;
|
|
30
|
-
|
|
31
|
-
const previewUrl = 'https://docs.dxos.org/composer#technology-preview';
|
|
32
|
-
|
|
33
|
-
return (
|
|
34
|
-
<Popover.Root>
|
|
35
|
-
<Popover.Trigger asChild>
|
|
36
|
-
<StatusBar.Button classNames='text-xs'>{isLabs ? version : v}</StatusBar.Button>
|
|
37
|
-
</Popover.Trigger>
|
|
38
|
-
<Popover.Portal>
|
|
39
|
-
<Popover.Content
|
|
40
|
-
side='top'
|
|
41
|
-
role='message'
|
|
42
|
-
classNames='z-[12] bg-warning-500 max-is-[min(calc(100vw-16px),40ch)]'
|
|
43
|
-
>
|
|
44
|
-
<Message.Root valence='warning' classNames='rounded-be-none p-5'>
|
|
45
|
-
<Message.Title>{t('warning title')}</Message.Title>
|
|
46
|
-
<Message.Content>
|
|
47
|
-
{t('technology preview message')}
|
|
48
|
-
<br />
|
|
49
|
-
<Link href={previewUrl} target='_blank' rel='noreferrer' variant='neutral'>
|
|
50
|
-
{t('learn more label')}
|
|
51
|
-
<Icon icon='ph--arrow-square-out--bold' classNames='inline mis-1' />
|
|
52
|
-
</Link>
|
|
53
|
-
</Message.Content>
|
|
54
|
-
</Message.Root>
|
|
55
|
-
<div role='none' className='plb-4 pli-5 space-b-2 text-baseText'>
|
|
56
|
-
{timestamp && (
|
|
57
|
-
<p>
|
|
58
|
-
{t('released message', {
|
|
59
|
-
released: formatDistance(new Date(timestamp), new Date(), { addSuffix: true }),
|
|
60
|
-
})}
|
|
61
|
-
<br />
|
|
62
|
-
<Link href={releaseUrl} target='_blank' rel='noreferrer' variant='neutral'>
|
|
63
|
-
{t('see release label')}
|
|
64
|
-
<Icon icon='ph--arrow-square-out--bold' classNames='inline mis-1' />
|
|
65
|
-
</Link>
|
|
66
|
-
</p>
|
|
67
|
-
)}
|
|
68
|
-
<p>
|
|
69
|
-
<Trans
|
|
70
|
-
{...{
|
|
71
|
-
t,
|
|
72
|
-
i18nKey: 'powered by dxos message',
|
|
73
|
-
components: {
|
|
74
|
-
dxos: <Link href='https://dxos.org' target='_blank' rel='noreferrer' variant='neutral' />,
|
|
75
|
-
},
|
|
76
|
-
}}
|
|
77
|
-
/>
|
|
78
|
-
</p>
|
|
79
|
-
</div>
|
|
80
|
-
<Popover.Arrow />
|
|
81
|
-
</Popover.Content>
|
|
82
|
-
</Popover.Portal>
|
|
83
|
-
</Popover.Root>
|
|
84
|
-
);
|
|
85
|
-
};
|