WIP: android/ios-adaption feature, markdown, and augment #6

Draft
Juan wants to merge 28 commits from android-adaption into main
4 changed files with 37 additions and 3 deletions
Showing only changes of commit c1afc8875e - Show all commits

View File

@ -23,6 +23,9 @@ class _SonicEmailViewState extends State<SonicEmailView> {
void _scrollToNumber(String spanId) { void _scrollToNumber(String spanId) {
AugmentClasses.handleJump(spanId); AugmentClasses.handleJump(spanId);
} }
void _handleViewspecs(String queryViewspecs) {
return;
}
@override @override
void initState() { void initState() {
@ -90,7 +93,9 @@ class _SonicEmailViewState extends State<SonicEmailView> {
children: [ children: [
EmailToolbar( EmailToolbar(
onButtonPressed: () => {}, onButtonPressed: () => {},
onJumpToSpan: _scrollToNumber), onJumpToNumbering: _scrollToNumber,
onViewspecs: _handleViewspecs
),
Row( Row(
// title of email // title of email
children: [ children: [

View File

@ -1,3 +1,4 @@
import 'package:crab_ui/augment.dart';
import 'package:crab_ui/collapsableEmailsAndroid.dart'; import 'package:crab_ui/collapsableEmailsAndroid.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// import 'dart:ui_web' as ui; // import 'dart:ui_web' as ui;
@ -33,6 +34,16 @@ class EmailView extends StatefulWidget {
} }
class _EmailViewState extends State<EmailView> { class _EmailViewState extends State<EmailView> {
@override
void initState() {
super.initState();
}
void _scrollToNumber(String spanId) {
// AugmentClasses.handleJump(spanId);
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
@ -43,6 +54,10 @@ class _EmailViewState extends State<EmailView> {
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
child: Column( child: Column(
children: [ children: [
EmailToolbar(
onButtonPressed: () => {},
onJumpToSpan: _scrollToNumber
),
Row( Row(
children: [ children: [
Expanded( Expanded(

View File

@ -1,7 +1,6 @@
//data structures //data structures
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:markdown/markdown.dart' as md;
class GetThreadResponse { class GetThreadResponse {
final int id; final int id;
@ -177,7 +176,7 @@ class AugmentTree {
parentIsLettered = false; parentIsLettered = false;
} else { } else {
parentIsLettered = prefix.runes.last >= 'a'.runes.first && parentIsLettered = prefix.runes.last >= 'a'.runes.first &&
prefix.runes.last <= 'z'.runes.first; prefix.runes.last <= 'z'.runes.first;
} }
if (prefix.isEmpty) { if (prefix.isEmpty) {
@ -197,3 +196,15 @@ class AugmentTree {
} }
} }
} }
class MarkdownParsed{
final String text;
MarkdownParsed({required this.text});
factory MarkdownParsed.fromJson(Map<String, String> json){
return MarkdownParsed(
text: json['md'] ?? '',
);
}
}

View File

@ -27,6 +27,9 @@ dependencies:
photo_view: ^0.15.0 photo_view: ^0.15.0
web: ^1.1.1 web: ^1.1.1
flutter_widget_from_html: ^0.16.0 flutter_widget_from_html: ^0.16.0
html2md: ^1.3.2
markdown_widget: ^2.3.2+8
markdown: ^7.3.0
dev_dependencies: dev_dependencies:
flutter_test: flutter_test: