Skip to content

feat: Add Storybook 10.2.8 to Angular application#70

Merged
altaskur merged 2 commits intomainfrom
copilot/add-storybook-to-angular
Feb 14, 2026
Merged

feat: Add Storybook 10.2.8 to Angular application#70
altaskur merged 2 commits intomainfrom
copilot/add-storybook-to-angular

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 14, 2026

Description

Added Storybook 10.2.8 with Angular integration for component development and documentation.

Goal

Enable isolated component development and living documentation for the Angular UI.

Key Changes

  • Installed Storybook 10.2.8 with Angular framework support
  • Configured addons: a11y, docs, onboarding
  • Integrated Compodoc for auto-generated component documentation
  • Added example stories (Button, Header, Page) demonstrating patterns
  • Updated Angular components to comply with style guide (app- prefix selectors, event naming without "on" prefix, control flow syntax)
  • Configured ESLint to ignore .storybook directory

Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📝 Documentation update
  • 🎨 Style/UI changes
  • ♻️ Refactoring (no functional changes)
  • ⚡ Performance improvement
  • ✅ Test updates
  • 🔧 Build/configuration changes

Impact Assessment

Database Impact

  • No database changes
  • New migration(s) included
  • Existing data migration required

Backup Impact

  • No impact on backups
  • Backup format changed
  • Restore compatibility maintained

Testing

How Has This Been Tested?

  • Unit tests
  • Integration tests
  • Manual testing
  • Tested with SonarQube analysis

Test Steps

  1. Run npm run storybook to start dev server on port 6006
  2. Navigate through example stories (Button, Header, Page)
  3. Verify interactive controls work for component props
  4. Build static version with npm run build-storybook

Test Configuration

  • Node version: v24.13.0
  • npm version: 11.6.2
  • Platform tested: Linux

UI Changes

Before

No component documentation or isolated development environment.

After

Storybook Main Page

Button Component with Interactive Controls

Checklist

  • My code follows the project's coding standards
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings or errors
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have run npm run lint and fixed any issues
  • I have run npm test and all tests pass
  • I have run npm run test:electron and all tests pass
  • I have run npm run sonar:check and the analysis passes
  • Any dependent changes have been merged and published

Breaking Changes

  • This PR contains breaking changes

Related Issues

Additional Context

New NPM Scripts:

npm run storybook          # Start dev server
npm run build-storybook    # Build static site

Dependencies Added:

  • storybook@^10.2.8
  • @storybook/angular@^10.2.8
  • @storybook/addon-{a11y,docs,onboarding}@^10.2.8
  • @compodoc/compodoc@^1.2.1

No security vulnerabilities detected in new dependencies.

Reviewer Notes

Example stories follow Angular style guide but use simplified selectors (app-storybook-*) to avoid conflicts with application components. Consider creating stories for actual application components (TimeEntry, Project, Task cards).

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5271 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-94806636 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,16477206410422342556,14115751451343195176,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 oreply.github.co--service=0.27.2 bin/node sh (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --user-data-dir=/tmp/karma-94806636 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications http://localhost:9876/?id=94806636 --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 (dns block)
  • android.clients.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5271 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-94806636 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,16477206410422342556,14115751451343195176,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 oreply.github.co--service=0.27.2 bin/node sh (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --user-data-dir=/tmp/karma-94806636 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications http://localhost:9876/?id=94806636 --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 (dns block)
  • clients2.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5271 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-94806636 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,16477206410422342556,14115751451343195176,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 oreply.github.co--service=0.27.2 bin/node sh (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --user-data-dir=/tmp/karma-94806636 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications http://localhost:9876/?id=94806636 --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 (dns block)
  • clientservices.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5271 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-94806636 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,16477206410422342556,14115751451343195176,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 oreply.github.co--service=0.27.2 bin/node sh (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --user-data-dir=/tmp/karma-94806636 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications http://localhost:9876/?id=94806636 --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 (dns block)
  • content-autofill.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5271 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-94806636 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,16477206410422342556,14115751451343195176,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 oreply.github.co--service=0.27.2 bin/node sh (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --user-data-dir=/tmp/karma-94806636 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications http://localhost:9876/?id=94806636 --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 (dns block)
  • optimizationguide-pa.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5271 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-94806636 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,16477206410422342556,14115751451343195176,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 oreply.github.co--service=0.27.2 bin/node sh (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --user-data-dir=/tmp/karma-94806636 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications http://localhost:9876/?id=94806636 --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 (dns block)
  • redirector.gvt1.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5271 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-94806636 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,16477206410422342556,14115751451343195176,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 oreply.github.co--service=0.27.2 bin/node sh (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --user-data-dir=/tmp/karma-94806636 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications http://localhost:9876/?id=94806636 --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 (dns block)
  • safebrowsingohttpgateway.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5271 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-94806636 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,16477206410422342556,14115751451343195176,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 oreply.github.co--service=0.27.2 bin/node sh (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --user-data-dir=/tmp/karma-94806636 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications http://localhost:9876/?id=94806636 --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 (dns block)
  • storybook.js.org
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node node /home/REDACTED/.npm/_npx/c98dac484ac87b2f/node_modules/.bin/create-storybook --skip-install --yes (dns block)
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node node /home/REDACTED/.npm/_npx/b8d6390bedbcd544/node_modules/.bin/cli automigrate addon-a11y-addon-test --loglevel silent --skip-doctor --yes --package-manager npm --config-dir .storybook (dns block)
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node node /home/REDACTED/work/OpenTimeTracker/OpenTimeTracker/node_modules/.bin/ng run OpenTimeTracker:build-storybook conf�� --local pull.rebase bin/node (dns block)
  • www.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5271 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-94806636 --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,16477206410422342556,14115751451343195176,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 oreply.github.co--service=0.27.2 bin/node sh (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --user-data-dir=/tmp/karma-94806636 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications http://localhost:9876/?id=94806636 --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Co-authored-by: altaskur <105789412+altaskur@users.noreply.github.com>
@sonarqubecloud
Copy link
Copy Markdown

Copilot AI changed the title [WIP] Add Storybook configurations to Angular project feat: Add Storybook 10.2.8 to Angular application Feb 14, 2026
Copilot AI requested a review from altaskur February 14, 2026 12:30
@altaskur altaskur marked this pull request as ready for review February 14, 2026 16:43
@altaskur altaskur merged commit cfa73c6 into main Feb 14, 2026
2 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in OpenTimeTracker Feb 14, 2026
@altaskur altaskur deleted the copilot/add-storybook-to-angular branch February 14, 2026 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants