@@ -13,7 +13,7 @@ export interface Diagnostic {
13
13
interface ResultPanelProps {
14
14
diagnostics : Diagnostic [ ] ;
15
15
ast ?: string ;
16
- isLoading : boolean ;
16
+ initialized ? : boolean ;
17
17
error ?: string ;
18
18
fixedCode ?: string ;
19
19
typeInfo ?: string ;
@@ -22,7 +22,7 @@ interface ResultPanelProps {
22
22
type TabType = 'lint' | 'fixed' | 'ast' | 'type' ;
23
23
24
24
export const ResultPanel : React . FC < ResultPanelProps > = props => {
25
- const { diagnostics, ast, isLoading , error , fixedCode, typeInfo } = props ;
25
+ const { diagnostics, ast, error , initialized , fixedCode, typeInfo } = props ;
26
26
const [ activeTab , setActiveTab ] = useState < TabType > ( 'lint' ) ;
27
27
28
28
return (
@@ -46,65 +46,61 @@ export const ResultPanel: React.FC<ResultPanelProps> = props => {
46
46
</ div >
47
47
</ div >
48
48
49
- < div className = "result-content" >
50
- { isLoading && (
51
- < div className = "loading-state" >
52
- < div className = "spinner" > </ div >
53
- < span > Analyzing code...</ span >
54
- </ div >
55
- ) }
56
-
57
- { error && (
58
- < div className = "error-message" >
59
- < div className = "error-icon" > ⚠️</ div >
60
- < div className = "error-text" >
61
- < strong > Error:</ strong > { error }
49
+ { initialized ? (
50
+ < div className = "result-content" >
51
+ { error && (
52
+ < div className = "error-message" >
53
+ < div className = "error-icon" > ⚠️</ div >
54
+ < div className = "error-text" >
55
+ < strong > Error:</ strong > { error }
56
+ </ div >
62
57
</ div >
63
- </ div >
64
- ) }
58
+ ) }
65
59
66
- { ! isLoading && ! error && activeTab === 'lint' && (
67
- < div className = "lint-results" >
68
- { diagnostics . length === 0 ? (
69
- < div className = "success-message" >
70
- < div className = "success-icon" > ✅</ div >
71
- < div className = "success-text" >
72
- < strong > No issues found!</ strong > Your code looks good.
60
+ { ! error && activeTab === 'lint' && (
61
+ < div className = "lint-results" >
62
+ { diagnostics . length === 0 ? (
63
+ < div className = "success-message" >
64
+ < div className = "success-icon" > ✅</ div >
65
+ < div className = "success-text" >
66
+ < strong > No issues found!</ strong > Your code looks good.
67
+ </ div >
73
68
</ div >
74
- </ div >
75
- ) : (
76
- < div className = "diagnostics-list" >
77
- { diagnostics . map ( ( diagnostic , index ) => (
78
- < div key = { index } className = "diagnostic-item" >
79
- < div className = "diagnostic-header" >
80
- < h4 > { diagnostic . ruleName } </ h4 >
81
- </ div >
82
- < div className = "diagnostic-message" >
83
- { diagnostic . message } { diagnostic . range . start . line } :
84
- { diagnostic . range . start . column } -{ ' ' }
85
- { diagnostic . range . end . line } :{ diagnostic . range . end . column }
69
+ ) : (
70
+ < div className = "diagnostics-list" >
71
+ { diagnostics . map ( ( diagnostic , index ) => (
72
+ < div key = { index } className = "diagnostic-item" >
73
+ < div className = "diagnostic-header" >
74
+ < h4 > { diagnostic . ruleName } </ h4 >
75
+ </ div >
76
+ < div className = "diagnostic-message" >
77
+ { diagnostic . message } { diagnostic . range . start . line } :
78
+ { diagnostic . range . start . column } -{ ' ' }
79
+ { diagnostic . range . end . line } :
80
+ { diagnostic . range . end . column }
81
+ </ div >
86
82
</ div >
87
- </ div >
88
- ) ) }
89
- </ div >
90
- ) }
91
- </ div >
92
- ) }
83
+ ) ) }
84
+ </ div >
85
+ ) }
86
+ </ div >
87
+ ) }
93
88
94
- { ! isLoading && ! error && activeTab === 'ast' && (
95
- < div className = "ast-view" >
96
- { ast ? (
97
- < div className = "code-block-wrapper" >
98
- < pre className = "ast-content" > { ast } </ pre >
99
- </ div >
100
- ) : (
101
- < div className = "empty-state" >
102
- < div className = "empty-text" > AST will be displayed here</ div >
103
- </ div >
104
- ) }
105
- </ div >
106
- ) }
107
- </ div >
89
+ { ! error && activeTab === 'ast' && (
90
+ < div className = "ast-view" >
91
+ { ast ? (
92
+ < div className = "code-block-wrapper" >
93
+ < pre className = "ast-content" > { ast } </ pre >
94
+ </ div >
95
+ ) : (
96
+ < div className = "empty-state" >
97
+ < div className = "empty-text" > AST will be displayed here</ div >
98
+ </ div >
99
+ ) }
100
+ </ div >
101
+ ) }
102
+ </ div >
103
+ ) : null }
108
104
</ div >
109
105
) ;
110
106
} ;
0 commit comments