welcome, signup, login 화면 UI / home 화면 임시 ui

This commit is contained in:
youngbeom 2026-01-20 17:14:11 +09:00
parent 5dcad14acb
commit fa65ed3d15
24 changed files with 863 additions and 15 deletions

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

View File

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48">
<path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"/>
<path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"/>
<path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"/>
<path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"/>
<path fill="none" d="M0 0h48v48H0z"/>
</svg>

After

Width:  |  Height:  |  Size: 741 B

View File

@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M24 22.125C24 23.1606 23.1606 24 22.125 24H1.875C0.839438 24 0 23.1606 0 22.125V1.875C0 0.839438 0.839438 0 1.875 0H22.125C23.1606 0 24 0.839438 24 1.875V22.125Z" fill="#FFE812" fill-opacity="0.01"/>
<path d="M12 3.375C6.61519 3.375 2.25 6.81684 2.25 11.0625C2.25 13.8074 4.07494 16.2159 6.82013 17.576C6.67078 18.091 5.86041 20.8895 5.82816 21.1093C5.82816 21.1093 5.80875 21.2745 5.91572 21.3375C6.02269 21.4005 6.1485 21.3516 6.1485 21.3516C6.45525 21.3087 9.70566 19.0255 10.2683 18.6291C10.8303 18.7087 11.409 18.75 12 18.75C17.3848 18.75 21.75 15.3083 21.75 11.0625C21.75 6.81684 17.3848 3.375 12 3.375Z" fill="#17191A"/>
</svg>

After

Width:  |  Height:  |  Size: 740 B

View File

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14.2012 5V12.5684L8.81997 5H3V20H8.79878V12.4316L14.1821 20H20V5H14.2012Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 203 B

BIN
app/assets/img/cat.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
app/assets/img/foot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 612 B

BIN
app/assets/img/mainball.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
app/assets/img/maindog.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

BIN
app/assets/video/splash.mp4 Normal file

Binary file not shown.

View File

@ -1,4 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'screens/splash_screen.dart';
void main() { void main() {
runApp(RupApp()); runApp(RupApp());
@ -9,18 +10,6 @@ class RupApp extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MaterialApp( return MaterialApp(debugShowCheckedModeBanner: false, home: SplashScreen());
home: Scaffold(
body: Container(
padding: EdgeInsets.fromLTRB(40, 0, 40, 0),
margin: EdgeInsets.only(top: 156),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [Text('Right'), Text('Use for'), Text('Pet')],
),
),
),
);
} }
} }

View File

@ -0,0 +1,42 @@
import 'package:flutter/material.dart';
import 'welcome_screen.dart';
class HomeScreen extends StatelessWidget {
const HomeScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text(
'',
style: TextStyle(fontFamily: 'SCDream', fontWeight: FontWeight.bold),
),
centerTitle: true,
actions: [
IconButton(
icon: const Icon(Icons.logout),
onPressed: () {
// Mock Logout: Go back to Welcome Screen
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => const WelcomeScreen()),
);
},
),
],
),
body: const Center(
child: Text(
'로그인 성공!\n여기는 메인 홈 화면입니다.',
textAlign: TextAlign.center,
style: TextStyle(
fontFamily: 'SCDream',
fontWeight: FontWeight.w500,
fontSize: 18,
),
),
),
);
}
}

View File

