4
4
SelectedFeature ,
5
5
SelectedLayer
6
6
} from "@reearth/beta/features/Editor/hooks/useLayers" ;
7
- import {
8
- GeoJsonFeatureUpdateProps
9
- } from "@reearth/beta/features/Editor/hooks/useSketch" ;
7
+ import { GeoJsonFeatureUpdateProps } from "@reearth/beta/features/Editor/hooks/useSketch" ;
10
8
import { TabItem , Tabs } from "@reearth/beta/lib/reearth-ui" ;
11
9
import { ComputedFeature , Geometry } from "@reearth/core" ;
12
10
import { NLSLayer , SketchFeature } from "@reearth/services/api/layersApi/utils" ;
@@ -18,6 +16,7 @@ import DataSource from "./DataSource";
18
16
import FeatureInspector from "./FeatureInspector" ;
19
17
import InfoboxSettings from "./InfoboxSettings" ;
20
18
import LayerStyle from "./LayerStyle" ;
19
+ import PhotoOverlaySettings from "./PhotoOverlaySettings" ;
21
20
22
21
const LAYER_INSPECTOR_TAB_STORAGE_KEY =
23
22
"reearth-visualizer-map-layer-inspector-tab" ;
@@ -53,8 +52,8 @@ const InspectorTabs: FC<Props> = ({
53
52
} ) => {
54
53
const t = useT ( ) ;
55
54
56
- const tabItems : TabItem [ ] = useMemo (
57
- ( ) => [
55
+ const tabItems : TabItem [ ] = useMemo ( ( ) => {
56
+ const tabs : TabItem [ ] = [
58
57
{
59
58
id : "dataSource" ,
60
59
icon : "data" ,
@@ -109,20 +108,36 @@ const InspectorTabs: FC<Props> = ({
109
108
/>
110
109
)
111
110
}
112
- ] ,
113
- [
114
- t ,
115
- selectedLayer ?. layer ,
116
- onLayerNameUpdate ,
117
- onLayerConfigUpdate ,
118
- selectedFeature ,
119
- selectedSketchFeature ,
120
- onGeoJsonFeatureUpdate ,
121
- layerStyles ,
122
- layers ,
123
- sceneId
124
- ]
125
- ) ;
111
+ ] ;
112
+
113
+ if ( selectedLayer ?. layer ?. isSketch ) {
114
+ tabs . push ( {
115
+ id : "photoOverlaySettings" ,
116
+ icon : "image" ,
117
+ placement : "left" ,
118
+ tooltipText : t ( "Photo Overlay" ) ,
119
+ children : (
120
+ < PhotoOverlaySettings
121
+ selectedLayerId = { selectedLayer . layer . id }
122
+ photoOverlay = { selectedLayer . layer ?. photoOverlay }
123
+ />
124
+ )
125
+ } ) ;
126
+ }
127
+
128
+ return tabs ;
129
+ } , [
130
+ t ,
131
+ selectedLayer ?. layer ,
132
+ onLayerNameUpdate ,
133
+ onLayerConfigUpdate ,
134
+ selectedFeature ,
135
+ selectedSketchFeature ,
136
+ onGeoJsonFeatureUpdate ,
137
+ layerStyles ,
138
+ layers ,
139
+ sceneId
140
+ ] ) ;
126
141
127
142
const [ currentTab , setCurrentTab ] = useState (
128
143
localStorage . getItem ( LAYER_INSPECTOR_TAB_STORAGE_KEY ) ?? "dataSource"
0 commit comments