Add a launcher app logo + app logo in home page
@ -2,7 +2,7 @@
|
||||
<application
|
||||
android:label="rtime"
|
||||
android:name="${applicationName}"
|
||||
android:icon="@mipmap/ic_launcher">
|
||||
android:icon="@mipmap/launcher_icon">
|
||||
<activity
|
||||
android:name="com.yalantis.ucrop.UCropActivity"
|
||||
android:screenOrientation="portrait"
|
||||
|
||||
BIN
android/app/src/main/res/mipmap-hdpi/launcher_icon.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
android/app/src/main/res/mipmap-mdpi/launcher_icon.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
android/app/src/main/res/mipmap-xhdpi/launcher_icon.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png
Normal file
|
After Width: | Height: | Size: 9.9 KiB |
BIN
android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
assets/images/rtimelogo.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
@ -10,6 +10,9 @@
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="rtimelogo.svg"
|
||||
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||
inkscape:export-filename="rtimelogo.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
@ -24,15 +27,16 @@
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:zoom="1.060245"
|
||||
inkscape:cx="200.42536"
|
||||
inkscape:cy="275.40803"
|
||||
inkscape:window-width="1916"
|
||||
inkscape:window-height="1025"
|
||||
inkscape:zoom="1.0080514"
|
||||
inkscape:cx="95.233236"
|
||||
inkscape:cy="370.51681"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1080"
|
||||
inkscape:window-x="1920"
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" /><defs
|
||||
inkscape:current-layer="g1"
|
||||
inkscape:export-bgcolor="#28343cff" /><defs
|
||||
id="defs1"><linearGradient
|
||||
id="swatch23"><stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
@ -44,15 +48,7 @@
|
||||
id="stop22" /></linearGradient></defs><g
|
||||
id="g1"
|
||||
transform="matrix(1.5687373,0,0,1.5687373,-98.160636,-174.17106)"><g
|
||||
id="layer1"><path
|
||||
style="fill:none;fill-opacity:1;stroke:#7d7d7d;stroke-width:5.543;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 105.75,125.90625 v 6.1875"
|
||||
id="path4" /><circle
|
||||
style="fill:none;fill-opacity:0.997107;stroke:#000000;stroke-width:4.909;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path1"
|
||||
cx="105.75"
|
||||
cy="159"
|
||||
r="25.6875" /><image
|
||||
id="layer1"><image
|
||||
width="52.916668"
|
||||
height="52.916668"
|
||||
preserveAspectRatio="none"
|
||||
@ -60,24 +56,34 @@
|
||||
id="image1"
|
||||
x="5.1867809"
|
||||
y="239.81689"
|
||||
style="display:none" /><path
|
||||
style="fill:#fad300;fill-opacity:1;stroke:#000000;stroke-width:5.023;stroke-linecap:round;stroke-miterlimit:5;stroke-dasharray:1.25575, 1.25575;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 123.96466,139.67569 2.51906,-2.58536"
|
||||
style="display:none" /></g><g
|
||||
id="g2"
|
||||
transform="translate(-1.4625932,0.3181559)"><path
|
||||
style="fill:none;fill-opacity:1;stroke:#7d7d7d;stroke-width:6.4264;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 107.21261,121.07834 v 7.17361"
|
||||
id="path4" /><circle
|
||||
style="fill:none;fill-opacity:0.997107;stroke:#000000;stroke-width:5.69136;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path1"
|
||||
cx="107.21259"
|
||||
cy="159.4463"
|
||||
r="29.781376" /><path
|
||||
style="fill:#fad300;fill-opacity:1;stroke:#000000;stroke-width:5.82353;stroke-linecap:round;stroke-miterlimit:5;stroke-dasharray:1.45588, 1.45588;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 128.33018,137.04224 2.92053,-2.99739"
|
||||
id="path18" /><circle
|
||||
style="fill:none;fill-opacity:0.997107;stroke:#7d7d7d;stroke-width:4.023;stroke-dasharray:1.00575, 2.0115;stroke-dashoffset:0;stroke-opacity:1"
|
||||
style="fill:none;fill-opacity:0.997107;stroke:#7d7d7d;stroke-width:4.66415;stroke-dasharray:1.16604, 2.33208;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="circle6"
|
||||
cx="105.74992"
|
||||
cy="159.00005"
|
||||
r="20.527113" /><rect
|
||||
style="fill:#fad300;stroke:#000000;stroke-width:5.19697;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0.2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
|
||||
cx="107.21252"
|
||||
cy="159.44637"
|
||||
r="23.798567" /><rect
|
||||
style="fill:#fad300;stroke:#000000;stroke-width:6.02522;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0.2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
|
||||
id="rect1"
|
||||
width="9.8775606"
|
||||
height="1.4293942"
|
||||
x="100.81123"
|
||||
y="123.86299" /></g><g
|
||||
id="g191"><g
|
||||
width="11.451771"
|
||||
height="1.6572001"
|
||||
x="101.48674"
|
||||
y="118.70944" /><g
|
||||
id="layer4"
|
||||
style="display:inline"><path
|
||||
style="display:inline"
|
||||
transform="matrix(1.1593723,0,0,1.1593723,-15.391021,-24.893883)"><path
|
||||
style="fill:#fad300;fill-opacity:1;stroke:none;stroke-width:4.43596;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 107.07629,157.6057 c 0,0 -0.9363,0.34423 3.10345,-0.74145 4.14209,-1.11318 15.49588,-0.13884 17.35688,0.21637 1.86099,0.35524 0.30569,2.51083 0.30569,2.51083 0,0 -13.04413,2.86324 -15.43783,1.84211 -2.71253,-1.15717 -3.98506,-1.11315 -5.50091,-1.0838 -0.17832,-1.71281 0.17272,-2.74405 0.17272,-2.74405 z"
|
||||
id="prop" /><path
|
||||
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 11 KiB |
@ -427,7 +427,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
|
||||
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
@ -484,7 +484,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
|
||||
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 112 KiB |
|
Before Width: | Height: | Size: 295 B After Width: | Height: | Size: 828 B |
|
Before Width: | Height: | Size: 406 B After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 450 B After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 282 B After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 462 B After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 704 B After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 406 B After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 586 B After Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 862 B After Width: | Height: | Size: 7.9 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 862 B After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 762 B After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 12 KiB |
@ -15,9 +15,8 @@ import 'package:rtime/db/db_helper.dart';
|
||||
import 'package:rtime/pages/flight_detail_page.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:rtime/providers/color_provider.dart';
|
||||
|
||||
|
||||
import 'package:rtime/widgets/page_transition_animations.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart'; // <-- Ajoutez cet import pour SvgPicture
|
||||
|
||||
class HomePage extends StatefulWidget {
|
||||
const HomePage({super.key});
|
||||
@ -50,7 +49,6 @@ class _HomePageState extends State<HomePage> {
|
||||
final l10n = AppLocalizations.of(context)!;
|
||||
final customAccentColor = Provider.of<ColorProvider>(context).accentColor;
|
||||
|
||||
|
||||
return Scaffold(
|
||||
backgroundColor: Theme.of(context).primaryColor,
|
||||
body: RefreshIndicator(
|
||||
@ -67,6 +65,14 @@ class _HomePageState extends State<HomePage> {
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
// Nouveau: Ajoutez le SvgPicture ici
|
||||
SvgPicture.asset(
|
||||
'assets/images/rtimelogo.svg', // Chemin vers votre SVG
|
||||
height: 48, // Ajustez la taille selon vos préférences
|
||||
width: 48, // Ajustez la taille selon vos préférences
|
||||
colorFilter: ColorFilter.mode(customAccentColor, BlendMode.srcIn), // Appliquez la couleur d'accentuation
|
||||
),
|
||||
const SizedBox(width: 8), // Petit espace entre le logo et le titre
|
||||
Text(
|
||||
l10n.appTitle,
|
||||
style: TextStyle(
|
||||
@ -76,6 +82,7 @@ class _HomePageState extends State<HomePage> {
|
||||
fontFamily: 'Montserrat',
|
||||
),
|
||||
),
|
||||
const Spacer(), // Cela poussera l'icône de réglages à l'extrémité
|
||||
IconButton(
|
||||
icon:
|
||||
const Icon(Icons.settings, size: 30, color: Colors.white70),
|
||||
@ -91,7 +98,6 @@ class _HomePageState extends State<HomePage> {
|
||||
),
|
||||
const SizedBox(height: 30),
|
||||
|
||||
|
||||
Text(
|
||||
l10n.yourDrones,
|
||||
style: Theme.of(context).textTheme.headlineSmall,
|
||||
@ -194,7 +200,6 @@ class _HomePageState extends State<HomePage> {
|
||||
const Divider(
|
||||
height: 50, thickness: 2, indent: 0, endIndent: 0, color: Colors.white10),
|
||||
|
||||
|
||||
Text(
|
||||
l10n.yourBatteries,
|
||||
style: Theme.of(context).textTheme.headlineSmall,
|
||||
@ -297,7 +302,6 @@ class _HomePageState extends State<HomePage> {
|
||||
const Divider(
|
||||
height: 50, thickness: 2, indent: 0, endIndent: 0, color: Colors.white10),
|
||||
|
||||
|
||||
Text(
|
||||
l10n.latestFlights,
|
||||
style: Theme.of(context).textTheme.headlineSmall,
|
||||
|
||||
56
pubspec.lock
@ -129,6 +129,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.4"
|
||||
cli_util:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: cli_util
|
||||
sha256: ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.4.2"
|
||||
clock:
|
||||
dependency: transitive
|
||||
description:
|
||||
@ -278,6 +286,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.1.0"
|
||||
flutter_launcher_icons:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_launcher_icons
|
||||
sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.13.1"
|
||||
flutter_lints:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
@ -307,6 +323,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.28"
|
||||
flutter_svg:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_svg
|
||||
sha256: cd57f7969b4679317c17af6fd16ee233c1e60a82ed209d8a475c54fd6fd6f845
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.0"
|
||||
flutter_test:
|
||||
dependency: "direct dev"
|
||||
description: flutter
|
||||
@ -677,6 +701,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.9.1"
|
||||
path_parsing:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_parsing
|
||||
sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.1.0"
|
||||
path_provider:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@ -1066,6 +1098,30 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.5.1"
|
||||
vector_graphics:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: vector_graphics
|
||||
sha256: a4f059dc26fc8295b5921376600a194c4ec7d55e72f2fe4c7d2831e103d461e6
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.1.19"
|
||||
vector_graphics_codec:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: vector_graphics_codec
|
||||
sha256: "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.1.13"
|
||||
vector_graphics_compiler:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: vector_graphics_compiler
|
||||
sha256: "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.1.17"
|
||||
vector_math:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
||||
18
pubspec.yaml
@ -31,6 +31,7 @@ dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
flutter_colorpicker: ^1.0.0
|
||||
flutter_launcher_icons: ^0.13.1
|
||||
# The following adds the Cupertino Icons font to your application.
|
||||
# Use with the CupertinoIcons class for iOS style icons.
|
||||
cupertino_icons: ^1.0.8
|
||||
@ -46,13 +47,14 @@ dependencies:
|
||||
json_serializable: ^6.9.5
|
||||
image_cropper: ^9.1.0
|
||||
intl: ^0.20.2
|
||||
provider: ^6.1.2
|
||||
provider: ^6.1.2
|
||||
geolocator: ^12.0.0
|
||||
flutter_map: ^8.0.0
|
||||
latlong2: ^0.9.1
|
||||
flutter_localizations:
|
||||
sdk: flutter
|
||||
shared_preferences: ^2.2.0
|
||||
flutter_svg: ^2.0.10+1
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
@ -70,7 +72,6 @@ dev_dependencies:
|
||||
|
||||
# The following section is specific to Flutter packages.
|
||||
flutter:
|
||||
|
||||
# The following line ensures that the Material Icons font is
|
||||
# included with your application, so that you can use the icons in
|
||||
# the material Icons class.
|
||||
@ -78,9 +79,8 @@ flutter:
|
||||
generate: true
|
||||
|
||||
# To add assets to your application, add an assets section, like this:
|
||||
# assets:
|
||||
# - images/a_dot_burr.jpeg
|
||||
# - images/a_dot_ham.jpeg
|
||||
assets:
|
||||
- assets/images/ # This is the correct and only place to declare your assets folder.
|
||||
|
||||
# An image asset can refer to one or more resolution-specific "variants", see
|
||||
# https://flutter.dev/to/resolution-aware-images
|
||||
@ -107,3 +107,11 @@ flutter:
|
||||
#
|
||||
# For details regarding fonts from package dependencies,
|
||||
# see https://flutter.dev/to/font-from-package
|
||||
|
||||
# This section needs to be at the root level, not under "flutter:"
|
||||
flutter_launcher_icons:
|
||||
android: "launcher_icon"
|
||||
ios: true
|
||||
image_path: "assets/images/rtimelogo.png"
|
||||
min_sdk_android: 21
|
||||
remove_alpha_ios: true
|
||||
|
||||