@jjlmoya/utils-astronomy 1.9.0 → 1.12.0

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/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@jjlmoya/utils-astronomy",
3
- "version": "1.9.0",
3
+ "version": "1.12.0",
4
4
  "type": "module",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
7
7
  "exports": {
8
8
  ".": "./src/index.ts",
9
- "./data": "./src/data.ts"
9
+ "./data": "./src/data.ts",
10
+ "./entries": "./src/entries.ts"
10
11
  },
11
12
  "files": [
12
13
  "src"
@@ -1,8 +1,8 @@
1
1
  import type { AstronomyCategoryEntry } from '../types';
2
- import { bortleVisualizer } from '../tool/bortleVisualizer';
3
- import { deepSpaceScope } from '../tool/deepSpaceScope';
4
- import { starExposureCalculator } from '../tool/starExposureCalculator';
5
- import { telescopeResolution } from '../tool/telescopeResolution';
2
+ import { bortleVisualizer } from '../tool/bortleVisualizer/entry';
3
+ import { deepSpaceScope } from '../tool/deepSpaceScope/entry';
4
+ import { starExposureCalculator } from '../tool/starExposureCalculator/entry';
5
+ import { telescopeResolution } from '../tool/telescopeResolution/entry';
6
6
 
7
7
  export const toolsCategory: AstronomyCategoryEntry = {
8
8
  icon: 'mdi:telescope',
package/src/entries.ts ADDED
@@ -0,0 +1,14 @@
1
+ export { bortleVisualizer } from './tool/bortleVisualizer/entry';
2
+ export type { BortleVisualizerUI, BortleLevel, BortleVisualizerLocaleContent } from './tool/bortleVisualizer/entry';
3
+ export { deepSpaceScope } from './tool/deepSpaceScope/entry';
4
+ export type { DeepSpaceObject, DeepSpaceScopeUI, DeepSpaceScopeLocaleContent } from './tool/deepSpaceScope/entry';
5
+ export { starExposureCalculator } from './tool/starExposureCalculator/entry';
6
+ export type { StarExposureCalculatorUI, StarExposureCalculatorLocaleContent } from './tool/starExposureCalculator/entry';
7
+ export { telescopeResolution } from './tool/telescopeResolution/entry';
8
+ export type { TelescopeResolutionUI, TelescopeResolutionLocaleContent } from './tool/telescopeResolution/entry';
9
+ export { toolsCategory, astronomyCategory } from './category';
10
+ import { bortleVisualizer } from './tool/bortleVisualizer/entry';
11
+ import { deepSpaceScope } from './tool/deepSpaceScope/entry';
12
+ import { starExposureCalculator } from './tool/starExposureCalculator/entry';
13
+ import { telescopeResolution } from './tool/telescopeResolution/entry';
14
+ export const ALL_ENTRIES = [bortleVisualizer, deepSpaceScope, starExposureCalculator, telescopeResolution];
package/src/index.ts CHANGED
@@ -4,7 +4,7 @@ export * from './tool/starExposureCalculator';
4
4
  export * from './tool/telescopeResolution';
5
5
 
6
6
  export { toolsCategory as astronomyCategory } from './category';
7
- export { default as AstronomyCategorySEO } from './category/seo.astro';
7
+ export const AstronomyCategorySEO = () => import('./category/seo.astro').then((m) => m.default);
8
8
 
9
9
  export type {
10
10
  KnownLocale,
@@ -14,7 +14,8 @@ import type { UtilitySEOContent } from "@jjlmoya/utils-shared";
14
14
  export async function getStaticPaths() {
15
15
  const paths = [];
16
16
 
17
- for (const { entry, Component } of ALL_TOOLS) {
17
+ for (const { entry, Component: lazyComp } of ALL_TOOLS) {
18
+ const { default: Component } = await lazyComp();
18
19
  const localeEntries = Object.entries(entry.i18n) as [
19
20
  KnownLocale,
20
21
  () => Promise<ToolLocaleContent>,
@@ -52,8 +53,6 @@ export async function getStaticPaths() {
52
53
  return paths;
53
54
  }
54
55
 
55
- type ToolComponent = (props: { ui: Record<string, string> }) => unknown;
56
-
57
56
  interface NavItem {
58
57
  id: string;
59
58
  title: string;
@@ -62,7 +61,7 @@ interface NavItem {
62
61
  }
63
62
 
64
63
  interface Props {
65
- Component: ToolComponent;
64
+ Component: unknown;
66
65
  locale: KnownLocale;
67
66
  content: ToolLocaleContent;
68
67
  localeUrls: Partial<Record<KnownLocale, string>>;
@@ -0,0 +1,53 @@
1
+ import type { AstronomyToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ export interface BortleVisualizerUI {
4
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
5
+ [key: string]: any;
6
+ toolTitle: string;
7
+ sliderLabel: string;
8
+ classLabel: string;
9
+ nelmLabel: string;
10
+ sqmLabel: string;
11
+ classPrefix: string;
12
+ bortleData: Record<number, BortleLevel>;
13
+ }
14
+
15
+ export interface BortleLevel {
16
+ title: string;
17
+ description: string;
18
+ nelm: number;
19
+ sqm: string;
20
+ starsVisible: boolean;
21
+ milkyWayVisible: boolean;
22
+ cloudsLit: boolean;
23
+ skyBrightness: number;
24
+ }
25
+
26
+ export interface BortleVisualizerLocaleContent extends ToolLocaleContent<BortleVisualizerUI> {
27
+ bortleData: Record<number, BortleLevel>;
28
+ }
29
+
30
+ export const bortleVisualizer: AstronomyToolEntry<BortleVisualizerUI> = {
31
+ id: 'bortle-visualizer',
32
+ icons: {
33
+ bg: 'mdi:weather-night',
34
+ fg: 'mdi:telescope',
35
+ },
36
+ i18n: {
37
+ de: () => import('./i18n/de').then((m) => m.content),
38
+ en: () => import('./i18n/en').then((m) => m.content),
39
+ es: () => import('./i18n/es').then((m) => m.content),
40
+ fr: () => import('./i18n/fr').then((m) => m.content),
41
+ id: () => import('./i18n/id').then((m) => m.content),
42
+ it: () => import('./i18n/it').then((m) => m.content),
43
+ ja: () => import('./i18n/ja').then((m) => m.content),
44
+ ko: () => import('./i18n/ko').then((m) => m.content),
45
+ nl: () => import('./i18n/nl').then((m) => m.content),
46
+ pl: () => import('./i18n/pl').then((m) => m.content),
47
+ pt: () => import('./i18n/pt').then((m) => m.content),
48
+ ru: () => import('./i18n/ru').then((m) => m.content),
49
+ sv: () => import('./i18n/sv').then((m) => m.content),
50
+ tr: () => import('./i18n/tr').then((m) => m.content),
51
+ zh: () => import('./i18n/zh').then((m) => m.content),
52
+ },
53
+ };
@@ -1,65 +1,8 @@
1
- import type { AstronomyToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
- import BortleVisualizerComponent from './component.astro';
3
- import BortleVisualizerSEO from './seo.astro';
4
- import BortleVisualizerBibliography from './bibliography.astro';
5
-
6
- export interface BortleVisualizerUI {
7
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
- [key: string]: any;
9
- toolTitle: string;
10
- sliderLabel: string;
11
- classLabel: string;
12
- nelmLabel: string;
13
- sqmLabel: string;
14
- classPrefix: string;
15
- bortleData: Record<number, BortleLevel>;
16
- }
17
-
18
- export interface BortleLevel {
19
- title: string;
20
- description: string;
21
- nelm: number;
22
- sqm: string;
23
- starsVisible: boolean;
24
- milkyWayVisible: boolean;
25
- cloudsLit: boolean;
26
- skyBrightness: number;
27
- }
28
-
29
- export interface BortleVisualizerLocaleContent extends ToolLocaleContent<BortleVisualizerUI> {
30
- bortleData: Record<number, BortleLevel>;
31
- }
32
-
33
- export const bortleVisualizer: AstronomyToolEntry<BortleVisualizerUI> = {
34
- id: 'bortle-visualizer',
35
- icons: {
36
- bg: 'mdi:weather-night',
37
- fg: 'mdi:telescope',
38
- },
39
- i18n: {
40
- de: () => import('./i18n/de').then((m) => m.content),
41
- en: () => import('./i18n/en').then((m) => m.content),
42
- es: () => import('./i18n/es').then((m) => m.content),
43
- fr: () => import('./i18n/fr').then((m) => m.content),
44
- id: () => import('./i18n/id').then((m) => m.content),
45
- it: () => import('./i18n/it').then((m) => m.content),
46
- ja: () => import('./i18n/ja').then((m) => m.content),
47
- ko: () => import('./i18n/ko').then((m) => m.content),
48
- nl: () => import('./i18n/nl').then((m) => m.content),
49
- pl: () => import('./i18n/pl').then((m) => m.content),
50
- pt: () => import('./i18n/pt').then((m) => m.content),
51
- ru: () => import('./i18n/ru').then((m) => m.content),
52
- sv: () => import('./i18n/sv').then((m) => m.content),
53
- tr: () => import('./i18n/tr').then((m) => m.content),
54
- zh: () => import('./i18n/zh').then((m) => m.content),
55
- },
56
- };
57
-
58
- export { BortleVisualizerComponent, BortleVisualizerSEO, BortleVisualizerBibliography };
59
-
1
+ import { bortleVisualizer } from './entry';
2
+ export * from './entry';
60
3
  export const BORTLE_VISUALIZER_TOOL: ToolDefinition = {
61
4
  entry: bortleVisualizer,
62
- Component: BortleVisualizerComponent,
63
- SEOComponent: BortleVisualizerSEO,
64
- BibliographyComponent: BortleVisualizerBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
65
8
  };
@@ -0,0 +1,60 @@
1
+ import type { AstronomyToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ export interface DeepSpaceObject {
4
+ name: string;
5
+ type: string;
6
+ mag: number;
7
+ az: number;
8
+ alt: number;
9
+ color: string;
10
+ icon: string;
11
+ }
12
+
13
+ export interface DeepSpaceScopeUI {
14
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
+ [key: string]: any;
16
+ toolTitle: string;
17
+ apertureLabel: string;
18
+ bortleLabel: string;
19
+ limitMagLabel: string;
20
+ azimuthLabel: string;
21
+ dragHint: string;
22
+ dragHintMobile: string;
23
+ planetLabel: string;
24
+ starLabel: string;
25
+ deepSpaceLabel: string;
26
+ magnitudeLabel: string;
27
+ coordinatesLabel: string;
28
+ closeLabel: string;
29
+ altitudeLabel: string;
30
+ defaultObjDesc: string;
31
+ bortleClassPrefix: string;
32
+ deepSpaceObjects: DeepSpaceObject[];
33
+ }
34
+
35
+ export type DeepSpaceScopeLocaleContent = ToolLocaleContent<DeepSpaceScopeUI>;
36
+
37
+ export const deepSpaceScope: AstronomyToolEntry<DeepSpaceScopeUI> = {
38
+ id: 'deep-space-scope',
39
+ icons: {
40
+ bg: 'mdi:telescope',
41
+ fg: 'mdi:eye',
42
+ },
43
+ i18n: {
44
+ de: () => import('./i18n/de').then((m) => m.content),
45
+ en: () => import('./i18n/en').then((m) => m.content),
46
+ es: () => import('./i18n/es').then((m) => m.content),
47
+ fr: () => import('./i18n/fr').then((m) => m.content),
48
+ id: () => import('./i18n/id').then((m) => m.content),
49
+ it: () => import('./i18n/it').then((m) => m.content),
50
+ ja: () => import('./i18n/ja').then((m) => m.content),
51
+ ko: () => import('./i18n/ko').then((m) => m.content),
52
+ nl: () => import('./i18n/nl').then((m) => m.content),
53
+ pl: () => import('./i18n/pl').then((m) => m.content),
54
+ pt: () => import('./i18n/pt').then((m) => m.content),
55
+ ru: () => import('./i18n/ru').then((m) => m.content),
56
+ sv: () => import('./i18n/sv').then((m) => m.content),
57
+ tr: () => import('./i18n/tr').then((m) => m.content),
58
+ zh: () => import('./i18n/zh').then((m) => m.content),
59
+ },
60
+ };
@@ -1,72 +1,8 @@
1
- import type { AstronomyToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
- import DeepSpaceScopeComponent from './component.astro';
3
- import DeepSpaceScopeSEO from './seo.astro';
4
- import DeepSpaceScopeBibliography from './bibliography.astro';
5
-
6
- export interface DeepSpaceObject {
7
- name: string;
8
- type: string;
9
- mag: number;
10
- az: number;
11
- alt: number;
12
- color: string;
13
- icon: string;
14
- }
15
-
16
- export interface DeepSpaceScopeUI {
17
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
- [key: string]: any;
19
- toolTitle: string;
20
- apertureLabel: string;
21
- bortleLabel: string;
22
- limitMagLabel: string;
23
- azimuthLabel: string;
24
- dragHint: string;
25
- dragHintMobile: string;
26
- planetLabel: string;
27
- starLabel: string;
28
- deepSpaceLabel: string;
29
- magnitudeLabel: string;
30
- coordinatesLabel: string;
31
- closeLabel: string;
32
- altitudeLabel: string;
33
- defaultObjDesc: string;
34
- bortleClassPrefix: string;
35
- deepSpaceObjects: DeepSpaceObject[];
36
- }
37
-
38
- export type DeepSpaceScopeLocaleContent = ToolLocaleContent<DeepSpaceScopeUI>;
39
-
40
- export const deepSpaceScope: AstronomyToolEntry<DeepSpaceScopeUI> = {
41
- id: 'deep-space-scope',
42
- icons: {
43
- bg: 'mdi:telescope',
44
- fg: 'mdi:eye',
45
- },
46
- i18n: {
47
- de: () => import('./i18n/de').then((m) => m.content),
48
- en: () => import('./i18n/en').then((m) => m.content),
49
- es: () => import('./i18n/es').then((m) => m.content),
50
- fr: () => import('./i18n/fr').then((m) => m.content),
51
- id: () => import('./i18n/id').then((m) => m.content),
52
- it: () => import('./i18n/it').then((m) => m.content),
53
- ja: () => import('./i18n/ja').then((m) => m.content),
54
- ko: () => import('./i18n/ko').then((m) => m.content),
55
- nl: () => import('./i18n/nl').then((m) => m.content),
56
- pl: () => import('./i18n/pl').then((m) => m.content),
57
- pt: () => import('./i18n/pt').then((m) => m.content),
58
- ru: () => import('./i18n/ru').then((m) => m.content),
59
- sv: () => import('./i18n/sv').then((m) => m.content),
60
- tr: () => import('./i18n/tr').then((m) => m.content),
61
- zh: () => import('./i18n/zh').then((m) => m.content),
62
- },
63
- };
64
-
65
- export { DeepSpaceScopeComponent, DeepSpaceScopeSEO, DeepSpaceScopeBibliography };
66
-
1
+ import { deepSpaceScope } from './entry';
2
+ export * from './entry';
67
3
  export const DEEP_SPACE_SCOPE_TOOL: ToolDefinition = {
68
4
  entry: deepSpaceScope,
69
- Component: DeepSpaceScopeComponent,
70
- SEOComponent: DeepSpaceScopeSEO,
71
- BibliographyComponent: DeepSpaceScopeBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
72
8
  };
@@ -0,0 +1,49 @@
1
+ import type { AstronomyToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ export interface StarExposureCalculatorUI {
4
+ [key: string]: string;
5
+ toolTitle: string;
6
+ modeLabel: string;
7
+ classicMode: string;
8
+ npfMode: string;
9
+ sensorLabel: string;
10
+ focalLabel: string;
11
+ apertureLabel: string;
12
+ megapixelsLabel: string;
13
+ declinationLabel: string;
14
+ equatorLabel: string;
15
+ poleLabel: string;
16
+ secondsUnit: string;
17
+ resultText: string;
18
+ simLabel: string;
19
+ simRangeLabel: string;
20
+ pointStars: string;
21
+ trailStars: string;
22
+ }
23
+
24
+ export type StarExposureCalculatorLocaleContent = ToolLocaleContent<StarExposureCalculatorUI>;
25
+
26
+ export const starExposureCalculator: AstronomyToolEntry<StarExposureCalculatorUI> = {
27
+ id: 'star-exposure-calculator',
28
+ icons: {
29
+ bg: 'mdi:star-shooting',
30
+ fg: 'mdi:timer-sand',
31
+ },
32
+ i18n: {
33
+ de: () => import('./i18n/de').then((m) => m.content),
34
+ en: () => import('./i18n/en').then((m) => m.content),
35
+ es: () => import('./i18n/es').then((m) => m.content),
36
+ fr: () => import('./i18n/fr').then((m) => m.content),
37
+ id: () => import('./i18n/id').then((m) => m.content),
38
+ it: () => import('./i18n/it').then((m) => m.content),
39
+ ja: () => import('./i18n/ja').then((m) => m.content),
40
+ ko: () => import('./i18n/ko').then((m) => m.content),
41
+ nl: () => import('./i18n/nl').then((m) => m.content),
42
+ pl: () => import('./i18n/pl').then((m) => m.content),
43
+ pt: () => import('./i18n/pt').then((m) => m.content),
44
+ ru: () => import('./i18n/ru').then((m) => m.content),
45
+ sv: () => import('./i18n/sv').then((m) => m.content),
46
+ tr: () => import('./i18n/tr').then((m) => m.content),
47
+ zh: () => import('./i18n/zh').then((m) => m.content),
48
+ },
49
+ };
@@ -1,61 +1,8 @@
1
- import type { AstronomyToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
- import StarExposureCalculatorComponent from './component.astro';
3
- import StarExposureCalculatorSEO from './seo.astro';
4
- import StarExposureCalculatorBibliography from './bibliography.astro';
5
-
6
- export interface StarExposureCalculatorUI {
7
- [key: string]: string;
8
- toolTitle: string;
9
- modeLabel: string;
10
- classicMode: string;
11
- npfMode: string;
12
- sensorLabel: string;
13
- focalLabel: string;
14
- apertureLabel: string;
15
- megapixelsLabel: string;
16
- declinationLabel: string;
17
- equatorLabel: string;
18
- poleLabel: string;
19
- secondsUnit: string;
20
- resultText: string;
21
- simLabel: string;
22
- simRangeLabel: string;
23
- pointStars: string;
24
- trailStars: string;
25
- }
26
-
27
- export type StarExposureCalculatorLocaleContent = ToolLocaleContent<StarExposureCalculatorUI>;
28
-
29
- export const starExposureCalculator: AstronomyToolEntry<StarExposureCalculatorUI> = {
30
- id: 'star-exposure-calculator',
31
- icons: {
32
- bg: 'mdi:star-shooting',
33
- fg: 'mdi:timer-sand',
34
- },
35
- i18n: {
36
- de: () => import('./i18n/de').then((m) => m.content),
37
- en: () => import('./i18n/en').then((m) => m.content),
38
- es: () => import('./i18n/es').then((m) => m.content),
39
- fr: () => import('./i18n/fr').then((m) => m.content),
40
- id: () => import('./i18n/id').then((m) => m.content),
41
- it: () => import('./i18n/it').then((m) => m.content),
42
- ja: () => import('./i18n/ja').then((m) => m.content),
43
- ko: () => import('./i18n/ko').then((m) => m.content),
44
- nl: () => import('./i18n/nl').then((m) => m.content),
45
- pl: () => import('./i18n/pl').then((m) => m.content),
46
- pt: () => import('./i18n/pt').then((m) => m.content),
47
- ru: () => import('./i18n/ru').then((m) => m.content),
48
- sv: () => import('./i18n/sv').then((m) => m.content),
49
- tr: () => import('./i18n/tr').then((m) => m.content),
50
- zh: () => import('./i18n/zh').then((m) => m.content),
51
- },
52
- };
53
-
54
- export { StarExposureCalculatorComponent, StarExposureCalculatorSEO, StarExposureCalculatorBibliography };
55
-
1
+ import { starExposureCalculator } from './entry';
2
+ export * from './entry';
56
3
  export const STAR_EXPOSURE_CALCULATOR_TOOL: ToolDefinition = {
57
4
  entry: starExposureCalculator,
58
- Component: StarExposureCalculatorComponent,
59
- SEOComponent: StarExposureCalculatorSEO,
60
- BibliographyComponent: StarExposureCalculatorBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
61
8
  };
@@ -0,0 +1,49 @@
1
+ import type { AstronomyToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ export interface TelescopeResolutionUI {
4
+ [key: string]: string | Array<{ value: string; label: string }>;
5
+ toolTitle: string;
6
+ apertureLabel: string;
7
+ unitLabel: string;
8
+ mmUnit: string;
9
+ inUnit: string;
10
+ presetsLabel: string;
11
+ presetsPlaceholder: string;
12
+ seeingLabel: string;
13
+ dawesLabel: string;
14
+ arcsecUnit: string;
15
+ rayleighLabel: string;
16
+ maxMagLabel: string;
17
+ seeingAlertPrefix: string;
18
+ seeingAlertSuffix: string;
19
+ simLabel: string;
20
+ simExplanation: string;
21
+ presets: Array<{ value: string; label: string }>;
22
+ }
23
+
24
+ export type TelescopeResolutionLocaleContent = ToolLocaleContent<TelescopeResolutionUI>;
25
+
26
+ export const telescopeResolution: AstronomyToolEntry<TelescopeResolutionUI> = {
27
+ id: 'telescope-resolution',
28
+ icons: {
29
+ bg: 'mdi:telescope',
30
+ fg: 'mdi:flare',
31
+ },
32
+ i18n: {
33
+ de: () => import('./i18n/de').then((m) => m.content),
34
+ en: () => import('./i18n/en').then((m) => m.content),
35
+ es: () => import('./i18n/es').then((m) => m.content),
36
+ fr: () => import('./i18n/fr').then((m) => m.content),
37
+ id: () => import('./i18n/id').then((m) => m.content),
38
+ it: () => import('./i18n/it').then((m) => m.content),
39
+ ja: () => import('./i18n/ja').then((m) => m.content),
40
+ ko: () => import('./i18n/ko').then((m) => m.content),
41
+ nl: () => import('./i18n/nl').then((m) => m.content),
42
+ pl: () => import('./i18n/pl').then((m) => m.content),
43
+ pt: () => import('./i18n/pt').then((m) => m.content),
44
+ ru: () => import('./i18n/ru').then((m) => m.content),
45
+ sv: () => import('./i18n/sv').then((m) => m.content),
46
+ tr: () => import('./i18n/tr').then((m) => m.content),
47
+ zh: () => import('./i18n/zh').then((m) => m.content),
48
+ },
49
+ };
@@ -1,61 +1,8 @@
1
- import type { AstronomyToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
- import TelescopeResolutionComponent from './component.astro';
3
- import TelescopeResolutionSEO from './seo.astro';
4
- import TelescopeResolutionBibliography from './bibliography.astro';
5
-
6
- export interface TelescopeResolutionUI {
7
- [key: string]: string | Array<{ value: string; label: string }>;
8
- toolTitle: string;
9
- apertureLabel: string;
10
- unitLabel: string;
11
- mmUnit: string;
12
- inUnit: string;
13
- presetsLabel: string;
14
- presetsPlaceholder: string;
15
- seeingLabel: string;
16
- dawesLabel: string;
17
- arcsecUnit: string;
18
- rayleighLabel: string;
19
- maxMagLabel: string;
20
- seeingAlertPrefix: string;
21
- seeingAlertSuffix: string;
22
- simLabel: string;
23
- simExplanation: string;
24
- presets: Array<{ value: string; label: string }>;
25
- }
26
-
27
- export type TelescopeResolutionLocaleContent = ToolLocaleContent<TelescopeResolutionUI>;
28
-
29
- export const telescopeResolution: AstronomyToolEntry<TelescopeResolutionUI> = {
30
- id: 'telescope-resolution',
31
- icons: {
32
- bg: 'mdi:telescope',
33
- fg: 'mdi:flare',
34
- },
35
- i18n: {
36
- de: () => import('./i18n/de').then((m) => m.content),
37
- en: () => import('./i18n/en').then((m) => m.content),
38
- es: () => import('./i18n/es').then((m) => m.content),
39
- fr: () => import('./i18n/fr').then((m) => m.content),
40
- id: () => import('./i18n/id').then((m) => m.content),
41
- it: () => import('./i18n/it').then((m) => m.content),
42
- ja: () => import('./i18n/ja').then((m) => m.content),
43
- ko: () => import('./i18n/ko').then((m) => m.content),
44
- nl: () => import('./i18n/nl').then((m) => m.content),
45
- pl: () => import('./i18n/pl').then((m) => m.content),
46
- pt: () => import('./i18n/pt').then((m) => m.content),
47
- ru: () => import('./i18n/ru').then((m) => m.content),
48
- sv: () => import('./i18n/sv').then((m) => m.content),
49
- tr: () => import('./i18n/tr').then((m) => m.content),
50
- zh: () => import('./i18n/zh').then((m) => m.content),
51
- },
52
- };
53
-
54
- export { TelescopeResolutionComponent, TelescopeResolutionSEO, TelescopeResolutionBibliography };
55
-
1
+ import { telescopeResolution } from './entry';
2
+ export * from './entry';
56
3
  export const TELESCOPE_RESOLUTION_TOOL: ToolDefinition = {
57
4
  entry: telescopeResolution,
58
- Component: TelescopeResolutionComponent,
59
- SEOComponent: TelescopeResolutionSEO,
60
- BibliographyComponent: TelescopeResolutionBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
61
8
  };
package/src/tools.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { ALL_ENTRIES } from './entries';
1
2
  import { BORTLE_VISUALIZER_TOOL } from './tool/bortleVisualizer';
2
3
  import { DEEP_SPACE_SCOPE_TOOL } from './tool/deepSpaceScope';
3
4
  import { STAR_EXPOSURE_CALCULATOR_TOOL } from './tool/starExposureCalculator';
@@ -18,4 +19,3 @@ export {
18
19
  TELESCOPE_RESOLUTION_TOOL,
19
20
  };
20
21
 
21
- export const ALL_ENTRIES = ALL_TOOLS.map(t => t.entry);