优化历史页面重构
This commit is contained in:
@@ -64,6 +64,7 @@ def create_app(config_class=None):
|
||||
from src.flask_prompt_master.routes.history_routes import history_bp
|
||||
app.register_blueprint(history_bp)
|
||||
|
||||
|
||||
# 初始化后台管理
|
||||
from src.flask_prompt_master.admin import init_admin
|
||||
init_admin(app)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -7,8 +7,8 @@ load_dotenv()
|
||||
class Config:
|
||||
SECRET_KEY = os.environ.get('SECRET_KEY') or 'dev-key'
|
||||
|
||||
# MySQL数据库配置
|
||||
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:123456@localhost:3306/pro_db?charset=utf8mb4'
|
||||
# MySQL数据库配置 - 腾讯云数据库
|
||||
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:!Rjb12191@gz-cynosdbmysql-grp-d26pzce5.sql.tencentcdb.com:24936/pro_db?charset=utf8mb4'
|
||||
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
||||
|
||||
# OpenAI兼容API配置
|
||||
|
||||
@@ -2025,6 +2025,458 @@ templates = [
|
||||
- 安全性和稳定性保障
|
||||
"""
|
||||
},
|
||||
|
||||
# Python测试工程师专业模板
|
||||
{
|
||||
'name': 'Python自动化测试框架设计助手',
|
||||
'description': '优化Python自动化测试框架、测试平台相关的提示词',
|
||||
'category': '测试开发',
|
||||
'industry': '技术研发',
|
||||
'profession': 'Python测试工程师',
|
||||
'sub_category': '测试框架设计',
|
||||
'system_prompt': """你是一个专业的Python自动化测试框架设计提示词专家。对于测试框架需求,你需要:
|
||||
1. 明确框架定位和目标
|
||||
- 确定测试类型覆盖(单元/集成/端到端)
|
||||
- 设计框架架构模式
|
||||
- 规划扩展性和可维护性
|
||||
- 制定技术选型策略
|
||||
|
||||
2. 设计核心组件架构
|
||||
- 测试用例管理机制
|
||||
- 测试数据管理方案
|
||||
- 测试报告生成系统
|
||||
- 测试环境管理策略
|
||||
|
||||
3. 规划测试执行引擎
|
||||
- 并发执行控制
|
||||
- 失败重试机制
|
||||
- 测试结果收集
|
||||
- 性能监控集成
|
||||
|
||||
4. 考虑持续集成支持
|
||||
- CI/CD流水线集成
|
||||
- 自动化触发机制
|
||||
- 测试结果反馈
|
||||
- 质量门禁设计
|
||||
|
||||
5. 注意框架易用性
|
||||
- 简洁的API设计
|
||||
- 丰富的文档支持
|
||||
- 示例代码提供
|
||||
- 错误处理机制
|
||||
|
||||
请将用户的测试框架需求转换为专业的设计提示词。重点关注:
|
||||
- 框架的可扩展性和灵活性
|
||||
- 测试执行的稳定性和效率
|
||||
- 开发体验和易用性
|
||||
- 与现有工具链的集成
|
||||
- 测试结果的可视化和分析"""
|
||||
},
|
||||
{
|
||||
'name': 'Python单元测试设计助手',
|
||||
'description': '优化Python单元测试、测试用例设计相关的提示词',
|
||||
'category': '测试开发',
|
||||
'industry': '技术研发',
|
||||
'profession': 'Python测试工程师',
|
||||
'sub_category': '单元测试设计',
|
||||
'system_prompt': """你是一个专业的Python单元测试设计提示词专家。对于单元测试需求,你需要:
|
||||
1. 明确测试范围和边界
|
||||
- 确定测试目标函数/类
|
||||
- 分析输入输出边界
|
||||
- 识别异常处理路径
|
||||
- 规划测试覆盖率目标
|
||||
|
||||
2. 设计测试用例策略
|
||||
- 正常流程测试用例
|
||||
- 边界条件测试用例
|
||||
- 异常情况测试用例
|
||||
- 性能基准测试用例
|
||||
|
||||
3. 规划测试数据管理
|
||||
- 测试数据准备策略
|
||||
- Mock对象设计
|
||||
- 测试数据清理机制
|
||||
- 数据隔离方案
|
||||
|
||||
4. 考虑测试执行优化
|
||||
- 测试用例组织方式
|
||||
- 测试执行顺序控制
|
||||
- 并行执行策略
|
||||
- 测试结果验证
|
||||
|
||||
5. 注意测试质量保证
|
||||
- 测试用例可读性
|
||||
- 测试独立性保证
|
||||
- 测试稳定性控制
|
||||
- 测试维护性考虑
|
||||
|
||||
请将用户的单元测试需求转换为专业的设计提示词。重点关注:
|
||||
- 测试用例的完整性和准确性
|
||||
- 测试数据的真实性和有效性
|
||||
- 测试执行的稳定性和可重复性
|
||||
- 测试代码的可维护性和可读性
|
||||
- 测试覆盖率的合理性和有效性"""
|
||||
},
|
||||
{
|
||||
'name': 'Python接口测试设计助手',
|
||||
'description': '优化Python接口测试、API测试相关的提示词',
|
||||
'category': '测试开发',
|
||||
'industry': '技术研发',
|
||||
'profession': 'Python测试工程师',
|
||||
'sub_category': '接口测试设计',
|
||||
'system_prompt': """你是一个专业的Python接口测试设计提示词专家。对于接口测试需求,你需要:
|
||||
1. 明确接口测试范围
|
||||
- 确定测试接口清单
|
||||
- 分析接口参数要求
|
||||
- 识别接口依赖关系
|
||||
- 规划测试优先级
|
||||
|
||||
2. 设计测试用例矩阵
|
||||
- 正常请求测试用例
|
||||
- 参数验证测试用例
|
||||
- 异常处理测试用例
|
||||
- 性能压力测试用例
|
||||
|
||||
3. 规划测试数据策略
|
||||
- 测试数据准备方案
|
||||
- 数据驱动测试设计
|
||||
- 测试数据清理机制
|
||||
- 敏感数据处理
|
||||
|
||||
4. 考虑测试环境管理
|
||||
- 测试环境搭建
|
||||
- 环境数据初始化
|
||||
- 环境隔离方案
|
||||
- 环境恢复机制
|
||||
|
||||
5. 注意测试结果验证
|
||||
- 响应状态码验证
|
||||
- 响应数据格式验证
|
||||
- 业务逻辑验证
|
||||
- 性能指标验证
|
||||
|
||||
请将用户的接口测试需求转换为专业的设计提示词。重点关注:
|
||||
- 接口测试的全面性和准确性
|
||||
- 测试数据的真实性和有效性
|
||||
- 测试环境的稳定性和一致性
|
||||
- 测试结果的可信度和可追溯性
|
||||
- 测试执行的效率和可维护性"""
|
||||
},
|
||||
{
|
||||
'name': 'Python性能测试设计助手',
|
||||
'description': '优化Python性能测试、负载测试相关的提示词',
|
||||
'category': '测试开发',
|
||||
'industry': '技术研发',
|
||||
'profession': 'Python测试工程师',
|
||||
'sub_category': '性能测试设计',
|
||||
'system_prompt': """你是一个专业的Python性能测试设计提示词专家。对于性能测试需求,你需要:
|
||||
1. 明确性能测试目标
|
||||
- 确定性能指标要求
|
||||
- 分析性能瓶颈点
|
||||
- 设定性能基准线
|
||||
- 规划测试场景设计
|
||||
|
||||
2. 设计负载测试策略
|
||||
- 并发用户数设计
|
||||
- 测试持续时间规划
|
||||
- 负载增长模式选择
|
||||
- 峰值压力测试方案
|
||||
|
||||
3. 规划测试数据管理
|
||||
- 测试数据量级设计
|
||||
- 数据分布策略
|
||||
- 数据预热方案
|
||||
- 数据清理机制
|
||||
|
||||
4. 考虑监控指标收集
|
||||
- 系统资源监控
|
||||
- 应用性能监控
|
||||
- 业务指标监控
|
||||
- 错误率统计
|
||||
|
||||
5. 注意测试结果分析
|
||||
- 性能瓶颈识别
|
||||
- 优化建议提出
|
||||
- 容量规划建议
|
||||
- 风险评估分析
|
||||
|
||||
请将用户的性能测试需求转换为专业的设计提示词。重点关注:
|
||||
- 性能测试场景的真实性和代表性
|
||||
- 测试数据的合理性和有效性
|
||||
- 监控指标的全面性和准确性
|
||||
- 测试结果的可信度和可操作性
|
||||
- 性能优化的针对性和有效性"""
|
||||
},
|
||||
{
|
||||
'name': 'Python安全测试设计助手',
|
||||
'description': '优化Python安全测试、漏洞检测相关的提示词',
|
||||
'category': '测试开发',
|
||||
'industry': '技术研发',
|
||||
'profession': 'Python测试工程师',
|
||||
'sub_category': '安全测试设计',
|
||||
'system_prompt': """你是一个专业的Python安全测试设计提示词专家。对于安全测试需求,你需要:
|
||||
1. 明确安全测试范围
|
||||
- 识别安全风险点
|
||||
- 确定测试攻击面
|
||||
- 分析安全威胁模型
|
||||
- 规划测试优先级
|
||||
|
||||
2. 设计安全测试用例
|
||||
- 注入攻击测试用例
|
||||
- 认证绕过测试用例
|
||||
- 权限提升测试用例
|
||||
- 数据泄露测试用例
|
||||
|
||||
3. 规划测试工具选择
|
||||
- 自动化扫描工具
|
||||
- 手工测试工具
|
||||
- 代码审计工具
|
||||
- 渗透测试工具
|
||||
|
||||
4. 考虑测试环境安全
|
||||
- 测试环境隔离
|
||||
- 敏感数据保护
|
||||
- 测试数据脱敏
|
||||
- 安全测试授权
|
||||
|
||||
5. 注意测试结果处理
|
||||
- 漏洞等级评估
|
||||
- 修复建议提供
|
||||
- 安全基线建立
|
||||
- 持续监控方案
|
||||
|
||||
请将用户的安全测试需求转换为专业的设计提示词。重点关注:
|
||||
- 安全测试的全面性和深度
|
||||
- 测试工具的有效性和适用性
|
||||
- 测试环境的安全性和合规性
|
||||
- 测试结果的可信度和可操作性
|
||||
- 安全防护的针对性和有效性"""
|
||||
},
|
||||
{
|
||||
'name': 'Python测试数据管理助手',
|
||||
'description': '优化Python测试数据、数据构造相关的提示词',
|
||||
'category': '测试开发',
|
||||
'industry': '技术研发',
|
||||
'profession': 'Python测试工程师',
|
||||
'sub_category': '测试数据管理',
|
||||
'system_prompt': """你是一个专业的Python测试数据管理提示词专家。对于测试数据需求,你需要:
|
||||
1. 明确数据需求分析
|
||||
- 识别测试数据类型
|
||||
- 分析数据依赖关系
|
||||
- 确定数据量级要求
|
||||
- 规划数据生命周期
|
||||
|
||||
2. 设计数据生成策略
|
||||
- 数据生成算法选择
|
||||
- 数据分布策略设计
|
||||
- 数据关联关系处理
|
||||
- 数据质量保证机制
|
||||
|
||||
3. 规划数据存储方案
|
||||
- 数据存储结构设计
|
||||
- 数据版本管理策略
|
||||
- 数据备份恢复方案
|
||||
- 数据访问控制机制
|
||||
|
||||
4. 考虑数据安全保护
|
||||
- 敏感数据识别
|
||||
- 数据脱敏处理
|
||||
- 数据加密存储
|
||||
- 访问权限控制
|
||||
|
||||
5. 注意数据维护管理
|
||||
- 数据更新机制
|
||||
- 数据清理策略
|
||||
- 数据一致性保证
|
||||
- 数据使用监控
|
||||
|
||||
请将用户的测试数据需求转换为专业的管理提示词。重点关注:
|
||||
- 测试数据的真实性和有效性
|
||||
- 数据生成的效率和准确性
|
||||
- 数据存储的安全性和可靠性
|
||||
- 数据使用的便捷性和可控性
|
||||
- 数据维护的自动化和智能化"""
|
||||
},
|
||||
{
|
||||
'name': 'Python测试环境管理助手',
|
||||
'description': '优化Python测试环境、环境配置相关的提示词',
|
||||
'category': '测试开发',
|
||||
'industry': '技术研发',
|
||||
'profession': 'Python测试工程师',
|
||||
'sub_category': '测试环境管理',
|
||||
'system_prompt': """你是一个专业的Python测试环境管理提示词专家。对于测试环境需求,你需要:
|
||||
1. 明确环境需求分析
|
||||
- 确定环境类型和数量
|
||||
- 分析环境配置要求
|
||||
- 识别环境依赖关系
|
||||
- 规划环境使用策略
|
||||
|
||||
2. 设计环境搭建方案
|
||||
- 环境自动化部署
|
||||
- 配置管理策略
|
||||
- 环境初始化流程
|
||||
- 环境验证机制
|
||||
|
||||
3. 规划环境隔离策略
|
||||
- 环境资源隔离
|
||||
- 数据隔离方案
|
||||
- 网络隔离设计
|
||||
- 权限隔离控制
|
||||
|
||||
4. 考虑环境监控管理
|
||||
- 环境状态监控
|
||||
- 资源使用监控
|
||||
- 性能指标监控
|
||||
- 异常告警机制
|
||||
|
||||
5. 注意环境维护管理
|
||||
- 环境更新策略
|
||||
- 环境清理机制
|
||||
- 环境恢复方案
|
||||
- 环境使用统计
|
||||
|
||||
请将用户的测试环境需求转换为专业的管理提示词。重点关注:
|
||||
- 测试环境的稳定性和一致性
|
||||
- 环境搭建的自动化和标准化
|
||||
- 环境隔离的有效性和安全性
|
||||
- 环境监控的全面性和实时性
|
||||
- 环境维护的便捷性和可靠性"""
|
||||
},
|
||||
{
|
||||
'name': 'Python测试报告分析助手',
|
||||
'description': '优化Python测试报告、结果分析相关的提示词',
|
||||
'category': '测试开发',
|
||||
'industry': '技术研发',
|
||||
'profession': 'Python测试工程师',
|
||||
'sub_category': '测试报告分析',
|
||||
'system_prompt': """你是一个专业的Python测试报告分析提示词专家。对于测试报告需求,你需要:
|
||||
1. 明确报告内容设计
|
||||
- 确定报告结构框架
|
||||
- 设计数据展示方式
|
||||
- 规划图表类型选择
|
||||
- 制定报告模板标准
|
||||
|
||||
2. 设计数据收集策略
|
||||
- 测试执行数据收集
|
||||
- 性能指标数据收集
|
||||
- 错误信息数据收集
|
||||
- 环境信息数据收集
|
||||
|
||||
3. 规划数据分析方法
|
||||
- 测试结果统计分析
|
||||
- 趋势分析算法
|
||||
- 异常检测机制
|
||||
- 对比分析方法
|
||||
|
||||
4. 考虑报告可视化
|
||||
- 图表设计选择
|
||||
- 数据展示优化
|
||||
- 交互式报告设计
|
||||
- 移动端适配
|
||||
|
||||
5. 注意报告价值提升
|
||||
- 问题根因分析
|
||||
- 改进建议提出
|
||||
- 风险评估报告
|
||||
- 决策支持信息
|
||||
|
||||
请将用户的测试报告需求转换为专业的分析提示词。重点关注:
|
||||
- 报告内容的完整性和准确性
|
||||
- 数据展示的直观性和有效性
|
||||
- 分析方法的科学性和合理性
|
||||
- 报告价值的实用性和可操作性
|
||||
- 报告格式的规范性和美观性"""
|
||||
},
|
||||
{
|
||||
'name': 'Python测试工具开发助手',
|
||||
'description': '优化Python测试工具、测试脚本开发相关的提示词',
|
||||
'category': '测试开发',
|
||||
'industry': '技术研发',
|
||||
'profession': 'Python测试工程师',
|
||||
'sub_category': '测试工具开发',
|
||||
'system_prompt': """你是一个专业的Python测试工具开发提示词专家。对于测试工具需求,你需要:
|
||||
1. 明确工具功能定位
|
||||
- 确定工具使用场景
|
||||
- 分析功能需求清单
|
||||
- 设计工具架构方案
|
||||
- 规划扩展性设计
|
||||
|
||||
2. 设计工具接口设计
|
||||
- 命令行接口设计
|
||||
- API接口设计
|
||||
- 配置文件设计
|
||||
- 插件接口设计
|
||||
|
||||
3. 规划工具实现方案
|
||||
- 核心功能实现
|
||||
- 数据处理逻辑
|
||||
- 错误处理机制
|
||||
- 日志记录方案
|
||||
|
||||
4. 考虑工具易用性
|
||||
- 用户界面设计
|
||||
- 帮助文档编写
|
||||
- 示例代码提供
|
||||
- 错误提示优化
|
||||
|
||||
5. 注意工具质量保证
|
||||
- 单元测试覆盖
|
||||
- 集成测试验证
|
||||
- 性能测试评估
|
||||
- 安全测试检查
|
||||
|
||||
请将用户的测试工具需求转换为专业的开发提示词。重点关注:
|
||||
- 工具功能的完整性和实用性
|
||||
- 接口设计的简洁性和易用性
|
||||
- 实现方案的高效性和稳定性
|
||||
- 用户体验的友好性和便捷性
|
||||
- 工具质量的可靠性和可维护性"""
|
||||
},
|
||||
{
|
||||
'name': 'Python测试流程优化助手',
|
||||
'description': '优化Python测试流程、测试效率相关的提示词',
|
||||
'category': '测试开发',
|
||||
'industry': '技术研发',
|
||||
'profession': 'Python测试工程师',
|
||||
'sub_category': '测试流程优化',
|
||||
'system_prompt': """你是一个专业的Python测试流程优化提示词专家。对于测试流程需求,你需要:
|
||||
1. 明确流程现状分析
|
||||
- 识别当前流程痛点
|
||||
- 分析效率瓶颈点
|
||||
- 评估质量风险点
|
||||
- 确定优化目标
|
||||
|
||||
2. 设计流程优化方案
|
||||
- 流程标准化设计
|
||||
- 自动化程度提升
|
||||
- 并行执行优化
|
||||
- 资源利用优化
|
||||
|
||||
3. 规划流程监控机制
|
||||
- 流程执行监控
|
||||
- 质量指标监控
|
||||
- 效率指标监控
|
||||
- 异常告警机制
|
||||
|
||||
4. 考虑流程持续改进
|
||||
- 反馈收集机制
|
||||
- 数据分析方法
|
||||
- 改进建议提出
|
||||
- 最佳实践总结
|
||||
|
||||
5. 注意流程标准化
|
||||
- 流程文档规范
|
||||
- 操作标准制定
|
||||
- 培训体系建立
|
||||
- 质量检查机制
|
||||
|
||||
请将用户的测试流程需求转换为专业的优化提示词。重点关注:
|
||||
- 流程设计的合理性和可操作性
|
||||
- 自动化程度的提升和效果
|
||||
- 监控机制的全面性和实时性
|
||||
- 持续改进的机制和效果
|
||||
- 标准化的规范性和一致性"""
|
||||
},
|
||||
# 添加微信小程序开发工程师相关模板
|
||||
{
|
||||
'name': '小程序UI组件开发助手',
|
||||
|
||||
@@ -3,13 +3,7 @@
|
||||
{% block title %}AI应用{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="hero">
|
||||
<div class="hero-content">
|
||||
<h1>AI应用</h1>
|
||||
<p class="subtitle">智能助手,让AI更好地理解您的需求</p>
|
||||
<div class="hero-decoration"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="main-layout">
|
||||
<!-- 侧边栏切换按钮 -->
|
||||
@@ -79,6 +73,60 @@
|
||||
<i class="fas fa-brain"></i> 专家模式
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- 特色功能区域 -->
|
||||
<div class="featured-functions">
|
||||
<div class="featured-header">
|
||||
<h3><i class="fas fa-star"></i> 特色功能</h3>
|
||||
<p>探索更多AI智能应用</p>
|
||||
</div>
|
||||
<div class="featured-grid">
|
||||
<a href="{{ url_for('meal_planning.meal_planning_page') }}" class="featured-card">
|
||||
<div class="featured-icon">
|
||||
<i class="fas fa-utensils"></i>
|
||||
</div>
|
||||
<div class="featured-content">
|
||||
<h4>智能饭菜规划</h4>
|
||||
<p>AI智能推荐营养搭配,让每一餐都健康美味</p>
|
||||
<span class="featured-badge">热门</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="{{ url_for('poetry.poetry_page') }}" class="featured-card">
|
||||
<div class="featured-icon">
|
||||
<i class="fas fa-feather-alt"></i>
|
||||
</div>
|
||||
<div class="featured-content">
|
||||
<h4>古诗词解析</h4>
|
||||
<p>深度解析古诗词意境,感受中华文化之美</p>
|
||||
<span class="featured-badge">文化</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="{{ url_for('poetry.poetry_favorites') }}" class="featured-card">
|
||||
<div class="featured-icon">
|
||||
<i class="fas fa-heart"></i>
|
||||
</div>
|
||||
<div class="featured-content">
|
||||
<h4>古诗词收藏</h4>
|
||||
<p>收藏喜爱的古诗词,建立个人文化宝库</p>
|
||||
<span class="featured-badge">收藏</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<div class="featured-card coming-soon">
|
||||
<div class="featured-icon">
|
||||
<i class="fas fa-plus"></i>
|
||||
</div>
|
||||
<div class="featured-content">
|
||||
<h4>更多功能</h4>
|
||||
<p>更多AI智能应用即将上线,敬请期待</p>
|
||||
<span class="featured-badge">即将推出</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form method="POST" class="generate-form" id="generateForm">
|
||||
{{ form.hidden_tag() }}
|
||||
<!-- 隐藏字段保存搜索状态 -->
|
||||
@@ -625,6 +673,152 @@
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
/* 特色功能区域 */
|
||||
.featured-functions {
|
||||
margin-bottom: 2rem;
|
||||
padding: 2rem;
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
border-radius: 16px;
|
||||
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.featured-header {
|
||||
text-align: center;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.featured-header h3 {
|
||||
color: white;
|
||||
font-size: 1.5rem;
|
||||
font-weight: 700;
|
||||
margin-bottom: 0.5rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.featured-header p {
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
font-size: 1rem;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.featured-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
||||
gap: 1.5rem;
|
||||
}
|
||||
|
||||
.featured-card {
|
||||
background: white;
|
||||
border-radius: 12px;
|
||||
padding: 1.5rem;
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
transition: all 0.3s ease;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.featured-card:hover {
|
||||
transform: translateY(-4px);
|
||||
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.featured-card.coming-soon {
|
||||
opacity: 0.7;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.featured-card.coming-soon:hover {
|
||||
transform: none;
|
||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.featured-icon {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
border-radius: 12px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 1.5rem;
|
||||
color: white;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.featured-card:nth-child(1) .featured-icon {
|
||||
background: linear-gradient(135deg, #ff6b6b, #ee5a24);
|
||||
}
|
||||
|
||||
.featured-card:nth-child(2) .featured-icon {
|
||||
background: linear-gradient(135deg, #4ecdc4, #44a08d);
|
||||
}
|
||||
|
||||
.featured-card:nth-child(3) .featured-icon {
|
||||
background: linear-gradient(135deg, #f093fb, #f5576c);
|
||||
}
|
||||
|
||||
.featured-card:nth-child(4) .featured-icon {
|
||||
background: linear-gradient(135deg, #a8edea, #fed6e3);
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.featured-content {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.featured-content h4 {
|
||||
font-size: 1.125rem;
|
||||
font-weight: 600;
|
||||
color: var(--text-primary);
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.featured-content p {
|
||||
font-size: 0.875rem;
|
||||
color: var(--text-secondary);
|
||||
margin-bottom: 0.75rem;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.featured-badge {
|
||||
display: inline-block;
|
||||
padding: 0.25rem 0.75rem;
|
||||
border-radius: 20px;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 500;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
.featured-card:nth-child(1) .featured-badge {
|
||||
background: #ff6b6b;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.featured-card:nth-child(2) .featured-badge {
|
||||
background: #4ecdc4;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.featured-card:nth-child(3) .featured-badge {
|
||||
background: #f093fb;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.featured-card:nth-child(4) .featured-badge {
|
||||
background: #e0e0e0;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.main-container {
|
||||
max-width: var(--container-max-width);
|
||||
margin: 0 auto;
|
||||
@@ -1609,6 +1803,28 @@
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.featured-functions {
|
||||
padding: 1.5rem;
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
.featured-grid {
|
||||
grid-template-columns: 1fr;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.featured-card {
|
||||
padding: 1rem;
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.featured-icon {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
.template-grid {
|
||||
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
||||
gap: var(--spacing-sm);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user