SC CODE: Function InitializePrivate() Uint64
10 IF init() == 0 THEN GOTO 30
20 RETURN 1
30 STORE("var_header_name", "styles-components.css")
31 STORE("var_header_description", "")
32 STORE("var_header_icon", "")
33 STORE("dURL", "")
34 STORE("docType", "TELA-CSS-1")
35 STORE("subDir", "/")
36 STORE("fileCheckC", "1758046bc63eed46dc5d8dd41e5a2586f0f7ebe6b1310adebe9b664e008caec3")
37 STORE("fileCheckS", "11f11638d50925c0e8cd0a875b6e218725da741dc598d20b8f209f12c13edf5c")
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
/*
.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4);margin-bottom:var(--s-6)}
.stat-card{background:var(--void-mid);border:1px solid var(--border-default);border-radius:var(--r-lg);padding:var(--s-5);position:relative;overflow:hidden}
.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-primary);opacity:.8}
.stat-icon{font-size:20px;color:var(--cyan-400);margin-bottom:var(--s-3)}
.stat-value{font-family:var(--font-display);font-size:24px;font-weight:600;color:var(--text-1);margin-bottom:var(--s-1)}
.stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--text-4)}
.stat-delta{position:absolute;top:var(--s-4);right:var(--s-4);font-size:10px;padding:2px 8px;border-radius:var(--r-xs);background:rgba(52,211,153,.1);color:var(--status-ok);border:1px solid rgba(52,211,153,.2)}
.section-card{background:var(--void-mid);border:1px solid var(--border-default);border-radius:var(--r-lg);overflow:hidden;margin-bottom:var(--s-6)}
.section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-5);background:var(--void-up);border-bottom:1px solid var(--border-dim)}
.section-header-left{display:flex;align-items:center;gap:var(--s-3)}
.section-icon{font-size:16px;color:var(--text-3)}
.section-title{font-family:var(--font-display);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--text-1)}
.section-header-right{display:flex;align-items:center;gap:var(--s-4)}
.section-meta{font-size:11px;color:var(--text-4)}
.section-content{padding:var(--s-5)}
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;border-radius:var(--r-xs);background:transparent}
.badge-live{color:var(--cyan-400);border:1px solid rgba(34,211,238,.3)}
.badge-pending{color:var(--status-warn);border:1px solid rgba(251,191,36,.3)}
.badge-ok{color:var(--status-ok);border:1px solid rgba(52,211,153,.3)}
.badge-err{color:var(--status-err);border:1px solid rgba(248,113,113,.3)}
.badge-new{color:var(--cyan-400);background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.3)}
.data-table{width:100%}
.table-header{display:grid;grid-template-columns:100px 1fr 100px 80px 100px;gap:var(--s-4);padding:var(--s-3) var(--s-4);background:var(--void-deep);border-radius:var(--r-md);margin-bottom:var(--s-2)}
.table-header-blocks{grid-template-columns:100px 1fr 100px 60px 80px}
.table-header span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--text-4);font-weight:500}
.table-row{display:grid;grid-template-columns:100px 1fr 100px 80px 100px;gap:var(--s-4);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border-dim);cursor:pointer;transition:background var(--dur-fast) var(--ease-out);align-items:center}
.table-row-blocks{grid-template-columns:100px 1fr 100px 60px 80px}
.table-row:hover{background:var(--void-hover)}
.table-row:last-child{border-bottom:none}
.col-height{font-weight:500;color:var(--cyan-400)}
.col-hash{font-size:12px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.col-age,.col-size,.col-reward{font-size:12px;color:var(--text-3)}
.col-txs{font-size:12px;color:var(--text-2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);font-family:var(--font-mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}
.btn-sm{padding:var(--s-1) var(--s-3);font-size:11px}
.btn-primary{background:var(--cyan-500);color:var(--void-pure);border-color:var(--cyan-500)}
.btn-primary:hover{background:var(--cyan-400);box-shadow:var(--glow-cyan-sm)}
.btn-ghost{background:transparent;color:var(--text-2);border-color:var(--border-default)}
.btn-ghost:hover{background:var(--void-hover);color:var(--text-1)}
.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--s-10);color:var(--text-3)}
.loading-spinner{width:32px;height:32px;border:2px solid var(--border-default);border-top-color:var(--cyan-400);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--s-4)}
.empty-state{text-align:center;padding:var(--s-10);color:var(--text-4)}
.empty-icon{font-size:48px;margin-bottom:var(--s-4);opacity:.5}
.error-state{text-align:center;padding:var(--s-10)}
.error-icon{font-size:48px;color:var(--status-err);margin-bottom:var(--s-4)}
.error-state h3{color:var(--text-1);margin-bottom:var(--s-2)}
.error-state p{color:var(--text-3);margin-bottom:var(--s-4)}
.pagination{display:flex;align-items:center;justify-content:center;gap:var(--s-4);padding:var(--s-4);margin-top:var(--s-4)}
.page-btn{padding:var(--s-2) var(--s-4);background:var(--void-deep);border:1px solid var(--border-default);border-radius:var(--r-md);font-family:var(--font-mono);font-size:11px;color:var(--text-2);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}
.page-btn:hover:not(:disabled){background:var(--void-hover);border-color:var(--border-accent)}
.page-btn:disabled{opacity:.4;cursor:not-allowed}
.page-info{font-size:11px;color:var(--text-4)}
.detail-view{width:100%}
.detail-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s-4)}
.detail-nav-arrows{display:flex;gap:var(--s-2)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6)}
.detail-subtitle{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--text-3);margin-bottom:var(--s-4);padding-bottom:var(--s-2);border-bottom:1px solid var(--border-dim)}
.detail-row{display:flex;justify-content:space-between;padding:var(--s-2) 0;border-bottom:1px solid var(--border-dim)}
.detail-row:last-child{border-bottom:none}
.detail-label{font-size:12px;color:var(--text-4)}
.detail-value{font-size:12px;color:var(--text-2);text-align:right;word-break:break-all}
.detail-value.mono{font-family:var(--font-mono)}
.copy-btn{background:transparent;border:1px solid var(--border-subtle);border-radius:var(--r-xs);padding:2px 4px;margin-left:var(--s-2);cursor:pointer;color:var(--text-4);transition:all var(--dur-fast) var(--ease-out);display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}
.copy-btn:hover{color:var(--cyan-400);border-color:var(--border-accent)}
.copy-btn svg{display:block}
*/ |
| 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", "styles-components.css")
31 STORE("var_header_description", "")
32 STORE("var_header_icon", "")
33 STORE("dURL", "")
34 STORE("docType", "TELA-CSS-1")
35 STORE("subDir", "/")
36 STORE("fileCheckC", "1758046bc63eed46dc5d8dd41e5a2586f0f7ebe6b1310adebe9b664e008caec3")
37 STORE("fileCheckS", "11f11638d50925c0e8cd0a875b6e218725da741dc598d20b8f209f12c13edf5c")
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
/*
.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4);margin-bottom:var(--s-6)}
.stat-card{background:var(--void-mid);border:1px solid var(--border-default);border-radius:var(--r-lg);padding:var(--s-5);position:relative;overflow:hidden}
.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-primary);opacity:.8}
.stat-icon{font-size:20px;color:var(--cyan-400);margin-bottom:var(--s-3)}
.stat-value{font-family:var(--font-display);font-size:24px;font-weight:600;color:var(--text-1);margin-bottom:var(--s-1)}
.stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--text-4)}
.stat-delta{position:absolute;top:var(--s-4);right:var(--s-4);font-size:10px;padding:2px 8px;border-radius:var(--r-xs);background:rgba(52,211,153,.1);color:var(--status-ok);border:1px solid rgba(52,211,153,.2)}
.section-card{background:var(--void-mid);border:1px solid var(--border-default);border-radius:var(--r-lg);overflow:hidden;margin-bottom:var(--s-6)}
.section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-5);background:var(--void-up);border-bottom:1px solid var(--border-dim)}
.section-header-left{display:flex;align-items:center;gap:var(--s-3)}
.section-icon{font-size:16px;color:var(--text-3)}
.section-title{font-family:var(--font-display);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--text-1)}
.section-header-right{display:flex;align-items:center;gap:var(--s-4)}
.section-meta{font-size:11px;color:var(--text-4)}
.section-content{padding:var(--s-5)}
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;border-radius:var(--r-xs);background:transparent}
.badge-live{color:var(--cyan-400);border:1px solid rgba(34,211,238,.3)}
.badge-pending{color:var(--status-warn);border:1px solid rgba(251,191,36,.3)}
.badge-ok{color:var(--status-ok);border:1px solid rgba(52,211,153,.3)}
.badge-err{color:var(--status-err);border:1px solid rgba(248,113,113,.3)}
.badge-new{color:var(--cyan-400);background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.3)}
.data-table{width:100%}
.table-header{display:grid;grid-template-columns:100px 1fr 100px 80px 100px;gap:var(--s-4);padding:var(--s-3) var(--s-4);background:var(--void-deep);border-radius:var(--r-md);margin-bottom:var(--s-2)}
.table-header-blocks{grid-template-columns:100px 1fr 100px 60px 80px}
.table-header span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--text-4);font-weight:500}
.table-row{display:grid;grid-template-columns:100px 1fr 100px 80px 100px;gap:var(--s-4);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border-dim);cursor:pointer;transition:background var(--dur-fast) var(--ease-out);align-items:center}
.table-row-blocks{grid-template-columns:100px 1fr 100px 60px 80px}
.table-row:hover{background:var(--void-hover)}
.table-row:last-child{border-bottom:none}
.col-height{font-weight:500;color:var(--cyan-400)}
.col-hash{font-size:12px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.col-age,.col-size,.col-reward{font-size:12px;color:var(--text-3)}
.col-txs{font-size:12px;color:var(--text-2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);font-family:var(--font-mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}
.btn-sm{padding:var(--s-1) var(--s-3);font-size:11px}
.btn-primary{background:var(--cyan-500);color:var(--void-pure);border-color:var(--cyan-500)}
.btn-primary:hover{background:var(--cyan-400);box-shadow:var(--glow-cyan-sm)}
.btn-ghost{background:transparent;color:var(--text-2);border-color:var(--border-default)}
.btn-ghost:hover{background:var(--void-hover);color:var(--text-1)}
.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--s-10);color:var(--text-3)}
.loading-spinner{width:32px;height:32px;border:2px solid var(--border-default);border-top-color:var(--cyan-400);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--s-4)}
.empty-state{text-align:center;padding:var(--s-10);color:var(--text-4)}
.empty-icon{font-size:48px;margin-bottom:var(--s-4);opacity:.5}
.error-state{text-align:center;padding:var(--s-10)}
.error-icon{font-size:48px;color:var(--status-err);margin-bottom:var(--s-4)}
.error-state h3{color:var(--text-1);margin-bottom:var(--s-2)}
.error-state p{color:var(--text-3);margin-bottom:var(--s-4)}
.pagination{display:flex;align-items:center;justify-content:center;gap:var(--s-4);padding:var(--s-4);margin-top:var(--s-4)}
.page-btn{padding:var(--s-2) var(--s-4);background:var(--void-deep);border:1px solid var(--border-default);border-radius:var(--r-md);font-family:var(--font-mono);font-size:11px;color:var(--text-2);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}
.page-btn:hover:not(:disabled){background:var(--void-hover);border-color:var(--border-accent)}
.page-btn:disabled{opacity:.4;cursor:not-allowed}
.page-info{font-size:11px;color:var(--text-4)}
.detail-view{width:100%}
.detail-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s-4)}
.detail-nav-arrows{display:flex;gap:var(--s-2)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6)}
.detail-subtitle{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--text-3);margin-bottom:var(--s-4);padding-bottom:var(--s-2);border-bottom:1px solid var(--border-dim)}
.detail-row{display:flex;justify-content:space-between;padding:var(--s-2) 0;border-bottom:1px solid var(--border-dim)}
.detail-row:last-child{border-bottom:none}
.detail-label{font-size:12px;color:var(--text-4)}
.detail-value{font-size:12px;color:var(--text-2);text-align:right;word-break:break-all}
.detail-value.mono{font-family:var(--font-mono)}
.copy-btn{background:transparent;border:1px solid var(--border-subtle);border-radius:var(--r-xs);padding:2px 4px;margin-left:var(--s-2);cursor:pointer;color:var(--text-4);transition:all var(--dur-fast) var(--ease-out);display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}
.copy-btn:hover{color:var(--cyan-400);border-color:var(--border-accent)}
.copy-btn svg{display:block}
*/'] |