Skip to content
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ private static string RawUrl(DecentralandUrl decentralandUrl) =>
DecentralandUrl.MarketplaceCredits => $"https://credits.decentraland.{ENV}",
DecentralandUrl.GoShoppingWithMarketplaceCredits => $"https://decentraland.{ENV}/marketplace/browse?sortBy=newest&status=on_sale&withCredits=true",
DecentralandUrl.EmailSubscriptions => $"https://notifications.decentraland.{ENV}",
DecentralandUrl.Communities => $"https://social-api.decentraland.{ENV}/v1",
DecentralandUrl.Communities => $"https://social-api.decentraland.{ENV}/v1/communities",
DecentralandUrl.DecentralandWorlds => "https://decentraland.org/blog/about-decentraland/decentraland-worlds-your-own-virtual-space?utm_org=dcl&utm_source=explorer&utm_medium=organic",
_ => throw new ArgumentOutOfRangeException(nameof(decentralandUrl), decentralandUrl, null!)
};
Expand Down
3 changes: 2 additions & 1 deletion Explorer/Assets/DCL/Chat/Chat.asmdef
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@
"GUID:3db07cecf8bc76f49bd3ffb446a18d11",
"GUID:4ea6ca08dc181df4487ffee3648c7d94",
"GUID:0e4787b4cb7c9d340a9515c51e197986",
"GUID:e947b74dc7edb4721bfecf182a9939e1"
"GUID:e947b74dc7edb4721bfecf182a9939e1",
"GUID:99c2bc0e6d3e24728952ed68726bf91b"
],
"includePlatforms": [],
"excludePlatforms": [],
Expand Down
1 change: 1 addition & 0 deletions Explorer/Assets/DCL/Chat/ChatController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
using DCL.Settings.Settings;
using DCL.UI;
using DCL.UI.GenericContextMenu;
using DCL.UI.GenericContextMenuParameter;
using DCL.UI.InputFieldFormatting;
using DCL.Web3.Identities;
using DCL.UI.SharedSpaceManager;
Expand Down
4 changes: 3 additions & 1 deletion Explorer/Assets/DCL/Communities/Communities.asmdef
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@
"GUID:ace653ac543d483ba8abee112a3ba2a6",
"GUID:06ff434504c6ea64a97be2812894f353",
"GUID:3c7b57a14671040bd8c549056adc04f5",
"GUID:32414f40c5c02494097836a15ff47eac"
"GUID:32414f40c5c02494097836a15ff47eac",
"GUID:99c2bc0e6d3e24728952ed68726bf91b",
"GUID:1e5566d8839824ab2a88294b1674067f"
],
"includePlatforms": [],
"excludePlatforms": [],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,16 @@ namespace DCL.Communities.CommunitiesCard
[CreateAssetMenu(fileName = "CommunityCardContextMenuSettings", menuName = "DCL/Communities/Card/ContextMenuSettings")]
public class CommunityCardContextMenuConfiguration : ScriptableObject
{
[SerializeField] private int contextMenuWidth = 250;
[SerializeField] private int elementsSpacing = 5;
[SerializeField] private Vector2 offsetFromTarget = Vector2.zero;
[SerializeField] private RectOffset verticalPadding;
[Space(10)]
[SerializeField] private Sprite leaveCommunitySprite;
[SerializeField] private string leaveCommunityText = "Leave Community";
[Space(10)]
[SerializeField] private Sprite deleteCommunitySprite;
[SerializeField] private string deleteCommunityText = "Delete Community";
[SerializeField] private Color deleteCommunityTextColor = Color.red;
[field: SerializeField] public int ContextMenuWidth { get; private set; } = 218;
[field: SerializeField] public int ElementsSpacing { get; private set; } = 5;
[field: SerializeField] public Vector2 OffsetFromTarget { get; private set; }
[field: SerializeField] public RectOffset VerticalPadding { get; private set; }

public int ContextMenuWidth => contextMenuWidth;
public int ElementsSpacing => elementsSpacing;
public Vector2 OffsetFromTarget => offsetFromTarget;
public RectOffset VerticalPadding => verticalPadding;
[field: SerializeField] public Sprite LeaveCommunitySprite { get; private set; }
[field: SerializeField] public string LeaveCommunityText { get; private set; } = "Leave Community";

public Sprite LeaveCommunitySprite => leaveCommunitySprite;
public string LeaveCommunityText => leaveCommunityText;

public Sprite DeleteCommunitySprite => deleteCommunitySprite;
public string DeleteCommunityText => deleteCommunityText;
public Color DeleteCommunityTextColor => deleteCommunityTextColor;
[field: SerializeField] public Sprite DeleteCommunitySprite { get; private set; }
[field: SerializeField] public string DeleteCommunityText { get; private set; } = "Delete Community";
[field: SerializeField] public Color DeleteCommunityTextColor { get; private set; } = Color.red;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,16 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 2b68e7f2294347b4a4320799a41d0abf, type: 3}
m_Name: CommunityCardContextMenuSettings
m_EditorClassIdentifier:
contextMenuWidth: 218
elementsSpacing: 5
offsetFromTarget: {x: -20, y: -30}
verticalPadding:
<ContextMenuWidth>k__BackingField: 218
<ElementsSpacing>k__BackingField: 5
<OffsetFromTarget>k__BackingField: {x: -20, y: -30}
<VerticalPadding>k__BackingField:
m_Left: 15
m_Right: 15
m_Top: 20
m_Bottom: 25
leaveCommunitySprite: {fileID: 21300000, guid: 5f39f01f09cd04a7c9a041960e0e0484, type: 3}
leaveCommunityText: Leave Community
deleteCommunitySprite: {fileID: 21300000, guid: ac4ebefc5fac7475ba19ac778feacfa8, type: 3}
deleteCommunityText: Delete Community
<LeaveCommunitySprite>k__BackingField: {fileID: 21300000, guid: 5f39f01f09cd04a7c9a041960e0e0484, type: 3}
<LeaveCommunityText>k__BackingField: Leave Community
<DeleteCommunitySprite>k__BackingField: {fileID: 21300000, guid: ac4ebefc5fac7475ba19ac778feacfa8, type: 3}
<DeleteCommunityText>k__BackingField: Delete Community
<DeleteCommunityTextColor>k__BackingField: {r: 1, g: 0, b: 0, a: 1}
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ public class CommunityCardController : ControllerBase<CommunityCardView, Communi
private readonly ISystemClipboard clipboard;
private readonly IWebBrowser webBrowser;
private readonly IEventsApiService eventsApiService;
private readonly IWeb3IdentityCache web3IdentityCache;
private readonly ISharedSpaceManager sharedSpaceManager;
private readonly IChatEventBus chatEventBus;

