# it-support-agent-tool/ncr-voyix-agent-tool architecture

> Architecture diagram of the GitHub repository it-support-agent-tool/ncr-voyix-agent-tool, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/it-support-agent-tool/ncr-voyix-agent-tool
- Repository: https://github.com/it-support-agent-tool/ncr-voyix-agent-tool

## Overview

NCR Voyix Agent Tool is a browser-based support-workflow toolkit. Agents select a section and use focused forms and utilities to prepare ticket, RMA, SORR, or overnight-task text, copy it, and manage reminders or saved data. The app keeps sections mounted while switching visibility. The README documents all major sections; excerpts confirm the app routing, ticket formatting and copying, reminder behavior, persistence hook, and GitHub footer request. Other section internals are represented only at their documented boundaries.

Main entry points: [`src/App.jsx`](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/App.jsx) (App router), [`src/components/sections/TicketTemplate/TicketForm.jsx`](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/TicketTemplate/TicketForm.jsx) (Ticket form), [`src/hooks/useClipboard.js`](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/hooks/useClipboard.js) (Clipboard hook), [`src/components/sections/Commands/CommandList.jsx`](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/Commands/CommandList.jsx) (Command library)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_shell["Application shell"]
  node_app["App router<br/>[App.jsx]"]
  node_header["Section navigation<br/>[Header.jsx]"]
  node_footer["Resource footer<br/>[Footer.jsx]"]
end

subgraph group_cases["Support workflows"]
  node_ticket["Ticket templates<br/>[TicketTemplate.jsx]"]
  node_ticketform["Ticket form<br/>[TicketForm.jsx]"]
  node_rma["RMA workflow<br/>[RMASection.jsx]"]
  node_rmaform["RMA form<br/>[RMAForm.jsx]"]
  node_sorr["SORR workflow<br/>[SORRSection.jsx]"]
  node_sorrform["SORR form<br/>[SORRForm.jsx]"]
  node_overnight["Overnight tasks<br/>[OvernightTask.jsx]"]
  node_formatters["Text formatters<br/>[formatters.js]"]
end

subgraph group_utilities["Agent utilities"]
  node_commands["Command library<br/>[CommandList.jsx]"]
  node_commanddata["Command catalog<br/>[commands.js]"]
  node_hardware["Hardware helper<br/>[HardwareHelper.jsx]"]
  node_timezone["Timezone converter"]
  node_reminders["Reminder manager"]
  node_globalreminders["Global reminders"]
  node_savedata["Saved data"]
end

subgraph group_state["Persistence and integrations"]
  node_clipboard["Clipboard API"]
  node_clipboardhook["Clipboard hook<br/>[useClipboard.js]"]
  node_localstorage[("Browser storage")]
  node_storagehook["Storage hook<br/>[useLocalStorage.js]"]
  node_github["GitHub API"]
end

node_agent(("Support agent"))

node_agent -->|"uses"| node_app
node_app -->|"renders"| node_header
node_header -->|"selects section"| node_app
node_app -->|"shows section"| node_ticket
node_app -->|"shows section"| node_rma
node_app -->|"shows section"| node_sorr
node_app -->|"shows section"| node_overnight
node_app -->|"shows section"| node_commands
node_app -->|"shows section"| node_hardware
node_app -->|"shows section"| node_timezone
node_app -->|"shows section"| node_reminders
node_app -->|"shows section"| node_savedata
node_app -->|"renders"| node_globalreminders
node_app -->|"renders"| node_footer
node_ticket -->|"renders form"| node_ticketform
node_rma -->|"renders form"| node_rmaform
node_sorr -->|"renders form"| node_sorrform
node_ticketform -->|"formats text"| node_formatters
node_formatters -->|"returns text"| node_ticketform
node_ticketform -->|"copies text"| node_clipboardhook
node_overnight -->|"copies text"| node_clipboardhook
node_clipboardhook -->|"writes text"| node_clipboard
node_commands -->|"reads catalog"| node_commanddata
node_commands -->|"copies command"| node_clipboardhook
node_globalreminders -->|"reads and writes"| node_localstorage
node_savedata -->|"persists data"| node_storagehook
node_storagehook -->|"reads and writes"| node_localstorage
node_footer -.->|"fetches stats"| node_github

