Skip to content

Commit 17f29d1

Browse files
author
Vivek Chib
committed
added github icon in header
1 parent f37b894 commit 17f29d1

File tree

5 files changed

+189
-9
lines changed

5 files changed

+189
-9
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ understand and experiment with different Flutter animation curves in a graphical
88
- Graphical visualization of animation curves on a graph.
99
- Interactive controls to select curve category, curve type, and animation duration.
1010
- Play/Pause animation functionality using a Floating Action Button (FAB).
11-
- Preview boxes demonstrating Translate, Scale, Rotate, and Opacity effects.
11+
- Preview boxes demonstrating Translate X & Y, Scale, Rotate, Flip and Opacity effects.
1212
- Responsive design for seamless use across devices (desktop, tablet, and mobile).
1313

1414
This app is ideal for exploring and learning how different animation curves work in Flutter
@@ -22,7 +22,7 @@ applications.
2222

2323
- Add Switch to toggle theme mode in header.
2424

25-
## Demo
25+
## Live-Demo
2626

2727
https://vchib1.github.io/flutter-curve-visualizer/
2828

assets/svg/github.svg

Lines changed: 5 additions & 0 deletions
Loading

lib/views/home_page.dart

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ import 'package:flutter_curve_visualizer/utils/theme/theme_provider.dart';
66
import 'package:flutter_curve_visualizer/views/widgets/animated_box/animated_box_widget.dart';
77
import 'package:flutter_curve_visualizer/views/widgets/dropdown_menu.dart';
88
import 'package:flutter_curve_visualizer/views/widgets/graph/graph_widget.dart';
9+
import 'package:flutter_svg/flutter_svg.dart';
910
import 'package:provider/provider.dart';
11+
import 'package:url_launcher/url_launcher.dart';
1012

1113
import 'widgets/code_block.dart';
1214

