Commit 5bf877b7 authored by Yousef Sameh's avatar Yousef Sameh

signup

parent 42e75487
using System;
using System.Collections.Generic;
using System.Threading;
using Cysharp.Threading.Tasks;
using OneOf;
using Supabase.Realtime;
using Supabase.Realtime.PostgresChanges;
using UnityEngine;
......@@ -51,23 +53,21 @@ public class ActivityService : Singleton<ActivityService>
}
}
public async UniTask LoadLatest5Activies()
public async UniTask<OneOf<List<Activity>, string>> LoadLatest3Activies()
{
try
{
var activities = await supabase.From<Activity>()
.Order("created_at", Supabase.Postgrest.Constants.Ordering.Descending)
.Limit(5)
.Limit(3)
.Get();
foreach (var activity in activities.Models)
{
OnNewActivityReceived?.Invoke(activity);
}
return activities.Models;
}
catch (Exception e)
{
Debug.LogError($"[ActivityService] Error loading activities: {e.Message}");
return e.Message;
}
}
......
......@@ -53,7 +53,19 @@ public class HomeController : MonoBehaviour
{
OnUserChange(UserService.Instance.CurrentUser);
ActivityService.Instance.Initialize();
ActivityService.Instance.LoadLatest5Activies();
var activiesOrError = await ActivityService.Instance.LoadLatest3Activies();
activiesOrError.Switch(activities =>
{
var reversedActivities = activities.AsEnumerable().Reverse();
foreach (var activity in reversedActivities)
{
var Label = new Label($"<color=#FED700>{activity.Message.Split(" ")[0]}</color> {activity.Message.Split(" ")[1..].Aggregate((a, b) => a + " " + b)}");
activityScrollView.Add(Label);
}
}, error =>
{
Debug.LogError($"Failed to load activities: {error}");
});
FakeActivity();
}
......@@ -64,7 +76,7 @@ public class HomeController : MonoBehaviour
{
await UniTask.Delay(2000);
var ran = Random.Range(0, 100);
print($"Fake Activity: حصلت على {ran} نقطة خبرة!");
OnNewActivityReceived(new Activity { Message = $"لقد حصلت على {ran} نقطة خبرة!" });
}
}
......@@ -97,8 +109,26 @@ public class HomeController : MonoBehaviour
var name = activity.Message.Split(" ")[0];
var label = new Label($"<color=#FED700>{name}</color> {activity.Message[name.Length..]}");
var oldHighvalue = activityScrollView.horizontalScroller.highValue;
activityScrollView.Add(label);
activityScrollView.contentContainer.RegisterCallbackOnce<GeometryChangedEvent>(_ =>
{
var targetScroll = activityScrollView.horizontalScroller.highValue;
var currentScroll = activityScrollView.scrollOffset;
activityScrollView.schedule.Execute(() =>
{
var newOffset = Mathf.Lerp(currentScroll.x, targetScroll, 0.15f);
if (Mathf.Abs(targetScroll - newOffset) < 1f)
{
activityScrollView.scrollOffset = new Vector2(targetScroll, currentScroll.y);
return;
}
currentScroll.x = newOffset;
activityScrollView.scrollOffset = currentScroll;
}).Every(16).Until(() => Mathf.Abs(activityScrollView.scrollOffset.x - targetScroll) < 1f);
});
}
}
......@@ -8,6 +8,12 @@ public class LoginController : MonoBehaviour
private TextField passwordInputField;
private Button loginButton;
private TextField signUpFullname;
private TextField signUpUsername;
private TextField signUpemail;
private TextField signUppassword;
private Button signUpButton;
private VisualElement loginRoot;
private VisualElement registerRoot;
......@@ -20,25 +26,46 @@ public class LoginController : MonoBehaviour
passwordInputField = loginRoot.Q<TextField>("LoginPassword");
loginButton = loginRoot.Q<Button>("Login");
signUpFullname = registerRoot.Q<TextField>("FullName");
signUpUsername = registerRoot.Q<TextField>("Username");
signUpemail = registerRoot.Q<TextField>("Email");
signUppassword = registerRoot.Q<TextField>("Password");
signUpButton = registerRoot.Q<Button>("Register");
loginButton.clicked += Login;
signUpButton.clicked += ShowRegister;
}
private void OnDisable()
{
loginButton.clicked -= Login;
signUpButton.clicked -= ShowRegister;
}
private async void Login()
{
string email = emailInputField.text;
string password = passwordInputField.text;
print(email);
var login = await SupabaseAuthentication.Instance.LogIn(email, password);
login.Switch(
(_) => { },
(string error) => { Debug.LogError(error); }
);
}
public async void ShowRegister()
{
string fullname = signUpFullname.text;
string username = signUpUsername.text;
string email = signUpemail.text;
string password = signUppassword.text;
var signUp = await SupabaseAuthentication.Instance.SignUp(email, password, username, fullname);
signUp.Switch(
(_) => { },
(string error) => { Debug.LogError(error); }
);
}
......
......@@ -40,28 +40,28 @@
<ui:VisualElement template="Template" name="Name" style="margin-bottom: 50px; margin-top: 50px;">
<Style src="project://database/Assets/AppUI/UIToolkit/USS/Style.uss?fileID=7433441132597879392&amp;guid=f90ac983f14f5f043a3437b2c294db62&amp;type=3#Style"/>
<ui:Label text="&#1575;&#1604;&#1571;&#1587;&#1605; &#1576;&#1575;&#1604;&#1603;&#1575;&#1605;&#1604;" name="TextFieldLabel" class="base-text-light" style="color: rgb(117, 117, 117); margin-bottom: 20px; font-size: 30px; -unity-font-definition: url(&quot;project://database/Assets/ALArcade/Hakwaty%20Font/TSHakwaty-DemiBold.otf?fileID=12800000&amp;guid=566b773a07b3d064aa1f4c6ef7b6f6fa&amp;type=3#TSHakwaty-DemiBold&quot;);"/>
<ui:TextField label="" placeholder-text="" name="TextField" class="textField" style="height: 107px; width: 100%; flex-direction: row-reverse; color: rgb(0, 0, 0);">
<ui:TextField label="" placeholder-text="" name="FullName" class="textField" style="height: 107px; width: 100%; flex-direction: row-reverse; color: rgb(0, 0, 0);">
<ui:Image source="project://database/Assets/Art/export/mail@3x.png?fileID=2800000&amp;guid=0d76662a81af3a7408ca3c2975f08b8f&amp;type=3#mail@3x" tint-color="rgb(158, 158, 158)" style="margin-left: 25px; width: 51px; display: none;"/>
</ui:TextField>
</ui:VisualElement>
<ui:VisualElement template="Template" name="Email" style="margin-bottom: 50px;">
<Style src="project://database/Assets/AppUI/UIToolkit/USS/Style.uss?fileID=7433441132597879392&amp;guid=f90ac983f14f5f043a3437b2c294db62&amp;type=3#Style"/>
<ui:Label text="&#1575;&#1604;&#1576;&#1585;&#1610;&#1583; &#1575;&#1604;&#1573;&#1604;&#1603;&#1578;&#1585;&#1608;&#1606;&#1610;" name="TextFieldLabel" class="base-text-light" style="color: rgb(117, 117, 117); margin-bottom: 20px; font-size: 30px; -unity-font-definition: url(&quot;project://database/Assets/ALArcade/Hakwaty%20Font/TSHakwaty-DemiBold.otf?fileID=12800000&amp;guid=566b773a07b3d064aa1f4c6ef7b6f6fa&amp;type=3#TSHakwaty-DemiBold&quot;);"/>
<ui:TextField label="" placeholder-text="" name="TextField" class="textField" style="height: 107px; width: 100%; flex-direction: row-reverse; color: rgb(0, 0, 0);">
<ui:TextField label="" placeholder-text="" name="Email" class="textField" style="height: 107px; width: 100%; flex-direction: row-reverse; color: rgb(0, 0, 0);">
<ui:Image source="project://database/Assets/Art/export/mail@3x.png?fileID=2800000&amp;guid=0d76662a81af3a7408ca3c2975f08b8f&amp;type=3#mail@3x" tint-color="rgb(158, 158, 158)" style="margin-left: 25px; width: 51px; display: none;"/>
</ui:TextField>
</ui:VisualElement>
<ui:VisualElement template="Template" name="User" style="margin-bottom: 50px;">
<Style src="project://database/Assets/AppUI/UIToolkit/USS/Style.uss?fileID=7433441132597879392&amp;guid=f90ac983f14f5f043a3437b2c294db62&amp;type=3#Style"/>
<ui:Label text="&#1575;&#1587;&#1605; &#1575;&#1604;&#1605;&#1587;&#1578;&#1582;&#1583;&#1605;" name="TextFieldLabel" class="base-text-light" style="color: rgb(117, 117, 117); margin-bottom: 20px; font-size: 30px; -unity-font-definition: url(&quot;project://database/Assets/ALArcade/Hakwaty%20Font/TSHakwaty-DemiBold.otf?fileID=12800000&amp;guid=566b773a07b3d064aa1f4c6ef7b6f6fa&amp;type=3#TSHakwaty-DemiBold&quot;);"/>
<ui:TextField label="" placeholder-text="" name="TextField" class="textField" style="height: 107px; width: 100%; flex-direction: row-reverse; color: rgb(0, 0, 0);">
<ui:TextField label="" placeholder-text="" name="Username" class="textField" style="height: 107px; width: 100%; flex-direction: row-reverse; color: rgb(0, 0, 0);">
<ui:Image source="project://database/Assets/Art/export/mail@3x.png?fileID=2800000&amp;guid=0d76662a81af3a7408ca3c2975f08b8f&amp;type=3#mail@3x" tint-color="rgb(158, 158, 158)" style="margin-left: 25px; width: 51px; display: none;"/>
</ui:TextField>
</ui:VisualElement>
<ui:VisualElement template="Template" name="Password" style="margin-bottom: 50px;">
<Style src="project://database/Assets/AppUI/UIToolkit/USS/Style.uss?fileID=7433441132597879392&amp;guid=f90ac983f14f5f043a3437b2c294db62&amp;type=3#Style"/>
<ui:Label text="&#1603;&#1604;&#1605;&#1577; &#1575;&#1604;&#1605;&#1585;&#1608;&#1585;" name="TextFieldLabel" class="base-text-light" style="color: rgb(117, 117, 117); margin-bottom: 20px; font-size: 30px; -unity-font-definition: url(&quot;project://database/Assets/ALArcade/Hakwaty%20Font/TSHakwaty-DemiBold.otf?fileID=12800000&amp;guid=566b773a07b3d064aa1f4c6ef7b6f6fa&amp;type=3#TSHakwaty-DemiBold&quot;);"/>
<ui:TextField label="" placeholder-text="" name="TextField" password="true" class="textField" style="height: 107px; width: 100%; flex-direction: row-reverse; color: rgb(0, 0, 0);">
<ui:TextField label="" placeholder-text="" name="Password" password="true" class="textField" style="height: 107px; width: 100%; flex-direction: row-reverse; color: rgb(0, 0, 0);">
<ui:Image source="project://database/Assets/Art/export/mail@3x.png?fileID=2800000&amp;guid=0d76662a81af3a7408ca3c2975f08b8f&amp;type=3#mail@3x" tint-color="rgb(158, 158, 158)" style="margin-left: 25px; width: 51px; display: none;"/>
</ui:TextField>
</ui:VisualElement>
......
......@@ -24,7 +24,7 @@ MonoBehaviour:
m_MinSize: {x: 300, y: 112}
m_MaxSize: {x: 24288, y: 16192}
vertical: 0
controlID: 14859
controlID: 17415
draggingID: 0
--- !u!114 &2
MonoBehaviour:
......@@ -97,7 +97,7 @@ MonoBehaviour:
m_HSlider: 0
m_VSlider: 0
m_IgnoreScrollWheelUntilClicked: 0
m_EnableMouseInput: 1
m_EnableMouseInput: 0
m_EnableSliderZoomHorizontal: 0
m_EnableSliderZoomVertical: 0
m_UniformScale: 1
......@@ -153,7 +153,7 @@ MonoBehaviour:
m_MinSize: {x: 200, y: 112}
m_MaxSize: {x: 16192, y: 16192}
vertical: 1
controlID: 14860
controlID: 17416
draggingID: 0
--- !u!114 &4
MonoBehaviour:
......@@ -179,7 +179,7 @@ MonoBehaviour:
m_MinSize: {x: 200, y: 56}
m_MaxSize: {x: 16192, y: 8096}
vertical: 0
controlID: 14861
controlID: 17417
draggingID: 0
--- !u!114 &5
MonoBehaviour:
......@@ -274,6 +274,7 @@ MonoBehaviour:
- m_Data: 58582
- m_Data: 62798
- m_Data: 71130
- m_Data: 71352
- m_Data: 75232
- m_Data: 75264
- m_Data: 76034
......@@ -1105,7 +1106,7 @@ MonoBehaviour:
m_SkipHidden: 0
m_SearchArea: 1
m_Folders:
- Assets/AppUI/UIToolkit/UXML
- Assets/App/Infrastructure
m_Globs: []
m_ProductIds:
m_AnyWithAssetOrigin: 0
......@@ -1115,7 +1116,7 @@ MonoBehaviour:
m_ViewMode: 1
m_StartGridSize: 96
m_LastFolders:
- Assets/AppUI/UIToolkit/UXML
- Assets/App/Infrastructure
m_LastFoldersGridSize: 96
m_LastProjectPath: /home/p0wer/development/ssbookminigames/My project
m_LockTracker:
......@@ -1124,14 +1125,12 @@ MonoBehaviour:
m_FolderTreeState:
scrollPos: {x: 0, y: 79}
m_SelectedIDs:
- m_Data: 58354
- m_Data: 58294
m_LastClickedID:
m_Data: 58354
m_Data: 58294
m_ExpandedIDs:
- m_Data: 0
- m_Data: 56354
- m_Data: 58152
- m_Data: 58348
- m_Data: 1000000000
- m_Data: 2147483647
m_RenameOverlay:
......@@ -1196,9 +1195,9 @@ MonoBehaviour:
m_ResourceFile:
m_ListAreaState:
m_SelectedInstanceIDs:
- m_Data: 31262
m_LastClickedInstanceID: 31262
m_HadKeyboardFocusLastEvent: 0
- m_Data: 62082
m_LastClickedInstanceID: 62082
m_HadKeyboardFocusLastEvent: 1
m_ExpandedInstanceIDs:
- m_Data: 46526
- m_Data: 61214
......@@ -1386,8 +1385,8 @@ MonoBehaviour:
y: 0
width: 450
height: 983
m_MinSize: {x: 275, y: 50}
m_MaxSize: {x: 4000, y: 4000}
m_MinSize: {x: 276, y: 76}
m_MaxSize: {x: 4001, y: 4026}
m_ActualView: {fileID: 15}
m_Panes:
- {fileID: 15}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment