Skip to content

Commit 112d96a

Browse files
committed
Показ стикеров
1 parent 7b0d35d commit 112d96a

2 files changed

Lines changed: 60 additions & 7 deletions

File tree

DvachBrowser3.Engines.Makaba/Engines/Makaba/Html/MakabaJsonResponseParseService.cs

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -218,20 +218,39 @@ private PostTree Parse(BoardPost2 data, ThreadLink link, bool isPreview)
218218
{
219219
foreach (var f in data.Files)
220220
{
221-
var mediaLink = new BoardMediaLink()
221+
BoardLinkBase mediaLink, tnLink;
222+
if (IsBoardLink(f.Path, link.Board))
223+
{
224+
mediaLink = new BoardMediaLink()
222225
{
223226
Engine = CoreConstants.Engine.Makaba,
224227
Board = link.Board,
225228
RelativeUri = RemoveBoardFromLink(f.Path),
226229
KnownMediaType = f.Type == MakabaMediaTypes.Webm ? KnownMediaType.Webm : KnownMediaType.Default
227230
};
228-
var tnLink = new BoardMediaLink()
231+
tnLink = new BoardMediaLink()
232+
{
233+
Engine = CoreConstants.Engine.Makaba,
234+
Board = link.Board,
235+
RelativeUri = RemoveBoardFromLink(f.Thumbnail),
236+
KnownMediaType = KnownMediaType.Default
237+
};
238+
}
239+
else
229240
{
230-
Engine = CoreConstants.Engine.Makaba,
231-
Board = link.Board,
232-
RelativeUri = RemoveBoardFromLink(f.Thumbnail),
233-
KnownMediaType = KnownMediaType.Default
234-
};
241+
mediaLink = new MediaLink()
242+
{
243+
Engine = CoreConstants.Engine.Makaba,
244+
RelativeUri = f.Path,
245+
IsAbsolute = false,
246+
};
247+
tnLink = new MediaLink()
248+
{
249+
Engine = CoreConstants.Engine.Makaba,
250+
RelativeUri = f.Thumbnail,
251+
IsAbsolute = false
252+
};
253+
}
235254
var media = new PostImageWithThumbnail()
236255
{
237256
Link = mediaLink,
@@ -256,6 +275,16 @@ private PostTree Parse(BoardPost2 data, ThreadLink link, bool isPreview)
256275
return result;
257276
}
258277

278+
private bool IsBoardLink(string uri, string board)
279+
{
280+
if (uri == null)
281+
{
282+
return false;
283+
}
284+
return uri.StartsWith($"/{board}/", StringComparison.OrdinalIgnoreCase) ||
285+
uri.StartsWith($"{board}/", StringComparison.OrdinalIgnoreCase);
286+
}
287+
259288
private string RemoveBoardFromLink(string uri)
260289
{
261290
var parts = uri?.Split('/');

DvachBrowser3.Engines.Makaba/Engines/Makaba/Json/BoardPostFile2.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,18 @@ namespace DvachBrowser3.Engines.Makaba.Json
77
/// </summary>
88
public class BoardPostFile2
99
{
10+
/// <summary>
11+
/// Отображаемое имя.
12+
/// </summary>
13+
[JsonProperty("displayname")]
14+
public string DisplayName { get; set; }
15+
16+
/// <summary>
17+
/// Полное имя.
18+
/// </summary>
19+
[JsonProperty("fullname")]
20+
public string FullName { get; set; }
21+
1022
/// <summary>
1123
/// Высота.
1224
/// </summary>
@@ -25,6 +37,12 @@ public class BoardPostFile2
2537
[JsonProperty("name")]
2638
public string Name { get; set; }
2739

40+
/// <summary>
41+
/// Не для работы.
42+
/// </summary>
43+
[JsonProperty("nsfw")]
44+
public int NotSafeForWork { get; set; }
45+
2846
/// <summary>
2947
/// Путь.
3048
/// </summary>
@@ -37,6 +55,12 @@ public class BoardPostFile2
3755
[JsonProperty("size")]
3856
public int Size { get; set; }
3957

58+
/// <summary>
59+
/// Идентификатор стикера.
60+
/// </summary>
61+
[JsonProperty("sticker")]
62+
public string Sticker { get; set; }
63+
4064
/// <summary>
4165
/// Уменьшенное изображение.
4266
/// </summary>

0 commit comments

Comments
 (0)