@ -0,0 +1,186 @@
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
class LoginScreen extends StatelessWidget {
const LoginScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
backgroundColor: Colors.white,
elevation: 0,
leading: IconButton(
icon: const Icon(Icons.arrow_back_ios, color: Colors.black, size: 20),
onPressed: () => Navigator.pop(context),
),
title: const Text(
'로그인',
style: TextStyle(
fontSize: 15,
fontFamily: 'SCDream',
fontWeight: FontWeight.w500,
color: Colors.black,
),
),
centerTitle: true,
),
body: Padding(
padding: const EdgeInsets.fromLTRB(20, 0, 20, 240),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(height: 20),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Image.asset('assets/img/foot.png', width: 30),
SizedBox(width: 10),
Text(
'로그인',
style: TextStyle(
fontSize: 24,
fontFamily: 'SCDream',
fontWeight: FontWeight.bold,
color: Colors.black,
),
),
],
),
SizedBox(height: 10),
Text(
'RUP에 어서오세요!\n지금 로그인하고 다양한 서비스를 이용해보세요.',
style: TextStyle(
fontSize: 14,
fontFamily: 'SCDream',
fontWeight: FontWeight.w500,
color: Colors.black,
),
textAlign: TextAlign.start,
),
Spacer(),
Align(
alignment: Alignment.centerRight,
child: Image.asset('assets/img/cat.png', height: 150),
),
SizedBox(height: 10),
],
),
),
bottomSheet: Container(
color: Colors.white,
padding: const EdgeInsets.fromLTRB(20, 20, 20, 40),
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
// Naver Login Button
_SocialLoginButton(
text: '네이버 로그인',
textColor: Colors.white,
fontFamily: 'SCDream',
fontWeight: FontWeight.bold,
fontSize: 15,
backgroundColor: const Color(0xFF00D03F),
onPressed: () {},
iconPath: 'assets/icons/navericon.svg',
),
const SizedBox(height: 15),
// Kakao Login Button
_SocialLoginButton(
text: '카카오 로그인',
textColor: const Color(0xFF212121),
fontFamily: 'SCDream',
fontWeight: FontWeight.bold,
fontSize: 15,
backgroundColor: const Color(0xFFFAE100),
onPressed: () {},
iconPath: 'assets/icons/kakaoicon.svg',
),
const SizedBox(height: 15),
// Google Login Button
_SocialLoginButton(
text: '구글 로그인',
textColor: const Color(0xFF17191A),
fontFamily: 'SCDream',
fontWeight: FontWeight.bold,
fontSize: 15,
backgroundColor: Colors.white,
onPressed: () {},
iconPath: 'assets/icons/googleicon.svg',
isBordered: true,
),
],
),
),
);
}
}
class _SocialLoginButton extends StatelessWidget {
final String text;
final Color textColor;
final Color backgroundColor;
final VoidCallback onPressed;
final String iconPath;
final bool isBordered;
final String fontFamily;
final double fontSize;
final FontWeight fontWeight;
const _SocialLoginButton({
required this.text,
required this.textColor,
required this.backgroundColor,
required this.onPressed,
required this.iconPath,
this.isBordered = false,
this.fontFamily = 'SCDream',
this.fontWeight = FontWeight.w500,
this.fontSize = 16,
});
@override
Widget build(BuildContext context) {
return SizedBox(
height: 50,
child: ElevatedButton(
onPressed: onPressed,
style: ElevatedButton.styleFrom(
backgroundColor: backgroundColor,
foregroundColor: textColor,
elevation: 0,
shape: StadiumBorder(
side: isBordered
? BorderSide(color: Colors.grey[300]!)
: BorderSide.none,
),
padding: const EdgeInsets.symmetric(horizontal: 20),
),
child: Row(
children: [
SvgPicture.asset(
iconPath,
width: 24,
height: 24,
fit: BoxFit.contain,
),
Expanded(
child: Text(
text,
style: TextStyle(
fontFamily: fontFamily,
fontWeight: fontWeight,
fontSize: fontSize,
),
textAlign: TextAlign.center,
),
),
const SizedBox(width: 24),
],
),
),
);
}
}

View File

