Commit 5f0d8e9d authored by Administrator's avatar Administrator

add markdown support, swtich into screen to markdown, including links and headlines

parent 73de79f4
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_secure_storage","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-3.3.3/","dependencies":[]},{"name":"path_provider","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.8/","dependencies":[]},{"name":"shared_preferences","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.7+2/","dependencies":[]},{"name":"sqflite","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.0+1/","dependencies":[]},{"name":"uni_links","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/uni_links-0.4.0/","dependencies":[]},{"name":"url_launcher","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-5.4.7/","dependencies":[]}],"android":[{"name":"flutter_secure_storage","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-3.3.3/","dependencies":[]},{"name":"path_provider","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.8/","dependencies":[]},{"name":"shared_preferences","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.7+2/","dependencies":[]},{"name":"sqflite","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.0+1/","dependencies":[]},{"name":"uni_links","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/uni_links-0.4.0/","dependencies":[]},{"name":"url_launcher","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-5.4.7/","dependencies":[]}],"macos":[{"name":"path_provider_macos","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+2/","dependencies":[]},{"name":"shared_preferences_macos","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_macos-0.0.1+8/","dependencies":[]},{"name":"sqflite","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.0+1/","dependencies":[]},{"name":"url_launcher_macos","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher_macos-0.0.1+5/","dependencies":[]}],"linux":[],"windows":[],"web":[{"name":"shared_preferences_web","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-0.1.2+5/","dependencies":[]},{"name":"url_launcher_web","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher_web-0.1.1+5/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_secure_storage","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos"]},{"name":"path_provider_macos","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_macos","shared_preferences_web"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"sqflite","dependencies":[]},{"name":"uni_links","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_web","url_launcher_macos"]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]}],"date_created":"2020-06-12 11:04:55.567796","version":"1.17.1"}
\ No newline at end of file
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_secure_storage","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-3.3.3/","dependencies":[]},{"name":"path_provider","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.8/","dependencies":[]},{"name":"shared_preferences","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.7+2/","dependencies":[]},{"name":"sqflite","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.0+1/","dependencies":[]},{"name":"uni_links","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/uni_links-0.4.0/","dependencies":[]},{"name":"url_launcher","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-5.4.10/","dependencies":[]}],"android":[{"name":"flutter_secure_storage","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-3.3.3/","dependencies":[]},{"name":"path_provider","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.8/","dependencies":[]},{"name":"shared_preferences","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.7+2/","dependencies":[]},{"name":"sqflite","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.0+1/","dependencies":[]},{"name":"uni_links","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/uni_links-0.4.0/","dependencies":[]},{"name":"url_launcher","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-5.4.10/","dependencies":[]}],"macos":[{"name":"path_provider_macos","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+2/","dependencies":[]},{"name":"shared_preferences_macos","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_macos-0.0.1+8/","dependencies":[]},{"name":"sqflite","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.0+1/","dependencies":[]},{"name":"url_launcher_macos","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher_macos-0.0.1+5/","dependencies":[]}],"linux":[],"windows":[],"web":[{"name":"shared_preferences_web","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-0.1.2+5/","dependencies":[]},{"name":"url_launcher_web","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher_web-0.1.1+5/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_secure_storage","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos"]},{"name":"path_provider_macos","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_macos","shared_preferences_web"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"sqflite","dependencies":[]},{"name":"uni_links","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_web","url_launcher_macos"]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]}],"date_created":"2020-06-12 11:54:17.305550","version":"1.17.1"}
\ No newline at end of file
import 'package:encrateia/utils/my_color.dart';
import 'package:flutter/material.dart';
import 'package:flutter_markdown/flutter_markdown.dart';
import 'package:url_launcher/url_launcher.dart';
class IntroductionScreen extends StatelessWidget {
@override
......@@ -9,50 +11,77 @@ class IntroductionScreen extends StatelessWidget {
title: const Text('Introduction'),
backgroundColor: MyColor.primary,
),
body: const SingleChildScrollView(
child: Card(
margin: EdgeInsets.all(10),
child: Padding(
padding: EdgeInsets.all(8.0),
child: Text('''
Encrateia is a mobile application that wants to help you analyse your activity tracking data. In particular Encrateia analyzes .fit-Files that are created by many fitness trackers by default.
Encrateia is quite a sophisticated piece of application with 20+ charts, and 10+ reports, so we thought, we'd share the rationale behind Encrateia and what it actually does:
Using Encrateia with Strava:
A lot of runners and cyclists upload their activity data to Strava, to be able to share and analyse and because storage capacity on tracking devices is limited. Old tracking data is typically deleted from your device without asking you for consent.
We want to provide a possibility for you to get all your fitness data back and because you already own a smart phone or tablet we went the route to create this app.
Encrateia helps you download your original tracking data - the .fit-files from Strava, also for activities, that are no longer on your tracker.
To get your data, we fetch information about your actitvities via the Strava API. You have to authorize the Encrateia app to do so. As the .fit-files can only be downloaded from the web site (and not via the API) you have to provide your Strava credentials a second time.
Then you can use the [Download from Strava]-Button on the Athlete Screen to download the latest of your actitvties. They are stored on your device (and you could create a backup manually, if you like).
Then that .fit-files are parsed and the data is stored in a local SQLite database on the device. This takes quite some time, parsing is quick, but storing is 20 to 30 seconds per activtity.
However, that makes later analysis a lot quicker and it has only to be done once.
Using Encrateia without Strava:
If you do not have a Strava account, you can still use Encrateia importing your .fit-files manually.
Create a users with the second option "Create a Standalone User". Then put your .fit-files into the documents directory of the Encrateia app on your mobile device. You can download the .fit files from e.g. Garmin Connect via batch export.
To help you identify that directory, we placed a file named put_your_fit_files_here.txt there.
Finally, use the Button "Import from Local Directory" on the athlete detail screen to actually upload the tracking data into Encrateia.
Why should I trust you?
No activity data is leaving your device, neither to the developer of Encrateia, nor to any third party service. We believe, your activity data should be strictly yours.
Have a look at our privacy statements for the app at https://encrateia.informatom.com/privacy_app .
Encrateia is, while not for free, an open source application. Have a look at the the web page https://encrateia.informatom.com/source, if you want to check it out and/or compile Encrateia yourself.
If you have any questions regarding Encrateia, feel free to write us an email <mailto:encrateia@informatom.com>.
'''),
),
),
body: Markdown(
onTapLink: (String url) => launch(url),
data: '''
## What is Encrateia?
Encrateia is a mobile application that wants to help you analyse your activity
tracking data. In particular Encrateia analyzes .fit-Files that are created by
many fitness trackers by default.
Encrateia is quite a sophisticated piece of application with 20+ charts, and
10+ reports, so we thought, we'd share the rationale behind Encrateia and what
it actually does:
## Using Encrateia with Strava
A lot of runners and cyclists upload their activity data to Strava, to be able
to share and analyse and because storage capacity on tracking devices is
limited. Old tracking data is typically deleted from your device without asking
you for
consent.
We want to provide a possibility for you to get all your fitness data back and
because you already own a smart phone or tablet we went the route to create this
app.
Encrateia helps you download your original tracking data - the .fit-files from
Strava, also for activities, that are no longer on your tracker.
To get your data, we fetch information about your activities via the Strava
API. You have to authorize the Encrateia app to do so. As the .fit-files can
only be downloaded from the web site (and not via the API) you have to provide
your Strava credentials a second time.
Then you can use the [Download from Strava]-Button on the Athlete Screen to
download the latest of your activities. They are stored on your device (and you
could create a backup manually, if you like).
Then that .fit-files are parsed and the data is stored in a local SQLite
database on the device. This takes quite some time, parsing is quick, but
storing is 20 to 30 seconds per activity.
However, that makes later analysis a lot quicker and it has only to be done
once.
## Using Encrateia without Strava
If you do not have a Strava account, you can still use Encrateia importing your
.fit-files manually.
Create a users with the second option "Create a Standalone User". Then put your
.fit-files into the documents directory of the Encrateia app on your mobile
device. You can download the .fit files from e.g. Garmin Connect via batch
export. To help you identify that directory, we placed a file named
put_your_fit_files_here.txt there.
Finally, use the Button "Import from Local Directory" on the athlete detail
screen to actually upload the tracking data into Encrateia.
## Why should I trust you?
No activity data is leaving your device, neither to the developer of Encrateia,
nor to any third party service. We believe, your activity data should be
strictly yours.
Have a look at our
[privacy statement for the app](https://encrateia.informatom.com/privacy_app).
Encrateia is, while not for free, an open source application. Have a look at
our [web site](https://encrateia.informatom.com/source), if you want to check
it out and/or compile Encrateia yourself.
If you have any questions regarding Encrateia, feel free to write us an
e-mail: <mailto:encrateia@informatom.com>.
''',
),
);
}
......
......@@ -743,12 +743,12 @@ packages:
source: hosted
version: "0.4.0"
url_launcher:
dependency: transitive
dependency: "direct main"
description:
name: url_launcher
url: "https://pub.dartlang.org"
source: hosted
version: "5.4.7"
version: "5.4.10"
url_launcher_macos:
dependency: transitive
description:
......
......@@ -10,7 +10,6 @@ dependencies:
flutter:
sdk: flutter
charts_flutter: ^0.8.1
csv: ^4.0.3
cupertino_icons: ^0.1.2
......@@ -29,6 +28,7 @@ dependencies:
sqfentity_gen: ^1.3.5+6
sqflite: ^1.3.0
strava_flutter: ^1.2.1+54
url_launcher: ^5.4.10
uuid: 2.0.4
dev_dependencies:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment