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

@@ -10,7 +10,7 @@ from rest_framework.views import APIView
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.permissions import AllowAny
from drf_spectacular.utils import extend_schema, extend_schema_view
from drf_spectacular.utils import extend_schema, extend_schema_view, OpenApiParameter
from drf_spectacular.types import OpenApiTypes
@@ -19,24 +19,23 @@ from drf_spectacular.types import OpenApiTypes
summary="Get trending content",
description="Retrieve trending parks and rides based on view counts, ratings, and recency.",
parameters=[
{
"name": "limit",
"in": "query",
"description": "Number of trending items to return (default: 20, max: 100)",
"required": False,
"schema": {"type": "integer", "default": 20, "maximum": 100},
},
{
"name": "timeframe",
"in": "query",
"description": "Timeframe for trending calculation (day, week, month) - default: week",
"required": False,
"schema": {
"type": "string",
"enum": ["day", "week", "month"],
"default": "week",
},
},
OpenApiParameter(
name="limit",
location=OpenApiParameter.QUERY,
description="Number of trending items to return (default: 20, max: 100)",
required=False,
type=OpenApiTypes.INT,
default=20,
),
OpenApiParameter(
name="timeframe",
location=OpenApiParameter.QUERY,
description="Timeframe for trending calculation (day, week, month) - default: week",
required=False,
type=OpenApiTypes.STR,
enum=["day", "week", "month"],
default="week",
),
],
responses={200: OpenApiTypes.OBJECT},
tags=["Trending"],
@@ -183,20 +182,22 @@ class TrendingAPIView(APIView):
summary="Get new content",
description="Retrieve recently added parks and rides.",
parameters=[
{
"name": "limit",
"in": "query",
"description": "Number of new items to return (default: 20, max: 100)",
"required": False,
"schema": {"type": "integer", "default": 20, "maximum": 100},
},
{
"name": "days",
"in": "query",
"description": "Number of days to look back for new content (default: 30, max: 365)",
"required": False,
"schema": {"type": "integer", "default": 30, "maximum": 365},
},
OpenApiParameter(
name="limit",
location=OpenApiParameter.QUERY,
description="Number of new items to return (default: 20, max: 100)",
required=False,
type=OpenApiTypes.INT,
default=20,
),
OpenApiParameter(
name="days",
location=OpenApiParameter.QUERY,
description="Number of days to look back for new content (default: 30, max: 365)",
required=False,
type=OpenApiTypes.INT,
default=30,
),
],
responses={200: OpenApiTypes.OBJECT},
tags=["Trending"],