mirror of
https://github.com/bitwarden/server.git
synced 2025-04-17 02:58:12 -05:00
69 lines
1.9 KiB
C#
69 lines
1.9 KiB
C#
using System;
|
|
|
|
namespace Bit.Icons.Models
|
|
{
|
|
public class IconResult
|
|
{
|
|
public IconResult(string href, string sizes)
|
|
{
|
|
Path = href;
|
|
if(!string.IsNullOrWhiteSpace(sizes))
|
|
{
|
|
var sizeParts = sizes.Split('x');
|
|
if(sizeParts.Length == 2 && int.TryParse(sizeParts[0].Trim(), out var width) &&
|
|
int.TryParse(sizeParts[1].Trim(), out var height))
|
|
{
|
|
DefinedWidth = width;
|
|
DefinedHeight = height;
|
|
|
|
if(width == height)
|
|
{
|
|
if(width == 32)
|
|
{
|
|
Priority = 1;
|
|
}
|
|
else if(width == 64)
|
|
{
|
|
Priority = 2;
|
|
}
|
|
else if(width >= 24 && width <= 128)
|
|
{
|
|
Priority = 3;
|
|
}
|
|
else if(width == 16)
|
|
{
|
|
Priority = 4;
|
|
}
|
|
else
|
|
{
|
|
Priority = 100;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if(Priority == 0)
|
|
{
|
|
Priority = 200;
|
|
}
|
|
}
|
|
|
|
public IconResult(Uri uri, byte[] bytes, string format)
|
|
{
|
|
Path = uri.ToString();
|
|
Icon = new Icon
|
|
{
|
|
Image = bytes,
|
|
Format = format
|
|
};
|
|
Priority = 10;
|
|
}
|
|
|
|
public string Path { get; set; }
|
|
public int? DefinedWidth { get; set; }
|
|
public int? DefinedHeight { get; set; }
|
|
public Icon Icon { get; set; }
|
|
public int Priority { get; set; }
|
|
}
|
|
}
|