Packages

phoenix_kit

1.7.91
1.7.208 1.7.207 1.7.206 1.7.205 1.7.204 1.7.203 1.7.202 1.7.201 1.7.200 1.7.199 1.7.198 1.7.197 1.7.196 1.7.194 1.7.193 1.7.192 1.7.191 1.7.190 1.7.189 1.7.187 1.7.186 1.7.185 1.7.184 1.7.183 1.7.182 1.7.181 1.7.180 1.7.179 1.7.178 1.7.177 1.7.176 1.7.175 1.7.174 1.7.173 1.7.172 1.7.171 1.7.170 1.7.169 1.7.168 1.7.167 1.7.166 1.7.165 1.7.164 1.7.162 1.7.161 1.7.160 1.7.159 1.7.157 1.7.156 1.7.155 1.7.154 1.7.153 1.7.152 1.7.151 1.7.150 1.7.149 1.7.146 1.7.145 1.7.144 1.7.143 1.7.138 1.7.133 1.7.132 1.7.131 1.7.130 1.7.128 1.7.126 1.7.125 1.7.121 1.7.120 1.7.119 1.7.118 1.7.117 1.7.116 1.7.115 1.7.114 1.7.113 1.7.112 1.7.111 1.7.110 1.7.109 1.7.108 1.7.107 1.7.106 1.7.105 1.7.104 1.7.103 1.7.102 1.7.101 1.7.100 1.7.99 1.7.98 1.7.97 1.7.96 1.7.95 1.7.94 1.7.93 1.7.92 1.7.91 1.7.90 1.7.89 1.7.88 1.7.87 1.7.86 1.7.85 1.7.84 1.7.83 1.7.82 1.7.81 1.7.80 1.7.79 1.7.78 1.7.77 1.7.76 1.7.75 1.7.74 1.7.71 1.7.70 1.7.69 1.7.66 1.7.65 1.7.64 1.7.63 1.7.62 1.7.61 1.7.59 1.7.58 1.7.57 1.7.56 1.7.55 1.7.54 1.7.53 1.7.52 1.7.51 1.7.49 1.7.44 1.7.43 1.7.42 1.7.41 1.7.39 1.7.38 1.7.37 1.7.36 1.7.34 1.7.33 1.7.31 1.7.30 1.7.29 1.7.28 1.7.27 1.7.26 1.7.25 1.7.24 1.7.23 1.7.22 1.7.21 1.7.20 1.7.19 1.7.18 1.7.17 1.7.16 1.7.15 1.7.14 1.7.13 1.7.12 1.7.11 1.7.10 1.7.9 1.7.8 1.7.7 1.7.6 1.7.5 1.7.4 1.7.3 1.7.2 1.7.1 1.7.0 1.6.20 1.6.19 1.6.18 1.6.17 1.6.16 1.6.15 1.6.14 1.6.13 1.6.12 1.6.11 1.6.10 1.6.9 1.6.8 1.6.7 1.6.6 1.6.5 1.6.4 1.6.3 1.5.2 1.5.1 1.5.0 1.4.9 1.4.8 1.4.7 1.4.6 1.4.5 1.4.4 1.4.3 1.4.2 1.4.1 1.4.0 1.3.2 1.3.1 1.3.0 1.2.10 1.2.9 1.2.8 1.2.7 1.2.5 1.2.4 1.2.2 1.2.1 1.2.0 1.1.0 1.0.0

A foundation for building Elixir Phoenix apps — SaaS, social networks, ERP systems, marketplaces, and more

Current section

Files

Jump to
phoenix_kit lib modules customer_service web settings.html.heex
Raw

lib/modules/customer_service/web/settings.html.heex

