Skip to content

Commit 1b2a3bc

Browse files
committed
delete saved design resource is done
1 parent f009973 commit 1b2a3bc

File tree

2 files changed

+62
-27
lines changed

2 files changed

+62
-27
lines changed

lib/appwrite_service/databases_service.dart

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -412,4 +412,24 @@ class DeleteData {
412412
return false;
413413
}
414414
}
415+
416+
Future<bool> savedDesignResource({
417+
required String docId,
418+
}) async {
419+
final databases = Databases(client);
420+
try {
421+
final data = await databases.deleteDocument(
422+
databaseId: AppWriteConst.usersDataDatabaseID,
423+
collectionId: AppWriteConst.savedDesignResourcesId,
424+
documentId: docId,
425+
);
426+
log("Delete.savedDesignResource");
427+
428+
return true;
429+
} on AppwriteException catch (e) {
430+
print(e);
431+
UtilityHelper.toastMessage(message: e.message ?? "delete.savedDesignResource() null message");
432+
return false;
433+
}
434+
}
415435
}

lib/views/screens/tabs/saved_tab/saved_tab.dart

Lines changed: 42 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import 'package:help_me_design/appwrite_service/databases_service.dart';
55
import 'package:help_me_design/constants/text_constants.dart';
66
import 'package:help_me_design/providers/saved_tab_provider/saved_tab_provider.dart';
77
import 'package:help_me_design/theme/my_design_system.dart';
8+
import 'package:help_me_design/utility/utility_helper.dart';
89
import 'package:help_me_design/views/screens/tabs/explore_tab/widgets/cards/explore_resource_card.dart';
910
import 'package:help_me_design/views/widgets/container_pattern_painter.dart';
1011
import 'package:provider/provider.dart';
@@ -31,43 +32,57 @@ class _SavedDesignResourceTabState extends State<SavedDesignResourceTab> {
3132
@override
3233
Widget build(BuildContext context) {
3334
var savedTabProvider = Provider.of<SavedTabProvider>(context);
35+
var authProvider = Provider.of<AuthService>(context);
3436
return Container(
3537
child: SingleChildScrollView(
38+
physics: const BouncingScrollPhysics(),
3639
child: Column(
40+
crossAxisAlignment: CrossAxisAlignment.start,
3741
children: [
3842
TabViewHeroCard(
3943
title: MyTextConstants.savedTabHeadline,
4044
shortDescription: MyTextConstants.savedTabShortDescription,
4145
posterImage: 'assets/images/settings-poster.png',
4246
bgPattern: SavedTabPatternPainter(44, context),
4347
),
44-
Wrap(
45-
spacing: MySpaceSystem.spaceX3,
46-
runSpacing: MySpaceSystem.spaceX3,
47-
// direction: Axis.vertical,
48-
children: [
49-
for (var i = 0; i < savedTabProvider.listOfSavedDesignResources.length; i++)
50-
ExploreResourceCard(
51-
onTapSave: () {
52-
// save design resources
53-
// DatabasesService.delete;
54-
},
55-
onTap: () {},
56-
onTapSaveIconData: Icons.delete_rounded,
57-
title: savedTabProvider.listOfSavedDesignResources[i].data['title'],
58-
description: savedTabProvider.listOfSavedDesignResources[i].data['description'],
59-
resourceUrl: savedTabProvider.listOfSavedDesignResources[i].data['url'],
60-
)
61-
.animate()
62-
.scaleXY(
63-
begin: 0.2,
64-
alignment: Alignment.bottomLeft,
65-
)
66-
.then()
67-
.saturate(begin: 0, delay: 100.ms, duration: 400.ms)
68-
.animate(target: i == 1 ? 1 : 0)
69-
.shake(delay: 800.ms, hz: 5)
70-
],
48+
Padding(
49+
padding: EdgeInsets.only(left: MySpaceSystem.spaceX3),
50+
child: Wrap(
51+
spacing: MySpaceSystem.spaceX3,
52+
runSpacing: MySpaceSystem.spaceX3,
53+
// direction: Axis.vertical,
54+
children: [
55+
for (var i = 0; i < savedTabProvider.listOfSavedDesignResources.length; i++)
56+
ExploreResourceCard(
57+
onTapSave: () async {
58+
// this is delete button here
59+
// save design resources
60+
var deleteResponse = await DatabasesService.delete.savedDesignResource(
61+
docId: savedTabProvider.listOfSavedDesignResources[i].$id,
62+
);
63+
64+
if (deleteResponse) {
65+
savedTabProvider.getSavedDesignResources(authProvider.currentUser.$id);
66+
UtilityHelper.toastMessage(message: "Resource deleted");
67+
}
68+
},
69+
onTap: () {},
70+
onTapSaveIconData: Icons.delete_rounded,
71+
title: savedTabProvider.listOfSavedDesignResources[i].data['title'],
72+
description: savedTabProvider.listOfSavedDesignResources[i].data['description'],
73+
resourceUrl: savedTabProvider.listOfSavedDesignResources[i].data['url'],
74+
)
75+
.animate()
76+
.scaleXY(
77+
begin: 0.2,
78+
alignment: Alignment.bottomLeft,
79+
)
80+
.then()
81+
.saturate(begin: 0, delay: 100.ms, duration: 400.ms)
82+
.animate(target: i == 1 ? 1 : 0)
83+
.shake(delay: 800.ms, hz: 5)
84+
],
85+
),
7186
),
7287
],
7388
),

0 commit comments

Comments
 (0)