1
0
mirror of https://github.com/ppy/osu.git synced 2026-05-31 11:50:05 +08:00
Files
osu-lazer/osu.Game/Overlays/Changelog/ChangelogUpdateStreamItem.cs
T
Dan Balasescu 1f4cfa74dc Initial rework of FriendDisplay to use presence
It's at a very simple stage for now:
- Tab control is no longer recreated when friends change, counts are
  updated as bindables.
- All async logic removed temporarily.
- Sort and filtering happens in realtime without panel reload.
- Display modes removed for now. Need to think about this one a bit more,
  and whether to retry the async path or look for a separate solution.
- Real time user presence is now considered. Not considered for sorting
  by last visit time yet.
2025-03-11 19:13:11 +09:00

28 lines
933 B
C#

// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using Humanizer;
using osu.Framework.Localisation;
using osu.Game.Graphics;
using osu.Game.Online.API.Requests.Responses;
using osuTK.Graphics;
namespace osu.Game.Overlays.Changelog
{
public partial class ChangelogUpdateStreamItem : OverlayStreamItem<APIUpdateStream>
{
public ChangelogUpdateStreamItem(APIUpdateStream stream)
: base(stream)
{
if (stream.IsFeatured)
Width *= 2;
MainText = Value.DisplayName;
AdditionalText = Value.LatestBuild.DisplayVersion;
InfoText = Value.UserCount > 0 ? $"{"user".ToQuantity(Value.UserCount, "N0")} online" : default(LocalisableString);
}
protected override Color4 GetBarColour(OsuColour colours) => Value.Colour;
}
}