mirror of
https://github.com/zapstore/zapstore.git
synced 2026-10-05 20:48:24 +00:00
Parse emojis and remove markdown from AppCard
This commit is contained in:
@@ -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(
|
||||
|
||||
@@ -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]!;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user