11import { GitPullRequestIcon , IssueOpenedIcon } from '@primer/octicons-react'
22import { cva , type VariantProps } from 'class-variance-authority'
33import {
4- Archive ,
54 Clock ,
65 Code ,
76 EyeOff ,
@@ -12,6 +11,7 @@ import {
1211 Monitor ,
1312 Search ,
1413 TextSelect ,
14+ Trash ,
1515} from 'lucide-react'
1616import { useMemo , useState } from 'react'
1717import { twMerge } from 'tailwind-merge'
@@ -21,7 +21,7 @@ import type { DraftStats } from '@/lib/enhancers/draftStats'
2121interface FilterState {
2222 sentFilter : 'both' | 'sent' | 'unsent'
2323 searchQuery : string
24- showArchived : boolean
24+ showTrashed : boolean
2525}
2626
2727// CVA configuration for stat badges
@@ -41,7 +41,7 @@ const statBadge = cva(
4141 true : '!border-solid !border-current' ,
4242 } ,
4343 type : {
44- archived : 'bg-gray-50 text-yellow-700' ,
44+ trashed : 'bg-gray-50 text-yellow-700' ,
4545 blank : 'bg-transparent text-gray-700' ,
4646 code : 'bg-pink-50 text-pink-700' ,
4747 hideArchived : 'bg-transparent text-gray-700' ,
@@ -59,8 +59,8 @@ const statBadge = cva(
5959
6060// Map types to their icons
6161const typeIcons = {
62- archived : Archive ,
63- blank : Archive ,
62+ trashed : Trash ,
63+ blank : Code ,
6464 code : Code ,
6565 hideArchived : EyeOff ,
6666 image : Image ,
@@ -183,7 +183,7 @@ interface CommentTableRow {
183183 latestDraft : Draft
184184 isOpenTab : boolean
185185 isSent : boolean
186- isArchived : boolean
186+ isTrashed : boolean
187187}
188188
189189type GitHubOrReddit = GitHubSpot | RedditSpot
@@ -198,7 +198,7 @@ const isRedditDraft = (spot: GitHubOrReddit): spot is RedditSpot => {
198198
199199const generateMockDrafts = ( ) : CommentTableRow [ ] => [
200200 {
201- isArchived : false ,
201+ isTrashed : false ,
202202 isOpenTab : true ,
203203 isSent : false ,
204204 latestDraft : {
@@ -231,7 +231,7 @@ const generateMockDrafts = (): CommentTableRow[] => [
231231 } satisfies GitHubSpot ,
232232 } ,
233233 {
234- isArchived : false ,
234+ isTrashed : false ,
235235 isOpenTab : false ,
236236 isSent : false ,
237237 latestDraft : {
@@ -258,7 +258,7 @@ const generateMockDrafts = (): CommentTableRow[] => [
258258 } satisfies RedditSpot ,
259259 } ,
260260 {
261- isArchived : false ,
261+ isTrashed : false ,
262262 isOpenTab : true ,
263263 isSent : false ,
264264 latestDraft : {
@@ -281,7 +281,7 @@ const generateMockDrafts = (): CommentTableRow[] => [
281281 } satisfies GitHubSpot ,
282282 } ,
283283 {
284- isArchived : false ,
284+ isTrashed : false ,
285285 isOpenTab : false ,
286286 isSent : true ,
287287 latestDraft : {
@@ -316,7 +316,7 @@ const generateMockDrafts = (): CommentTableRow[] => [
316316 } satisfies GitHubSpot ,
317317 } ,
318318 {
319- isArchived : true ,
319+ isTrashed : true ,
320320 isOpenTab : true ,
321321 isSent : false ,
322322 latestDraft : {
@@ -383,7 +383,7 @@ export const ClaudePrototype = () => {
383383 const [ filters , setFilters ] = useState < FilterState > ( {
384384 searchQuery : '' ,
385385 sentFilter : 'both' ,
386- showArchived : false ,
386+ showTrashed : false ,
387387 } )
388388
389389 const updateFilter = < K extends keyof FilterState > ( key : K , value : FilterState [ K ] ) => {
@@ -392,8 +392,8 @@ export const ClaudePrototype = () => {
392392
393393 const filteredDrafts = useMemo ( ( ) => {
394394 let filtered = [ ...drafts ]
395- if ( ! filters . showArchived ) {
396- filtered = filtered . filter ( ( d ) => ! d . isArchived )
395+ if ( ! filters . showTrashed ) {
396+ filtered = filtered . filter ( ( d ) => ! d . isTrashed )
397397 }
398398 if ( filters . sentFilter !== 'both' ) {
399399 filtered = filtered . filter ( ( d ) => ( filters . sentFilter === 'sent' ? d . isSent : ! d . isSent ) )
@@ -495,7 +495,7 @@ export const ClaudePrototype = () => {
495495 setFilters ( {
496496 searchQuery : '' ,
497497 sentFilter : 'both' ,
498- showArchived : true ,
498+ showTrashed : true ,
499499 } )
500500 } }
501501 className = 'text-blue-600 hover:underline'
@@ -508,30 +508,25 @@ export const ClaudePrototype = () => {
508508 }
509509
510510 return (
511- < div className = 'min-h-screen bg-white' >
512- { /* Header controls */ }
513- < div className = 'p-3 border-b' >
514- < div className = 'flex flex-wrap gap-3 items-center' > </ div >
515-
516- { /* Bulk actions bar - floating popup */ }
517- { selectedIds . size > 0 && (
518- < div className = 'fixed bottom-6 left-1/2 transform -translate-x-1/2 p-3 bg-blue-50 rounded-md shadow-lg border border-blue-200 flex items-center gap-3 z-50' >
519- < span className = 'text-sm font-medium' > { selectedIds . size } selected</ span >
520- < button type = 'button' className = 'text-sm text-blue-600 hover:underline' >
521- Copy
522- </ button >
523- < button type = 'button' className = 'text-sm text-blue-600 hover:underline' >
524- Preview
525- </ button >
526- < button type = 'button' className = 'text-sm text-blue-600 hover:underline' >
527- Discard
528- </ button >
529- < button type = 'button' className = 'text-sm text-blue-600 hover:underline' >
530- Open
531- </ button >
532- </ div >
533- ) }
534- </ div >
511+ < div className = 'bg-white' >
512+ { /* Bulk actions bar - floating popup */ }
513+ { selectedIds . size > 0 && (
514+ < div className = 'fixed bottom-6 left-1/2 transform -translate-x-1/2 p-3 bg-blue-50 rounded-md shadow-lg border border-blue-200 flex items-center gap-3 z-50' >
515+ < span className = 'text-sm font-medium' > { selectedIds . size } selected</ span >
516+ < button type = 'button' className = 'text-sm text-blue-600 hover:underline' >
517+ Copy
518+ </ button >
519+ < button type = 'button' className = 'text-sm text-blue-600 hover:underline' >
520+ Preview
521+ </ button >
522+ < button type = 'button' className = 'text-sm text-blue-600 hover:underline' >
523+ Discard
524+ </ button >
525+ < button type = 'button' className = 'text-sm text-blue-600 hover:underline' >
526+ Open
527+ </ button >
528+ </ div >
529+ ) }
535530
536531 { /* Table */ }
537532 < div className = 'overflow-x-auto' >
@@ -673,7 +668,7 @@ function commentRow(
673668 { row . spot . title }
674669 </ a >
675670 < Badge type = { row . isSent ? 'sent' : 'unsent' } />
676- { row . isArchived && < Badge type = 'archived ' /> }
671+ { row . isTrashed && < Badge type = 'trashed ' /> }
677672 </ div >
678673 { /* Draft */ }
679674 < div className = 'text-sm truncate' >
0 commit comments