Skip to content

Commit 30d3a5e

Browse files
committed
device preview added
1 parent ed6dea3 commit 30d3a5e

File tree

6 files changed

+255
-3
lines changed

6 files changed

+255
-3
lines changed

ios/Flutter/Debug.xcconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
12
#include "Generated.xcconfig"

ios/Flutter/Release.xcconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
12
#include "Generated.xcconfig"

ios/Podfile

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Uncomment this line to define a global platform for your project
2+
# platform :ios, '11.0'
3+
4+
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
5+
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
6+
7+
project 'Runner', {
8+
'Debug' => :debug,
9+
'Profile' => :release,
10+
'Release' => :release,
11+
}
12+
13+
def flutter_root
14+
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
15+
unless File.exist?(generated_xcode_build_settings_path)
16+
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
17+
end
18+
19+
File.foreach(generated_xcode_build_settings_path) do |line|
20+
matches = line.match(/FLUTTER_ROOT\=(.*)/)
21+
return matches[1].strip if matches
22+
end
23+
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
24+
end
25+
26+
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
27+
28+
flutter_ios_podfile_setup
29+
30+
target 'Runner' do
31+
use_frameworks!
32+
use_modular_headers!
33+
34+
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
35+
target 'RunnerTests' do
36+
inherit! :search_paths
37+
end
38+
end
39+
40+
post_install do |installer|
41+
installer.pods_project.targets.each do |target|
42+
flutter_additional_ios_build_settings(target)
43+
end
44+
end

lib/main.dart

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
1+
import 'package:device_preview/device_preview.dart';
12
import 'package:flutter/material.dart';
23
import 'package:shop_app/constants.dart';
34
import 'package:shop_app/screens/home/home_screen.dart';
45

56
void main() {
6-
runApp(MyApp());
7+
runApp(
8+
DevicePreview(
9+
enabled: true,
10+
builder: (context) => MyApp(),
11+
),
12+
);
713
}
814

