Skip to content

Implemented UI to list and edit ideas - #123

Merged
david-poindexter merged 6 commits into
DNNCommunity:developfrom
valadas:ideas-ui
Feb 7, 2026
Merged

Implemented UI to list and edit ideas#123
david-poindexter merged 6 commits into
DNNCommunity:developfrom
valadas:ideas-ui

Conversation

@valadas

@valadas valadas commented Feb 7, 2026

Copy link
Copy Markdown
Member
  • Basic list support for ideas (will need extra love which I will create other issues for)
  • Idea detail view when an idea is clicked, this will later have more controls and comments, etc. so it looks a bit empty right now.
  • Same idea detail view allows editing if the current user is the author or an admin.
image image

- Basic list support for ideas (will need extra love which I will create other issues for)
- Idea detail view when an idea is clicked, this will later have more controls and comments, etc. so it looks a bit empty right now.
- Same idea detail view allows editing if the current user is the author or an admin.
@valadas valadas added this to the 0.2.0 milestone Feb 7, 2026
@valadas valadas added the enhancement New feature or request label Feb 7, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds the initial end-to-end “Ideas” UI (list + detail/edit) backed by updated idea view models and localization, wiring navigation via a Stencil router and enhancing server-provided idea metadata (author + created time).

Changes:

  • Introduces Stencil components for listing ideas and viewing/editing a single idea, with hash-based routing.
  • Extends backend Idea view models/mapping to include description and “created by / created since” metadata (Humanizer).
  • Expands localization resources and improves client-side error formatting.

Reviewed changes

Copilot reviewed 41 out of 47 changed files in this pull request and generated 18 comments.

Show a summary per file
File Description
resources/views/view.html Loads the Stencil bundle and passes module/user context into the web component.
resources/App_LocalResources/UI.resx Adds UI strings used by the new ideas list/detail screens.
resources/App_LocalResources/ModelValidation.resx Updates validation resource keys/messages for idea workflows.
module.web/tsconfig.json Adjusts TS compiler options for the updated web build.
module.web/stencil.config.ts Enables source maps for the Stencil build.
module.web/src/store/state.ts Adds global state for localization + current user id.
module.web/src/services/services.ts Updates generated API client models to include new idea/localization fields.
module.web/src/services/alert-error.ts Improves error normalization/formatting (ProblemDetails, ApiException, network errors).
module.web/src/index.ts Adds Stencil router setup for the new UI navigation.
module.web/src/icons/icons.tsx Adds SVG icons used by the new UI.
module.web/src/components/dnnuv-uservoice/readme.md Updates component docs for new props and dependencies.
module.web/src/components/dnnuv-uservoice/dnnuv-uservoice.tsx Initializes state/localization and defines top-level routes.
module.web/src/components/dnnuv-ideas/readme.md Adds autogenerated docs for the ideas list component.
module.web/src/components/dnnuv-ideas/dnnuv-ideas.tsx Implements ideas list UI and “post idea” entry point.
module.web/src/components/dnnuv-ideas/dnnuv-ideas.scss Styles the ideas list layout.
module.web/src/components/dnnuv-idea/readme.md Adds autogenerated docs for the idea detail component.
module.web/src/components/dnnuv-idea/dnnuv-idea.tsx Implements idea detail view + edit/create form behavior.
module.web/src/components/dnnuv-idea/dnnuv-idea.scss Styles the idea detail/edit screen.
module.web/src/components.d.ts Updates Stencil component typings for new components/props.
module.web/package.json Adds router dependency and updates build/lint wiring and deps.
module.web/package-lock.json Locks updated npm dependency tree.
manifest.dnn Adds Humanizer assembly and updates shipped assembly versions.
UnitTests/history/2026-02-07_00-35-36_CoverageHistory.xml Adds unit test coverage snapshot output.
UnitTests/StartupTests.cs Updates DI expectations for new registrations.
UnitTests/Services/Ideas/IdeasServiceTests.cs Updates tests for new IdeaService signature and created-by metadata.
Services/Localization/LocalizationViewModel.cs Adds new UI localization properties.
Services/Localization/LocalizationService.cs Hydrates the new UI localization keys.
Services/Ideas/ViewModels/IdeaViewModel.cs Adds description and corrects namespace for idea list VM.
Services/Ideas/ViewModels/IdeaDetailsViewModel.cs Adds created-by and created-since metadata to idea details VM.
Services/Ideas/Mappers/IdeaMapper.cs Maps idea entities to updated VMs; uses Humanizer for relative time.
Services/Ideas/IdeaService.cs Adds portalId and author lookup for idea details; injects user adapter.
Services/Ideas/IIdeaService.cs Updates interface signature to include portalId and view model types.
Module.csproj Adds Humanizer dependency and embedded resource convention setting.
Migrations/Configuration.cs Removes redundant EF migration ContextKey assignment.
Migrations/202602041849373_InitialCreate.resx Updates migration metadata resource.
Migrations/202602041849373_InitialCreate.cs New initial migration (table name aligned with module prefix).
Migrations/202602041849373_InitialCreate.Designer.cs Updates migration id metadata.
Migrations/202602020254396_InitialCreate.cs Removes the earlier initial migration.
IntegrationTests/history/2026-02-07_00-35-16_CoverageHistory.xml Adds integration test coverage snapshot output.
IntegrationTests/Controllers/IdeaControllerTests.cs Updates integration tests for portal settings and new VMs.
Extensions/ServiceCollectionExtensions.cs Registers HttpContextBase + adapters for request context/user access.
Data/Entities/Idea.cs Switches to EF [Table] attribute for correct table mapping.
Controllers/IdeaController.cs Adjusts context handling and calls updated IdeaService API.
.github/badges/UnitTests/badge_linecoverage.svg Updates reported unit test coverage badge.
.github/badges/UnitTests/badge_branchcoverage.svg Updates reported unit test branch coverage badge.
.github/badges/IntegrationTests/badge_linecoverage.svg Updates reported integration test coverage badge.
.github/badges/IntegrationTests/badge_branchcoverage.svg Updates reported integration test branch coverage badge.
Files not reviewed (1)
  • module.web/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Services/Ideas/IdeaService.cs
Comment thread Services/Ideas/Mappers/IdeaMapper.cs Outdated
Comment thread module.web/src/services/services.ts
Comment thread resources/views/view.html Outdated
Comment thread resources/App_LocalResources/UI.resx Outdated
Comment thread module.web/src/components/dnnuv-ideas/dnnuv-ideas.tsx Outdated
Comment thread module.web/src/services/services.ts
Comment thread module.web/src/components/dnnuv-uservoice/dnnuv-uservoice.tsx
Comment thread module.web/src/components/dnnuv-ideas/dnnuv-ideas.tsx
Comment thread Services/Ideas/Mappers/IdeaMapper.cs
@valadas

valadas commented Feb 7, 2026

Copy link
Copy Markdown
Member Author

@david-poindexter copilot has a couple of valid points here, I'll revisit those tomorrow...

@valadas

valadas commented Feb 7, 2026

Copy link
Copy Markdown
Member Author

@david-poindexter I handled the copilot suggestions and ready for your review. Thanks.

@david-poindexter david-poindexter left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job @valadas (and Copilot) 🎉

@david-poindexter
david-poindexter merged commit 5f4c626 into DNNCommunity:develop Feb 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants