feat: Add PrimeProgress, PrimeSelect, and PrimeSkeleton components with customizable styles and props

- Implemented PrimeProgress component with support for labels, helper text, and various styles (size, variant, color).
- Created PrimeSelect component with dropdown functionality, custom templates, and validation states.
- Developed PrimeSkeleton component for loading placeholders with different shapes and animations.
- Updated index.ts to export new components for easy import.
- Enhanced PrimeVueTest.vue to include tests for new components and their functionalities.
- Introduced a custom ThrillWiki theme for PrimeVue with tailored color schemes and component styles.
- Added ambient type declarations for various components to improve TypeScript support.
This commit is contained in:
pacnpal
2025-08-27 21:00:02 -04:00
parent 6125c4ee44
commit 08a4a2d034
164 changed files with 73094 additions and 11001 deletions

View File

@@ -1,22 +1,63 @@
"""
ThrillWiki API v1 serializers module.
This module provides a unified interface to all serializers across different domains
while maintaining the modular structure for better organization and maintainability.
All serializers have been successfully refactored into domain-specific modules.
This module re-exports the explicit serializer names defined in the
package-level 'serializers' package (backend/apps/api/v1/serializers/__init__.py).
It avoids dynamic importlib usage and provides a stable, statically analyzable
re-export surface for linters.
"""
# Import all domain-specific serializers
from .serializers.shared import *
from .serializers.parks import *
from .serializers.companies import *
from .serializers.rides import *
from .serializers.accounts import *
from .serializers.other import *
from .serializers.media import *
from .serializers.search import *
from .serializers.services import *
from typing import Any
# All serializers are available through wildcard imports from domain modules
# This maintains full backward compatibility
# Instead of trying to import from .serializers (which causes a self-import
# / circular-import problem in this module), declare stable placeholders.
# Importers (e.g. views) can still do `from .serializers import LoginInputSerializer`
# and static analysis will see the symbol. At runtime, these may be replaced
# by the real serializers by the package-level serializers package, or left
# as None in environments where the package isn't available.
LoginInputSerializer: Any = None
LoginOutputSerializer: Any = None
SignupInputSerializer: Any = None
SignupOutputSerializer: Any = None
LogoutOutputSerializer: Any = None
UserOutputSerializer: Any = None
PasswordResetInputSerializer: Any = None
PasswordResetOutputSerializer: Any = None
PasswordChangeInputSerializer: Any = None
PasswordChangeOutputSerializer: Any = None
SocialProviderOutputSerializer: Any = None
AuthStatusOutputSerializer: Any = None
UserProfileCreateInputSerializer: Any = None
UserProfileUpdateInputSerializer: Any = None
UserProfileOutputSerializer: Any = None
TopListCreateInputSerializer: Any = None
TopListUpdateInputSerializer: Any = None
TopListOutputSerializer: Any = None
TopListItemCreateInputSerializer: Any = None
TopListItemUpdateInputSerializer: Any = None
TopListItemOutputSerializer: Any = None
# Explicit __all__ for static analysis — update this list if new serializers are added.
__all__ = (
"LoginInputSerializer",
"LoginOutputSerializer",
"SignupInputSerializer",
"SignupOutputSerializer",
"LogoutOutputSerializer",
"UserOutputSerializer",
"PasswordResetInputSerializer",
"PasswordResetOutputSerializer",
"PasswordChangeInputSerializer",
"PasswordChangeOutputSerializer",
"SocialProviderOutputSerializer",
"AuthStatusOutputSerializer",
"UserProfileCreateInputSerializer",
"UserProfileUpdateInputSerializer",
"UserProfileOutputSerializer",
"TopListCreateInputSerializer",
"TopListUpdateInputSerializer",
"TopListOutputSerializer",
"TopListItemCreateInputSerializer",
"TopListItemUpdateInputSerializer",
"TopListItemOutputSerializer",
)