feat: Add Chat UX improvements with notifications and @mention support
- Add ActionBar component with expandable toolbar for mobile - Add @mention functionality with autocomplete dropdown - Add browser notification system (push, sound, vibration) - Add NotificationSettings modal for user preferences - Add mention badges on room list cards - Add ReportPreview with Markdown rendering and copy/download - Add message copy functionality with hover actions - Add backend mentions field to messages with Alembic migration - Add lots field to rooms, remove templates - Optimize WebSocket database session handling - Various UX polish (animations, accessibility) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -46,7 +46,7 @@ class CreateRoomRequest(BaseModel):
|
||||
severity: SeverityLevel = Field(..., description="Severity level")
|
||||
location: Optional[str] = Field(None, max_length=255, description="Incident location")
|
||||
description: Optional[str] = Field(None, description="Detailed description")
|
||||
template: Optional[str] = Field(None, description="Template name to use")
|
||||
lots: Optional[List[str]] = Field(None, description="LOT batch numbers")
|
||||
|
||||
|
||||
class UpdateRoomRequest(BaseModel):
|
||||
@@ -57,6 +57,7 @@ class UpdateRoomRequest(BaseModel):
|
||||
location: Optional[str] = Field(None, max_length=255)
|
||||
description: Optional[str] = None
|
||||
resolution_notes: Optional[str] = None
|
||||
lots: Optional[List[str]] = Field(None, description="LOT batch numbers")
|
||||
|
||||
|
||||
class AddMemberRequest(BaseModel):
|
||||
@@ -111,6 +112,7 @@ class RoomResponse(BaseModel):
|
||||
location: Optional[str] = None
|
||||
description: Optional[str] = None
|
||||
resolution_notes: Optional[str] = None
|
||||
lots: List[str] = []
|
||||
created_by: str
|
||||
created_at: datetime
|
||||
resolved_at: Optional[datetime] = None
|
||||
@@ -137,18 +139,9 @@ class RoomListResponse(BaseModel):
|
||||
offset: int
|
||||
|
||||
|
||||
class TemplateResponse(BaseModel):
|
||||
"""Room template information"""
|
||||
template_id: int
|
||||
name: str
|
||||
description: Optional[str] = None
|
||||
incident_type: IncidentType
|
||||
default_severity: SeverityLevel
|
||||
default_members: Optional[List[dict]] = None
|
||||
metadata_fields: Optional[dict] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
class AddLotRequest(BaseModel):
|
||||
"""Request to add a LOT to a room"""
|
||||
lot: str = Field(..., min_length=1, description="LOT batch number to add")
|
||||
|
||||
|
||||
class PermissionResponse(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user