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

signup

parent 42e75487
using System; using System;
using System.Collections.Generic;
using System.Threading; using System.Threading;
using Cysharp.Threading.Tasks; using Cysharp.Threading.Tasks;
using OneOf;
using Supabase.Realtime; using Supabase.Realtime;
using Supabase.Realtime.PostgresChanges; using Supabase.Realtime.PostgresChanges;
using UnityEngine; using UnityEngine;
...@@ -51,23 +53,21 @@ public class ActivityService : Singleton<ActivityService> ...@@ -51,23 +53,21 @@ public class ActivityService : Singleton<ActivityService>
} }
} }
public async UniTask LoadLatest5Activies() public async UniTask<OneOf<List<Activity>, string>> LoadLatest3Activies()
{ {
try try
{ {
var activities = await supabase.From<Activity>() var activities = await supabase.From<Activity>()
.Order("created_at", Supabase.Postgrest.Constants.Ordering.Descending) .Order("created_at", Supabase.Postgrest.Constants.Ordering.Descending)
.Limit(5) .Limit(3)
.Get(); .Get();
foreach (var activity in activities.Models) return activities.Models;
{
OnNewActivityReceived?.Invoke(activity);
}
} }
catch (Exception e) catch (Exception e)
{ {
Debug.LogError($"[ActivityService] Error loading activities: {e.Message}"); Debug.LogError($"[ActivityService] Error loading activities: {e.Message}");
return e.Message;
} }
} }
......
...@@ -53,7 +53,19 @@ public class HomeController : MonoBehaviour ...@@ -53,7 +53,19 @@ public class HomeController : MonoBehaviour
{ {
OnUserChange(UserService.Instance.CurrentUser); OnUserChange(UserService.Instance.CurrentUser);
ActivityService.Instance.Initialize(); 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(); FakeActivity();
} }
...@@ -64,7 +76,7 @@ public class HomeController : MonoBehaviour ...@@ -64,7 +76,7 @@ public class HomeController : MonoBehaviour
{ {
await UniTask.Delay(2000); await UniTask.Delay(2000);
var ran = Random.Range(0, 100); var ran = Random.Range(0, 100);
print($"Fake Activity: حصلت على {ran} نقطة خبرة!");
OnNewActivityReceived(new Activity { Message = $"لقد حصلت على {ran} نقطة خبرة!" }); OnNewActivityReceived(new Activity { Message = $"لقد حصلت على {ran} نقطة خبرة!" });
} }
} }
...@@ -97,8 +109,26 @@ public class HomeController : MonoBehaviour ...@@ -97,8 +109,26 @@ public class HomeController : MonoBehaviour
var name = activity.Message.Split(" ")[0]; var name = activity.Message.Split(" ")[0];
var label = new Label($"<color=#FED700>{name}</color> {activity.Message[name.Length..]}"); var label = new Label($"<color=#FED700>{name}</color> {activity.Message[name.Length..]}");
var oldHighvalue = activityScrollView.horizontalScroller.highValue;
activityScrollView.Add(label); 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 ...@@ -8,6 +8,12 @@ public class LoginController : MonoBehaviour
private TextField passwordInputField; private TextField passwordInputField;
private Button loginButton; private Button loginButton;
private TextField signUpFullname;
private TextField signUpUsername;
private TextField signUpemail;
private TextField signUppassword;
private Button signUpButton;
private VisualElement loginRoot; private VisualElement loginRoot;
private VisualElement registerRoot; private VisualElement registerRoot;
...@@ -20,25 +26,46 @@ public class LoginController : MonoBehaviour ...@@ -20,25 +26,46 @@ public class LoginController : MonoBehaviour
passwordInputField = loginRoot.Q<TextField>("LoginPassword"); passwordInputField = loginRoot.Q<TextField>("LoginPassword");
loginButton = loginRoot.Q<Button>("Login"); 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; loginButton.clicked += Login;
signUpButton.clicked += ShowRegister;
} }
private void OnDisable() private void OnDisable()
{ {
loginButton.clicked -= Login; loginButton.clicked -= Login;
signUpButton.clicked -= ShowRegister;
} }
private async void Login() private async void Login()
{ {
string email = emailInputField.text; string email = emailInputField.text;
string password = passwordInputField.text; string password = passwordInputField.text;
print(email);
var login = await SupabaseAuthentication.Instance.LogIn(email, password); var login = await SupabaseAuthentication.Instance.LogIn(email, password);
login.Switch( login.Switch(
(_) => { }, (_) => { },
(string error) => { Debug.LogError(error); } (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 @@ ...@@ -40,28 +40,28 @@
<ui:VisualElement template="Template" name="Name" style="margin-bottom: 50px; margin-top: 50px;"> <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"/> <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: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: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:TextField>
</ui:VisualElement> </ui:VisualElement>
<ui:VisualElement template="Template" name="Email" style="margin-bottom: 50px;"> <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"/> <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: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: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:TextField>
</ui:VisualElement> </ui:VisualElement>
<ui:VisualElement template="Template" name="User" style="margin-bottom: 50px;"> <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"/> <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: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: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:TextField>
</ui:VisualElement> </ui:VisualElement>
<ui:VisualElement template="Template" name="Password" style="margin-bottom: 50px;"> <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"/> <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: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: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:TextField>
</ui:VisualElement> </ui:VisualElement>
......
...@@ -24,7 +24,7 @@ MonoBehaviour: ...@@ -24,7 +24,7 @@ MonoBehaviour:
m_MinSize: {x: 300, y: 112} m_MinSize: {x: 300, y: 112}
m_MaxSize: {x: 24288, y: 16192} m_MaxSize: {x: 24288, y: 16192}
vertical: 0 vertical: 0
controlID: 14859 controlID: 17415
draggingID: 0 draggingID: 0
--- !u!114 &2 --- !u!114 &2
MonoBehaviour: MonoBehaviour:
...@@ -97,7 +97,7 @@ MonoBehaviour: ...@@ -97,7 +97,7 @@ MonoBehaviour:
m_HSlider: 0 m_HSlider: 0
m_VSlider: 0 m_VSlider: 0
m_IgnoreScrollWheelUntilClicked: 0 m_IgnoreScrollWheelUntilClicked: 0
m_EnableMouseInput: 1 m_EnableMouseInput: 0
m_EnableSliderZoomHorizontal: 0 m_EnableSliderZoomHorizontal: 0
m_EnableSliderZoomVertical: 0 m_EnableSliderZoomVertical: 0
m_UniformScale: 1 m_UniformScale: 1
...@@ -153,7 +153,7 @@ MonoBehaviour: ...@@ -153,7 +153,7 @@ MonoBehaviour:
m_MinSize: {x: 200, y: 112} m_MinSize: {x: 200, y: 112}
m_MaxSize: {x: 16192, y: 16192} m_MaxSize: {x: 16192, y: 16192}
vertical: 1 vertical: 1
controlID: 14860 controlID: 17416
draggingID: 0 draggingID: 0
--- !u!114 &4 --- !u!114 &4
MonoBehaviour: MonoBehaviour:
...@@ -179,7 +179,7 @@ MonoBehaviour: ...@@ -179,7 +179,7 @@ MonoBehaviour:
m_MinSize: {x: 200, y: 56} m_MinSize: {x: 200, y: 56}
m_MaxSize: {x: 16192, y: 8096} m_MaxSize: {x: 16192, y: 8096}
vertical: 0 vertical: 0
controlID: 14861 controlID: 17417
draggingID: 0 draggingID: 0
--- !u!114 &5 --- !u!114 &5
MonoBehaviour: MonoBehaviour:
...@@ -274,6 +274,7 @@ MonoBehaviour: ...@@ -274,6 +274,7 @@ MonoBehaviour:
- m_Data: 58582 - m_Data: 58582
- m_Data: 62798 - m_Data: 62798
- m_Data: 71130 - m_Data: 71130
- m_Data: 71352
- m_Data: 75232 - m_Data: 75232
- m_Data: 75264 - m_Data: 75264
- m_Data: 76034 - m_Data: 76034
...@@ -1105,7 +1106,7 @@ MonoBehaviour: ...@@ -1105,7 +1106,7 @@ MonoBehaviour:
m_SkipHidden: 0 m_SkipHidden: 0
m_SearchArea: 1 m_SearchArea: 1
m_Folders: m_Folders:
- Assets/AppUI/UIToolkit/UXML - Assets/App/Infrastructure
m_Globs: [] m_Globs: []
m_ProductIds: m_ProductIds:
m_AnyWithAssetOrigin: 0 m_AnyWithAssetOrigin: 0
...@@ -1115,7 +1116,7 @@ MonoBehaviour: ...@@ -1115,7 +1116,7 @@ MonoBehaviour:
m_ViewMode: 1 m_ViewMode: 1
m_StartGridSize: 96 m_StartGridSize: 96
m_LastFolders: m_LastFolders:
- Assets/AppUI/UIToolkit/UXML - Assets/App/Infrastructure
m_LastFoldersGridSize: 96 m_LastFoldersGridSize: 96
m_LastProjectPath: /home/p0wer/development/ssbookminigames/My project m_LastProjectPath: /home/p0wer/development/ssbookminigames/My project
m_LockTracker: m_LockTracker:
...@@ -1124,14 +1125,12 @@ MonoBehaviour: ...@@ -1124,14 +1125,12 @@ MonoBehaviour:
m_FolderTreeState: m_FolderTreeState:
scrollPos: {x: 0, y: 79} scrollPos: {x: 0, y: 79}
m_SelectedIDs: m_SelectedIDs:
- m_Data: 58354 - m_Data: 58294
m_LastClickedID: m_LastClickedID:
m_Data: 58354 m_Data: 58294
m_ExpandedIDs: m_ExpandedIDs:
- m_Data: 0 - m_Data: 0
- m_Data: 56354 - m_Data: 56354
- m_Data: 58152
- m_Data: 58348
- m_Data: 1000000000 - m_Data: 1000000000
- m_Data: 2147483647 - m_Data: 2147483647
m_RenameOverlay: m_RenameOverlay:
...@@ -1196,9 +1195,9 @@ MonoBehaviour: ...@@ -1196,9 +1195,9 @@ MonoBehaviour:
m_ResourceFile: m_ResourceFile:
m_ListAreaState: m_ListAreaState:
m_SelectedInstanceIDs: m_SelectedInstanceIDs:
- m_Data: 31262 - m_Data: 62082
m_LastClickedInstanceID: 31262 m_LastClickedInstanceID: 62082
m_HadKeyboardFocusLastEvent: 0 m_HadKeyboardFocusLastEvent: 1
m_ExpandedInstanceIDs: m_ExpandedInstanceIDs:
- m_Data: 46526 - m_Data: 46526
- m_Data: 61214 - m_Data: 61214
...@@ -1386,8 +1385,8 @@ MonoBehaviour: ...@@ -1386,8 +1385,8 @@ MonoBehaviour:
y: 0 y: 0
width: 450 width: 450
height: 983 height: 983
m_MinSize: {x: 275, y: 50} m_MinSize: {x: 276, y: 76}
m_MaxSize: {x: 4000, y: 4000} m_MaxSize: {x: 4001, y: 4026}
m_ActualView: {fileID: 15} m_ActualView: {fileID: 15}
m_Panes: m_Panes:
- {fileID: 15} - {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