Packages
phoenix_kit
1.7.19
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/referral_codes/web/list.ex
defmodule PhoenixKit.Modules.ReferralCodes.Web.List do
@moduledoc """
User referral codes management LiveView for PhoenixKit admin panel.
Displays and manages referral codes associated with users.
"""
use PhoenixKitWeb, :live_view
alias PhoenixKit.Modules.ReferralCodes
alias PhoenixKit.Settings
def mount(_params, _session, socket) do
# Get project title from settings
project_title = Settings.get_setting("project_title", "PhoenixKit")
# Load referral codes and stats
codes = ReferralCodes.list_codes()
system_stats = ReferralCodes.get_system_stats()
config = ReferralCodes.get_config()
socket =
socket
|> assign(:page_title, "Referral Codes")
|> assign(:project_title, project_title)
|> assign(:codes, codes)
|> assign(:system_stats, system_stats)
|> assign(:config, config)
{:ok, socket}
end
def handle_event("delete_code", %{"id" => id}, socket) do
code = ReferralCodes.get_code!(String.to_integer(id))
case ReferralCodes.delete_code(code) do
{:ok, _code} ->
socket =
socket
|> put_flash(:info, "Referral code deleted successfully")
|> assign(:codes, ReferralCodes.list_codes())
|> assign(:system_stats, ReferralCodes.get_system_stats())
{:noreply, socket}
{:error, _changeset} ->
socket = put_flash(socket, :error, "Failed to delete referral code")
{:noreply, socket}
end
end
def handle_event("toggle_code_status", %{"id" => id}, socket) do
code = ReferralCodes.get_code!(String.to_integer(id))
new_status = !code.status
case ReferralCodes.update_code(code, %{status: new_status}) do
{:ok, _code} ->
status_text = if new_status, do: "activated", else: "deactivated"
socket =
socket
|> put_flash(:info, "Referral code #{status_text}")
|> assign(:codes, ReferralCodes.list_codes())
|> assign(:system_stats, ReferralCodes.get_system_stats())
{:noreply, socket}
{:error, _changeset} ->
socket = put_flash(socket, :error, "Failed to update referral code status")
{:noreply, socket}
end
end
end