Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions framework/SimpleModule.DevTools/ViteDevWatchService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken)
moduleDir,
FrontendExtensions,
ShouldIgnoreModulePath,
() => RunBuild(moduleName, "npx vite build", moduleDir)
() => RunBuild(moduleName, "npx vite build --configLoader runner", moduleDir)
);
LogWatchingModule(logger, moduleName, moduleDir);
}
Expand All @@ -74,7 +74,7 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken)
clientAppDir,
FrontendExtensions,
ShouldIgnoreClientAppPath,
() => RunBuild("ClientApp", "npx vite build", clientAppDir)
() => RunBuild("ClientApp", "npx vite build --configLoader runner", clientAppDir)
);
LogWatchingClientApp(logger, clientAppDir);
}
Expand Down
152 changes: 152 additions & 0 deletions modules/Admin/src/SimpleModule.Admin/Locales/en.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
{
"Users.Title": "Users",
"Users.TotalCount": "{count} total users",
"Users.CreateButton": "Create User",
"Users.SearchPlaceholder": "Search by name or email...",
"Users.SearchButton": "Search",
"Users.AllStatuses": "All statuses",
"Users.StatusActive": "Active",
"Users.StatusLocked": "Locked",
"Users.StatusDeactivated": "Deactivated",
"Users.AllRoles": "All roles",
"Users.ColName": "Name",
"Users.ColEmail": "Email",
"Users.ColRoles": "Roles",
"Users.ColStatus": "Status",
"Users.ColCreated": "Created",
"Users.EditButton": "Edit",
"Users.Unverified": "unverified",
"Users.EmptyTitle": "No users found",
"Users.EmptyDescription": "Get started by creating your first user.",
"Users.EmptySearch": "No users matching \"{search}\".",
"Users.Pagination": "Page {page} of {totalPages}",
"Users.PreviousButton": "Previous",
"Users.NextButton": "Next",
"UsersCreate.BreadcrumbUsers": "Users",
"UsersCreate.BreadcrumbCreate": "Create User",
"UsersCreate.Title": "Create User",
"UsersCreate.ErrorPasswordMismatch": "Passwords do not match.",
"UsersCreate.ErrorCreateFailed": "Failed to create user. The email may already be in use or the password does not meet requirements.",
"UsersCreate.FieldDisplayName": "Display Name",
"UsersCreate.FieldEmail": "Email",
"UsersCreate.FieldPassword": "Password",
"UsersCreate.FieldConfirmPassword": "Confirm Password",
"UsersCreate.FieldEmailConfirmed": "Email confirmed",
"UsersCreate.FieldRoles": "Roles",
"UsersCreate.SubmitButton": "Create User",
"UsersEdit.BreadcrumbUsers": "Users",
"UsersEdit.BreadcrumbEdit": "Edit User",
"UsersEdit.Title": "Edit User",
"UsersEdit.BadgeYou": "You",
"UsersEdit.BadgeDeactivated": "Deactivated",
"UsersEdit.BadgeLocked": "Locked",
"UsersEdit.TabDetails": "Details",
"UsersEdit.TabRoles": "Roles & Permissions",
"UsersEdit.TabSecurity": "Security",
"UsersEdit.TabSessions": "Sessions",
"UsersEdit.DetailsTitle": "Details",
"UsersEdit.FieldDisplayName": "Display Name",
"UsersEdit.FieldEmail": "Email",
"UsersEdit.FieldEmailConfirmed": "Email confirmed",
"UsersEdit.SaveDetailsButton": "Save Details",
"UsersEdit.AccountStatusTitle": "Account Status",
"UsersEdit.AccountDeactivatedMessage": "This account has been deactivated.",
"UsersEdit.ReactivateButton": "Reactivate Account",
"UsersEdit.CannotDeactivateSelf": "You cannot deactivate your own account.",
"UsersEdit.DeactivateWarning": "Deactivating will lock the account and prevent login.",
"UsersEdit.DeactivateButton": "Deactivate Account",
"UsersEdit.RolesTitle": "Roles",
"UsersEdit.NoRolesDefined": "No roles defined.",
"UsersEdit.SaveRolesButton": "Save Roles",
"UsersEdit.DirectPermissionsTitle": "Direct Permissions",
"UsersEdit.DirectPermissionsDescription": "These permissions are granted directly to this user, bypassing role assignments.",
"UsersEdit.SavePermissionsButton": "Save Permissions",
"UsersEdit.ResetPasswordTitle": "Reset Password",
"UsersEdit.ErrorPasswordMismatch": "Passwords do not match.",
"UsersEdit.FieldNewPassword": "New Password",
"UsersEdit.FieldConfirmPassword": "Confirm Password",
"UsersEdit.ResetPasswordButton": "Reset Password",
"UsersEdit.AccountLockTitle": "Account Lock",
"UsersEdit.AccountLockedMessage": "This account is locked.",
"UsersEdit.UnlockButton": "Unlock Account",
"UsersEdit.CannotLockSelf": "You cannot lock your own account.",
"UsersEdit.AccountActiveMessage": "This account is active.",
"UsersEdit.LockButton": "Lock Account",
"UsersEdit.EmailVerificationTitle": "Email Verification",
"UsersEdit.EmailVerificationStatus": "Status: {status}",
"UsersEdit.EmailVerified": "Verified",
"UsersEdit.EmailNotVerified": "Not verified",
"UsersEdit.ForceReverifyButton": "Force Re-verification",
"UsersEdit.TwoFactorTitle": "Two-Factor Authentication",
"UsersEdit.TwoFactorStatus": "Status: {status}",
"UsersEdit.TwoFactorEnabled": "Enabled",
"UsersEdit.TwoFactorNotEnabled": "Not enabled",
"UsersEdit.Disable2faButton": "Disable 2FA",
"UsersEdit.LoginInfoTitle": "Login Info",
"UsersEdit.FailedLoginAttempts": "Failed login attempts:",
"UsersEdit.LastLogin": "Last login:",
"UsersEdit.LastLoginNever": "Never",
"UsersEdit.CreatedAt": "Created:",
"UsersEdit.ActiveSessionsTitle": "Active Sessions",
"UsersEdit.RevokeAllButton": "Revoke All",
"UsersEdit.NoActiveSessions": "No active sessions.",
"UsersEdit.ColType": "Type",
"UsersEdit.ColApplication": "Application",
"UsersEdit.ColCreated": "Created",
"UsersEdit.ColExpires": "Expires",
"UsersEdit.SessionTypeRefresh": "Refresh",
"UsersEdit.SessionTypeAccess": "Access",
"UsersEdit.SessionExpiresNever": "Never",
"UsersEdit.RevokeButton": "Revoke",
"UsersEdit.ConfirmDeactivateTitle": "Deactivate Account",
"UsersEdit.ConfirmDeactivateDescription": "This user will no longer be able to sign in. Are you sure?",
"UsersEdit.ConfirmDeactivateAction": "Deactivate",
"UsersEdit.ConfirmReverifyTitle": "Force Re-verification",
"UsersEdit.ConfirmReverifyDescription": "This will require the user to re-verify their email address. Are you sure?",
"UsersEdit.ConfirmReverifyAction": "Force Re-verification",
"UsersEdit.ConfirmDisable2faTitle": "Disable Two-Factor Authentication",
"UsersEdit.ConfirmDisable2faDescription": "This will disable 2FA and reset the authenticator for this user. Are you sure?",
"UsersEdit.ConfirmDisable2faAction": "Disable 2FA",
"UsersEdit.ConfirmRevokeAllTitle": "Revoke All Sessions",
"UsersEdit.ConfirmRevokeAllDescription": "This will invalidate all active sessions for this user. They will need to sign in again.",
"UsersEdit.ConfirmRevokeAllAction": "Revoke All",
"UsersEdit.CancelButton": "Cancel",
"Roles.Title": "Roles",
"Roles.Description": "Manage application roles and permissions.",
"Roles.CreateButton": "Create Role",
"Roles.ColName": "Name",
"Roles.ColDescription": "Description",
"Roles.ColUsers": "Users",
"Roles.ColPermissions": "Permissions",
"Roles.ColCreated": "Created",
"Roles.EditButton": "Edit",
"Roles.DeleteButton": "Delete",
"Roles.DeleteDialog.Title": "Delete Role",
"Roles.DeleteDialog.Confirm": "Are you sure you want to delete \"{name}\"? This will remove the role from all users.",
"Roles.DeleteDialog.CancelButton": "Cancel",
"Roles.DeleteDialog.DeleteButton": "Delete",
"Roles.DeleteError": "Cannot delete role with assigned users.",
"RolesCreate.BreadcrumbRoles": "Roles",
"RolesCreate.BreadcrumbCreate": "Create Role",
"RolesCreate.Title": "Create Role",
"RolesCreate.FieldName": "Name",
"RolesCreate.FieldDescription": "Description",
"RolesCreate.FieldPermissions": "Permissions",
"RolesCreate.SubmitButton": "Create Role",
"RolesEdit.BreadcrumbRoles": "Roles",
"RolesEdit.BreadcrumbEdit": "Edit Role",
"RolesEdit.Title": "Edit Role",
"RolesEdit.TabDetails": "Details",
"RolesEdit.TabPermissions": "Permissions",
"RolesEdit.TabUsers": "Users",
"RolesEdit.FieldName": "Name",
"RolesEdit.FieldDescription": "Description",
"RolesEdit.SaveButton": "Save",
"RolesEdit.RolePermissionsTitle": "Role Permissions",
"RolesEdit.SavePermissionsButton": "Save Permissions",
"RolesEdit.AssignedUsersTitle": "Assigned Users ({count})",
"RolesEdit.NoUsersAssigned": "No users assigned to this role.",
"RolesEdit.ColName": "Name",
"RolesEdit.ColEmail": "Email",
"RolesEdit.EditUserButton": "Edit"
}
166 changes: 166 additions & 0 deletions modules/Admin/src/SimpleModule.Admin/Locales/keys.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
export const AdminKeys = {
Roles: {
ColCreated: 'Roles.ColCreated',
ColDescription: 'Roles.ColDescription',
ColName: 'Roles.ColName',
ColPermissions: 'Roles.ColPermissions',
ColUsers: 'Roles.ColUsers',
CreateButton: 'Roles.CreateButton',
DeleteButton: 'Roles.DeleteButton',
DeleteDialog: {
CancelButton: 'Roles.DeleteDialog.CancelButton',
Confirm: 'Roles.DeleteDialog.Confirm',
DeleteButton: 'Roles.DeleteDialog.DeleteButton',
Title: 'Roles.DeleteDialog.Title',
},
DeleteError: 'Roles.DeleteError',
Description: 'Roles.Description',
EditButton: 'Roles.EditButton',
Title: 'Roles.Title',
},
RolesCreate: {
BreadcrumbCreate: 'RolesCreate.BreadcrumbCreate',
BreadcrumbRoles: 'RolesCreate.BreadcrumbRoles',
FieldDescription: 'RolesCreate.FieldDescription',
FieldName: 'RolesCreate.FieldName',
FieldPermissions: 'RolesCreate.FieldPermissions',
SubmitButton: 'RolesCreate.SubmitButton',
Title: 'RolesCreate.Title',
},
RolesEdit: {
AssignedUsersTitle: 'RolesEdit.AssignedUsersTitle',
BreadcrumbEdit: 'RolesEdit.BreadcrumbEdit',
BreadcrumbRoles: 'RolesEdit.BreadcrumbRoles',
ColEmail: 'RolesEdit.ColEmail',
ColName: 'RolesEdit.ColName',
EditUserButton: 'RolesEdit.EditUserButton',
FieldDescription: 'RolesEdit.FieldDescription',
FieldName: 'RolesEdit.FieldName',
NoUsersAssigned: 'RolesEdit.NoUsersAssigned',
RolePermissionsTitle: 'RolesEdit.RolePermissionsTitle',
SaveButton: 'RolesEdit.SaveButton',
SavePermissionsButton: 'RolesEdit.SavePermissionsButton',
TabDetails: 'RolesEdit.TabDetails',
TabPermissions: 'RolesEdit.TabPermissions',
TabUsers: 'RolesEdit.TabUsers',
Title: 'RolesEdit.Title',
},
Users: {
AllRoles: 'Users.AllRoles',
AllStatuses: 'Users.AllStatuses',
ColCreated: 'Users.ColCreated',
ColEmail: 'Users.ColEmail',
ColName: 'Users.ColName',
ColRoles: 'Users.ColRoles',
ColStatus: 'Users.ColStatus',
CreateButton: 'Users.CreateButton',
EditButton: 'Users.EditButton',
EmptyDescription: 'Users.EmptyDescription',
EmptySearch: 'Users.EmptySearch',
EmptyTitle: 'Users.EmptyTitle',
NextButton: 'Users.NextButton',
Pagination: 'Users.Pagination',
PreviousButton: 'Users.PreviousButton',
SearchButton: 'Users.SearchButton',
SearchPlaceholder: 'Users.SearchPlaceholder',
StatusActive: 'Users.StatusActive',
StatusDeactivated: 'Users.StatusDeactivated',
StatusLocked: 'Users.StatusLocked',
Title: 'Users.Title',
TotalCount: 'Users.TotalCount',
Unverified: 'Users.Unverified',
},
UsersCreate: {
BreadcrumbCreate: 'UsersCreate.BreadcrumbCreate',
BreadcrumbUsers: 'UsersCreate.BreadcrumbUsers',
ErrorCreateFailed: 'UsersCreate.ErrorCreateFailed',
ErrorPasswordMismatch: 'UsersCreate.ErrorPasswordMismatch',
FieldConfirmPassword: 'UsersCreate.FieldConfirmPassword',
FieldDisplayName: 'UsersCreate.FieldDisplayName',
FieldEmail: 'UsersCreate.FieldEmail',
FieldEmailConfirmed: 'UsersCreate.FieldEmailConfirmed',
FieldPassword: 'UsersCreate.FieldPassword',
FieldRoles: 'UsersCreate.FieldRoles',
SubmitButton: 'UsersCreate.SubmitButton',
Title: 'UsersCreate.Title',
},
UsersEdit: {
AccountActiveMessage: 'UsersEdit.AccountActiveMessage',
AccountDeactivatedMessage: 'UsersEdit.AccountDeactivatedMessage',
AccountLockTitle: 'UsersEdit.AccountLockTitle',
AccountLockedMessage: 'UsersEdit.AccountLockedMessage',
AccountStatusTitle: 'UsersEdit.AccountStatusTitle',
ActiveSessionsTitle: 'UsersEdit.ActiveSessionsTitle',
BadgeDeactivated: 'UsersEdit.BadgeDeactivated',
BadgeLocked: 'UsersEdit.BadgeLocked',
BadgeYou: 'UsersEdit.BadgeYou',
BreadcrumbEdit: 'UsersEdit.BreadcrumbEdit',
BreadcrumbUsers: 'UsersEdit.BreadcrumbUsers',
CancelButton: 'UsersEdit.CancelButton',
CannotDeactivateSelf: 'UsersEdit.CannotDeactivateSelf',
CannotLockSelf: 'UsersEdit.CannotLockSelf',
ColApplication: 'UsersEdit.ColApplication',
ColCreated: 'UsersEdit.ColCreated',
ColExpires: 'UsersEdit.ColExpires',
ColType: 'UsersEdit.ColType',
ConfirmDeactivateAction: 'UsersEdit.ConfirmDeactivateAction',
ConfirmDeactivateDescription: 'UsersEdit.ConfirmDeactivateDescription',
ConfirmDeactivateTitle: 'UsersEdit.ConfirmDeactivateTitle',
ConfirmDisable2faAction: 'UsersEdit.ConfirmDisable2faAction',
ConfirmDisable2faDescription: 'UsersEdit.ConfirmDisable2faDescription',
ConfirmDisable2faTitle: 'UsersEdit.ConfirmDisable2faTitle',
ConfirmReverifyAction: 'UsersEdit.ConfirmReverifyAction',
ConfirmReverifyDescription: 'UsersEdit.ConfirmReverifyDescription',
ConfirmReverifyTitle: 'UsersEdit.ConfirmReverifyTitle',
ConfirmRevokeAllAction: 'UsersEdit.ConfirmRevokeAllAction',
ConfirmRevokeAllDescription: 'UsersEdit.ConfirmRevokeAllDescription',
ConfirmRevokeAllTitle: 'UsersEdit.ConfirmRevokeAllTitle',
CreatedAt: 'UsersEdit.CreatedAt',
DeactivateButton: 'UsersEdit.DeactivateButton',
DeactivateWarning: 'UsersEdit.DeactivateWarning',
DetailsTitle: 'UsersEdit.DetailsTitle',
DirectPermissionsDescription: 'UsersEdit.DirectPermissionsDescription',
DirectPermissionsTitle: 'UsersEdit.DirectPermissionsTitle',
Disable2faButton: 'UsersEdit.Disable2faButton',
EmailNotVerified: 'UsersEdit.EmailNotVerified',
EmailVerificationStatus: 'UsersEdit.EmailVerificationStatus',
EmailVerificationTitle: 'UsersEdit.EmailVerificationTitle',
EmailVerified: 'UsersEdit.EmailVerified',
ErrorPasswordMismatch: 'UsersEdit.ErrorPasswordMismatch',
FailedLoginAttempts: 'UsersEdit.FailedLoginAttempts',
FieldConfirmPassword: 'UsersEdit.FieldConfirmPassword',
FieldDisplayName: 'UsersEdit.FieldDisplayName',
FieldEmail: 'UsersEdit.FieldEmail',
FieldEmailConfirmed: 'UsersEdit.FieldEmailConfirmed',
FieldNewPassword: 'UsersEdit.FieldNewPassword',
ForceReverifyButton: 'UsersEdit.ForceReverifyButton',
LastLogin: 'UsersEdit.LastLogin',
LastLoginNever: 'UsersEdit.LastLoginNever',
LockButton: 'UsersEdit.LockButton',
LoginInfoTitle: 'UsersEdit.LoginInfoTitle',
NoActiveSessions: 'UsersEdit.NoActiveSessions',
NoRolesDefined: 'UsersEdit.NoRolesDefined',
ReactivateButton: 'UsersEdit.ReactivateButton',
ResetPasswordButton: 'UsersEdit.ResetPasswordButton',
ResetPasswordTitle: 'UsersEdit.ResetPasswordTitle',
RevokeAllButton: 'UsersEdit.RevokeAllButton',
RevokeButton: 'UsersEdit.RevokeButton',
RolesTitle: 'UsersEdit.RolesTitle',
SaveDetailsButton: 'UsersEdit.SaveDetailsButton',
SavePermissionsButton: 'UsersEdit.SavePermissionsButton',
SaveRolesButton: 'UsersEdit.SaveRolesButton',
SessionExpiresNever: 'UsersEdit.SessionExpiresNever',
SessionTypeAccess: 'UsersEdit.SessionTypeAccess',
SessionTypeRefresh: 'UsersEdit.SessionTypeRefresh',
TabDetails: 'UsersEdit.TabDetails',
TabRoles: 'UsersEdit.TabRoles',
TabSecurity: 'UsersEdit.TabSecurity',
TabSessions: 'UsersEdit.TabSessions',
Title: 'UsersEdit.Title',
TwoFactorEnabled: 'UsersEdit.TwoFactorEnabled',
TwoFactorNotEnabled: 'UsersEdit.TwoFactorNotEnabled',
TwoFactorStatus: 'UsersEdit.TwoFactorStatus',
TwoFactorTitle: 'UsersEdit.TwoFactorTitle',
UnlockButton: 'UsersEdit.UnlockButton',
},
} as const;
Loading
Loading