@ -0,0 +1,186 @@
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
class SignupScreen extends StatelessWidget {
const SignupScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
backgroundColor: Colors.white,
elevation: 0,
leading: IconButton(
icon: Icon(Icons.arrow_back_ios, color: Colors.black, size: 20),
onPressed: () => Navigator.pop(context),
),
title: Text(
'회원가입',
style: TextStyle(
fontSize: 15,
fontFamily: 'SCDream',
fontWeight: FontWeight.w500,
color: Colors.black,
),
),
centerTitle: true,
),
body: Padding(
padding: const EdgeInsets.fromLTRB(20, 0, 20, 240),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(height: 20),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Image.asset('assets/img/foot.png', width: 30),
SizedBox(width: 10),
Text(
'서비스 이용 약관',
style: TextStyle(
fontSize: 24,
fontFamily: 'SCDream',
fontWeight: FontWeight.bold,
color: Colors.black,
),
),
],
),
SizedBox(height: 10),
Text(
'똑똑한 반려생활을 위한 첫걸음,\nRUP에 오신것을 환영해요!',
style: TextStyle(
fontSize: 14,
fontFamily: 'SCDream',
fontWeight: FontWeight.w500,
color: Colors.black,
),
textAlign: TextAlign.start,
),
Spacer(),
Align(
alignment: Alignment.centerRight,
child: Image.asset('assets/img/cat.png', height: 150),
),
SizedBox(height: 10),
],
),
),
bottomSheet: Container(
color: Colors.white,
padding: EdgeInsets.fromLTRB(20, 20, 20, 40),
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
// Naver Login Button
_SocialLoginButton(
text: '네이버 로그인',
textColor: Colors.white,
fontFamily: 'SCDream',
fontWeight: FontWeight.bold,
fontSize: 15,
backgroundColor: Color(0xFF00D03F),
onPressed: () {},
iconPath: 'assets/icons/navericon.svg',
),
SizedBox(height: 15),
// Kakao Login Button
_SocialLoginButton(
text: '카카오로 3초만에 시작하기',
textColor: Color(0xFF212121),
fontFamily: 'SCDream',
fontWeight: FontWeight.bold,
fontSize: 15,
backgroundColor: Color(0xFFFAE100),
onPressed: () {},
iconPath: 'assets/icons/kakaoicon.svg',
),
SizedBox(height: 15),
// Google Login Button
_SocialLoginButton(
text: '구글 로그인',
textColor: Color(0xFF17191A),
fontFamily: 'SCDream',
fontWeight: FontWeight.bold,
fontSize: 15,
backgroundColor: Colors.white,
onPressed: () {},
iconPath: 'assets/icons/googleicon.svg',
isBordered: true,
),
],
),
),
);
}
}
class _SocialLoginButton extends StatelessWidget {
final String text;
final Color textColor;
final Color backgroundColor;
final VoidCallback onPressed;
final String iconPath;
final bool isBordered;
final String fontFamily;
final double fontSize;
final FontWeight fontWeight;
const _SocialLoginButton({
required this.text,
required this.textColor,
required this.backgroundColor,
required this.onPressed,
required this.iconPath,
this.isBordered = false,
this.fontFamily = 'SCDream',
this.fontWeight = FontWeight.w500,
this.fontSize = 16,
});
@override
Widget build(BuildContext context) {
return SizedBox(
height: 50,
child: ElevatedButton(
onPressed: onPressed,
style: ElevatedButton.styleFrom(
backgroundColor: backgroundColor,
foregroundColor: textColor,
elevation: 0,
shape: StadiumBorder(
side: isBordered
? BorderSide(color: Colors.grey[300]!)
: BorderSide.none,
),
padding: EdgeInsets.symmetric(horizontal: 20),
),
child: Row(
children: [
SvgPicture.asset(
iconPath,
width: 24,
height: 24,
fit: BoxFit.contain,
),
Expanded(
child: Text(
text,
style: TextStyle(
fontFamily: fontFamily,
fontWeight: fontWeight,
fontSize: fontSize,
),
textAlign: TextAlign.center,
),
),
SizedBox(width: 24),
],
),
),
);
}
}

View File

@ -0,0 +1,67 @@
import 'dart:async';
import 'package:flutter/material.dart';
// import 'package:video_player/video_player.dart';
import 'welcome_screen.dart';
import 'home_screen.dart';
class SplashScreen extends StatefulWidget {
const SplashScreen({super.key});
@override
State<SplashScreen> createState() => _SplashScreenState();
}
class _SplashScreenState extends State<SplashScreen> {
// Mock login history flag
final bool hasLoginHistory = true;
@override
void initState() {
super.initState();
_checkLoginHistory();
}
Future<void> _checkLoginHistory() async {
// Simulate loading time (e.g. 2 seconds)
await Future.delayed(const Duration(seconds: 2));
if (!mounted) return;
if (hasLoginHistory) {
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => const HomeScreen()),
);
} else {
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => const WelcomeScreen()),
);
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: const Color(0xFFFF7500), // Original Brand Color
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image.asset('assets/img/maindog.png', width: 150, height: 150),
const SizedBox(height: 20),
const Text(
'RUP',
style: TextStyle(
fontFamily: 'SCDream',
fontWeight: FontWeight.bold,
fontSize: 32,
color: Colors.white,
),
),
],
),
),
);
}
}

View File

@ -0,0 +1,16 @@
import 'package:flutter/material.dart';
import '../widgets/intro_body.dart';
import '../widgets/login_panel.dart';
class WelcomeScreen extends StatelessWidget {
const WelcomeScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Color(0xFFFF7500),
body: IntroBody(),
bottomSheet: LoginPanel(),
);
}
}

View File

