feat: add Usage Limits Panel component with usage tracking and visual indicators for limits

style: implement custom color schemes and gradients for account section, enhancing visual hierarchy
This commit is contained in:
IGNY8 VPS (Salman)
2025-12-12 13:15:15 +00:00
parent 12956ec64a
commit 6e2101d019
29 changed files with 3622 additions and 85 deletions

View File

@@ -0,0 +1,49 @@
# Generated by Django 5.2.8 on 2025-12-12 11:26
import django.core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('igny8_core_auth', '0012_fix_subscription_constraints'),
]
operations = [
migrations.AddField(
model_name='plan',
name='max_clusters',
field=models.IntegerField(default=100, help_text='Maximum AI keyword clusters allowed (hard limit)', validators=[django.core.validators.MinValueValidator(1)]),
),
migrations.AddField(
model_name='plan',
name='max_content_ideas',
field=models.IntegerField(default=300, help_text='Maximum AI content ideas per month', validators=[django.core.validators.MinValueValidator(1)]),
),
migrations.AddField(
model_name='plan',
name='max_content_words',
field=models.IntegerField(default=100000, help_text='Maximum content words per month (e.g., 100000 = 100K words)', validators=[django.core.validators.MinValueValidator(1)]),
),
migrations.AddField(
model_name='plan',
name='max_image_prompts',
field=models.IntegerField(default=300, help_text='Maximum image prompts per month', validators=[django.core.validators.MinValueValidator(0)]),
),
migrations.AddField(
model_name='plan',
name='max_images_basic',
field=models.IntegerField(default=300, help_text='Maximum basic AI images per month', validators=[django.core.validators.MinValueValidator(0)]),
),
migrations.AddField(
model_name='plan',
name='max_images_premium',
field=models.IntegerField(default=60, help_text='Maximum premium AI images per month (DALL-E)', validators=[django.core.validators.MinValueValidator(0)]),
),
migrations.AddField(
model_name='plan',
name='max_keywords',
field=models.IntegerField(default=1000, help_text='Maximum total keywords allowed (hard limit)', validators=[django.core.validators.MinValueValidator(1)]),
),
]

View File

@@ -0,0 +1,49 @@
# Generated by Django 5.2.8 on 2025-12-12 12:24
import django.core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('igny8_core_auth', '0013_plan_max_clusters_plan_max_content_ideas_and_more'),
]
operations = [
migrations.AddField(
model_name='account',
name='usage_content_ideas',
field=models.IntegerField(default=0, help_text='Content ideas generated this month', validators=[django.core.validators.MinValueValidator(0)]),
),
migrations.AddField(
model_name='account',
name='usage_content_words',
field=models.IntegerField(default=0, help_text='Content words generated this month', validators=[django.core.validators.MinValueValidator(0)]),
),
migrations.AddField(
model_name='account',
name='usage_image_prompts',
field=models.IntegerField(default=0, help_text='Image prompts this month', validators=[django.core.validators.MinValueValidator(0)]),
),
migrations.AddField(
model_name='account',
name='usage_images_basic',
field=models.IntegerField(default=0, help_text='Basic AI images this month', validators=[django.core.validators.MinValueValidator(0)]),
),
migrations.AddField(
model_name='account',
name='usage_images_premium',
field=models.IntegerField(default=0, help_text='Premium AI images this month', validators=[django.core.validators.MinValueValidator(0)]),
),
migrations.AddField(
model_name='account',
name='usage_period_end',
field=models.DateTimeField(blank=True, help_text='Current billing period end', null=True),
),
migrations.AddField(
model_name='account',
name='usage_period_start',
field=models.DateTimeField(blank=True, help_text='Current billing period start', null=True),
),
]