915
class MyApp extends StatelessWidget {
@@ -12,6 +18,8 @@ class MyApp extends StatelessWidget {
1218
Widget build(BuildContext context) {
1319
return MaterialApp(
1420
debugShowCheckedModeBanner: false,
21+
locale: DevicePreview.locale(context),
22+
builder: DevicePreview.appBuilder,
1523
title: 'The Flutter Way',
1624
theme: ThemeData(
1725
textTheme: Theme.of(context).textTheme.apply(bodyColor: kTextColor),

pubspec.lock

Lines changed: 197 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,23 @@ packages:
5757
url: "https://pub.dev"
5858
source: hosted
5959
version: "1.0.5"
60+
device_frame:
61+
dependency: transitive
62+
description:
63+
name: device_frame
64+
sha256: afe76182aec178d171953d9b4a50a43c57c7cf3c77d8b09a48bf30c8fa04dd9d
65+
url: "https://pub.dev"
66+
source: hosted
67+
version: "1.1.0"
68+
device_preview:
69+
dependency: "direct main"
70+
description:
71+
path: "."
72+
ref: HEAD
73+
resolved-ref: ad2d811af171ada440bcb203e8890c4c7945e211
74+
url: "https://github.com/abuanwar072/device_preview.git"
75+
source: git
76+
version: "1.1.0"
6077
fake_async:
6178
dependency: transitive
6279
description:
@@ -65,11 +82,32 @@ packages:
6582
url: "https://pub.dev"
6683
source: hosted
6784
version: "1.3.1"
85+
ffi:
86+
dependency: transitive
87+
description:
88+
name: ffi
89+
sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878"
90+
url: "https://pub.dev"
91+
source: hosted
92+
version: "2.1.0"
93+
file:
94+
dependency: transitive
95+
description:
96+
name: file
97+
sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c"
98+
url: "https://pub.dev"
99+
source: hosted
100+
version: "7.0.0"
68101
flutter:
69102
dependency: "direct main"
70103
description: flutter
71104
source: sdk
72105
version: "0.0.0"
106+
flutter_localizations:
107+
dependency: transitive
108+
description: flutter
109+
source: sdk
110+
version: "0.0.0"
73111
flutter_svg:
74112
dependency: "direct main"
75113
description:
@@ -83,6 +121,35 @@ packages:
83121
description: flutter
84122
source: sdk
85123
version: "0.0.0"
124+
flutter_web_plugins:
125+
dependency: transitive
126+
description: flutter
127+
source: sdk
128+
version: "0.0.0"
129+
freezed_annotation:
130+
dependency: transitive
131+
description:
132+
name: freezed_annotation
133+
sha256: c3fd9336eb55a38cc1bbd79ab17573113a8deccd0ecbbf926cca3c62803b5c2d
134+
url: "https://pub.dev"
135+
source: hosted
136+
version: "2.4.1"
137+
intl:
138+
dependency: transitive
139+
description:
140+
name: intl
141+
sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d"
142+
url: "https://pub.dev"
143+
source: hosted
144+
version: "0.18.1"
145+
json_annotation:
146+
dependency: transitive
147+
description:
148+
name: json_annotation
149+
sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467
150+
url: "https://pub.dev"
151+
source: hosted
152+
version: "4.8.1"
86153
matcher:
87154
dependency: transitive
88155
description:
@@ -107,6 +174,14 @@ packages:
107174
url: "https://pub.dev"
108175
source: hosted
109176
version: "1.9.1"
177+
nested:
178+
dependency: transitive
179+
description:
180+
name: nested
181+
sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20"
182+
url: "https://pub.dev"
183+
source: hosted
184+
version: "1.0.0"
110185
path:
111186
dependency: transitive
112187
description:
@@ -123,6 +198,30 @@ packages:
123198
url: "https://pub.dev"
124199
source: hosted
125200
version: "1.0.1"
201+
path_provider_linux:
202+
dependency: transitive
203+
description:
204+
name: path_provider_linux
205+
sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
206+
url: "https://pub.dev"
207+
source: hosted
208+
version: "2.2.1"
209+
path_provider_platform_interface:
210+
dependency: transitive
211+
description:
212+
name: path_provider_platform_interface
213+
sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c"
214+
url: "https://pub.dev"
215+
source: hosted
216+
version: "2.1.1"
217+
path_provider_windows:
218+
dependency: transitive
219+
description:
220+
name: path_provider_windows
221+
sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170"
222+
url: "https://pub.dev"
223+
source: hosted
224+
version: "2.2.1"
126225
petitparser:
127226
dependency: transitive
128227
description:
@@ -131,6 +230,86 @@ packages:
131230
url: "https://pub.dev"
132231
source: hosted
133232
version: "5.4.0"
233+
platform:
234+
dependency: transitive
235+
description:
236+
name: platform
237+
sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59"
238+
url: "https://pub.dev"
239+
source: hosted
240+
version: "3.1.3"
241+
plugin_platform_interface:
242+
dependency: transitive
243+
description:
244+
name: plugin_platform_interface
245+
sha256: f4f88d4a900933e7267e2b353594774fc0d07fb072b47eedcd5b54e1ea3269f8
246+
url: "https://pub.dev"
247+
source: hosted
248+
version: "2.1.7"
249+
provider:
250+
dependency: transitive
251+
description:
252+
name: provider
253+
sha256: "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096"
254+
url: "https://pub.dev"
255+
source: hosted
256+
version: "6.1.1"
257+
shared_preferences:
258+
dependency: transitive
259+
description:
260+
name: shared_preferences
261+
sha256: "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02"
262+
url: "https://pub.dev"
263+
source: hosted
264+
version: "2.2.2"
265+
shared_preferences_android:
266+
dependency: transitive
267+
description:
268+
name: shared_preferences_android
269+
sha256: "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06"
270+
url: "https://pub.dev"
271+
source: hosted
272+
version: "2.2.1"
273+
shared_preferences_foundation:
274+
dependency: transitive
275+
description:
276+
name: shared_preferences_foundation
277+
sha256: "7bf53a9f2d007329ee6f3df7268fd498f8373602f943c975598bbb34649b62a7"
278+
url: "https://pub.dev"
279+
source: hosted
280+
version: "2.3.4"
281+
shared_preferences_linux:
282+
dependency: transitive
283+
description:
284+
name: shared_preferences_linux
285+
sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa"
286+
url: "https://pub.dev"
287+
source: hosted
288+
version: "2.3.2"
289+
shared_preferences_platform_interface:
290+
dependency: transitive
291+
description:
292+
name: shared_preferences_platform_interface
293+
sha256: d4ec5fc9ebb2f2e056c617112aa75dcf92fc2e4faaf2ae999caa297473f75d8a
294+
url: "https://pub.dev"
295+
source: hosted
296+
version: "2.3.1"
297+
shared_preferences_web:
298+
dependency: transitive
299+
description:
300+
name: shared_preferences_web
301+
sha256: d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf
302+
url: "https://pub.dev"
303+
source: hosted
304+
version: "2.2.1"
305+
shared_preferences_windows:
306+
dependency: transitive
307+
description:
308+
name: shared_preferences_windows
309+
sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59"
310+
url: "https://pub.dev"
311+
source: hosted
312+
version: "2.3.2"
134313
sky_engine:
135314
dependency: transitive
136315
description: flutter
@@ -224,6 +403,22 @@ packages:
224403
url: "https://pub.dev"
225404
source: hosted
226405
version: "0.1.4-beta"
406+
win32:
407+
dependency: transitive
408+
description:
409+
name: win32
410+
sha256: "7c99c0e1e2fa190b48d25c81ca5e42036d5cac81430ef249027d97b0935c553f"
411+
url: "https://pub.dev"
412+
source: hosted
413+
version: "5.1.0"
414+
xdg_directories:
415+
dependency: transitive
416+
description:
417+
name: xdg_directories
418+
sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2"
419+
url: "https://pub.dev"
420+
source: hosted
421+
version: "1.0.3"
227422
xml:
228423
dependency: transitive
229424
description:
@@ -233,5 +428,5 @@ packages:
233428
source: hosted
234429
version: "6.3.0"
235430
sdks:
236-
dart: ">=3.1.0-185.0.dev <4.0.0"
237-
flutter: ">=3.7.0-0"
431+
dart: ">=3.1.0 <4.0.0"
432+
flutter: ">=3.7.0"

pubspec.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ dependencies:
2828
# Use with the CupertinoIcons class for iOS style icons.
2929
cupertino_icons: ^1.0.5
3030
flutter_svg: ^2.0.7 # it help us to use SVG in our app
31+
device_preview:
32+
git:
33+
url: https://github.com/abuanwar072/device_preview.git
3134

3235
dev_dependencies:
3336
flutter_test:

0 commit comments

Comments
 (0)