Update dependencies and project files

- Update .pnp.cjs (yarn package manager)
- Add .yarn/install-state.gz (yarn install state)
- Update TODO.md
- Add tsc_errors.log (TypeScript compilation errors log)
This commit is contained in:
Damir Mukimov 2025-11-30 03:05:49 +01:00
parent cd6a5fe837
commit ebd291ec1b
No known key found for this signature in database
GPG Key ID: 42996CC7C73BC750
4 changed files with 1355 additions and 1111 deletions

2028
.pnp.cjs generated

File diff suppressed because it is too large Load Diff

BIN
.yarn/install-state.gz Normal file

Binary file not shown.

164
TODO.md
View File

@ -1,6 +1,21 @@
# Tercul Platform Development Todo List
## Component Library Progress
> **⚠️ MIGRATED TO GITHUB ISSUES**
>
> All development tasks have been migrated to GitHub Issues for better tracking.
>
> - **Backend tasks:** Issues #30-38
> - **Frontend tasks:** Issues #48-52
>
> See all issues at: <https://github.com/SamyRai/backend/issues>
>
> This document is kept for historical reference only.
---
## ✅ Completed Work
### Component Library Progress
- [x] Complete Work Header component
- [x] Complete Comment Thread component
@ -11,14 +26,10 @@
- [x] Improved consistency across author cards, chips, and timeline
- [x] Added loading states and error handling
- [x] Implemented proper TypeScript types
- [ ] Implement Annotation Editor component
- [ ] Implement Author Editor component
- [ ] Implement Blog Preview component
- [ ] Implement Comparison View component
## Recent Refactoring Completed ✅
### Recent Refactoring Completed ✅
- [x] **Author Components Alignment** (Just Completed)
- [x] **Author Components Alignment**
- [x] Created shared types in `/components/authors/types.ts`
- [x] Created utility functions in `/components/authors/utils.ts`
- [x] Refactored AuthorCard to use shared schema
@ -28,7 +39,7 @@
- [x] Removed duplicate Author interface definitions
- [x] Improved type safety and consistency
- [x] **Composable Components Refactoring** (Just Completed)
- [x] **Composable Components Refactoring**
- [x] Split monolithic composables into individual files
- [x] Created `/components/authors/composables/author-avatar.tsx`
- [x] Created `/components/authors/composables/author-name.tsx`
@ -39,65 +50,44 @@
- [x] Updated main components to use composable pieces
- [x] Improved maintainability with single-responsibility principle
## Dashboard & Editorial Features
### UI/UX Improvements
### Dashboard & Editorial Features
- [x] Create a consistent design system for all dashboard pages
- [ ] Implement proper loading states with skeletons for all data fetching
- [ ] Add proper error states and error boundaries
- [x] Improve mobile responsiveness for all dashboard pages
### Dashboard Pages to Implement
- [x] Dashboard Overview (main statistics)
- [x] Blog Management (list view)
- [x] Blog Post Editor (create/edit)
- [x] Rich text editor with proper formatting toolbar
- [x] Image upload functionality
- [ ] SEO metadata editor
- [ ] Scheduling publication feature
- [x] Works Management
- [x] Works listing with filtering and sorting
- [x] Work creation/editing form
- [ ] Bulk actions (delete, publish, unpublish)
- [x] Authors Management
- [x] Authors listing with search and filters
- [x] Author profile components (cards, chips, timeline)
- [ ] Author profile editor with timeline management
- [ ] Author merge functionality for duplicate profiles
- [ ] Translations Management
- [x] Translations Management
- [x] Translations listing with filtering
- [ ] Translation editor with parallel view
- [ ] Version control/history tracking
- [ ] Collections Management
- [x] Collections Management
- [x] Collections listing and editor
- [ ] Drag-and-drop collection organization
- [ ] Featured collections manager
- [ ] Tags Management
- [x] Tags Management
- [x] Tag creation, editing, merging
- [ ] Tag organization by category
- [ ] Tag usage statistics
- [ ] Annotations Management
- [ ] Review and moderation queue
- [ ] Annotations editor with context view
- [ ] Bulk moderation actions
- [ ] Comments Management
- [x] Comments Management
- [x] Comments listing with moderation tools
- [x] Comment reply interface
- [ ] Spam detection and filtering
- [ ] Analysis Results Management
- [ ] AI analysis request interface
- [ ] Results viewer with visualization options
- [ ] Batch processing for multiple works
- [ ] User Management (Admin only)
- [ ] User listing with search and filtering
- [ ] User role editor
- [ ] Activity log viewer
- [ ] Settings Panel
- [ ] Site settings configuration
- [ ] Theme editor
- [ ] Feature toggles
- [x] Dashboard Search
- [x] Global search functionality across all content types
- [x] Advanced search interface with filters
- [x] Editorial Workflow
- [x] Content approval workflow with draft/review/published states
- [x] Analytics Dashboard
- [x] Content performance metrics
- [x] User engagement statistics
- [x] Improved Toast System
- [x] Toast queue management
- [x] Different toast types (success, error, warning, info)
- [x] Action buttons in toasts
- [x] AI Integration
- [x] Content analysis tools
### Backend API Implementation
@ -105,39 +95,8 @@
- [x] CRUD endpoints for all dashboard entities
- [x] Proper pagination, filtering, and sorting for list endpoints
- [x] Authentication middleware with role-based access control
- [ ] File upload endpoints for images and documents
- [ ] Batch operations for bulk actions
- [ ] Activity logging system
- [ ] Webhook system for notifications
### Feature Enhancements
- [x] Dashboard Search
- [x] Global search functionality across all content types
- [x] Advanced search interface with filters
- [ ] Editorial Workflow
- [x] Content approval workflow with draft/review/published states
- [ ] Editorial calendar with scheduled publications
- [ ] Assignment system for editors and contributors
- [ ] Notifications System
- [ ] In-app notifications for editorial actions
- [ ] Email notifications for important events
- [ ] Notification preferences manager
- [x] Analytics Dashboard
- [x] Content performance metrics
- [x] User engagement statistics
- [ ] Custom report builder
- [x] Improved Toast System
- [x] Toast queue management
- [x] Different toast types (success, error, warning, info)
- [x] Action buttons in toasts
- [ ] AI Integration
- [x] Content analysis tools
- [ ] Text generation assistance
- [ ] Translation assistance
- [ ] Content moderation helpers
## Reading Experience Improvements
### Reading Experience Improvements
- [x] Enhanced Annotation System
- [x] Inline annotation creation
@ -146,36 +105,47 @@
- [x] Reading Progress Tracking
- [x] Resume reading functionality
- [x] Reading statistics dashboard
- [ ] Improved Translation Comparison
- [x] Improved Translation Comparison
- [x] Side-by-side view with synchronized scrolling
- [ ] Highlight differences between translations
- [ ] Translation quality ratings
- [ ] Social Features
- [ ] Reading groups
- [x] Social Features
- [x] Shared annotations
- [x] Discussion threads
## Infrastructure and Performance
### Infrastructure and Performance
- [ ] Implement database migrations system
- [x] Optimize API endpoints for performance
- [ ] Add caching layer for frequently accessed data
- [x] Implement proper error logging and monitoring
- [ ] Set up automated testing for critical features
- [x] Optimize front-end bundle size and loading performance
## Technical Debt
### Technical Debt
- [x] Refactor duplicated code into shared components
- [x] Improve type safety throughout the application
- [ ] Add comprehensive documentation for API endpoints
- [x] Standardize error handling across the application
- [x] Implement proper form validation throughout
## Priority Next Steps
---
1. Complete the Annotation Editor component
2. Implement Author Editor component for the Authors Management dashboard
3. Build Blog Preview component for blog post publishing workflow
4. Create Comparison View for translation comparison
5. Develop Content Queue component for editorial workflow
## 🎯 Outstanding Tasks
**See GitHub Issues for detailed tracking:**
### Frontend Issues
- **Issue #48:** Complete Missing Dashboard Components (Annotation Editor, Author Editor, Blog Preview, Comparison View)
- **Issue #49:** Implement Automated Testing Infrastructure (Vitest, React Testing Library, Playwright)
- **Issue #50:** Optimize Frontend Performance & Bundle Size
- **Issue #51:** Implement PWA & Cross-Browser Compatibility
- **Issue #52:** Implement Error Tracking & Monitoring (Sentry)
### Backend Issues
- **Issue #30:** Full-Text Search with Weaviate
- **Issue #31:** Distributed Tracing with OpenTelemetry
- **Issue #32:** Prometheus Metrics & Grafana Dashboards
- **Issue #33:** Structured Logging Enhancement
- **Issue #34:** Read Models (DTOs) for Efficient Queries
- **Issue #35:** Redis Caching Strategy
- **Issue #36:** Production Deployment Automation
- **Issue #37:** Security Hardening
- **Issue #38:** Kubernetes Infrastructure as Code