@@ -118,6 +120,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
118120
Widget build(BuildContext context) {
119121
final screenMode = ScreenModeWidget.of(context);
120122

123+
final theme = Theme.of(context);
124+
121125
final decoration = BoxDecoration(
122126
color: Theme.of(context).colorScheme.onPrimaryFixed,
123127
borderRadius: BorderRadius.circular(10),
@@ -220,6 +224,24 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
220224
appBar: AppBar(
221225
title: const Text('Flutter Curve Visualizer'),
222226
actions: [
227+
Padding(
228+
padding: const EdgeInsets.only(right: 12.0),
229+
child: IconButton(
230+
onPressed: () {
231+
launchUrl(Uri.parse(
232+
"https://github.com/vchib1/flutter-curve-visualizer"));
233+
},
234+
icon: SvgPicture.asset(
235+
"assets/svg/github.svg",
236+
width: theme.iconTheme.size ?? 24,
237+
height: theme.iconTheme.size ?? 24,
238+
colorFilter: ColorFilter.mode(
239+
theme.iconTheme.color ?? Colors.black,
240+
BlendMode.srcIn,
241+
),
242+
),
243+
),
244+
),
223245
Padding(
224246
padding: const EdgeInsets.only(right: 12.0),
225247
child: Consumer<ThemeProvider>(
@@ -260,19 +282,19 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
260282
padding: const EdgeInsets.symmetric(horizontal: 16.0),
261283
child: switch (ScreenModeWidget.of(context)) {
262284
ScreenMode.mobile => Column(
263-
spacing: 30,
285+
spacing: 10,
264286
children: [
265287
animationWidget,
266288
controlsWidget,
267-
const SizedBox(height: 30),
289+
const SizedBox(height: 10),
268290
],
269291
),
270292
ScreenMode.tablet => Column(
271-
spacing: 30,
293+
spacing: 20,
272294
children: [
273295
animationWidget,
274296
controlsWidget,
275-
const SizedBox(height: 30),
297+
const SizedBox(height: 20),
276298
],
277299
),
278300
ScreenMode.web => Row(

pubspec.lock

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
# Generated by pub
22
# See https://dart.dev/tools/pub/glossary#lockfile
33
packages:
4+
args:
5+
dependency: transitive
6+
description:
7+
name: args
8+
sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6
9+
url: "https://pub.dev"
10+
source: hosted
11+
version: "2.6.0"
412
async:
513
dependency: transitive
614
description:
@@ -86,6 +94,14 @@ packages:
8694
url: "https://pub.dev"
8795
source: hosted
8896
version: "5.0.0"
97+
flutter_svg:
98+
dependency: "direct main"
99+
description:
100+
name: flutter_svg
101+
sha256: "54900a1a1243f3c4a5506d853a2b5c2dbc38d5f27e52a52618a8054401431123"
102+
url: "https://pub.dev"
103+
source: hosted
104+
version: "2.0.16"
89105
flutter_test:
90106
dependency: "direct dev"
91107
description: flutter
@@ -96,6 +112,22 @@ packages:
96112
description: flutter
97113
source: sdk
98114
version: "0.0.0"
115+
http:
116+
dependency: transitive
117+
description:
118+
name: http
119+
sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010
120+
url: "https://pub.dev"
121+
source: hosted
122+
version: "1.2.2"
123+
http_parser:
124+
dependency: transitive
125+
description:
126+
name: http_parser
127+
sha256: "76d306a1c3afb33fe82e2bbacad62a61f409b5634c915fceb0d799de1a913360"
128+
url: "https://pub.dev"
129+
source: hosted
130+
version: "4.1.1"
99131
leak_tracker:
100132
dependency: transitive
101133
description:
@@ -168,6 +200,14 @@ packages:
168200
url: "https://pub.dev"
169201
source: hosted
170202
version: "1.9.0"
203+
path_parsing:
204+
dependency: transitive
205+
description:
206+
name: path_parsing
207+
sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca"
208+
url: "https://pub.dev"
209+
source: hosted
210+
version: "1.1.0"
171211
path_provider_linux:
172212
dependency: transitive
173213
description:
@@ -192,6 +232,14 @@ packages:
192232
url: "https://pub.dev"
193233
source: hosted
194234
version: "2.3.0"
235+
petitparser:
236+
dependency: transitive
237+
description:
238+
name: petitparser
239+
sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
240+
url: "https://pub.dev"
241+
source: hosted
242+
version: "6.0.2"
195243
platform:
196244
dependency: transitive
197245
description:
@@ -325,6 +373,102 @@ packages:
325373
url: "https://pub.dev"
326374
source: hosted
327375
version: "0.7.3"
376+
typed_data:
377+
dependency: transitive
378+
description:
379+
name: typed_data
380+
sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006
381+
url: "https://pub.dev"
382+
source: hosted
383+
version: "1.4.0"
384+
url_launcher:
385+
dependency: "direct main"
386+
description:
387+
name: url_launcher
388+
sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603"
389+
url: "https://pub.dev"
390+
source: hosted
391+
version: "6.3.1"
392+
url_launcher_android:
393+
dependency: transitive
394+
description:
395+
name: url_launcher_android
396+
sha256: "6fc2f56536ee873eeb867ad176ae15f304ccccc357848b351f6f0d8d4a40d193"
397+
url: "https://pub.dev"
398+
source: hosted
399+
version: "6.3.14"
400+
url_launcher_ios:
401+
dependency: transitive
402+
description:
403+
name: url_launcher_ios
404+
sha256: "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626"
405+
url: "https://pub.dev"
406+
source: hosted
407+
version: "6.3.2"
408+
url_launcher_linux:
409+
dependency: transitive
410+
description:
411+
name: url_launcher_linux
412+
sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935"
413+
url: "https://pub.dev"
414+
source: hosted
415+
version: "3.2.1"
416+
url_launcher_macos:
417+
dependency: transitive
418+
description:
419+
name: url_launcher_macos
420+
sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2"
421+
url: "https://pub.dev"
422+
source: hosted
423+
version: "3.2.2"
424+
url_launcher_platform_interface:
425+
dependency: transitive
426+
description:
427+
name: url_launcher_platform_interface
428+
sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029"
429+
url: "https://pub.dev"
430+
source: hosted
431+
version: "2.3.2"
432+
url_launcher_web:
433+
dependency: transitive
434+
description:
435+
name: url_launcher_web
436+
sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e"
437+
url: "https://pub.dev"
438+
source: hosted
439+
version: "2.3.3"
440+
url_launcher_windows:
441+
dependency: transitive
442+
description:
443+
name: url_launcher_windows
444+
sha256: "44cf3aabcedde30f2dba119a9dea3b0f2672fbe6fa96e85536251d678216b3c4"
445+
url: "https://pub.dev"
446+
source: hosted
447+
version: "3.1.3"
448+
vector_graphics:
449+
dependency: transitive
450+
description:
451+
name: vector_graphics
452+
sha256: "27d5fefe86fb9aace4a9f8375b56b3c292b64d8c04510df230f849850d912cb7"
453+
url: "https://pub.dev"
454+
source: hosted
455+
version: "1.1.15"
456+
vector_graphics_codec:
457+
dependency: transitive
458+
description:
459+
name: vector_graphics_codec
460+
sha256: "2430b973a4ca3c4dbc9999b62b8c719a160100dcbae5c819bae0cacce32c9cdb"
461+
url: "https://pub.dev"
462+
source: hosted
463+
version: "1.1.12"
464+
vector_graphics_compiler:
465+
dependency: transitive
466+
description:
467+
name: vector_graphics_compiler
468+
sha256: "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad"
469+
url: "https://pub.dev"
470+
source: hosted
471+
version: "1.1.16"
328472
vector_math:
329473
dependency: transitive
330474
description:
@@ -357,6 +501,14 @@ packages:
357501
url: "https://pub.dev"
358502
source: hosted
359503
version: "1.1.0"
504+
xml:
505+
dependency: transitive
506+
description:
507+
name: xml
508+
sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
509+
url: "https://pub.dev"
510+
source: hosted
511+
version: "6.5.0"
360512
sdks:
361513
dart: ">=3.6.0 <4.0.0"
362514
flutter: ">=3.24.0"

pubspec.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ dependencies:
3636
cupertino_icons: ^1.0.8
3737
shared_preferences: ^2.3.4
3838
provider: ^6.1.2
39+
url_launcher: ^6.3.1
40+
flutter_svg: ^2.0.16
3941

4042
dev_dependencies:
4143
flutter_test:
@@ -60,9 +62,8 @@ flutter:
6062
uses-material-design: true
6163

6264
# To add assets to your application, add an assets section, like this:
63-
# assets:
64-
# - images/a_dot_burr.jpeg
65-
# - images/a_dot_ham.jpeg
65+
assets:
66+
- assets/svg/
6667

6768
# An image asset can refer to one or more resolution-specific "variants", see
6869
# https://flutter.dev/to/resolution-aware-images

0 commit comments

Comments
 (0)