Skip to content

Commit

Permalink
feat: add delete account
Browse files Browse the repository at this point in the history
  • Loading branch information
SungyeopJeong authored and sboh1214 committed Aug 16, 2023
1 parent b0dec43 commit fbb684c
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 14 deletions.
7 changes: 5 additions & 2 deletions assets/translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
"unselect_all": "Unselect All",
"no_info": "No information",
"all_selected": "All Selected",
"num_selected": " Selected"
"num_selected": " Selected",
"close": "Close"
},
"semester": {
"spring": "Spring",
Expand Down Expand Up @@ -123,7 +124,9 @@
"liked_review": "Liked Reviews",
"logout": "Logout",
"delete_account": "Delete Account",
"ask_delete_account": "Are you sure you want to delete your account?"
"ask_delete_account": "Are you sure you want to delete your account?",
"account_deleted": "Account Deleted",
"deleted_account": "This is the deleted account."
},
"settings": {
"send_error_log": "Send error log",
Expand Down
7 changes: 5 additions & 2 deletions assets/translations/ko.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
"unselect_all": "모두 해제",
"no_info": "정보 없음",
"all_selected": "전체 선택됨",
"num_selected": "개 선택됨"
"num_selected": "개 선택됨",
"close": "닫기"
},
"semester": {
"spring": "",
Expand Down Expand Up @@ -123,7 +124,9 @@
"liked_review": "좋아요한 후기",
"logout": "로그아웃",
"delete_account": "계정 삭제",
"ask_delete_account": "계정을 정말 삭제하시겠습니까?"
"ask_delete_account": "계정을 정말 삭제하시겠습니까?",
"account_deleted": "계정 삭제됨",
"deleted_account": "삭제된 계정입니다."
},
"settings": {
"send_error_log": "오류 로그 전송",
Expand Down
35 changes: 35 additions & 0 deletions lib/pages/login_page.dart
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
import 'dart:io';

import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:otlplus/constants/color.dart';
import 'package:otlplus/utils/responsive_button.dart';
import 'package:provider/provider.dart';
import 'package:otlplus/constants/url.dart';
import 'package:otlplus/providers/auth_model.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:webview_flutter/webview_flutter.dart';

class LoginPage extends StatefulWidget {
Expand All @@ -16,6 +21,36 @@ class LoginPage extends StatefulWidget {
class _LoginPageState extends State<LoginPage> {
bool _isVisible = true;

@override
void initState() {
super.initState();

WidgetsBinding.instance.addPostFrameCallback(
(_) async {
if (!((await SharedPreferences.getInstance()).getBool('hasAccount') ??
true)) {
await showDialog(
context: context,
builder: (context) => AlertDialog(
title: Text('user.account_deleted'.tr()),
content: Text('user.deleted_account'.tr()),
actions: [
IconTextButton(
padding: EdgeInsets.all(12),
text: 'common.close'.tr(),
color: OTLColor.pinksMain,
onTap: () {
SystemNavigator.pop();
},
),
],
),
);
}
},
);
}

@override
Widget build(BuildContext context) {
return Scaffold(
Expand Down
22 changes: 12 additions & 10 deletions lib/providers/info_model.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import 'package:otlplus/dio_provider.dart';
import 'package:otlplus/extensions/semester.dart';
import 'package:otlplus/models/semester.dart';
import 'package:otlplus/models/user.dart';
import 'package:shared_preferences/shared_preferences.dart';

const USED_SCHEDULE_FIELDS = [
"beginning",
Expand Down Expand Up @@ -77,16 +78,15 @@ class InfoModel extends ChangeNotifier {
}

Future<void> getInfo() async {
// try {
_semesters = await getSemesters();
_years = _semesters.map((semester) => semester.year).toSet();
_user = await getUser();
_currentSchedule = getCurrentSchedule();
_hasData = true;
if ((await SharedPreferences.getInstance()).getBool('hasAccount') ??
true) {
_semesters = await getSemesters();
_years = _semesters.map((semester) => semester.year).toSet();
_user = await getUser();
_currentSchedule = getCurrentSchedule();
_hasData = true;
}
notifyListeners();
// } catch (exception) {
// print(exception);
// }
}

Future<List<Semester>> getSemesters() async {
Expand Down Expand Up @@ -121,7 +121,9 @@ class InfoModel extends ChangeNotifier {
orElse: () => null);
}

void deleteAccount() {
Future<void> deleteAccount() async {
final pref = await SharedPreferences.getInstance();
pref.setBool('hasAccount', false);
_hasData = false;
notifyListeners();
}
Expand Down

0 comments on commit fbb684c

Please sign in to comment.