@@ -93,6 +93,10 @@ export default function RepoList({ token, maxVisibleRows, onLogout, viewerLogin,
9393 const [ ownerAffiliations , setOwnerAffiliations ] = useState < OwnerAffiliation [ ] > ( [ 'OWNER' ] ) ;
9494 const [ orgSwitcherOpen , setOrgSwitcherOpen ] = useState ( false ) ;
9595
96+ // Sponsor reminder state
97+ const [ operationCount , setOperationCount ] = useState ( 0 ) ;
98+ const [ showSponsorReminder , setShowSponsorReminder ] = useState ( false ) ;
99+
96100 // Search state (server-side)
97101 const [ searchItems , setSearchItems ] = useState < RepoNode [ ] > ( [ ] ) ;
98102 const [ searchEndCursor , setSearchEndCursor ] = useState < string | null > ( null ) ;
@@ -189,6 +193,19 @@ export default function RepoList({ token, maxVisibleRows, onLogout, viewerLogin,
189193 } ) ( ) ;
190194 } , [ initialOrgSlug , token , prefsLoaded , client , addDebugMessage ] ) ;
191195
196+ // Helper to track successful operations and show sponsor reminder
197+ function trackSuccessfulOperation ( ) {
198+ const newCount = operationCount + 1 ;
199+ setOperationCount ( newCount ) ;
200+
201+ // Show sponsor reminder every 5 operations
202+ if ( newCount % 5 === 0 ) {
203+ setShowSponsorReminder ( true ) ;
204+ // Hide the reminder after 5 seconds
205+ setTimeout ( ( ) => setShowSponsorReminder ( false ) , 5000 ) ;
206+ }
207+ }
208+
192209 function closeArchiveModal ( ) {
193210 setArchiveMode ( false ) ;
194211 setArchiveTarget ( null ) ;
@@ -301,6 +318,7 @@ export default function RepoList({ token, maxVisibleRows, onLogout, viewerLogin,
301318 setItems ( prev => prev . map ( updateRepo ) ) ;
302319 setSearchItems ( prev => prev . map ( updateRepo ) ) ;
303320
321+ trackSuccessfulOperation ( ) ; // Track the successful operation
304322 closeArchiveModal ( ) ;
305323 } catch ( e ) {
306324 setArchiving ( false ) ;
@@ -511,6 +529,7 @@ export default function RepoList({ token, maxVisibleRows, onLogout, viewerLogin,
511529 setSearchTotalCount ( ( c ) => Math . max ( 0 , c - 1 ) ) ;
512530 }
513531
532+ trackSuccessfulOperation ( ) ; // Track the successful operation
514533 setDeleteMode ( false ) ;
515534 setDeleteTarget ( null ) ;
516535 setTypedCode ( '' ) ;
@@ -1621,6 +1640,19 @@ export default function RepoList({ token, maxVisibleRows, onLogout, viewerLogin,
16211640 { /* Header bar */ }
16221641 { headerBar }
16231642
1643+ { /* Sponsor reminder notification */ }
1644+ { showSponsorReminder && (
1645+ < Box marginX = { 1 } marginBottom = { 1 } >
1646+ < Box borderStyle = "single" borderColor = "yellow" paddingX = { 2 } paddingY = { 1 } >
1647+ < Box flexDirection = "column" alignItems = "center" >
1648+ < Text color = "yellow" > 💚 Thanks for using gh-manager-cli!</ Text >
1649+ < Text color = "gray" > Your support helps craft more open-source tools</ Text >
1650+ < Text color = "cyan" > ☕ buymeacoffee.com/wiiiimm</ Text >
1651+ </ Box >
1652+ </ Box >
1653+ </ Box >
1654+ ) }
1655+
16241656 { /* Main content container with border - fixed height */ }
16251657 < Box borderStyle = "single" borderColor = { modalOpen ? 'gray' : 'yellow' } paddingX = { 1 } paddingY = { 1 } marginX = { 1 } height = { contentHeight + containerPadding + 2 } flexDirection = "column" >
16261658 { deleteMode && deleteTarget ? (
@@ -2167,7 +2199,7 @@ export default function RepoList({ token, maxVisibleRows, onLogout, viewerLogin,
21672199 ) }
21682200 </ Box >
21692201
2170- { /* Help footer - 4 lines */ }
2202+ { /* Help footer - 5 lines */ }
21712203 < Box marginTop = { 1 } paddingX = { 1 } flexDirection = "column" >
21722204 { /* Line 1: Basic navigation */ }
21732205 < Box width = { terminalWidth } justifyContent = "center" >
@@ -2193,6 +2225,12 @@ export default function RepoList({ token, maxVisibleRows, onLogout, viewerLogin,
21932225 K Cache Info • W Org Switch • Del/Backspace Delete • Ctrl+L Logout • Q Quit
21942226 </ Text >
21952227 </ Box >
2228+ { /* Line 5: Sponsorship */ }
2229+ < Box width = { terminalWidth } justifyContent = "center" marginTop = { 1 } >
2230+ < Text color = "yellow" dimColor = { modalOpen ? true : undefined } >
2231+ 💚 Support the project: buymeacoffee.com/wiiiimm
2232+ </ Text >
2233+ </ Box >
21962234 </ Box >
21972235
21982236 { /* Debug panel */ }
0 commit comments