click node_app "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/App.jsx"
click node_header "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/layout/Header.jsx"
click node_footer "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/layout/Footer.jsx"
click node_ticket "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/TicketTemplate/TicketTemplate.jsx"
click node_ticketform "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/TicketTemplate/TicketForm.jsx"
click node_rma "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/RMA/RMASection.jsx"
click node_rmaform "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/RMA/RMAForm.jsx"
click node_sorr "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/SORR/SORRSection.jsx"
click node_sorrform "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/SORR/SORRForm.jsx"
click node_overnight "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/OvernightTask/OvernightTask.jsx"
click node_formatters "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/utils/formatters.js"
click node_commands "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/Commands/CommandList.jsx"
click node_commanddata "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/data/commands.js"
click node_hardware "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/Hardware/HardwareHelper.jsx"
click node_timezone "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/Timezone/TimezoneConverter.jsx"
click node_reminders "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/Reminder/ReminderSection.jsx"
click node_globalreminders "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/common/GlobalReminders.jsx"
click node_savedata "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/SaveData/SaveDataSection.jsx"
click node_clipboardhook "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/hooks/useClipboard.js"
click node_storagehook "https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/hooks/useLocalStorage.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_header,node_footer toneBlue
class node_ticket,node_ticketform,node_rma,node_rmaform,node_sorr,node_sorrform,node_overnight,node_formatters toneAmber
class node_commands,node_commanddata,node_hardware,node_timezone,node_reminders,node_globalreminders,node_savedata toneMint
class node_clipboard,node_clipboardhook,node_localstorage,node_storagehook,node_github toneRose
class node_agent toneIndigo
```

## Components

### Application shell

- [App router](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/App.jsx): `src/App.jsx`
- [Section navigation](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/layout/Header.jsx): `src/components/layout/Header.jsx`
- [Resource footer](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/layout/Footer.jsx): `src/components/layout/Footer.jsx`

### Support workflows

- [Ticket templates](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/TicketTemplate/TicketTemplate.jsx): `src/components/sections/TicketTemplate/TicketTemplate.jsx`
- [Ticket form](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/TicketTemplate/TicketForm.jsx): `src/components/sections/TicketTemplate/TicketForm.jsx`
- [RMA workflow](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/RMA/RMASection.jsx): `src/components/sections/RMA/RMASection.jsx`
- [RMA form](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/RMA/RMAForm.jsx): `src/components/sections/RMA/RMAForm.jsx`
- [SORR workflow](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/SORR/SORRSection.jsx): `src/components/sections/SORR/SORRSection.jsx`
- [SORR form](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/SORR/SORRForm.jsx): `src/components/sections/SORR/SORRForm.jsx`
- [Overnight tasks](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/OvernightTask/OvernightTask.jsx): `src/components/sections/OvernightTask/OvernightTask.jsx`
- [Text formatters](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/utils/formatters.js): `src/utils/formatters.js`

### Agent utilities

- [Command library](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/Commands/CommandList.jsx): `src/components/sections/Commands/CommandList.jsx`
- [Command catalog](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/data/commands.js): `src/data/commands.js`
- [Hardware helper](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/Hardware/HardwareHelper.jsx): `src/components/sections/Hardware/HardwareHelper.jsx`
- [Timezone converter](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/Timezone/TimezoneConverter.jsx): `src/components/sections/Timezone/TimezoneConverter.jsx`
- [Reminder manager](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/Reminder/ReminderSection.jsx): `src/components/sections/Reminder/ReminderSection.jsx`
- [Global reminders](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/common/GlobalReminders.jsx): `src/components/common/GlobalReminders.jsx`
- [Saved data](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/components/sections/SaveData/SaveDataSection.jsx): `src/components/sections/SaveData/SaveDataSection.jsx`

### Persistence and integrations

- **Clipboard API**
- [Clipboard hook](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/hooks/useClipboard.js): `src/hooks/useClipboard.js`
- **Browser storage**
- [Storage hook](https://github.com/it-support-agent-tool/ncr-voyix-agent-tool/blob/main/src/hooks/useLocalStorage.js): `src/hooks/useLocalStorage.js`
- **GitHub API**

### Other components

- **Support agent**

## Connections

- Support agent → App router: uses
- App router → Section navigation: renders
- Section navigation → App router: selects section
- App router → Ticket templates: shows section
- App router → RMA workflow: shows section
- App router → SORR workflow: shows section
- App router → Overnight tasks: shows section
- App router → Command library: shows section
- App router → Hardware helper: shows section
- App router → Timezone converter: shows section
- App router → Reminder manager: shows section
- App router → Saved data: shows section
- App router → Global reminders: renders
- App router → Resource footer: renders
- Ticket templates → Ticket form: renders form
- RMA workflow → RMA form: renders form
- SORR workflow → SORR form: renders form
- Ticket form → Text formatters: formats text
- Text formatters → Ticket form: returns text
- Ticket form → Clipboard hook: copies text
- Overnight tasks → Clipboard hook: copies text
- Clipboard hook → Clipboard API: writes text
- Command library → Command catalog: reads catalog
- Command library → Clipboard hook: copies command
- Global reminders → Browser storage: reads and writes
- Saved data → Storage hook: persists data
- Storage hook → Browser storage: reads and writes
- Resource footer → GitHub API: fetches stats
