Renders embedded links

This commit is contained in:
2025-06-21 15:19:32 +08:00
parent a6d1ca57d7
commit 4ba809a8d6
6 changed files with 476 additions and 2 deletions

23
lib/models/embed.dart Normal file
View File

@ -0,0 +1,23 @@
import 'package:freezed_annotation/freezed_annotation.dart';
part 'embed.freezed.dart';
part 'embed.g.dart';
@freezed
sealed class SnEmbedLink with _$SnEmbedLink {
const factory SnEmbedLink({
@JsonKey(name: 'Type') required String type,
@JsonKey(name: 'Url') required String url,
@JsonKey(name: 'Title') required String title,
@JsonKey(name: 'Description') required String description,
@JsonKey(name: 'ImageUrl') required String imageUrl,
@JsonKey(name: 'FaviconUrl') required String faviconUrl,
@JsonKey(name: 'SiteName') required String siteName,
@JsonKey(name: 'ContentType') required String contentType,
@JsonKey(name: 'Author') required dynamic author,
@JsonKey(name: 'PublishedDate') required dynamic publishedDate,
}) = _SnEmbedLink;
factory SnEmbedLink.fromJson(Map<String, dynamic> json) =>
_$SnEmbedLinkFromJson(json);
}