Geek Social — Documentação
Referência

Tipos de notificação

Catálogo dos tipos de notificação (enum notification_type).

Todos os valores possíveis em notifications.type. O frontend usa o type pra renderizar copy + ícone + link.

Sociais

TypeQuando disparaentity_idSugestão de copyLink sugerido
friend_requestA pede amizade pra Bfriendships.id{actor} te enviou pedido de amizade/friends/requests
friend_acceptedA aceita pedido de Bfriendships.id{actor} aceitou seu pedido de amizade/perfil/{actor}
dm_request_receivedNão-amigo manda DMdm_requests.id{actor} quer falar com você/chat/requests
post_commentAlguém comenta seu postposts.id{actor} comentou seu post/posts/{post}
post_reactionAlguém reage seu postposts.id{actor} reagiu ao seu post/posts/{post}

Vitrine — ofertas

TypeQuando disparaentity_idSugestão de copy
offer_receivedRecebe oferta nova num seu listingitem_offers.id{actor} fez uma oferta no seu anúncio
offer_acceptedDono aceitou sua ofertaitem_offers.id{actor} aceitou sua oferta — confirme a transação
offer_rejectedSua oferta foi rejeitada (pelo dono ou auto-reject por close)item_offers.idSua oferta foi rejeitada
offer_completedTransação confirmada pelos 2 ladositem_offers.idTransação concluída — você pode avaliar
offer_cancelledOfertante cancelouitem_offers.id{actor} cancelou a oferta
offer_expired7 dias após accepted sem confirmsitem_offers.idSua oferta expirou

Vitrine — propostas (counters)

TypeQuando disparaentity_idSugestão de copy
counter_proposal_receivedOutro lado fez counter-propostaoffer_proposals.id{actor} fez uma contra-proposta
proposal_rejectedSua proposta foi rejeitada (mas oferta continua aberta)offer_proposals.id{actor} rejeitou sua proposta — você pode contra-propor

Vitrine — reputação

TypeQuando disparaentity_idSugestão de copy
rating_receivedAlguém te avaliou após transaçãolisting_ratings.id{actor} avaliou você

Steam integration

TypeQuando disparaentity_idSugestão de copy
steam_import_doneBatch terminou ok (todos sucesso)collections.idImportação concluída — {N} jogos adicionados
steam_import_partialBatch terminou com failed > 0collections.idImportação concluída com erros — {imported} ok, {failed} falharam

Adicionando tipo novo

Para adicionar um type:

  1. Migration: estender o enum no schema.ts
    export const notificationTypeEnum = pgEnum('notification_type', [
      // ...existentes
      'meu_novo_type',
    ])
  2. Drizzle gera SQL ALTER TYPE notification_type ADD VALUE 'meu_novo_type'
  3. Service dispara via notify({ type: 'meu_novo_type', ... })
  4. Frontend trata em NotificationItem.vue — copy, ícone, link

Ícones e cores (sugestões)

Padrão visual usado no frontend (NotificationItem.vue):

CategoriaÍconeCor accent
Sociais👥azul
Vitrine — positivo (received, accepted, completed)🛒verde
Vitrine — negativo (rejected, cancelled, expired)⚠️vermelho
Vitrine — propostas🔁amarelo
Vitrine — ratingamarelo
Steam — done🎮verde
Steam — partial🎮amarelo

Relacionados

On this page