Expand Down Expand Up @@ -88,7 +87,6 @@ public CommunityCardController(ViewFactoryMethod viewFactory,
ISystemClipboard clipboard,
IWebBrowser webBrowser,
IEventsApiService eventsApiService,
IWeb3IdentityCache web3IdentityCache,
ISharedSpaceManager sharedSpaceManager,
IChatEventBus chatEventBus)
: base(viewFactory)
Expand All @@ -105,7 +103,6 @@ public CommunityCardController(ViewFactoryMethod viewFactory,
this.clipboard = clipboard;
this.webBrowser = webBrowser;
this.eventsApiService = eventsApiService;
this.web3IdentityCache = web3IdentityCache;
this.sharedSpaceManager = sharedSpaceManager;
this.chatEventBus = chatEventBus;

Expand Down Expand Up @@ -216,7 +213,6 @@ protected override void OnViewInstantiated()
friendServiceProxy,
communitiesDataProvider,
viewInstance.warningNotificationView,
web3IdentityCache,
sharedSpaceManager,
chatEventBus);

Expand All @@ -229,8 +225,7 @@ protected override void OnViewInstantiated()
realmNavigator,
mvcManager,
clipboard,
webBrowser,
web3IdentityCache);
webBrowser);

eventListController = new EventListController(viewInstance.EventListView,
eventsApiService,
Expand Down Expand Up @@ -285,7 +280,7 @@ async UniTaskVoid LoadCommunityDataAsync(CancellationToken ct)
viewInstance.SetLoadingState(false);

viewInstance.ConfigureCommunity(communityData, imageController);
viewInstance.ConfigureContextMenu(mvcManager, ct);
viewInstance.SetPanelCancellationToken(ct);

viewInstance.ResetToggle(true);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,21 @@
using DCL.Communities.CommunitiesCard.Members;
using DCL.Communities.CommunitiesCard.Photos;
using DCL.Communities.CommunitiesCard.Places;
using DCL.Diagnostics;
using DCL.UI;
using DCL.UI.GenericContextMenu;
using DCL.UI.GenericContextMenu.Controls.Configs;
using DCL.UI.GenericContextMenuParameter;
using DCL.UI.Profiles.Helpers;
using DCL.Utilities.Extensions;
using MVC;
using System;
using System.Threading;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using Utility;
using Utility.Types;

namespace DCL.Communities.CommunitiesCard
{
Expand Down Expand Up @@ -104,7 +108,6 @@ public struct CameraReelGalleryConfig
private GenericContextMenu contextMenu;
private GenericContextMenuElement leaveCommunityContextMenuElement;
private GenericContextMenuElement deleteCommunityContextMenuElement;
private IMVCManager mvcManager;
private CancellationToken cancellationToken;

private void Awake()
Expand Down Expand Up @@ -147,32 +150,32 @@ private void OnDeleteCommunityRequested()

async UniTask ShowDeleteConfirmationDialogAsync(CancellationToken ct)
{
ConfirmationDialogView.ConfirmationResult dialogResult = await confirmationDialogView.ShowConfirmationDialogAsync(
new ConfirmationDialogView.DialogData(string.Format(DELETE_COMMUNITY_TEXT_FORMAT, communityName.text),
DELETE_COMMUNITY_CANCEL_TEXT,
DELETE_COMMUNITY_CONFIRM_TEXT,
deleteCommunityImage,
false, false),
ct);
Result<ConfirmationDialogView.ConfirmationResult> dialogResult = await confirmationDialogView.ShowConfirmationDialogAsync(
new ConfirmationDialogView.DialogData(string.Format(DELETE_COMMUNITY_TEXT_FORMAT, communityName.text),
DELETE_COMMUNITY_CANCEL_TEXT,
DELETE_COMMUNITY_CONFIRM_TEXT,
deleteCommunityImage,
false, false),
ct)
.SuppressToResultAsync(ReportCategory.COMMUNITIES);

if (dialogResult == ConfirmationDialogView.ConfirmationResult.CANCEL) return;
if (!dialogResult.Success || dialogResult.Value == ConfirmationDialogView.ConfirmationResult.CANCEL) return;

DeleteCommunityRequested?.Invoke();
}
}

public void ConfigureContextMenu(IMVCManager mvcManager, CancellationToken cancellationToken)
public void SetPanelCancellationToken(CancellationToken cancellationToken)
{
this.mvcManager = mvcManager;
this.cancellationToken = cancellationToken;
}

private void OpenContextMenu()
{
openContextMenuButton.interactable = false;

mvcManager.ShowAndForget(GenericContextMenuController.IssueCommand(new GenericContextMenuParameter(contextMenu, openContextMenuButton.transform.position,
actionOnHide: () => openContextMenuButton.interactable = true)), cancellationToken);
ViewDependencies.ContextMenuOpener.OpenContextMenu(new GenericContextMenuParameter(contextMenu, openContextMenuButton.transform.position,
actionOnHide: () => openContextMenuButton.interactable = true), cancellationToken);
}

private void OnDisable()
Expand All @@ -188,15 +191,16 @@ private void ShowLeaveConfirmationDialog()

async UniTask ShowLeaveConfirmationDialogAsync(CancellationToken ct)
{
ConfirmationDialogView.ConfirmationResult dialogResult = await confirmationDialogView.ShowConfirmationDialogAsync(
new ConfirmationDialogView.DialogData(string.Format(LEAVE_COMMUNITY_TEXT_FORMAT, communityName.text),
LEAVE_COMMUNITY_CANCEL_TEXT,
LEAVE_COMMUNITY_CONFIRM_TEXT,
CommunityThumbnail.ImageSprite,
true, true),
ct);

if (dialogResult == ConfirmationDialogView.ConfirmationResult.CANCEL) return;
Result<ConfirmationDialogView.ConfirmationResult> dialogResult = await confirmationDialogView.ShowConfirmationDialogAsync(
new ConfirmationDialogView.DialogData(string.Format(LEAVE_COMMUNITY_TEXT_FORMAT, communityName.text),
LEAVE_COMMUNITY_CANCEL_TEXT,
LEAVE_COMMUNITY_CONFIRM_TEXT,
CommunityThumbnail.ImageSprite,
true, true),
ct)
.SuppressToResultAsync(ReportCategory.COMMUNITIES);

if (!dialogResult.Success || dialogResult.Value == ConfirmationDialogView.ConfirmationResult.CANCEL) return;

LeaveCommunityRequested?.Invoke();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,26 +45,29 @@ protected async UniTaskVoid FetchNewDataAsync(CancellationToken ct)
{
isFetching = true;

SectionFetchData<T> membersData = currentSectionFetchData;
try
{

view.SetEmptyStateActive(false);
SectionFetchData<T> membersData = currentSectionFetchData;

if (membersData.pageNumber == 0)
view.SetLoadingStateActive(true);
view.SetEmptyStateActive(false);

int count = membersData.items.Count;
if (membersData.pageNumber == 0)
view.SetLoadingStateActive(true);

membersData.pageNumber++;
membersData.totalToFetch = await FetchDataAsync(ct);
membersData.totalFetched = membersData.pageNumber * pageSize;
int count = membersData.items.Count;

view.SetLoadingStateActive(false);
membersData.pageNumber++;
membersData.totalToFetch = await FetchDataAsync(ct);
membersData.totalFetched = membersData.pageNumber * pageSize;

view.SetEmptyStateActive(membersData.totalToFetch == 0);
view.SetLoadingStateActive(false);

view.RefreshGrid(count == membersData.items.Count);
view.SetEmptyStateActive(membersData.totalToFetch == 0);

isFetching = false;
view.RefreshGrid(count == membersData.items.Count);
}
finally { isFetching = false; }
}

protected abstract UniTask<int> FetchDataAsync(CancellationToken ct);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,14 @@ namespace DCL.Communities.CommunitiesCard.Events
[CreateAssetMenu(fileName = "CommunityEventsContextMenuSettings", menuName = "DCL/Communities/Events/ContextMenuSettings")]
public class CommunityEventsContextMenuConfiguration : ScriptableObject
{
[SerializeField] private int contextMenuWidth = 250;
[SerializeField] private int elementsSpacing = 5;
[SerializeField] private RectOffset verticalPadding;
[Space(10)]
[SerializeField] private Sprite shareSprite;
[SerializeField] private string shareText = "Share on X";
[Space(10)]
[SerializeField] private Sprite copyLinkSprite;
[SerializeField] private string copyLinkText = "Copy link";
[field: SerializeField] public int ContextMenuWidth { get; private set; } = 180;
[field: SerializeField] public int ElementsSpacing { get; private set; } = 5;
[field: SerializeField] public RectOffset VerticalPadding { get; private set; }

public int ContextMenuWidth => contextMenuWidth;
public int ElementsSpacing => elementsSpacing;
public RectOffset VerticalPadding => verticalPadding;
[field: SerializeField] public Sprite ShareSprite { get; private set; }
[field: SerializeField] public string ShareText { get; private set; } = "Share on X";

public Sprite ShareSprite => shareSprite;
public string ShareText => shareText;

public Sprite CopyLinkSprite => copyLinkSprite;
public string CopyLinkText => copyLinkText;
[field: SerializeField] public Sprite CopyLinkSprite { get; private set; }
[field: SerializeField] public string CopyLinkText { get; private set; } = "Copy link";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 15900fa860244ade98977b1fb151e64b, type: 3}
m_Name: CommunityEventsContextMenuSettings
m_EditorClassIdentifier:
contextMenuWidth: 250
elementsSpacing: 5
verticalPadding:
<ContextMenuWidth>k__BackingField: 180
<ElementsSpacing>k__BackingField: 5
<VerticalPadding>k__BackingField:
m_Left: 15
m_Right: 15
m_Top: 20
m_Bottom: 25
shareSprite: {fileID: 21300000, guid: 4c97cd3c67403471d8fe75c5fc348e58, type: 3}
shareText: Share on X
copyLinkSprite: {fileID: 21300000, guid: 3bffb1589fb814c70b23fbce43ba6736, type: 3}
copyLinkText: Copy link
<ShareSprite>k__BackingField: {fileID: 21300000, guid: 4c97cd3c67403471d8fe75c5fc348e58, type: 3}
<ShareText>k__BackingField: Share on X
<CopyLinkSprite>k__BackingField: {fileID: 21300000, guid: 3bffb1589fb814c70b23fbce43ba6736, type: 3}
<CopyLinkText>k__BackingField: Copy link
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ public EventListController(EventListView view,
this.mvcManager = mvcManager;
this.spriteCache = eventThumbnailSpriteCache;

view.InitList(() => currentSectionFetchData, eventThumbnailSpriteCache, mvcManager, cancellationToken);
view.InitList(() => currentSectionFetchData, eventThumbnailSpriteCache, cancellationToken);

view.OpenWizardRequested += OnOpenWizardRequested;
view.MainButtonClicked += OnMainButtonClicked;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,13 @@ public class EventListItemView : MonoBehaviour, IPointerEnterHandler, IPointerEx
[SerializeField] private TMP_Text eventOnlineUsersText;
[SerializeField] private TMP_Text eventInterestedUsersText;

public event Action<PlaceAndEventDTO> MainButtonClicked;
public event Action<PlaceAndEventDTO> JumpInButtonClicked;
public event Action<PlaceAndEventDTO> InterestedButtonClicked;
public event Action<PlaceAndEventDTO, Vector2> ShareButtonClicked;
public event Action<PlaceAndEventDTO>? MainButtonClicked;
public event Action<PlaceAndEventDTO>? JumpInButtonClicked;
public event Action<PlaceAndEventDTO>? InterestedButtonClicked;
public event Action<PlaceAndEventDTO, Vector2>? ShareButtonClicked;

private PlaceAndEventDTO? eventData;
private ImageController imageController;
private ImageController? imageController;

private bool canPlayUnHoverAnimation = true;
internal bool CanPlayUnHoverAnimation
Expand Down
Loading
Loading