Skip to content

Conversation

@bwl21
Copy link
Owner

@bwl21 bwl21 commented Oct 1, 2025

Summary

This PR adds comprehensive support for appointment tags to the existing tags system.

Changes

Core Functionality

  • Extended tag domain types to include 'appointment' alongside person, song, and group
  • Added appointment tags fetching to TanStack Query composable with proper error handling
  • Updated tag statistics to include appointment tags count

UI Enhancements

  • Dashboard card: Added appointment tags display with calendar icon (📅) and primary styling
  • Admin panel: Added 'Termine' filter option for appointment tags
  • Create/Edit modal: Added appointment domain option in tag creation
  • Domain display: Updated display names to show 'Termine' for appointment domain

Technical Details

  • Updated Tag interface to include 'appointment' domain type
  • Extended fetchTags() function to fetch from /tags/appointment endpoint
  • Added appointment tags processing in Promise.allSettled pattern
  • Updated useTagsStats() to calculate appointment tags count
  • Added appointment tags computed property in legacy composable

Files Changed

  • src/composables/useTags.ts - TanStack Query composable with appointment support
  • src/components/tags/useTags.ts - Legacy composable with appointment domain
  • src/components/tags/TagsCard.vue - Dashboard display with appointment stats
  • src/components/tags/TagsAdmin.vue - Admin panel with appointment filtering

Testing

  • ✅ TypeScript compilation passes
  • ✅ Prettier formatting applied
  • ✅ Development server runs without errors
  • ✅ All existing functionality preserved

API Compatibility

Uses existing ChurchTools API pattern: churchtoolsClient.get('/tags/appointment')

Breaking Changes

None - this is a purely additive feature that extends existing functionality.

- Add appointment domain to tag types and interfaces
- Include appointment tags in dashboard card stats with calendar icon
- Add appointment filter option in tags admin panel
- Support creating, editing, and managing appointment tags
- Update domain display names to include 'Termine' for appointments
- Extend TanStack Query composable to fetch appointment tags
- Add appointment tags count to stats calculations

Co-authored-by: Ona <no-reply@ona.com>
@bwl21 bwl21 merged commit ead0ee0 into main Oct 1, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants