fix: some fixes

This commit is contained in:
2024-06-09 12:47:59 +03:00
parent 04ee6d1699
commit 9335e8e694
7 changed files with 80 additions and 85 deletions

View File

@@ -22,6 +22,11 @@ class GymLinkAppBar extends StatelessWidget implements PreferredSizeWidget {
width: 24, width: 24,
height: 24, height: 24,
semanticsLabel: 'GymLink Logo', semanticsLabel: 'GymLink Logo',
colorFilter: ColorFilter.mode(
Theme.of(context).brightness == Brightness.dark
? Colors.white
: Colors.black,
BlendMode.srcIn),
), ),
), ),
Align( Align(

View File

@@ -129,7 +129,7 @@ class _ExamplePageState extends State<ExamplePage> {
Future<void> _setToken() async { Future<void> _setToken() async {
final token = await getToken('eeb42dcb-8e5b-4f21-825a-3fc7ada43445', '123'); final token = await getToken('eeb42dcb-8e5b-4f21-825a-3fc7ada43445', '123');
if (token != '') { if (token != '') {
context.read<GymLinkProvider>().onTokenReceived(token); context.read<GymLinkProvider>().checkToken(token);
} else { } else {
context.read<GymLinkProvider>().onError(); context.read<GymLinkProvider>().onError();
} }
@@ -205,7 +205,7 @@ class _ExampleClub2PageState extends State<ExampleClub2Page> {
final token = await getToken('a8622a61-3142-487e-8db8-b6aebd4f04aa', '123'); final token = await getToken('a8622a61-3142-487e-8db8-b6aebd4f04aa', '123');
context.read<GymLinkProvider>().changeTheme(0xFFAABCAB); context.read<GymLinkProvider>().changeTheme(0xFFAABCAB);
if (token != '') { if (token != '') {
context.read<GymLinkProvider>().onTokenReceived(token); context.read<GymLinkProvider>().checkToken(token);
} else { } else {
context.read<GymLinkProvider>().onError(); context.read<GymLinkProvider>().onError();
} }

View File

@@ -73,6 +73,7 @@ class _MainPageState extends State<MainPage> {
bool isSearching = false; bool isSearching = false;
List<GymCategory> categories = []; List<GymCategory> categories = [];
GymCategory? selectedCategory; GymCategory? selectedCategory;
final ScrollController _scrollController = ScrollController();
@override @override
void initState() { void initState() {
@@ -122,7 +123,7 @@ class _MainPageState extends State<MainPage> {
}); });
} }
void _onSearch() async { void _onSearch() {
final categoryId = selectedCategory == null ? '' : selectedCategory!.id; final categoryId = selectedCategory == null ? '' : selectedCategory!.id;
_searchItems(searchText: searchText, categoryId: categoryId); _searchItems(searchText: searchText, categoryId: categoryId);
} }
@@ -250,7 +251,9 @@ class _MainPageState extends State<MainPage> {
onEndOfPage: _onLoad, onEndOfPage: _onLoad,
isLoading: isLoading, isLoading: isLoading,
child: Scrollbar( child: Scrollbar(
controller: _scrollController,
child: ListView( child: ListView(
controller: _scrollController,
children: [ children: [
filteredData.isEmpty && filteredData.isEmpty &&
(searchText != '' || selectedCategory != null) && (searchText != '' || selectedCategory != null) &&

View File

@@ -14,17 +14,10 @@ class GymLinkProvider with ChangeNotifier {
void Function() get onError => _onError; void Function() get onError => _onError;
void onTokenReceived(String token) { void checkToken(String token) {
_token = token; _token = token;
_isLoading = false; _isLoading = false;
notifyListeners(); notifyListeners();
// if (token == 'token123') {
// _isLoading = false;
// notifyListeners();
// } else {
// _isLoading = true;
// notifyListeners();
// }
} }
void changeTheme(int color, {bool blackTheme = false}) { void changeTheme(int color, {bool blackTheme = false}) {

View File

@@ -48,13 +48,13 @@ class MyAppStateWeb extends State<MyApp> {
} }
@js.JSExport() @js.JSExport()
void onTokenReceived(String token) { void checkToken(String token) {
context.read<GymLinkProvider>().onTokenReceived(token); context.read<GymLinkProvider>().checkToken(token);
} }
@js.JSExport() @js.JSExport()
void changeColor(int color) { void changeColor(int color, bool blackTheme) {
context.read<GymLinkProvider>().changeTheme(color); context.read<GymLinkProvider>().changeTheme(color, blackTheme: blackTheme);
} }
@js.JSExport() @js.JSExport()

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<!-- <!--
If you are serving your web app in a path other than the root, change the If you are serving your web app in a path other than the root, change the
href value below to reflect the base path you are serving from. href value below to reflect the base path you are serving from.
@@ -14,54 +14,55 @@
This is a placeholder for base href that will be replaced by the value of This is a placeholder for base href that will be replaced by the value of
the `--base-href` argument provided to `flutter build`. the `--base-href` argument provided to `flutter build`.
--> -->
<base href="$FLUTTER_BASE_HREF"> <base href="$FLUTTER_BASE_HREF" />
<meta charset="UTF-8"> <meta charset="UTF-8" />
<meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta content="IE=Edge" http-equiv="X-UA-Compatible" />
<meta name="description" content="A new Flutter project."> <meta name="description" content="A new Flutter project." />
<!-- iOS meta tags & icons --> <!-- iOS meta tags & icons -->
<meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="apple-mobile-web-app-title" content="flutter_application_1"> <meta name="apple-mobile-web-app-title" content="flutter_application_1" />
<link rel="apple-touch-icon" href="icons/Icon-192.png"> <link rel="apple-touch-icon" href="icons/Icon-192.png" />
<!-- Favicon --> <!-- Favicon -->
<link rel="icon" type="image/png" href="favicon.png"/> <link rel="icon" type="image/png" href="favicon.png" />
<title>flutter_application_1</title> <title>flutter_application_1</title>
<link rel='stylesheet' href='css/styles.css'> <link rel="stylesheet" href="css/styles.css" />
<link rel="manifest" href="manifest.json"> <link rel="manifest" href="manifest.json" />
<!-- <script> <!-- <script>
// The value below is injected by flutter build, do not touch. // The value below is injected by flutter build, do not touch.
const serviceWorkerVersion = null; const serviceWorkerVersion = null;
</script> --> </script> -->
<!-- This script adds the flutter initialization JS code --> <!-- This script adds the flutter initialization JS code -->
<script src="flutter.js" defer></script> <script src="flutter.js" defer></script>
</head> </head>
<body> <body>
<button id='token'>Token btn</button> <button id="token">Token btn</button>
<button id='colorChangeBtnRed'>Color btn Red</button> <button id="token2">Token btn 2</button>
<button id='colorChangeBtnBlue'>Color btn Blue</button> <button id="colorChangeBtnRed">Color btn Red</button>
<section class='contents'> <button id="colorChangeBtnBlue">Color btn Blue</button>
<article> <section class="contents">
<div id="flutter_target"></div> <article>
</article> <div id="flutter_target"></div>
</section> </article>
<script> </section>
window.addEventListener('load', function(ev) { <script>
let target = document.querySelector('#flutter_target'); window.addEventListener('load', function (ev) {
_flutter.loader.loadEntrypoint({ let target = document.querySelector('#flutter_target');
onEntrypointLoaded: async function (engineInitializer) { _flutter.loader.loadEntrypoint({
let appRunner = await engineInitializer.initializeEngine({ onEntrypointLoaded: async function (engineInitializer) {
hostElement: target, let appRunner = await engineInitializer.initializeEngine({
}); hostElement: target,
await appRunner.runApp(); });
} await appRunner.runApp();
}) },
}); });
</script> });
<script src='js/demo-js-interop.js' defer></script> </script>
</body> <script src="js/demo-js-interop.js" defer></script>
</body>
</html> </html>

View File

@@ -7,26 +7,22 @@
}; };
let appState = window._appState; let appState = window._appState;
function getToken() { function getToken(token) {
fetch( fetch('http://gymlink.freemyip.com:8080/api/auth/authorize_client', {
'http://gymlink.freemyip.com:8080/api/auth/authorize_client', method: 'POST',
{ headers: { 'Content-Type': 'application/json' },
method: 'POST', body: JSON.stringify({
headers: { 'Content-Type': 'application/json' }, GymKey: token, // Just testing token
body: JSON.stringify({ id: '123',
GymKey: 'eeb42dcb-8e5b-4f21-825a-3fc7ada43445', // Just testing token }),
id: '123', })
}),
}
)
.then(res => res.json()) .then(res => res.json())
.catch(e => { .catch(e => {
console.log(e); console.log(e);
setTimeout(getToken, 1000); setTimeout(getToken, 1000);
}) })
.then(data => { .then(data => {
if (data.payload) if (data.payload) appState.checkToken(data.payload.token);
appState.onTokenReceived(data.payload.token);
else { else {
console.log(data); console.log(data);
setTimeout(getToken, 1000); setTimeout(getToken, 1000);
@@ -34,31 +30,28 @@
}); });
} }
let btn = document.getElementById('token'); const btn = document.getElementById('token');
btn.addEventListener('click', getToken); btn.addEventListener('click', () => getToken('eeb42dcb-8e5b-4f21-825a-3fc7ada43445'));
const btn2 = document.getElementById('token2');
btn2.addEventListener('click', () => getToken('a8622a61-3142-487e-8db8-b6aebd4f04aa'));
let colorChangeBtnRed = document.getElementById('colorChangeBtnRed'); let colorChangeBtnRed = document.getElementById('colorChangeBtnRed');
colorChangeBtnRed.addEventListener('click', function () { colorChangeBtnRed.addEventListener('click', function () {
var hexColor = '#FF0000' var hexColor = '#FF0000'
.replace( .replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, (m, r, g, b) => '#ff' + r + r + g + g + b + b)
/^#?([a-f\d])([a-f\d])([a-f\d])$/i,
(m, r, g, b) => '#ff' + r + r + g + g + b + b
)
.substring(1); .substring(1);
var numColor = parseInt(hexColor, 16); var numColor = parseInt(hexColor, 16);
appState.changeColor(numColor); appState.changeColor(numColor, true);
}); });
let colorChangeBtnBlue = document.getElementById('colorChangeBtnBlue'); let colorChangeBtnBlue = document.getElementById('colorChangeBtnBlue');
colorChangeBtnBlue.addEventListener('click', function () { colorChangeBtnBlue.addEventListener('click', function () {
var hexColor = '#0000FF' var hexColor = '#0000FF'
.replace( .replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, (m, r, g, b) => '#ff' + r + r + g + g + b + b)
/^#?([a-f\d])([a-f\d])([a-f\d])$/i,
(m, r, g, b) => '#ff' + r + r + g + g + b + b
)
.substring(1); .substring(1);
var numColor = parseInt(hexColor, 16); var numColor = parseInt(hexColor, 16);
appState.changeColor(numColor); appState.changeColor(numColor, false);
}); });
function onError() { function onError() {