Skip to content

Commit 2c8cf28

Browse files
committed
feat: chat
1 parent cb91063 commit 2c8cf28

28 files changed

Lines changed: 3371 additions & 468 deletions

lib/l10n/app_en.arb

Lines changed: 82 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -829,5 +829,86 @@
829829
}
830830
},
831831
"adminAccountDeleteFailed": "Failed to delete user",
832-
"adminAccountTotalUsers": "users"
832+
"adminAccountTotalUsers": "users",
833+
"storageTitle": "Storage Management",
834+
"storageUploadFile": "Upload File",
835+
"storageRefresh": "Refresh",
836+
"storageNotLoggedIn": "Not logged in",
837+
"storageNoFiles": "No files uploaded",
838+
"storageDeleteFile": "Delete File",
839+
"storageDeleteConfirm": "Delete \"{fileName}\"? This action cannot be undone.",
840+
"@storageDeleteConfirm": {
841+
"placeholders": {
842+
"fileName": {"type": "String"}
843+
}
844+
},
845+
"storageDeleted": "Deleted: {fileName}",
846+
"@storageDeleted": {
847+
"placeholders": {
848+
"fileName": {"type": "String"}
849+
}
850+
},
851+
"storageDeleteFailed": "Delete failed",
852+
"storageUploaded": "Uploaded: {fileName}",
853+
"@storageUploaded": {
854+
"placeholders": {
855+
"fileName": {"type": "String"}
856+
}
857+
},
858+
"storageUploadFailed": "Upload failed",
859+
"storageUploadError": "Upload error",
860+
"storageCouldNotReadFile": "Could not read file",
861+
"storageUsed": "Used",
862+
"storageUnlimited": "Unlimited",
863+
"storageRetry": "Retry",
864+
"adminFileManagement": "File Management",
865+
"adminFileManagementDescription": "View all uploaded files, filter by user, and force delete files.",
866+
"adminFileFilterUid": "Filter by User ID...",
867+
"adminFileFilter": "Filter",
868+
"adminFileFilterClear": "Clear",
869+
"adminFileForceDelete": "Force Delete",
870+
"adminFileForceDeleteTitle": "Force Delete File",
871+
"adminFileForceDeleteConfirm": "Permanently delete \"{fileName}\" (owner: {owner})?\n\nThis removes the file from disk and database regardless of references.",
872+
"@adminFileForceDeleteConfirm": {
873+
"placeholders": {
874+
"fileName": {"type": "String"},
875+
"owner": {"type": "String"}
876+
}
877+
},
878+
"adminFileForceDeleted": "Force deleted: {fileName}",
879+
"@adminFileForceDeleted": {
880+
"placeholders": {
881+
"fileName": {"type": "String"}
882+
}
883+
},
884+
"adminFileForceDeleteFailed": "Force delete failed",
885+
"adminFileNoFiles": "No files on server",
886+
"adminFileNoFilesForUid": "No files found for UID {uid}",
887+
"@adminFileNoFilesForUid": {
888+
"placeholders": {
889+
"uid": {"type": "String"}
890+
}
891+
},
892+
"adminFileSummaryFiles": "Files",
893+
"adminFileSummaryUsers": "Users",
894+
"adminFileSummaryTotal": "Total",
895+
"chatFunctionTabFiles": "Files",
896+
"chatFunctionTabEmoji": "Emoji",
897+
"chatFunctionTabSpecial": "Special",
898+
"chatFunctionTabFilesHint": "Select files to send",
899+
"chatFunctionTabEmojiHint": "Emoji picker coming soon",
900+
"chatFunctionTabSpecialHint": "Special messages coming soon",
901+
"chatFunctionPickFile": "Pick File",
902+
"chatLoading": "Loading...",
903+
"chatInputNotConnected": "Not connected to chat server",
904+
"chatInviteAcceptFailed": "Failed to accept friend request",
905+
"chatInviteRejectFailed": "Failed to reject friend request",
906+
"userProfileFriendRequestHint": "Say hello...",
907+
"userProfileFriendRequestSent": "Friend request sent to {username}",
908+
"@userProfileFriendRequestSent": {
909+
"placeholders": {
910+
"username": {"type": "String"}
911+
}
912+
},
913+
"userProfileFriendRequestFailed": "Failed to send friend request"
833914
}

lib/l10n/app_localizations.dart