@ -0,0 +1,79 @@
import 'package:flutter/material.dart';
class IntroBody extends StatelessWidget {
const IntroBody({super.key});
@override
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.fromLTRB(40, 0, 40, 0),
margin: EdgeInsets.only(top: 156),
child: LayoutBuilder(
builder: (context, constraints) {
return FittedBox(
fit: BoxFit.scaleDown,
child: Container(
constraints: BoxConstraints(minWidth: constraints.maxWidth),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Right',
style: TextStyle(
fontSize: 60,
fontFamily: 'Ownglyph',
color: Colors.white,
),
),
Text(
'Use for',
style: TextStyle(
fontSize: 60,
fontFamily: 'Ownglyph',
color: Colors.white,
),
),
Padding(
padding: const EdgeInsets.only(bottom: 26),
child: Text(
'Pet',
style: TextStyle(
fontSize: 60,
fontFamily: 'Ownglyph',
color: Colors.white,
),
),
),
],
),
Image.asset('assets/img/mainball.png'),
],
),
Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Image.asset('assets/img/maindog.png'),
Opacity(
opacity: 0.0,
child: Image.asset('assets/img/mainball.png'),
),
],
),
],
),
),
);
},
),
);
}
}

View File

@ -0,0 +1,86 @@
import 'package:flutter/material.dart';
import '../screens/signup_screen.dart';
import '../screens/login_screen.dart';
class LoginPanel extends StatelessWidget {
const LoginPanel({super.key});
@override
Widget build(BuildContext context) {
return Container(
width: double.infinity,
color: Color(0xFFFF7500),
padding: EdgeInsets.fromLTRB(40, 0, 40, 40),
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'간편한 반려생활을 위한 첫걸음,\nRUP에 오신것을 환영합니다!',
style: TextStyle(
fontSize: 12,
fontFamily: 'SCDream',
fontWeight: FontWeight.w500,
color: Colors.black,
),
textAlign: TextAlign.center,
),
SizedBox(height: 30),
SizedBox(
width: double.infinity,
child: ElevatedButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SignupScreen()),
);
},
style: ElevatedButton.styleFrom(
backgroundColor: Colors.white,
shape: StadiumBorder(),
padding: EdgeInsets.all(15),
),
child: Stack(
alignment: Alignment.center,
children: [
Align(
alignment: Alignment.center,
child: Text(
'시작하기',
style: TextStyle(
fontFamily: 'SCDream',
fontWeight: FontWeight.bold,
color: Colors.black,
),
),
),
],
),
),
),
SizedBox(height: 5),
TextButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => LoginScreen()),
);
},
child: Text(
'기존 계정으로 로그인',
style: TextStyle(
fontFamily: 'SCDream',
fontWeight: FontWeight.w500,
fontSize: 12,
color: Colors.white,
decoration: TextDecoration.underline,
decorationColor: Colors.white,
),
),
),
],
),
);
}
}

View File

@ -5,6 +5,8 @@
import FlutterMacOS import FlutterMacOS
import Foundation import Foundation
import video_player_avfoundation
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
FVPVideoPlayerPlugin.register(with: registry.registrar(forPlugin: "FVPVideoPlayerPlugin"))
} }

View File

