managarten/packages/feedback/src/index.ts
Till JS eecf64c1c6 feat(community,feedback): +5 reward chip + Phase 3.F legacy-cleanup
UI:
- FeedbackQuickModal Success-State + Onboarding-Wish Confirm zeigen
  +5-Mana-Reward-Chip mit reward-in-Animation. Sofortiger Sichtbarer
  Reziprozitäts-Loop.

Legacy-Cleanup (Phase 3.F):
- @mana/feedback dropped:
  - FeedbackPage.svelte, FeedbackCard.svelte, FeedbackList.svelte,
    FeedbackForm.svelte, VoteButton.svelte, StatusBadge.svelte
    (alles Pre-Reactions-Markup, durch Community-Modul ersetzt)
  - vote/unvote/toggleVote/getPublicFeedback service-shims
  - VoteResponse, voteCount, userHasVoted Types
- mana-web dropped:
  - lib/modules/feedback/ListView.svelte
  - routes/(app)/feedback/+page.svelte
  - app-registry-Eintrag 'feedback' (nur Bug-Reports — Community macht
    das ohnehin besser via /community)

Pre-launch saubere Lösung: keine Backward-Compat-Shims, keine alten
Markup-Reste. ReactionBar bleibt der einzige Voting-Surface, /community
ist die einzige Feedback-Surface.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 14:14:08 +02:00

45 lines
1.2 KiB
TypeScript

/**
* @mana/feedback — Public-Community Feedback Hub
*
* Single source of truth for all user-facing feedback in Mana:
* - Anonymized by display-name pseudonym ("Wachsame Eule #4528")
* - Slack-style emoji reactions (👍 ❤️ 🚀 🤔 🎉) instead of binary votes
* - Public read endpoints under /api/v1/public/feedback (no auth)
* - Authenticated submit + react under /api/v1/feedback (Bearer)
*/
// Types
export {
type FeedbackCategory,
type FeedbackStatus,
type Feedback,
type PublicFeedbackItem,
type ReactionEmoji,
REACTION_EMOJIS,
REACTION_LABELS,
FEEDBACK_CATEGORY_LABELS,
FEEDBACK_STATUS_CONFIG,
} from './feedback';
export {
type CreateFeedbackInput,
type FeedbackQueryParams,
type FeedbackResponse,
type FeedbackListResponse,
type PublicFeedListResponse,
type PublicItemResponse,
type ReactionResponse,
type AdminPatchInput,
type ReactInput,
} from './api';
// Services
export { createFeedbackService, type FeedbackService } from './createFeedbackService';
export {
createPublicFeedbackService,
type PublicFeedbackService,
} from './createPublicFeedbackService';
export type { FeedbackServiceConfig, PublicFeedbackServiceConfig } from './types';
// UI Components
export { default as ReactionBar } from './ReactionBar.svelte';