simoleo89 0755285708 Revert feature-folder migration; keep classic src/components + src/hooks layout
Decision: the src/features/<feature>/ layout introduced as proposal #3
(pilot on doorbell in 8ec9d27) is not the convention the team wants. The
existing src/components/<area>/ + src/hooks/<area>/ split is the one
that stays.

What's reverted
- src/features/doorbell/ is removed entirely. The doorbell view and the
  two hooks move back under the classic paths:
    src/features/doorbell/views/DoorbellWidgetView.tsx
      -> src/components/room/widgets/doorbell/DoorbellWidgetView.tsx
    src/features/doorbell/hooks/useDoorbellState.ts
      -> src/hooks/rooms/widgets/useDoorbellState.ts
    src/features/doorbell/hooks/useDoorbellActions.ts
      -> src/hooks/rooms/widgets/useDoorbellActions.ts
- The compat shims that lived in those classic paths are dropped now
  that the real files are back.
- src/hooks/rooms/widgets/index.ts adds the two new hooks alongside the
  existing useDoorbellWidget shim (kept as a deprecated wrapper so any
  external consumer importing the old shape via the barrel keeps
  working).

What's preserved
- The split between data and actions (proposal #4) — useDoorbellState
  and useDoorbellActions remain two separate hooks. This was the actual
  improvement, and it's independent of where the files sit.
- The bug fixes from 8ec9d27 (close button race, optimistic-remove
  rollback) — both still present, just in the new path.
- src/state/createNitroStore.ts and src/api/nitro-query/createNitroQuery.ts
  are left where they are. They aren't feature folders; they're
  cross-cutting framework code (Zustand skeleton, React Query adapter
  prototype) that any feature can consume.

Doc
- docs/ARCHITECTURE.md section #3 is rewritten to record the decision
  rather than recommend the layout. It now describes the convention to
  follow:
    * views under src/components/<area>/<feature>/
    * hooks under src/hooks/<area>/<feature?>/ (siblings, not subfolders
      per widget)
    * sibling .types/.constants/.helpers files for view-specific code
      (e.g. WiredCreatorTools.*.ts)
- "What's already in place" and "Recently fixed" sections updated to
  point at the new paths.
- "How to pick the next refactor PR" no longer mentions feature-folder
  migration as an option.

Note: the five extra feature folders started this session (reconnect,
nitropedia, ads, hc-center, campaign) were never committed; they only
existed in the working tree and have been restored from HEAD.

Verification
- find src/features -type f -> 0 (directory removed).
- npx tsc --noEmit on all touched files: clean (only the project-wide
  pre-existing TS2307 about @nitrots/nitro-renderer not installed
  locally remains, same as before).
- npx eslint on all touched files: 0 errors, 0 warnings.

https://claude.ai/code/session_01GrR87LAqnAEyKG2ZbmQt5Q
2026-05-11 16:31:53 +00:00
🆙 Init V3
2026-01-31 09:10:52 +01:00
2026-05-07 10:21:48 +02:00
🆙 Init V3
2026-01-31 09:10:52 +01:00
🆙 Init V3
2026-01-31 09:10:52 +01:00
2026-04-08 14:06:25 +02:00
2026-04-08 14:06:25 +02:00

v2.2.0 -Nitro V3 !! Use at Own Risk as it is still in Beta !!

Prerequisites

  • Git
  • NodeJS >= 18
    • If using NodeJS < 18 remove --openssl-legacy-provider from the package.json scripts
  • Yarn npm i yarn -g

Installation

  • First you should open terminal and navigate to the folder where you want to clone Nitro and Nitro-Renderer
  • Clone Nitro (Expl. C:\Github)
    • git clone https://github.com/duckietm/Nitro-V3.git <== For now switch to Dev-RendererV2
    • git clone https://github.com/duckietm/Nitro_Render_V3.git
    • Install the dependencies for the renderer : cd C:\Github\Nitro_Render_V3
      • yarn install
    • Now we will create a Link for the Nitro Renderer : yarn link This will give you a link address yarn link "@nitrots/nitro-renderer"
    • Install the dependencies for Cool UI : cd C:\Github\Nitro-V3
    • yarn install
    • yarn link "@nitrots/nitro-renderer" <== This will link the renderer in the project
  • Rename a few files
    • Copy public/configuration/renderer-config.example to public/configuration/renderer-config.json
    • Copy public/configuration/ui-config.example to public/configuration/ui-config.json
    • Copy public/configuration/client-mode.example to public/configuration/client-mode.json
    • Set your links
    • Open public/configuration/renderer-config.json
      • Update socket.url, asset.url, image.library.url, & hof.furni.url
    • Open public/configuration/ui-config.json
      • Update camera.url, thumbnails.url, url.prefix, habbopages.url
    • yarn build <== the final step to build the DIST folder this is where your browser needs to point / or upload this to your /client if you do the compile on a other machine (preferd)
    • You can override any variable by passing it to NitroConfig in the index.html

Usage

Development

Run Nitro in development mode when you are editing the files, this way you can see the changes in your browser instantly

yarn start

Production

To build a production version of Nitro just run the following command

yarn build:prod
  • A dist folder will be generated, these are the files that must be uploaded to your webserver
  • Consult your CMS documentation for compatibility with Nitro and how to add the production files
S
Description
No description provided
Readme 33 MiB
Languages
TypeScript 88.8%
CSS 8.3%
JavaScript 2.4%
HTML 0.5%