feat: Add Chrome Network Monitor extension with popup UI and request handling

- Implemented popup.html for user interface with search functionality and request display.
- Developed popup.js to manage search items, matched requests, and clipboard operations.
- Created mergeConflictManager.js for automated git operations in specified repositories.
- Added projects.txt to maintain a list of relevant projects.
- Introduced pushReleaseBranches.js for managing release branches across multiple projects.
- Developed releasePrepper.js to prepare projects for release with branch management.
- Created stashUpdater.js to update git origins for projects.
- Added updatedProjects.txt to track projects that have been updated.
This commit is contained in:
Greg Jacobs
2026-01-26 16:18:42 -05:00
parent 6702f04050
commit f7d928506a
82 changed files with 9285 additions and 122 deletions

View File

@@ -0,0 +1,756 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Impact Analysis - @market/api → 4.4.14</title>
<style>
/* RBC Global Colors */
:root {
--dark-blue: #002750;
--dark-blue-tint-1: #003168;
--rbc-blue: #0051A5;
--rbc-blue-tint: #4C7AA3;
--rbc-blue-tint-1: #006AC3;
--rbc-blue-tint-2: #73B0E3;
--rbc-blue-tint-3: #C3E2FA;
--rbc-blue-tint-4: #E3F4FF;
--rbc-blue-tint-5: #F5FCFF;
--rbc-blue-tint-6: #E7EDF2;
--rbc-yellow: #FEDF01;
--dark-yellow: #FBAA26;
--black: #000000;
--white: #FFFFFF;
--grey: #585858;
--grey-tint-1: #6F6F6F;
--grey-tint-2: #919191;
--grey-tint-3: #B3B3B3;
--grey-light-tint-4: #E0E0E0;
--grey-light-tint-3: #EAEAEA;
--grey-light-tint-2: #F3F4F5;
--grey-light-tint-1: #FAFAFA;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Roboto', 'Arial', sans-serif;
background-color: var(--grey-light-tint-1);
color: var(--grey);
line-height: 1.6;
padding: 2rem;
}
.container {
max-width: 1200px;
margin: 0 auto;
background-color: var(--white);
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
overflow: hidden;
}
.header {
background: linear-gradient(135deg, var(--dark-blue) 0%, var(--rbc-blue) 100%);
color: var(--white);
padding: 2rem;
text-align: center;
}
.header h1 {
font-size: 2rem;
font-weight: 500;
margin-bottom: 0.5rem;
}
.header p {
font-size: 1rem;
opacity: 0.9;
}
.content {
padding: 2rem;
}
.api-section {
margin-bottom: 1.5rem;
border: 1px solid var(--grey-light-tint-4);
border-radius: 8px;
overflow: hidden;
transition: all 0.3s ease;
}
.api-section:hover {
box-shadow: 0 2px 8px rgba(0, 81, 165, 0.1);
}
.api-header {
background-color: var(--rbc-blue-tint-5);
padding: 1rem 1.5rem;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid var(--grey-light-tint-4);
transition: background-color 0.2s ease;
}
.api-header:hover {
background-color: var(--rbc-blue-tint-4);
}
.api-header.active {
background-color: var(--rbc-blue-tint-3);
}
.api-name {
font-size: 1.25rem;
font-weight: 500;
color: var(--dark-blue);
display: flex;
align-items: center;
gap: 0.75rem;
}
.api-badge {
background-color: var(--rbc-blue);
color: var(--white);
padding: 0.25rem 0.75rem;
border-radius: 20px;
font-size: 0.75rem;
font-weight: 500;
}
.toggle-btn {
background-color: var(--rbc-blue);
color: var(--white);
border: none;
border-radius: 4px;
padding: 0.5rem 1rem;
font-size: 0.875rem;
cursor: pointer;
transition: background-color 0.2s ease;
font-weight: 500;
}
.toggle-btn:hover {
background-color: var(--rbc-blue-tint-1);
}
.api-urls {
display: none;
padding: 1.5rem;
background-color: var(--white);
}
.api-urls.show {
display: block;
}
.url-item {
margin-bottom: 0.75rem;
padding: 0.75rem;
background-color: var(--grey-light-tint-2);
border-left: 3px solid var(--rbc-blue);
border-radius: 4px;
font-family: 'Courier New', monospace;
font-size: 0.875rem;
color: var(--grey-tint-1);
word-break: break-all;
transition: all 0.2s ease;
}
.url-item:hover {
background-color: var(--grey-light-tint-3);
border-left-color: var(--rbc-blue-tint-1);
}
.page-section {
margin-bottom: 2.5rem;
}
.page-title {
font-size: 1.5rem;
font-weight: 500;
color: var(--dark-blue);
margin-bottom: 1rem;
padding-bottom: 0.5rem;
border-bottom: 2px solid var(--rbc-blue);
}
.page-link {
font-size: 0.875rem;
color: var(--rbc-blue);
text-decoration: none;
display: inline-block;
margin-bottom: 1rem;
transition: color 0.2s ease;
}
.page-link:hover {
color: var(--rbc-blue-tint-1);
text-decoration: underline;
}
.expand-all-btn,
.collapse-all-btn {
background-color: var(--dark-blue);
color: var(--white);
border: none;
border-radius: 4px;
padding: 0.75rem 1.5rem;
font-size: 0.875rem;
cursor: pointer;
margin-right: 0.5rem;
margin-bottom: 1.5rem;
transition: background-color 0.2s ease;
font-weight: 500;
}
.expand-all-btn:hover,
.collapse-all-btn:hover {
background-color: var(--dark-blue-tint-1);
}
.no-apis {
padding: 1rem;
background-color: var(--grey-light-tint-2);
border-radius: 4px;
color: var(--grey-tint-1);
font-style: italic;
}
@media (max-width: 768px) {
body {
padding: 1rem;
}
.header h1 {
font-size: 1.5rem;
}
.api-name {
font-size: 1rem;
}
.api-header {
flex-direction: column;
gap: 0.75rem;
align-items: flex-start;
}
.toggle-btn {
width: 100%;
}
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<h1>Impact Analysis - @market/api → 4.4.14</h1>
<p>API Endpoint Usage Across RBC Direct Investing Platform</p>
</div>
<div class="content">
<button class="expand-all-btn" onclick="expandAll()">Expand All</button>
<button class="collapse-all-btn" onclick="collapseAll()">Collapse All</button>
<!-- Home -->
<div class="page-section">
<h2 class="page-title">Home - RBC Direct Investing</h2>
<a href="https://www1.steroyalbank.com/sgw3/secureapp/N600/ReactUI/?LANGUAGE=ENGLISH#/Home" class="page-link" target="_blank">View Page →</a>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-preferences</span>
<span class="api-badge">2 calls</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">https://wwwx3.steroyalbank.com/api//rbc-preferences/v1/credentials?v=1767649041627</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-preferences/v1/preference?preferenceName=gww_selected_list</div>
</div>
</div>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-xref</span>
<span class="api-badge">1 call</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-xref/v1/symbols-and-countries</div>
</div>
</div>
</div>
<!-- Holdings -->
<div class="page-section">
<h2 class="page-title">Holdings - RBC Direct Investing</h2>
<a href="https://www1.steroyalbank.com/sgw3/secureapp/N600/WebUI/Holdings/HoldingsHome#/currency" class="page-link" target="_blank">View Page →</a>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-preferences</span>
<span class="api-badge">3 calls</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">https://www1.steroyalbank.com/sgw3/secureapp/N600/WebUI/Holdings/undefined/rbc-preferences/v1/credentials?v=1767649968556</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api//rbc-preferences/v1/credentials?v=1767649968916</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-preferences/v1/preference?preferenceName=gww_selected_list</div>
</div>
</div>
</div>
<!-- Performance -->
<div class="page-section">
<h2 class="page-title">Performance - RBC Direct Investing</h2>
<a href="https://www1.steroyalbank.com/sgw3/secureapp/N600/App_N600/Portfolio.mvc/Performance/DI/en/2c8b3649de3596349140336235e40000360f?IB=0" class="page-link" target="_blank">View Page →</a>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-preferences</span>
<span class="api-badge">2 calls</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">https://wwwx3.steroyalbank.com/api//rbc-preferences/v1/credentials?v=1767650015823</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-preferences/v1/preference?preferenceName=gww_selected_list</div>
</div>
</div>
</div>
<!-- Income Projection -->
<div class="page-section">
<h2 class="page-title">Income Projection - RBC Direct Investing</h2>
<a href="https://www1.steroyalbank.com/sgw3/secureapp/N600/ReactUI/?LANGUAGE=ENGLISH#/IncomeProjection" class="page-link" target="_blank">View Page →</a>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-income-projection</span>
<span class="api-badge">2 calls</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-income-projection/v1/symbols-dividend-income?culture=en-US&currency=cad</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-income-projection/v1/income-estimated-chart?culture=en-US&width=1301&height=336&currency=cad</div>
</div>
</div>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-preferences</span>
<span class="api-badge">2 calls</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">https://wwwx3.steroyalbank.com/api//rbc-preferences/v1/credentials?v=1767650049340</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-preferences/v1/preference?preferenceName=gww_selected_list</div>
</div>
</div>
</div>
<!-- Alerts -->
<div class="page-section">
<h2 class="page-title">Alerts</h2>
<a href="https://wwwx3.steroyalbank.com/investing/markets/alerts.asp" class="page-link" target="_blank">View Page →</a>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-preferences</span>
<span class="api-badge">3 calls</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">https://wwwx3.steroyalbank.com/investing/markets/undefined/rbc-preferences/v1/credentials?v=1767650125045</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api//rbc-preferences/v1/credentials?v=1767650125401</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-preferences/v1/preference?preferenceName=gww_selected_list</div>
</div>
</div>
</div>
<!-- Watchlists -->
<div class="page-section">
<h2 class="page-title">Watchlists - RBC Direct Investing</h2>
<a href="https://www1.steroyalbank.com/sgw3/secureapp/N600/WebUI/Watchlist#/quote" class="page-link" target="_blank">View Page →</a>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-direct-investing-detailed-quote</span>
<span class="api-badge">6 calls</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-direct-investing-detailed-quote/1.0/userPreference?preferenceName=coachmark_banner_com_markit_streaming_watchlists_app</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-direct-investing-detailed-quote/1.0/userPreference?preferenceName=coachmark_banner_com_markit_edit_watchlists_app</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-direct-investing-detailed-quote/1.0/userPreference?preferenceName=di_mw_streaming_enabled</div>
<div class="url-item">https://www1.steroyalbank.com/secureapp/N600/WebUI/rb_bf92799cya?type=js3...</div>
</div>
</div>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-preferences</span>
<span class="api-badge">7 calls</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">https://www1.steroyalbank.com/sgw3/secureapp/N600/WebUI/undefined/rbc-preferences/v1/credentials?v=1767650260460</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api//rbc-preferences/v1/credentials?v=1767650261047</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-preferences/v1/preference?preferenceName=gww_selected_list</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-preferences/v1/preference?preferenceName=mwl_selected_list&1767650262599</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-preferences/v1/watchlist/68C8CB58-CA4F-4886-86E3-461A6A6583B6</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-preferences/v1/alerts</div>
</div>
</div>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-quote</span>
<span class="api-badge">1 call</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-quote/v1/multiquote?previousDay=false&origin=watchlist&validateXref=true</div>
</div>
</div>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-xref</span>
<span class="api-badge">1 call</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-xref/v1/symbols</div>
</div>
</div>
</div>
<!-- Portfolio Analyzer -->
<div class="page-section">
<h2 class="page-title">Portfolio Analyzer - RBC Direct Investing</h2>
<a href="https://www1.steroyalbank.com/sgw3/secureapp/N600/WebUI/Containers/PortfolioAnalyzer#/Accounts/analyze" class="page-link" target="_blank">View Page →</a>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-analyze-and-rebalance</span>
<span class="api-badge">12 calls</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-analyze-and-rebalance-api/v1/quote/getQuote?baseCurrency=CAD&quoteCurrency=USD</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-analyze-and-rebalance-api/v1/shared/getCurrency</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-analyze-and-rebalance-api/v1/getPortfolioAccountContainer?name=...</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-analyze-and-rebalance-api/v1/updateBalanceAndHoldings?containerID=...</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-analyze-and-rebalance-api/v1/loadGoalById?goalId=...</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-analyze-and-rebalance-api/v1/investment-analysis/getAssetAllocation?total=...</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-analyze-and-rebalance-api/v1/smartText/getSmartText?language=EN&tab=A</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-analyze-and-rebalance-api/v1/chart/PieChart?pieSize=240&language=en</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-analyze-and-rebalance-api/v1/investment-analysis/getRegionAllocation?prevDayValue=...</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-analyze-and-rebalance-api/v1/investment-analysis/getSectorAllocation?rollupType=equity&prevDayPortfolioValue=...</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-analyze-and-rebalance-api/v1/smartText/getSmartText?language=EN&tab=S</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-analyze-and-rebalance-api/v1/investment-analysis/getHoldingsConcenteration</div>
</div>
</div>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-preferences</span>
<span class="api-badge">2 calls</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">https://www1.steroyalbank.com/sgw3/secureapp/N600/WebUI/Containers/undefined/rbc-preferences/v1/credentials?v=1767650356450</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api//rbc-preferences/v1/credentials?v=1767650356938</div>
</div>
</div>
</div>
<!-- Markets Overview - No Flags -->
<div class="page-section">
<h2 class="page-title">Markets Overview - NO FLAGS ENABLED</h2>
<a href="https://www1.steroyalbank.com/sgw3/secureapp/N600/WebUI/Markets" class="page-link" target="_blank">View Page →</a>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-charting</span>
<span class="api-badge">Multiple calls</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">Various charting API calls</div>
</div>
</div>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-market-events</span>
<span class="api-badge">Multiple calls</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">Market events API calls</div>
</div>
</div>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-news</span>
<span class="api-badge">Multiple calls</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">News API calls</div>
</div>
</div>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-preferences</span>
<span class="api-badge">2 calls</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">https://wwwx3.steroyalbank.com/api//rbc-preferences/v1/credentials</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-preferences/v1/preference?preferenceName=gww_selected_list</div>
</div>
</div>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-quote</span>
<span class="api-badge">Multiple calls</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">Quote API calls</div>
</div>
</div>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-sector-industry</span>
<span class="api-badge">Multiple calls</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">Sector industry API calls</div>
</div>
</div>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>rbc-xref</span>
<span class="api-badge">Multiple calls</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">Cross-reference API calls</div>
</div>
</div>
</div>
<!-- Markets Overview - Flags Enabled -->
<div class="page-section">
<h2 class="page-title">Markets Overview - FLAGS ENABLED</h2>
<a href="https://www1.steroyalbank.com/sgw3/secureapp/N600/WebUI/Markets" class="page-link" target="_blank">View Page →</a>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>Same APIs as No Flags version</span>
<span class="api-badge">Note</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">Same API endpoints called with different parameters or feature flags enabled</div>
</div>
</div>
</div>
<!-- Additional Pages -->
<div class="page-section">
<h2 class="page-title">Additional Pages</h2>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>Manage My Goals</span>
<span class="api-badge">rbc-preferences</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">https://wwwx3.steroyalbank.com/portfoliobuilder/Goals/undefined/rbc-preferences/v1/credentials</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api//rbc-preferences/v1/credentials</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-preferences/v1/preference?preferenceName=gww_selected_list</div>
</div>
</div>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>Search / Activity / Order Status</span>
<span class="api-badge">rbc-preferences</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">All use rbc-preferences API for credentials and preferences</div>
</div>
</div>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>Transfer Funds / Securities</span>
<span class="api-badge">rbc-preferences</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">All use rbc-preferences API for credentials and preferences</div>
</div>
</div>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>Screeners</span>
<span class="api-badge">Multiple APIs</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">rbc-analyst-picklists</div>
<div class="url-item">rbc-curated-research</div>
<div class="url-item">rbc-preferences</div>
<div class="url-item">rbc-quote</div>
</div>
</div>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>Investor's Toolkit</span>
<span class="api-badge">Multiple APIs</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">rbc-analyst-picklists</div>
<div class="url-item">rbc-curated-research</div>
<div class="url-item">rbc-fundamentals</div>
<div class="url-item">rbc-preferences</div>
</div>
</div>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>Markets Section Pages</span>
<span class="api-badge">rbc-preferences</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">Sectors & Industries - rbc-preferences</div>
<div class="url-item">Calendar - rbc-preferences</div>
<div class="url-item">News & Headlines - rbc-preferences</div>
<div class="url-item">Market Commentary - rbc-preferences</div>
<div class="url-item">Technical Analysis - rbc-preferences</div>
</div>
</div>
<div class="api-section">
<div class="api-header" onclick="toggleSection(this)">
<div class="api-name">
<span>GICs, Bonds and Fixed Income</span>
<span class="api-badge">rbc-preferences</span>
</div>
<button class="toggle-btn" onclick="event.stopPropagation(); toggleSection(this.parentElement)">Toggle</button>
</div>
<div class="api-urls">
<div class="url-item">https://wwwx3.steroyalbank.com/api//rbc-preferences/v1/credentials</div>
<div class="url-item">https://wwwx3.steroyalbank.com/api/rbc-preferences/v1/preference?preferenceName=gww_selected_list</div>
</div>
</div>
</div>
</div>
</div>
<script>
function toggleSection(element) {
const header = element.classList.contains('api-header') ? element : element.parentElement;
const urls = header.nextElementSibling;
header.classList.toggle('active');
urls.classList.toggle('show');
}
function expandAll() {
const allSections = document.querySelectorAll('.api-urls');
const allHeaders = document.querySelectorAll('.api-header');
allSections.forEach(section => section.classList.add('show'));
allHeaders.forEach(header => header.classList.add('active'));
}
function collapseAll() {
const allSections = document.querySelectorAll('.api-urls');
const allHeaders = document.querySelectorAll('.api-header');
allSections.forEach(section => section.classList.remove('show'));
allHeaders.forEach(header => header.classList.remove('active'));
}
</script>
</body>
</html>