improvements
This commit is contained in:
@@ -21,57 +21,41 @@
|
||||
<h2 class="text-2xl font-bold">Email Folders</h2>
|
||||
<p class="text-base-content/70">Create and manage your email organization rules</p>
|
||||
</div>
|
||||
<div data-loading-states>
|
||||
<button class="btn btn-primary" hx-get="/api/folders/new" hx-target="#modal-holder" hx-swap="innerHTML"
|
||||
data-loading-disable>
|
||||
<i class="fas fa-plus mr-2" data-loading-class="!hidden"></i>
|
||||
<span data-loading-class="!hidden">Add Folder</span>
|
||||
<span class="loading loading-spinner loading-xs hidden" data-loading-class-remove="hidden"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Welcome Section -->
|
||||
<div class="mb-8 p-6 bg-base-100 rounded-box shadow-lg border border-base-300">
|
||||
<h3 class="text-xl font-bold mb-2">Welcome to Email Organizer!</h3>
|
||||
<p class="text-base-content/80 mb-4">Organize your emails automatically with AI-powered rules. Create folders and set up rules to categorize incoming emails.</p>
|
||||
<div class="flex space-x-4" data-loading-states>
|
||||
<button class="btn btn-primary" hx-get="/api/folders/new" hx-target="#modal-holder"
|
||||
hx-swap="innerHTML"
|
||||
data-loading-disable>
|
||||
<i class="fas fa-plus mr-2" data-loading-class="!hidden"></i>
|
||||
<span data-loading-class="!hidden">Create Your First Folder</span>
|
||||
<span class="loading loading-spinner loading-xs hidden" data-loading-class-remove="hidden"></span>
|
||||
</button>
|
||||
<div class="flex space-x-2">
|
||||
{% if current_user.imap_config %}
|
||||
<div data-loading-states>
|
||||
<button class="btn btn-outline" hx-post="/api/imap/sync" hx-target="#folders-list"
|
||||
hx-swap="innerHTML"
|
||||
data-loading-disable>
|
||||
<i class="fas fa-sync mr-2" data-loading-class="!hidden"></i>
|
||||
<span data-loading-class="!hidden">Sync Folders</span>
|
||||
<span class="loading loading-spinner loading-xs hidden" data-loading-class-remove="hidden"></span>
|
||||
</button>
|
||||
</div>
|
||||
<div data-loading-states >
|
||||
<button class="btn btn-outline" hx-get="/api/imap/config" hx-target="#modal-holder" hx-swap="innerHTML"
|
||||
data-loading-disable>
|
||||
<i class="fas fa-cog" data-loading-class="!hidden"></i>
|
||||
<span class="loading loading-spinner loading-xs hidden" data-loading-class-remove="hidden"></span>
|
||||
</button>
|
||||
<button class="btn btn-outline" hx-post="/api/imap/sync" hx-target="#folders-list" hx-swap="outerHTML settle:300ms"
|
||||
data-loading-disable>
|
||||
<i class="fas fa-sync mr-2" data-loading-class="!hidden"></i>
|
||||
<span data-loading-class="!hidden">Sync Folders</span>
|
||||
<span class="loading loading-spinner loading-xs hidden" data-loading-class-remove="hidden"></span>
|
||||
</button>
|
||||
</div>
|
||||
<div data-loading-states>
|
||||
<button class="btn btn-outline" hx-get="/api/imap/config" hx-target="#modal-holder" hx-swap="innerHTML"
|
||||
data-loading-disable>
|
||||
<i class="fas fa-cog" data-loading-class="!hidden"></i>
|
||||
<span class="loading loading-spinner loading-xs hidden" data-loading-class-remove="hidden"></span>
|
||||
</button>
|
||||
</div>
|
||||
{% else %}
|
||||
<div data-loading-states>
|
||||
<button class="btn btn-outline" hx-get="/api/imap/config" hx-target="#modal-holder" hx-swap="innerHTML"
|
||||
data-loading-disable>
|
||||
<i class="fas fa-cog mr-2" data-loading-class="!hidden"></i>
|
||||
<span data-loading-class="!hidden">Configure IMAP</span>
|
||||
<span class="loading loading-spinner loading-xs hidden" data-loading-class-remove="hidden"></span>
|
||||
</button>
|
||||
<button class="btn btn-outline" hx-get="/api/imap/config" hx-target="#modal-holder" hx-swap="innerHTML"
|
||||
data-loading-disable>
|
||||
<i class="fas fa-cog mr-2" data-loading-class="!hidden"></i>
|
||||
<span data-loading-class="!hidden">Configure IMAP</span>
|
||||
<span class="loading loading-spinner loading-xs hidden" data-loading-class-remove="hidden"></span>
|
||||
</button>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Welcome Section - Only shown when IMAP is not configured -->
|
||||
{% if not current_user.imap_config %}
|
||||
{% include "partials/welcome_section.html" %}
|
||||
{% endif %}
|
||||
|
||||
<!-- Stats Section -->
|
||||
<div class="mb-8 grid grid-cols-1 md:grid-cols-4 gap-4">
|
||||
@@ -80,16 +64,16 @@
|
||||
<div class="text-sm text-base-content/70">Total Folders</div>
|
||||
</div>
|
||||
<div class="card bg-base-100 shadow-md border border-base-300 p-4">
|
||||
<div class="text-2xl font-bold text-warning">{{ tidy_folders|length }}</div>
|
||||
<div class="text-2xl font-bold text-warning">{{ folders|selectattr('folder_type', 'equalto', 'tidy')|list|length }}</div>
|
||||
<div class="text-sm text-base-content/70">Folders to Tidy</div>
|
||||
</div>
|
||||
<div class="card bg-base-100 shadow-md border border-base-300 p-4">
|
||||
<div class="text-2xl font-bold text-secondary">{{ destination_folders|length }}</div>
|
||||
<div class="text-2xl font-bold text-secondary">{{ folders|selectattr('folder_type', 'equalto', 'destination')|list|length }}</div>
|
||||
<div class="text-sm text-base-content/70">Destination Folders</div>
|
||||
</div>
|
||||
<div class="card bg-base-100 shadow-md border border-base-300 p-4">
|
||||
<div class="text-2xl font-bold text-info">
|
||||
{{ tidy_folders|sum(attribute='pending_count') }}
|
||||
{{ folders|selectattr('folder_type', 'equalto', 'tidy')|sum(attribute='pending_count') }}
|
||||
</div>
|
||||
<div class="text-sm text-base-content/70">Pending Emails</div>
|
||||
</div>
|
||||
@@ -102,16 +86,13 @@
|
||||
<i class="fas fa-search absolute right-3 top-3 text-base-content/50"></i>
|
||||
</div>
|
||||
<div class="flex space-x-2">
|
||||
<button class="btn btn-sm btn-outline" hx-get="/api/folders?filter=all" hx-target="#folders-list" hx-swap="innerHTML swap1:s">All</button>
|
||||
<button class="btn btn-sm btn-outline" hx-get="/api/folders?filter=high" hx-target="#folders-list" hx-swap="innerHTML swap1:s">High Priority</button>
|
||||
<button class="btn btn-sm btn-outline" hx-get="/api/folders?filter=normal" hx-target="#folders-list" hx-swap="innerHTML swap1:s">Normal</button>
|
||||
<button class="btn btn-sm btn-outline" hx-get="/api/folders?filter=all" hx-target="#folders-list" hx-swap="outerHTML settle:300ms">All</button>
|
||||
<button class="btn btn-sm btn-outline" hx-get="/api/folders?filter=high" hx-target="#folders-list" hx-swap="outerHTML settle:300ms">High Priority</button>
|
||||
<button class="btn btn-sm btn-outline" hx-get="/api/folders?filter=normal" hx-target="#folders-list" hx-swap="outerHTML settle:300ms">Normal</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<section id="folders-list" class="mb-12">
|
||||
{% include 'partials/folders_to_tidy_section.html' %}
|
||||
{% include 'partials/destination_folders_section.html' %}
|
||||
</section>
|
||||
{% include 'partials/folders_list.html' %}
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user