Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rating view #1706

Draft
wants to merge 11 commits into
base: main
Choose a base branch
from
52 changes: 52 additions & 0 deletions src/CommunityToolkit.Maui.Core/Primitives/Defaults/RatingShape.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
namespace CommunityToolkit.Maui.Core.Primitives.Defaults;

/// <summary>
/// The type of the shape to display on the rating view
/// </summary>
public readonly partial struct RatingShape(string pathData)
Eel2000 marked this conversation as resolved.
Show resolved Hide resolved
{
/// <summary>
/// the data path data from the svg
/// </summary>
public string PathData { get; } = pathData;
}

public partial struct RatingShape
{
/// <summary>
/// the default star shape
/// </summary>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let update this to describe the shape. Right now it is just repeating the property name.

public static RatingShape Star => new(PathShapes.Star);
Eel2000 marked this conversation as resolved.
Show resolved Hide resolved

/// <summary>
/// The default heart shape
/// </summary>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let update this to describe the shape. Right now it is just repeating the property name.

public static RatingShape Heart => new(PathShapes.Heart);
Eel2000 marked this conversation as resolved.
Show resolved Hide resolved

/// <summary>
/// The cirle shape
/// </summary>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reminder to add descriptive XML Comments

public static RatingShape Circle => new(PathShapes.Circle);
Eel2000 marked this conversation as resolved.
Show resolved Hide resolved

/// <summary>
/// The Like shapes
/// </summary>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reminder to add descriptive XML Comments

public static RatingShape Like => new(PathShapes.Like);
Eel2000 marked this conversation as resolved.
Show resolved Hide resolved

/// <summary>
/// The Dislike
/// </summary>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reminder to add descriptive XML Comments

public static RatingShape DisLike => new(PathShapes.Dislike);
Eel2000 marked this conversation as resolved.
Show resolved Hide resolved
Eel2000 marked this conversation as resolved.
Show resolved Hide resolved
}

/// <summary>
///
/// </summary>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reminder to add XML Comments

static class PathShapes
{
public const string Star = "M9 11.3l3.71 2.7-1.42-4.36L15 7h-4.55L9 2.5 7.55 7H3l3.71 2.64L5.29 14z";
public const string Heart = "M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z";
public const string Circle = "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z";
public const string Like = "M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-1.91l-.01-.01L23 10z";
public const string Dislike = "M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v1.91l.01.01L1 14c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm4 0v12h4V3h-4z";
}
11 changes: 11 additions & 0 deletions src/CommunityToolkit.Maui.Core/Primitives/Rating.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
namespace CommunityToolkit.Maui.Core.Primitives;

///<summary></summary>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reminder to add descriptive XML Comments

public class Rating
{
///<summary></summary>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reminder to add descriptive XML Comments

public double? CurrentRating { get; set; }

///<summary></summary>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reminder to add descriptive XML Comments

public object? CommandParameter { get; set; }
Eel2000 marked this conversation as resolved.
Show resolved Hide resolved
}
4 changes: 2 additions & 2 deletions src/CommunityToolkit.Maui/CommunityToolkit.Maui.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Maui.Controls" Version="$(MauiPackageVersion)"/>
<PackageReference Include="Microsoft.Maui.Controls.Compatibility" Version="$(MauiPackageVersion)"/>
<PackageReference Include="Microsoft.Maui.Controls" Version="$(MauiPackageVersion)" />
<PackageReference Include="Microsoft.Maui.Controls.Compatibility" Version="$(MauiPackageVersion)" />
</ItemGroup>

</Project>
Loading