<PhoenixKitWeb.Components.LayoutWrapper.app_layout
flash={@flash}
phoenix_kit_current_scope={assigns[:phoenix_kit_current_scope]}
page_title="Customer Service Settings"
current_path={@url_path}
project_title={@project_title}
>
<div class="container flex flex-col mx-auto px-4 py-6">
<.admin_page_header
back={PhoenixKit.Utils.Routes.path("/admin/settings")}
title="Customer Service Settings"
subtitle="Configure customer service module behavior and features"
/>
<%!-- Main Content --%>
<div class="max-w-4xl mx-auto space-y-8">
<%!-- Stats Overview --%>
<div class="card bg-base-100 shadow-xl">
<div class="card-body">
<h2 class="card-title text-2xl mb-4">
<.icon name="hero-chart-bar" class="w-6 h-6" /> Statistics
</h2>
<div class="grid grid-cols-2 md:grid-cols-4 gap-4">
<div class="stat bg-base-200 rounded-lg p-4">
<div class="stat-title text-xs">Total</div>
<div class="stat-value text-2xl">{@stats.total}</div>
</div>
<div class="stat bg-info/20 rounded-lg p-4">
<div class="stat-title text-xs">Open</div>
<div class="stat-value text-2xl text-info">{@stats.open}</div>
</div>
<div class="stat bg-warning/20 rounded-lg p-4">
<div class="stat-title text-xs">In Progress</div>
<div class="stat-value text-2xl text-warning">{@stats.in_progress}</div>
</div>
<div class="stat bg-success/20 rounded-lg p-4">
<div class="stat-title text-xs">Resolved</div>
<div class="stat-value text-2xl text-success">{@stats.resolved}</div>
</div>
</div>
</div>
</div>
<%!-- Module Settings --%>
<div class="card bg-base-100 shadow-xl">
<div class="card-body">
<h2 class="card-title text-2xl mb-4">
<.icon name="hero-cog-6-tooth" class="w-6 h-6" /> Module Configuration
</h2>
<%!-- Per Page --%>
<div class="form-control">
<label class="label">
<span class="label-text font-medium">Tickets Per Page</span>
</label>
<label class="select w-full max-w-xs">
<select
phx-change="update_per_page"
name="per_page"
>
<option value="10" selected={@per_page == 10}>10</option>
<option value="20" selected={@per_page == 20}>20</option>
<option value="50" selected={@per_page == 50}>50</option>
<option value="100" selected={@per_page == 100}>100</option>
</select>
</label>
</div>
</div>
</div>
<%!-- Feature Toggles --%>
<div class="card bg-base-100 shadow-xl">
<div class="card-body">
<h2 class="card-title text-2xl mb-4">
<.icon name="hero-sparkles" class="w-6 h-6" /> Features
</h2>
<%!-- Internal Notes --%>
<div class="form-control">
<label class="label cursor-pointer justify-start gap-4">
<input
type="checkbox"
class="toggle toggle-warning"
checked={@internal_notes_enabled}
phx-click="toggle_internal_notes"
/>
<div>
<span class="label-text font-medium">Internal Notes</span>
<p class="text-sm text-base-content/50">
Allow staff-only notes that are hidden from customers
</p>
</div>
</label>
</div>
<div class="divider my-2"></div>
<%!-- Attachments --%>
<div class="form-control">
<label class="label cursor-pointer justify-start gap-4">
<input
type="checkbox"
class="toggle toggle-info"
checked={@attachments_enabled}
phx-click="toggle_attachments"
/>
<div>
<span class="label-text font-medium">Attachments</span>
<p class="text-sm text-base-content/50">
Allow uploading files to tickets and comments
</p>
</div>
</label>
</div>
</div>
</div>
<%!-- Workflow Settings --%>
<div class="card bg-base-100 shadow-xl">
<div class="card-body">
<h2 class="card-title text-2xl mb-4">
<.icon name="hero-arrow-path" class="w-6 h-6" /> Workflow
</h2>
<%!-- Allow Reopen --%>
<div class="form-control">
<label class="label cursor-pointer justify-start gap-4">
<input
type="checkbox"
class="toggle"
checked={@allow_reopen}
phx-click="toggle_allow_reopen"
/>
<div>
<span class="label-text font-medium">Allow Reopening Tickets</span>
<p class="text-sm text-base-content/50">
Allow resolved or closed tickets to be reopened
</p>
</div>
</label>
</div>
</div>
</div>
</div>
</div>
</PhoenixKitWeb.Components.LayoutWrapper.app_layout>