# Create Task

***

1. ## Create

   *In this example, I'm creating a client event to later send the information of the* *<mark style="color:blue;">**new task.**</mark>*

{% tabs %}
{% tab title="Client" %}

```lua
RegisterNetEvent('--:client:CreateTask')
AddEventHandler('--:client:CreateTask', function()
    local TaskTitle = 'Task Title'
    local taskDescription = 'Task Description'
    local taskIcon = 'fas fa-check'
    local taskStatusComplete = false
TriggerServerEvent('--:server:AddGroupTask', GroupID, TaskTitle, taskDescription, taskIcon, taskStatusComplete)
end)
```

{% endtab %}

{% tab title="Server" %}

```lua
-- #ADD GROUP TASK# --
RegisterServerEvent('--:server:AddGroupTask')
AddEventHandler('--:server:AddGroupTask', function(groupID, taskTitle, taskDescription, taskIcon, taskStatusComplete)
    local src = source
    exports["nelo-tablet"]:NeloAddGroupTask(groupID, taskTitle, taskDescription, taskIcon, taskStatusComplete)
end)

```

{% endtab %}
{% endtabs %}

2. ## Show

   Simple, this is how we display the task (remember to organize it well).

{% tabs %}
{% tab title="Client" %}

```lua
TriggerServerEvent('--:server:ShowTaskGroup', GroupID) 
```

{% endtab %}

{% tab title="Server" %}

```lua
-- #SHOW TASK GROUP# --
RegisterServerEvent('--:server:ShowTaskGroup')
AddEventHandler('--:server:ShowTaskGroup', function(groupID)
    local src = source
    exports["nelo-tablet"]:NeloNotifyGroup(groupID, src)
end)
```

{% endtab %}
{% endtabs %}

3. ## Change Status

   This way, we change the status of the task to completed or not.

{% tabs %}
{% tab title="Client" %}

<pre class="language-lua"><code class="lang-lua"><strong>TriggerServerEvent('--:server:UpdateTaskStatus', GroupID, TaskTitle, true)
</strong></code></pre>

<mark style="color:red;">**true**</mark>**&#x20;= completed**

<mark style="color:red;">**false**</mark>**&#x20;= not completed**
{% endtab %}

{% tab title="Server" %}

```lua
-- #UPDATE TASK STATUS# --
RegisterServerEvent('--:server:UpdateTaskStatus')
AddEventHandler('--:server:UpdateTaskStatus', function(groupID, taskTitle, isComplete)
    local src = source
    exports["nelo-tablet"]:NeloUpdateTaskStatus(groupID, taskTitle, isComplete)
    local loadFile = LoadResourceFile("nelo-tablet", "groups.json")
    local groups = loadFile and json.decode(loadFile) or { groups = {} }

    for _, group in pairs(groups.groups) do
        if group.groupID == groupID then
            for _, memberInfo in ipairs(group.members) do
                local memberId = memberInfo.id
                if memberId and memberId ~= src then
                    -- nothing, or notify.
                end
            end
            break
        end
    end
end)
```

{% endtab %}
{% endtabs %}

> When the task is completed, it is automatically removed from the <mark style="color:orange;">**.json**</mark> file and taken off the screen.