Lines changed: 270 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3849,6 +3849,276 @@ abstract class AppLocalizations {
38493849
/// In en, this message translates to:
38503850
/// **'users'**
38513851
String get adminAccountTotalUsers;
3852+
3853+
/// No description provided for @storageTitle.
3854+
///
3855+
/// In en, this message translates to:
3856+
/// **'Storage Management'**
3857+
String get storageTitle;
3858+
3859+
/// No description provided for @storageUploadFile.
3860+
///
3861+
/// In en, this message translates to:
3862+
/// **'Upload File'**
3863+
String get storageUploadFile;
3864+
3865+
/// No description provided for @storageRefresh.
3866+
///
3867+
/// In en, this message translates to:
3868+
/// **'Refresh'**
3869+
String get storageRefresh;
3870+
3871+
/// No description provided for @storageNotLoggedIn.
3872+
///
3873+
/// In en, this message translates to:
3874+
/// **'Not logged in'**
3875+
String get storageNotLoggedIn;
3876+
3877+
/// No description provided for @storageNoFiles.
3878+
///
3879+
/// In en, this message translates to:
3880+
/// **'No files uploaded'**
3881+
String get storageNoFiles;
3882+
3883+
/// No description provided for @storageDeleteFile.
3884+
///
3885+
/// In en, this message translates to:
3886+
/// **'Delete File'**
3887+
String get storageDeleteFile;
3888+
3889+
/// No description provided for @storageDeleteConfirm.
3890+
///
3891+
/// In en, this message translates to:
3892+
/// **'Delete \"{fileName}\"? This action cannot be undone.'**
3893+
String storageDeleteConfirm(String fileName);
3894+
3895+
/// No description provided for @storageDeleted.
3896+
///
3897+
/// In en, this message translates to:
3898+
/// **'Deleted: {fileName}'**
3899+
String storageDeleted(String fileName);
3900+
3901+
/// No description provided for @storageDeleteFailed.
3902+
///
3903+
/// In en, this message translates to:
3904+
/// **'Delete failed'**
3905+
String get storageDeleteFailed;
3906+
3907+
/// No description provided for @storageUploaded.
3908+
///
3909+
/// In en, this message translates to:
3910+
/// **'Uploaded: {fileName}'**
3911+
String storageUploaded(String fileName);
3912+
3913+
/// No description provided for @storageUploadFailed.
3914+
///
3915+
/// In en, this message translates to:
3916+
/// **'Upload failed'**
3917+
String get storageUploadFailed;
3918+
3919+
/// No description provided for @storageUploadError.
3920+
///
3921+
/// In en, this message translates to:
3922+
/// **'Upload error'**
3923+
String get storageUploadError;
3924+
3925+
/// No description provided for @storageCouldNotReadFile.
3926+
///
3927+
/// In en, this message translates to:
3928+
/// **'Could not read file'**
3929+
String get storageCouldNotReadFile;
3930+
3931+
/// No description provided for @storageUsed.
3932+
///
3933+
/// In en, this message translates to:
3934+
/// **'Used'**
3935+
String get storageUsed;
3936+
3937+
/// No description provided for @storageUnlimited.
3938+
///
3939+
/// In en, this message translates to:
3940+
/// **'Unlimited'**
3941+
String get storageUnlimited;
3942+
3943+
/// No description provided for @storageRetry.
3944+
///
3945+
/// In en, this message translates to:
3946+
/// **'Retry'**
3947+
String get storageRetry;
3948+
3949+
/// No description provided for @adminFileManagement.
3950+
///
3951+
/// In en, this message translates to:
3952+
/// **'File Management'**
3953+
String get adminFileManagement;
3954+
3955+
/// No description provided for @adminFileManagementDescription.
3956+
///
3957+
/// In en, this message translates to:
3958+
/// **'View all uploaded files, filter by user, and force delete files.'**
3959+
String get adminFileManagementDescription;
3960+
3961+
/// No description provided for @adminFileFilterUid.
3962+
///
3963+
/// In en, this message translates to:
3964+
/// **'Filter by User ID...'**
3965+
String get adminFileFilterUid;
3966+
3967+
/// No description provided for @adminFileFilter.
3968+
///
3969+
/// In en, this message translates to:
3970+
/// **'Filter'**
3971+
String get adminFileFilter;
3972+
3973+
/// No description provided for @adminFileFilterClear.
3974+
///
3975+
/// In en, this message translates to:
3976+
/// **'Clear'**
3977+
String get adminFileFilterClear;
3978+
3979+
/// No description provided for @adminFileForceDelete.
3980+
///
3981+
/// In en, this message translates to:
3982+
/// **'Force Delete'**
3983+
String get adminFileForceDelete;
3984+
3985+
/// No description provided for @adminFileForceDeleteTitle.
3986+
///
3987+
/// In en, this message translates to:
3988+
/// **'Force Delete File'**
3989+
String get adminFileForceDeleteTitle;
3990+
3991+
/// No description provided for @adminFileForceDeleteConfirm.
3992+
///
3993+
/// In en, this message translates to:
3994+
/// **'Permanently delete \"{fileName}\" (owner: {owner})?\n\nThis removes the file from disk and database regardless of references.'**
3995+
String adminFileForceDeleteConfirm(String fileName, String owner);
3996+
3997+
/// No description provided for @adminFileForceDeleted.
3998+
///
3999+
/// In en, this message translates to:
4000+
/// **'Force deleted: {fileName}'**
4001+
String adminFileForceDeleted(String fileName);
4002+
4003+
/// No description provided for @adminFileForceDeleteFailed.
4004+
///
4005+
/// In en, this message translates to:
4006+
/// **'Force delete failed'**
4007+
String get adminFileForceDeleteFailed;
4008+
4009+
/// No description provided for @adminFileNoFiles.
4010+
///
4011+
/// In en, this message translates to:
4012+
/// **'No files on server'**
4013+
String get adminFileNoFiles;
4014+
4015+
/// No description provided for @adminFileNoFilesForUid.
4016+
///
4017+
/// In en, this message translates to:
4018+
/// **'No files found for UID {uid}'**
4019+
String adminFileNoFilesForUid(String uid);
4020+
4021+
/// No description provided for @adminFileSummaryFiles.
4022+
///
4023+
/// In en, this message translates to:
4024+
/// **'Files'**
4025+
String get adminFileSummaryFiles;
4026+
4027+
/// No description provided for @adminFileSummaryUsers.
4028+
///
4029+
/// In en, this message translates to:
4030+
/// **'Users'**
4031+
String get adminFileSummaryUsers;
4032+
4033+
/// No description provided for @adminFileSummaryTotal.
4034+
///
4035+
/// In en, this message translates to:
4036+
/// **'Total'**
4037+
String get adminFileSummaryTotal;
4038+
4039+
/// No description provided for @chatFunctionTabFiles.
4040+
///
4041+
/// In en, this message translates to:
4042+
/// **'Files'**
4043+
String get chatFunctionTabFiles;
4044+
4045+
/// No description provided for @chatFunctionTabEmoji.
4046+
///
4047+
/// In en, this message translates to:
4048+
/// **'Emoji'**
4049+
String get chatFunctionTabEmoji;
4050+
4051+
/// No description provided for @chatFunctionTabSpecial.
4052+
///
4053+
/// In en, this message translates to:
4054+
/// **'Special'**
4055+
String get chatFunctionTabSpecial;
4056+
4057+
/// No description provided for @chatFunctionTabFilesHint.
4058+
///
4059+
/// In en, this message translates to:
4060+
/// **'Select files to send'**
4061+
String get chatFunctionTabFilesHint;
4062+
4063+
/// No description provided for @chatFunctionTabEmojiHint.
4064+
///
4065+
/// In en, this message translates to:
4066+
/// **'Emoji picker coming soon'**
4067+
String get chatFunctionTabEmojiHint;
4068+
4069+
/// No description provided for @chatFunctionTabSpecialHint.
4070+
///
4071+
/// In en, this message translates to:
4072+
/// **'Special messages coming soon'**
4073+
String get chatFunctionTabSpecialHint;
4074+
4075+
/// No description provided for @chatFunctionPickFile.
4076+
///
4077+
/// In en, this message translates to:
4078+
/// **'Pick File'**
4079+
String get chatFunctionPickFile;
4080+
4081+
/// No description provided for @chatLoading.
4082+
///
4083+
/// In en, this message translates to:
4084+
/// **'Loading...'**
4085+
String get chatLoading;
4086+
4087+
/// No description provided for @chatInputNotConnected.
4088+
///
4089+
/// In en, this message translates to:
4090+
/// **'Not connected to chat server'**
4091+
String get chatInputNotConnected;
4092+
4093+
/// No description provided for @chatInviteAcceptFailed.
4094+
///
4095+
/// In en, this message translates to:
4096+
/// **'Failed to accept friend request'**
4097+
String get chatInviteAcceptFailed;
4098+
4099+
/// No description provided for @chatInviteRejectFailed.
4100+
///
4101+
/// In en, this message translates to:
4102+
/// **'Failed to reject friend request'**
4103+
String get chatInviteRejectFailed;
4104+
4105+
/// No description provided for @userProfileFriendRequestHint.
4106+
///
4107+
/// In en, this message translates to:
4108+
/// **'Say hello...'**
4109+
String get userProfileFriendRequestHint;
4110+
4111+
/// No description provided for @userProfileFriendRequestSent.
4112+
///
4113+
/// In en, this message translates to:
4114+
/// **'Friend request sent to {username}'**
4115+
String userProfileFriendRequestSent(String username);
4116+
4117+
/// No description provided for @userProfileFriendRequestFailed.
4118+
///
4119+
/// In en, this message translates to:
4120+
/// **'Failed to send friend request'**
4121+
String get userProfileFriendRequestFailed;
38524122
}
38534123

38544124
class _AppLocalizationsDelegate

0 commit comments

Comments
 (0)