Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
172 commits
Select commit Hold shift + click to select a range
3d1babf
refactor(FormBase): simplify context usage and improve slot bindings
oguzhanbukcuoglu Mar 27, 2026
de8e1b3
fix(Form): update form validation handling and model binding
oguzhanbukcuoglu Mar 27, 2026
c9db616
feat(CSRF): implement CSRF token handling in form submissions and axi…
oguzhanbukcuoglu Mar 27, 2026
fff2a14
feat(OtpInput): add OtpInputHydrate class for OTP input handling
oguzhanbukcuoglu Mar 27, 2026
6238526
feat(Revision): add source_revision_id to fillable fields and impleme…
celikerde Mar 28, 2026
5ef4575
feat(HasRevisions): implement revision management trait for entities
celikerde Mar 28, 2026
2634c48
feat(RevisionsTrait): add trait for managing revisions with creation,…
celikerde Mar 28, 2026
300b757
test(HasRevisionTest, RevisionTest, RevisionsTraitTest): add comprehe…
celikerde Mar 28, 2026
48ba598
feat(ManageUtilities): add revision management data to form response
celikerde Mar 28, 2026
7ee785b
feat(BaseController): add restoreRevision method for handling revisio…
celikerde Mar 28, 2026
8b14cc4
feat(RouteServiceProvider): enable 'restoreRevision' macro for revisi…
celikerde Mar 28, 2026
7fca364
feat(previews): add generic preview components for dynamic module pre…
celikerde Mar 28, 2026
08843f8
feat(RevisionsList): implement RevisionsList component for displaying…
celikerde Mar 28, 2026
34beefd
feat(Form): enhance form component with revision management and previ…
celikerde Mar 28, 2026
5929117
fix(SvgIcon): enhance SvgIcon component with improved styling and str…
oguzhanbukcuoglu Mar 30, 2026
2442311
refactor(User): replace HasRoles trait with Rolable and streamline ro…
oguzhanbukcuoglu Mar 30, 2026
ae2e401
fix(MakeInputHydrateCommand): correct argument description for input …
oguzhanbukcuoglu Mar 30, 2026
4a43a59
feat(Register): use configurable default role for user registration
oguzhanbukcuoglu Mar 31, 2026
8598744
refactor(auth): streamline authentication handling with centralized r…
oguzhanbukcuoglu Mar 31, 2026
ff7e410
fix(auth): enhance authentication handling for Inertia and AJAX requests
oguzhanbukcuoglu Mar 31, 2026
bb88148
fix(auth): enhance google oauth button flex
oguzhanbukcuoglu Mar 31, 2026
f759aa5
feat(StepUpChallenge): add StepUpChallenge component for OTP verifica…
oguzhanbukcuoglu Apr 1, 2026
cde57c0
fix(api): update validateStatus to include 428 status for POST and PU…
oguzhanbukcuoglu Apr 1, 2026
6009b01
feat(useInputFetch): enhance input fetching with configurable keys fo…
oguzhanbukcuoglu Apr 1, 2026
11a7856
feat(useForm): implement step-up verification handling in form submis…
oguzhanbukcuoglu Apr 1, 2026
4455fc4
feat(auth): implement MFA setup and authentication handling
oguzhanbukcuoglu Apr 1, 2026
574e163
feat(ModularityRoutes): add dynamic middleware management
oguzhanbukcuoglu Apr 1, 2026
3300548
feat(security): implement capabilities and step-up verification system
oguzhanbukcuoglu Apr 1, 2026
4b82546
test(security): add unit tests for MFA and field permission checks
oguzhanbukcuoglu Apr 1, 2026
91011b9
chore(dependencies): add pragmarx/google2fa package for multi-factor …
oguzhanbukcuoglu Apr 1, 2026
795fb3b
feat(database): add Google 2FA fields to users table for multi-factor…
oguzhanbukcuoglu Apr 1, 2026
4a2e945
refactor(HasRevisions, RevisionsTrait): update visibility and add new…
celikerde Apr 2, 2026
fb48459
feat(ManagePreview): add ManagePreview trait for handling preview and…
celikerde Apr 2, 2026
96972dd
refactor(BaseController): integrate ManagePreview trait and remove ob…
celikerde Apr 2, 2026
0f31863
feat(RevisionHydrate): implement RevisionHydrate class for input hand…
celikerde Apr 2, 2026
17be84b
feat(Module, RouteServiceProvider): add new routes for revision manag…
celikerde Apr 2, 2026
7c4c0d3
feat(Revision): create Revision component for displaying individual r…
celikerde Apr 2, 2026
fa1df1f
Merge branch 'feature/add-cms-module' into feature/add-revision-struc…
oguzhanbukcuoglu Apr 2, 2026
6fd007a
Merge pull request #344 from unusualify/feature/add-revision-structur…
oguzhanbukcuoglu Apr 2, 2026
e2eab16
feat(useForm): enhance form handling with user role checks and schema…
oguzhanbukcuoglu Apr 8, 2026
dc547af
Merge commit 'b95edf9a477fb5c9cc9616d1288037a191139535' into feature/…
oguzhanbukcuoglu Apr 8, 2026
fb70c20
feat(Rolable): add hasPermission method for permission checks
oguzhanbukcuoglu Apr 8, 2026
4ac2023
feat(Module, Permission): enhance permission management functionality
oguzhanbukcuoglu Apr 9, 2026
0b47618
refactor(Permission Management): streamline middleware handling and p…
oguzhanbukcuoglu Apr 9, 2026
5d151d9
feat(Validation): introduce custom ValidationException and factory fo…
oguzhanbukcuoglu Apr 9, 2026
9896f97
refactor(Form): remove RevisionsList and associated restore revision …
oguzhanbukcuoglu Apr 9, 2026
d14a5e5
feat(Locale, CustomFormBase, FormBaseField): add obj prop to componen…
oguzhanbukcuoglu Apr 9, 2026
bfee78a
refactor(useValidation): streamline return structure and clean up unu…
oguzhanbukcuoglu Apr 9, 2026
c516dd8
refactor(useUser): update user role checks to utilize store getters
oguzhanbukcuoglu Apr 9, 2026
eda1617
refactor(useFormBase): introduce useFormBase and useFormBaseLogic hoo…
oguzhanbukcuoglu Apr 9, 2026
0572ef3
feat(Form Hooks): introduce useForm, useFormResponseStatus, useRespon…
oguzhanbukcuoglu Apr 9, 2026
19c4c8a
refactor(Form): reorganize form hooks and remove deprecated components
oguzhanbukcuoglu Apr 9, 2026
50e708d
feat(Slug Validation): add SlugInputValidationController and related …
oguzhanbukcuoglu Apr 9, 2026
c2ac417
fix(TranslationsTrait): add afterSaveTranslationsTrait method for tim…
celikerde Apr 9, 2026
6e680af
feat(Revision Management): implement revision approval and rejection …
oguzhanbukcuoglu Apr 13, 2026
efe5265
feat(useModal): add scrollStrategy prop for improved modal behavior
oguzhanbukcuoglu Apr 13, 2026
7eaaffe
fix(useFormResponseStatus): correct early return logic for handled st…
oguzhanbukcuoglu Apr 13, 2026
27c7c82
feat(Modal): add scrollStrategy prop to Modal component for improved …
oguzhanbukcuoglu Apr 13, 2026
1fe9177
feat(Revision Component): add Revision.vue for managing revision work…
oguzhanbukcuoglu Apr 13, 2026
e0d7085
fix(File & Image Components): update mediableActive assignment to use…
oguzhanbukcuoglu Apr 13, 2026
7a2cc97
fix(api/form): remove CSRF token wrapping from post and put requests
oguzhanbukcuoglu Apr 13, 2026
caf4095
feat(Slug Input Validation): add SlugInputValidationService for slug …
oguzhanbukcuoglu Apr 13, 2026
e6373ee
refactor(AuthServiceProvider): streamline permission checks in Gate d…
oguzhanbukcuoglu Apr 13, 2026
389cf4a
refactor(PanelController & FormSchema): move form properties to FormS…
oguzhanbukcuoglu Apr 13, 2026
21244bd
refactor(ManagePreview): enhance previewForRevision method to include…
oguzhanbukcuoglu Apr 13, 2026
f04e5a2
refactor(FilepondManager): enhance image preview handling and add HEI…
oguzhanbukcuoglu Apr 13, 2026
5dcb0bf
feat(Form Component): add FormSecondaryInputs for enhanced input hand…
oguzhanbukcuoglu Apr 13, 2026
648ed3f
feat(RevisionHydrate): add isSecondary property for enhanced input ha…
oguzhanbukcuoglu Apr 13, 2026
2680299
refactor(handleInputEvents): improve field handling and event processing
oguzhanbukcuoglu Apr 13, 2026
42bf94a
refactor(CustomFormBase): reintroduce v-input-locale for translated s…
oguzhanbukcuoglu Apr 15, 2026
282aa17
refactor(Form): extract getActiveContentLocale utility for improved l…
oguzhanbukcuoglu Apr 15, 2026
188f440
feat(Revision): enhance language handling in revision comparison
oguzhanbukcuoglu Apr 15, 2026
1e024fe
feat(Slug Management): enhance slug handling and active state management
oguzhanbukcuoglu Apr 15, 2026
ac406ce
feat(TableFormatterCell): enhance v-switch binding for dynamic format…
oguzhanbukcuoglu Apr 18, 2026
cc2beb9
feat(Flash Warnings): implement non-blocking warning handling in Inertia
oguzhanbukcuoglu Apr 18, 2026
6296367
refactor(Slugs and Translations): enhance slug handling and translati…
oguzhanbukcuoglu Apr 18, 2026
db5bd5b
refactor(Routing): reorganize controller namespaces for improved stru…
oguzhanbukcuoglu Apr 20, 2026
506e083
refactor(API Traits): introduce comprehensive API traits for enhanced…
oguzhanbukcuoglu Apr 20, 2026
7258620
refactor(FormEvents): enhance formEvents layout and functionality
oguzhanbukcuoglu Apr 21, 2026
47ed098
refactor(ImpersonateController): update controller namespace for cons…
oguzhanbukcuoglu Apr 21, 2026
47dea0e
Refactor documentation structure and content for Modularous
celikerde Apr 29, 2026
8f1058b
Add broadcasting documentation: overview, testing, and troubleshooting
celikerde Apr 29, 2026
a36e2d7
docs(docs): remove deprecated command documentation files
celikerde Apr 29, 2026
8fa55a7
docs(docs): add documentation for new components in Modularous
celikerde Apr 29, 2026
7c4ec67
docs(docs): add comprehensive documentation for new console commands
celikerde Apr 29, 2026
f9b1089
docs(custom-auth-pages): update sidebar positions and correct typos i…
celikerde Apr 29, 2026
3690673
docs(form-inputs): add comprehensive documentation for new input comp…
celikerde Apr 29, 2026
65ca3ff
docs(generics): reorganize and enhance documentation for generics fea…
celikerde Apr 29, 2026
6b762d0
docs(module-features): update sidebar positions and add overview docu…
celikerde Apr 29, 2026
96ce234
docs(recipes): add comprehensive recipes for CRUD module, custom inpu…
celikerde Apr 29, 2026
c33c914
docs(guide): replace index.md with overview.md for improved documenta…
celikerde Apr 29, 2026
f429936
docs(vitepress): update project references and improve sidebar structure
celikerde Apr 29, 2026
ba8a10e
docs(index): update project name and links for consistency
celikerde Apr 29, 2026
119eccd
docs(command): add DocsAuditCommand and corresponding tests for docum…
celikerde Apr 29, 2026
0efe54c
docs(activators): add detailed documentation for ModularityActivator …
celikerde Apr 29, 2026
e614804
docs(brokers): add comprehensive documentation for registration brokers
celikerde Apr 29, 2026
fb3fac4
docs(entities): add comprehensive documentation for various entities
celikerde Apr 29, 2026
aee7e1c
docs(entity-traits): add detailed documentation for entity traits
celikerde Apr 29, 2026
b60e879
docs(events): add comprehensive documentation for events and listeners
celikerde Apr 29, 2026
a702669
docs(facades): add comprehensive documentation for Modularous facades
celikerde Apr 29, 2026
c6e9482
docs(generators): add comprehensive documentation for Modularous gene…
celikerde Apr 29, 2026
173b9db
docs(helpers): add comprehensive documentation for Modularous helper …
celikerde Apr 29, 2026
e0580ec
docs(https): add comprehensive documentation for Modularous controllers
celikerde Apr 29, 2026
4df234c
docs(notifications): add comprehensive documentation for Auth and Sys…
celikerde Apr 29, 2026
3237998
docs(providers): add comprehensive documentation for Modularous servi…
celikerde Apr 29, 2026
9595820
docs(traits): add comprehensive documentation for repository traits
celikerde Apr 29, 2026
808229c
docs(schedulers): add comprehensive documentation for ChatableSchedul…
celikerde Apr 29, 2026
6031c5b
docs(services): add comprehensive documentation for Modularous services
celikerde Apr 29, 2026
fb0b107
docs(support): add comprehensive documentation for support classes
celikerde Apr 29, 2026
0bdcdaa
docs(backend): add comprehensive documentation for backend architectu…
celikerde Apr 29, 2026
3e6e184
docs(table): add comprehensive documentation for table composables
celikerde Apr 29, 2026
d81c7dc
docs(frontend-composables): add comprehensive documentation for front…
celikerde Apr 29, 2026
7656d3a
docs(api): update references and correct naming in documentation
celikerde Apr 29, 2026
118c293
refactor(ModularityTest): remove obsolete test file
oguzhanbukcuoglu Apr 29, 2026
7f63bd2
feat(TableActions): enhance tooltip display with conditional rendering
oguzhanbukcuoglu Apr 29, 2026
3789e89
chore(Module): improve type hinting and code formatting
oguzhanbukcuoglu Apr 30, 2026
9dd2155
feat(IsSingular): add scopeVisible method for date-based visibility f…
oguzhanbukcuoglu Apr 30, 2026
9c7e15d
refactor(Finder): improve class name resolution and add utility method
oguzhanbukcuoglu Apr 30, 2026
fbcecc2
refactor(SchemaParser): improve trait resolution logic
oguzhanbukcuoglu Apr 30, 2026
d4eda17
refactor(ManageModuleRoute): add module route validation method and s…
oguzhanbukcuoglu Apr 30, 2026
891a9b5
refactor(ManageTraits): simplify model retrieval logic
oguzhanbukcuoglu Apr 30, 2026
7f34b11
feat(BulkSheet): implement CSV bulk import/export functionality
oguzhanbukcuoglu Apr 30, 2026
451354b
feat(Publishable): introduce Publishable trait and metadata support
oguzhanbukcuoglu May 6, 2026
e5f47f5
feat(TranslatableMetadata): add translatable metadata support for models
oguzhanbukcuoglu May 6, 2026
90c40e2
feat(TableActions): invoke trait methods after setting table actions
oguzhanbukcuoglu May 6, 2026
d8ea822
feat(MakesResponses): add handleResponse method for response processing
oguzhanbukcuoglu May 6, 2026
2730c34
refactor(Model): reorganize traits and introduce HasPresenter trait
oguzhanbukcuoglu May 6, 2026
651fc1a
feat(MigrationsHelpers): enhance migration helpers with publishable a…
oguzhanbukcuoglu May 6, 2026
58505aa
feat(InputHandlers): enhance input event handling with update functio…
oguzhanbukcuoglu May 6, 2026
088a2e6
feat(IsSingular): correct date field names in visibility scope
oguzhanbukcuoglu May 6, 2026
8097582
refactor(HasRevisions): remove HasRevisions trait to streamline codebase
oguzhanbukcuoglu May 6, 2026
f96b503
feat(InputHydrate): add translated properties support and update inpu…
oguzhanbukcuoglu May 6, 2026
de9b814
feat(ModuleRouteModelHydrate): implement new hydrate class for module…
oguzhanbukcuoglu May 6, 2026
f22c0f7
feat(FilesTrait): add file existence check before attaching files
oguzhanbukcuoglu May 6, 2026
655d332
refactor(RevisionsTrait): simplify update method and remove unnecessa…
oguzhanbukcuoglu May 6, 2026
b8d32b3
refactor(TranslationsTrait): simplify translation field handling
oguzhanbukcuoglu May 6, 2026
7b8bb6d
feat(SlugHydrate, SlugsTrait, SlugInputValidationService, Slug.vue, L…
oguzhanbukcuoglu May 6, 2026
6ab629e
fix(useValidation): improve validation rules for array and string types
oguzhanbukcuoglu May 7, 2026
9fa22f2
fix(FormSecondaryInputs): add auto-hide feature for input details
oguzhanbukcuoglu May 7, 2026
fa78e83
feat(Form): add FormPublicLinks and FormSignedPublicPreview components
oguzhanbukcuoglu May 7, 2026
ca2e951
feat(unusualify): update theme colors for improved aesthetics
oguzhanbukcuoglu May 7, 2026
d61f08f
feat(CMS): introduce foundational CMS module with configuration and r…
oguzhanbukcuoglu May 7, 2026
160411a
feat(Validation): introduce custom Validator for placeholder normaliz…
oguzhanbukcuoglu May 7, 2026
2271b28
refactor(Translator): clean up getTranslations method by removing unu…
oguzhanbukcuoglu May 7, 2026
d7dc3c4
feat(AuthFormBuilder): add block property to account button slot for …
oguzhanbukcuoglu May 7, 2026
0448fb4
feat(Slug): add slug generation endpoint and enhance slug management
oguzhanbukcuoglu May 7, 2026
f841687
refactor(FormPageUtility): update getRepositoryItem method to return …
oguzhanbukcuoglu May 7, 2026
d0443dc
feat(ManagePreview): enhance preview functionality with locale handling
oguzhanbukcuoglu May 7, 2026
63f52b5
feat(Pages): add ParentSegments, Promotion, and SiteSeo components
oguzhanbukcuoglu May 7, 2026
3fcf3cf
feat(Translations): add bulk import/export messages and signed previe…
oguzhanbukcuoglu May 7, 2026
f2402a6
feat(Translations): add new message keys for user notifications and S…
oguzhanbukcuoglu May 7, 2026
2de8f9c
test(Test Plan): introduce comprehensive frontend test plan for Vue p…
oguzhanbukcuoglu May 7, 2026
2009b96
feat(Dependencies): update package-lock and package.json with new lib…
oguzhanbukcuoglu May 7, 2026
915e74c
feat(Dependencies): add mcamara/laravel-localization package
oguzhanbukcuoglu May 7, 2026
b89292a
feat(Navigation): comment out CMS-related menu items for future refer…
oguzhanbukcuoglu May 7, 2026
1691f73
feat(Translations): update validation messages to use placeholder syntax
oguzhanbukcuoglu May 7, 2026
c86356a
feat(Merges): add new module route features for CMR, Parent Segment, …
oguzhanbukcuoglu May 7, 2026
c6f977e
chore(EditorConfig): update max line length setting for markdown files
oguzhanbukcuoglu May 7, 2026
5726a99
docs(Docs): add comprehensive configuration documentation for Modularity
oguzhanbukcuoglu May 7, 2026
6a97ebc
docs(MODULES): add documentation for module system and structure
oguzhanbukcuoglu May 7, 2026
6685e8d
docs(SECURITY_SERVICES): add overview documentation for security serv…
oguzhanbukcuoglu May 7, 2026
76e7046
docs(SITEMAP_PLAN): add initial draft for sitemap system requirements…
oguzhanbukcuoglu May 7, 2026
966ecce
docs(PINIA_MIGRATION): add migration guide for transitioning from Vue…
oguzhanbukcuoglu May 7, 2026
79e121e
test(RevisionTests): rename source_revision_id to source_id and updat…
oguzhanbukcuoglu May 7, 2026
e311709
Merge pull request #346 from unusualify/bugfix/correct-last-updated-c…
unusual-enterprise May 8, 2026
ac4f587
Merge pull request #347 from unusualify/docs/plan-and-complete-docume…
unusual-enterprise May 8, 2026
eed400c
Merge branch 'dev' into feature/add-cms-module
unusual-enterprise May 8, 2026
623969b
test(docs): add phpunit configuration file for documentation tests
oguzhanbukcuoglu May 8, 2026
c9aa630
Merge pull request #348 from unusualify/feature/add-cms-module
unusual-enterprise May 8, 2026
734dd51
Merge remote-tracking branch 'origin/0.x' into dev
oguzhanbukcuoglu May 8, 2026
55826a8
feat(TableItem): add method to retrieve index appends configuration
oguzhanbukcuoglu May 11, 2026
7dfab41
Merge remote-tracking branch 'origin/0.x' into dev
oguzhanbukcuoglu Jun 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,14 @@
"laravel/telescope": "^4.0|^5.0",
"laravel/ui": "^4.2",
"league/glide-laravel": "^1.0",
"mcamara/laravel-localization": "^1.8|^2.0",
"nwidart/laravel-modules": "^8.0|^9.0|^10.0",
"oobook/manage-eloquent": "^1.0",
"oobook/post-redirector": "^1.0",
"oobook/priceable": "^1.0",
"oobook/snapshot": "^2.0",
"orangehill/iseed": "^3.0",
"pragmarx/google2fa": "^8.0",
"spatie/laravel-activitylog": "^3.0|^4.0",
"spatie/laravel-permission": "^5.0",
"spatie/once": "^2.0|^3.0",
Expand Down
132 changes: 130 additions & 2 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions config/config.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
'admin_route_name_prefix' => env('ADMIN_ROUTE_NAME_PREFIX', 'admin'),
'app_theme' => env('VUE_APP_THEME', 'unusualify'),
'available_user_locales' => explode(',', env('MODULARITY_AVAILABLE_USER_LOCALES', 'en')),
'default_register_role' => env('MODULARITY_DEFAULT_REGISTER_ROLE', 'client-manager'),

'version' => '1.0.0',
'auth_login_redirect_path' => '/',
Expand Down
32 changes: 32 additions & 0 deletions config/defers/auth_pages.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,38 @@
'formSlotsPreset' => 'login_options',
'slotsPreset' => 'login_bottom',
],
'login_mfa' => [
'pageTitle' => 'authentication.login',
'layoutPreset' => 'minimal',
'formDraft' => 'login_email_form',
'actionRoute' => 'admin.login',
'formTitle' => 'authentication.login-title',
'buttonText' => 'authentication.sign-in',
'formSlotsPreset' => 'login_mfa_options',
'slotsPreset' => 'login_mfa_bottom',
],
'login_2fa' => [
'pageTitle' => 'authentication.verify-login',
'layoutPreset' => 'minimal',
'formDraft' => 'login_2fa_form',
'actionRoute' => 'admin.login-2fa',
'formTitle' => 'authentication.verify-login',
'buttonText' => 'authentication.login',
'formSlotsPreset' => 'login_2fa_options',
'formOverrides' => ['noValidation' => true],
'slotsPreset' => null,
],
'step_up' => [
'pageTitle' => 'authentication.verify-login',
'layoutPreset' => 'minimal',
'formDraft' => 'step_up_form',
'actionRoute' => 'admin.step-up.verify',
'formTitle' => 'authentication.verify-login',
'buttonText' => 'authentication.login',
'formSlotsPreset' => 'step_up_options',
'formOverrides' => ['noValidation' => true, 'async' => false],
'slotsPreset' => null,
],
'register' => [
'pageTitle' => 'authentication.register',
'layoutPreset' => 'banner',
Expand Down
42 changes: 42 additions & 0 deletions config/defers/form_drafts.php
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,48 @@
'hideDetails' => 'auto',
],
],
'login_email_form' => [
'email' => [
'type' => 'text',
'name' => 'email',
'label' => 'E-mail',
'hint' => 'enter @example.com',
'default' => '',
'col' => [
'lg' => 12,
],
'rules' => [
['email', '', 'E-mail must be valid'],
],
'validateOn' => 'lazy blur',
],
],
'login_2fa_form' => [
'verify_code' => [
'type' => 'otp-input',
'name' => 'verify-code',
'label' => 'One Time Password',
'default' => '',
'col' => [
'lg' => 12,
],
'length' => env('MODULARITY_SECURITY_MFA_EMAIL_OTP_LENGTH', 6),
'rules' => 'required',
],
],
'step_up_form' => [
'verify_code' => [
'type' => 'otp-input',
'name' => 'verify-code',
'label' => 'Verification Code',
'default' => '',
'col' => [
'lg' => 12,
],
'length' => 6,
'rules' => 'required',
],
],
'forgot_password_form' => [
'email' => [
'type' => 'text',
Expand Down
15 changes: 15 additions & 0 deletions config/defers/navigation.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,21 @@
'icon' => '$header',
],
...Navigation::modulesMenu(),
// '_cms_promotion' => [
// 'name' => 'CMS promotion',
// 'icon' => 'mdi-rocket-launch-outline',
// 'route_name' => 'admin.system.cms.promotion.tool',
// ],
// '_cms_site_seo' => [
// 'name' => 'Site SEO',
// 'icon' => 'mdi-robot-outline',
// 'route_name' => 'admin.system.cms.siteSeo.tool',
// ],
// '_cms_sitemap' => [
// 'name' => 'Sitemap',
// 'icon' => 'mdi-sitemap',
// 'route_name' => 'admin.system.cms.sitemap.index',
// ],
'_system_settings' => [
'name' => 'System Settings',
'icon' => '$header',
Expand Down
9 changes: 9 additions & 0 deletions config/merges/cms_features.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?php

return [
// Infrastructure registration toggles for CMS facilities.
// Feature behavior remains controlled by security/cms_promotion/cms_seo/cms_routing.
'enabled' => env('MODULARITY_CMS_FEATURES_ENABLED', true),
'register_contracts' => env('MODULARITY_CMS_REGISTER_CONTRACTS', true),
'register_middlewares' => env('MODULARITY_CMS_REGISTER_MIDDLEWARES', true),
];
12 changes: 12 additions & 0 deletions config/merges/cms_parent_segments.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?php

return [
/**
* URL parent prefix bindings: one row per model class + locale (unique on target_model_class + locale).
* {@code normalized_prefix} may be left blank for a locale-root homepage (see {@see \Modules\Cms\Support\ParentSegmentBindingValidator} exclusivity rule).
*
* @see \Modules\Cms\Services\CmsParentSegmentResolver
* @see \Modules\Cms\Entities\ParentSegment
*/
'enabled' => env('MODULARITY_CMS_PARENT_SEGMENTS_ENABLED', true),
];
45 changes: 45 additions & 0 deletions config/merges/cms_promotion.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?php

return [
'enabled' => env('MODULARITY_CMS_PROMOTION_ENABLED', false),

'dry_run_required' => env('MODULARITY_CMS_PROMOTION_DRY_RUN_REQUIRED', true),

'scope' => [
'settings' => env('MODULARITY_CMS_PROMOTION_SCOPE_SETTINGS', true),
'content' => env('MODULARITY_CMS_PROMOTION_SCOPE_CONTENT', true),
'seo' => env('MODULARITY_CMS_PROMOTION_SCOPE_SEO', true),
'redirects' => env('MODULARITY_CMS_PROMOTION_SCOPE_REDIRECTS', true),
'layouts' => env('MODULARITY_CMS_PROMOTION_SCOPE_LAYOUTS', true),
],

'approval' => [
'enabled' => env('MODULARITY_CMS_PROMOTION_APPROVAL_ENABLED', true),
'roles' => array_filter(array_map('trim', explode(',', env('MODULARITY_CMS_PROMOTION_APPROVER_ROLES', 'superadmin,admin')))),
'emails' => array_filter(array_map('trim', explode(',', env('MODULARITY_CMS_PROMOTION_APPROVER_EMAILS', '')))),
'checkpoint_label' => env('MODULARITY_CMS_PROMOTION_CHECKPOINT_LABEL', 'cms-promotion-approval'),
],

/**
* Optional second Laravel DB connection (e.g. `staging`, `mysql_prod`) for dry-run **count deltas** vs default.
* Does not copy data — read-only snapshots. Restrict with `allowed_connections` in production.
*/
'compare' => [
'connection' => env('MODULARITY_CMS_PROMOTION_COMPARE_CONNECTION', ''),
'label' => env('MODULARITY_CMS_PROMOTION_COMPARE_LABEL', 'target'),
/** Non-empty = only these connection names may be used for compare (e.g. ['staging','mysql_uat']) */
'allowed_connections' => array_values(array_filter(array_map('trim', explode(',', env('MODULARITY_CMS_PROMOTION_COMPARE_ALLOWED', ''))))),
/** When true, include full secondary snapshot in API (large JSON). Default: deltas only. */
'include_full_target_snapshot' => env('MODULARITY_CMS_PROMOTION_COMPARE_INCLUDE_TARGET', false),
],

'execute' => [
/** When true, runs Cache::flush() after modularity cache (use with care). */
'flush_laravel_cache' => env('MODULARITY_CMS_PROMOTION_FLUSH_LARAVEL_CACHE', false),
],

'audit' => [
'activity_log' => env('MODULARITY_CMS_PROMOTION_AUDIT_ACTIVITY', true),
'log_channel' => env('MODULARITY_CMS_PROMOTION_AUDIT_LOG_CHANNEL', 'modularity'),
],
];
Loading
Loading