mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
Merge pull request #518 from rileyhawk1417/export_notify
In App Notification Feature
This commit is contained in:
commit
6727c12b3e
@ -96,6 +96,12 @@
|
|||||||
"lightMode": "Switch to Light mode",
|
"lightMode": "Switch to Light mode",
|
||||||
"darkMode": "Switch to Dark mode"
|
"darkMode": "Switch to Dark mode"
|
||||||
},
|
},
|
||||||
|
"notifications": {
|
||||||
|
"export": {
|
||||||
|
"markdown": "Exported Note To Markdown",
|
||||||
|
"path": "Documents/flowy"
|
||||||
|
}
|
||||||
|
},
|
||||||
"contactsPage": {
|
"contactsPage": {
|
||||||
"title": "Contacts",
|
"title": "Contacts",
|
||||||
"whatsHappening": "What's happening this week?",
|
"whatsHappening": "What's happening this week?",
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
import 'dart:async';
|
||||||
|
import 'dart:io';
|
||||||
|
import 'package:app_flowy/startup/tasks/rust_sdk.dart';
|
||||||
import 'package:app_flowy/workspace/application/doc/share_service.dart';
|
import 'package:app_flowy/workspace/application/doc/share_service.dart';
|
||||||
import 'package:app_flowy/workspace/application/markdown/delta_markdown.dart';
|
import 'package:app_flowy/workspace/application/markdown/delta_markdown.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-text-block/entities.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-text-block/entities.pb.dart';
|
||||||
@ -33,8 +36,30 @@ class DocShareBloc extends Bloc<DocShareEvent, DocShareState> {
|
|||||||
ExportData _convertDeltaToMarkdown(ExportData value) {
|
ExportData _convertDeltaToMarkdown(ExportData value) {
|
||||||
final result = deltaToMarkdown(value.data);
|
final result = deltaToMarkdown(value.data);
|
||||||
value.data = result;
|
value.data = result;
|
||||||
|
writeFile(result);
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<Directory> get _exportDir async {
|
||||||
|
Directory documentsDir = await appFlowyDocumentDirectory();
|
||||||
|
|
||||||
|
return documentsDir;
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<String> get _localPath async {
|
||||||
|
final dir = await _exportDir;
|
||||||
|
return dir.path;
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<File> get _localFile async {
|
||||||
|
final path = await _localPath;
|
||||||
|
return File('$path/${view.name}.md');
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<File> writeFile(String md) async {
|
||||||
|
final file = await _localFile;
|
||||||
|
return file.writeAsString(md);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@freezed
|
@freezed
|
||||||
|
@ -11,6 +11,7 @@ import 'package:app_flowy/workspace/application/appearance.dart';
|
|||||||
import 'package:app_flowy/workspace/application/doc/share_bloc.dart';
|
import 'package:app_flowy/workspace/application/doc/share_bloc.dart';
|
||||||
import 'package:app_flowy/workspace/application/view/view_listener.dart';
|
import 'package:app_flowy/workspace/application/view/view_listener.dart';
|
||||||
import 'package:app_flowy/workspace/presentation/home/home_stack.dart';
|
import 'package:app_flowy/workspace/presentation/home/home_stack.dart';
|
||||||
|
import 'package:app_flowy/workspace/presentation/home/toast.dart';
|
||||||
import 'package:app_flowy/workspace/presentation/plugins/widgets/left_bar_item.dart';
|
import 'package:app_flowy/workspace/presentation/plugins/widgets/left_bar_item.dart';
|
||||||
import 'package:app_flowy/workspace/presentation/widgets/dialogs.dart';
|
import 'package:app_flowy/workspace/presentation/widgets/dialogs.dart';
|
||||||
import 'package:app_flowy/workspace/presentation/widgets/pop_up_action.dart';
|
import 'package:app_flowy/workspace/presentation/widgets/pop_up_action.dart';
|
||||||
@ -179,6 +180,7 @@ class DocumentShareButton extends StatelessWidget {
|
|||||||
switch (action) {
|
switch (action) {
|
||||||
case ShareAction.markdown:
|
case ShareAction.markdown:
|
||||||
context.read<DocShareBloc>().add(const DocShareEvent.shareMarkdown());
|
context.read<DocShareBloc>().add(const DocShareEvent.shareMarkdown());
|
||||||
|
showMessageToast('Exported to: ${LocaleKeys.notifications_export_path.tr()}');
|
||||||
break;
|
break;
|
||||||
case ShareAction.copyLink:
|
case ShareAction.copyLink:
|
||||||
FlowyAlertDialog(title: LocaleKeys.shareAction_workInProgress.tr()).show(context);
|
FlowyAlertDialog(title: LocaleKeys.shareAction_workInProgress.tr()).show(context);
|
||||||
|
Loading…
Reference in New Issue
Block a user