@la-main-verte/shared-types 1.0.69 → 1.0.71
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 +1 -1
- package/src/alert.d.ts +124 -124
- package/src/apiError.d.ts +28 -28
- package/src/calendarView.d.ts +9 -9
- package/src/device.d.ts +52 -52
- package/src/fertilizer.d.ts +56 -56
- package/src/gardenMap.d.ts +143 -143
- package/src/gardenOverview.d.ts +79 -79
- package/src/gardenZoneBlueprint.api.d.ts +7 -0
- package/src/home.api.d.ts +5 -0
- package/src/image.d.ts +10 -10
- package/src/index.ts +30 -30
- package/src/member.d.ts +6 -1
- package/src/note.d.ts +30 -30
- package/src/pages.api.d.ts +36 -36
- package/src/plant.d.ts +5 -0
- package/src/plantFilters.d.ts +40 -40
- package/src/plantSelection.d.ts +13 -13
- package/src/plants.api.d.ts +92 -92
- package/src/rotationGroup.d.ts +3 -3
- package/src/selection.d.ts +58 -58
- package/src/sessions.api.d.ts +134 -134
- package/src/taggedItem.d.ts +12 -12
- package/src/task.d.ts +40 -40
- package/src/users.api.d.ts +122 -106
- package/src/utmParams.d.ts +134 -134
package/src/pages.api.d.ts
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import type { PlantI } from './plant'
|
|
2
|
-
|
|
3
|
-
export namespace PAGES {
|
|
4
|
-
export interface SeedingTagI {
|
|
5
|
-
label: string
|
|
6
|
-
variant: string
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export interface StartDateBadgeI {
|
|
10
|
-
day: string
|
|
11
|
-
month: string
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export interface SeedingInfoI {
|
|
15
|
-
tags: SeedingTagI[]
|
|
16
|
-
startDateBadge: StartDateBadgeI | null
|
|
17
|
-
description: string | null
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export interface SeedableFamiliesByMonthResponse {
|
|
21
|
-
title?: string | null
|
|
22
|
-
subtitle?: string | null
|
|
23
|
-
Plants: PlantI[]
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export interface MonthPreviewI {
|
|
27
|
-
month: number
|
|
28
|
-
label: string
|
|
29
|
-
previewPlants: Pick<PlantI, 'id' | 'name' | 'family' | 'slug' | 'imageURL'>[]
|
|
30
|
-
totalFamiliesCount: number
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export interface MonthsPreviewResponse {
|
|
34
|
-
months: MonthPreviewI[]
|
|
35
|
-
}
|
|
36
|
-
}
|
|
1
|
+
import type { PlantI } from './plant'
|
|
2
|
+
|
|
3
|
+
export namespace PAGES {
|
|
4
|
+
export interface SeedingTagI {
|
|
5
|
+
label: string
|
|
6
|
+
variant: string
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface StartDateBadgeI {
|
|
10
|
+
day: string
|
|
11
|
+
month: string
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface SeedingInfoI {
|
|
15
|
+
tags: SeedingTagI[]
|
|
16
|
+
startDateBadge: StartDateBadgeI | null
|
|
17
|
+
description: string | null
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface SeedableFamiliesByMonthResponse {
|
|
21
|
+
title?: string | null
|
|
22
|
+
subtitle?: string | null
|
|
23
|
+
Plants: PlantI[]
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface MonthPreviewI {
|
|
27
|
+
month: number
|
|
28
|
+
label: string
|
|
29
|
+
previewPlants: Pick<PlantI, 'id' | 'name' | 'family' | 'slug' | 'imageURL'>[]
|
|
30
|
+
totalFamiliesCount: number
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface MonthsPreviewResponse {
|
|
34
|
+
months: MonthPreviewI[]
|
|
35
|
+
}
|
|
36
|
+
}
|
package/src/plant.d.ts
CHANGED
|
@@ -80,6 +80,11 @@ export interface PlantI {
|
|
|
80
80
|
rotationFamily?: string
|
|
81
81
|
taxonFamily?: TaxonFamilyI
|
|
82
82
|
seedingInfo: SeedingInfoI
|
|
83
|
+
/**
|
|
84
|
+
* Contextual search text for recommended plants
|
|
85
|
+
* Provides additional context when suggesting plants for specific garden zones
|
|
86
|
+
*/
|
|
87
|
+
contextualSearchText?: string
|
|
83
88
|
}
|
|
84
89
|
|
|
85
90
|
interface PlantTagI {
|
package/src/plantFilters.d.ts
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
export interface PlantFiltersConfigI {
|
|
2
|
-
filters: PlantFilterI[]
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
export interface PlantFilterI {
|
|
6
|
-
key: string // Path in the JSONB (ex: "growth.type")
|
|
7
|
-
label: string // Label to display
|
|
8
|
-
type: 'select' | 'multiselect' | 'boolean' | 'range'
|
|
9
|
-
isMain?: boolean // If true, displayed as button filter; if false/undefined, in modal
|
|
10
|
-
options?: FilterOptionI[] // For select/multiselect
|
|
11
|
-
min?: number // For range
|
|
12
|
-
max?: number // For range
|
|
13
|
-
/** General help text for this filter attribute (always displayed) */
|
|
14
|
-
helpText?: string
|
|
15
|
-
/** Contextual help text based on member profile (displayed when relevant) */
|
|
16
|
-
contextualHelpText?: string
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export interface FilterOptionI {
|
|
20
|
-
value: string
|
|
21
|
-
label: string
|
|
22
|
-
/** General help text for this option (always displayed) */
|
|
23
|
-
helpText?: string
|
|
24
|
-
/** Contextual help text based on member profile (displayed when relevant) */
|
|
25
|
-
contextualHelpText?: string
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Member context used to generate contextual help texts
|
|
30
|
-
*/
|
|
31
|
-
export interface MemberFilterContextI {
|
|
32
|
-
/** Hardiness zone index (e.g., 30, 40, 50) - null if not available */
|
|
33
|
-
hardinessZoneIndex: number | null
|
|
34
|
-
/** Hardiness zone name (e.g., "4a", "5b") - null if not available */
|
|
35
|
-
hardinessZoneName: string | null
|
|
36
|
-
/** Whether the member has a greenhouse */
|
|
37
|
-
hasGreenhouse: boolean
|
|
38
|
-
/** Whether the member has a balcony */
|
|
39
|
-
hasBalcony: boolean
|
|
40
|
-
}
|
|
1
|
+
export interface PlantFiltersConfigI {
|
|
2
|
+
filters: PlantFilterI[]
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
export interface PlantFilterI {
|
|
6
|
+
key: string // Path in the JSONB (ex: "growth.type")
|
|
7
|
+
label: string // Label to display
|
|
8
|
+
type: 'select' | 'multiselect' | 'boolean' | 'range'
|
|
9
|
+
isMain?: boolean // If true, displayed as button filter; if false/undefined, in modal
|
|
10
|
+
options?: FilterOptionI[] // For select/multiselect
|
|
11
|
+
min?: number // For range
|
|
12
|
+
max?: number // For range
|
|
13
|
+
/** General help text for this filter attribute (always displayed) */
|
|
14
|
+
helpText?: string
|
|
15
|
+
/** Contextual help text based on member profile (displayed when relevant) */
|
|
16
|
+
contextualHelpText?: string
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface FilterOptionI {
|
|
20
|
+
value: string
|
|
21
|
+
label: string
|
|
22
|
+
/** General help text for this option (always displayed) */
|
|
23
|
+
helpText?: string
|
|
24
|
+
/** Contextual help text based on member profile (displayed when relevant) */
|
|
25
|
+
contextualHelpText?: string
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Member context used to generate contextual help texts
|
|
30
|
+
*/
|
|
31
|
+
export interface MemberFilterContextI {
|
|
32
|
+
/** Hardiness zone index (e.g., 30, 40, 50) - null if not available */
|
|
33
|
+
hardinessZoneIndex: number | null
|
|
34
|
+
/** Hardiness zone name (e.g., "4a", "5b") - null if not available */
|
|
35
|
+
hardinessZoneName: string | null
|
|
36
|
+
/** Whether the member has a greenhouse */
|
|
37
|
+
hasGreenhouse: boolean
|
|
38
|
+
/** Whether the member has a balcony */
|
|
39
|
+
hasBalcony: boolean
|
|
40
|
+
}
|
package/src/plantSelection.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { PlantI } from './plant.d.ts'
|
|
2
|
-
import { SelectionI } from './selection.d.ts'
|
|
3
|
-
|
|
4
|
-
export interface PlantSelectionI {
|
|
5
|
-
id: number
|
|
6
|
-
plantId: number
|
|
7
|
-
selectionId: number
|
|
8
|
-
seedQuantity: number
|
|
9
|
-
createdAt: Date
|
|
10
|
-
updatedAt: Date
|
|
11
|
-
Plant: PlantI
|
|
12
|
-
Selection: SelectionI
|
|
13
|
-
}
|
|
1
|
+
import { PlantI } from './plant.d.ts'
|
|
2
|
+
import { SelectionI } from './selection.d.ts'
|
|
3
|
+
|
|
4
|
+
export interface PlantSelectionI {
|
|
5
|
+
id: number
|
|
6
|
+
plantId: number
|
|
7
|
+
selectionId: number
|
|
8
|
+
seedQuantity: number
|
|
9
|
+
createdAt: Date
|
|
10
|
+
updatedAt: Date
|
|
11
|
+
Plant: PlantI
|
|
12
|
+
Selection: SelectionI
|
|
13
|
+
}
|
package/src/plants.api.d.ts
CHANGED
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
import { PlantI } from './plant.d'
|
|
2
|
-
import { SelectionI } from './selection.d'
|
|
3
|
-
import { ImageDataI } from './image.d'
|
|
4
|
-
|
|
5
|
-
interface PlantExtendedDataI extends PlantI {
|
|
6
|
-
/**
|
|
7
|
-
* Future plant images gallery for now using notes as a proxy
|
|
8
|
-
*/
|
|
9
|
-
Images: ImageDataI[]
|
|
10
|
-
/**
|
|
11
|
-
* Selections of the plant
|
|
12
|
-
*/
|
|
13
|
-
Selections: SelectionI[]
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export namespace PLANTS {
|
|
17
|
-
export namespace RECOMMENDATIONS {
|
|
18
|
-
/**
|
|
19
|
-
* Request parameters for plant recommendations
|
|
20
|
-
* @remarks identification by session token is optional
|
|
21
|
-
*/
|
|
22
|
-
export interface Request {
|
|
23
|
-
headers?: {
|
|
24
|
-
'x-session-token'?: string
|
|
25
|
-
}
|
|
26
|
-
query?: {
|
|
27
|
-
gardenZoneId?: string | number
|
|
28
|
-
selectionSlug?: string
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
export type RecommendedPlantI = PlantExtendedDataI & {
|
|
32
|
-
contextualSearchText?: string
|
|
33
|
-
}
|
|
34
|
-
export type Response = RecommendedPlantI[]
|
|
35
|
-
}
|
|
36
|
-
export namespace SEARCH {
|
|
37
|
-
/**
|
|
38
|
-
* Request parameters for plant recommendations
|
|
39
|
-
* @remarks identification by session token is optional
|
|
40
|
-
*/
|
|
41
|
-
export interface Request {
|
|
42
|
-
headers?: {
|
|
43
|
-
'x-session-token'?: string
|
|
44
|
-
}
|
|
45
|
-
query?: {
|
|
46
|
-
withAzoteNeedsKgPerHa?: boolean
|
|
47
|
-
withSpacing?: boolean
|
|
48
|
-
parentsOnly?: boolean
|
|
49
|
-
search?: string
|
|
50
|
-
family?: string
|
|
51
|
-
limit?: number
|
|
52
|
-
/**
|
|
53
|
-
* If submitted, it means we are searching for plants that can be planted in the given garden zone.
|
|
54
|
-
* It almost means:
|
|
55
|
-
* - withSpacing will be set to true automatically.
|
|
56
|
-
* - Plant.contextualSearchText may be added to the results to provided additional contextual information to the search results (and therefore the member)
|
|
57
|
-
*/
|
|
58
|
-
gardenZoneId?: string | number
|
|
59
|
-
/**
|
|
60
|
-
* Slug of the selection currently being edited. Used to contextualize rotation insights for search results.
|
|
61
|
-
*/
|
|
62
|
-
selectionSlug?: string
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Response containing search plants with their tags
|
|
67
|
-
*/
|
|
68
|
-
export type Response = PlantExtendedDataI[]
|
|
69
|
-
}
|
|
70
|
-
export namespace UPDATE {
|
|
71
|
-
export interface Request {
|
|
72
|
-
params: {
|
|
73
|
-
slug: string
|
|
74
|
-
}
|
|
75
|
-
body: {
|
|
76
|
-
name?: string
|
|
77
|
-
description?: string
|
|
78
|
-
shared?: boolean
|
|
79
|
-
spaceBetweenSeedMin?: number | null
|
|
80
|
-
spaceBetweenSeedMax?: number | null
|
|
81
|
-
spaceBetweenAlleyMin?: number | null
|
|
82
|
-
spaceBetweenAlleyMax?: number | null
|
|
83
|
-
weeksToMaturity?: number | null
|
|
84
|
-
indoorSeeding?: boolean
|
|
85
|
-
outdoorSeeding?: boolean
|
|
86
|
-
sunRequirements?: 'partialShade' | 'fullSun' | 'fullShade' | null
|
|
87
|
-
isHardy?: boolean | null
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
export type Response = PlantI
|
|
91
|
-
}
|
|
92
|
-
}
|
|
1
|
+
import { PlantI } from './plant.d'
|
|
2
|
+
import { SelectionI } from './selection.d'
|
|
3
|
+
import { ImageDataI } from './image.d'
|
|
4
|
+
|
|
5
|
+
interface PlantExtendedDataI extends PlantI {
|
|
6
|
+
/**
|
|
7
|
+
* Future plant images gallery for now using notes as a proxy
|
|
8
|
+
*/
|
|
9
|
+
Images: ImageDataI[]
|
|
10
|
+
/**
|
|
11
|
+
* Selections of the plant
|
|
12
|
+
*/
|
|
13
|
+
Selections: SelectionI[]
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export namespace PLANTS {
|
|
17
|
+
export namespace RECOMMENDATIONS {
|
|
18
|
+
/**
|
|
19
|
+
* Request parameters for plant recommendations
|
|
20
|
+
* @remarks identification by session token is optional
|
|
21
|
+
*/
|
|
22
|
+
export interface Request {
|
|
23
|
+
headers?: {
|
|
24
|
+
'x-session-token'?: string
|
|
25
|
+
}
|
|
26
|
+
query?: {
|
|
27
|
+
gardenZoneId?: string | number
|
|
28
|
+
selectionSlug?: string
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export type RecommendedPlantI = PlantExtendedDataI & {
|
|
32
|
+
contextualSearchText?: string
|
|
33
|
+
}
|
|
34
|
+
export type Response = RecommendedPlantI[]
|
|
35
|
+
}
|
|
36
|
+
export namespace SEARCH {
|
|
37
|
+
/**
|
|
38
|
+
* Request parameters for plant recommendations
|
|
39
|
+
* @remarks identification by session token is optional
|
|
40
|
+
*/
|
|
41
|
+
export interface Request {
|
|
42
|
+
headers?: {
|
|
43
|
+
'x-session-token'?: string
|
|
44
|
+
}
|
|
45
|
+
query?: {
|
|
46
|
+
withAzoteNeedsKgPerHa?: boolean
|
|
47
|
+
withSpacing?: boolean
|
|
48
|
+
parentsOnly?: boolean
|
|
49
|
+
search?: string
|
|
50
|
+
family?: string
|
|
51
|
+
limit?: number
|
|
52
|
+
/**
|
|
53
|
+
* If submitted, it means we are searching for plants that can be planted in the given garden zone.
|
|
54
|
+
* It almost means:
|
|
55
|
+
* - withSpacing will be set to true automatically.
|
|
56
|
+
* - Plant.contextualSearchText may be added to the results to provided additional contextual information to the search results (and therefore the member)
|
|
57
|
+
*/
|
|
58
|
+
gardenZoneId?: string | number
|
|
59
|
+
/**
|
|
60
|
+
* Slug of the selection currently being edited. Used to contextualize rotation insights for search results.
|
|
61
|
+
*/
|
|
62
|
+
selectionSlug?: string
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Response containing search plants with their tags
|
|
67
|
+
*/
|
|
68
|
+
export type Response = PlantExtendedDataI[]
|
|
69
|
+
}
|
|
70
|
+
export namespace UPDATE {
|
|
71
|
+
export interface Request {
|
|
72
|
+
params: {
|
|
73
|
+
slug: string
|
|
74
|
+
}
|
|
75
|
+
body: {
|
|
76
|
+
name?: string
|
|
77
|
+
description?: string
|
|
78
|
+
shared?: boolean
|
|
79
|
+
spaceBetweenSeedMin?: number | null
|
|
80
|
+
spaceBetweenSeedMax?: number | null
|
|
81
|
+
spaceBetweenAlleyMin?: number | null
|
|
82
|
+
spaceBetweenAlleyMax?: number | null
|
|
83
|
+
weeksToMaturity?: number | null
|
|
84
|
+
indoorSeeding?: boolean
|
|
85
|
+
outdoorSeeding?: boolean
|
|
86
|
+
sunRequirements?: 'partialShade' | 'fullSun' | 'fullShade' | null
|
|
87
|
+
isHardy?: boolean | null
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
export type Response = PlantI
|
|
91
|
+
}
|
|
92
|
+
}
|
package/src/rotationGroup.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export type RotationGroup = 'regenerative' | 'demanding' | 'moderately_demanding' | 'less_demanding'
|
|
2
|
-
|
|
3
|
-
export const ROTATION_GROUPS: RotationGroup[] = ['regenerative', 'demanding', 'moderately_demanding', 'less_demanding']
|
|
1
|
+
export type RotationGroup = 'regenerative' | 'demanding' | 'moderately_demanding' | 'less_demanding'
|
|
2
|
+
|
|
3
|
+
export const ROTATION_GROUPS: RotationGroup[] = ['regenerative', 'demanding', 'moderately_demanding', 'less_demanding']
|
package/src/selection.d.ts
CHANGED
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
import { PlantI } from './plant'
|
|
2
|
-
|
|
3
|
-
export interface SelectionI {
|
|
4
|
-
id: number
|
|
5
|
-
memberId: number
|
|
6
|
-
title: string
|
|
7
|
-
slug: string
|
|
8
|
-
description?: string
|
|
9
|
-
orderBy?: 'startDate' | 'name'
|
|
10
|
-
default?: boolean
|
|
11
|
-
viewsCount?: number
|
|
12
|
-
imageLocation?: string
|
|
13
|
-
imageURL?: string
|
|
14
|
-
/**
|
|
15
|
-
* Indicates if the selection is featured on the app (search, explore, etc).
|
|
16
|
-
**/
|
|
17
|
-
featured: boolean
|
|
18
|
-
/**
|
|
19
|
-
* Indicates if the selection is dynamically generated on the fly by the API.
|
|
20
|
-
* Ex: "What you can seed in March"
|
|
21
|
-
* INTERNAL USE ONLY
|
|
22
|
-
*/
|
|
23
|
-
isDynamic: boolean
|
|
24
|
-
/**
|
|
25
|
-
* Background color of the selection, for UI purposes.
|
|
26
|
-
*/
|
|
27
|
-
backgroundColor: string | null
|
|
28
|
-
/**
|
|
29
|
-
* Font color of the selection, for UI purposes.
|
|
30
|
-
*/
|
|
31
|
-
fontColor: string | null
|
|
32
|
-
/**
|
|
33
|
-
* Font awesome icon name of the selection, for UI purposes.
|
|
34
|
-
* -----------------------------------------
|
|
35
|
-
* Not all icons are available in the react-native-app. Must be explicitly declared first.
|
|
36
|
-
* Ex: 'fa-bag-seedling', 'fa-bug', etc.
|
|
37
|
-
*/
|
|
38
|
-
iconName: string | null
|
|
39
|
-
link?: string
|
|
40
|
-
sharingURL?: string
|
|
41
|
-
createdAt: Date
|
|
42
|
-
updatedAt: Date
|
|
43
|
-
Plants?: PlantI[]
|
|
44
|
-
yearOfCulture: number
|
|
45
|
-
GardenMap?: {
|
|
46
|
-
name: string
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Those are the different possible types for a selection.
|
|
52
|
-
*/
|
|
53
|
-
export type SelectionType = 'Serre' | 'Potager' | 'Recette' | 'Coup de coeur' | "Jardin d'intérieur" | 'Autres'
|
|
54
|
-
|
|
55
|
-
export interface SelectionTypeI {
|
|
56
|
-
name: SelectionType
|
|
57
|
-
iconName?: IconName
|
|
58
|
-
}
|
|
1
|
+
import { PlantI } from './plant'
|
|
2
|
+
|
|
3
|
+
export interface SelectionI {
|
|
4
|
+
id: number
|
|
5
|
+
memberId: number
|
|
6
|
+
title: string
|
|
7
|
+
slug: string
|
|
8
|
+
description?: string
|
|
9
|
+
orderBy?: 'startDate' | 'name'
|
|
10
|
+
default?: boolean
|
|
11
|
+
viewsCount?: number
|
|
12
|
+
imageLocation?: string
|
|
13
|
+
imageURL?: string
|
|
14
|
+
/**
|
|
15
|
+
* Indicates if the selection is featured on the app (search, explore, etc).
|
|
16
|
+
**/
|
|
17
|
+
featured: boolean
|
|
18
|
+
/**
|
|
19
|
+
* Indicates if the selection is dynamically generated on the fly by the API.
|
|
20
|
+
* Ex: "What you can seed in March"
|
|
21
|
+
* INTERNAL USE ONLY
|
|
22
|
+
*/
|
|
23
|
+
isDynamic: boolean
|
|
24
|
+
/**
|
|
25
|
+
* Background color of the selection, for UI purposes.
|
|
26
|
+
*/
|
|
27
|
+
backgroundColor: string | null
|
|
28
|
+
/**
|
|
29
|
+
* Font color of the selection, for UI purposes.
|
|
30
|
+
*/
|
|
31
|
+
fontColor: string | null
|
|
32
|
+
/**
|
|
33
|
+
* Font awesome icon name of the selection, for UI purposes.
|
|
34
|
+
* -----------------------------------------
|
|
35
|
+
* Not all icons are available in the react-native-app. Must be explicitly declared first.
|
|
36
|
+
* Ex: 'fa-bag-seedling', 'fa-bug', etc.
|
|
37
|
+
*/
|
|
38
|
+
iconName: string | null
|
|
39
|
+
link?: string
|
|
40
|
+
sharingURL?: string
|
|
41
|
+
createdAt: Date
|
|
42
|
+
updatedAt: Date
|
|
43
|
+
Plants?: PlantI[]
|
|
44
|
+
yearOfCulture: number
|
|
45
|
+
GardenMap?: {
|
|
46
|
+
name: string
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Those are the different possible types for a selection.
|
|
52
|
+
*/
|
|
53
|
+
export type SelectionType = 'Serre' | 'Potager' | 'Recette' | 'Coup de coeur' | "Jardin d'intérieur" | 'Autres'
|
|
54
|
+
|
|
55
|
+
export interface SelectionTypeI {
|
|
56
|
+
name: SelectionType
|
|
57
|
+
iconName?: IconName
|
|
58
|
+
}
|