@antelopejs/dms 0.9.3 → 0.9.4

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/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.9.4
4
+
5
+ [compare changes](https://github.com/AntelopeJS/dms/compare/v0.9.3...v0.9.4)
6
+
7
+ ### 🩹 Fixes
8
+
9
+ - **docs:** Use a sandbox-compatible temporary build database ([#326](https://github.com/AntelopeJS/dms/pull/326))
10
+ - Install DMS frontend with the root workspace ([#322](https://github.com/AntelopeJS/dms/pull/322))
11
+ - **modules:** Top-align card content and place readouts below descriptions ([#328](https://github.com/AntelopeJS/dms/pull/328))
12
+ - **modules:** Reuse registered names in the store ([#330](https://github.com/AntelopeJS/dms/pull/330))
13
+
14
+ ### 📖 Documentation
15
+
16
+ - Create the DMS demo through the CLI in quickstart ([#327](https://github.com/AntelopeJS/dms/pull/327))
17
+
18
+ ### 🏡 Chore
19
+
20
+ - **docs:** Capture temporary MongoDB startup diagnostics ([#325](https://github.com/AntelopeJS/dms/pull/325))
21
+
22
+ ### ❤️ Contributors
23
+
24
+ - Antony Rizzitelli <rizzitelli.antony@pm.me>
25
+
3
26
  ## v0.9.3
4
27
 
5
28
  [compare changes](https://github.com/AntelopeJS/dms/compare/v0.9.2...v0.9.3)
@@ -6,8 +6,8 @@ import type { StatusPillDot } from "#dms-ui/app/components/status-pill/StatusPil
6
6
 
7
7
  // v2 .mc-tile, the frame of the Modules page's tiles: an installed module's
8
8
  // card (a link into it) or a store module's dashed placeholder. Both read
9
- // the same: icon and status, the name low in the tile, its description, a
10
- // mono footer band.
9
+ // the same: icon and status, name and description, optional content, and a
10
+ // bottom-aligned mono footer band.
11
11
 
12
12
  /** The status pill of the tile's head. */
13
13
  export interface ModuleTileStatus {
@@ -31,7 +31,7 @@ interface ModuleTileProps {
31
31
  }
32
32
 
33
33
  interface ModuleTileSlots {
34
- /** Above the name (a live readout). */
34
+ /** Under the description (a live readout). */
35
35
  readout?: () => unknown;
36
36
  /** Under the description (an install command). */
37
37
  default?: () => unknown;
@@ -49,7 +49,7 @@ const theme = tv({
49
49
  slots: {
50
50
  root: "flex min-h-[228px] flex-col gap-3 overflow-hidden px-4 pt-4",
51
51
  footer:
52
- "text-dimmed -mx-4 mt-0.5 flex items-center gap-2 border-t border-(--ui-border-muted) ps-4 pe-3 font-mono text-[11px] font-medium",
52
+ "text-dimmed -mx-4 mt-auto flex items-center gap-2 border-t border-(--ui-border-muted) ps-4 pe-3 font-mono text-[11px] font-medium",
53
53
  },
54
54
  variants: {
55
55
  isPlaceholder: {
@@ -99,10 +99,8 @@ const ui = computed(() =>
99
99
  />
100
100
  </div>
101
101
 
102
- <slot name="readout" />
103
-
104
102
  <div
105
- class="text-highlighted mt-auto truncate text-lg font-[650] tracking-[-0.02em]"
103
+ class="text-highlighted truncate text-lg font-[650] tracking-[-0.02em]"
106
104
  >
107
105
  {{ props.title }}
108
106
  </div>
@@ -110,6 +108,8 @@ const ui = computed(() =>
110
108
  {{ props.description }}
111
109
  </p>
112
110
 
111
+ <slot name="readout" />
112
+
113
113
  <slot />
114
114
 
115
115
  <div :class="ui.footer()">
@@ -1,5 +1,6 @@
1
1
  import type { Tone } from "#dms-ui/app/types/tone";
2
2
  import type { StatusPillDot } from "#dms-ui/app/components/status-pill/StatusPill.vue";
3
+ import type { ModuleCatalogEntry } from "../../types/page";
3
4
  import type {
4
5
  StoreListingEntry,
5
6
  StoreModuleState,
@@ -84,9 +85,17 @@ const INSTALLED_STATES = new Set<StoreModuleState>([
84
85
  "pending",
85
86
  ]);
86
87
 
87
- export function toModuleStoreEntry(entry: StoreListingEntry): ModuleStoreEntry {
88
+ export function toModuleStoreEntry(
89
+ entry: StoreListingEntry,
90
+ registeredModules: readonly Pick<ModuleCatalogEntry, "id" | "title">[] = [],
91
+ ): ModuleStoreEntry {
88
92
  return {
89
93
  ...entry,
94
+ // The registration also names Installed and navigation. Keep the catalog
95
+ // fallback for unloaded modules, whose translations may not be served.
96
+ title:
97
+ registeredModules.find((module) => module.id === entry.id)?.title ??
98
+ entry.title,
90
99
  catalogCategory: `${CATEGORY_PREFIX}.${entry.category}`,
91
100
  };
92
101
  }
@@ -236,7 +236,9 @@ const isStoreLoading = computed(
236
236
  );
237
237
  const storeModules = computed(() =>
238
238
  sortStoreModules(
239
- (storeListing.value?.modules ?? []).map(toModuleStoreEntry),
239
+ (storeListing.value?.modules ?? []).map((entry) =>
240
+ toModuleStoreEntry(entry, modulesListing.modules.value ?? []),
241
+ ),
240
242
  processI18n,
241
243
  ),
242
244
  );
@@ -836,7 +836,7 @@
836
836
  },
837
837
  "catalog": {
838
838
  "ai": {
839
- "title": "AI assistant",
839
+ "title": "Assistant",
840
840
  "description": "A coding agent that inspects your modules and edits the project, for development."
841
841
  },
842
842
  "api": {
@@ -840,7 +840,7 @@
840
840
  },
841
841
  "catalog": {
842
842
  "ai": {
843
- "title": "Assistant IA",
843
+ "title": "Assistant",
844
844
  "description": "Un agent de code qui inspecte vos modules et modifie le projet, pour le développement."
845
845
  },
846
846
  "api": {
@@ -876,7 +876,7 @@
876
876
  "description": "Analytique de trafic sans cookie, entonnoirs de conversion avec tests A/B et cartes de clics."
877
877
  },
878
878
  "media": {
879
- "title": "Médias",
879
+ "title": "Médiathèque",
880
880
  "description": "Médiathèque avec dossiers, permissions par dossier et déclinaisons d’images."
881
881
  },
882
882
  "saas": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antelopejs/dms",
3
- "version": "0.9.3",
3
+ "version": "0.9.4",
4
4
  "description": "The AntelopeJS dashboard management system: admin dashboards declared in TypeScript, with auth and tenancy, data management, file uploads, notifications and realtime.",
5
5
  "keywords": [
6
6
  "antelopejs",