Packages
phoenix_kit
1.7.77
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
Current section
Files
lib/modules/comments/web/settings.html.heex
<PhoenixKitWeb.Components.LayoutWrapper.app_layout
flash={@flash}
phoenix_kit_current_scope={assigns[:phoenix_kit_current_scope]}
page_title="Comments 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="Comments Settings"
subtitle="Configure the standalone comments module"
/>
<%!-- Settings Form --%>
<div class="max-w-4xl mx-auto space-y-8">
<.form for={%{}} phx-submit="save">
<%!-- Module Status --%>
<div class="card bg-base-100 shadow-xl mb-6">
<div class="card-body">
<h2 class="card-title text-2xl mb-4">
<.icon name="hero-cog-6-tooth" class="w-6 h-6" /> Module Status
</h2>
<div class="form-control">
<label class="label cursor-pointer">
<span class="label-text text-lg">
<span class="font-semibold">Enable Comments</span>
<div class="text-sm text-base-content/70 mt-1">
Enable the standalone comments system across all content types
</div>
</span>
<input type="hidden" name="settings[comments_enabled]" value="false" />
<input
type="checkbox"
name="settings[comments_enabled]"
value="true"
class="toggle toggle-primary"
checked={@comments_enabled == "true"}
/>
</label>
</div>
</div>
</div>
<%!-- Moderation --%>
<div class="card bg-base-100 shadow-xl mb-6">
<div class="card-body">
<h2 class="card-title text-2xl mb-4">
<.icon name="hero-shield-check" class="w-6 h-6" /> Moderation
</h2>
<div class="form-control">
<label class="label cursor-pointer">
<span class="label-text text-lg">
<span class="font-semibold">Require Moderation</span>
<div class="text-sm text-base-content/70 mt-1">
New comments must be approved before appearing publicly
</div>
</span>
<input type="hidden" name="settings[comments_moderation]" value="false" />
<input
type="checkbox"
name="settings[comments_moderation]"
value="true"
class="toggle toggle-warning"
checked={@comments_moderation == "true"}
/>
</label>
</div>
</div>
</div>
<%!-- Limits --%>
<div class="card bg-base-100 shadow-xl mb-6">
<div class="card-body">
<h2 class="card-title text-2xl mb-4">
<.icon name="hero-adjustments-horizontal" class="w-6 h-6" /> Limits
</h2>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<div class="form-control">
<label class="label">
<span class="label-text font-semibold">Max Thread Depth</span>
</label>
<input
type="number"
name="settings[comments_max_depth]"
value={@comments_max_depth}
min="1"
max="50"
class="input input-bordered"
/>
<label class="label">
<span class="label-text-alt text-base-content/60">
Maximum nesting level for reply threads (default: 10)
</span>
</label>
</div>
<div class="form-control">
<label class="label">
<span class="label-text font-semibold">Max Comment Length</span>
</label>
<input
type="number"
name="settings[comments_max_length]"
value={@comments_max_length}
min="100"
max="100000"
class="input input-bordered"
/>
<label class="label">
<span class="label-text-alt text-base-content/60">
Maximum characters per comment (default: 10,000)
</span>
</label>
</div>
</div>
</div>
</div>
<%!-- Action Buttons --%>
<div class="flex gap-4 justify-end">
<button
type="button"
phx-click="reset_defaults"
class="btn btn-ghost btn-outline"
>
Reset to Defaults
</button>
<button type="submit" class="btn btn-primary" disabled={@saving}>
<%= if @saving do %>
<span class="loading loading-spinner loading-sm"></span> Saving...
<% else %>
Save Settings
<% end %>
</button>
</div>
</.form>
</div>
</div>
</PhoenixKitWeb.Components.LayoutWrapper.app_layout>