274
tsc_errors.log Normal file
View File

@ -0,0 +1,274 @@
client/src/components/annotation/AnnotationSystem.tsx(66,6): error TS2322: Type 'number' is not assignable to type 'string'.
client/src/components/annotation/AnnotationSystem.tsx(67,6): error TS2322: Type 'number' is not assignable to type 'string'.
client/src/components/annotation/AnnotationSystem.tsx(68,6): error TS2322: Type 'number | undefined' is not assignable to type 'string | undefined'.
Type 'number' is not assignable to type 'string'.
client/src/components/annotation/AnnotationSystem.tsx(70,6): error TS2322: Type 'number' is not assignable to type 'string'.
client/src/components/annotation/AnnotationSystem.tsx(75,6): error TS2322: Type 'Date' is not assignable to type 'string'.
client/src/components/annotation/AnnotationSystem.tsx(80,6): error TS2322: Type 'number' is not assignable to type 'string'.
client/src/components/annotation/AnnotationSystem.tsx(81,6): error TS2322: Type 'number' is not assignable to type 'string'.
client/src/components/annotation/AnnotationSystem.tsx(82,6): error TS2322: Type 'number | undefined' is not assignable to type 'string | undefined'.
Type 'number' is not assignable to type 'string'.
client/src/components/annotation/AnnotationSystem.tsx(84,6): error TS2322: Type 'number' is not assignable to type 'string'.
client/src/components/annotation/AnnotationSystem.tsx(89,6): error TS2322: Type 'Date' is not assignable to type 'string'.
client/src/components/annotation/AnnotationSystem.tsx(110,5): error TS2322: Type 'number' is not assignable to type 'string'.
client/src/components/annotation/AnnotationSystem.tsx(111,5): error TS2322: Type 'number' is not assignable to type 'string'.
client/src/components/annotation/AnnotationSystem.tsx(112,5): error TS2322: Type 'number | undefined' is not assignable to type 'string | undefined'.
Type 'number' is not assignable to type 'string'.
client/src/components/annotation/AnnotationSystem.tsx(114,5): error TS2322: Type 'number' is not assignable to type 'string'.
client/src/components/annotation/AnnotationSystem.tsx(118,5): error TS2322: Type 'Date' is not assignable to type 'string'.
client/src/components/annotation/AnnotationSystem.tsx(150,6): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.
client/src/components/annotation/AnnotationSystem.tsx(153,22): error TS2339: Property 'liked' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/annotation/AnnotationSystem.tsx(154,21): error TS2339: Property 'liked' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/annotation/AnnotationSystem.tsx(154,34): error TS2339: Property 'likes' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/annotation/AnnotationSystem.tsx(154,51): error TS2339: Property 'likes' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/annotation/AnnotationSystem.tsx(178,15): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.
client/src/components/annotation/AnnotationSystem.tsx(200,26): error TS2345: Argument of type 'string' is not assignable to parameter of type 'SetStateAction<number | null>'.
client/src/components/annotation/AnnotationSystem.tsx(212,6): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.
client/src/components/annotation/AnnotationSystem.tsx(312,30): error TS2339: Property 'userAvatar' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/annotation/AnnotationSystem.tsx(313,30): error TS2339: Property 'userName' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/annotation/AnnotationSystem.tsx(316,26): error TS2339: Property 'userName' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/annotation/AnnotationSystem.tsx(321,26): error TS2339: Property 'userName' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/annotation/AnnotationSystem.tsx(330,12): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.
client/src/components/annotation/AnnotationSystem.tsx(345,52): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
client/src/components/annotation/AnnotationSystem.tsx(356,11): error TS2367: This comparison appears to be unintentional because the types 'number | null' and 'string' have no overlap.
client/src/components/annotation/AnnotationSystem.tsx(373,44): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
client/src/components/annotation/AnnotationSystem.tsx(392,23): error TS2339: Property 'liked' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/annotation/AnnotationSystem.tsx(396,47): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
client/src/components/annotation/AnnotationSystem.tsx(399,45): error TS2339: Property 'liked' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/annotation/AnnotationSystem.tsx(401,29): error TS2339: Property 'likes' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/annotation/annotation-browser.tsx(30,25): error TS2339: Property 'userAvatar' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/annotation/annotation-browser.tsx(31,25): error TS2339: Property 'userName' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/annotation/annotation-browser.tsx(34,21): error TS2339: Property 'userName' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/annotation/annotation-browser.tsx(39,21): error TS2339: Property 'userName' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/authors/composables/author-stats.tsx(72,26): error TS2339: Property 'formatNumber' does not exist on type 'AuthorDisplayUtils'.
client/src/components/authors/composables/author-stats.tsx(81,26): error TS2339: Property 'formatNumber' does not exist on type 'AuthorDisplayUtils'.
client/src/components/authors/composables/author-stats.tsx(86,28): error TS2339: Property 'averageRating' does not exist on type 'AuthorWithStats'.
client/src/components/authors/composables/author-stats.tsx(90,26): error TS2339: Property 'formatRating' does not exist on type 'AuthorDisplayUtils'.
client/src/components/authors/composables/author-stats.tsx(90,46): error TS2339: Property 'averageRating' does not exist on type 'AuthorWithStats'.
client/src/components/authors/composables/author-stats.tsx(95,32): error TS2339: Property 'totalReads' does not exist on type 'AuthorWithStats'.
client/src/components/authors/composables/author-stats.tsx(99,26): error TS2339: Property 'formatNumber' does not exist on type 'AuthorDisplayUtils'.
client/src/components/authors/composables/author-stats.tsx(99,46): error TS2339: Property 'totalReads' does not exist on type 'AuthorWithStats'.
client/src/components/blog/tag-manager.tsx(35,43): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.
client/src/components/blog/tag-manager.tsx(46,33): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.
client/src/components/blog/tag-manager.tsx(61,48): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.
client/src/components/blog/tag-manager.tsx(88,39): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
client/src/components/explore/FilterSidebar.tsx(363,41): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
client/src/components/explore/FilterSidebar.tsx(366,34): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
client/src/components/explore/FilterSidebar.tsx(396,21): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
client/src/components/explore/FilterSidebar.tsx(397,45): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
client/src/components/explore/FilterSidebar.tsx(405,44): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
client/src/components/reading/AnnotationSystem.tsx(66,6): error TS2322: Type 'number' is not assignable to type 'string'.
client/src/components/reading/AnnotationSystem.tsx(67,6): error TS2322: Type 'number' is not assignable to type 'string'.
client/src/components/reading/AnnotationSystem.tsx(68,6): error TS2322: Type 'number | undefined' is not assignable to type 'string | undefined'.
Type 'number' is not assignable to type 'string'.
client/src/components/reading/AnnotationSystem.tsx(70,6): error TS2322: Type 'number' is not assignable to type 'string'.
client/src/components/reading/AnnotationSystem.tsx(75,6): error TS2322: Type 'Date' is not assignable to type 'string'.
client/src/components/reading/AnnotationSystem.tsx(80,6): error TS2322: Type 'number' is not assignable to type 'string'.
client/src/components/reading/AnnotationSystem.tsx(81,6): error TS2322: Type 'number' is not assignable to type 'string'.
client/src/components/reading/AnnotationSystem.tsx(82,6): error TS2322: Type 'number | undefined' is not assignable to type 'string | undefined'.
Type 'number' is not assignable to type 'string'.
client/src/components/reading/AnnotationSystem.tsx(84,6): error TS2322: Type 'number' is not assignable to type 'string'.
client/src/components/reading/AnnotationSystem.tsx(89,6): error TS2322: Type 'Date' is not assignable to type 'string'.
client/src/components/reading/AnnotationSystem.tsx(110,5): error TS2322: Type 'number' is not assignable to type 'string'.
client/src/components/reading/AnnotationSystem.tsx(111,5): error TS2322: Type 'number' is not assignable to type 'string'.
client/src/components/reading/AnnotationSystem.tsx(112,5): error TS2322: Type 'number | undefined' is not assignable to type 'string | undefined'.
Type 'number' is not assignable to type 'string'.
client/src/components/reading/AnnotationSystem.tsx(114,5): error TS2322: Type 'number' is not assignable to type 'string'.
client/src/components/reading/AnnotationSystem.tsx(118,5): error TS2322: Type 'Date' is not assignable to type 'string'.
client/src/components/reading/AnnotationSystem.tsx(150,6): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.
client/src/components/reading/AnnotationSystem.tsx(153,22): error TS2339: Property 'liked' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/reading/AnnotationSystem.tsx(154,21): error TS2339: Property 'liked' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/reading/AnnotationSystem.tsx(154,34): error TS2339: Property 'likes' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/reading/AnnotationSystem.tsx(154,51): error TS2339: Property 'likes' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/reading/AnnotationSystem.tsx(178,15): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.
client/src/components/reading/AnnotationSystem.tsx(200,26): error TS2345: Argument of type 'string' is not assignable to parameter of type 'SetStateAction<number | null>'.
client/src/components/reading/AnnotationSystem.tsx(212,6): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.
client/src/components/reading/AnnotationSystem.tsx(312,30): error TS2339: Property 'userAvatar' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/reading/AnnotationSystem.tsx(313,30): error TS2339: Property 'userName' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/reading/AnnotationSystem.tsx(316,26): error TS2339: Property 'userName' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/reading/AnnotationSystem.tsx(321,26): error TS2339: Property 'userName' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/reading/AnnotationSystem.tsx(330,12): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.
client/src/components/reading/AnnotationSystem.tsx(345,52): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
client/src/components/reading/AnnotationSystem.tsx(356,11): error TS2367: This comparison appears to be unintentional because the types 'number | null' and 'string' have no overlap.
client/src/components/reading/AnnotationSystem.tsx(373,44): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
client/src/components/reading/AnnotationSystem.tsx(392,23): error TS2339: Property 'liked' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/reading/AnnotationSystem.tsx(396,47): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
client/src/components/reading/AnnotationSystem.tsx(399,45): error TS2339: Property 'liked' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/reading/AnnotationSystem.tsx(401,29): error TS2339: Property 'likes' does not exist on type '{ id: string; workId: string; content: string; type: string; userId: string; isOfficial: boolean; createdAt: string; translationId?: string | undefined; lineNumber?: number | undefined; }'.
client/src/components/reading/EnhancedReadingView.tsx(50,4): error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'number | (() => number | undefined) | undefined'.
Type 'string' is not assignable to type 'number | (() => number | undefined) | undefined'.
client/src/components/reading/EnhancedReadingView.tsx(67,10): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number | undefined' have no overlap.
client/src/components/reading/EnhancedReadingView.tsx(128,6): error TS2448: Block-scoped variable 'updateReadingProgress' used before its declaration.
client/src/components/reading/EnhancedReadingView.tsx(128,6): error TS2454: Variable 'updateReadingProgress' is used before being assigned.
client/src/components/reading/EnhancedReadingView.tsx(571,9): error TS2322: Type 'number | undefined' is not assignable to type 'string | undefined'.
Type 'number' is not assignable to type 'string'.
client/src/components/reading/EnhancedReadingView.tsx(584,8): error TS2322: Type 'number | undefined' is not assignable to type 'string | undefined'.
Type 'number' is not assignable to type 'string'.
client/src/components/reading/EnhancedReadingView.tsx(587,8): error TS2322: Type 'Dispatch<SetStateAction<number | undefined>>' is not assignable to type '(translationId: string) => void'.
Types of parameters 'value' and 'translationId' are incompatible.
Type 'string' is not assignable to type 'SetStateAction<number | undefined>'.
client/src/components/reading/EnhancedReadingView.tsx(600,8): error TS2322: Type 'string' is not assignable to type 'number'.
client/src/components/reading/EnhancedReadingView.tsx(630,6): error TS2322: Type 'string' is not assignable to type 'number'.
client/src/components/reading/EnhancedReadingView.tsx(660,10): error TS2322: Type 'string' is not assignable to type 'number'.
client/src/components/reading/ReadingView.tsx(23,4): error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'number | (() => number | undefined) | undefined'.
Type 'string' is not assignable to type 'number | (() => number | undefined) | undefined'.
client/src/components/reading/ReadingView.tsx(26,3): error TS2322: Type 'string' is not assignable to type 'number'.
client/src/components/reading/ReadingView.tsx(36,10): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number | undefined' have no overlap.
client/src/components/reading/ReadingView.tsx(258,8): error TS2322: Type 'number | undefined' is not assignable to type 'string | undefined'.
Type 'number' is not assignable to type 'string'.
client/src/components/reading/ReadingView.tsx(271,9): error TS2322: Type 'number | undefined' is not assignable to type 'string | undefined'.
Type 'number' is not assignable to type 'string'.
client/src/components/reading/ReadingView.tsx(273,9): error TS2322: Type 'Dispatch<SetStateAction<number | undefined>>' is not assignable to type '(translationId: string) => void'.
Types of parameters 'value' and 'translationId' are incompatible.
Type 'string' is not assignable to type 'SetStateAction<number | undefined>'.
client/src/components/search/FilterSidebar.tsx(363,41): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
client/src/components/search/FilterSidebar.tsx(366,34): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
client/src/components/search/FilterSidebar.tsx(396,21): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
client/src/components/search/FilterSidebar.tsx(397,45): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
client/src/components/search/FilterSidebar.tsx(405,44): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
client/src/components/work/EnhancedReadingView.tsx(50,4): error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'number | (() => number | undefined) | undefined'.
Type 'string' is not assignable to type 'number | (() => number | undefined) | undefined'.
client/src/components/work/EnhancedReadingView.tsx(67,10): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number | undefined' have no overlap.
client/src/components/work/EnhancedReadingView.tsx(128,6): error TS2448: Block-scoped variable 'updateReadingProgress' used before its declaration.
client/src/components/work/EnhancedReadingView.tsx(128,6): error TS2454: Variable 'updateReadingProgress' is used before being assigned.
client/src/components/work/EnhancedReadingView.tsx(571,9): error TS2322: Type 'number | undefined' is not assignable to type 'string | undefined'.
Type 'number' is not assignable to type 'string'.
client/src/components/work/EnhancedReadingView.tsx(584,8): error TS2322: Type 'number | undefined' is not assignable to type 'string | undefined'.
Type 'number' is not assignable to type 'string'.
client/src/components/work/EnhancedReadingView.tsx(587,8): error TS2322: Type 'Dispatch<SetStateAction<number | undefined>>' is not assignable to type '(translationId: string) => void'.
Types of parameters 'value' and 'translationId' are incompatible.
Type 'string' is not assignable to type 'SetStateAction<number | undefined>'.
client/src/components/work/EnhancedReadingView.tsx(600,8): error TS2322: Type 'string' is not assignable to type 'number'.
client/src/components/work/EnhancedReadingView.tsx(630,6): error TS2322: Type 'string' is not assignable to type 'number'.
client/src/components/work/EnhancedReadingView.tsx(660,10): error TS2322: Type 'string' is not assignable to type 'number'.
client/src/hooks/use-author-profile.ts(86,58): error TS2339: Property 'name' does not exist on type 'string'.
client/src/hooks/use-author-profile.ts(107,40): error TS2339: Property 'name' does not exist on type 'string'.
client/src/hooks/use-author-profile.ts(139,24): error TS2345: Argument of type '{ id: string; title: string; slug: string; authorId: string; type: "other" | "poem" | "story" | "novel" | "play" | "essay"; language: string; content: string; createdAt: string; year?: number | undefined; ... 8 more ...; copyrightId?: string | undefined; }' is not assignable to parameter of type '{ id: string; title: string; slug: string; authorId: string; type: "other" | "poem" | "story" | "novel" | "play" | "essay"; language: string; content: string; createdAt: string; year?: number | undefined; ... 8 more ...; likes?: number | undefined; }'.
Types of property 'tags' are incompatible.
Type 'string[] | undefined' is not assignable to type '{ id: string; name: string; type: string; createdAt: string; }[] | undefined'.
Type 'string[]' is not assignable to type '{ id: string; name: string; type: string; createdAt: string; }[]'.
Type 'string' is not assignable to type '{ id: string; name: string; type: string; createdAt: string; }'.
client/src/hooks/use-comparison-slider.ts(81,3): error TS2322: Type 'RefObject<HTMLDivElement | null>' is not assignable to type 'RefObject<HTMLDivElement>'.
Type 'HTMLDivElement | null' is not assignable to type 'HTMLDivElement'.
Type 'null' is not assignable to type 'HTMLDivElement'.
client/src/hooks/use-work-api.ts(59,49): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'.
client/src/pages/Explore.tsx(174,7): error TS2740: Type '{}' is missing the following properties from type '{ id: string; name: string; type: string; createdAt: string; }[]': length, pop, push, concat, and 35 more.
client/src/pages/Home.tsx(101,13): error TS2322: Type '{ id: string; name: string; slug: string; createdAt: string; works: { id: string; title: string; slug: string; authorId: string; type: "other" | "poem" | "story" | "novel" | "play" | "essay"; language: string; ... 11 more ...; likes?: number | undefined; }[]; ... 11 more ...; copyright?: { ...; } | undefined; }' is not assignable to type '{ id: string; name: string; slug: string; createdAt: string; birthYear?: number | undefined; deathYear?: number | undefined; country?: string | undefined; biography?: string | undefined; ... 5 more ...; copyrightId?: string | undefined; }'.
Types of property 'country' are incompatible.
Type '{ id: string; name: string; code: string; language: string; createdAt: string; updatedAt?: string | undefined; } | undefined' is not assignable to type 'string | undefined'.
Type '{ id: string; name: string; code: string; language: string; createdAt: string; updatedAt?: string | undefined; }' is not assignable to type 'string'.
client/src/pages/Search.tsx(451,37): error TS2322: Type '{ id: string; title: string; slug: string; authorId: string; type: "other" | "poem" | "story" | "novel" | "play" | "essay"; language: string; content: string; createdAt: string; year?: number | undefined; ... 8 more ...; copyrightId?: string | undefined; } | { ...; }' is not assignable to type '{ id: string; title: string; slug: string; authorId: string; type: "other" | "poem" | "story" | "novel" | "play" | "essay"; language: string; content: string; createdAt: string; year?: number | undefined; ... 8 more ...; likes?: number | undefined; }'.
Type '{ id: string; title: string; slug: string; authorId: string; type: "other" | "poem" | "story" | "novel" | "play" | "essay"; language: string; content: string; createdAt: string; year?: number | undefined; ... 8 more ...; copyrightId?: string | undefined; }' is not assignable to type '{ id: string; title: string; slug: string; authorId: string; type: "other" | "poem" | "story" | "novel" | "play" | "essay"; language: string; content: string; createdAt: string; year?: number | undefined; ... 8 more ...; likes?: number | undefined; }'.
Types of property 'tags' are incompatible.
Type 'string[] | undefined' is not assignable to type '{ id: string; name: string; type: string; createdAt: string; }[] | undefined'.
Type 'string[]' is not assignable to type '{ id: string; name: string; type: string; createdAt: string; }[]'.
Type 'string' is not assignable to type '{ id: string; name: string; type: string; createdAt: string; }'.
client/src/pages/Search.tsx(457,37): error TS2322: Type '{ id: string; title: string; slug: string; authorId: string; type: "other" | "poem" | "story" | "novel" | "play" | "essay"; language: string; content: string; createdAt: string; year?: number | undefined; ... 8 more ...; copyrightId?: string | undefined; } | { ...; }' is not assignable to type '{ id: string; title: string; slug: string; authorId: string; type: "other" | "poem" | "story" | "novel" | "play" | "essay"; language: string; content: string; createdAt: string; year?: number | undefined; ... 8 more ...; likes?: number | undefined; }'.
Type '{ id: string; title: string; slug: string; authorId: string; type: "other" | "poem" | "story" | "novel" | "play" | "essay"; language: string; content: string; createdAt: string; year?: number | undefined; ... 8 more ...; copyrightId?: string | undefined; }' is not assignable to type '{ id: string; title: string; slug: string; authorId: string; type: "other" | "poem" | "story" | "novel" | "play" | "essay"; language: string; content: string; createdAt: string; year?: number | undefined; ... 8 more ...; likes?: number | undefined; }'.
Types of property 'tags' are incompatible.
Type 'string[] | undefined' is not assignable to type '{ id: string; name: string; type: string; createdAt: string; }[] | undefined'.
Type 'string[]' is not assignable to type '{ id: string; name: string; type: string; createdAt: string; }[]'.
Type 'string' is not assignable to type '{ id: string; name: string; type: string; createdAt: string; }'.
client/src/pages/authors/AuthorProfile.tsx(327,72): error TS2339: Property 'toLowerCase' does not exist on type '{ id: string; name: string; code: string; language: string; createdAt: string; updatedAt?: string | undefined; }'.
client/src/pages/authors/AuthorProfile.tsx(328,25): error TS2322: Type '{ id: string; name: string; code: string; language: string; createdAt: string; updatedAt?: string | undefined; }' is not assignable to type 'string'.
client/src/pages/authors/AuthorProfile.tsx(332,25): error TS2322: Type '{ id: string; name: string; code: string; language: string; createdAt: string; updatedAt?: string | undefined; }' is not assignable to type 'ReactNode'.
client/src/pages/authors/AuthorProfile.tsx(553,52): error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
Type 'undefined' is not assignable to type 'string'.
client/src/pages/authors/AuthorProfile.tsx(553,66): error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
Type 'undefined' is not assignable to type 'string'.
client/src/pages/authors/AuthorProfile.tsx(555,52): error TS2322: Type 'string | undefined' is not assignable to type 'string'.
Type 'undefined' is not assignable to type 'string'.
client/src/pages/authors/AuthorProfile.tsx(796,42): error TS2339: Property 'length' does not exist on type '{}'.
client/src/pages/authors/AuthorProfile.tsx(797,35): error TS2740: Type '{}' is missing the following properties from type '{ id: string; authorId: string; year: number; title: string; createdAt: string; description?: string | undefined; }[]': length, pop, push, concat, and 35 more.
client/src/pages/authors/AuthorProfile.tsx(1034,25): error TS2322: Type 'string | { id: string; name: string; code: string; language: string; createdAt: string; updatedAt?: string | undefined; }' is not assignable to type 'ReactNode'.
Type '{ id: string; name: string; code: string; language: string; createdAt: string; updatedAt?: string | undefined; }' is not assignable to type 'ReactNode'.
client/src/pages/authors/AuthorProfile.tsx(1183,31): error TS2322: Type 'string | { id: string; name: string; code: string; language: string; createdAt: string; updatedAt?: string | undefined; }' is not assignable to type 'ReactNode'.
Type '{ id: string; name: string; code: string; language: string; createdAt: string; updatedAt?: string | undefined; }' is not assignable to type 'ReactNode'.
client/src/pages/authors/Authors.tsx(104,24): error TS2345: Argument of type 'string' is not assignable to parameter of type 'SetStateAction<number | null>'.
client/src/pages/authors/Authors.tsx(110,15): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number | null' have no overlap.
client/src/pages/authors/Authors.tsx(127,35): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
client/src/pages/authors/Authors.tsx(127,42): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
client/src/pages/authors/Authors.tsx(127,49): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
client/src/pages/authors/Authors.tsx(127,56): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
client/src/pages/authors/Authors.tsx(290,9): error TS18048: 'author.biography.length' is possibly 'undefined'.
client/src/pages/blog/BlogDetail.tsx(226,26): error TS2345: Argument of type 'string' is not assignable to parameter of type 'Date'.
client/src/pages/blog/BlogDetail.tsx(318,8): error TS2367: This comparison appears to be unintentional because the types 'string | undefined' and 'number' have no overlap.
client/src/pages/blog/BlogList.tsx(182,26): error TS2345: Argument of type 'string' is not assignable to parameter of type 'Date'.
client/src/pages/collections/Collections.tsx(89,12): error TS18048: 'collection.description.length' is possibly 'undefined'.
client/src/pages/dashboard/BlogEdit.tsx(22,36): error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
Type 'undefined' is not assignable to type 'string'.
client/src/pages/dashboard/BlogManagement.tsx(64,45): error TS2345: Argument of type '{ method: string; }' is not assignable to parameter of type 'string'.
client/src/pages/dashboard/BlogManagement.tsx(209,47): error TS2345: Argument of type 'string' is not assignable to parameter of type 'SetStateAction<number | null>'.
client/src/pages/dashboard/Dashboard.tsx(223,24): error TS2339: Property 'slice' does not exist on type '{}'.
client/src/pages/user/Profile.tsx(60,20): error TS2339: Property 'avatar' does not exist on type '{}'.
client/src/pages/user/Profile.tsx(61,20): error TS2339: Property 'displayName' does not exist on type '{}'.
client/src/pages/user/Profile.tsx(61,40): error TS2339: Property 'username' does not exist on type '{}'.
client/src/pages/user/Profile.tsx(64,17): error TS2339: Property 'displayName' does not exist on type '{}'.
client/src/pages/user/Profile.tsx(64,37): error TS2339: Property 'username' does not exist on type '{}'.
client/src/pages/user/Profile.tsx(71,16): error TS2339: Property 'displayName' does not exist on type '{}'.
client/src/pages/user/Profile.tsx(71,36): error TS2339: Property 'username' does not exist on type '{}'.
client/src/pages/user/Profile.tsx(74,17): error TS2339: Property 'username' does not exist on type '{}'.
client/src/pages/user/Profile.tsx(77,16): error TS2339: Property 'bio' does not exist on type '{}'.
client/src/pages/user/Profile.tsx(146,38): error TS2322: Type '{ id: string; title: string; slug: string; authorId: string; type: "other" | "poem" | "story" | "novel" | "play" | "essay"; language: string; content: string; createdAt: string; year?: number | undefined; ... 8 more ...; copyrightId?: string | undefined; }' is not assignable to type '{ id: string; title: string; slug: string; authorId: string; type: "other" | "poem" | "story" | "novel" | "play" | "essay"; language: string; content: string; createdAt: string; year?: number | undefined; ... 8 more ...; likes?: number | undefined; }'.
Types of property 'tags' are incompatible.
Type 'string[] | undefined' is not assignable to type '{ id: string; name: string; type: string; createdAt: string; }[] | undefined'.
Type 'string[]' is not assignable to type '{ id: string; name: string; type: string; createdAt: string; }[]'.
Type 'string' is not assignable to type '{ id: string; name: string; type: string; createdAt: string; }'.
client/src/pages/user/Profile.tsx(177,26): error TS2339: Property 'length' does not exist on type '{}'.
client/src/pages/user/Profile.tsx(214,28): error TS2339: Property 'length' does not exist on type '{}'.
client/src/pages/works/NewWorkReading.tsx(198,43): error TS2448: Block-scoped variable 'generateLinguisticAnalysis' used before its declaration.
client/src/pages/works/NewWorkReading.tsx(198,43): error TS2454: Variable 'generateLinguisticAnalysis' is used before being assigned.
client/src/pages/works/NewWorkReading.tsx(385,11): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.
client/src/pages/works/NewWorkReading.tsx(395,11): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.
client/src/pages/works/NewWorkReading.tsx(578,10): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number | undefined' have no overlap.
client/src/pages/works/NewWorkReading.tsx(581,10): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number | undefined' have no overlap.
client/src/pages/works/NewWorkReading.tsx(671,14): error TS2367: This comparison appears to be unintentional because the types 'number | undefined' and 'string' have no overlap.
client/src/pages/works/NewWorkReading.tsx(677,53): error TS2345: Argument of type 'string' is not assignable to parameter of type 'SetStateAction<number | undefined>'.
client/src/pages/works/NewWorkReading.tsx(1122,32): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number | undefined' have no overlap.
client/src/pages/works/NewWorkReading.tsx(1130,46): error TS2345: Argument of type 'string' is not assignable to parameter of type 'SetStateAction<number | undefined>'.
client/src/pages/works/NewWorkReading.tsx(1760,42): error TS2345: Argument of type 'string' is not assignable to parameter of type 'SetStateAction<number | undefined>'.
client/src/pages/works/NewWorkReading.tsx(1774,43): error TS2345: Argument of type 'string' is not assignable to parameter of type 'SetStateAction<number | undefined>'.
client/src/pages/works/SimpleWorkReading.tsx(150,24): error TS2448: Block-scoped variable 'contentToLines' used before its declaration.
client/src/pages/works/SimpleWorkReading.tsx(150,24): error TS2454: Variable 'contentToLines' is used before being assigned.
client/src/pages/works/SimpleWorkReading.tsx(150,40): error TS2448: Block-scoped variable 'getSelectedContent' used before its declaration.
client/src/pages/works/SimpleWorkReading.tsx(150,40): error TS2454: Variable 'getSelectedContent' is used before being assigned.
client/src/pages/works/SimpleWorkReading.tsx(166,3): error TS2448: Block-scoped variable 'generateLinguisticAnalysis' used before its declaration.
client/src/pages/works/SimpleWorkReading.tsx(166,3): error TS2454: Variable 'generateLinguisticAnalysis' is used before being assigned.
client/src/pages/works/SimpleWorkReading.tsx(167,3): error TS2448: Block-scoped variable 'getSelectedContent' used before its declaration.
client/src/pages/works/SimpleWorkReading.tsx(167,3): error TS2454: Variable 'getSelectedContent' is used before being assigned.
client/src/pages/works/SimpleWorkReading.tsx(175,11): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.
client/src/pages/works/SimpleWorkReading.tsx(356,11): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.
client/src/pages/works/SimpleWorkReading.tsx(512,10): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number | undefined' have no overlap.
client/src/pages/works/SimpleWorkReading.tsx(604,11): error TS2367: This comparison appears to be unintentional because the types 'number | undefined' and 'string' have no overlap.
client/src/pages/works/SimpleWorkReading.tsx(609,50): error TS2345: Argument of type 'string' is not assignable to parameter of type 'SetStateAction<number | undefined>'.
client/src/pages/works/SimpleWorkReading.tsx(802,30): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number | undefined' have no overlap.
client/src/pages/works/SimpleWorkReading.tsx(809,44): error TS2345: Argument of type 'string' is not assignable to parameter of type 'SetStateAction<number | undefined>'.
client/src/pages/works/SimpleWorkReading.tsx(849,24): error TS2367: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.
client/src/pages/works/SimpleWorkReading.tsx(1317,41): error TS2345: Argument of type 'string' is not assignable to parameter of type 'SetStateAction<number | undefined>'.
client/src/pages/works/SimpleWorkReading.tsx(1331,42): error TS2345: Argument of type 'string' is not assignable to parameter of type 'SetStateAction<number | undefined>'.
server/routes/author.ts(27,13): error TS2339: Property 'authors' does not exist on type 'unknown'.
server/routes/author.ts(38,13): error TS2339: Property 'author' does not exist on type 'unknown'.
server/routes/author.ts(52,13): error TS2339: Property 'createAuthor' does not exist on type 'unknown'.
server/routes/blog.ts(18,14): error TS18046: 'data' is of type 'unknown'.
server/routes/bookmark.ts(22,13): error TS2339: Property 'bookmark' does not exist on type 'unknown'.
server/routes/like.ts(22,13): error TS2339: Property 'like' does not exist on type 'unknown'.
server/routes/like.ts(36,13): error TS2339: Property 'likes' does not exist on type 'unknown'.
server/routes/like.ts(51,13): error TS2339: Property 'createLike' does not exist on type 'unknown'.
server/routes/like.ts(64,13): error TS2339: Property 'deleteLike' does not exist on type 'unknown'.
server/routes/tag.ts(20,13): error TS2339: Property 'tags' does not exist on type 'unknown'.
server/routes/tag.ts(31,13): error TS2339: Property 'tag' does not exist on type 'unknown'.
server/routes/translation.ts(23,13): error TS2339: Property 'translation' does not exist on type 'unknown'.
server/routes/translation.ts(38,13): error TS2339: Property 'translations' does not exist on type 'unknown'.
server/routes/translation.ts(54,13): error TS2339: Property 'createTranslation' does not exist on type 'unknown'.
server/routes/translation.ts(70,13): error TS2339: Property 'updateTranslation' does not exist on type 'unknown'.
server/routes/translation.ts(87,13): error TS2339: Property 'deleteTranslation' does not exist on type 'unknown'.
server/routes/user.ts(22,13): error TS2339: Property 'user' does not exist on type 'unknown'.
server/routes/user.ts(35,13): error TS2339: Property 'users' does not exist on type 'unknown'.
server/routes/user.ts(46,13): error TS2339: Property 'updateUser' does not exist on type 'unknown'.
server/routes/user.ts(60,13): error TS2339: Property 'deleteUser' does not exist on type 'unknown'.
server/routes/userProfile.ts(7,3): error TS2724: '"../../shared/generated/graphql"' has no exported member named 'UpdateUserProfileDocument'. Did you mean 'UpdateUserDocument'?
server/routes/userProfile.ts(20,13): error TS2339: Property 'userProfile' does not exist on type 'unknown'.
server/routes/userProfile.ts(35,13): error TS2339: Property 'updateUserProfile' does not exist on type 'unknown'.
server/routes/work.ts(29,13): error TS2339: Property 'works' does not exist on type 'unknown'.
server/routes/work.ts(40,13): error TS2339: Property 'work' does not exist on type 'unknown'.
server/routes/work.ts(54,13): error TS2339: Property 'createWork' does not exist on type 'unknown'.