大幅変更&環境バージョンアップ

This commit is contained in:
2024-08-22 14:35:09 +09:00
parent 56e9861c7a
commit dc58dc0584
446 changed files with 29645 additions and 8315 deletions

View File

@ -0,0 +1,31 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:gifunavi/model/auth_user.dart';
import 'package:shared_preferences/shared_preferences.dart';
final authUserStateProvider =
StateNotifierProvider<AuthUserState, AuthUser>((ref) {
return AuthUserState();
});
class AuthUserState extends StateNotifier<AuthUser> {
AuthUserState() : super(AuthUser());
Future<void> saveToDevice(String val) async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
await prefs.setString("user_token", val);
}
Future<String?> tokenFromDevice() async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
return prefs.getString("user_token");
}
Future<void> addLogin(AuthUser user) async {
state = user;
await saveToDevice(user.auth_token!);
}
void removeLogin() {
state = AuthUser();
}
}

View File

@ -0,0 +1,24 @@
import 'package:path_provider/path_provider.dart';
import 'dart:io';
class CacheProvider {
static Future<void> initialize() async {
final cacheDirectory = await getTemporaryDirectory();
final mapCacheDir = Directory('${cacheDirectory.path}/map_cache');
if (!await mapCacheDir.exists()) {
await mapCacheDir.create(recursive: true);
}
// ここに追加の初期化ロジックを記述できます
// 例:キャッシュサイズの制限設定、有効期限の設定など
}
static Future<File> getCachedTile(String url) async {
final cacheDirectory = await getTemporaryDirectory();
final fileName = url.split('/').last;
return File('${cacheDirectory.path}/map_cache/$fileName');
}
// 他のキャッシュ関連メソッドをここに追加できます
}

View File

@ -0,0 +1,22 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:gifunavi/model/game_state_instance.dart';
final gameStateNotifierProvider =
StateNotifierProvider<GameStaticState, GameInsStatetance>((ref) {
return GameStaticState();
});
class GameStaticState extends StateNotifier<GameInsStatetance> {
GameStaticState() : super(GameInsStatetance());
@override
GameInsStatetance get state => super.state;
void startGame(GameInsStatetance gi) {
state = gi;
}
void doCheckin() {}
void makeGoal() {}
}

View File

@ -0,0 +1,18 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:gifunavi/model/map_state_instance.dart';
final mapStateNotifierProvider =
StateNotifierProvider<MapState, MapStateInstance>((ref) {
return MapState();
});
class MapState extends StateNotifier<MapStateInstance> {
MapState() : super(MapStateInstance());
@override
MapStateInstance get state => super.state;
void startGame(MapStateInstance mi) {
state = mi;
}
}