Packages
phoenix_kit
1.7.106
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
Current section
Files
lib/modules/referrals/web/settings.html.heex
<PhoenixKitWeb.Components.LayoutWrapper.app_layout
flash={@flash}
phoenix_kit_current_scope={assigns[:phoenix_kit_current_scope]}
page_title="{@project_title} Referrals"
current_path={@url_path}
project_title={@project_title}
current_locale={@current_locale}
>
<div class="container flex flex-col mx-auto px-4 py-6">
<.admin_page_header
back={PhoenixKit.Utils.Routes.path("/admin/settings")}
title="Referrals Settings"
subtitle="Configure referrals behavior and limits"
/>
<%!-- Main Content --%>
<div class="max-w-4xl mx-auto space-y-8">
<%!-- Status Card --%>
<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" /> Status
</h2>
<%= if @referral_codes_enabled do %>
<div class="divider"></div>
<div class="form-control">
<label class="label cursor-pointer">
<span class="label-text text-lg">
<span class="font-semibold">Require Referrals</span>
<div class="text-sm text-base-content/70 mt-1">
Make referrals mandatory for user registration
</div>
</span>
<input
type="checkbox"
class="toggle toggle-secondary"
checked={@referral_codes_required}
phx-click="toggle_referral_codes_required"
/>
</label>
</div>
<% end %>
</div>
</div>
<%= if @referral_codes_enabled do %>
<%!-- Usage Limits Card --%>
<div class="card bg-base-100 shadow-xl">
<div class="card-body">
<h2 class="card-title text-2xl mb-4">
<.icon name="hero-scale" class="w-6 h-6" /> Usage Limits
</h2>
<%!-- Max Uses Per Code --%>
<div class="form-control mb-4">
<label class="label">
<span class="label-text text-lg font-semibold">Maximum Uses Per Code</span>
</label>
<div class="input-group">
<input
type="number"
placeholder="Enter max uses"
class="input input-bordered w-full max-w-xs"
value={@max_uses_per_code}
min="1"
max="10000"
phx-blur="update_max_uses_per_code"
phx-value-max_uses_per_code={assigns[:max_uses_per_code]}
/>
<span class="bg-base-200 px-4 py-3 text-sm">uses</span>
</div>
<label class="label">
<span class="label-text-alt text-base-content/70">
How many times each referral code can be used (1-10,000)
</span>
</label>
</div>
<%!-- Max Codes Per User --%>
<div class="form-control">
<label class="label">
<span class="label-text text-lg font-semibold">Maximum Codes Per User</span>
</label>
<div class="input-group">
<input
type="number"
placeholder="Enter max codes"
class="input input-bordered w-full max-w-xs"
value={@max_codes_per_user}
min="1"
max="1000"
phx-blur="update_max_codes_per_user"
phx-value-max_codes_per_user={assigns[:max_codes_per_user]}
/>
<span class="bg-base-200 px-4 py-3 text-sm">codes</span>
</div>
<label class="label">
<span class="label-text-alt text-base-content/70">
How many referral codes each user can create (1-1,000)
</span>
</label>
</div>
</div>
</div>
<%!-- Current Configuration Summary --%>
<div class="alert alert-info">
<.icon name="hero-information-circle" class="w-5 h-5" />
<div>
<h3 class="font-bold">Current Configuration</h3>
<div class="text-sm mt-1">
<p>
Status:
<span class="font-semibold">
{if @referral_codes_enabled, do: "Enabled", else: "Disabled"}
</span>
</p>
<%= if @referral_codes_enabled do %>
<p>
Required:
<span class="font-semibold">
{if @referral_codes_required, do: "Yes", else: "No"}
</span>
</p>
<p>Max uses per code: <span class="font-semibold">{@max_uses_per_code}</span></p>
<p>
Max codes per user: <span class="font-semibold">{@max_codes_per_user}</span>
</p>
<% end %>
</div>
</div>
</div>
<% else %>
<%!-- Disabled State Information --%>
<div class="alert alert-warning">
<.icon name="hero-exclamation-triangle" class="w-5 h-5" />
<div>
<h3 class="font-bold">Referrals Disabled</h3>
<p class="text-sm mt-1">
Enable referrals above to access configuration options and allow users to create referrals.
</p>
</div>
</div>
<% end %>
</div>
</div>
</PhoenixKitWeb.Components.LayoutWrapper.app_layout>