@ -1,6 +1,14 @@
# Generated by pub # Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile # See https://dart.dev/tools/pub/glossary#lockfile
packages: packages:
args:
dependency: transitive
description:
name: args
sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04
url: "https://pub.dev"
source: hosted
version: "2.7.0"
async: async:
dependency: transitive dependency: transitive
description: description:
@ -41,6 +49,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.19.1" version: "1.19.1"
csslib:
dependency: transitive
description:
name: csslib
sha256: "09bad715f418841f976c77db72d5398dc1253c21fb9c0c7f0b0b985860b2d58e"
url: "https://pub.dev"
source: hosted
version: "1.0.2"
cupertino_icons: cupertino_icons:
dependency: "direct main" dependency: "direct main"
description: description:
@ -70,11 +86,48 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.0.0" version: "6.0.0"
flutter_svg:
dependency: "direct main"
description:
name: flutter_svg
sha256: "87fbd7c534435b6c5d9d98b01e1fd527812b82e68ddd8bd35fc45ed0fa8f0a95"
url: "https://pub.dev"
source: hosted
version: "2.2.3"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.0" version: "0.0.0"
flutter_web_plugins:
dependency: transitive
description: flutter
source: sdk
version: "0.0.0"
html:
dependency: transitive
description:
name: html
sha256: "6d1264f2dffa1b1101c25a91dff0dc2daee4c18e87cd8538729773c073dbf602"
url: "https://pub.dev"
source: hosted
version: "0.15.6"
http:
dependency: transitive
description:
name: http
sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412"
url: "https://pub.dev"
source: hosted
version: "1.6.0"
http_parser:
dependency: transitive
description:
name: http_parser
sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571"
url: "https://pub.dev"
source: hosted
version: "4.1.2"
leak_tracker: leak_tracker:
dependency: transitive dependency: transitive
description: description:
@ -139,6 +192,30 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.9.1" version: "1.9.1"
path_parsing:
dependency: transitive
description:
name: path_parsing
sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca"
url: "https://pub.dev"
source: hosted
version: "1.1.0"
petitparser:
dependency: transitive
description:
name: petitparser
sha256: "1a97266a94f7350d30ae522c0af07890c70b8e62c71e8e3920d1db4d23c057d1"
url: "https://pub.dev"
source: hosted
version: "7.0.1"
plugin_platform_interface:
dependency: transitive
description:
name: plugin_platform_interface
sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
url: "https://pub.dev"
source: hosted
version: "2.1.8"
sky_engine: sky_engine:
dependency: transitive dependency: transitive
description: flutter description: flutter
@ -192,6 +269,38 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.7" version: "0.7.7"
typed_data:
dependency: transitive
description:
name: typed_data
sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006
url: "https://pub.dev"
source: hosted
version: "1.4.0"
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: d354a7ec6931e6047785f4db12a1f61ec3d43b207fc0790f863818543f8ff0dc
url: "https://pub.dev"
source: hosted
version: "1.1.19"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
@ -200,6 +309,46 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.0" version: "2.2.0"
video_player:
dependency: "direct main"
description:
name: video_player
sha256: "096bc28ce10d131be80dfb00c223024eb0fba301315a406728ab43dd99c45bdf"
url: "https://pub.dev"
source: hosted
version: "2.10.1"
video_player_android:
dependency: transitive
description:
name: video_player_android
sha256: ee4fd520b0cafa02e4a867a0f882092e727cdaa1a2d24762171e787f8a502b0a
url: "https://pub.dev"
source: hosted
version: "2.9.1"
video_player_avfoundation:
dependency: transitive
description:
name: video_player_avfoundation
sha256: "2a7aaf2f28212c285e0fb29b50728bbea513d743dd48d3024098015f169fb937"
url: "https://pub.dev"
source: hosted
version: "2.8.10"
video_player_platform_interface:
dependency: transitive
description:
name: video_player_platform_interface
sha256: "57c5d73173f76d801129d0531c2774052c5a7c11ccb962f1830630decd9f24ec"
url: "https://pub.dev"
source: hosted
version: "6.6.0"
video_player_web:
dependency: transitive
description:
name: video_player_web
sha256: "9f3c00be2ef9b76a95d94ac5119fb843dca6f2c69e6c9968f6f2b6c9e7afbdeb"
url: "https://pub.dev"
source: hosted
version: "2.4.0"
vm_service: vm_service:
dependency: transitive dependency: transitive
description: description:
@ -208,6 +357,22 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "15.0.2" version: "15.0.2"
web:
dependency: transitive
description:
name: web
sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a"
url: "https://pub.dev"
source: hosted
version: "1.1.1"
xml:
dependency: transitive
description:
name: xml
sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025"
url: "https://pub.dev"
source: hosted
version: "6.6.1"
sdks: sdks:
dart: ">=3.10.7 <4.0.0" dart: ">=3.10.7 <4.0.0"
flutter: ">=3.18.0-18.0.pre.54" flutter: ">=3.38.0"

View File

@ -2,7 +2,7 @@ name: app
description: "A new Flutter project." description: "A new Flutter project."
# The following line prevents the package from being accidentally published to # The following line prevents the package from being accidentally published to
# pub.dev using `flutter pub publish`. This is preferred for private packages. # pub.dev using `flutter pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev publish_to: "none" # Remove this line if you wish to publish to pub.dev
# The following defines the version and build number for your application. # The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43 # A version number is three numbers separated by dots, like 1.2.43
@ -34,6 +34,8 @@ dependencies:
# The following adds the Cupertino Icons font to your application. # The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons. # Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.8 cupertino_icons: ^1.0.8
flutter_svg: ^2.0.10
video_player: ^2.8.2
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
@ -51,7 +53,21 @@ dev_dependencies:
# The following section is specific to Flutter packages. # The following section is specific to Flutter packages.
flutter: flutter:
fonts:
- family: Ownglyph
fonts:
- asset: assets/fonts/Ownglyph.ttf
- family: SCDream
fonts:
- asset: assets/fonts/SCDream-bold.otf
weight: 700
- asset: assets/fonts/SCDream-medium.otf
weight: 500
assets:
- assets/img/
- assets/icons/
- assets/video/
# The following line ensures that the Material Icons font is # The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in # included with your application, so that you can use the icons in
# the material Icons class. # the material Icons class.