Files
Chunyu d7553520ce feat: 现代化翻页组件 + 完整项目更新
- 新增 Pagination 通用组件:首页/上一页/页码/下一页/末页导航
- PickModal 和 SwapModal 集成分页功能,每页20项
- 搜索/筛选切换自动回到第1页
- 现代化CSS样式:hover浮起动效、主色高亮、移动端适配
- 新增 dashboard、admin 管理模板
- 菜系(cuisine)模型和迁移
- 构建脚本 build.py 支持 PyInstaller 打包
- 前端资源重新构建
2026-08-28 13:44:21 +08:00

92 lines
2.4 KiB
HTML

{% extends "admin/base.html" %}
{% load i18n static jazzmin %}
{% get_jazzmin_settings request as jazzmin_settings %}
{% get_jazzmin_ui_tweaks as jazzmin_ui %}
{% block title %}{% trans "Password change successful" %} | {{ jazzmin_settings.site_title }}{% endblock %}
{% block bodyclass %}password-done-page{% endblock %}
{% block extrastyle %}
<style>
.password-done-page .app-content {
display: flex;
align-items: flex-start;
justify-content: center;
padding-top: 48px;
padding-bottom: 48px;
}
.done-card {
width: 100%;
max-width: 440px;
text-align: center;
background: var(--bs-card-bg, #fff);
border: 1px solid var(--bs-border-color, #dee2e6);
border-radius: 8px;
box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 6px 16px rgba(0,0,0,.04);
padding: 48px 32px 40px;
}
.done-icon {
width: 72px;
height: 72px;
border-radius: 50%;
background: linear-gradient(135deg, #10b981, #059669);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 20px;
font-size: 32px;
color: #fff;
animation: popIn .4s ease;
}
@keyframes popIn {
0% { transform: scale(.5); opacity: 0; }
70% { transform: scale(1.08); }
100% { transform: scale(1); opacity: 1; }
}
.done-card h2 {
font-size: 20px;
font-weight: 600;
margin: 0 0 8px;
color: var(--bs-body-color, #212529);
}
.done-card p {
font-size: 14px;
color: var(--bs-secondary-color, #6c757d);
margin: 0 0 28px;
line-height: 1.5;
}
.btn-back {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 10px 24px;
font-size: 14px;
font-weight: 500;
border-radius: 6px;
border: none;
background: linear-gradient(135deg, #4f46e5, #7c3aed);
color: #fff;
text-decoration: none;
cursor: pointer;
transition: opacity .15s, transform .1s;
}
.btn-back:hover { opacity: .9; color: #fff; text-decoration: none; }
.btn-back:active { transform: scale(.98); }
</style>
{% endblock %}
{% block page_content %}
<div class="app-content">
<div class="done-card">
<div class="done-icon"><i class="fas fa-check"></i></div>
<h2>{% trans "Password change successful" %}</h2>
<p>{% trans "Your password has been updated." %}</p>
<a href="{% url 'admin:index' %}" class="btn-back">
<i class="fas fa-arrow-left"></i>
{% trans "Back to admin" %}
</a>
</div>
</div>
{% endblock %}