lightnet 3.10.4 → 3.10.5

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.
Files changed (36) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/__e2e__/admin.spec.ts +71 -12
  3. package/__e2e__/fixtures/basics/node_modules/.bin/astro +2 -2
  4. package/__e2e__/fixtures/basics/package.json +2 -2
  5. package/package.json +4 -5
  6. package/src/admin/components/form/DynamicArray.tsx +74 -0
  7. package/src/admin/components/form/Input.tsx +5 -5
  8. package/src/admin/components/form/Select.tsx +8 -10
  9. package/src/admin/components/form/SubmitButton.tsx +9 -12
  10. package/src/admin/components/form/atoms/ErrorMessage.tsx +7 -28
  11. package/src/admin/components/form/atoms/Hint.tsx +2 -2
  12. package/src/admin/components/form/atoms/Label.tsx +5 -1
  13. package/src/admin/components/form/atoms/Legend.tsx +12 -2
  14. package/src/admin/components/form/hooks/use-field-error.tsx +3 -11
  15. package/src/admin/i18n/translations/en.yml +15 -5
  16. package/src/admin/pages/media/EditForm.tsx +20 -4
  17. package/src/admin/pages/media/EditRoute.astro +28 -9
  18. package/src/admin/pages/media/fields/Authors.tsx +35 -50
  19. package/src/admin/pages/media/fields/Categories.tsx +64 -0
  20. package/src/admin/pages/media/fields/Collections.tsx +103 -0
  21. package/src/admin/pages/media/media-item-store.ts +6 -1
  22. package/src/admin/types/media-item.ts +34 -2
  23. package/src/components/CategoriesSection.astro +2 -2
  24. package/src/components/MediaGallerySection.astro +3 -3
  25. package/src/components/MediaList.astro +2 -2
  26. package/src/content/get-categories.ts +18 -3
  27. package/src/i18n/resolve-language.ts +1 -1
  28. package/src/layouts/Page.astro +3 -2
  29. package/src/layouts/components/LanguagePicker.astro +1 -1
  30. package/src/pages/details-page/components/more-details/Languages.astro +2 -2
  31. package/src/pages/search-page/components/SearchFilter.astro +7 -7
  32. package/src/pages/search-page/components/SearchFilter.tsx +4 -4
  33. package/src/pages/search-page/components/SearchList.astro +4 -4
  34. package/src/pages/search-page/components/SearchListItem.tsx +4 -4
  35. package/src/pages/search-page/components/Select.tsx +3 -3
  36. package/src/pages/search-page/hooks/use-search.ts +4 -4
@@ -5,13 +5,13 @@ import { detailsPagePath } from "../../../utils/paths"
5
5
  import type { SearchItem } from "../api/search-response"
6
6
 
7
7
  export type MediaType = {
8
- name: string
8
+ labelText: string
9
9
  icon: string
10
10
  coverImageStyle: "default" | "book" | "video"
11
11
  }
12
12
 
13
13
  export type TranslatedLanguage = {
14
- name: string
14
+ labelText: string
15
15
  direction: "rtl" | "ltr"
16
16
  }
17
17
 
@@ -58,7 +58,7 @@ export default function SearchListItem({
58
58
  <h2 className="mb-1 line-clamp-2 text-balance text-sm font-bold text-gray-700 md:mb-3 md:text-base">
59
59
  <Icon
60
60
  className={`${mediaTypes[item.type].icon} me-2 align-bottom text-2xl text-gray-700`}
61
- ariaLabel={mediaTypes[item.type].name}
61
+ ariaLabel={mediaTypes[item.type].labelText}
62
62
  />
63
63
  <span>{item.title}</span>
64
64
  </h2>
@@ -70,7 +70,7 @@ export default function SearchListItem({
70
70
  )}
71
71
  {showLanguage && (
72
72
  <span className="rounded-lg border border-gray-300 px-2 py-1 text-gray-500">
73
- {languages[item.language].name}
73
+ {languages[item.language].labelText}
74
74
  </span>
75
75
  )}
76
76
  <ul
@@ -2,7 +2,7 @@ type Props = {
2
2
  label: string
3
3
  initialValue: string | undefined
4
4
  valueChange: (value: string) => void
5
- options: { id: string; name: string }[]
5
+ options: { id: string; labelText: string }[]
6
6
  }
7
7
 
8
8
  export default function Select({
@@ -21,9 +21,9 @@ export default function Select({
21
21
  value={initialValue}
22
22
  onChange={(e) => valueChange(e.currentTarget.value)}
23
23
  >
24
- {options.map(({ id, name }) => (
24
+ {options.map(({ id, labelText }) => (
25
25
  <option key={id} value={id}>
26
- {name}
26
+ {labelText}
27
27
  </option>
28
28
  ))}
29
29
  </select>
@@ -6,8 +6,8 @@ import { observeSearchQuery, type SearchQuery } from "../utils/search-query"
6
6
 
7
7
  interface Context {
8
8
  categories: Record<string, string>
9
- mediaTypes: Record<string, { name: string }>
10
- languages: Record<string, { name: string }>
9
+ mediaTypes: Record<string, { labelText: string }>
10
+ languages: Record<string, { labelText: string }>
11
11
  }
12
12
 
13
13
  export function useSearch({ categories, mediaTypes, languages }: Context) {
@@ -39,8 +39,8 @@ export function useSearch({ categories, mediaTypes, languages }: Context) {
39
39
  const translatedCategories =
40
40
  item.categories &&
41
41
  item.categories.map((categoryId) => categories[categoryId])
42
- const translatedType = mediaTypes[item.type].name
43
- const translatedLanguage = languages[item.language].name
42
+ const translatedType = mediaTypes[item.type].labelText
43
+ const translatedLanguage = languages[item.language].labelText
44
44
 
45
45
  return {
46
46
  ...item,