Parse emojis and remove markdown from AppCard

This commit is contained in:
franzap
2024-10-12 16:15:54 -03:00
parent d5c8b73959
commit 9ccd38ca60
4 changed files with 32 additions and 2 deletions
+2 -1
View File
@@ -10,6 +10,7 @@ import 'package:zapstore/main.data.dart';
import 'package:zapstore/models/app.dart';
import 'package:zapstore/models/release.dart';
import 'package:zapstore/utils/extensions.dart';
import 'package:zapstore/widgets/app_card.dart';
import 'package:zapstore/widgets/install_button.dart';
import 'package:zapstore/widgets/release_card.dart';
import 'package:zapstore/widgets/signer_and_developer_row.dart';
@@ -79,7 +80,7 @@ class AppDetailScreen extends HookConsumerWidget {
fontSize: 18, fontWeight: FontWeight.w300),
),
selectable: false,
data: app.content,
data: app.content.parseEmojis(),
),
Gap(10),
Padding(
+12 -1
View File
@@ -1,8 +1,10 @@
import 'package:auto_size_text/auto_size_text.dart';
import 'package:dart_emoji/dart_emoji.dart';
import 'package:flutter/material.dart';
import 'package:gap/gap.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:remove_markdown/remove_markdown.dart';
import 'package:skeletonizer/skeletonizer.dart';
import 'package:zapstore/models/app.dart';
import 'package:zapstore/widgets/pill_widget.dart';
@@ -97,7 +99,7 @@ class AppCard extends HookConsumerWidget {
),
Gap(6),
Text(
app!.content,
app!.content.removeMarkdown().parseEmojis(),
style:
TextStyle(fontSize: 14, fontWeight: FontWeight.w300),
overflow: TextOverflow.ellipsis,
@@ -195,3 +197,12 @@ class TagsContainer extends StatelessWidget {
);
}
}
extension StringWidget on String {
static final _emojiParser = EmojiParser();
String parseEmojis() {
return replaceAllMapped(RegExp(':([a-z]*):'), (m) {
return _emojiParser.hasName(m[1]!) ? _emojiParser.get(m[1]!).code : m[0]!;
});
}
}
+16
View File
@@ -289,6 +289,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.8"
dart_emoji:
dependency: "direct main"
description:
name: dart_emoji
sha256: "88d5e37174751aeabaecdbf153fdca46eb9fa12d6b626d6c70447058d444724e"
url: "https://pub.dev"
source: hosted
version: "0.2.0+2"
dart_style:
dependency: transitive
description:
@@ -928,6 +936,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.2.3"
remove_markdown:
dependency: "direct main"
description:
name: remove_markdown
sha256: "99798c4147609972e923847504e48e685e91473a70af659c3445fbbbeea8c33c"
url: "https://pub.dev"
source: hosted
version: "0.0.2"
riverpod:
dependency: transitive
description:
+2
View File
@@ -46,6 +46,8 @@ dependencies:
convert: ^3.1.1
async: ^2.11.0
app_links: ^6.3.2
dart_emoji: ^0.2.0+2
remove_markdown: ^0.0.2
dependency_overrides:
purplebase: