@@ -21,23 +21,65 @@ <h2>Icon Generator</h2>
2121 canvas . height = size ;
2222 const ctx = canvas . getContext ( '2d' ) ;
2323
24- // Background
25- ctx . fillStyle = '#0366d6' ;
26- ctx . fillRect ( 0 , 0 , size , size ) ;
24+ // Clear background
25+ ctx . clearRect ( 0 , 0 , size , size ) ;
2726
28- // Bell icon (simplified)
29- ctx . fillStyle = '#ffffff' ;
30- const scale = size / 48 ;
27+ const scale = size / 128 ;
3128
29+ // Terminal window
30+ ctx . fillStyle = '#1e293b' ;
31+ ctx . fillRect ( 24 * scale , 32 * scale , 80 * scale , 64 * scale ) ;
32+
33+ // Terminal header
34+ ctx . fillStyle = '#334155' ;
35+ ctx . fillRect ( 24 * scale , 32 * scale , 80 * scale , 16 * scale ) ;
36+
37+ // Window controls
38+ ctx . fillStyle = '#ef4444' ;
39+ ctx . beginPath ( ) ;
40+ ctx . arc ( 32 * scale , 40 * scale , 2 * scale , 0 , Math . PI * 2 ) ;
41+ ctx . fill ( ) ;
42+
43+ ctx . fillStyle = '#f59e0b' ;
44+ ctx . beginPath ( ) ;
45+ ctx . arc ( 40 * scale , 40 * scale , 2 * scale , 0 , Math . PI * 2 ) ;
46+ ctx . fill ( ) ;
47+
48+ ctx . fillStyle = '#10b981' ;
49+ ctx . beginPath ( ) ;
50+ ctx . arc ( 48 * scale , 40 * scale , 2 * scale , 0 , Math . PI * 2 ) ;
51+ ctx . fill ( ) ;
52+
53+ // Terminal content lines
54+ ctx . fillStyle = '#10b981' ;
55+
56+ if ( size >= 32 ) {
57+ ctx . fillRect ( 32 * scale , 56 * scale , 32 * scale , 2 * scale ) ;
58+ ctx . fillRect ( 32 * scale , 64 * scale , 48 * scale , 2 * scale ) ;
59+ ctx . fillRect ( 32 * scale , 72 * scale , 24 * scale , 2 * scale ) ;
60+ ctx . fillRect ( 32 * scale , 80 * scale , 40 * scale , 2 * scale ) ;
61+
62+ // Cursor
63+ ctx . fillRect ( 76 * scale , 80 * scale , 8 * scale , 2 * scale ) ;
64+
65+ // Terminal prompt
66+ ctx . font = `${ 8 * scale } px monospace` ;
67+ ctx . fillText ( '$' , 32 * scale , 92 * scale ) ;
68+ } else {
69+ // Simplified for small sizes
70+ ctx . fillRect ( 30 * scale , 55 * scale , 40 * scale , 2 * scale ) ;
71+ ctx . fillRect ( 30 * scale , 65 * scale , 50 * scale , 2 * scale ) ;
72+ }
73+
74+ // Notification dot on terminal
75+ ctx . fillStyle = '#ef4444' ;
3276 ctx . beginPath ( ) ;
33- // Bell body
34- ctx . arc ( size / 2 , size / 2.2 , size / 3.5 , Math . PI * 0.8 , Math . PI * 2.2 ) ;
35- ctx . lineTo ( size / 2 , size / 1.8 ) ;
77+ ctx . arc ( 96 * scale , 40 * scale , 14 * scale , 0 , Math . PI * 2 ) ;
3678 ctx . fill ( ) ;
3779
38- // Bell clapper
80+ ctx . fillStyle = 'white' ;
3981 ctx . beginPath ( ) ;
40- ctx . arc ( size / 2 , size / 1.6 , size / 12 , 0 , Math . PI * 2 ) ;
82+ ctx . arc ( 96 * scale , 40 * scale , 7 * scale , 0 , Math . PI * 2 ) ;
4183 ctx . fill ( ) ;
4284
4385 const img = document . createElement ( 'img' ) ;
0 commit comments