@@ -21,10 +21,10 @@ import { GmailIcon, OutlookIcon } from '@/components/icons'
2121import { Skeleton } from '@/components/ui'
2222import { useSession } from '@/lib/auth/auth-client'
2323import { getSubscriptionStatus } from '@/lib/billing/client'
24+ import { getProviderDisplayName , type PollingProvider } from '@/lib/credential-sets/providers'
2425import { getUserRole } from '@/lib/workspaces/organization'
2526import {
2627 type CredentialSet ,
27- type CredentialSetType ,
2828 useAcceptCredentialSetInvitation ,
2929 useCreateCredentialSet ,
3030 useCreateCredentialSetInvitation ,
@@ -79,7 +79,7 @@ export function CredentialSets() {
7979 const [ viewingSet , setViewingSet ] = useState < CredentialSet | null > ( null )
8080 const [ newSetName , setNewSetName ] = useState ( '' )
8181 const [ newSetDescription , setNewSetDescription ] = useState ( '' )
82- const [ newSetProvider , setNewSetProvider ] = useState < 'gmail' | 'outlook' > ( 'gmail ' )
82+ const [ newSetProvider , setNewSetProvider ] = useState < PollingProvider > ( 'google-email ' )
8383 const [ createError , setCreateError ] = useState < string | null > ( null )
8484 const [ inviteEmails , setInviteEmails ] = useState ( '' )
8585 const [ isDragging , setIsDragging ] = useState ( false )
@@ -92,12 +92,6 @@ export function CredentialSets() {
9292 const removeMember = useRemoveCredentialSetMember ( )
9393 const leaveCredentialSet = useLeaveCredentialSet ( )
9494
95- const getProviderName = useCallback ( ( providerId : string ) => {
96- if ( providerId === 'gmail' ) return 'Gmail'
97- if ( providerId === 'outlook' ) return 'Outlook'
98- return providerId
99- } , [ ] )
100-
10195 const extractEmailsFromText = useCallback ( ( text : string ) : string [ ] => {
10296 // Match email patterns in text
10397 const emailRegex = / [ a - z A - Z 0 - 9 . _ % + - ] + @ [ a - z A - Z 0 - 9 . - ] + \. [ a - z A - Z ] { 2 , } / g
@@ -211,13 +205,12 @@ export function CredentialSets() {
211205 organizationId : activeOrganization . id ,
212206 name : newSetName . trim ( ) ,
213207 description : newSetDescription . trim ( ) || undefined ,
214- type : 'specific' as CredentialSetType ,
215208 providerId : newSetProvider ,
216209 } )
217210 setShowCreateModal ( false )
218211 setNewSetName ( '' )
219212 setNewSetDescription ( '' )
220- setNewSetProvider ( 'gmail ' )
213+ setNewSetProvider ( 'google-email ' )
221214 } catch ( error ) {
222215 logger . error ( 'Failed to create polling group' , error )
223216 if ( error instanceof Error ) {
@@ -258,7 +251,7 @@ export function CredentialSets() {
258251 setShowCreateModal ( false )
259252 setNewSetName ( '' )
260253 setNewSetDescription ( '' )
261- setNewSetProvider ( 'gmail ' )
254+ setNewSetProvider ( 'google-email ' )
262255 setCreateError ( null )
263256 } , [ ] )
264257
@@ -292,7 +285,7 @@ export function CredentialSets() {
292285 { viewingSet . name }
293286 </ span >
294287 < span className = 'text-[12px] text-[var(--text-secondary)]' >
295- { getProviderName ( viewingSet . providerId || '' ) }
288+ { getProviderDisplayName ( viewingSet . providerId || '' ) }
296289 </ span >
297290 </ div >
298291 </ div >
@@ -569,7 +562,7 @@ export function CredentialSets() {
569562 </ span >
570563 < span className = 'text-[12px] text-[var(--text-secondary)]' >
571564 { set . memberCount } member{ set . memberCount !== 1 ? 's' : '' }
572- { set . providerId && < > · { getProviderName ( set . providerId ) } </ > }
565+ { set . providerId && < > · { getProviderDisplayName ( set . providerId ) } </ > }
573566 </ span >
574567 </ div >
575568 < Button
@@ -616,8 +609,8 @@ export function CredentialSets() {
616609 < Label > Email Provider</ Label >
617610 < div className = 'flex gap-[8px]' >
618611 < Button
619- variant = { newSetProvider === 'gmail ' ? 'active' : 'default' }
620- onClick = { ( ) => setNewSetProvider ( 'gmail ' ) }
612+ variant = { newSetProvider === 'google-email ' ? 'active' : 'default' }
613+ onClick = { ( ) => setNewSetProvider ( 'google-email ' ) }
621614 className = 'flex-1'
622615 >
623616 < GmailIcon className = 'mr-[6px] h-[16px] w-[16px]' />
@@ -633,8 +626,8 @@ export function CredentialSets() {
633626 </ Button >
634627 </ div >
635628 < p className = 'mt-[4px] text-[11px] text-[var(--text-tertiary)]' >
636- Members will connect their { newSetProvider === 'gmail' ? 'Gmail' : 'Outlook' } { ' ' }
637- account for email polling
629+ Members will connect their { getProviderDisplayName ( newSetProvider ) } account for
630+ email polling
638631 </ p >
639632 </ div >
640633 { createError && < p className = 'text-[12px] text-[var(--text-error)]' > { createError } </ p > }
0 commit comments