/** * PhotoDialog.vue - Cross-platform photo capture and selection component * * This component provides a unified interface for taking photos and selecting images * across different platforms (web, mobile) using the PlatformService. It supports: * - Taking photos using device camera * - Selecting images from device gallery * - Image cropping functionality * - Image upload to server * - Error handling and user feedback * * Features: * - Responsive design with mobile-first approach * - Cross-platform compatibility through PlatformService * - Image cropping with aspect ratio control * - Progress feedback during upload * - Comprehensive error handling * * @author Matthew Raymer * @version 1.0.0 * @file PhotoDialog.vue */