File tree Expand file tree Collapse file tree 11 files changed +296
-203
lines changed Expand file tree Collapse file tree 11 files changed +296
-203
lines changed Original file line number Diff line number Diff line change @@ -15,7 +15,6 @@ export function Glass({
15
15
className = { `glass-card ${ className } ` }
16
16
{ ...props }
17
17
>
18
- < div className = "glass-card-background" />
19
18
{ children }
20
19
</ div >
21
20
</ > ) ;
Original file line number Diff line number Diff line change 4
4
background : # 7f7f7f88 ;
5
5
border : 0.25rem solid # ffffff1a ;
6
6
border-radius : 1rem ;
7
- box-shadow : 0 0 2rem 1rem # 0000004d ;
8
- }
9
-
10
- .glass-card-background {
11
- position : absolute;
12
- width : 100% ;
13
- height : 100% ;
14
- top : 0 ;
15
- left : 0 ;
16
- color : inherit;
17
- opacity : 0.4 ;
18
- border-radius : calc (var (--icon-size ) / 2 - 0.25rem );
19
- filter : blur (0.5rem );
20
7
}
21
8
Original file line number Diff line number Diff line change
1
+ import type { NodeModel } from "@defs/Node"
2
+
3
+ import "./style.css" ;
4
+
5
+ export function DecorativeNode ( {
6
+ node,
7
+ } : {
8
+ node : NodeModel ;
9
+ } ) {
10
+ return ( < >
11
+ < div className = "decorative-node" >
12
+ < span className = "decorative-node-name" > { node . name } </ span >
13
+ </ div >
14
+ </ > ) ;
15
+ }
16
+
Original file line number Diff line number Diff line change
1
+ .decorative-node {
2
+ grid-column : 1 / -1 ;
3
+ margin-top : 0.5rem ;
4
+ }
5
+
6
+ .decorative-node : first-child {
7
+ margin-top : 0 ;
8
+ }
9
+
Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ import { DynamicIcon } from "@components/commons/DynamicIcon";
9
9
import { Glass } from "@components/commons/Glass" ;
10
10
11
11
import { NodeContext } from "@components/engine/NodeContext" ;
12
+ import { DecorativeNode } from "@components/engine/DecorativeNode" ;
12
13
13
14
import "./style.css" ;
14
15
@@ -28,6 +29,8 @@ export function Node({
28
29
else setActive ( prev => ! prev ) ;
29
30
} , [ node ] ) ;
30
31
32
+ if ( node . isDecorative ) return < DecorativeNode node = { node } /> ;
33
+
31
34
return ( < >
32
35
< div className = "node-wrapper" >
33
36
< Glass
Original file line number Diff line number Diff line change 70
70
.node : hover > .node-name {
71
71
opacity : 1 ;
72
72
translate : 0 ;
73
+ z-index : 10 ;
73
74
}
74
75
75
76
.node-pointer {
Original file line number Diff line number Diff line change @@ -31,7 +31,7 @@ export function NodeContext({
31
31
>
32
32
{
33
33
context ?. map ( ( contextNode => < Node
34
- key = { contextNode . name }
34
+ key = { contextNode . id }
35
35
node = { contextNode }
36
36
/> ) )
37
37
}
Original file line number Diff line number Diff line change 5
5
padding : 1rem ;
6
6
cursor : default;
7
7
display : grid;
8
- grid-template-columns : repeat (5 , 3.5 rem );
8
+ grid-template-columns : repeat (5 , 1 fr );
9
9
gap : 0.5rem ;
10
10
transform : translateX (-50% ) translateY (-50% ) scale (0 );
11
11
opacity : 0 ;
22
22
.node-context .side {
23
23
left : calc (100% + 2rem );
24
24
top : 50% ;
25
+ max-height : 50vh ;
26
+ overflow-y : auto;
27
+ overflow-x : hidden;
25
28
}
26
29
27
30
.node .active + .node-context .side {
Original file line number Diff line number Diff line change @@ -80,6 +80,7 @@ const createNodeFactoryContext = () => {
80
80
color : "black" ,
81
81
context : [
82
82
nodeTemplate ( baseId , {
83
+ id : `ANN:BASE:${ baseId } ` ,
83
84
name : "Base Node" ,
84
85
code : "base" ,
85
86
icon : "Atom" ,
@@ -91,10 +92,30 @@ const createNodeFactoryContext = () => {
91
92
name : "Components" ,
92
93
icon : "Shapes" ,
93
94
color : "black" ,
94
- context : componentLib . map ( component => nodeTemplate (
95
- baseId ,
96
- component ,
97
- ) ) ,
95
+ context : componentLib . sort (
96
+ (
97
+ a : { order ?: number } ,
98
+ b : { order ?: number } ,
99
+ ) => a . order ! - b . order !
100
+ ) . reduce ( (
101
+ acc : NodeModel [ ] ,
102
+ curr : {
103
+ name : string ;
104
+ icon : string ;
105
+ color : string ;
106
+ nodes : NodeModel [ ] ;
107
+ }
108
+ ) => [
109
+ ...acc ,
110
+ {
111
+ id : `ANN:CMP:SECTION:${ curr . name } ` ,
112
+ name : curr . name ,
113
+ color : curr . color ,
114
+ icon : curr . icon ,
115
+ isDecorative : true ,
116
+ } ,
117
+ ...curr . nodes . map ( node => nodeTemplate ( baseId , node ) ) ,
118
+ ] , [ ] )
98
119
} ,
99
120
{
100
121
id : "ANN:CCMP" ,
@@ -103,6 +124,7 @@ const createNodeFactoryContext = () => {
103
124
color : "black" ,
104
125
context : [
105
126
{
127
+ id : "ANN:CCMP:ADD" ,
106
128
name : "Add Custom Component" ,
107
129
icon : "Plus" ,
108
130
color : "black" ,
@@ -111,6 +133,7 @@ const createNodeFactoryContext = () => {
111
133
...customComponents . map ( component => nodeTemplate (
112
134
baseId ,
113
135
{
136
+ id : `ANN:CCMP:${ component . name } ` ,
114
137
name : component . name ,
115
138
code : component . name ,
116
139
icon : "Component" ,
@@ -126,6 +149,7 @@ const createNodeFactoryContext = () => {
126
149
color : "black" ,
127
150
context : [
128
151
{
152
+ id : "ANN:STATES:ADD" ,
129
153
name : "Add State" ,
130
154
icon : "Plus" ,
131
155
color : "black" ,
@@ -134,6 +158,7 @@ const createNodeFactoryContext = () => {
134
158
...statesList . map ( state => nodeTemplate (
135
159
baseId ,
136
160
{
161
+ id : `ANN:STATES:${ state . name } ` ,
137
162
name : state . name ,
138
163
code : state . name ,
139
164
icon : "Puzzle" ,
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ export interface NodeModel {
11
11
baseType ?: string ;
12
12
isBase ?: boolean ;
13
13
isTopLevel ?: boolean ;
14
+ isDecorative ?: boolean ;
14
15
}
15
16
16
17
export type NodeGroup = {
You can’t perform that action at this time.
0 commit comments