SC CODE: Function InitializePrivate() Uint64
10 IF init() == 0 THEN GOTO 30
20 RETURN 1
30 STORE("var_header_name", "js6.js")
31 STORE("var_header_description", "")
32 STORE("var_header_icon", "")
33 STORE("dURL", "")
34 STORE("docType", "TELA-JS-1")
35 STORE("subDir", "/")
36 STORE("fileCheckC", "286bc53c84a441ca0fee809771315602c35ad30421b782ba44d86df8f69797eb")
37 STORE("fileCheckS", "19d8ce9185429c8cdc71f74fead352ec24d261ab108d9f2020187dbdd465dbf7")
100 RETURN 0
End Function
Function init() Uint64
10 IF EXISTS("owner") == 0 THEN GOTO 30
20 RETURN 1
30 STORE("owner", address())
50 STORE("docVersion", "1.0.0")
60 STORE("hash", HEX(TXID()))
70 STORE("likes", 0)
80 STORE("dislikes", 0)
100 RETURN 0
End Function
Function address() String
10 DIM s as String
20 LET s = SIGNER()
30 IF IS_ADDRESS_VALID(s) THEN GOTO 50
40 RETURN "anon"
50 RETURN ADDRESS_STRING(s)
End Function
Function Rate(r Uint64) Uint64
10 DIM addr as String
15 LET addr = address()
16 IF r < 100 && EXISTS(addr) == 0 && addr != "anon" THEN GOTO 30
20 RETURN 1
30 STORE(addr, ""+r+"_"+BLOCK_HEIGHT())
40 IF r < 50 THEN GOTO 70
50 STORE("likes", LOAD("likes")+1)
60 RETURN 0
70 STORE("dislikes", LOAD("dislikes")+1)
100 RETURN 0
End Function
/*
h('div',{style:{width:28,height:28,borderRadius:8,border:`1px solid ${UI.cardBorder}`,display:'flex',alignItems:'center',justifyContent:'center',fontSize:10,fontWeight:700,color:'rgba(255,255,255,0.6)',background:UI.cardBg,flexShrink:0}},initials(s.name)),
h('div',null,h('p',{style:{fontSize:13,color:'rgba(255,255,255,0.88)',fontFamily:'Syne,sans-serif'}},s.name),h('p',{style:{fontSize:10,color:'rgba(255,255,255,0.40)',fontFamily:'Syne,sans-serif'}},s.type))
))
)
),
h('button',{onClick:()=>setActiveTab(activeTab==='identity'?null:'identity'),style:{display:'flex',alignItems:'center',gap:6,background:'none',border:'none',cursor:'pointer',color:nostrIdentity?UI.orange:'rgba(255,255,255,0.45)',fontSize:13,fontFamily:'Syne,sans-serif',fontWeight:600}},
h(Icon,{name:'shield',size:15,color:'currentColor'}),
nostrIdentity?nostrIdentity.displayName:'Inloggen'
)
)
),
// -- GRAPH VIEW --
viewMode==='graph'&&h('div',{style:{position:'absolute',inset:0,top:HEADER_H}},
nodes.length>0&&h(EdgeRenderer,{edges:visibleEdges,nodes,selectedEdgeId:selEdgeId,hoveredEdgeId:hovEdgeId,onEdgeClick:handleEdgeClick,onEdgeHover:setHovEdgeId}),
nodes.map(node=>h('div',{key:node.id,onMouseDown:e=>handleMouseDown(e,node.id)},
h(EntityCard,{node,isSelected:selNodeId===node.id,isCentral:nodes[0]?.id===node.id,onSelect:handleNodeClick,onExpand:expandFromNode,onAddConnection:handleAddConnection,onRemove:removeNode})
)),
h(GhostConnInput,{ghostConn,setGhostConn,commitGhostConn,nodes}),
nodes.length===0&&h('div',{style:{position:'absolute',inset:0,display:'flex',flexDirection:'column',alignItems:'center',justifyContent:'center',pointerEvents:'none',paddingBottom:120,zIndex:20}},
h('div',{style:{pointerEvents:'auto',width:'100%',maxWidth:640,padding:'0 32px'},onClick:e=>e.stopPropagation()},
h(CentralSearchBar,{nodes:dossier.nodes,search,setSearch,suggestions,onAdd:addEntity}),
h('p',{style:{textAlign:'center',marginTop:20,fontFamily:'Syne,sans-serif',fontSize:11,fontWeight:600,letterSpacing:'0.22em',textTransform:'uppercase',color:'rgba(255,255,255,0.28)'}},'Begin met zoeken')
)
)
),
// -- TIMELINE VIEW --
viewMode==='timeline'&&h(TimelineView,{dossier,selectedEdgeId:selEdgeId,onSelectEdge:id=>{setSelEdgeId(id);setSelNodeId(null)}}),
// -- BOTTOM BAR --
nodes.length>0&&h('div',{style:{position:'absolute',bottom:24,right:24,zIndex:40,display:'flex',alignItems:'center',borderRadius:10,overflow:'hidden',border:`1px solid ${UI.cardBorder}`,background:UI.cardBg}},
viewMode==='graph'&&h('div',{style:{display:'contents'}},
h('button',{onClick:()=>{setNodes([]);setEdges([]);setSelNodeId(null);setSelEdgeId(null)},style:{display:'flex',alignItems:'center',gap:8,padding:'8px 20px',fontSize:12,fontWeight:700,textTransform:'uppercase',letterSpacing:'0.14em',background:'transparent',border:'none',cursor:'pointer',color:'rgba(255,255,255,0.38)',fontFamily:'Syne,sans-serif'}},h(Icon,{name:'rotate-ccw',size:13}),' Reset'),
h('div',{style:{width:1,height:36,background:'rgba(255,255,255,0.10)',flexShrink:0}})
),
[{mode:'graph',label:'Kaart'},{mode:'timeline',label:'Tijdlijn'}].map(({mode,label},i)=>h('div',{key:mode,style:{display:'contents'}},
i===1&&h('div',{style:{width:1,height:36,background:'rgba(255,255,255,0.08)',flexShrink:0}}),
h('button',{onClick:()=>setViewMode(mode),style:{padding:'8px 20px',fontSize:12,fontWeight:700,textTransform:'uppercase',letterSpacing:'0.14em',background:viewMode===mode?'rgba(255,255,255,0.08)':'transparent',border:'none',cursor:'pointer',color:viewMode===mode?'rgba(255,255,255,0.88)':'rgba(255,255,255,0.38)',fontFamily:'Syne,sans-serif'}},label)
))
)
),
// -- DETAILS PANEL --
h('aside',{'data-panel':'true',style:{position:'fixed',right:0,zIndex:55,display:'flex',flexDirection:'column',top:HEADER_H,width:PANEL_W,height:`calc(100vh - ${HEADER_H}px - 68px)`,background:'rgba(8,16,36,0.75)',borderLeft:'1px solid rgba(255,255,255,0.09)',borderBottom:'1px solid rgba(255,255,255,0.09)',backdropFilter:'blur(24px)',borderRadius:'12px 0 0 12px',transform:panelOpen?'translateX(0)':'translateX(100%)',transition:'transform 0.3s ease'}},
h('div',{style:{display:'flex',alignItems:'center',justifyContent:'space-between',padding:'0 20px',borderBottom:'1px solid rgba(255,255,255,0.08)',background:'rgba(255,255,255,0.02)',minHeight:52,flexShrink:0}},
h('span',{style:{fontSize:11,fontWeight:700,color:'rgba(255,255,255,0.40)',textTransform:'uppercase',letterSpacing:'0.18em',display:'flex',alignItems:'center',gap:8,fontFamily:'Syne,sans-serif'}},h(Icon,{name:'file-text',size:13,color:UI.orange}),' Details'),
h('button',{onClick:()=>{setSelNodeId(null);setSelEdgeId(null)},style:{background:'none',border:'none',cursor:'pointer',color:'rgba(255,255,255,0.35)',display:'flex'}},h(Icon,{name:'x',size:17}))
),
h(DetailsPanel,{selNode,selEdge,nodes:dossier.nodes})
),
// -- HOLOGRAM BANNER --
h(HologramBanner)
);
}
ReactDOM.createRoot(document.getElementById('root')).render(h(LinkTracerApp));
*/ |
| SC Arguments: [Name:SC_ACTION Type:uint64 Value:'1' Name:SC_CODE Type:string Value:'Function InitializePrivate() Uint64
10 IF init() == 0 THEN GOTO 30
20 RETURN 1
30 STORE("var_header_name", "js6.js")
31 STORE("var_header_description", "")
32 STORE("var_header_icon", "")
33 STORE("dURL", "")
34 STORE("docType", "TELA-JS-1")
35 STORE("subDir", "/")
36 STORE("fileCheckC", "286bc53c84a441ca0fee809771315602c35ad30421b782ba44d86df8f69797eb")
37 STORE("fileCheckS", "19d8ce9185429c8cdc71f74fead352ec24d261ab108d9f2020187dbdd465dbf7")
100 RETURN 0
End Function
Function init() Uint64
10 IF EXISTS("owner") == 0 THEN GOTO 30
20 RETURN 1
30 STORE("owner", address())
50 STORE("docVersion", "1.0.0")
60 STORE("hash", HEX(TXID()))
70 STORE("likes", 0)
80 STORE("dislikes", 0)
100 RETURN 0
End Function
Function address() String
10 DIM s as String
20 LET s = SIGNER()
30 IF IS_ADDRESS_VALID(s) THEN GOTO 50
40 RETURN "anon"
50 RETURN ADDRESS_STRING(s)
End Function
Function Rate(r Uint64) Uint64
10 DIM addr as String
15 LET addr = address()
16 IF r < 100 && EXISTS(addr) == 0 && addr != "anon" THEN GOTO 30
20 RETURN 1
30 STORE(addr, ""+r+"_"+BLOCK_HEIGHT())
40 IF r < 50 THEN GOTO 70
50 STORE("likes", LOAD("likes")+1)
60 RETURN 0
70 STORE("dislikes", LOAD("dislikes")+1)
100 RETURN 0
End Function
/*
h('div',{style:{width:28,height:28,borderRadius:8,border:`1px solid ${UI.cardBorder}`,display:'flex',alignItems:'center',justifyContent:'center',fontSize:10,fontWeight:700,color:'rgba(255,255,255,0.6)',background:UI.cardBg,flexShrink:0}},initials(s.name)),
h('div',null,h('p',{style:{fontSize:13,color:'rgba(255,255,255,0.88)',fontFamily:'Syne,sans-serif'}},s.name),h('p',{style:{fontSize:10,color:'rgba(255,255,255,0.40)',fontFamily:'Syne,sans-serif'}},s.type))
))
)
),
h('button',{onClick:()=>setActiveTab(activeTab==='identity'?null:'identity'),style:{display:'flex',alignItems:'center',gap:6,background:'none',border:'none',cursor:'pointer',color:nostrIdentity?UI.orange:'rgba(255,255,255,0.45)',fontSize:13,fontFamily:'Syne,sans-serif',fontWeight:600}},
h(Icon,{name:'shield',size:15,color:'currentColor'}),
nostrIdentity?nostrIdentity.displayName:'Inloggen'
)
)
),
// -- GRAPH VIEW --
viewMode==='graph'&&h('div',{style:{position:'absolute',inset:0,top:HEADER_H}},
nodes.length>0&&h(EdgeRenderer,{edges:visibleEdges,nodes,selectedEdgeId:selEdgeId,hoveredEdgeId:hovEdgeId,onEdgeClick:handleEdgeClick,onEdgeHover:setHovEdgeId}),
nodes.map(node=>h('div',{key:node.id,onMouseDown:e=>handleMouseDown(e,node.id)},
h(EntityCard,{node,isSelected:selNodeId===node.id,isCentral:nodes[0]?.id===node.id,onSelect:handleNodeClick,onExpand:expandFromNode,onAddConnection:handleAddConnection,onRemove:removeNode})
)),
h(GhostConnInput,{ghostConn,setGhostConn,commitGhostConn,nodes}),
nodes.length===0&&h('div',{style:{position:'absolute',inset:0,display:'flex',flexDirection:'column',alignItems:'center',justifyContent:'center',pointerEvents:'none',paddingBottom:120,zIndex:20}},
h('div',{style:{pointerEvents:'auto',width:'100%',maxWidth:640,padding:'0 32px'},onClick:e=>e.stopPropagation()},
h(CentralSearchBar,{nodes:dossier.nodes,search,setSearch,suggestions,onAdd:addEntity}),
h('p',{style:{textAlign:'center',marginTop:20,fontFamily:'Syne,sans-serif',fontSize:11,fontWeight:600,letterSpacing:'0.22em',textTransform:'uppercase',color:'rgba(255,255,255,0.28)'}},'Begin met zoeken')
)
)
),
// -- TIMELINE VIEW --
viewMode==='timeline'&&h(TimelineView,{dossier,selectedEdgeId:selEdgeId,onSelectEdge:id=>{setSelEdgeId(id);setSelNodeId(null)}}),
// -- BOTTOM BAR --
nodes.length>0&&h('div',{style:{position:'absolute',bottom:24,right:24,zIndex:40,display:'flex',alignItems:'center',borderRadius:10,overflow:'hidden',border:`1px solid ${UI.cardBorder}`,background:UI.cardBg}},
viewMode==='graph'&&h('div',{style:{display:'contents'}},
h('button',{onClick:()=>{setNodes([]);setEdges([]);setSelNodeId(null);setSelEdgeId(null)},style:{display:'flex',alignItems:'center',gap:8,padding:'8px 20px',fontSize:12,fontWeight:700,textTransform:'uppercase',letterSpacing:'0.14em',background:'transparent',border:'none',cursor:'pointer',color:'rgba(255,255,255,0.38)',fontFamily:'Syne,sans-serif'}},h(Icon,{name:'rotate-ccw',size:13}),' Reset'),
h('div',{style:{width:1,height:36,background:'rgba(255,255,255,0.10)',flexShrink:0}})
),
[{mode:'graph',label:'Kaart'},{mode:'timeline',label:'Tijdlijn'}].map(({mode,label},i)=>h('div',{key:mode,style:{display:'contents'}},
i===1&&h('div',{style:{width:1,height:36,background:'rgba(255,255,255,0.08)',flexShrink:0}}),
h('button',{onClick:()=>setViewMode(mode),style:{padding:'8px 20px',fontSize:12,fontWeight:700,textTransform:'uppercase',letterSpacing:'0.14em',background:viewMode===mode?'rgba(255,255,255,0.08)':'transparent',border:'none',cursor:'pointer',color:viewMode===mode?'rgba(255,255,255,0.88)':'rgba(255,255,255,0.38)',fontFamily:'Syne,sans-serif'}},label)
))
)
),
// -- DETAILS PANEL --
h('aside',{'data-panel':'true',style:{position:'fixed',right:0,zIndex:55,display:'flex',flexDirection:'column',top:HEADER_H,width:PANEL_W,height:`calc(100vh - ${HEADER_H}px - 68px)`,background:'rgba(8,16,36,0.75)',borderLeft:'1px solid rgba(255,255,255,0.09)',borderBottom:'1px solid rgba(255,255,255,0.09)',backdropFilter:'blur(24px)',borderRadius:'12px 0 0 12px',transform:panelOpen?'translateX(0)':'translateX(100%)',transition:'transform 0.3s ease'}},
h('div',{style:{display:'flex',alignItems:'center',justifyContent:'space-between',padding:'0 20px',borderBottom:'1px solid rgba(255,255,255,0.08)',background:'rgba(255,255,255,0.02)',minHeight:52,flexShrink:0}},
h('span',{style:{fontSize:11,fontWeight:700,color:'rgba(255,255,255,0.40)',textTransform:'uppercase',letterSpacing:'0.18em',display:'flex',alignItems:'center',gap:8,fontFamily:'Syne,sans-serif'}},h(Icon,{name:'file-text',size:13,color:UI.orange}),' Details'),
h('button',{onClick:()=>{setSelNodeId(null);setSelEdgeId(null)},style:{background:'none',border:'none',cursor:'pointer',color:'rgba(255,255,255,0.35)',display:'flex'}},h(Icon,{name:'x',size:17}))
),
h(DetailsPanel,{selNode,selEdge,nodes:dossier.nodes})
),
// -- HOLOGRAM BANNER --
h(HologramBanner)
);
}
ReactDOM.createRoot(document.getElementById('root')).render(h(LinkTracerApp));
*/'] |