feat(briefs): remove Briefs feature from frontend
Deleted route files, App.tsx routes, Sidebar nav item, and Dashboard "Awaiting Upload" card. The feature wasn't ready (Project/Assign To dropdowns were empty for non-admin users) and isn't needed at this stage. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
@ -86,7 +86,24 @@
|
|||
"Bash(gcloud secrets *)",
|
||||
"Bash(openssl rand *)",
|
||||
"Bash(ssh *)",
|
||||
"Skill(commit-commands:commit-push-pr)"
|
||||
"Skill(commit-commands:commit-push-pr)",
|
||||
"Bash(defuddle parse *)",
|
||||
"WebFetch(domain:ai.google.dev)",
|
||||
"Bash(ruff check *)",
|
||||
"Bash(obsidian search *)",
|
||||
"Bash(obsidian read *)",
|
||||
"Bash(claude --version)",
|
||||
"Bash(claude-code --version)",
|
||||
"Read(//Users/ai_leed/.claude/plugins/cache/levnikolaevich-skills-marketplace/documentation-pipeline/b56e470e75df/skills-catalog/shared/references/**)",
|
||||
"Bash(NODE_PATH=frontend/node_modules node_modules/.bin/tsx *)",
|
||||
"Bash(npx playwright *)",
|
||||
"mcp__playwright__browser_navigate",
|
||||
"Bash(npx @playwright/mcp install-browser chrome-for-testing)",
|
||||
"mcp__playwright__browser_take_screenshot",
|
||||
"Bash(PYTHONPATH=. poetry run pytest tests/unit/test_whisper_snap.py -q)"
|
||||
]
|
||||
},
|
||||
"enabledPlugins": {
|
||||
"agent-sdk-dev@claude-code-plugins": true
|
||||
}
|
||||
}
|
||||
|
|
|
|||
33
.playwright-mcp/page-2026-05-01T12-30-52-230Z.yml
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- generic [ref=e14]:
|
||||
- heading "Make your videos accessible to everyone" [level=2] [ref=e15]
|
||||
- paragraph [ref=e16]: AI-powered captions, audio descriptions, and multi-language support for professional video accessibility.
|
||||
- generic [ref=e17]:
|
||||
- generic [ref=e18]:
|
||||
- generic [ref=e20]: 🤖
|
||||
- generic [ref=e21]: AI-powered processing
|
||||
- generic [ref=e22]:
|
||||
- generic [ref=e24]: 🌍
|
||||
- generic [ref=e25]: Multi-language support
|
||||
- generic [ref=e26]:
|
||||
- generic [ref=e28]: ✅
|
||||
- generic [ref=e29]: Quality assurance workflow
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e33]:
|
||||
- heading "Welcome back!" [level=2] [ref=e34]
|
||||
- paragraph [ref=e35]: Sign in to your account to continue
|
||||
- button "Sign in with Microsoft" [ref=e36]:
|
||||
- generic [ref=e37]:
|
||||
- img [ref=e38]
|
||||
- text: Sign in with Microsoft
|
||||
- button "Local login" [ref=e44]
|
||||
- paragraph [ref=e46]:
|
||||
- text: Need help? Contact
|
||||
- link "vadymsamoilenko@oliver.agency" [ref=e47] [cursor=pointer]:
|
||||
- /url: mailto:vadymsamoilenko@oliver.agency
|
||||
43
.playwright-mcp/page-2026-05-01T12-31-13-606Z.yml
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- generic [ref=e14]:
|
||||
- heading "Make your videos accessible to everyone" [level=2] [ref=e15]
|
||||
- paragraph [ref=e16]: AI-powered captions, audio descriptions, and multi-language support for professional video accessibility.
|
||||
- generic [ref=e17]:
|
||||
- generic [ref=e18]:
|
||||
- generic [ref=e20]: 🤖
|
||||
- generic [ref=e21]: AI-powered processing
|
||||
- generic [ref=e22]:
|
||||
- generic [ref=e24]: 🌍
|
||||
- generic [ref=e25]: Multi-language support
|
||||
- generic [ref=e26]:
|
||||
- generic [ref=e28]: ✅
|
||||
- generic [ref=e29]: Quality assurance workflow
|
||||
- generic [ref=e32]:
|
||||
- generic [ref=e33]:
|
||||
- heading "Welcome back!" [level=2] [ref=e34]
|
||||
- paragraph [ref=e35]: Sign in to your account to continue
|
||||
- generic [ref=e48]:
|
||||
- generic [ref=e49]:
|
||||
- generic [ref=e50]: Email Address
|
||||
- textbox "Email Address" [ref=e51]:
|
||||
- /placeholder: Enter your email
|
||||
- generic [ref=e52]:
|
||||
- generic [ref=e53]: Password
|
||||
- textbox "Password" [ref=e54]:
|
||||
- /placeholder: Enter your password
|
||||
- button "Sign In" [ref=e55]
|
||||
- generic [ref=e60]: Or continue with
|
||||
- button "Sign in with Microsoft" [ref=e36]:
|
||||
- generic [ref=e37]:
|
||||
- img [ref=e38]
|
||||
- text: Sign in with Microsoft
|
||||
- paragraph [ref=e46]:
|
||||
- text: Need help? Contact
|
||||
- link "vadymsamoilenko@oliver.agency" [ref=e47] [cursor=pointer]:
|
||||
- /url: mailto:vadymsamoilenko@oliver.agency
|
||||
160
.playwright-mcp/page-2026-05-01T12-32-19-773Z.yml
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
- generic [ref=e61]:
|
||||
- generic [ref=e63]:
|
||||
- generic [ref=e65]:
|
||||
- generic [ref=e67]: VA
|
||||
- generic [ref=e68]:
|
||||
- heading "Video Access" [level=1] [ref=e69]
|
||||
- paragraph [ref=e70]: Accessibility Platform
|
||||
- navigation [ref=e71]:
|
||||
- link "🏠 Dashboard" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e73]: 🏠
|
||||
- generic [ref=e74]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e75] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e76]: 📋
|
||||
- generic [ref=e77]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e78] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e79]: 📤
|
||||
- generic [ref=e80]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e81] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e82]: 📝
|
||||
- generic [ref=e83]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e85]: 🔎
|
||||
- generic [ref=e86]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e87] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e88]: 🔍
|
||||
- generic [ref=e89]: QC Review
|
||||
- link "✅ Final Review" [ref=e90] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e91]: ✅
|
||||
- generic [ref=e92]: Final Review
|
||||
- link "👥 User Management" [ref=e93] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e94]: 👥
|
||||
- generic [ref=e95]: User Management
|
||||
- link "🏢 Clients" [ref=e96] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e97]: 🏢
|
||||
- generic [ref=e98]: Clients
|
||||
- link "📄 Briefs" [ref=e99] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e100]: 📄
|
||||
- generic [ref=e101]: Briefs
|
||||
- link "🔥 Failures" [ref=e102] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e103]: 🔥
|
||||
- generic [ref=e104]: Failures
|
||||
- link "📋 Audit Log" [ref=e105] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e106]: 📋
|
||||
- generic [ref=e107]: Audit Log
|
||||
- link "📖 Help" [ref=e109] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e110]: 📖
|
||||
- generic [ref=e111]: Help
|
||||
- generic [ref=e113]:
|
||||
- generic [ref=e115]: T
|
||||
- generic [ref=e116]:
|
||||
- paragraph [ref=e117]: test-admin@oliver.agency
|
||||
- paragraph [ref=e118]: admin
|
||||
- generic [ref=e119]:
|
||||
- navigation [ref=e120]:
|
||||
- generic [ref=e121]:
|
||||
- heading "Dashboard" [level=2] [ref=e123]
|
||||
- generic [ref=e124]:
|
||||
- button [ref=e126]:
|
||||
- img [ref=e127]
|
||||
- link "New Upload" [ref=e129] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e130]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e133]:
|
||||
- generic [ref=e135]: T
|
||||
- generic [ref=e136]:
|
||||
- paragraph [ref=e137]: test-admin@oliver.agency
|
||||
- paragraph [ref=e138]: admin
|
||||
- img [ref=e139]
|
||||
- main [ref=e141]:
|
||||
- generic [ref=e142]:
|
||||
- generic [ref=e144]:
|
||||
- generic [ref=e145]:
|
||||
- heading "Welcome back, test-admin! 👋" [level=1] [ref=e146]
|
||||
- paragraph [ref=e147]: Here's what's happening with your video accessibility projects
|
||||
- generic [ref=e149]:
|
||||
- paragraph [ref=e150]: Today
|
||||
- paragraph [ref=e151]: Friday, May 1
|
||||
- generic [ref=e152]:
|
||||
- link "📋 Total Jobs 1 View all →" [ref=e153] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e155]:
|
||||
- generic [ref=e156]:
|
||||
- generic [ref=e158]: 📋
|
||||
- heading "Total Jobs" [level=3] [ref=e159]
|
||||
- paragraph [ref=e160]: "1"
|
||||
- paragraph [ref=e161]: View all →
|
||||
- link "⚙️ Processing 0 View processing →" [ref=e162] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs?status=created,ingesting,ai_processing,translating,tts_generating,rendering_video,rendering_qc
|
||||
- generic [ref=e164]:
|
||||
- generic [ref=e165]:
|
||||
- generic [ref=e167]: ⚙️
|
||||
- heading "Processing" [level=3] [ref=e168]
|
||||
- paragraph [ref=e169]: "0"
|
||||
- paragraph [ref=e170]: View processing →
|
||||
- link "🔍 In QC Review 0 Review now →" [ref=e171] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e173]:
|
||||
- generic [ref=e174]:
|
||||
- generic [ref=e176]: 🔍
|
||||
- heading "In QC Review" [level=3] [ref=e177]
|
||||
- paragraph [ref=e178]: "0"
|
||||
- paragraph [ref=e179]: Review now →
|
||||
- link "✅ Completed 1 View completed →" [ref=e180] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs?status=completed
|
||||
- generic [ref=e182]:
|
||||
- generic [ref=e183]:
|
||||
- generic [ref=e185]: ✅
|
||||
- heading "Completed" [level=3] [ref=e186]
|
||||
- paragraph [ref=e187]: "1"
|
||||
- paragraph [ref=e188]: View completed →
|
||||
- generic [ref=e189]:
|
||||
- generic [ref=e190]:
|
||||
- generic [ref=e191]:
|
||||
- generic [ref=e193]: 🔍
|
||||
- heading "Quality Control" [level=2] [ref=e194]
|
||||
- paragraph [ref=e195]: 0 jobs awaiting review
|
||||
- paragraph [ref=e196]: Review AI-generated content for accuracy and compliance with accessibility standards.
|
||||
- link "Start Reviewing →" [ref=e197] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e198]:
|
||||
- generic [ref=e199]:
|
||||
- generic [ref=e201]: ✅
|
||||
- heading "Final Approval" [level=2] [ref=e202]
|
||||
- paragraph [ref=e203]: Jobs ready for delivery
|
||||
- paragraph [ref=e204]: Complete the final review process and approve jobs for client delivery.
|
||||
- link "Review Finals →" [ref=e205] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e206]:
|
||||
- generic [ref=e207]:
|
||||
- heading "Recent Activity" [level=2] [ref=e208]
|
||||
- link "View all jobs" [ref=e209] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- text: View all jobs
|
||||
- img [ref=e210]
|
||||
- link "01 Test5 Created 4/30/2026 • source.mp4 Completed" [ref=e214] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/69f3b6d2cde5f3709e55301e
|
||||
- generic [ref=e215]:
|
||||
- generic [ref=e217]: "01"
|
||||
- generic [ref=e218]:
|
||||
- heading "Test5" [level=3] [ref=e219]
|
||||
- generic [ref=e220]:
|
||||
- generic [ref=e221]: Created 4/30/2026
|
||||
- generic [ref=e222]: • source.mp4
|
||||
- generic [ref=e223]:
|
||||
- generic [ref=e224]: Completed
|
||||
- img [ref=e225]
|
||||
160
.playwright-mcp/page-2026-05-01T12-32-25-343Z.yml
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
- generic [ref=e61]:
|
||||
- generic [ref=e63]:
|
||||
- generic [ref=e65]:
|
||||
- generic [ref=e67]: VA
|
||||
- generic [ref=e68]:
|
||||
- heading "Video Access" [level=1] [ref=e69]
|
||||
- paragraph [ref=e70]: Accessibility Platform
|
||||
- navigation [ref=e71]:
|
||||
- link "🏠 Dashboard" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e73]: 🏠
|
||||
- generic [ref=e74]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e75] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e76]: 📋
|
||||
- generic [ref=e77]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e78] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e79]: 📤
|
||||
- generic [ref=e80]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e81] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e82]: 📝
|
||||
- generic [ref=e83]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e85]: 🔎
|
||||
- generic [ref=e86]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e87] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e88]: 🔍
|
||||
- generic [ref=e89]: QC Review
|
||||
- link "✅ Final Review" [ref=e90] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e91]: ✅
|
||||
- generic [ref=e92]: Final Review
|
||||
- link "👥 User Management" [ref=e93] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e94]: 👥
|
||||
- generic [ref=e95]: User Management
|
||||
- link "🏢 Clients" [ref=e96] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e97]: 🏢
|
||||
- generic [ref=e98]: Clients
|
||||
- link "📄 Briefs" [ref=e99] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e100]: 📄
|
||||
- generic [ref=e101]: Briefs
|
||||
- link "🔥 Failures" [ref=e102] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e103]: 🔥
|
||||
- generic [ref=e104]: Failures
|
||||
- link "📋 Audit Log" [ref=e105] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e106]: 📋
|
||||
- generic [ref=e107]: Audit Log
|
||||
- link "📖 Help" [ref=e109] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e110]: 📖
|
||||
- generic [ref=e111]: Help
|
||||
- generic [ref=e113]:
|
||||
- generic [ref=e115]: T
|
||||
- generic [ref=e116]:
|
||||
- paragraph [ref=e117]: test-admin@oliver.agency
|
||||
- paragraph [ref=e118]: admin
|
||||
- generic [ref=e119]:
|
||||
- navigation [ref=e120]:
|
||||
- generic [ref=e121]:
|
||||
- heading "Dashboard" [level=2] [ref=e123]
|
||||
- generic [ref=e124]:
|
||||
- button [ref=e126]:
|
||||
- img [ref=e127]
|
||||
- link "New Upload" [ref=e129] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e130]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e133]:
|
||||
- generic [ref=e135]: T
|
||||
- generic [ref=e136]:
|
||||
- paragraph [ref=e137]: test-admin@oliver.agency
|
||||
- paragraph [ref=e138]: admin
|
||||
- img [ref=e139]
|
||||
- main [ref=e141]:
|
||||
- generic [ref=e142]:
|
||||
- generic [ref=e144]:
|
||||
- generic [ref=e145]:
|
||||
- heading "Welcome back, test-admin! 👋" [level=1] [ref=e146]
|
||||
- paragraph [ref=e147]: Here's what's happening with your video accessibility projects
|
||||
- generic [ref=e149]:
|
||||
- paragraph [ref=e150]: Today
|
||||
- paragraph [ref=e151]: Friday, May 1
|
||||
- generic [ref=e152]:
|
||||
- link "📋 Total Jobs 1 View all →" [ref=e153] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e155]:
|
||||
- generic [ref=e156]:
|
||||
- generic [ref=e158]: 📋
|
||||
- heading "Total Jobs" [level=3] [ref=e159]
|
||||
- paragraph [ref=e160]: "1"
|
||||
- paragraph [ref=e161]: View all →
|
||||
- link "⚙️ Processing 0 View processing →" [ref=e162] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs?status=created,ingesting,ai_processing,translating,tts_generating,rendering_video,rendering_qc
|
||||
- generic [ref=e164]:
|
||||
- generic [ref=e165]:
|
||||
- generic [ref=e167]: ⚙️
|
||||
- heading "Processing" [level=3] [ref=e168]
|
||||
- paragraph [ref=e169]: "0"
|
||||
- paragraph [ref=e170]: View processing →
|
||||
- link "🔍 In QC Review 0 Review now →" [ref=e171] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e173]:
|
||||
- generic [ref=e174]:
|
||||
- generic [ref=e176]: 🔍
|
||||
- heading "In QC Review" [level=3] [ref=e177]
|
||||
- paragraph [ref=e178]: "0"
|
||||
- paragraph [ref=e179]: Review now →
|
||||
- link "✅ Completed 1 View completed →" [ref=e180] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs?status=completed
|
||||
- generic [ref=e182]:
|
||||
- generic [ref=e183]:
|
||||
- generic [ref=e185]: ✅
|
||||
- heading "Completed" [level=3] [ref=e186]
|
||||
- paragraph [ref=e187]: "1"
|
||||
- paragraph [ref=e188]: View completed →
|
||||
- generic [ref=e189]:
|
||||
- generic [ref=e190]:
|
||||
- generic [ref=e191]:
|
||||
- generic [ref=e193]: 🔍
|
||||
- heading "Quality Control" [level=2] [ref=e194]
|
||||
- paragraph [ref=e195]: 0 jobs awaiting review
|
||||
- paragraph [ref=e196]: Review AI-generated content for accuracy and compliance with accessibility standards.
|
||||
- link "Start Reviewing →" [ref=e197] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e198]:
|
||||
- generic [ref=e199]:
|
||||
- generic [ref=e201]: ✅
|
||||
- heading "Final Approval" [level=2] [ref=e202]
|
||||
- paragraph [ref=e203]: Jobs ready for delivery
|
||||
- paragraph [ref=e204]: Complete the final review process and approve jobs for client delivery.
|
||||
- link "Review Finals →" [ref=e205] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e206]:
|
||||
- generic [ref=e207]:
|
||||
- heading "Recent Activity" [level=2] [ref=e208]
|
||||
- link "View all jobs" [ref=e209] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- text: View all jobs
|
||||
- img [ref=e210]
|
||||
- link "01 Test5 Created 4/30/2026 • source.mp4 Completed" [ref=e214] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/69f3b6d2cde5f3709e55301e
|
||||
- generic [ref=e215]:
|
||||
- generic [ref=e217]: "01"
|
||||
- generic [ref=e218]:
|
||||
- heading "Test5" [level=3] [ref=e219]
|
||||
- generic [ref=e220]:
|
||||
- generic [ref=e221]: Created 4/30/2026
|
||||
- generic [ref=e222]: • source.mp4
|
||||
- generic [ref=e223]:
|
||||
- generic [ref=e224]: Completed
|
||||
- img [ref=e225]
|
||||
139
.playwright-mcp/page-2026-05-01T12-32-49-662Z.yml
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
- generic [ref=e61]:
|
||||
- generic [ref=e63]:
|
||||
- generic [ref=e65]:
|
||||
- generic [ref=e67]: VA
|
||||
- generic [ref=e68]:
|
||||
- heading "Video Access" [level=1] [ref=e69]
|
||||
- paragraph [ref=e70]: Accessibility Platform
|
||||
- navigation [ref=e71]:
|
||||
- link "🏠 Dashboard" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e73]: 🏠
|
||||
- generic [ref=e74]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e75] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e76]: 📋
|
||||
- generic [ref=e77]: All Jobs
|
||||
- link "📤 Upload Video" [active] [ref=e78] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e79]: 📤
|
||||
- generic [ref=e80]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e81] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e82]: 📝
|
||||
- generic [ref=e83]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e85]: 🔎
|
||||
- generic [ref=e86]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e87] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e88]: 🔍
|
||||
- generic [ref=e89]: QC Review
|
||||
- link "✅ Final Review" [ref=e90] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e91]: ✅
|
||||
- generic [ref=e92]: Final Review
|
||||
- link "👥 User Management" [ref=e93] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e94]: 👥
|
||||
- generic [ref=e95]: User Management
|
||||
- link "🏢 Clients" [ref=e96] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e97]: 🏢
|
||||
- generic [ref=e98]: Clients
|
||||
- link "📄 Briefs" [ref=e99] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e100]: 📄
|
||||
- generic [ref=e101]: Briefs
|
||||
- link "🔥 Failures" [ref=e102] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e103]: 🔥
|
||||
- generic [ref=e104]: Failures
|
||||
- link "📋 Audit Log" [ref=e105] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e106]: 📋
|
||||
- generic [ref=e107]: Audit Log
|
||||
- link "📖 Help" [ref=e109] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e110]: 📖
|
||||
- generic [ref=e111]: Help
|
||||
- generic [ref=e113]:
|
||||
- generic [ref=e115]: T
|
||||
- generic [ref=e116]:
|
||||
- paragraph [ref=e117]: test-admin@oliver.agency
|
||||
- paragraph [ref=e118]: admin
|
||||
- generic [ref=e119]:
|
||||
- navigation [ref=e120]:
|
||||
- generic [ref=e121]:
|
||||
- heading "Dashboard" [level=2] [ref=e123]
|
||||
- generic [ref=e124]:
|
||||
- button [ref=e126]:
|
||||
- img [ref=e127]
|
||||
- link "New Upload" [ref=e129] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e130]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e133]:
|
||||
- generic [ref=e135]: T
|
||||
- generic [ref=e136]:
|
||||
- paragraph [ref=e137]: test-admin@oliver.agency
|
||||
- paragraph [ref=e138]: admin
|
||||
- img [ref=e139]
|
||||
- main [ref=e141]:
|
||||
- generic [ref=e227]:
|
||||
- heading "Create New Job" [level=1] [ref=e228]
|
||||
- generic [ref=e229]:
|
||||
- generic [ref=e230]:
|
||||
- generic [ref=e231]: Video File
|
||||
- generic [ref=e233] [cursor=pointer]:
|
||||
- button "Choose File" [ref=e234]
|
||||
- generic [ref=e235]:
|
||||
- img [ref=e237]
|
||||
- generic [ref=e239]:
|
||||
- paragraph [ref=e240]: Drag and drop video files here, or click to select
|
||||
- paragraph [ref=e241]: Supports MP4, MOV, AVI, MKV up to 1024MB each
|
||||
- generic [ref=e242]:
|
||||
- generic [ref=e243]: Requested Outputs
|
||||
- generic [ref=e244]:
|
||||
- generic [ref=e245]:
|
||||
- checkbox "Closed Captions (VTT)" [checked] [ref=e246]
|
||||
- generic [ref=e247]: Closed Captions (VTT)
|
||||
- generic [ref=e248]:
|
||||
- checkbox "Audio Description Script (VTT)" [checked] [ref=e249]
|
||||
- generic [ref=e250]: Audio Description Script (VTT)
|
||||
- generic [ref=e251]:
|
||||
- checkbox "Audio Description Voiceover (MP3)" [checked] [ref=e252]
|
||||
- generic [ref=e253]: Audio Description Voiceover (MP3)
|
||||
- generic [ref=e254]:
|
||||
- checkbox "Accessible Video (MP4 with embedded audio descriptions)" [ref=e255]
|
||||
- generic [ref=e256]: Accessible Video (MP4 with embedded audio descriptions)
|
||||
- generic [ref=e257]:
|
||||
- checkbox "SDH Captions (VTT with speaker labels, sound effects & music notation)" [ref=e258]
|
||||
- generic [ref=e259]: SDH Captions (VTT with speaker labels, sound effects & music notation)
|
||||
- button "Voice Settings Click to customize TTS voice" [ref=e261]:
|
||||
- generic [ref=e262]:
|
||||
- img [ref=e263]
|
||||
- generic [ref=e265]: Voice Settings
|
||||
- generic [ref=e266]: Click to customize TTS voice
|
||||
- generic [ref=e267]:
|
||||
- generic [ref=e268]: Target Languages for Translation
|
||||
- generic [ref=e271]:
|
||||
- textbox "Search languages" [ref=e272]:
|
||||
- /placeholder: Search languages...
|
||||
- button [ref=e273]:
|
||||
- img [ref=e274]
|
||||
- paragraph [ref=e276]: 50 languages available
|
||||
- generic [ref=e278]:
|
||||
- generic [ref=e279]: Client *
|
||||
- combobox [ref=e280]:
|
||||
- option "— Select client —" [selected]
|
||||
- option "3M-Test"
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]: Deadline (optional)
|
||||
- textbox [ref=e283]
|
||||
- generic [ref=e284]:
|
||||
- generic [ref=e285]: Brand Names (optional)
|
||||
- textbox "e.g. Sellotape, Coca-Cola, Apple iPhone" [ref=e286]
|
||||
- paragraph [ref=e287]: List brand names visible in the video so the AI uses them instead of generic terms (e.g. "Sellotape" instead of "sticky tape").
|
||||
- button "Create Job" [disabled] [ref=e289]
|
||||
139
.playwright-mcp/page-2026-05-01T12-32-53-502Z.yml
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
- generic [ref=e61]:
|
||||
- generic [ref=e63]:
|
||||
- generic [ref=e65]:
|
||||
- generic [ref=e67]: VA
|
||||
- generic [ref=e68]:
|
||||
- heading "Video Access" [level=1] [ref=e69]
|
||||
- paragraph [ref=e70]: Accessibility Platform
|
||||
- navigation [ref=e71]:
|
||||
- link "🏠 Dashboard" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e73]: 🏠
|
||||
- generic [ref=e74]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e75] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e76]: 📋
|
||||
- generic [ref=e77]: All Jobs
|
||||
- link "📤 Upload Video" [active] [ref=e78] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e79]: 📤
|
||||
- generic [ref=e80]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e81] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e82]: 📝
|
||||
- generic [ref=e83]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e85]: 🔎
|
||||
- generic [ref=e86]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e87] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e88]: 🔍
|
||||
- generic [ref=e89]: QC Review
|
||||
- link "✅ Final Review" [ref=e90] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e91]: ✅
|
||||
- generic [ref=e92]: Final Review
|
||||
- link "👥 User Management" [ref=e93] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e94]: 👥
|
||||
- generic [ref=e95]: User Management
|
||||
- link "🏢 Clients" [ref=e96] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e97]: 🏢
|
||||
- generic [ref=e98]: Clients
|
||||
- link "📄 Briefs" [ref=e99] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e100]: 📄
|
||||
- generic [ref=e101]: Briefs
|
||||
- link "🔥 Failures" [ref=e102] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e103]: 🔥
|
||||
- generic [ref=e104]: Failures
|
||||
- link "📋 Audit Log" [ref=e105] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e106]: 📋
|
||||
- generic [ref=e107]: Audit Log
|
||||
- link "📖 Help" [ref=e109] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e110]: 📖
|
||||
- generic [ref=e111]: Help
|
||||
- generic [ref=e113]:
|
||||
- generic [ref=e115]: T
|
||||
- generic [ref=e116]:
|
||||
- paragraph [ref=e117]: test-admin@oliver.agency
|
||||
- paragraph [ref=e118]: admin
|
||||
- generic [ref=e119]:
|
||||
- navigation [ref=e120]:
|
||||
- generic [ref=e121]:
|
||||
- heading "Dashboard" [level=2] [ref=e123]
|
||||
- generic [ref=e124]:
|
||||
- button [ref=e126]:
|
||||
- img [ref=e127]
|
||||
- link "New Upload" [ref=e129] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e130]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e133]:
|
||||
- generic [ref=e135]: T
|
||||
- generic [ref=e136]:
|
||||
- paragraph [ref=e137]: test-admin@oliver.agency
|
||||
- paragraph [ref=e138]: admin
|
||||
- img [ref=e139]
|
||||
- main [ref=e141]:
|
||||
- generic [ref=e227]:
|
||||
- heading "Create New Job" [level=1] [ref=e228]
|
||||
- generic [ref=e229]:
|
||||
- generic [ref=e230]:
|
||||
- generic [ref=e231]: Video File
|
||||
- generic [ref=e233] [cursor=pointer]:
|
||||
- button "Choose File" [ref=e234]
|
||||
- generic [ref=e235]:
|
||||
- img [ref=e237]
|
||||
- generic [ref=e239]:
|
||||
- paragraph [ref=e240]: Drag and drop video files here, or click to select
|
||||
- paragraph [ref=e241]: Supports MP4, MOV, AVI, MKV up to 1024MB each
|
||||
- generic [ref=e242]:
|
||||
- generic [ref=e243]: Requested Outputs
|
||||
- generic [ref=e244]:
|
||||
- generic [ref=e245]:
|
||||
- checkbox "Closed Captions (VTT)" [checked] [ref=e246]
|
||||
- generic [ref=e247]: Closed Captions (VTT)
|
||||
- generic [ref=e248]:
|
||||
- checkbox "Audio Description Script (VTT)" [checked] [ref=e249]
|
||||
- generic [ref=e250]: Audio Description Script (VTT)
|
||||
- generic [ref=e251]:
|
||||
- checkbox "Audio Description Voiceover (MP3)" [checked] [ref=e252]
|
||||
- generic [ref=e253]: Audio Description Voiceover (MP3)
|
||||
- generic [ref=e254]:
|
||||
- checkbox "Accessible Video (MP4 with embedded audio descriptions)" [ref=e255]
|
||||
- generic [ref=e256]: Accessible Video (MP4 with embedded audio descriptions)
|
||||
- generic [ref=e257]:
|
||||
- checkbox "SDH Captions (VTT with speaker labels, sound effects & music notation)" [ref=e258]
|
||||
- generic [ref=e259]: SDH Captions (VTT with speaker labels, sound effects & music notation)
|
||||
- button "Voice Settings Click to customize TTS voice" [ref=e261]:
|
||||
- generic [ref=e262]:
|
||||
- img [ref=e263]
|
||||
- generic [ref=e265]: Voice Settings
|
||||
- generic [ref=e266]: Click to customize TTS voice
|
||||
- generic [ref=e267]:
|
||||
- generic [ref=e268]: Target Languages for Translation
|
||||
- generic [ref=e271]:
|
||||
- textbox "Search languages" [ref=e272]:
|
||||
- /placeholder: Search languages...
|
||||
- button [ref=e273]:
|
||||
- img [ref=e274]
|
||||
- paragraph [ref=e276]: 50 languages available
|
||||
- generic [ref=e278]:
|
||||
- generic [ref=e279]: Client *
|
||||
- combobox [ref=e280]:
|
||||
- option "— Select client —" [selected]
|
||||
- option "3M-Test"
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]: Deadline (optional)
|
||||
- textbox [ref=e283]
|
||||
- generic [ref=e284]:
|
||||
- generic [ref=e285]: Brand Names (optional)
|
||||
- textbox "e.g. Sellotape, Coca-Cola, Apple iPhone" [ref=e286]
|
||||
- paragraph [ref=e287]: List brand names visible in the video so the AI uses them instead of generic terms (e.g. "Sellotape" instead of "sticky tape").
|
||||
- button "Create Job" [disabled] [ref=e289]
|
||||
210
.playwright-mcp/page-2026-05-01T12-33-08-007Z.yml
Normal file
|
|
@ -0,0 +1,210 @@
|
|||
- generic [ref=e61]:
|
||||
- generic [ref=e63]:
|
||||
- generic [ref=e65]:
|
||||
- generic [ref=e67]: VA
|
||||
- generic [ref=e68]:
|
||||
- heading "Video Access" [level=1] [ref=e69]
|
||||
- paragraph [ref=e70]: Accessibility Platform
|
||||
- navigation [ref=e71]:
|
||||
- link "🏠 Dashboard" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e73]: 🏠
|
||||
- generic [ref=e74]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e75] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e76]: 📋
|
||||
- generic [ref=e77]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e78] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e79]: 📤
|
||||
- generic [ref=e80]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e81] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e82]: 📝
|
||||
- generic [ref=e83]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e85]: 🔎
|
||||
- generic [ref=e86]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e87] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e88]: 🔍
|
||||
- generic [ref=e89]: QC Review
|
||||
- link "✅ Final Review" [ref=e90] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e91]: ✅
|
||||
- generic [ref=e92]: Final Review
|
||||
- link "👥 User Management" [ref=e93] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e94]: 👥
|
||||
- generic [ref=e95]: User Management
|
||||
- link "🏢 Clients" [ref=e96] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e97]: 🏢
|
||||
- generic [ref=e98]: Clients
|
||||
- link "📄 Briefs" [ref=e99] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e100]: 📄
|
||||
- generic [ref=e101]: Briefs
|
||||
- link "🔥 Failures" [ref=e102] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e103]: 🔥
|
||||
- generic [ref=e104]: Failures
|
||||
- link "📋 Audit Log" [ref=e105] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e106]: 📋
|
||||
- generic [ref=e107]: Audit Log
|
||||
- link "📖 Help" [ref=e109] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e110]: 📖
|
||||
- generic [ref=e111]: Help
|
||||
- generic [ref=e113]:
|
||||
- generic [ref=e115]: T
|
||||
- generic [ref=e116]:
|
||||
- paragraph [ref=e117]: test-admin@oliver.agency
|
||||
- paragraph [ref=e118]: admin
|
||||
- generic [ref=e119]:
|
||||
- navigation [ref=e120]:
|
||||
- generic [ref=e121]:
|
||||
- heading "Dashboard" [level=2] [ref=e123]
|
||||
- generic [ref=e124]:
|
||||
- button [ref=e126]:
|
||||
- img [ref=e127]
|
||||
- link "New Upload" [ref=e129] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e130]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e133]:
|
||||
- generic [ref=e135]: T
|
||||
- generic [ref=e136]:
|
||||
- paragraph [ref=e137]: test-admin@oliver.agency
|
||||
- paragraph [ref=e138]: admin
|
||||
- img [ref=e139]
|
||||
- main [ref=e141]:
|
||||
- generic [ref=e227]:
|
||||
- heading "Create New Job" [level=1] [ref=e228]
|
||||
- generic [ref=e229]:
|
||||
- generic [ref=e230]:
|
||||
- generic [ref=e231]: Video File
|
||||
- generic [ref=e233] [cursor=pointer]:
|
||||
- button "Choose File" [ref=e234]
|
||||
- generic [ref=e235]:
|
||||
- img [ref=e237]
|
||||
- generic [ref=e239]:
|
||||
- paragraph [ref=e240]: Drag and drop video files here, or click to select
|
||||
- paragraph [ref=e241]: Supports MP4, MOV, AVI, MKV up to 1024MB each
|
||||
- generic [ref=e242]:
|
||||
- generic [ref=e243]: Requested Outputs
|
||||
- generic [ref=e244]:
|
||||
- generic [ref=e245]:
|
||||
- checkbox "Closed Captions (VTT)" [checked] [ref=e246]
|
||||
- generic [ref=e247]: Closed Captions (VTT)
|
||||
- generic [ref=e248]:
|
||||
- checkbox "Audio Description Script (VTT)" [checked] [ref=e249]
|
||||
- generic [ref=e250]: Audio Description Script (VTT)
|
||||
- generic [ref=e251]:
|
||||
- checkbox "Audio Description Voiceover (MP3)" [checked] [ref=e252]
|
||||
- generic [ref=e253]: Audio Description Voiceover (MP3)
|
||||
- generic [ref=e254]:
|
||||
- checkbox "Accessible Video (MP4 with embedded audio descriptions)" [ref=e255]
|
||||
- generic [ref=e256]: Accessible Video (MP4 with embedded audio descriptions)
|
||||
- generic [ref=e257]:
|
||||
- checkbox "SDH Captions (VTT with speaker labels, sound effects & music notation)" [ref=e258]
|
||||
- generic [ref=e259]: SDH Captions (VTT with speaker labels, sound effects & music notation)
|
||||
- generic [ref=e260]:
|
||||
- button "Voice Settings Click to collapse" [active] [ref=e290]:
|
||||
- generic [ref=e262]:
|
||||
- img [ref=e263]
|
||||
- generic [ref=e265]: Voice Settings
|
||||
- generic [ref=e266]: Click to collapse
|
||||
- generic [ref=e292]:
|
||||
- generic [ref=e293]:
|
||||
- generic [ref=e294]: TTS Provider
|
||||
- generic [ref=e295]:
|
||||
- button "Gemini" [ref=e296]
|
||||
- button "ElevenLabs" [ref=e297]
|
||||
- generic [ref=e298]:
|
||||
- generic [ref=e299]: Default Voice
|
||||
- paragraph [ref=e300]: This voice will be used for all languages unless overridden below.
|
||||
- generic [ref=e301]:
|
||||
- combobox [ref=e302]:
|
||||
- option "Zephyr"
|
||||
- option "Puck"
|
||||
- option "Charon"
|
||||
- option "Kore" [selected]
|
||||
- option "Fenrir"
|
||||
- option "Leda"
|
||||
- option "Orus"
|
||||
- option "Aoede"
|
||||
- option "Callirrhoe"
|
||||
- option "Autonoe"
|
||||
- option "Enceladus"
|
||||
- option "Iapetus"
|
||||
- option "Umbriel"
|
||||
- option "Algieba"
|
||||
- option "Despina"
|
||||
- option "Erinome"
|
||||
- option "Algenib"
|
||||
- option "Rasalgethi"
|
||||
- option "Laomedeia"
|
||||
- option "Achernar"
|
||||
- option "Alnilam"
|
||||
- option "Schedar"
|
||||
- option "Gacrux"
|
||||
- option "Pulcherrima"
|
||||
- option "Achird"
|
||||
- option "Zubenelgenubi"
|
||||
- option "Vindemiatrix"
|
||||
- option "Sadachbia"
|
||||
- option "Sadaltager"
|
||||
- option "Sulafat"
|
||||
- button "Preview" [ref=e304]:
|
||||
- img [ref=e305]
|
||||
- text: Preview
|
||||
- generic [ref=e307]:
|
||||
- generic [ref=e308]:
|
||||
- generic [ref=e309]: Quality / Model
|
||||
- paragraph [ref=e310]: Flash is faster and more cost-efficient. Pro offers higher quality output.
|
||||
- combobox [ref=e311]:
|
||||
- option "Flash (Fast, Cost-efficient)" [selected]
|
||||
- option "Pro (Higher Quality)"
|
||||
- generic [ref=e312]:
|
||||
- generic [ref=e313]: "Speed: 1.0x"
|
||||
- paragraph [ref=e314]: Adjust the speech rate. 1.0x is normal speed.
|
||||
- slider [ref=e315] [cursor=pointer]: "1"
|
||||
- generic [ref=e316]:
|
||||
- generic [ref=e317]: 0.5x (Slow)
|
||||
- generic [ref=e318]: 1.0x (Normal)
|
||||
- generic [ref=e319]: 2x (Fast)
|
||||
- generic [ref=e320]:
|
||||
- generic [ref=e321]: Speaking Style
|
||||
- paragraph [ref=e322]: Choose a preset style or create a custom prompt for the voice.
|
||||
- combobox [ref=e323]:
|
||||
- option "Neutral" [selected]
|
||||
- option "Calm & Soothing"
|
||||
- option "Energetic"
|
||||
- option "Professional"
|
||||
- option "Warm & Friendly"
|
||||
- option "Documentary"
|
||||
- option "Custom Prompt"
|
||||
- generic [ref=e267]:
|
||||
- generic [ref=e268]: Target Languages for Translation
|
||||
- generic [ref=e271]:
|
||||
- textbox "Search languages" [ref=e272]:
|
||||
- /placeholder: Search languages...
|
||||
- button [ref=e273]:
|
||||
- img [ref=e274]
|
||||
- paragraph [ref=e276]: 50 languages available
|
||||
- generic [ref=e278]:
|
||||
- generic [ref=e279]: Client *
|
||||
- combobox [ref=e280]:
|
||||
- option "— Select client —" [selected]
|
||||
- option "3M-Test"
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]: Deadline (optional)
|
||||
- textbox [ref=e283]
|
||||
- generic [ref=e284]:
|
||||
- generic [ref=e285]: Brand Names (optional)
|
||||
- textbox "e.g. Sellotape, Coca-Cola, Apple iPhone" [ref=e286]
|
||||
- paragraph [ref=e287]: List brand names visible in the video so the AI uses them instead of generic terms (e.g. "Sellotape" instead of "sticky tape").
|
||||
- button "Create Job" [disabled] [ref=e289]
|
||||
217
.playwright-mcp/page-2026-05-01T12-35-09-662Z.yml
Normal file
|
|
@ -0,0 +1,217 @@
|
|||
- generic [ref=e61]:
|
||||
- generic [ref=e63]:
|
||||
- generic [ref=e65]:
|
||||
- generic [ref=e67]: VA
|
||||
- generic [ref=e68]:
|
||||
- heading "Video Access" [level=1] [ref=e69]
|
||||
- paragraph [ref=e70]: Accessibility Platform
|
||||
- navigation [ref=e71]:
|
||||
- link "🏠 Dashboard" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e73]: 🏠
|
||||
- generic [ref=e74]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e75] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e76]: 📋
|
||||
- generic [ref=e77]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e78] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e79]: 📤
|
||||
- generic [ref=e80]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e81] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e82]: 📝
|
||||
- generic [ref=e83]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e85]: 🔎
|
||||
- generic [ref=e86]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e87] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e88]: 🔍
|
||||
- generic [ref=e89]: QC Review
|
||||
- link "✅ Final Review" [ref=e90] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e91]: ✅
|
||||
- generic [ref=e92]: Final Review
|
||||
- link "👥 User Management" [ref=e93] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e94]: 👥
|
||||
- generic [ref=e95]: User Management
|
||||
- link "🏢 Clients" [ref=e96] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e97]: 🏢
|
||||
- generic [ref=e98]: Clients
|
||||
- link "📄 Briefs" [ref=e99] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e100]: 📄
|
||||
- generic [ref=e101]: Briefs
|
||||
- link "🔥 Failures" [ref=e102] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e103]: 🔥
|
||||
- generic [ref=e104]: Failures
|
||||
- link "📋 Audit Log" [ref=e105] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e106]: 📋
|
||||
- generic [ref=e107]: Audit Log
|
||||
- link "📖 Help" [ref=e109] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e110]: 📖
|
||||
- generic [ref=e111]: Help
|
||||
- generic [ref=e113]:
|
||||
- generic [ref=e115]: T
|
||||
- generic [ref=e116]:
|
||||
- paragraph [ref=e117]: test-admin@oliver.agency
|
||||
- paragraph [ref=e118]: admin
|
||||
- generic [ref=e119]:
|
||||
- navigation [ref=e120]:
|
||||
- generic [ref=e121]:
|
||||
- heading "Dashboard" [level=2] [ref=e123]
|
||||
- generic [ref=e124]:
|
||||
- button [ref=e126]:
|
||||
- img [ref=e127]
|
||||
- link "New Upload" [ref=e129] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e130]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e133]:
|
||||
- generic [ref=e135]: T
|
||||
- generic [ref=e136]:
|
||||
- paragraph [ref=e137]: test-admin@oliver.agency
|
||||
- paragraph [ref=e138]: admin
|
||||
- img [ref=e139]
|
||||
- main [ref=e141]:
|
||||
- generic [ref=e227]:
|
||||
- heading "Create New Job" [level=1] [ref=e228]
|
||||
- generic [ref=e229]:
|
||||
- generic [ref=e230]:
|
||||
- generic [ref=e231]: Video File
|
||||
- generic [ref=e233] [cursor=pointer]:
|
||||
- button "Choose File" [ref=e234]
|
||||
- generic [ref=e235]:
|
||||
- img [ref=e237]
|
||||
- generic [ref=e239]:
|
||||
- paragraph [ref=e240]: Drag and drop video files here, or click to select
|
||||
- paragraph [ref=e241]: Supports MP4, MOV, AVI, MKV up to 1024MB each
|
||||
- generic [ref=e324]:
|
||||
- generic [ref=e325]: "Selected: test-video.mp4 (39MB)"
|
||||
- button [ref=e326]:
|
||||
- img [ref=e327]
|
||||
- generic [ref=e329]:
|
||||
- generic [ref=e330]: Job Title
|
||||
- textbox "Enter a descriptive title for this video" [ref=e331]: test-video
|
||||
- generic [ref=e242]:
|
||||
- generic [ref=e243]: Requested Outputs
|
||||
- generic [ref=e244]:
|
||||
- generic [ref=e245]:
|
||||
- checkbox "Closed Captions (VTT)" [checked] [ref=e246]
|
||||
- generic [ref=e247]: Closed Captions (VTT)
|
||||
- generic [ref=e248]:
|
||||
- checkbox "Audio Description Script (VTT)" [checked] [ref=e249]
|
||||
- generic [ref=e250]: Audio Description Script (VTT)
|
||||
- generic [ref=e251]:
|
||||
- checkbox "Audio Description Voiceover (MP3)" [checked] [ref=e252]
|
||||
- generic [ref=e253]: Audio Description Voiceover (MP3)
|
||||
- generic [ref=e254]:
|
||||
- checkbox "Accessible Video (MP4 with embedded audio descriptions)" [ref=e255]
|
||||
- generic [ref=e256]: Accessible Video (MP4 with embedded audio descriptions)
|
||||
- generic [ref=e257]:
|
||||
- checkbox "SDH Captions (VTT with speaker labels, sound effects & music notation)" [ref=e258]
|
||||
- generic [ref=e259]: SDH Captions (VTT with speaker labels, sound effects & music notation)
|
||||
- generic [ref=e260]:
|
||||
- button "Voice Settings Click to collapse" [active] [ref=e290]:
|
||||
- generic [ref=e262]:
|
||||
- img [ref=e263]
|
||||
- generic [ref=e265]: Voice Settings
|
||||
- generic [ref=e266]: Click to collapse
|
||||
- generic [ref=e292]:
|
||||
- generic [ref=e293]:
|
||||
- generic [ref=e294]: TTS Provider
|
||||
- generic [ref=e295]:
|
||||
- button "Gemini" [ref=e296]
|
||||
- button "ElevenLabs" [ref=e297]
|
||||
- generic [ref=e298]:
|
||||
- generic [ref=e299]: Default Voice
|
||||
- paragraph [ref=e300]: This voice will be used for all languages unless overridden below.
|
||||
- generic [ref=e301]:
|
||||
- combobox [ref=e302]:
|
||||
- option "Zephyr"
|
||||
- option "Puck"
|
||||
- option "Charon"
|
||||
- option "Kore" [selected]
|
||||
- option "Fenrir"
|
||||
- option "Leda"
|
||||
- option "Orus"
|
||||
- option "Aoede"
|
||||
- option "Callirrhoe"
|
||||
- option "Autonoe"
|
||||
- option "Enceladus"
|
||||
- option "Iapetus"
|
||||
- option "Umbriel"
|
||||
- option "Algieba"
|
||||
- option "Despina"
|
||||
- option "Erinome"
|
||||
- option "Algenib"
|
||||
- option "Rasalgethi"
|
||||
- option "Laomedeia"
|
||||
- option "Achernar"
|
||||
- option "Alnilam"
|
||||
- option "Schedar"
|
||||
- option "Gacrux"
|
||||
- option "Pulcherrima"
|
||||
- option "Achird"
|
||||
- option "Zubenelgenubi"
|
||||
- option "Vindemiatrix"
|
||||
- option "Sadachbia"
|
||||
- option "Sadaltager"
|
||||
- option "Sulafat"
|
||||
- button "Preview" [ref=e304]:
|
||||
- img [ref=e305]
|
||||
- text: Preview
|
||||
- generic [ref=e307]:
|
||||
- generic [ref=e308]:
|
||||
- generic [ref=e309]: Quality / Model
|
||||
- paragraph [ref=e310]: Flash is faster and more cost-efficient. Pro offers higher quality output.
|
||||
- combobox [ref=e311]:
|
||||
- option "Flash (Fast, Cost-efficient)" [selected]
|
||||
- option "Pro (Higher Quality)"
|
||||
- generic [ref=e312]:
|
||||
- generic [ref=e313]: "Speed: 1.0x"
|
||||
- paragraph [ref=e314]: Adjust the speech rate. 1.0x is normal speed.
|
||||
- slider [ref=e315] [cursor=pointer]: "1"
|
||||
- generic [ref=e316]:
|
||||
- generic [ref=e317]: 0.5x (Slow)
|
||||
- generic [ref=e318]: 1.0x (Normal)
|
||||
- generic [ref=e319]: 2x (Fast)
|
||||
- generic [ref=e320]:
|
||||
- generic [ref=e321]: Speaking Style
|
||||
- paragraph [ref=e322]: Choose a preset style or create a custom prompt for the voice.
|
||||
- combobox [ref=e323]:
|
||||
- option "Neutral" [selected]
|
||||
- option "Calm & Soothing"
|
||||
- option "Energetic"
|
||||
- option "Professional"
|
||||
- option "Warm & Friendly"
|
||||
- option "Documentary"
|
||||
- option "Custom Prompt"
|
||||
- generic [ref=e267]:
|
||||
- generic [ref=e268]: Target Languages for Translation
|
||||
- generic [ref=e271]:
|
||||
- textbox "Search languages" [ref=e272]:
|
||||
- /placeholder: Search languages...
|
||||
- button [ref=e273]:
|
||||
- img [ref=e274]
|
||||
- paragraph [ref=e276]: 50 languages available
|
||||
- generic [ref=e278]:
|
||||
- generic [ref=e279]: Client *
|
||||
- combobox [ref=e280]:
|
||||
- option "— Select client —" [selected]
|
||||
- option "3M-Test"
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]: Deadline (optional)
|
||||
- textbox [ref=e283]
|
||||
- generic [ref=e284]:
|
||||
- generic [ref=e285]: Brand Names (optional)
|
||||
- textbox "e.g. Sellotape, Coca-Cola, Apple iPhone" [ref=e286]
|
||||
- paragraph [ref=e287]: List brand names visible in the video so the AI uses them instead of generic terms (e.g. "Sellotape" instead of "sticky tape").
|
||||
- button "Create Job" [ref=e289]
|
||||
217
.playwright-mcp/page-2026-05-01T12-38-26-467Z.yml
Normal file
|
|
@ -0,0 +1,217 @@
|
|||
- generic [ref=e61]:
|
||||
- generic [ref=e63]:
|
||||
- generic [ref=e65]:
|
||||
- generic [ref=e67]: VA
|
||||
- generic [ref=e68]:
|
||||
- heading "Video Access" [level=1] [ref=e69]
|
||||
- paragraph [ref=e70]: Accessibility Platform
|
||||
- navigation [ref=e71]:
|
||||
- link "🏠 Dashboard" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e73]: 🏠
|
||||
- generic [ref=e74]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e75] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e76]: 📋
|
||||
- generic [ref=e77]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e78] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e79]: 📤
|
||||
- generic [ref=e80]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e81] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e82]: 📝
|
||||
- generic [ref=e83]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e85]: 🔎
|
||||
- generic [ref=e86]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e87] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e88]: 🔍
|
||||
- generic [ref=e89]: QC Review
|
||||
- link "✅ Final Review" [ref=e90] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e91]: ✅
|
||||
- generic [ref=e92]: Final Review
|
||||
- link "👥 User Management" [ref=e93] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e94]: 👥
|
||||
- generic [ref=e95]: User Management
|
||||
- link "🏢 Clients" [ref=e96] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e97]: 🏢
|
||||
- generic [ref=e98]: Clients
|
||||
- link "📄 Briefs" [ref=e99] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e100]: 📄
|
||||
- generic [ref=e101]: Briefs
|
||||
- link "🔥 Failures" [ref=e102] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e103]: 🔥
|
||||
- generic [ref=e104]: Failures
|
||||
- link "📋 Audit Log" [ref=e105] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e106]: 📋
|
||||
- generic [ref=e107]: Audit Log
|
||||
- link "📖 Help" [ref=e109] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e110]: 📖
|
||||
- generic [ref=e111]: Help
|
||||
- generic [ref=e113]:
|
||||
- generic [ref=e115]: T
|
||||
- generic [ref=e116]:
|
||||
- paragraph [ref=e117]: test-admin@oliver.agency
|
||||
- paragraph [ref=e118]: admin
|
||||
- generic [ref=e119]:
|
||||
- navigation [ref=e120]:
|
||||
- generic [ref=e121]:
|
||||
- heading "Dashboard" [level=2] [ref=e123]
|
||||
- generic [ref=e124]:
|
||||
- button [ref=e126]:
|
||||
- img [ref=e127]
|
||||
- link "New Upload" [ref=e129] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e130]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e133]:
|
||||
- generic [ref=e135]: T
|
||||
- generic [ref=e136]:
|
||||
- paragraph [ref=e137]: test-admin@oliver.agency
|
||||
- paragraph [ref=e138]: admin
|
||||
- img [ref=e139]
|
||||
- main [ref=e141]:
|
||||
- generic [ref=e227]:
|
||||
- heading "Create New Job" [level=1] [ref=e228]
|
||||
- generic [ref=e229]:
|
||||
- generic [ref=e230]:
|
||||
- generic [ref=e231]: Video File
|
||||
- generic [ref=e233] [cursor=pointer]:
|
||||
- button "Choose File" [ref=e234]
|
||||
- generic [ref=e235]:
|
||||
- img [ref=e237]
|
||||
- generic [ref=e239]:
|
||||
- paragraph [ref=e240]: Drag and drop video files here, or click to select
|
||||
- paragraph [ref=e241]: Supports MP4, MOV, AVI, MKV up to 1024MB each
|
||||
- generic [ref=e324]:
|
||||
- generic [ref=e325]: "Selected: test-video.mp4 (39MB)"
|
||||
- button [ref=e326]:
|
||||
- img [ref=e327]
|
||||
- generic [ref=e329]:
|
||||
- generic [ref=e330]: Job Title
|
||||
- textbox "Enter a descriptive title for this video" [ref=e331]: test-video
|
||||
- generic [ref=e242]:
|
||||
- generic [ref=e243]: Requested Outputs
|
||||
- generic [ref=e244]:
|
||||
- generic [ref=e245]:
|
||||
- checkbox "Closed Captions (VTT)" [checked] [ref=e246]
|
||||
- generic [ref=e247]: Closed Captions (VTT)
|
||||
- generic [ref=e248]:
|
||||
- checkbox "Audio Description Script (VTT)" [checked] [ref=e249]
|
||||
- generic [ref=e250]: Audio Description Script (VTT)
|
||||
- generic [ref=e251]:
|
||||
- checkbox "Audio Description Voiceover (MP3)" [checked] [ref=e252]
|
||||
- generic [ref=e253]: Audio Description Voiceover (MP3)
|
||||
- generic [ref=e254]:
|
||||
- checkbox "Accessible Video (MP4 with embedded audio descriptions)" [ref=e255]
|
||||
- generic [ref=e256]: Accessible Video (MP4 with embedded audio descriptions)
|
||||
- generic [ref=e257]:
|
||||
- checkbox "SDH Captions (VTT with speaker labels, sound effects & music notation)" [ref=e258]
|
||||
- generic [ref=e259]: SDH Captions (VTT with speaker labels, sound effects & music notation)
|
||||
- generic [ref=e260]:
|
||||
- button "Voice Settings Click to collapse" [ref=e290]:
|
||||
- generic [ref=e262]:
|
||||
- img [ref=e263]
|
||||
- generic [ref=e265]: Voice Settings
|
||||
- generic [ref=e266]: Click to collapse
|
||||
- generic [ref=e292]:
|
||||
- generic [ref=e293]:
|
||||
- generic [ref=e294]: TTS Provider
|
||||
- generic [ref=e295]:
|
||||
- button "Gemini" [ref=e296]
|
||||
- button "ElevenLabs" [ref=e297]
|
||||
- generic [ref=e298]:
|
||||
- generic [ref=e299]: Default Voice
|
||||
- paragraph [ref=e300]: This voice will be used for all languages unless overridden below.
|
||||
- generic [ref=e301]:
|
||||
- combobox [ref=e302]:
|
||||
- option "Zephyr"
|
||||
- option "Puck"
|
||||
- option "Charon"
|
||||
- option "Kore" [selected]
|
||||
- option "Fenrir"
|
||||
- option "Leda"
|
||||
- option "Orus"
|
||||
- option "Aoede"
|
||||
- option "Callirrhoe"
|
||||
- option "Autonoe"
|
||||
- option "Enceladus"
|
||||
- option "Iapetus"
|
||||
- option "Umbriel"
|
||||
- option "Algieba"
|
||||
- option "Despina"
|
||||
- option "Erinome"
|
||||
- option "Algenib"
|
||||
- option "Rasalgethi"
|
||||
- option "Laomedeia"
|
||||
- option "Achernar"
|
||||
- option "Alnilam"
|
||||
- option "Schedar"
|
||||
- option "Gacrux"
|
||||
- option "Pulcherrima"
|
||||
- option "Achird"
|
||||
- option "Zubenelgenubi"
|
||||
- option "Vindemiatrix"
|
||||
- option "Sadachbia"
|
||||
- option "Sadaltager"
|
||||
- option "Sulafat"
|
||||
- button "Preview" [ref=e304]:
|
||||
- img [ref=e305]
|
||||
- text: Preview
|
||||
- generic [ref=e307]:
|
||||
- generic [ref=e308]:
|
||||
- generic [ref=e309]: Quality / Model
|
||||
- paragraph [ref=e310]: Flash is faster and more cost-efficient. Pro offers higher quality output.
|
||||
- combobox [ref=e311]:
|
||||
- option "Flash (Fast, Cost-efficient)" [selected]
|
||||
- option "Pro (Higher Quality)"
|
||||
- generic [ref=e312]:
|
||||
- generic [ref=e313]: "Speed: 1.0x"
|
||||
- paragraph [ref=e314]: Adjust the speech rate. 1.0x is normal speed.
|
||||
- slider [ref=e315] [cursor=pointer]: "1"
|
||||
- generic [ref=e316]:
|
||||
- generic [ref=e317]: 0.5x (Slow)
|
||||
- generic [ref=e318]: 1.0x (Normal)
|
||||
- generic [ref=e319]: 2x (Fast)
|
||||
- generic [ref=e320]:
|
||||
- generic [ref=e321]: Speaking Style
|
||||
- paragraph [ref=e322]: Choose a preset style or create a custom prompt for the voice.
|
||||
- combobox [ref=e323]:
|
||||
- option "Neutral" [selected]
|
||||
- option "Calm & Soothing"
|
||||
- option "Energetic"
|
||||
- option "Professional"
|
||||
- option "Warm & Friendly"
|
||||
- option "Documentary"
|
||||
- option "Custom Prompt"
|
||||
- generic [ref=e267]:
|
||||
- generic [ref=e268]: Target Languages for Translation
|
||||
- generic [ref=e271]:
|
||||
- textbox "Search languages" [ref=e272]:
|
||||
- /placeholder: Search languages...
|
||||
- button [ref=e273]:
|
||||
- img [ref=e274]
|
||||
- paragraph [ref=e276]: 50 languages available
|
||||
- generic [ref=e278]:
|
||||
- generic [ref=e279]: Client *
|
||||
- combobox [active] [ref=e280]:
|
||||
- option "— Select client —" [selected]
|
||||
- option "3M-Test"
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]: Deadline (optional)
|
||||
- textbox [ref=e283]
|
||||
- generic [ref=e284]:
|
||||
- generic [ref=e285]: Brand Names (optional)
|
||||
- textbox "e.g. Sellotape, Coca-Cola, Apple iPhone" [ref=e286]
|
||||
- paragraph [ref=e287]: List brand names visible in the video so the AI uses them instead of generic terms (e.g. "Sellotape" instead of "sticky tape").
|
||||
- button "Create Job" [ref=e289]
|
||||
223
.playwright-mcp/page-2026-05-01T12-38-31-626Z.yml
Normal file
|
|
@ -0,0 +1,223 @@
|
|||
- generic [ref=e61]:
|
||||
- generic [ref=e63]:
|
||||
- generic [ref=e65]:
|
||||
- generic [ref=e67]: VA
|
||||
- generic [ref=e68]:
|
||||
- heading "Video Access" [level=1] [ref=e69]
|
||||
- paragraph [ref=e70]: Accessibility Platform
|
||||
- navigation [ref=e71]:
|
||||
- link "🏠 Dashboard" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e73]: 🏠
|
||||
- generic [ref=e74]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e75] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e76]: 📋
|
||||
- generic [ref=e77]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e78] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e79]: 📤
|
||||
- generic [ref=e80]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e81] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e82]: 📝
|
||||
- generic [ref=e83]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e85]: 🔎
|
||||
- generic [ref=e86]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e87] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e88]: 🔍
|
||||
- generic [ref=e89]: QC Review
|
||||
- link "✅ Final Review" [ref=e90] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e91]: ✅
|
||||
- generic [ref=e92]: Final Review
|
||||
- link "👥 User Management" [ref=e93] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e94]: 👥
|
||||
- generic [ref=e95]: User Management
|
||||
- link "🏢 Clients" [ref=e96] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e97]: 🏢
|
||||
- generic [ref=e98]: Clients
|
||||
- link "📄 Briefs" [ref=e99] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e100]: 📄
|
||||
- generic [ref=e101]: Briefs
|
||||
- link "🔥 Failures" [ref=e102] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e103]: 🔥
|
||||
- generic [ref=e104]: Failures
|
||||
- link "📋 Audit Log" [ref=e105] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e106]: 📋
|
||||
- generic [ref=e107]: Audit Log
|
||||
- link "📖 Help" [ref=e109] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e110]: 📖
|
||||
- generic [ref=e111]: Help
|
||||
- generic [ref=e113]:
|
||||
- generic [ref=e115]: T
|
||||
- generic [ref=e116]:
|
||||
- paragraph [ref=e117]: test-admin@oliver.agency
|
||||
- paragraph [ref=e118]: admin
|
||||
- generic [ref=e119]:
|
||||
- navigation [ref=e120]:
|
||||
- generic [ref=e121]:
|
||||
- heading "Dashboard" [level=2] [ref=e123]
|
||||
- generic [ref=e124]:
|
||||
- button [ref=e126]:
|
||||
- img [ref=e127]
|
||||
- link "New Upload" [ref=e129] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e130]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e133]:
|
||||
- generic [ref=e135]: T
|
||||
- generic [ref=e136]:
|
||||
- paragraph [ref=e137]: test-admin@oliver.agency
|
||||
- paragraph [ref=e138]: admin
|
||||
- img [ref=e139]
|
||||
- main [ref=e141]:
|
||||
- generic [ref=e227]:
|
||||
- heading "Create New Job" [level=1] [ref=e228]
|
||||
- generic [ref=e229]:
|
||||
- generic [ref=e230]:
|
||||
- generic [ref=e231]: Video File
|
||||
- generic [ref=e233] [cursor=pointer]:
|
||||
- button "Choose File" [ref=e234]
|
||||
- generic [ref=e235]:
|
||||
- img [ref=e237]
|
||||
- generic [ref=e239]:
|
||||
- paragraph [ref=e240]: Drag and drop video files here, or click to select
|
||||
- paragraph [ref=e241]: Supports MP4, MOV, AVI, MKV up to 1024MB each
|
||||
- generic [ref=e324]:
|
||||
- generic [ref=e325]: "Selected: test-video.mp4 (39MB)"
|
||||
- button [ref=e326]:
|
||||
- img [ref=e327]
|
||||
- generic [ref=e329]:
|
||||
- generic [ref=e330]: Job Title
|
||||
- textbox "Enter a descriptive title for this video" [ref=e331]: test-video
|
||||
- generic [ref=e242]:
|
||||
- generic [ref=e243]: Requested Outputs
|
||||
- generic [ref=e244]:
|
||||
- generic [ref=e245]:
|
||||
- checkbox "Closed Captions (VTT)" [checked] [ref=e246]
|
||||
- generic [ref=e247]: Closed Captions (VTT)
|
||||
- generic [ref=e248]:
|
||||
- checkbox "Audio Description Script (VTT)" [checked] [ref=e249]
|
||||
- generic [ref=e250]: Audio Description Script (VTT)
|
||||
- generic [ref=e251]:
|
||||
- checkbox "Audio Description Voiceover (MP3)" [checked] [ref=e252]
|
||||
- generic [ref=e253]: Audio Description Voiceover (MP3)
|
||||
- generic [ref=e254]:
|
||||
- checkbox "Accessible Video (MP4 with embedded audio descriptions)" [ref=e255]
|
||||
- generic [ref=e256]: Accessible Video (MP4 with embedded audio descriptions)
|
||||
- generic [ref=e257]:
|
||||
- checkbox "SDH Captions (VTT with speaker labels, sound effects & music notation)" [ref=e258]
|
||||
- generic [ref=e259]: SDH Captions (VTT with speaker labels, sound effects & music notation)
|
||||
- generic [ref=e260]:
|
||||
- button "Voice Settings Click to collapse" [ref=e290]:
|
||||
- generic [ref=e262]:
|
||||
- img [ref=e263]
|
||||
- generic [ref=e265]: Voice Settings
|
||||
- generic [ref=e266]: Click to collapse
|
||||
- generic [ref=e292]:
|
||||
- generic [ref=e293]:
|
||||
- generic [ref=e294]: TTS Provider
|
||||
- generic [ref=e295]:
|
||||
- button "Gemini" [ref=e296]
|
||||
- button "ElevenLabs" [ref=e297]
|
||||
- generic [ref=e298]:
|
||||
- generic [ref=e299]: Default Voice
|
||||
- paragraph [ref=e300]: This voice will be used for all languages unless overridden below.
|
||||
- generic [ref=e301]:
|
||||
- combobox [ref=e302]:
|
||||
- option "Zephyr"
|
||||
- option "Puck"
|
||||
- option "Charon"
|
||||
- option "Kore" [selected]
|
||||
- option "Fenrir"
|
||||
- option "Leda"
|
||||
- option "Orus"
|
||||
- option "Aoede"
|
||||
- option "Callirrhoe"
|
||||
- option "Autonoe"
|
||||
- option "Enceladus"
|
||||
- option "Iapetus"
|
||||
- option "Umbriel"
|
||||
- option "Algieba"
|
||||
- option "Despina"
|
||||
- option "Erinome"
|
||||
- option "Algenib"
|
||||
- option "Rasalgethi"
|
||||
- option "Laomedeia"
|
||||
- option "Achernar"
|
||||
- option "Alnilam"
|
||||
- option "Schedar"
|
||||
- option "Gacrux"
|
||||
- option "Pulcherrima"
|
||||
- option "Achird"
|
||||
- option "Zubenelgenubi"
|
||||
- option "Vindemiatrix"
|
||||
- option "Sadachbia"
|
||||
- option "Sadaltager"
|
||||
- option "Sulafat"
|
||||
- button "Preview" [ref=e304]:
|
||||
- img [ref=e305]
|
||||
- text: Preview
|
||||
- generic [ref=e307]:
|
||||
- generic [ref=e308]:
|
||||
- generic [ref=e309]: Quality / Model
|
||||
- paragraph [ref=e310]: Flash is faster and more cost-efficient. Pro offers higher quality output.
|
||||
- combobox [ref=e311]:
|
||||
- option "Flash (Fast, Cost-efficient)" [selected]
|
||||
- option "Pro (Higher Quality)"
|
||||
- generic [ref=e312]:
|
||||
- generic [ref=e313]: "Speed: 1.0x"
|
||||
- paragraph [ref=e314]: Adjust the speech rate. 1.0x is normal speed.
|
||||
- slider [ref=e315] [cursor=pointer]: "1"
|
||||
- generic [ref=e316]:
|
||||
- generic [ref=e317]: 0.5x (Slow)
|
||||
- generic [ref=e318]: 1.0x (Normal)
|
||||
- generic [ref=e319]: 2x (Fast)
|
||||
- generic [ref=e320]:
|
||||
- generic [ref=e321]: Speaking Style
|
||||
- paragraph [ref=e322]: Choose a preset style or create a custom prompt for the voice.
|
||||
- combobox [ref=e323]:
|
||||
- option "Neutral" [selected]
|
||||
- option "Calm & Soothing"
|
||||
- option "Energetic"
|
||||
- option "Professional"
|
||||
- option "Warm & Friendly"
|
||||
- option "Documentary"
|
||||
- option "Custom Prompt"
|
||||
- generic [ref=e267]:
|
||||
- generic [ref=e268]: Target Languages for Translation
|
||||
- generic [ref=e271]:
|
||||
- textbox "Search languages" [ref=e272]:
|
||||
- /placeholder: Search languages...
|
||||
- button [ref=e273]:
|
||||
- img [ref=e274]
|
||||
- paragraph [ref=e276]: 50 languages available
|
||||
- generic [ref=e277]:
|
||||
- generic [ref=e278]:
|
||||
- generic [ref=e279]: Client *
|
||||
- combobox [active] [ref=e280]:
|
||||
- option "— Select client —"
|
||||
- option "3M-Test" [selected]
|
||||
- generic [ref=e332]:
|
||||
- generic [ref=e333]: Project *
|
||||
- combobox [ref=e334]:
|
||||
- option "— Select project —" [selected]
|
||||
- option "+ Create new project…"
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]: Deadline (optional)
|
||||
- textbox [ref=e283]
|
||||
- generic [ref=e284]:
|
||||
- generic [ref=e285]: Brand Names (optional)
|
||||
- textbox "e.g. Sellotape, Coca-Cola, Apple iPhone" [ref=e286]
|
||||
- paragraph [ref=e287]: List brand names visible in the video so the AI uses them instead of generic terms (e.g. "Sellotape" instead of "sticky tape").
|
||||
- button "Create Job" [ref=e289]
|
||||
237
.playwright-mcp/page-2026-05-01T12-38-37-970Z.yml
Normal file
|
|
@ -0,0 +1,237 @@
|
|||
- generic [ref=e61]:
|
||||
- generic [ref=e63]:
|
||||
- generic [ref=e65]:
|
||||
- generic [ref=e67]: VA
|
||||
- generic [ref=e68]:
|
||||
- heading "Video Access" [level=1] [ref=e69]
|
||||
- paragraph [ref=e70]: Accessibility Platform
|
||||
- navigation [ref=e71]:
|
||||
- link "🏠 Dashboard" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e73]: 🏠
|
||||
- generic [ref=e74]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e75] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e76]: 📋
|
||||
- generic [ref=e77]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e78] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e79]: 📤
|
||||
- generic [ref=e80]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e81] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e82]: 📝
|
||||
- generic [ref=e83]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e85]: 🔎
|
||||
- generic [ref=e86]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e87] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e88]: 🔍
|
||||
- generic [ref=e89]: QC Review
|
||||
- link "✅ Final Review" [ref=e90] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e91]: ✅
|
||||
- generic [ref=e92]: Final Review
|
||||
- link "👥 User Management" [ref=e93] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e94]: 👥
|
||||
- generic [ref=e95]: User Management
|
||||
- link "🏢 Clients" [ref=e96] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e97]: 🏢
|
||||
- generic [ref=e98]: Clients
|
||||
- link "📄 Briefs" [ref=e99] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e100]: 📄
|
||||
- generic [ref=e101]: Briefs
|
||||
- link "🔥 Failures" [ref=e102] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e103]: 🔥
|
||||
- generic [ref=e104]: Failures
|
||||
- link "📋 Audit Log" [ref=e105] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e106]: 📋
|
||||
- generic [ref=e107]: Audit Log
|
||||
- link "📖 Help" [ref=e109] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e110]: 📖
|
||||
- generic [ref=e111]: Help
|
||||
- generic [ref=e113]:
|
||||
- generic [ref=e115]: T
|
||||
- generic [ref=e116]:
|
||||
- paragraph [ref=e117]: test-admin@oliver.agency
|
||||
- paragraph [ref=e118]: admin
|
||||
- generic [ref=e119]:
|
||||
- navigation [ref=e120]:
|
||||
- generic [ref=e121]:
|
||||
- heading "Dashboard" [level=2] [ref=e123]
|
||||
- generic [ref=e124]:
|
||||
- button [ref=e126]:
|
||||
- img [ref=e127]
|
||||
- link "New Upload" [ref=e129] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e130]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e133]:
|
||||
- generic [ref=e135]: T
|
||||
- generic [ref=e136]:
|
||||
- paragraph [ref=e137]: test-admin@oliver.agency
|
||||
- paragraph [ref=e138]: admin
|
||||
- img [ref=e139]
|
||||
- main [ref=e141]:
|
||||
- generic [ref=e227]:
|
||||
- heading "Create New Job" [level=1] [ref=e228]
|
||||
- generic [ref=e229]:
|
||||
- generic [ref=e230]:
|
||||
- generic [ref=e231]: Video File
|
||||
- generic [ref=e233] [cursor=pointer]:
|
||||
- button "Choose File" [ref=e234]
|
||||
- generic [ref=e235]:
|
||||
- img [ref=e237]
|
||||
- generic [ref=e239]:
|
||||
- paragraph [ref=e240]: Drag and drop video files here, or click to select
|
||||
- paragraph [ref=e241]: Supports MP4, MOV, AVI, MKV up to 1024MB each
|
||||
- generic [ref=e324]:
|
||||
- generic [ref=e325]: "Selected: test-video.mp4 (39MB)"
|
||||
- button [ref=e326]:
|
||||
- img [ref=e327]
|
||||
- generic [ref=e329]:
|
||||
- generic [ref=e330]: Job Title
|
||||
- textbox "Enter a descriptive title for this video" [ref=e331]: test-video
|
||||
- generic [ref=e242]:
|
||||
- generic [ref=e243]: Requested Outputs
|
||||
- generic [ref=e244]:
|
||||
- generic [ref=e245]:
|
||||
- checkbox "Closed Captions (VTT)" [checked] [ref=e246]
|
||||
- generic [ref=e247]: Closed Captions (VTT)
|
||||
- generic [ref=e248]:
|
||||
- checkbox "Audio Description Script (VTT)" [checked] [ref=e249]
|
||||
- generic [ref=e250]: Audio Description Script (VTT)
|
||||
- generic [ref=e251]:
|
||||
- checkbox "Audio Description Voiceover (MP3)" [checked] [ref=e252]
|
||||
- generic [ref=e253]: Audio Description Voiceover (MP3)
|
||||
- generic [ref=e254]:
|
||||
- checkbox "Accessible Video (MP4 with embedded audio descriptions)" [ref=e255]
|
||||
- generic [ref=e256]: Accessible Video (MP4 with embedded audio descriptions)
|
||||
- generic [ref=e257]:
|
||||
- checkbox "SDH Captions (VTT with speaker labels, sound effects & music notation)" [ref=e258]
|
||||
- generic [ref=e259]: SDH Captions (VTT with speaker labels, sound effects & music notation)
|
||||
- generic [ref=e260]:
|
||||
- button "Voice Settings Click to collapse" [ref=e290]:
|
||||
- generic [ref=e262]:
|
||||
- img [ref=e263]
|
||||
- generic [ref=e265]: Voice Settings
|
||||
- generic [ref=e266]: Click to collapse
|
||||
- generic [ref=e292]:
|
||||
- generic [ref=e293]:
|
||||
- generic [ref=e294]: TTS Provider
|
||||
- generic [ref=e295]:
|
||||
- button "Gemini" [ref=e296]
|
||||
- button "ElevenLabs" [ref=e297]
|
||||
- generic [ref=e298]:
|
||||
- generic [ref=e299]: Default Voice
|
||||
- paragraph [ref=e300]: This voice will be used for all languages unless overridden below.
|
||||
- generic [ref=e301]:
|
||||
- combobox [ref=e302]:
|
||||
- option "Zephyr"
|
||||
- option "Puck"
|
||||
- option "Charon"
|
||||
- option "Kore" [selected]
|
||||
- option "Fenrir"
|
||||
- option "Leda"
|
||||
- option "Orus"
|
||||
- option "Aoede"
|
||||
- option "Callirrhoe"
|
||||
- option "Autonoe"
|
||||
- option "Enceladus"
|
||||
- option "Iapetus"
|
||||
- option "Umbriel"
|
||||
- option "Algieba"
|
||||
- option "Despina"
|
||||
- option "Erinome"
|
||||
- option "Algenib"
|
||||
- option "Rasalgethi"
|
||||
- option "Laomedeia"
|
||||
- option "Achernar"
|
||||
- option "Alnilam"
|
||||
- option "Schedar"
|
||||
- option "Gacrux"
|
||||
- option "Pulcherrima"
|
||||
- option "Achird"
|
||||
- option "Zubenelgenubi"
|
||||
- option "Vindemiatrix"
|
||||
- option "Sadachbia"
|
||||
- option "Sadaltager"
|
||||
- option "Sulafat"
|
||||
- button "Preview" [ref=e304]:
|
||||
- img [ref=e305]
|
||||
- text: Preview
|
||||
- generic [ref=e307]:
|
||||
- generic [ref=e308]:
|
||||
- generic [ref=e309]: Quality / Model
|
||||
- paragraph [ref=e310]: Flash is faster and more cost-efficient. Pro offers higher quality output.
|
||||
- combobox [ref=e311]:
|
||||
- option "Flash (Fast, Cost-efficient)" [selected]
|
||||
- option "Pro (Higher Quality)"
|
||||
- generic [ref=e312]:
|
||||
- generic [ref=e313]: "Speed: 1.0x"
|
||||
- paragraph [ref=e314]: Adjust the speech rate. 1.0x is normal speed.
|
||||
- slider [ref=e315] [cursor=pointer]: "1"
|
||||
- generic [ref=e316]:
|
||||
- generic [ref=e317]: 0.5x (Slow)
|
||||
- generic [ref=e318]: 1.0x (Normal)
|
||||
- generic [ref=e319]: 2x (Fast)
|
||||
- generic [ref=e320]:
|
||||
- generic [ref=e321]: Speaking Style
|
||||
- paragraph [ref=e322]: Choose a preset style or create a custom prompt for the voice.
|
||||
- combobox [ref=e323]:
|
||||
- option "Neutral" [selected]
|
||||
- option "Calm & Soothing"
|
||||
- option "Energetic"
|
||||
- option "Professional"
|
||||
- option "Warm & Friendly"
|
||||
- option "Documentary"
|
||||
- option "Custom Prompt"
|
||||
- generic [ref=e267]:
|
||||
- generic [ref=e268]: Target Languages for Translation
|
||||
- generic [ref=e271]:
|
||||
- textbox "Search languages" [ref=e272]:
|
||||
- /placeholder: Search languages...
|
||||
- button [ref=e273]:
|
||||
- img [ref=e274]
|
||||
- paragraph [ref=e276]: 50 languages available
|
||||
- generic [ref=e335]:
|
||||
- heading "Team Assignment(applied to all languages when job enters QC)" [level=3] [ref=e336]
|
||||
- generic [ref=e337]:
|
||||
- generic [ref=e338]:
|
||||
- generic [ref=e339]: Linguist
|
||||
- combobox [ref=e340]:
|
||||
- option "— None —" [selected]
|
||||
- option "Test Linguist"
|
||||
- generic [ref=e341]:
|
||||
- generic [ref=e342]: Reviewer
|
||||
- combobox [ref=e343]:
|
||||
- option "— None —" [selected]
|
||||
- option "Test Reviewer"
|
||||
- generic [ref=e277]:
|
||||
- generic [ref=e278]:
|
||||
- generic [ref=e279]: Client *
|
||||
- combobox [active] [ref=e280]:
|
||||
- option "— Select client —"
|
||||
- option "3M-Test" [selected]
|
||||
- generic [ref=e332]:
|
||||
- generic [ref=e333]: Project *
|
||||
- combobox [ref=e334]:
|
||||
- option "— Select project —"
|
||||
- option "Test_Vadym" [selected]
|
||||
- option "+ Create new project…"
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]: Deadline (optional)
|
||||
- textbox [ref=e283]
|
||||
- generic [ref=e284]:
|
||||
- generic [ref=e285]: Brand Names (optional)
|
||||
- textbox "e.g. Sellotape, Coca-Cola, Apple iPhone" [ref=e286]
|
||||
- paragraph [ref=e287]: List brand names visible in the video so the AI uses them instead of generic terms (e.g. "Sellotape" instead of "sticky tape").
|
||||
- button "Create Job" [ref=e289]
|
||||
99
.playwright-mcp/page-2026-05-01T12-38-52-161Z.yml
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
- generic [ref=e3]:
|
||||
- generic [ref=e61]:
|
||||
- generic [ref=e63]:
|
||||
- generic [ref=e65]:
|
||||
- generic [ref=e67]: VA
|
||||
- generic [ref=e68]:
|
||||
- heading "Video Access" [level=1] [ref=e69]
|
||||
- paragraph [ref=e70]: Accessibility Platform
|
||||
- navigation [ref=e71]:
|
||||
- link "🏠 Dashboard" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e73]: 🏠
|
||||
- generic [ref=e74]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e75] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e76]: 📋
|
||||
- generic [ref=e77]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e78] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e79]: 📤
|
||||
- generic [ref=e80]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e81] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e82]: 📝
|
||||
- generic [ref=e83]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e84] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e85]: 🔎
|
||||
- generic [ref=e86]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e87] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e88]: 🔍
|
||||
- generic [ref=e89]: QC Review
|
||||
- link "✅ Final Review" [ref=e90] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e91]: ✅
|
||||
- generic [ref=e92]: Final Review
|
||||
- link "👥 User Management" [ref=e93] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e94]: 👥
|
||||
- generic [ref=e95]: User Management
|
||||
- link "🏢 Clients" [ref=e96] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e97]: 🏢
|
||||
- generic [ref=e98]: Clients
|
||||
- link "📄 Briefs" [ref=e99] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e100]: 📄
|
||||
- generic [ref=e101]: Briefs
|
||||
- link "🔥 Failures" [ref=e102] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e103]: 🔥
|
||||
- generic [ref=e104]: Failures
|
||||
- link "📋 Audit Log" [ref=e105] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e106]: 📋
|
||||
- generic [ref=e107]: Audit Log
|
||||
- link "📖 Help" [ref=e109] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e110]: 📖
|
||||
- generic [ref=e111]: Help
|
||||
- generic [ref=e113]:
|
||||
- generic [ref=e115]: T
|
||||
- generic [ref=e116]:
|
||||
- paragraph [ref=e117]: test-admin@oliver.agency
|
||||
- paragraph [ref=e118]: admin
|
||||
- generic [ref=e119]:
|
||||
- navigation [ref=e120]:
|
||||
- generic [ref=e121]:
|
||||
- heading "Dashboard" [level=2] [ref=e123]
|
||||
- generic [ref=e124]:
|
||||
- button "1" [ref=e344]:
|
||||
- img [ref=e127]
|
||||
- generic [ref=e345]: "1"
|
||||
- link "New Upload" [ref=e129] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e130]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e133]:
|
||||
- generic [ref=e135]: T
|
||||
- generic [ref=e136]:
|
||||
- paragraph [ref=e137]: test-admin@oliver.agency
|
||||
- paragraph [ref=e138]: admin
|
||||
- img [ref=e139]
|
||||
- main [ref=e141]:
|
||||
- generic [ref=e346]:
|
||||
- img [ref=e348]
|
||||
- heading "Job Created Successfully!" [level=1] [ref=e350]
|
||||
- paragraph [ref=e351]: Your video has been uploaded and processing will begin shortly.
|
||||
- generic [ref=e352]:
|
||||
- button "View Job Details" [ref=e353]:
|
||||
- text: View Job Details
|
||||
- img [ref=e354]
|
||||
- button "Create Another Job" [ref=e357]
|
||||
- generic [ref=e359]:
|
||||
- img [ref=e360]
|
||||
- paragraph [ref=e362]: "\"test-video\" is being ingested and prepared for AI processing"
|
||||
- button [ref=e363]:
|
||||
- img [ref=e364]
|
||||
BIN
.playwright-mcp/page-2026-05-01T12-38-54-008Z.png
Normal file
|
After Width: | Height: | Size: 85 KiB |
135
.playwright-mcp/page-2026-05-01T12-39-14-760Z.yml
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e86]:
|
||||
- generic [ref=e87]:
|
||||
- generic [ref=e88]:
|
||||
- heading "All Jobs" [level=1] [ref=e89]
|
||||
- generic "Connecting..." [ref=e90]
|
||||
- paragraph [ref=e91]: System-wide job management
|
||||
- link "New Job" [ref=e92] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e93]
|
||||
- text: New Job
|
||||
- generic [ref=e95]:
|
||||
- button "Pending Final Review" [ref=e96]
|
||||
- button "In QC" [ref=e97]
|
||||
- button "TTS Failed" [ref=e98]
|
||||
- button "Render Failed" [ref=e99]
|
||||
- generic [ref=e101]:
|
||||
- generic [ref=e102]:
|
||||
- generic [ref=e103]: Search
|
||||
- textbox "Search" [ref=e104]:
|
||||
- /placeholder: Search by job name, user, or filename...
|
||||
- generic [ref=e105]:
|
||||
- generic [ref=e106]: Created By
|
||||
- combobox "Created By" [ref=e107]:
|
||||
- option "All Users" [selected]
|
||||
- generic [ref=e108]:
|
||||
- generic [ref=e109]: Status
|
||||
- combobox "Status" [ref=e110]:
|
||||
- option "All Statuses" [selected]
|
||||
- option "Created"
|
||||
- option "Ingesting"
|
||||
- option "AI Processing"
|
||||
- option "Pending QC"
|
||||
- option "Approved (EN)"
|
||||
- option "Approved for Translation"
|
||||
- option "Rejected"
|
||||
- option "QC Feedback"
|
||||
- option "Translating"
|
||||
- option "Generating Audio"
|
||||
- option "TTS Failed"
|
||||
- option "Rendering Video"
|
||||
- option "Render Failed"
|
||||
- option "Pending Final Review"
|
||||
- option "Completed"
|
||||
- generic [ref=e111]:
|
||||
- generic [ref=e112]: Date Created
|
||||
- combobox "Date Created" [ref=e113]:
|
||||
- option "All Time" [selected]
|
||||
- option "Last 7 Days"
|
||||
- option "Last 30 Days"
|
||||
- button "Clear Filters" [disabled] [ref=e115]
|
||||
- paragraph [ref=e117]: No jobs found
|
||||
152
.playwright-mcp/page-2026-05-01T12-39-47-675Z.yml
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e202]:
|
||||
- generic [ref=e204]:
|
||||
- generic [ref=e205]:
|
||||
- generic [ref=e206]:
|
||||
- heading "Test5" [level=1] [ref=e207]
|
||||
- button "Rename" [ref=e208]:
|
||||
- img [ref=e209]
|
||||
- paragraph [ref=e211]: source.mp4 • Created about 18 hours ago
|
||||
- generic [ref=e212]:
|
||||
- generic [ref=e213]: Completed
|
||||
- generic "Connected - receiving real-time updates" [ref=e214]
|
||||
- generic [ref=e215]:
|
||||
- generic [ref=e216]:
|
||||
- navigation [ref=e218]:
|
||||
- button "📋Overview" [ref=e219]
|
||||
- button "🎥Video Preview" [ref=e220]
|
||||
- button "📁Assets" [ref=e221]
|
||||
- button "📜History" [ref=e222]
|
||||
- button "🕒VTT Versions" [ref=e223]
|
||||
- generic [ref=e224]:
|
||||
- generic [ref=e225]:
|
||||
- heading "Job Information" [level=2] [ref=e226]
|
||||
- generic [ref=e227]:
|
||||
- generic [ref=e228]:
|
||||
- term [ref=e229]: Original File
|
||||
- definition [ref=e230]: source.mp4
|
||||
- generic [ref=e231]:
|
||||
- term [ref=e232]: Source Language
|
||||
- definition [ref=e233]: EN
|
||||
- generic [ref=e234]:
|
||||
- term [ref=e235]: Requested Languages
|
||||
- definition [ref=e236]: de-DE, fr-CA
|
||||
- generic [ref=e237]:
|
||||
- term [ref=e238]: Outputs
|
||||
- definition [ref=e239]:
|
||||
- generic [ref=e240]:
|
||||
- generic [ref=e241]: ✓ Captions (VTT)
|
||||
- generic [ref=e242]: ✓ Audio Descriptions (VTT)
|
||||
- generic [ref=e243]: ✓ Audio Descriptions (MP3)
|
||||
- generic [ref=e244]:
|
||||
- heading "Review Notes" [level=2] [ref=e245]
|
||||
- paragraph [ref=e246]: No review notes yet
|
||||
- generic [ref=e248]:
|
||||
- generic [ref=e249]:
|
||||
- heading "Ready for Download" [level=3] [ref=e250]
|
||||
- paragraph [ref=e251]: Your accessible video assets are ready. Click below to access your files.
|
||||
- link "Download Files" [ref=e252] [cursor=pointer]:
|
||||
- /url: /video-accessibility/downloads/69f3b6d2cde5f3709e55301e
|
||||
- img [ref=e253]
|
||||
- text: Download Files
|
||||
- generic [ref=e256]:
|
||||
- generic [ref=e257]:
|
||||
- heading "Return to QC" [level=3] [ref=e258]
|
||||
- paragraph [ref=e259]: Move this job back to QC review for further editing.
|
||||
- button "Return to QC" [ref=e260]:
|
||||
- img [ref=e261]
|
||||
- text: Return to QC
|
||||
- generic [ref=e264]:
|
||||
- heading "Processing Progress" [level=3] [ref=e265]
|
||||
- generic [ref=e266]:
|
||||
- generic [ref=e269]: Created
|
||||
- generic [ref=e272]: Ingesting
|
||||
- generic [ref=e275]: Ai Processing
|
||||
- generic [ref=e278]: Translating
|
||||
- generic [ref=e281]: Tts Generating
|
||||
- generic [ref=e284]: Rendering Video
|
||||
- generic [ref=e287]: Pending Qc
|
||||
- generic [ref=e290]: Pending Final Review
|
||||
- generic [ref=e293]: Completed
|
||||
142
.playwright-mcp/page-2026-05-01T12-40-03-456Z.yml
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e202]:
|
||||
- generic [ref=e204]:
|
||||
- generic [ref=e205]:
|
||||
- generic [ref=e206]:
|
||||
- heading "Test5" [level=1] [ref=e207]
|
||||
- button "Rename" [ref=e208]:
|
||||
- img [ref=e209]
|
||||
- paragraph [ref=e211]: source.mp4 • Created about 18 hours ago
|
||||
- generic [ref=e212]:
|
||||
- generic [ref=e213]: Completed
|
||||
- generic "Connected - receiving real-time updates" [ref=e214]
|
||||
- generic [ref=e215]:
|
||||
- generic [ref=e216]:
|
||||
- navigation [ref=e218]:
|
||||
- button "📋Overview" [ref=e219]
|
||||
- button "🎥Video Preview" [ref=e220]
|
||||
- button "📁Assets" [active] [ref=e221]
|
||||
- button "📜History" [ref=e222]
|
||||
- button "🕒VTT Versions" [ref=e223]
|
||||
- generic [ref=e225]:
|
||||
- heading "Language Assets" [level=2] [ref=e294]
|
||||
- generic [ref=e295]:
|
||||
- generic [ref=e297]:
|
||||
- heading "EN" [level=3] [ref=e298]
|
||||
- generic [ref=e299]:
|
||||
- generic [ref=e300]: Captions Ready
|
||||
- generic [ref=e301]: AD Ready
|
||||
- generic [ref=e302]: MP3 Ready
|
||||
- generic [ref=e304]:
|
||||
- heading "DE-DE" [level=3] [ref=e305]
|
||||
- generic [ref=e306]:
|
||||
- generic [ref=e307]: Captions Ready
|
||||
- generic [ref=e308]: AD Ready
|
||||
- generic [ref=e309]: MP3 Ready
|
||||
- generic [ref=e311]:
|
||||
- heading "FR-CA" [level=3] [ref=e312]
|
||||
- generic [ref=e313]:
|
||||
- generic [ref=e314]: Captions Ready
|
||||
- generic [ref=e315]: AD Ready
|
||||
- generic [ref=e316]: MP3 Ready
|
||||
- generic [ref=e256]:
|
||||
- generic [ref=e257]:
|
||||
- heading "Return to QC" [level=3] [ref=e258]
|
||||
- paragraph [ref=e259]: Move this job back to QC review for further editing.
|
||||
- button "Return to QC" [ref=e260]:
|
||||
- img [ref=e261]
|
||||
- text: Return to QC
|
||||
- generic [ref=e264]:
|
||||
- heading "Processing Progress" [level=3] [ref=e265]
|
||||
- generic [ref=e266]:
|
||||
- generic [ref=e269]: Created
|
||||
- generic [ref=e272]: Ingesting
|
||||
- generic [ref=e275]: Ai Processing
|
||||
- generic [ref=e278]: Translating
|
||||
- generic [ref=e281]: Tts Generating
|
||||
- generic [ref=e284]: Rendering Video
|
||||
- generic [ref=e287]: Pending Qc
|
||||
- generic [ref=e290]: Pending Final Review
|
||||
- generic [ref=e293]: Completed
|
||||
83
.playwright-mcp/page-2026-05-01T12-40-09-678Z.yml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]
|
||||
83
.playwright-mcp/page-2026-05-01T12-40-17-487Z.yml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]
|
||||
140
.playwright-mcp/page-2026-05-01T12-40-23-530Z.yml
Normal file
|
|
@ -0,0 +1,140 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e86]:
|
||||
- heading "Audit Log" [level=1] [ref=e87]
|
||||
- generic [ref=e88]: Auto-refreshes every 30s
|
||||
- generic [ref=e89]:
|
||||
- button "All Events" [ref=e90]
|
||||
- button "Security Events" [ref=e91]
|
||||
- button "User Activity" [ref=e92]
|
||||
- generic [ref=e93]:
|
||||
- textbox "Search…" [ref=e94]
|
||||
- combobox [ref=e95]:
|
||||
- option "All actions" [selected]
|
||||
- option "login_success"
|
||||
- option "login_failure"
|
||||
- option "logout"
|
||||
- option "token_refresh"
|
||||
- option "password_change"
|
||||
- option "password_reset"
|
||||
- option "job_create"
|
||||
- option "job_update"
|
||||
- option "job_delete"
|
||||
- option "job_approve"
|
||||
- option "job_reject"
|
||||
- option "job_cancel"
|
||||
- option "job_status_change"
|
||||
- option "vtt_edit"
|
||||
- option "vtt_approve"
|
||||
- option "vtt_reject"
|
||||
- option "file_upload"
|
||||
- option "file_download"
|
||||
- option "file_delete"
|
||||
- option "file_access"
|
||||
- option "user_create"
|
||||
- option "user_update"
|
||||
- option "user_delete"
|
||||
- option "user_role_change"
|
||||
- option "user_activate"
|
||||
- option "user_deactivate"
|
||||
- option "rate_limit_exceeded"
|
||||
- option "validation_failure"
|
||||
- option "unauthorized_access"
|
||||
- option "suspicious_activity"
|
||||
- option "admin_config_change"
|
||||
- option "admin_system_action"
|
||||
- option "admin_data_export"
|
||||
- option "admin_audit_access"
|
||||
- combobox [ref=e96]:
|
||||
- option "All severities" [selected]
|
||||
- option "Info"
|
||||
- option "Warning"
|
||||
- option "Error"
|
||||
- option "Critical"
|
||||
- combobox [ref=e97]:
|
||||
- option "Success + Failures" [selected]
|
||||
- option "Success only"
|
||||
- option "Failures only"
|
||||
- button "Search" [ref=e98]
|
||||
83
.playwright-mcp/page-2026-05-01T12-40-31-088Z.yml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]
|
||||
293
.playwright-mcp/page-2026-05-01T12-40-44-765Z.yml
Normal file
|
|
@ -0,0 +1,293 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e86]:
|
||||
- heading "User Management" [level=1] [ref=e94]
|
||||
- generic [ref=e88]:
|
||||
- link "AI Cost Dashboard" [ref=e95] [cursor=pointer]:
|
||||
- /url: https://optical-dev.oliver.solutions/cost-tracker/analytics
|
||||
- img [ref=e96]
|
||||
- text: AI Cost Dashboard
|
||||
- button "Create User" [active] [ref=e98]:
|
||||
- img [ref=e99]
|
||||
- text: Create User
|
||||
- generic [ref=e102]:
|
||||
- generic [ref=e103]:
|
||||
- generic [ref=e104]: "Role:"
|
||||
- combobox [ref=e105]:
|
||||
- option "All Roles" [selected]
|
||||
- option "Admin"
|
||||
- option "Project Manager"
|
||||
- option "Production"
|
||||
- option "Reviewer"
|
||||
- option "Linguist"
|
||||
- option "Client"
|
||||
- generic [ref=e106]:
|
||||
- generic [ref=e107]: "Org:"
|
||||
- combobox [ref=e108]:
|
||||
- option "All Orgs" [selected]
|
||||
- option "3M-Test"
|
||||
- generic [ref=e109]:
|
||||
- checkbox "Active users only" [checked] [ref=e110]
|
||||
- generic [ref=e111]: Active users only
|
||||
- generic [ref=e112]: 7 users found
|
||||
- table [ref=e114]:
|
||||
- rowgroup [ref=e115]:
|
||||
- row "User Role Auth Method Status Created Actions" [ref=e116]:
|
||||
- columnheader "User" [ref=e117]
|
||||
- columnheader "Role" [ref=e118]
|
||||
- columnheader "Auth Method" [ref=e119]
|
||||
- columnheader "Status" [ref=e120]
|
||||
- columnheader "Created" [ref=e121]
|
||||
- columnheader "Actions" [ref=e122]
|
||||
- rowgroup [ref=e123]:
|
||||
- row "T Test Project Manager test-pm@oliver.agency Project Manager local Active 5/1/2026 Edit Reset Password Deactivate" [ref=e124]:
|
||||
- cell "T Test Project Manager test-pm@oliver.agency" [ref=e125]:
|
||||
- generic [ref=e126]:
|
||||
- generic [ref=e128]: T
|
||||
- generic [ref=e129]:
|
||||
- generic [ref=e130]: Test Project Manager
|
||||
- generic [ref=e131]: test-pm@oliver.agency
|
||||
- cell "Project Manager" [ref=e132]:
|
||||
- generic [ref=e133]: Project Manager
|
||||
- cell "local" [ref=e134]:
|
||||
- generic [ref=e135]: local
|
||||
- cell "Active" [ref=e136]:
|
||||
- generic [ref=e137]: Active
|
||||
- cell "5/1/2026" [ref=e138]
|
||||
- cell "Edit Reset Password Deactivate" [ref=e139]:
|
||||
- generic [ref=e140]:
|
||||
- link "Edit" [ref=e141] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users/69f497d51187232cb149f5c0
|
||||
- button "Reset Password" [ref=e142]
|
||||
- button "Deactivate" [ref=e143]
|
||||
- row "T Test Production test-production@oliver.agency production local Active 5/1/2026 Edit Reset Password Deactivate" [ref=e144]:
|
||||
- cell "T Test Production test-production@oliver.agency" [ref=e145]:
|
||||
- generic [ref=e146]:
|
||||
- generic [ref=e148]: T
|
||||
- generic [ref=e149]:
|
||||
- generic [ref=e150]: Test Production
|
||||
- generic [ref=e151]: test-production@oliver.agency
|
||||
- cell "production" [ref=e152]:
|
||||
- generic [ref=e153]: production
|
||||
- cell "local" [ref=e154]:
|
||||
- generic [ref=e155]: local
|
||||
- cell "Active" [ref=e156]:
|
||||
- generic [ref=e157]: Active
|
||||
- cell "5/1/2026" [ref=e158]
|
||||
- cell "Edit Reset Password Deactivate" [ref=e159]:
|
||||
- generic [ref=e160]:
|
||||
- link "Edit" [ref=e161] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users/69f497d41187232cb149f5bf
|
||||
- button "Reset Password" [ref=e162]
|
||||
- button "Deactivate" [ref=e163]
|
||||
- row "T Test Reviewer test-reviewer@oliver.agency reviewer local Active 5/1/2026 Edit Reset Password Deactivate" [ref=e164]:
|
||||
- cell "T Test Reviewer test-reviewer@oliver.agency" [ref=e165]:
|
||||
- generic [ref=e166]:
|
||||
- generic [ref=e168]: T
|
||||
- generic [ref=e169]:
|
||||
- generic [ref=e170]: Test Reviewer
|
||||
- generic [ref=e171]: test-reviewer@oliver.agency
|
||||
- cell "reviewer" [ref=e172]:
|
||||
- generic [ref=e173]: reviewer
|
||||
- cell "local" [ref=e174]:
|
||||
- generic [ref=e175]: local
|
||||
- cell "Active" [ref=e176]:
|
||||
- generic [ref=e177]: Active
|
||||
- cell "5/1/2026" [ref=e178]
|
||||
- cell "Edit Reset Password Deactivate" [ref=e179]:
|
||||
- generic [ref=e180]:
|
||||
- link "Edit" [ref=e181] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users/69f497d41187232cb149f5be
|
||||
- button "Reset Password" [ref=e182]
|
||||
- button "Deactivate" [ref=e183]
|
||||
- row "T Test Linguist test-linguist@oliver.agency linguist local Active 5/1/2026 Edit Reset Password Deactivate" [ref=e184]:
|
||||
- cell "T Test Linguist test-linguist@oliver.agency" [ref=e185]:
|
||||
- generic [ref=e186]:
|
||||
- generic [ref=e188]: T
|
||||
- generic [ref=e189]:
|
||||
- generic [ref=e190]: Test Linguist
|
||||
- generic [ref=e191]: test-linguist@oliver.agency
|
||||
- cell "linguist" [ref=e192]:
|
||||
- generic [ref=e193]: linguist
|
||||
- cell "local" [ref=e194]:
|
||||
- generic [ref=e195]: local
|
||||
- cell "Active" [ref=e196]:
|
||||
- generic [ref=e197]: Active
|
||||
- cell "5/1/2026" [ref=e198]
|
||||
- cell "Edit Reset Password Deactivate" [ref=e199]:
|
||||
- generic [ref=e200]:
|
||||
- link "Edit" [ref=e201] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users/69f497d41187232cb149f5bd
|
||||
- button "Reset Password" [ref=e202]
|
||||
- button "Deactivate" [ref=e203]
|
||||
- row "T Test Client test-client@oliver.agency client local Active 5/1/2026 Edit Reset Password Deactivate" [ref=e204]:
|
||||
- cell "T Test Client test-client@oliver.agency" [ref=e205]:
|
||||
- generic [ref=e206]:
|
||||
- generic [ref=e208]: T
|
||||
- generic [ref=e209]:
|
||||
- generic [ref=e210]: Test Client
|
||||
- generic [ref=e211]: test-client@oliver.agency
|
||||
- cell "client" [ref=e212]:
|
||||
- generic [ref=e213]: client
|
||||
- cell "local" [ref=e214]:
|
||||
- generic [ref=e215]: local
|
||||
- cell "Active" [ref=e216]:
|
||||
- generic [ref=e217]: Active
|
||||
- cell "5/1/2026" [ref=e218]
|
||||
- cell "Edit Reset Password Deactivate" [ref=e219]:
|
||||
- generic [ref=e220]:
|
||||
- link "Edit" [ref=e221] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users/69f497d41187232cb149f5bc
|
||||
- button "Reset Password" [ref=e222]
|
||||
- button "Deactivate" [ref=e223]
|
||||
- row "T Test Admin test-admin@oliver.agency admin local Active 5/1/2026 Edit Reset Password Deactivate" [ref=e224]:
|
||||
- cell "T Test Admin test-admin@oliver.agency" [ref=e225]:
|
||||
- generic [ref=e226]:
|
||||
- generic [ref=e228]: T
|
||||
- generic [ref=e229]:
|
||||
- generic [ref=e230]: Test Admin
|
||||
- generic [ref=e231]: test-admin@oliver.agency
|
||||
- cell "admin" [ref=e232]:
|
||||
- generic [ref=e233]: admin
|
||||
- cell "local" [ref=e234]:
|
||||
- generic [ref=e235]: local
|
||||
- cell "Active" [ref=e236]:
|
||||
- generic [ref=e237]: Active
|
||||
- cell "5/1/2026" [ref=e238]
|
||||
- cell "Edit Reset Password Deactivate" [ref=e239]:
|
||||
- generic [ref=e240]:
|
||||
- link "Edit" [ref=e241] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users/69f497d31187232cb149f5bb
|
||||
- button "Reset Password" [ref=e242]
|
||||
- button "Deactivate" [ref=e243]
|
||||
- row "V Vadym Samoilenko vadymsamoilenko@oliver.agency admin microsoft Active 4/30/2026 Edit Deactivate" [ref=e244]:
|
||||
- cell "V Vadym Samoilenko vadymsamoilenko@oliver.agency" [ref=e245]:
|
||||
- generic [ref=e246]:
|
||||
- generic [ref=e248]: V
|
||||
- generic [ref=e249]:
|
||||
- generic [ref=e250]: Vadym Samoilenko
|
||||
- generic [ref=e251]: vadymsamoilenko@oliver.agency
|
||||
- cell "admin" [ref=e252]:
|
||||
- generic [ref=e253]: admin
|
||||
- cell "microsoft" [ref=e254]:
|
||||
- generic [ref=e255]:
|
||||
- img [ref=e256]
|
||||
- text: microsoft
|
||||
- cell "Active" [ref=e258]:
|
||||
- generic [ref=e259]: Active
|
||||
- cell "4/30/2026" [ref=e260]
|
||||
- cell "Edit Deactivate" [ref=e261]:
|
||||
- generic [ref=e262]:
|
||||
- link "Edit" [ref=e263] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users/ms-hnCOF-gMVj2GdlMMn3ZI
|
||||
- button "Deactivate" [ref=e264]
|
||||
- generic [ref=e266]:
|
||||
- generic [ref=e267]:
|
||||
- heading "Create New User" [level=3] [ref=e268]
|
||||
- button [ref=e269]:
|
||||
- img [ref=e270]
|
||||
- generic [ref=e272]:
|
||||
- generic [ref=e273]:
|
||||
- generic [ref=e274]: Email
|
||||
- textbox "Email" [ref=e275]
|
||||
- generic [ref=e276]:
|
||||
- generic [ref=e277]: Full Name
|
||||
- textbox "Full Name" [ref=e278]
|
||||
- generic [ref=e279]:
|
||||
- generic [ref=e280]: Password
|
||||
- textbox "Password" [ref=e281]
|
||||
- paragraph [ref=e282]: Minimum 8 characters
|
||||
- generic [ref=e283]:
|
||||
- generic [ref=e284]: Role
|
||||
- combobox "Role" [ref=e285]:
|
||||
- option "Client" [selected]
|
||||
- option "Reviewer"
|
||||
- option "Linguist"
|
||||
- option "Production"
|
||||
- option "Project Manager"
|
||||
- option "Admin"
|
||||
- generic [ref=e286]:
|
||||
- button "Cancel" [ref=e287]
|
||||
- button "Create User" [ref=e288]
|
||||
83
.playwright-mcp/page-2026-05-01T12-40-57-720Z.yml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]
|
||||
0
.playwright-mcp/page-2026-05-01T12-41-04-394Z.yml
Normal file
142
.playwright-mcp/page-2026-05-01T12-41-19-738Z.yml
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e87]:
|
||||
- generic [ref=e88]:
|
||||
- heading "Welcome back, test-admin! 👋" [level=1] [ref=e89]
|
||||
- paragraph [ref=e90]: Here's what's happening with your video accessibility projects
|
||||
- generic [ref=e92]:
|
||||
- paragraph [ref=e93]: Today
|
||||
- paragraph [ref=e94]: Friday, May 1
|
||||
- generic [ref=e95]:
|
||||
- link "📋 Total Jobs 0 View all →" [ref=e96] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e98]:
|
||||
- generic [ref=e99]:
|
||||
- generic [ref=e101]: 📋
|
||||
- heading "Total Jobs" [level=3] [ref=e102]
|
||||
- paragraph [ref=e103]: "0"
|
||||
- paragraph [ref=e104]: View all →
|
||||
- link "⚙️ Processing 0 View processing →" [ref=e105] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs?status=created,ingesting,ai_processing,translating,tts_generating,rendering_video,rendering_qc
|
||||
- generic [ref=e107]:
|
||||
- generic [ref=e108]:
|
||||
- generic [ref=e110]: ⚙️
|
||||
- heading "Processing" [level=3] [ref=e111]
|
||||
- paragraph [ref=e112]: "0"
|
||||
- paragraph [ref=e113]: View processing →
|
||||
- link "🔍 In QC Review 0 Review now →" [ref=e114] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e116]:
|
||||
- generic [ref=e117]:
|
||||
- generic [ref=e119]: 🔍
|
||||
- heading "In QC Review" [level=3] [ref=e120]
|
||||
- paragraph [ref=e121]: "0"
|
||||
- paragraph [ref=e122]: Review now →
|
||||
- link "✅ Completed 0 View completed →" [ref=e123] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs?status=completed
|
||||
- generic [ref=e125]:
|
||||
- generic [ref=e126]:
|
||||
- generic [ref=e128]: ✅
|
||||
- heading "Completed" [level=3] [ref=e129]
|
||||
- paragraph [ref=e130]: "0"
|
||||
- paragraph [ref=e131]: View completed →
|
||||
- generic [ref=e132]:
|
||||
- generic [ref=e133]:
|
||||
- generic [ref=e134]:
|
||||
- generic [ref=e136]: 🔍
|
||||
- heading "Quality Control" [level=2] [ref=e137]
|
||||
- paragraph [ref=e138]: 0 jobs awaiting review
|
||||
- paragraph [ref=e139]: Review AI-generated content for accuracy and compliance with accessibility standards.
|
||||
- link "Start Reviewing →" [ref=e140] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e141]:
|
||||
- generic [ref=e142]:
|
||||
- generic [ref=e144]: ✅
|
||||
- heading "Final Approval" [level=2] [ref=e145]
|
||||
- paragraph [ref=e146]: Jobs ready for delivery
|
||||
- paragraph [ref=e147]: Complete the final review process and approve jobs for client delivery.
|
||||
- link "Review Finals →" [ref=e148] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- heading "Recent Activity" [level=2] [ref=e151]
|
||||
99
.playwright-mcp/page-2026-05-01T12-41-54-522Z.yml
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "⚙️ Settings" [ref=e51] [cursor=pointer]:
|
||||
- /url: /video-accessibility/org/3m-test/settings/members
|
||||
- generic [ref=e52]: ⚙️
|
||||
- generic [ref=e53]: Settings
|
||||
- link "📖 Help" [ref=e55] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e56]: 📖
|
||||
- generic [ref=e57]: Help
|
||||
- generic [ref=e59]:
|
||||
- generic [ref=e61]: T
|
||||
- generic [ref=e62]:
|
||||
- paragraph [ref=e63]: Test Admin
|
||||
- paragraph [ref=e64]: admin
|
||||
- generic [ref=e65]:
|
||||
- navigation [ref=e66]:
|
||||
- generic [ref=e67]:
|
||||
- heading "Dashboard" [level=2] [ref=e69]
|
||||
- generic [ref=e70]:
|
||||
- button [ref=e72]:
|
||||
- img [ref=e73]
|
||||
- link "New Upload" [ref=e75] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e76]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e79]:
|
||||
- generic [ref=e81]: T
|
||||
- generic [ref=e82]:
|
||||
- paragraph [ref=e83]: test-admin@oliver.agency
|
||||
- paragraph [ref=e84]: admin
|
||||
- img [ref=e85]
|
||||
- main [ref=e87]:
|
||||
- generic [ref=e88]:
|
||||
- heading "Organization Settings" [level=1] [ref=e89]
|
||||
- generic [ref=e90]:
|
||||
- link "Members" [ref=e91] [cursor=pointer]:
|
||||
- /url: /video-accessibility/org/3m-test/settings/members
|
||||
- link "Teams" [ref=e92] [cursor=pointer]:
|
||||
- /url: /video-accessibility/org/3m-test/settings/teams
|
||||
- link "Invitations" [ref=e93] [cursor=pointer]:
|
||||
- /url: /video-accessibility/org/3m-test/settings/invitations
|
||||
- link "General" [ref=e94] [cursor=pointer]:
|
||||
- /url: /video-accessibility/org/3m-test/settings/general
|
||||
- generic [ref=e95]: Loading…
|
||||
BIN
.playwright-mcp/page-2026-05-01T12-42-04-408Z.png
Normal file
|
After Width: | Height: | Size: 74 KiB |
83
.playwright-mcp/page-2026-05-01T12-42-14-908Z.yml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]
|
||||
939
.playwright-mcp/page-2026-05-01T12-42-40-725Z.yml
Normal file
|
|
@ -0,0 +1,939 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue 1" [ref=e94] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- generic [ref=e95]: "1"
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e124]:
|
||||
- generic [ref=e125]:
|
||||
- generic [ref=e126]:
|
||||
- generic [ref=e127]:
|
||||
- heading "test-video" [level=1] [ref=e128]
|
||||
- button "Rename" [ref=e129]:
|
||||
- img [ref=e130]
|
||||
- generic [ref=e132]:
|
||||
- generic [ref=e133]: Pending QC
|
||||
- generic [ref=e134]: "Source: 69f49ed8694cf102e622687f/source.mp4"
|
||||
- generic [ref=e135]: "Language: EN"
|
||||
- generic [ref=e136]: "Duration: 68s"
|
||||
- generic [ref=e137]:
|
||||
- button "↗ Share link" [ref=e138]
|
||||
- button "← Back to Queue" [ref=e139]
|
||||
- generic [ref=e140]:
|
||||
- generic [ref=e142]:
|
||||
- generic [ref=e143]: Languages
|
||||
- generic [ref=e144]: 0/1 approved
|
||||
- generic [ref=e146]:
|
||||
- button "⏳ EN (source) Pending ▲" [ref=e147]:
|
||||
- generic [ref=e148]:
|
||||
- generic [ref=e149]: ⏳
|
||||
- generic [ref=e150]: EN
|
||||
- generic [ref=e151]: (source)
|
||||
- generic [ref=e152]: Pending
|
||||
- generic [ref=e153]: ▲
|
||||
- generic [ref=e154]:
|
||||
- generic [ref=e155]:
|
||||
- generic [ref=e156]:
|
||||
- generic [ref=e157]: Linguist
|
||||
- generic [ref=e158]: Unassigned
|
||||
- button "Assign linguist" [ref=e159]
|
||||
- generic [ref=e160]:
|
||||
- generic [ref=e161]: Reviewer
|
||||
- generic [ref=e162]: Unassigned
|
||||
- button "Assign reviewer" [ref=e163]
|
||||
- generic [ref=e164]:
|
||||
- button "✓ Approve" [ref=e166]
|
||||
- button "✕ Request changes" [ref=e167]
|
||||
- button "💬 Comments (0)" [ref=e169]
|
||||
- generic [ref=e170]:
|
||||
- generic [ref=e171]:
|
||||
- generic [ref=e172]: "View Mode:"
|
||||
- generic [ref=e173]:
|
||||
- button "Side by Side (1)" [ref=e174]
|
||||
- button "Video Only (2)" [ref=e175]
|
||||
- button "Editor Only (3)" [ref=e176]
|
||||
- generic [ref=e177]: "Shortcuts: A=Approve, R=Reject"
|
||||
- generic [ref=e179]:
|
||||
- heading "Video Preview" [level=3] [ref=e181]
|
||||
- generic [ref=e182]:
|
||||
- generic [ref=e183]:
|
||||
- generic [ref=e184]: Your browser does not support the video tag.
|
||||
- generic [ref=e186]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- generic [ref=e187]:
|
||||
- generic [ref=e188]:
|
||||
- checkbox "Show Captions" [checked] [ref=e189]
|
||||
- generic [ref=e190]: Show Captions
|
||||
- generic [ref=e191]: "Time: 0:00"
|
||||
- generic [ref=e192]:
|
||||
- heading "Caption Timeline (English)" [level=4] [ref=e193]
|
||||
- generic [ref=e194]:
|
||||
- generic [ref=e195] [cursor=pointer]:
|
||||
- generic [ref=e196]:
|
||||
- generic [ref=e197]: 0:00 → 0:05
|
||||
- button "Jump" [ref=e198]
|
||||
- generic [ref=e199]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- generic [ref=e200] [cursor=pointer]:
|
||||
- generic [ref=e201]:
|
||||
- generic [ref=e202]: 0:06 → 0:10
|
||||
- button "Jump" [ref=e203]
|
||||
- generic [ref=e204]: With more than 50 years of experience working in the field on energy projects,
|
||||
- generic [ref=e205] [cursor=pointer]:
|
||||
- generic [ref=e206]:
|
||||
- generic [ref=e207]: 0:10 → 0:13
|
||||
- button "Jump" [ref=e208]
|
||||
- generic [ref=e209]: 3M has your solution to help you make your work more reliable, easier,
|
||||
- generic [ref=e210] [cursor=pointer]:
|
||||
- generic [ref=e211]:
|
||||
- generic [ref=e212]: 0:13 → 0:16
|
||||
- button "Jump" [ref=e213]
|
||||
- generic [ref=e214]: and faster for solar energy projects,
|
||||
- generic [ref=e215] [cursor=pointer]:
|
||||
- generic [ref=e216]:
|
||||
- generic [ref=e217]: 0:16 → 0:18
|
||||
- button "Jump" [ref=e218]
|
||||
- generic [ref=e219]: wind energy projects,
|
||||
- generic [ref=e220] [cursor=pointer]:
|
||||
- generic [ref=e221]:
|
||||
- generic [ref=e222]: 0:18 → 0:21
|
||||
- button "Jump" [ref=e223]
|
||||
- generic [ref=e224]: and battery energy storage systems.
|
||||
- generic [ref=e225] [cursor=pointer]:
|
||||
- generic [ref=e226]:
|
||||
- generic [ref=e227]: 0:21 → 0:25
|
||||
- button "Jump" [ref=e228]
|
||||
- generic [ref=e229]: We can help you solve your electrical installation challenges.
|
||||
- generic [ref=e230] [cursor=pointer]:
|
||||
- generic [ref=e231]:
|
||||
- generic [ref=e232]: 0:25 → 0:28
|
||||
- button "Jump" [ref=e233]
|
||||
- generic [ref=e234]: 3M provides advanced technology solutions
|
||||
- generic [ref=e235] [cursor=pointer]:
|
||||
- generic [ref=e236]:
|
||||
- generic [ref=e237]: 0:28 → 0:32
|
||||
- button "Jump" [ref=e238]
|
||||
- generic [ref=e239]: in insulating, connecting, and terminating medium and high voltage cables.
|
||||
- generic [ref=e240] [cursor=pointer]:
|
||||
- generic [ref=e241]:
|
||||
- generic [ref=e242]: 0:32 → 0:35
|
||||
- button "Jump" [ref=e243]
|
||||
- generic [ref=e244]: Our engineers can help with your projects
|
||||
- generic [ref=e245] [cursor=pointer]:
|
||||
- generic [ref=e246]:
|
||||
- generic [ref=e247]: 0:35 → 0:37
|
||||
- button "Jump" [ref=e248]
|
||||
- generic [ref=e249]: and recommend customized product kits
|
||||
- generic [ref=e250] [cursor=pointer]:
|
||||
- generic [ref=e251]:
|
||||
- generic [ref=e252]: 0:37 → 0:40
|
||||
- button "Jump" [ref=e253]
|
||||
- generic [ref=e254]: so you get exactly what you need for reliable product performance.
|
||||
- generic [ref=e255] [cursor=pointer]:
|
||||
- generic [ref=e256]:
|
||||
- generic [ref=e257]: 0:40 → 0:44
|
||||
- button "Jump" [ref=e258]
|
||||
- generic [ref=e259]: We work closely with you, so you get the support you need.
|
||||
- generic [ref=e260] [cursor=pointer]:
|
||||
- generic [ref=e261]:
|
||||
- generic [ref=e262]: 0:45 → 0:48
|
||||
- button "Jump" [ref=e263]
|
||||
- generic [ref=e264]: Your work, combined with our solutions,
|
||||
- generic [ref=e265] [cursor=pointer]:
|
||||
- generic [ref=e266]:
|
||||
- generic [ref=e267]: 0:50 → 0:52
|
||||
- button "Jump" [ref=e268]
|
||||
- generic [ref=e269]: can help avoid costly downtime
|
||||
- generic [ref=e270] [cursor=pointer]:
|
||||
- generic [ref=e271]:
|
||||
- generic [ref=e272]: 0:52 → 0:55
|
||||
- button "Jump" [ref=e273]
|
||||
- generic [ref=e274]: and keep your renewable systems up and running smoothly.
|
||||
- generic [ref=e275] [cursor=pointer]:
|
||||
- generic [ref=e276]:
|
||||
- generic [ref=e277]: 0:56 → 0:59
|
||||
- button "Jump" [ref=e278]
|
||||
- generic [ref=e279]: Wherever the job takes you, we have your solution.
|
||||
- generic [ref=e280] [cursor=pointer]:
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]: 1:01 → 1:04
|
||||
- button "Jump" [ref=e283]
|
||||
- generic [ref=e284]: 3M. Science. Applied to Life.
|
||||
- generic [ref=e285]:
|
||||
- generic [ref=e286]:
|
||||
- generic [ref=e287]:
|
||||
- generic [ref=e288]: Closed Captions (EN)
|
||||
- button "Upload .vtt" [ref=e289]
|
||||
- generic [ref=e290]:
|
||||
- heading "Closed Captions (EN)" [level=3] [ref=e293]
|
||||
- generic [ref=e295]:
|
||||
- generic [ref=e296]:
|
||||
- generic [ref=e297]:
|
||||
- generic [ref=e298]:
|
||||
- generic [ref=e299]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e300]': 00:00:00.000
|
||||
- generic [ref=e301]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e302]': 00:00:05.500
|
||||
- generic [ref=e303]: (5500ms)
|
||||
- generic [ref=e304]:
|
||||
- button "Insert cue before" [ref=e305]:
|
||||
- img [ref=e306]
|
||||
- button "Insert cue after" [ref=e308]:
|
||||
- img [ref=e309]
|
||||
- button "Delete cue" [ref=e311]:
|
||||
- img [ref=e312]
|
||||
- generic [ref=e314]:
|
||||
- generic [ref=e315]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- button "Edit text" [ref=e316]
|
||||
- generic [ref=e317]:
|
||||
- generic [ref=e318]:
|
||||
- generic [ref=e319]:
|
||||
- generic [ref=e320]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e321]': 00:00:06.000
|
||||
- generic [ref=e322]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e323]': 00:00:10.000
|
||||
- generic [ref=e324]: (4000ms)
|
||||
- generic [ref=e325]:
|
||||
- button "Insert cue before" [ref=e326]:
|
||||
- img [ref=e327]
|
||||
- button "Insert cue after" [ref=e329]:
|
||||
- img [ref=e330]
|
||||
- button "Delete cue" [ref=e332]:
|
||||
- img [ref=e333]
|
||||
- generic [ref=e335]:
|
||||
- generic [ref=e336]: With more than 50 years of experience working in the field on energy projects,
|
||||
- button "Edit text" [ref=e337]
|
||||
- generic [ref=e338]:
|
||||
- generic [ref=e339]:
|
||||
- generic [ref=e340]:
|
||||
- generic [ref=e341]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e342]': 00:00:10.000
|
||||
- generic [ref=e343]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e344]': 00:00:13.500
|
||||
- generic [ref=e345]: (3500ms)
|
||||
- generic [ref=e346]:
|
||||
- button "Insert cue before" [ref=e347]:
|
||||
- img [ref=e348]
|
||||
- button "Insert cue after" [ref=e350]:
|
||||
- img [ref=e351]
|
||||
- button "Delete cue" [ref=e353]:
|
||||
- img [ref=e354]
|
||||
- generic [ref=e356]:
|
||||
- generic [ref=e357]: 3M has your solution to help you make your work more reliable, easier,
|
||||
- button "Edit text" [ref=e358]
|
||||
- generic [ref=e359]:
|
||||
- generic [ref=e360]:
|
||||
- generic [ref=e361]:
|
||||
- generic [ref=e362]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e363]': 00:00:13.500
|
||||
- generic [ref=e364]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e365]': 00:00:16.000
|
||||
- generic [ref=e366]: (2500ms)
|
||||
- generic [ref=e367]:
|
||||
- button "Insert cue before" [ref=e368]:
|
||||
- img [ref=e369]
|
||||
- button "Insert cue after" [ref=e371]:
|
||||
- img [ref=e372]
|
||||
- button "Delete cue" [ref=e374]:
|
||||
- img [ref=e375]
|
||||
- generic [ref=e377]:
|
||||
- generic [ref=e378]: and faster for solar energy projects,
|
||||
- button "Edit text" [ref=e379]
|
||||
- generic [ref=e380]:
|
||||
- generic [ref=e381]:
|
||||
- generic [ref=e382]:
|
||||
- generic [ref=e383]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e384]': 00:00:16.000
|
||||
- generic [ref=e385]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e386]': 00:00:18.500
|
||||
- generic [ref=e387]: (2500ms)
|
||||
- generic [ref=e388]:
|
||||
- button "Insert cue before" [ref=e389]:
|
||||
- img [ref=e390]
|
||||
- button "Insert cue after" [ref=e392]:
|
||||
- img [ref=e393]
|
||||
- button "Delete cue" [ref=e395]:
|
||||
- img [ref=e396]
|
||||
- generic [ref=e398]:
|
||||
- generic [ref=e399]: wind energy projects,
|
||||
- button "Edit text" [ref=e400]
|
||||
- generic [ref=e401]:
|
||||
- generic [ref=e402]:
|
||||
- generic [ref=e403]:
|
||||
- generic [ref=e404]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e405]': 00:00:18.500
|
||||
- generic [ref=e406]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e407]': 00:00:21.500
|
||||
- generic [ref=e408]: (3000ms)
|
||||
- generic [ref=e409]:
|
||||
- button "Insert cue before" [ref=e410]:
|
||||
- img [ref=e411]
|
||||
- button "Insert cue after" [ref=e413]:
|
||||
- img [ref=e414]
|
||||
- button "Delete cue" [ref=e416]:
|
||||
- img [ref=e417]
|
||||
- generic [ref=e419]:
|
||||
- generic [ref=e420]: and battery energy storage systems.
|
||||
- button "Edit text" [ref=e421]
|
||||
- generic [ref=e422]:
|
||||
- generic [ref=e423]:
|
||||
- generic [ref=e424]:
|
||||
- generic [ref=e425]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e426]': 00:00:21.500
|
||||
- generic [ref=e427]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e428]': 00:00:25.000
|
||||
- generic [ref=e429]: (3500ms)
|
||||
- generic [ref=e430]:
|
||||
- button "Insert cue before" [ref=e431]:
|
||||
- img [ref=e432]
|
||||
- button "Insert cue after" [ref=e434]:
|
||||
- img [ref=e435]
|
||||
- button "Delete cue" [ref=e437]:
|
||||
- img [ref=e438]
|
||||
- generic [ref=e440]:
|
||||
- generic [ref=e441]: We can help you solve your electrical installation challenges.
|
||||
- button "Edit text" [ref=e442]
|
||||
- generic [ref=e443]:
|
||||
- generic [ref=e444]:
|
||||
- generic [ref=e445]:
|
||||
- generic [ref=e446]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e447]': 00:00:25.000
|
||||
- generic [ref=e448]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e449]': 00:00:28.000
|
||||
- generic [ref=e450]: (3000ms)
|
||||
- generic [ref=e451]:
|
||||
- button "Insert cue before" [ref=e452]:
|
||||
- img [ref=e453]
|
||||
- button "Insert cue after" [ref=e455]:
|
||||
- img [ref=e456]
|
||||
- button "Delete cue" [ref=e458]:
|
||||
- img [ref=e459]
|
||||
- generic [ref=e461]:
|
||||
- generic [ref=e462]: 3M provides advanced technology solutions
|
||||
- button "Edit text" [ref=e463]
|
||||
- generic [ref=e464]:
|
||||
- generic [ref=e465]:
|
||||
- generic [ref=e466]:
|
||||
- generic [ref=e467]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e468]': 00:00:28.000
|
||||
- generic [ref=e469]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e470]': 00:00:32.000
|
||||
- generic [ref=e471]: (4000ms)
|
||||
- generic [ref=e472]:
|
||||
- button "Insert cue before" [ref=e473]:
|
||||
- img [ref=e474]
|
||||
- button "Insert cue after" [ref=e476]:
|
||||
- img [ref=e477]
|
||||
- button "Delete cue" [ref=e479]:
|
||||
- img [ref=e480]
|
||||
- generic [ref=e482]:
|
||||
- generic [ref=e483]: in insulating, connecting, and terminating medium and high voltage cables.
|
||||
- button "Edit text" [ref=e484]
|
||||
- generic [ref=e485]:
|
||||
- generic [ref=e486]:
|
||||
- generic [ref=e487]:
|
||||
- generic [ref=e488]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e489]': 00:00:32.000
|
||||
- generic [ref=e490]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e491]': 00:00:35.000
|
||||
- generic [ref=e492]: (3000ms)
|
||||
- generic [ref=e493]:
|
||||
- button "Insert cue before" [ref=e494]:
|
||||
- img [ref=e495]
|
||||
- button "Insert cue after" [ref=e497]:
|
||||
- img [ref=e498]
|
||||
- button "Delete cue" [ref=e500]:
|
||||
- img [ref=e501]
|
||||
- generic [ref=e503]:
|
||||
- generic [ref=e504]: Our engineers can help with your projects
|
||||
- button "Edit text" [ref=e505]
|
||||
- generic [ref=e506]:
|
||||
- generic [ref=e507]:
|
||||
- generic [ref=e508]:
|
||||
- generic [ref=e509]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e510]': 00:00:35.000
|
||||
- generic [ref=e511]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e512]': 00:00:37.500
|
||||
- generic [ref=e513]: (2500ms)
|
||||
- generic [ref=e514]:
|
||||
- button "Insert cue before" [ref=e515]:
|
||||
- img [ref=e516]
|
||||
- button "Insert cue after" [ref=e518]:
|
||||
- img [ref=e519]
|
||||
- button "Delete cue" [ref=e521]:
|
||||
- img [ref=e522]
|
||||
- generic [ref=e524]:
|
||||
- generic [ref=e525]: and recommend customized product kits
|
||||
- button "Edit text" [ref=e526]
|
||||
- generic [ref=e527]:
|
||||
- generic [ref=e528]:
|
||||
- generic [ref=e529]:
|
||||
- generic [ref=e530]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e531]': 00:00:37.500
|
||||
- generic [ref=e532]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e533]': 00:00:40.500
|
||||
- generic [ref=e534]: (3000ms)
|
||||
- generic [ref=e535]:
|
||||
- button "Insert cue before" [ref=e536]:
|
||||
- img [ref=e537]
|
||||
- button "Insert cue after" [ref=e539]:
|
||||
- img [ref=e540]
|
||||
- button "Delete cue" [ref=e542]:
|
||||
- img [ref=e543]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e546]: ⚡ 22 CPS
|
||||
- generic [ref=e547]:
|
||||
- generic [ref=e548]: so you get exactly what you need for reliable product performance.
|
||||
- button "Edit text" [ref=e549]
|
||||
- generic [ref=e550]:
|
||||
- generic [ref=e551]:
|
||||
- generic [ref=e552]:
|
||||
- generic [ref=e553]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e554]': 00:00:40.500
|
||||
- generic [ref=e555]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e556]': 00:00:44.500
|
||||
- generic [ref=e557]: (4000ms)
|
||||
- generic [ref=e558]:
|
||||
- button "Insert cue before" [ref=e559]:
|
||||
- img [ref=e560]
|
||||
- button "Insert cue after" [ref=e562]:
|
||||
- img [ref=e563]
|
||||
- button "Delete cue" [ref=e565]:
|
||||
- img [ref=e566]
|
||||
- generic [ref=e568]:
|
||||
- generic [ref=e569]: We work closely with you, so you get the support you need.
|
||||
- button "Edit text" [ref=e570]
|
||||
- generic [ref=e571]:
|
||||
- generic [ref=e572]:
|
||||
- generic [ref=e573]:
|
||||
- generic [ref=e574]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e575]': 00:00:45.000
|
||||
- generic [ref=e576]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e577]': 00:00:48.500
|
||||
- generic [ref=e578]: (3500ms)
|
||||
- generic [ref=e579]:
|
||||
- button "Insert cue before" [ref=e580]:
|
||||
- img [ref=e581]
|
||||
- button "Insert cue after" [ref=e583]:
|
||||
- img [ref=e584]
|
||||
- button "Delete cue" [ref=e586]:
|
||||
- img [ref=e587]
|
||||
- generic [ref=e589]:
|
||||
- generic [ref=e590]: Your work, combined with our solutions,
|
||||
- button "Edit text" [ref=e591]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e592] [cursor=pointer]:
|
||||
- generic [ref=e593]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e594]:
|
||||
- generic [ref=e595]:
|
||||
- generic [ref=e596]:
|
||||
- generic [ref=e597]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e598]': 00:00:50.000
|
||||
- generic [ref=e599]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e600]': 00:00:52.000
|
||||
- generic [ref=e601]: (2000ms)
|
||||
- generic [ref=e602]:
|
||||
- button "Insert cue before" [ref=e603]:
|
||||
- img [ref=e604]
|
||||
- button "Insert cue after" [ref=e606]:
|
||||
- img [ref=e607]
|
||||
- button "Delete cue" [ref=e609]:
|
||||
- img [ref=e610]
|
||||
- generic [ref=e612]:
|
||||
- generic [ref=e613]: can help avoid costly downtime
|
||||
- button "Edit text" [ref=e614]
|
||||
- generic [ref=e615]:
|
||||
- generic [ref=e616]:
|
||||
- generic [ref=e617]:
|
||||
- generic [ref=e618]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e619]': 00:00:52.000
|
||||
- generic [ref=e620]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e621]': 00:00:55.500
|
||||
- generic [ref=e622]: (3500ms)
|
||||
- generic [ref=e623]:
|
||||
- button "Insert cue before" [ref=e624]:
|
||||
- img [ref=e625]
|
||||
- button "Insert cue after" [ref=e627]:
|
||||
- img [ref=e628]
|
||||
- button "Delete cue" [ref=e630]:
|
||||
- img [ref=e631]
|
||||
- generic [ref=e633]:
|
||||
- generic [ref=e634]: and keep your renewable systems up and running smoothly.
|
||||
- button "Edit text" [ref=e635]
|
||||
- generic "Insert cue in this gap (1.0s gap)" [ref=e636] [cursor=pointer]:
|
||||
- generic [ref=e637]: + Add cue here · 1.0s gap
|
||||
- generic [ref=e638]:
|
||||
- generic [ref=e639]:
|
||||
- generic [ref=e640]:
|
||||
- generic [ref=e641]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e642]': 00:00:56.500
|
||||
- generic [ref=e643]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e644]': 00:00:59.500
|
||||
- generic [ref=e645]: (3000ms)
|
||||
- generic [ref=e646]:
|
||||
- button "Insert cue before" [ref=e647]:
|
||||
- img [ref=e648]
|
||||
- button "Insert cue after" [ref=e650]:
|
||||
- img [ref=e651]
|
||||
- button "Delete cue" [ref=e653]:
|
||||
- img [ref=e654]
|
||||
- generic [ref=e656]:
|
||||
- generic [ref=e657]: Wherever the job takes you, we have your solution.
|
||||
- button "Edit text" [ref=e658]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e659] [cursor=pointer]:
|
||||
- generic [ref=e660]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e661]:
|
||||
- generic [ref=e662]:
|
||||
- generic [ref=e663]:
|
||||
- generic [ref=e664]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e665]': 00:01:01.000
|
||||
- generic [ref=e666]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e667]': 00:01:04.000
|
||||
- generic [ref=e668]: (3000ms)
|
||||
- generic [ref=e669]:
|
||||
- button "Insert cue before" [ref=e670]:
|
||||
- img [ref=e671]
|
||||
- button "Insert cue after" [ref=e673]:
|
||||
- img [ref=e674]
|
||||
- button "Delete cue" [ref=e676]:
|
||||
- img [ref=e677]
|
||||
- generic [ref=e679]:
|
||||
- generic [ref=e680]: 3M. Science. Applied to Life.
|
||||
- button "Edit text" [ref=e681]
|
||||
- generic [ref=e682]: "18 cues • Total duration: 1:04.000"
|
||||
- button "↔ Diff vs AI baseline" [ref=e684]
|
||||
- generic [ref=e685]:
|
||||
- generic [ref=e686]:
|
||||
- generic [ref=e687]: Audio Description (EN)
|
||||
- button "Upload .vtt" [ref=e688]
|
||||
- generic [ref=e689]:
|
||||
- heading "Audio Description (EN)" [level=3] [ref=e692]
|
||||
- generic [ref=e694]:
|
||||
- generic [ref=e695]:
|
||||
- generic [ref=e696]:
|
||||
- generic [ref=e697]:
|
||||
- generic [ref=e698]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e699]': 00:00:00.000
|
||||
- generic [ref=e700]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e701]': 00:00:05.500
|
||||
- generic [ref=e702]: (5500ms)
|
||||
- generic [ref=e703]:
|
||||
- button "Insert cue before" [ref=e704]:
|
||||
- img [ref=e705]
|
||||
- button "Insert cue after" [ref=e707]:
|
||||
- img [ref=e708]
|
||||
- button "Delete cue" [ref=e710]:
|
||||
- img [ref=e711]
|
||||
- generic [ref=e713]:
|
||||
- generic [ref=e714]: "An aerial view of a massive solar panel farm. Text on screen reads: 3M Science. Applied to Life."
|
||||
- button "Edit text" [ref=e715]
|
||||
- generic [ref=e716]:
|
||||
- generic [ref=e717]:
|
||||
- generic [ref=e718]:
|
||||
- generic [ref=e719]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e720]': 00:00:06.000
|
||||
- generic [ref=e721]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e722]': 00:00:10.000
|
||||
- generic [ref=e723]: (4000ms)
|
||||
- generic [ref=e724]:
|
||||
- button "Insert cue before" [ref=e725]:
|
||||
- img [ref=e726]
|
||||
- button "Insert cue after" [ref=e728]:
|
||||
- img [ref=e729]
|
||||
- button "Delete cue" [ref=e731]:
|
||||
- img [ref=e732]
|
||||
- generic [ref=e734]:
|
||||
- generic [ref=e735]: Three workers in hard hats stand near solar panels.
|
||||
- button "Edit text" [ref=e736]
|
||||
- generic [ref=e737]:
|
||||
- generic [ref=e738]:
|
||||
- generic [ref=e739]:
|
||||
- generic [ref=e740]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e741]': 00:00:10.000
|
||||
- generic [ref=e742]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e743]': 00:00:13.500
|
||||
- generic [ref=e744]: (3500ms)
|
||||
- generic [ref=e745]:
|
||||
- button "Insert cue before" [ref=e746]:
|
||||
- img [ref=e747]
|
||||
- button "Insert cue after" [ref=e749]:
|
||||
- img [ref=e750]
|
||||
- button "Delete cue" [ref=e752]:
|
||||
- img [ref=e753]
|
||||
- generic [ref=e755]:
|
||||
- generic [ref=e756]: A gloved hand inserts a metal rod into a grey rubber sleeve.
|
||||
- button "Edit text" [ref=e757]
|
||||
- generic [ref=e758]:
|
||||
- generic [ref=e759]:
|
||||
- generic [ref=e760]:
|
||||
- generic [ref=e761]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e762]': 00:00:13.500
|
||||
- generic [ref=e763]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e764]': 00:00:16.000
|
||||
- generic [ref=e765]: (2500ms)
|
||||
- generic [ref=e766]:
|
||||
- button "Insert cue before" [ref=e767]:
|
||||
- img [ref=e768]
|
||||
- button "Insert cue after" [ref=e770]:
|
||||
- img [ref=e771]
|
||||
- button "Delete cue" [ref=e773]:
|
||||
- img [ref=e774]
|
||||
- generic [ref=e776]:
|
||||
- generic [ref=e777]: Three workers walk past solar panels.
|
||||
- button "Edit text" [ref=e778]
|
||||
- generic [ref=e779]:
|
||||
- generic [ref=e780]:
|
||||
- generic [ref=e781]:
|
||||
- generic [ref=e782]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e783]': 00:00:16.000
|
||||
- generic [ref=e784]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e785]': 00:00:18.500
|
||||
- generic [ref=e786]: (2500ms)
|
||||
- generic [ref=e787]:
|
||||
- button "Insert cue before" [ref=e788]:
|
||||
- img [ref=e789]
|
||||
- button "Insert cue after" [ref=e791]:
|
||||
- img [ref=e792]
|
||||
- button "Delete cue" [ref=e794]:
|
||||
- img [ref=e795]
|
||||
- generic [ref=e797]:
|
||||
- generic [ref=e798]: Wind turbines stand in the ocean at sunset.
|
||||
- button "Edit text" [ref=e799]
|
||||
- generic [ref=e800]:
|
||||
- generic [ref=e801]:
|
||||
- generic [ref=e802]:
|
||||
- generic [ref=e803]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e804]': 00:00:18.500
|
||||
- generic [ref=e805]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e806]': 00:00:21.500
|
||||
- generic [ref=e807]: (3000ms)
|
||||
- generic [ref=e808]:
|
||||
- button "Insert cue before" [ref=e809]:
|
||||
- img [ref=e810]
|
||||
- button "Insert cue after" [ref=e812]:
|
||||
- img [ref=e813]
|
||||
- button "Delete cue" [ref=e815]:
|
||||
- img [ref=e816]
|
||||
- generic [ref=e818]:
|
||||
- generic [ref=e819]: Rows of white battery storage units at an industrial site.
|
||||
- button "Edit text" [ref=e820]
|
||||
- generic [ref=e821]:
|
||||
- generic [ref=e822]:
|
||||
- generic [ref=e823]:
|
||||
- generic [ref=e824]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e825]': 00:00:21.500
|
||||
- generic [ref=e826]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e827]': 00:00:25.000
|
||||
- generic [ref=e828]: (3500ms)
|
||||
- generic [ref=e829]:
|
||||
- button "Insert cue before" [ref=e830]:
|
||||
- img [ref=e831]
|
||||
- button "Insert cue after" [ref=e833]:
|
||||
- img [ref=e834]
|
||||
- button "Delete cue" [ref=e836]:
|
||||
- img [ref=e837]
|
||||
- generic [ref=e839]:
|
||||
- generic [ref=e840]: Two workers look up at the underside of a solar panel.
|
||||
- button "Edit text" [ref=e841]
|
||||
- generic [ref=e842]:
|
||||
- generic [ref=e843]:
|
||||
- generic [ref=e844]:
|
||||
- generic [ref=e845]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e846]': 00:00:25.000
|
||||
- generic [ref=e847]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e848]': 00:00:28.000
|
||||
- generic [ref=e849]: (3000ms)
|
||||
- generic [ref=e850]:
|
||||
- button "Insert cue before" [ref=e851]:
|
||||
- img [ref=e852]
|
||||
- button "Insert cue after" [ref=e854]:
|
||||
- img [ref=e855]
|
||||
- button "Delete cue" [ref=e857]:
|
||||
- img [ref=e858]
|
||||
- generic [ref=e860]:
|
||||
- generic [ref=e861]: Workers install cables in a trench.
|
||||
- button "Edit text" [ref=e862]
|
||||
- generic [ref=e863]:
|
||||
- generic [ref=e864]:
|
||||
- generic [ref=e865]:
|
||||
- generic [ref=e866]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e867]': 00:00:28.000
|
||||
- generic [ref=e868]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e869]': 00:00:32.000
|
||||
- generic [ref=e870]: (4000ms)
|
||||
- generic [ref=e871]:
|
||||
- button "Insert cue before" [ref=e872]:
|
||||
- img [ref=e873]
|
||||
- button "Insert cue after" [ref=e875]:
|
||||
- img [ref=e876]
|
||||
- button "Delete cue" [ref=e878]:
|
||||
- img [ref=e879]
|
||||
- generic [ref=e881]:
|
||||
- generic [ref=e882]: A worker wipes a thick black cable with a cloth.
|
||||
- button "Edit text" [ref=e883]
|
||||
- generic [ref=e884]:
|
||||
- generic [ref=e885]:
|
||||
- generic [ref=e886]:
|
||||
- generic [ref=e887]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e888]': 00:00:32.000
|
||||
- generic [ref=e889]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e890]': 00:00:35.000
|
||||
- generic [ref=e891]: (3000ms)
|
||||
- generic [ref=e892]:
|
||||
- button "Insert cue before" [ref=e893]:
|
||||
- img [ref=e894]
|
||||
- button "Insert cue after" [ref=e896]:
|
||||
- img [ref=e897]
|
||||
- button "Delete cue" [ref=e899]:
|
||||
- img [ref=e900]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e903]: ⚡ 22 CPS
|
||||
- generic [ref=e904]:
|
||||
- generic [ref=e905]: "A worker stands next to a cardboard box. Text on screen reads: 3M."
|
||||
- button "Edit text" [ref=e906]
|
||||
- generic [ref=e907]:
|
||||
- generic [ref=e908]:
|
||||
- generic [ref=e909]:
|
||||
- generic [ref=e910]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e911]': 00:00:35.000
|
||||
- generic [ref=e912]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e913]': 00:00:40.500
|
||||
- generic [ref=e914]: (5500ms)
|
||||
- generic [ref=e915]:
|
||||
- button "Insert cue before" [ref=e916]:
|
||||
- img [ref=e917]
|
||||
- button "Insert cue after" [ref=e919]:
|
||||
- img [ref=e920]
|
||||
- button "Delete cue" [ref=e922]:
|
||||
- img [ref=e923]
|
||||
- generic [ref=e925]:
|
||||
- generic [ref=e926]: A worker pulls a product from a 3M box. Another holds a document with diagrams.
|
||||
- button "Edit text" [ref=e927]
|
||||
- generic [ref=e928]:
|
||||
- generic [ref=e929]:
|
||||
- generic [ref=e930]:
|
||||
- generic [ref=e931]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e932]': 00:00:40.500
|
||||
- generic [ref=e933]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e934]': 00:00:44.500
|
||||
- generic [ref=e935]: (4000ms)
|
||||
- generic [ref=e936]:
|
||||
- button "Insert cue before" [ref=e937]:
|
||||
- img [ref=e938]
|
||||
- button "Insert cue after" [ref=e940]:
|
||||
- img [ref=e941]
|
||||
- button "Delete cue" [ref=e943]:
|
||||
- img [ref=e944]
|
||||
- generic [ref=e946]:
|
||||
- generic [ref=e947]: Two workers examine a cable component.
|
||||
- button "Edit text" [ref=e948]
|
||||
- generic [ref=e949]:
|
||||
- generic [ref=e950]:
|
||||
- generic [ref=e951]:
|
||||
- generic [ref=e952]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e953]': 00:00:44.500
|
||||
- generic [ref=e954]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e955]': 00:00:48.500
|
||||
- generic [ref=e956]: (4000ms)
|
||||
- generic [ref=e957]:
|
||||
- button "Insert cue before" [ref=e958]:
|
||||
- img [ref=e959]
|
||||
- button "Insert cue after" [ref=e961]:
|
||||
- img [ref=e962]
|
||||
- button "Delete cue" [ref=e964]:
|
||||
- img [ref=e965]
|
||||
- generic [ref=e967]:
|
||||
- generic [ref=e968]: A worker pulls a plastic core from a rubber sleeve on a cable.
|
||||
- button "Edit text" [ref=e969]
|
||||
- generic [ref=e970]:
|
||||
- generic [ref=e971]:
|
||||
- generic [ref=e972]:
|
||||
- generic [ref=e973]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e974]': 00:00:48.500
|
||||
- generic [ref=e975]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e976]': 00:00:51.500
|
||||
- generic [ref=e977]: (3000ms)
|
||||
- generic [ref=e978]:
|
||||
- button "Insert cue before" [ref=e979]:
|
||||
- img [ref=e980]
|
||||
- button "Insert cue after" [ref=e982]:
|
||||
- img [ref=e983]
|
||||
- button "Delete cue" [ref=e985]:
|
||||
- img [ref=e986]
|
||||
- generic [ref=e988]:
|
||||
- generic [ref=e989]: A worker inserts a black plug into a yellow socket.
|
||||
- button "Edit text" [ref=e990]
|
||||
- generic [ref=e991]:
|
||||
- generic [ref=e992]:
|
||||
- generic [ref=e993]:
|
||||
- generic [ref=e994]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e995]': 00:00:51.500
|
||||
- generic [ref=e996]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e997]': 00:00:55.500
|
||||
- generic [ref=e998]: (4000ms)
|
||||
- generic [ref=e999]:
|
||||
- button "Insert cue before" [ref=e1000]:
|
||||
- img [ref=e1001]
|
||||
- button "Insert cue after" [ref=e1003]:
|
||||
- img [ref=e1004]
|
||||
- button "Delete cue" [ref=e1006]:
|
||||
- img [ref=e1007]
|
||||
- generic [ref=e1009]:
|
||||
- generic [ref=e1010]: Two workers use a power tool on a cable connection.
|
||||
- button "Edit text" [ref=e1011]
|
||||
- generic [ref=e1012]:
|
||||
- generic [ref=e1013]:
|
||||
- generic [ref=e1014]:
|
||||
- generic [ref=e1015]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1016]': 00:00:55.500
|
||||
- generic [ref=e1017]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1018]': 00:01:00.000
|
||||
- generic [ref=e1019]: (4500ms)
|
||||
- generic [ref=e1020]:
|
||||
- button "Insert cue before" [ref=e1021]:
|
||||
- img [ref=e1022]
|
||||
- button "Insert cue after" [ref=e1024]:
|
||||
- img [ref=e1025]
|
||||
- button "Delete cue" [ref=e1027]:
|
||||
- img [ref=e1028]
|
||||
- generic [ref=e1030]:
|
||||
- generic [ref=e1031]: The spoken words appear as text on a black background.
|
||||
- button "Edit text" [ref=e1032]
|
||||
- generic [ref=e1033]:
|
||||
- generic [ref=e1034]:
|
||||
- generic [ref=e1035]:
|
||||
- generic [ref=e1036]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1037]': 00:01:00.000
|
||||
- generic [ref=e1038]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1039]': 00:01:04.000
|
||||
- generic [ref=e1040]: (4000ms)
|
||||
- generic [ref=e1041]:
|
||||
- button "Insert cue before" [ref=e1042]:
|
||||
- img [ref=e1043]
|
||||
- button "Insert cue after" [ref=e1045]:
|
||||
- img [ref=e1046]
|
||||
- button "Delete cue" [ref=e1048]:
|
||||
- img [ref=e1049]
|
||||
- generic [ref=e1051]:
|
||||
- generic [ref=e1052]: "Text on screen reads: 3M Science. Applied to Life."
|
||||
- button "Edit text" [ref=e1053]
|
||||
- generic [ref=e1054]:
|
||||
- generic [ref=e1055]:
|
||||
- generic [ref=e1056]:
|
||||
- generic [ref=e1057]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1058]': 00:01:04.000
|
||||
- generic [ref=e1059]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1060]': 00:01:08.000
|
||||
- generic [ref=e1061]: (4000ms)
|
||||
- generic [ref=e1062]:
|
||||
- button "Insert cue before" [ref=e1063]:
|
||||
- img [ref=e1064]
|
||||
- button "Insert cue after" [ref=e1066]:
|
||||
- img [ref=e1067]
|
||||
- button "Delete cue" [ref=e1069]:
|
||||
- img [ref=e1070]
|
||||
- generic "138.5 characters per second — above the 20 CPS recommended limit" [ref=e1073]: ⚡ 139 CPS
|
||||
- generic [ref=e1074]:
|
||||
- generic [ref=e1075]: "Text on screen reads: The information contained in this video is intended for occupational use by persons with knowledge and technical skills to use such information. It is supplemental only and is not intended to replace the detailed information found in written 3M product instruction and installation manuals. For additional information, including important safety and warranty information regarding 3M Electrical Markets products, refer to the relevant product packaging or data sheet. © 3M 2022. All rights reserved. 3M is a trademark of 3M Company."
|
||||
- button "Edit text" [ref=e1076]
|
||||
- generic [ref=e1077]: "18 cues • Total duration: 1:08.000"
|
||||
- button "↔ Diff vs AI baseline" [ref=e1079]
|
||||
- generic [ref=e1081]:
|
||||
- heading "VTT Timing Adjustment" [level=3] [ref=e1082]
|
||||
- button "Adjust Timing" [ref=e1083]
|
||||
- button "Voice Settings for Audio Description (Configured) Click to customize or override TTS voice" [ref=e1085]:
|
||||
- generic [ref=e1086]:
|
||||
- img [ref=e1087]
|
||||
- generic [ref=e1089]: Voice Settings for Audio Description
|
||||
- generic [ref=e1090]: (Configured)
|
||||
- generic [ref=e1091]: Click to customize or override TTS voice
|
||||
- generic [ref=e1092]:
|
||||
- generic [ref=e1093]: Cost Tracker Project ID
|
||||
- generic [ref=e1094]:
|
||||
- textbox "e.g. ford-q3-2026" [ref=e1095]
|
||||
- button "Save" [ref=e1096]
|
||||
- paragraph [ref=e1097]: Links this job to a project in the AI Cost Dashboard.
|
||||
- button "Download Assets Click to download individual files" [ref=e1099]:
|
||||
- generic [ref=e1100]:
|
||||
- img [ref=e1101]
|
||||
- generic [ref=e1103]: Download Assets
|
||||
- generic [ref=e1104]: Click to download individual files
|
||||
- generic [ref=e1105]:
|
||||
- generic [ref=e1106]: Review Notes
|
||||
- textbox "Add any notes about this review..." [ref=e1107]
|
||||
- generic [ref=e1108]:
|
||||
- button "Approve All Languages" [ref=e1109]
|
||||
- button "Reject Job" [ref=e1110]
|
||||
BIN
.playwright-mcp/page-2026-05-01T12-43-35-441Z.png
Normal file
|
After Width: | Height: | Size: 132 KiB |
BIN
.playwright-mcp/page-2026-05-01T12-44-13-683Z.png
Normal file
|
After Width: | Height: | Size: 118 KiB |
852
.playwright-mcp/page-2026-05-01T12-45-04-215Z.yml
Normal file
|
|
@ -0,0 +1,852 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue 1" [ref=e94] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- generic [ref=e95]: "1"
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e124]:
|
||||
- generic [ref=e125]:
|
||||
- generic [ref=e126]:
|
||||
- generic [ref=e127]:
|
||||
- heading "test-video" [level=1] [ref=e128]
|
||||
- button "Rename" [ref=e129]:
|
||||
- img [ref=e130]
|
||||
- generic [ref=e132]:
|
||||
- generic [ref=e133]: Pending QC
|
||||
- generic [ref=e134]: "Source: 69f49ed8694cf102e622687f/source.mp4"
|
||||
- generic [ref=e135]: "Language: EN"
|
||||
- generic [ref=e136]: "Duration: 68s"
|
||||
- generic [ref=e137]:
|
||||
- button "↗ Share link" [ref=e138]
|
||||
- button "← Back to Queue" [ref=e139]
|
||||
- generic [ref=e140]:
|
||||
- generic [ref=e142]:
|
||||
- generic [ref=e143]: Languages
|
||||
- generic [ref=e144]: 0/1 approved
|
||||
- generic [ref=e146]:
|
||||
- button "⏳ EN (source) Pending ▲" [ref=e147]:
|
||||
- generic [ref=e148]:
|
||||
- generic [ref=e149]: ⏳
|
||||
- generic [ref=e150]: EN
|
||||
- generic [ref=e151]: (source)
|
||||
- generic [ref=e152]: Pending
|
||||
- generic [ref=e153]: ▲
|
||||
- generic [ref=e154]:
|
||||
- generic [ref=e155]:
|
||||
- generic [ref=e156]:
|
||||
- generic [ref=e157]: Linguist
|
||||
- generic [ref=e158]: Unassigned
|
||||
- button "Assign linguist" [ref=e159]
|
||||
- generic [ref=e160]:
|
||||
- generic [ref=e161]: Reviewer
|
||||
- generic [ref=e162]: Unassigned
|
||||
- button "Assign reviewer" [ref=e163]
|
||||
- generic [ref=e164]:
|
||||
- button "✓ Approve" [ref=e166]
|
||||
- button "✕ Request changes" [active] [ref=e167]
|
||||
- button "💬 Comments (0)" [ref=e169]
|
||||
- generic [ref=e1116]:
|
||||
- heading "Request changes — EN" [level=3] [ref=e1117]
|
||||
- paragraph [ref=e1118]: Describe what the linguist needs to correct. This will be sent to them by email.
|
||||
- generic [ref=e1119]:
|
||||
- generic [ref=e1120]: Issue category
|
||||
- generic [ref=e1121]:
|
||||
- button "timing" [ref=e1122]
|
||||
- button "mistranslation" [ref=e1123]
|
||||
- button "terminology" [ref=e1124]
|
||||
- button "profanity" [ref=e1125]
|
||||
- button "length" [ref=e1126]
|
||||
- button "other" [ref=e1127]
|
||||
- textbox "Required feedback…" [ref=e1128]
|
||||
- generic [ref=e1129]:
|
||||
- button "Cancel" [ref=e1130]
|
||||
- button "Send feedback" [disabled] [ref=e1131]
|
||||
- generic [ref=e170]:
|
||||
- generic [ref=e171]:
|
||||
- generic [ref=e172]: "View Mode:"
|
||||
- generic [ref=e173]:
|
||||
- button "Side by Side (1)" [ref=e174]
|
||||
- button "Video Only (2)" [ref=e175]
|
||||
- button "Editor Only (3)" [ref=e176]
|
||||
- generic [ref=e177]: "Shortcuts: A=Approve, R=Reject"
|
||||
- generic [ref=e285]:
|
||||
- generic [ref=e286]:
|
||||
- generic [ref=e287]:
|
||||
- generic [ref=e288]: Closed Captions (EN)
|
||||
- button "Upload .vtt" [ref=e289]
|
||||
- generic [ref=e290]:
|
||||
- heading "Closed Captions (EN)" [level=3] [ref=e293]
|
||||
- generic [ref=e295]:
|
||||
- generic [ref=e296]:
|
||||
- generic [ref=e297]:
|
||||
- generic [ref=e298]:
|
||||
- generic [ref=e299]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e300]': 00:00:00.000
|
||||
- generic [ref=e301]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e302]': 00:00:05.500
|
||||
- generic [ref=e303]: (5500ms)
|
||||
- generic [ref=e304]:
|
||||
- button "Insert cue before" [ref=e305]:
|
||||
- img [ref=e306]
|
||||
- button "Insert cue after" [ref=e308]:
|
||||
- img [ref=e309]
|
||||
- button "Delete cue" [ref=e311]:
|
||||
- img [ref=e312]
|
||||
- generic [ref=e314]:
|
||||
- generic [ref=e315]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- button "Edit text" [ref=e316]
|
||||
- generic [ref=e317]:
|
||||
- generic [ref=e318]:
|
||||
- generic [ref=e319]:
|
||||
- generic [ref=e320]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e321]': 00:00:06.000
|
||||
- generic [ref=e322]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e323]': 00:00:10.000
|
||||
- generic [ref=e324]: (4000ms)
|
||||
- generic [ref=e325]:
|
||||
- button "Insert cue before" [ref=e326]:
|
||||
- img [ref=e327]
|
||||
- button "Insert cue after" [ref=e329]:
|
||||
- img [ref=e330]
|
||||
- button "Delete cue" [ref=e332]:
|
||||
- img [ref=e333]
|
||||
- generic [ref=e335]:
|
||||
- generic [ref=e336]: With more than 50 years of experience working in the field on energy projects,
|
||||
- button "Edit text" [ref=e337]
|
||||
- generic [ref=e338]:
|
||||
- generic [ref=e339]:
|
||||
- generic [ref=e340]:
|
||||
- generic [ref=e341]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e342]': 00:00:10.000
|
||||
- generic [ref=e343]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e344]': 00:00:13.500
|
||||
- generic [ref=e345]: (3500ms)
|
||||
- generic [ref=e346]:
|
||||
- button "Insert cue before" [ref=e347]:
|
||||
- img [ref=e348]
|
||||
- button "Insert cue after" [ref=e350]:
|
||||
- img [ref=e351]
|
||||
- button "Delete cue" [ref=e353]:
|
||||
- img [ref=e354]
|
||||
- generic [ref=e356]:
|
||||
- generic [ref=e357]: 3M has your solution to help you make your work more reliable, easier,
|
||||
- button "Edit text" [ref=e358]
|
||||
- generic [ref=e359]:
|
||||
- generic [ref=e360]:
|
||||
- generic [ref=e361]:
|
||||
- generic [ref=e362]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e363]': 00:00:13.500
|
||||
- generic [ref=e364]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e365]': 00:00:16.000
|
||||
- generic [ref=e366]: (2500ms)
|
||||
- generic [ref=e367]:
|
||||
- button "Insert cue before" [ref=e368]:
|
||||
- img [ref=e369]
|
||||
- button "Insert cue after" [ref=e371]:
|
||||
- img [ref=e372]
|
||||
- button "Delete cue" [ref=e374]:
|
||||
- img [ref=e375]
|
||||
- generic [ref=e377]:
|
||||
- generic [ref=e378]: and faster for solar energy projects,
|
||||
- button "Edit text" [ref=e379]
|
||||
- generic [ref=e380]:
|
||||
- generic [ref=e381]:
|
||||
- generic [ref=e382]:
|
||||
- generic [ref=e383]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e384]': 00:00:16.000
|
||||
- generic [ref=e385]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e386]': 00:00:18.500
|
||||
- generic [ref=e387]: (2500ms)
|
||||
- generic [ref=e388]:
|
||||
- button "Insert cue before" [ref=e389]:
|
||||
- img [ref=e390]
|
||||
- button "Insert cue after" [ref=e392]:
|
||||
- img [ref=e393]
|
||||
- button "Delete cue" [ref=e395]:
|
||||
- img [ref=e396]
|
||||
- generic [ref=e398]:
|
||||
- generic [ref=e399]: wind energy projects,
|
||||
- button "Edit text" [ref=e400]
|
||||
- generic [ref=e401]:
|
||||
- generic [ref=e402]:
|
||||
- generic [ref=e403]:
|
||||
- generic [ref=e404]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e405]': 00:00:18.500
|
||||
- generic [ref=e406]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e407]': 00:00:21.500
|
||||
- generic [ref=e408]: (3000ms)
|
||||
- generic [ref=e409]:
|
||||
- button "Insert cue before" [ref=e410]:
|
||||
- img [ref=e411]
|
||||
- button "Insert cue after" [ref=e413]:
|
||||
- img [ref=e414]
|
||||
- button "Delete cue" [ref=e416]:
|
||||
- img [ref=e417]
|
||||
- generic [ref=e419]:
|
||||
- generic [ref=e420]: and battery energy storage systems.
|
||||
- button "Edit text" [ref=e421]
|
||||
- generic [ref=e422]:
|
||||
- generic [ref=e423]:
|
||||
- generic [ref=e424]:
|
||||
- generic [ref=e425]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e426]': 00:00:21.500
|
||||
- generic [ref=e427]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e428]': 00:00:25.000
|
||||
- generic [ref=e429]: (3500ms)
|
||||
- generic [ref=e430]:
|
||||
- button "Insert cue before" [ref=e431]:
|
||||
- img [ref=e432]
|
||||
- button "Insert cue after" [ref=e434]:
|
||||
- img [ref=e435]
|
||||
- button "Delete cue" [ref=e437]:
|
||||
- img [ref=e438]
|
||||
- generic [ref=e440]:
|
||||
- generic [ref=e441]: We can help you solve your electrical installation challenges.
|
||||
- button "Edit text" [ref=e442]
|
||||
- generic [ref=e443]:
|
||||
- generic [ref=e444]:
|
||||
- generic [ref=e445]:
|
||||
- generic [ref=e446]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e447]': 00:00:25.000
|
||||
- generic [ref=e448]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e449]': 00:00:28.000
|
||||
- generic [ref=e450]: (3000ms)
|
||||
- generic [ref=e451]:
|
||||
- button "Insert cue before" [ref=e452]:
|
||||
- img [ref=e453]
|
||||
- button "Insert cue after" [ref=e455]:
|
||||
- img [ref=e456]
|
||||
- button "Delete cue" [ref=e458]:
|
||||
- img [ref=e459]
|
||||
- generic [ref=e461]:
|
||||
- generic [ref=e462]: 3M provides advanced technology solutions
|
||||
- button "Edit text" [ref=e463]
|
||||
- generic [ref=e464]:
|
||||
- generic [ref=e465]:
|
||||
- generic [ref=e466]:
|
||||
- generic [ref=e467]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e468]': 00:00:28.000
|
||||
- generic [ref=e469]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e470]': 00:00:32.000
|
||||
- generic [ref=e471]: (4000ms)
|
||||
- generic [ref=e472]:
|
||||
- button "Insert cue before" [ref=e473]:
|
||||
- img [ref=e474]
|
||||
- button "Insert cue after" [ref=e476]:
|
||||
- img [ref=e477]
|
||||
- button "Delete cue" [ref=e479]:
|
||||
- img [ref=e480]
|
||||
- generic [ref=e482]:
|
||||
- generic [ref=e483]: in insulating, connecting, and terminating medium and high voltage cables.
|
||||
- button "Edit text" [ref=e484]
|
||||
- generic [ref=e485]:
|
||||
- generic [ref=e486]:
|
||||
- generic [ref=e487]:
|
||||
- generic [ref=e488]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e489]': 00:00:32.000
|
||||
- generic [ref=e490]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e491]': 00:00:35.000
|
||||
- generic [ref=e492]: (3000ms)
|
||||
- generic [ref=e493]:
|
||||
- button "Insert cue before" [ref=e494]:
|
||||
- img [ref=e495]
|
||||
- button "Insert cue after" [ref=e497]:
|
||||
- img [ref=e498]
|
||||
- button "Delete cue" [ref=e500]:
|
||||
- img [ref=e501]
|
||||
- generic [ref=e503]:
|
||||
- generic [ref=e504]: Our engineers can help with your projects
|
||||
- button "Edit text" [ref=e505]
|
||||
- generic [ref=e506]:
|
||||
- generic [ref=e507]:
|
||||
- generic [ref=e508]:
|
||||
- generic [ref=e509]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e510]': 00:00:35.000
|
||||
- generic [ref=e511]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e512]': 00:00:37.500
|
||||
- generic [ref=e513]: (2500ms)
|
||||
- generic [ref=e514]:
|
||||
- button "Insert cue before" [ref=e515]:
|
||||
- img [ref=e516]
|
||||
- button "Insert cue after" [ref=e518]:
|
||||
- img [ref=e519]
|
||||
- button "Delete cue" [ref=e521]:
|
||||
- img [ref=e522]
|
||||
- generic [ref=e524]:
|
||||
- generic [ref=e525]: and recommend customized product kits
|
||||
- button "Edit text" [ref=e526]
|
||||
- generic [ref=e527]:
|
||||
- generic [ref=e528]:
|
||||
- generic [ref=e529]:
|
||||
- generic [ref=e530]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e531]': 00:00:37.500
|
||||
- generic [ref=e532]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e533]': 00:00:40.500
|
||||
- generic [ref=e534]: (3000ms)
|
||||
- generic [ref=e535]:
|
||||
- button "Insert cue before" [ref=e536]:
|
||||
- img [ref=e537]
|
||||
- button "Insert cue after" [ref=e539]:
|
||||
- img [ref=e540]
|
||||
- button "Delete cue" [ref=e542]:
|
||||
- img [ref=e543]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e546]: ⚡ 22 CPS
|
||||
- generic [ref=e547]:
|
||||
- generic [ref=e548]: so you get exactly what you need for reliable product performance.
|
||||
- button "Edit text" [ref=e549]
|
||||
- generic [ref=e550]:
|
||||
- generic [ref=e551]:
|
||||
- generic [ref=e552]:
|
||||
- generic [ref=e553]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e554]': 00:00:40.500
|
||||
- generic [ref=e555]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e556]': 00:00:44.500
|
||||
- generic [ref=e557]: (4000ms)
|
||||
- generic [ref=e558]:
|
||||
- button "Insert cue before" [ref=e559]:
|
||||
- img [ref=e560]
|
||||
- button "Insert cue after" [ref=e562]:
|
||||
- img [ref=e563]
|
||||
- button "Delete cue" [ref=e565]:
|
||||
- img [ref=e566]
|
||||
- generic [ref=e568]:
|
||||
- generic [ref=e569]: We work closely with you, so you get the support you need.
|
||||
- button "Edit text" [ref=e570]
|
||||
- generic [ref=e571]:
|
||||
- generic [ref=e572]:
|
||||
- generic [ref=e573]:
|
||||
- generic [ref=e574]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e575]': 00:00:45.000
|
||||
- generic [ref=e576]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e577]': 00:00:48.500
|
||||
- generic [ref=e578]: (3500ms)
|
||||
- generic [ref=e579]:
|
||||
- button "Insert cue before" [ref=e580]:
|
||||
- img [ref=e581]
|
||||
- button "Insert cue after" [ref=e583]:
|
||||
- img [ref=e584]
|
||||
- button "Delete cue" [ref=e586]:
|
||||
- img [ref=e587]
|
||||
- generic [ref=e589]:
|
||||
- generic [ref=e590]: Your work, combined with our solutions,
|
||||
- button "Edit text" [ref=e591]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e592] [cursor=pointer]:
|
||||
- generic [ref=e593]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e594]:
|
||||
- generic [ref=e595]:
|
||||
- generic [ref=e596]:
|
||||
- generic [ref=e597]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e598]': 00:00:50.000
|
||||
- generic [ref=e599]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e600]': 00:00:52.000
|
||||
- generic [ref=e601]: (2000ms)
|
||||
- generic [ref=e602]:
|
||||
- button "Insert cue before" [ref=e603]:
|
||||
- img [ref=e604]
|
||||
- button "Insert cue after" [ref=e606]:
|
||||
- img [ref=e607]
|
||||
- button "Delete cue" [ref=e609]:
|
||||
- img [ref=e610]
|
||||
- generic [ref=e612]:
|
||||
- generic [ref=e613]: can help avoid costly downtime
|
||||
- button "Edit text" [ref=e614]
|
||||
- generic [ref=e615]:
|
||||
- generic [ref=e616]:
|
||||
- generic [ref=e617]:
|
||||
- generic [ref=e618]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e619]': 00:00:52.000
|
||||
- generic [ref=e620]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e621]': 00:00:55.500
|
||||
- generic [ref=e622]: (3500ms)
|
||||
- generic [ref=e623]:
|
||||
- button "Insert cue before" [ref=e624]:
|
||||
- img [ref=e625]
|
||||
- button "Insert cue after" [ref=e627]:
|
||||
- img [ref=e628]
|
||||
- button "Delete cue" [ref=e630]:
|
||||
- img [ref=e631]
|
||||
- generic [ref=e633]:
|
||||
- generic [ref=e634]: and keep your renewable systems up and running smoothly.
|
||||
- button "Edit text" [ref=e635]
|
||||
- generic "Insert cue in this gap (1.0s gap)" [ref=e636] [cursor=pointer]:
|
||||
- generic [ref=e637]: + Add cue here · 1.0s gap
|
||||
- generic [ref=e638]:
|
||||
- generic [ref=e639]:
|
||||
- generic [ref=e640]:
|
||||
- generic [ref=e641]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e642]': 00:00:56.500
|
||||
- generic [ref=e643]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e644]': 00:00:59.500
|
||||
- generic [ref=e645]: (3000ms)
|
||||
- generic [ref=e646]:
|
||||
- button "Insert cue before" [ref=e647]:
|
||||
- img [ref=e648]
|
||||
- button "Insert cue after" [ref=e650]:
|
||||
- img [ref=e651]
|
||||
- button "Delete cue" [ref=e653]:
|
||||
- img [ref=e654]
|
||||
- generic [ref=e656]:
|
||||
- generic [ref=e657]: Wherever the job takes you, we have your solution.
|
||||
- button "Edit text" [ref=e658]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e659] [cursor=pointer]:
|
||||
- generic [ref=e660]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e661]:
|
||||
- generic [ref=e662]:
|
||||
- generic [ref=e663]:
|
||||
- generic [ref=e664]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e665]': 00:01:01.000
|
||||
- generic [ref=e666]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e667]': 00:01:04.000
|
||||
- generic [ref=e668]: (3000ms)
|
||||
- generic [ref=e669]:
|
||||
- button "Insert cue before" [ref=e670]:
|
||||
- img [ref=e671]
|
||||
- button "Insert cue after" [ref=e673]:
|
||||
- img [ref=e674]
|
||||
- button "Delete cue" [ref=e676]:
|
||||
- img [ref=e677]
|
||||
- generic [ref=e679]:
|
||||
- generic [ref=e680]: 3M. Science. Applied to Life.
|
||||
- button "Edit text" [ref=e681]
|
||||
- generic [ref=e682]: "18 cues • Total duration: 1:04.000"
|
||||
- button "↔ Diff vs AI baseline" [ref=e684]
|
||||
- generic [ref=e685]:
|
||||
- generic [ref=e686]:
|
||||
- generic [ref=e687]: Audio Description (EN)
|
||||
- button "Upload .vtt" [ref=e688]
|
||||
- generic [ref=e689]:
|
||||
- heading "Audio Description (EN)" [level=3] [ref=e692]
|
||||
- generic [ref=e694]:
|
||||
- generic [ref=e695]:
|
||||
- generic [ref=e696]:
|
||||
- generic [ref=e697]:
|
||||
- generic [ref=e698]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e699]': 00:00:00.000
|
||||
- generic [ref=e700]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e701]': 00:00:05.500
|
||||
- generic [ref=e702]: (5500ms)
|
||||
- generic [ref=e703]:
|
||||
- button "Insert cue before" [ref=e704]:
|
||||
- img [ref=e705]
|
||||
- button "Insert cue after" [ref=e707]:
|
||||
- img [ref=e708]
|
||||
- button "Delete cue" [ref=e710]:
|
||||
- img [ref=e711]
|
||||
- generic [ref=e713]:
|
||||
- generic [ref=e714]: "An aerial view of a massive solar panel farm. Text on screen reads: 3M Science. Applied to Life."
|
||||
- button "Edit text" [ref=e715]
|
||||
- generic [ref=e716]:
|
||||
- generic [ref=e717]:
|
||||
- generic [ref=e718]:
|
||||
- generic [ref=e719]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e720]': 00:00:06.000
|
||||
- generic [ref=e721]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e722]': 00:00:10.000
|
||||
- generic [ref=e723]: (4000ms)
|
||||
- generic [ref=e724]:
|
||||
- button "Insert cue before" [ref=e725]:
|
||||
- img [ref=e726]
|
||||
- button "Insert cue after" [ref=e728]:
|
||||
- img [ref=e729]
|
||||
- button "Delete cue" [ref=e731]:
|
||||
- img [ref=e732]
|
||||
- generic [ref=e734]:
|
||||
- generic [ref=e735]: Three workers in hard hats stand near solar panels.
|
||||
- button "Edit text" [ref=e736]
|
||||
- generic [ref=e737]:
|
||||
- generic [ref=e738]:
|
||||
- generic [ref=e739]:
|
||||
- generic [ref=e740]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e741]': 00:00:10.000
|
||||
- generic [ref=e742]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e743]': 00:00:13.500
|
||||
- generic [ref=e744]: (3500ms)
|
||||
- generic [ref=e745]:
|
||||
- button "Insert cue before" [ref=e746]:
|
||||
- img [ref=e747]
|
||||
- button "Insert cue after" [ref=e749]:
|
||||
- img [ref=e750]
|
||||
- button "Delete cue" [ref=e752]:
|
||||
- img [ref=e753]
|
||||
- generic [ref=e755]:
|
||||
- generic [ref=e756]: A gloved hand inserts a metal rod into a grey rubber sleeve.
|
||||
- button "Edit text" [ref=e757]
|
||||
- generic [ref=e758]:
|
||||
- generic [ref=e759]:
|
||||
- generic [ref=e760]:
|
||||
- generic [ref=e761]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e762]': 00:00:13.500
|
||||
- generic [ref=e763]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e764]': 00:00:16.000
|
||||
- generic [ref=e765]: (2500ms)
|
||||
- generic [ref=e766]:
|
||||
- button "Insert cue before" [ref=e767]:
|
||||
- img [ref=e768]
|
||||
- button "Insert cue after" [ref=e770]:
|
||||
- img [ref=e771]
|
||||
- button "Delete cue" [ref=e773]:
|
||||
- img [ref=e774]
|
||||
- generic [ref=e776]:
|
||||
- generic [ref=e777]: Three workers walk past solar panels.
|
||||
- button "Edit text" [ref=e778]
|
||||
- generic [ref=e779]:
|
||||
- generic [ref=e780]:
|
||||
- generic [ref=e781]:
|
||||
- generic [ref=e782]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e783]': 00:00:16.000
|
||||
- generic [ref=e784]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e785]': 00:00:18.500
|
||||
- generic [ref=e786]: (2500ms)
|
||||
- generic [ref=e787]:
|
||||
- button "Insert cue before" [ref=e788]:
|
||||
- img [ref=e789]
|
||||
- button "Insert cue after" [ref=e791]:
|
||||
- img [ref=e792]
|
||||
- button "Delete cue" [ref=e794]:
|
||||
- img [ref=e795]
|
||||
- generic [ref=e797]:
|
||||
- generic [ref=e798]: Wind turbines stand in the ocean at sunset.
|
||||
- button "Edit text" [ref=e799]
|
||||
- generic [ref=e800]:
|
||||
- generic [ref=e801]:
|
||||
- generic [ref=e802]:
|
||||
- generic [ref=e803]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e804]': 00:00:18.500
|
||||
- generic [ref=e805]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e806]': 00:00:21.500
|
||||
- generic [ref=e807]: (3000ms)
|
||||
- generic [ref=e808]:
|
||||
- button "Insert cue before" [ref=e809]:
|
||||
- img [ref=e810]
|
||||
- button "Insert cue after" [ref=e812]:
|
||||
- img [ref=e813]
|
||||
- button "Delete cue" [ref=e815]:
|
||||
- img [ref=e816]
|
||||
- generic [ref=e818]:
|
||||
- generic [ref=e819]: Rows of white battery storage units at an industrial site.
|
||||
- button "Edit text" [ref=e820]
|
||||
- generic [ref=e821]:
|
||||
- generic [ref=e822]:
|
||||
- generic [ref=e823]:
|
||||
- generic [ref=e824]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e825]': 00:00:21.500
|
||||
- generic [ref=e826]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e827]': 00:00:25.000
|
||||
- generic [ref=e828]: (3500ms)
|
||||
- generic [ref=e829]:
|
||||
- button "Insert cue before" [ref=e830]:
|
||||
- img [ref=e831]
|
||||
- button "Insert cue after" [ref=e833]:
|
||||
- img [ref=e834]
|
||||
- button "Delete cue" [ref=e836]:
|
||||
- img [ref=e837]
|
||||
- generic [ref=e839]:
|
||||
- generic [ref=e840]: Two workers look up at the underside of a solar panel.
|
||||
- button "Edit text" [ref=e841]
|
||||
- generic [ref=e842]:
|
||||
- generic [ref=e843]:
|
||||
- generic [ref=e844]:
|
||||
- generic [ref=e845]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e846]': 00:00:25.000
|
||||
- generic [ref=e847]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e848]': 00:00:28.000
|
||||
- generic [ref=e849]: (3000ms)
|
||||
- generic [ref=e850]:
|
||||
- button "Insert cue before" [ref=e851]:
|
||||
- img [ref=e852]
|
||||
- button "Insert cue after" [ref=e854]:
|
||||
- img [ref=e855]
|
||||
- button "Delete cue" [ref=e857]:
|
||||
- img [ref=e858]
|
||||
- generic [ref=e860]:
|
||||
- generic [ref=e861]: Workers install cables in a trench.
|
||||
- button "Edit text" [ref=e862]
|
||||
- generic [ref=e863]:
|
||||
- generic [ref=e864]:
|
||||
- generic [ref=e865]:
|
||||
- generic [ref=e866]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e867]': 00:00:28.000
|
||||
- generic [ref=e868]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e869]': 00:00:32.000
|
||||
- generic [ref=e870]: (4000ms)
|
||||
- generic [ref=e871]:
|
||||
- button "Insert cue before" [ref=e872]:
|
||||
- img [ref=e873]
|
||||
- button "Insert cue after" [ref=e875]:
|
||||
- img [ref=e876]
|
||||
- button "Delete cue" [ref=e878]:
|
||||
- img [ref=e879]
|
||||
- generic [ref=e881]:
|
||||
- generic [ref=e882]: A worker wipes a thick black cable with a cloth.
|
||||
- button "Edit text" [ref=e883]
|
||||
- generic [ref=e884]:
|
||||
- generic [ref=e885]:
|
||||
- generic [ref=e886]:
|
||||
- generic [ref=e887]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e888]': 00:00:32.000
|
||||
- generic [ref=e889]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e890]': 00:00:35.000
|
||||
- generic [ref=e891]: (3000ms)
|
||||
- generic [ref=e892]:
|
||||
- button "Insert cue before" [ref=e893]:
|
||||
- img [ref=e894]
|
||||
- button "Insert cue after" [ref=e896]:
|
||||
- img [ref=e897]
|
||||
- button "Delete cue" [ref=e899]:
|
||||
- img [ref=e900]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e903]: ⚡ 22 CPS
|
||||
- generic [ref=e904]:
|
||||
- generic [ref=e905]: "A worker stands next to a cardboard box. Text on screen reads: 3M."
|
||||
- button "Edit text" [ref=e906]
|
||||
- generic [ref=e907]:
|
||||
- generic [ref=e908]:
|
||||
- generic [ref=e909]:
|
||||
- generic [ref=e910]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e911]': 00:00:35.000
|
||||
- generic [ref=e912]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e913]': 00:00:40.500
|
||||
- generic [ref=e914]: (5500ms)
|
||||
- generic [ref=e915]:
|
||||
- button "Insert cue before" [ref=e916]:
|
||||
- img [ref=e917]
|
||||
- button "Insert cue after" [ref=e919]:
|
||||
- img [ref=e920]
|
||||
- button "Delete cue" [ref=e922]:
|
||||
- img [ref=e923]
|
||||
- generic [ref=e925]:
|
||||
- generic [ref=e926]: A worker pulls a product from a 3M box. Another holds a document with diagrams.
|
||||
- button "Edit text" [ref=e927]
|
||||
- generic [ref=e928]:
|
||||
- generic [ref=e929]:
|
||||
- generic [ref=e930]:
|
||||
- generic [ref=e931]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e932]': 00:00:40.500
|
||||
- generic [ref=e933]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e934]': 00:00:44.500
|
||||
- generic [ref=e935]: (4000ms)
|
||||
- generic [ref=e936]:
|
||||
- button "Insert cue before" [ref=e937]:
|
||||
- img [ref=e938]
|
||||
- button "Insert cue after" [ref=e940]:
|
||||
- img [ref=e941]
|
||||
- button "Delete cue" [ref=e943]:
|
||||
- img [ref=e944]
|
||||
- generic [ref=e946]:
|
||||
- generic [ref=e947]: Two workers examine a cable component.
|
||||
- button "Edit text" [ref=e948]
|
||||
- generic [ref=e949]:
|
||||
- generic [ref=e950]:
|
||||
- generic [ref=e951]:
|
||||
- generic [ref=e952]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e953]': 00:00:44.500
|
||||
- generic [ref=e954]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e955]': 00:00:48.500
|
||||
- generic [ref=e956]: (4000ms)
|
||||
- generic [ref=e957]:
|
||||
- button "Insert cue before" [ref=e958]:
|
||||
- img [ref=e959]
|
||||
- button "Insert cue after" [ref=e961]:
|
||||
- img [ref=e962]
|
||||
- button "Delete cue" [ref=e964]:
|
||||
- img [ref=e965]
|
||||
- generic [ref=e967]:
|
||||
- generic [ref=e968]: A worker pulls a plastic core from a rubber sleeve on a cable.
|
||||
- button "Edit text" [ref=e969]
|
||||
- generic [ref=e970]:
|
||||
- generic [ref=e971]:
|
||||
- generic [ref=e972]:
|
||||
- generic [ref=e973]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e974]': 00:00:48.500
|
||||
- generic [ref=e975]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e976]': 00:00:51.500
|
||||
- generic [ref=e977]: (3000ms)
|
||||
- generic [ref=e978]:
|
||||
- button "Insert cue before" [ref=e979]:
|
||||
- img [ref=e980]
|
||||
- button "Insert cue after" [ref=e982]:
|
||||
- img [ref=e983]
|
||||
- button "Delete cue" [ref=e985]:
|
||||
- img [ref=e986]
|
||||
- generic [ref=e988]:
|
||||
- generic [ref=e989]: A worker inserts a black plug into a yellow socket.
|
||||
- button "Edit text" [ref=e990]
|
||||
- generic [ref=e991]:
|
||||
- generic [ref=e992]:
|
||||
- generic [ref=e993]:
|
||||
- generic [ref=e994]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e995]': 00:00:51.500
|
||||
- generic [ref=e996]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e997]': 00:00:55.500
|
||||
- generic [ref=e998]: (4000ms)
|
||||
- generic [ref=e999]:
|
||||
- button "Insert cue before" [ref=e1000]:
|
||||
- img [ref=e1001]
|
||||
- button "Insert cue after" [ref=e1003]:
|
||||
- img [ref=e1004]
|
||||
- button "Delete cue" [ref=e1006]:
|
||||
- img [ref=e1007]
|
||||
- generic [ref=e1009]:
|
||||
- generic [ref=e1010]: Two workers use a power tool on a cable connection.
|
||||
- button "Edit text" [ref=e1011]
|
||||
- generic [ref=e1012]:
|
||||
- generic [ref=e1013]:
|
||||
- generic [ref=e1014]:
|
||||
- generic [ref=e1015]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1016]': 00:00:55.500
|
||||
- generic [ref=e1017]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1018]': 00:01:00.000
|
||||
- generic [ref=e1019]: (4500ms)
|
||||
- generic [ref=e1020]:
|
||||
- button "Insert cue before" [ref=e1021]:
|
||||
- img [ref=e1022]
|
||||
- button "Insert cue after" [ref=e1024]:
|
||||
- img [ref=e1025]
|
||||
- button "Delete cue" [ref=e1027]:
|
||||
- img [ref=e1028]
|
||||
- generic [ref=e1030]:
|
||||
- generic [ref=e1031]: The spoken words appear as text on a black background.
|
||||
- button "Edit text" [ref=e1032]
|
||||
- generic [ref=e1033]:
|
||||
- generic [ref=e1034]:
|
||||
- generic [ref=e1035]:
|
||||
- generic [ref=e1036]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1037]': 00:01:00.000
|
||||
- generic [ref=e1038]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1039]': 00:01:04.000
|
||||
- generic [ref=e1040]: (4000ms)
|
||||
- generic [ref=e1041]:
|
||||
- button "Insert cue before" [ref=e1042]:
|
||||
- img [ref=e1043]
|
||||
- button "Insert cue after" [ref=e1045]:
|
||||
- img [ref=e1046]
|
||||
- button "Delete cue" [ref=e1048]:
|
||||
- img [ref=e1049]
|
||||
- generic [ref=e1051]:
|
||||
- generic [ref=e1052]: "Text on screen reads: 3M Science. Applied to Life."
|
||||
- button "Edit text" [ref=e1053]
|
||||
- generic [ref=e1054]:
|
||||
- generic [ref=e1055]:
|
||||
- generic [ref=e1056]:
|
||||
- generic [ref=e1057]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1058]': 00:01:04.000
|
||||
- generic [ref=e1059]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1060]': 00:01:08.000
|
||||
- generic [ref=e1061]: (4000ms)
|
||||
- generic [ref=e1062]:
|
||||
- button "Insert cue before" [ref=e1063]:
|
||||
- img [ref=e1064]
|
||||
- button "Insert cue after" [ref=e1066]:
|
||||
- img [ref=e1067]
|
||||
- button "Delete cue" [ref=e1069]:
|
||||
- img [ref=e1070]
|
||||
- generic "138.5 characters per second — above the 20 CPS recommended limit" [ref=e1073]: ⚡ 139 CPS
|
||||
- generic [ref=e1074]:
|
||||
- generic [ref=e1075]: "Text on screen reads: The information contained in this video is intended for occupational use by persons with knowledge and technical skills to use such information. It is supplemental only and is not intended to replace the detailed information found in written 3M product instruction and installation manuals. For additional information, including important safety and warranty information regarding 3M Electrical Markets products, refer to the relevant product packaging or data sheet. © 3M 2022. All rights reserved. 3M is a trademark of 3M Company."
|
||||
- button "Edit text" [ref=e1076]
|
||||
- generic [ref=e1077]: "18 cues • Total duration: 1:08.000"
|
||||
- button "↔ Diff vs AI baseline" [ref=e1079]
|
||||
- generic [ref=e1081]:
|
||||
- heading "VTT Timing Adjustment" [level=3] [ref=e1082]
|
||||
- button "Adjust Timing" [ref=e1083]
|
||||
- button "Voice Settings for Audio Description (Configured) Click to customize or override TTS voice" [ref=e1085]:
|
||||
- generic [ref=e1086]:
|
||||
- img [ref=e1087]
|
||||
- generic [ref=e1089]: Voice Settings for Audio Description
|
||||
- generic [ref=e1090]: (Configured)
|
||||
- generic [ref=e1091]: Click to customize or override TTS voice
|
||||
- generic [ref=e1092]:
|
||||
- generic [ref=e1093]: Cost Tracker Project ID
|
||||
- generic [ref=e1094]:
|
||||
- textbox "e.g. ford-q3-2026" [ref=e1095]
|
||||
- button "Save" [ref=e1096]
|
||||
- paragraph [ref=e1097]: Links this job to a project in the AI Cost Dashboard.
|
||||
- button "Download Assets Click to download individual files" [ref=e1099]:
|
||||
- generic [ref=e1100]:
|
||||
- img [ref=e1101]
|
||||
- generic [ref=e1103]: Download Assets
|
||||
- generic [ref=e1104]: Click to download individual files
|
||||
- generic [ref=e1105]:
|
||||
- generic [ref=e1106]: Review Notes
|
||||
- textbox "Add any notes about this review..." [ref=e1107]
|
||||
- generic [ref=e1111]:
|
||||
- generic [ref=e1112]: "Rejection notes are required:"
|
||||
- button "Confirm Rejection" [disabled] [ref=e1113]
|
||||
- button "Cancel" [ref=e1114]
|
||||
841
.playwright-mcp/page-2026-05-01T12-45-22-419Z.yml
Normal file
|
|
@ -0,0 +1,841 @@
|
|||
- generic [ref=e3]:
|
||||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue 1" [ref=e94] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- generic [ref=e95]: "1"
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e124]:
|
||||
- generic [ref=e125]:
|
||||
- generic [ref=e126]:
|
||||
- generic [ref=e127]:
|
||||
- heading "test-video" [level=1] [ref=e128]
|
||||
- button "Rename" [ref=e129]:
|
||||
- img [ref=e130]
|
||||
- generic [ref=e132]:
|
||||
- generic [ref=e133]: Pending QC
|
||||
- generic [ref=e134]: "Source: 69f49ed8694cf102e622687f/source.mp4"
|
||||
- generic [ref=e135]: "Language: EN"
|
||||
- generic [ref=e136]: "Duration: 68s"
|
||||
- generic [ref=e137]:
|
||||
- button "↗ Share link" [ref=e138]
|
||||
- button "← Back to Queue" [ref=e139]
|
||||
- generic [ref=e140]:
|
||||
- generic [ref=e142]:
|
||||
- generic [ref=e143]: Languages
|
||||
- generic [ref=e144]: 1/1 approved— all done ✓
|
||||
- generic [ref=e146]:
|
||||
- button "✓ EN (source) Approved ▲" [ref=e1134]:
|
||||
- generic [ref=e148]:
|
||||
- generic [ref=e149]: ✓
|
||||
- generic [ref=e150]: EN
|
||||
- generic [ref=e151]: (source)
|
||||
- generic [ref=e152]: Approved
|
||||
- generic [ref=e153]: ▲
|
||||
- generic [ref=e154]:
|
||||
- generic [ref=e155]:
|
||||
- generic [ref=e156]:
|
||||
- generic [ref=e157]: Linguist
|
||||
- generic [ref=e158]: Unassigned
|
||||
- button "Assign linguist" [ref=e159]
|
||||
- generic [ref=e160]:
|
||||
- generic [ref=e161]: Reviewer
|
||||
- generic [ref=e162]: Unassigned
|
||||
- button "Assign reviewer" [ref=e163]
|
||||
- generic [ref=e164]:
|
||||
- button "✕ Request changes" [ref=e167]
|
||||
- button "Reopen" [ref=e1135]
|
||||
- button "💬 Comments (0)" [ref=e169]
|
||||
- generic [ref=e170]:
|
||||
- generic [ref=e171]:
|
||||
- generic [ref=e172]: "View Mode:"
|
||||
- generic [ref=e173]:
|
||||
- button "Side by Side (1)" [ref=e174]
|
||||
- button "Video Only (2)" [ref=e175]
|
||||
- button "Editor Only (3)" [ref=e176]
|
||||
- generic [ref=e177]: "Shortcuts: A=Approve, R=Reject"
|
||||
- generic [ref=e285]:
|
||||
- generic [ref=e286]:
|
||||
- generic [ref=e287]:
|
||||
- generic [ref=e288]: Closed Captions (EN)
|
||||
- button "Upload .vtt" [ref=e289]
|
||||
- generic [ref=e290]:
|
||||
- heading "Closed Captions (EN)" [level=3] [ref=e293]
|
||||
- generic [ref=e295]:
|
||||
- generic [ref=e296]:
|
||||
- generic [ref=e297]:
|
||||
- generic [ref=e298]:
|
||||
- generic [ref=e299]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e300]': 00:00:00.000
|
||||
- generic [ref=e301]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e302]': 00:00:05.500
|
||||
- generic [ref=e303]: (5500ms)
|
||||
- generic [ref=e304]:
|
||||
- button "Insert cue before" [ref=e305]:
|
||||
- img [ref=e306]
|
||||
- button "Insert cue after" [ref=e308]:
|
||||
- img [ref=e309]
|
||||
- button "Delete cue" [ref=e311]:
|
||||
- img [ref=e312]
|
||||
- generic [ref=e314]:
|
||||
- generic [ref=e315]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- button "Edit text" [ref=e316]
|
||||
- generic [ref=e317]:
|
||||
- generic [ref=e318]:
|
||||
- generic [ref=e319]:
|
||||
- generic [ref=e320]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e321]': 00:00:06.000
|
||||
- generic [ref=e322]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e323]': 00:00:10.000
|
||||
- generic [ref=e324]: (4000ms)
|
||||
- generic [ref=e325]:
|
||||
- button "Insert cue before" [ref=e326]:
|
||||
- img [ref=e327]
|
||||
- button "Insert cue after" [ref=e329]:
|
||||
- img [ref=e330]
|
||||
- button "Delete cue" [ref=e332]:
|
||||
- img [ref=e333]
|
||||
- generic [ref=e335]:
|
||||
- generic [ref=e336]: With more than 50 years of experience working in the field on energy projects,
|
||||
- button "Edit text" [ref=e337]
|
||||
- generic [ref=e338]:
|
||||
- generic [ref=e339]:
|
||||
- generic [ref=e340]:
|
||||
- generic [ref=e341]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e342]': 00:00:10.000
|
||||
- generic [ref=e343]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e344]': 00:00:13.500
|
||||
- generic [ref=e345]: (3500ms)
|
||||
- generic [ref=e346]:
|
||||
- button "Insert cue before" [ref=e347]:
|
||||
- img [ref=e348]
|
||||
- button "Insert cue after" [ref=e350]:
|
||||
- img [ref=e351]
|
||||
- button "Delete cue" [ref=e353]:
|
||||
- img [ref=e354]
|
||||
- generic [ref=e356]:
|
||||
- generic [ref=e357]: 3M has your solution to help you make your work more reliable, easier,
|
||||
- button "Edit text" [ref=e358]
|
||||
- generic [ref=e359]:
|
||||
- generic [ref=e360]:
|
||||
- generic [ref=e361]:
|
||||
- generic [ref=e362]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e363]': 00:00:13.500
|
||||
- generic [ref=e364]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e365]': 00:00:16.000
|
||||
- generic [ref=e366]: (2500ms)
|
||||
- generic [ref=e367]:
|
||||
- button "Insert cue before" [ref=e368]:
|
||||
- img [ref=e369]
|
||||
- button "Insert cue after" [ref=e371]:
|
||||
- img [ref=e372]
|
||||
- button "Delete cue" [ref=e374]:
|
||||
- img [ref=e375]
|
||||
- generic [ref=e377]:
|
||||
- generic [ref=e378]: and faster for solar energy projects,
|
||||
- button "Edit text" [ref=e379]
|
||||
- generic [ref=e380]:
|
||||
- generic [ref=e381]:
|
||||
- generic [ref=e382]:
|
||||
- generic [ref=e383]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e384]': 00:00:16.000
|
||||
- generic [ref=e385]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e386]': 00:00:18.500
|
||||
- generic [ref=e387]: (2500ms)
|
||||
- generic [ref=e388]:
|
||||
- button "Insert cue before" [ref=e389]:
|
||||
- img [ref=e390]
|
||||
- button "Insert cue after" [ref=e392]:
|
||||
- img [ref=e393]
|
||||
- button "Delete cue" [ref=e395]:
|
||||
- img [ref=e396]
|
||||
- generic [ref=e398]:
|
||||
- generic [ref=e399]: wind energy projects,
|
||||
- button "Edit text" [ref=e400]
|
||||
- generic [ref=e401]:
|
||||
- generic [ref=e402]:
|
||||
- generic [ref=e403]:
|
||||
- generic [ref=e404]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e405]': 00:00:18.500
|
||||
- generic [ref=e406]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e407]': 00:00:21.500
|
||||
- generic [ref=e408]: (3000ms)
|
||||
- generic [ref=e409]:
|
||||
- button "Insert cue before" [ref=e410]:
|
||||
- img [ref=e411]
|
||||
- button "Insert cue after" [ref=e413]:
|
||||
- img [ref=e414]
|
||||
- button "Delete cue" [ref=e416]:
|
||||
- img [ref=e417]
|
||||
- generic [ref=e419]:
|
||||
- generic [ref=e420]: and battery energy storage systems.
|
||||
- button "Edit text" [ref=e421]
|
||||
- generic [ref=e422]:
|
||||
- generic [ref=e423]:
|
||||
- generic [ref=e424]:
|
||||
- generic [ref=e425]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e426]': 00:00:21.500
|
||||
- generic [ref=e427]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e428]': 00:00:25.000
|
||||
- generic [ref=e429]: (3500ms)
|
||||
- generic [ref=e430]:
|
||||
- button "Insert cue before" [ref=e431]:
|
||||
- img [ref=e432]
|
||||
- button "Insert cue after" [ref=e434]:
|
||||
- img [ref=e435]
|
||||
- button "Delete cue" [ref=e437]:
|
||||
- img [ref=e438]
|
||||
- generic [ref=e440]:
|
||||
- generic [ref=e441]: We can help you solve your electrical installation challenges.
|
||||
- button "Edit text" [ref=e442]
|
||||
- generic [ref=e443]:
|
||||
- generic [ref=e444]:
|
||||
- generic [ref=e445]:
|
||||
- generic [ref=e446]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e447]': 00:00:25.000
|
||||
- generic [ref=e448]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e449]': 00:00:28.000
|
||||
- generic [ref=e450]: (3000ms)
|
||||
- generic [ref=e451]:
|
||||
- button "Insert cue before" [ref=e452]:
|
||||
- img [ref=e453]
|
||||
- button "Insert cue after" [ref=e455]:
|
||||
- img [ref=e456]
|
||||
- button "Delete cue" [ref=e458]:
|
||||
- img [ref=e459]
|
||||
- generic [ref=e461]:
|
||||
- generic [ref=e462]: 3M provides advanced technology solutions
|
||||
- button "Edit text" [ref=e463]
|
||||
- generic [ref=e464]:
|
||||
- generic [ref=e465]:
|
||||
- generic [ref=e466]:
|
||||
- generic [ref=e467]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e468]': 00:00:28.000
|
||||
- generic [ref=e469]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e470]': 00:00:32.000
|
||||
- generic [ref=e471]: (4000ms)
|
||||
- generic [ref=e472]:
|
||||
- button "Insert cue before" [ref=e473]:
|
||||
- img [ref=e474]
|
||||
- button "Insert cue after" [ref=e476]:
|
||||
- img [ref=e477]
|
||||
- button "Delete cue" [ref=e479]:
|
||||
- img [ref=e480]
|
||||
- generic [ref=e482]:
|
||||
- generic [ref=e483]: in insulating, connecting, and terminating medium and high voltage cables.
|
||||
- button "Edit text" [ref=e484]
|
||||
- generic [ref=e485]:
|
||||
- generic [ref=e486]:
|
||||
- generic [ref=e487]:
|
||||
- generic [ref=e488]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e489]': 00:00:32.000
|
||||
- generic [ref=e490]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e491]': 00:00:35.000
|
||||
- generic [ref=e492]: (3000ms)
|
||||
- generic [ref=e493]:
|
||||
- button "Insert cue before" [ref=e494]:
|
||||
- img [ref=e495]
|
||||
- button "Insert cue after" [ref=e497]:
|
||||
- img [ref=e498]
|
||||
- button "Delete cue" [ref=e500]:
|
||||
- img [ref=e501]
|
||||
- generic [ref=e503]:
|
||||
- generic [ref=e504]: Our engineers can help with your projects
|
||||
- button "Edit text" [ref=e505]
|
||||
- generic [ref=e506]:
|
||||
- generic [ref=e507]:
|
||||
- generic [ref=e508]:
|
||||
- generic [ref=e509]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e510]': 00:00:35.000
|
||||
- generic [ref=e511]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e512]': 00:00:37.500
|
||||
- generic [ref=e513]: (2500ms)
|
||||
- generic [ref=e514]:
|
||||
- button "Insert cue before" [ref=e515]:
|
||||
- img [ref=e516]
|
||||
- button "Insert cue after" [ref=e518]:
|
||||
- img [ref=e519]
|
||||
- button "Delete cue" [ref=e521]:
|
||||
- img [ref=e522]
|
||||
- generic [ref=e524]:
|
||||
- generic [ref=e525]: and recommend customized product kits
|
||||
- button "Edit text" [ref=e526]
|
||||
- generic [ref=e527]:
|
||||
- generic [ref=e528]:
|
||||
- generic [ref=e529]:
|
||||
- generic [ref=e530]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e531]': 00:00:37.500
|
||||
- generic [ref=e532]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e533]': 00:00:40.500
|
||||
- generic [ref=e534]: (3000ms)
|
||||
- generic [ref=e535]:
|
||||
- button "Insert cue before" [ref=e536]:
|
||||
- img [ref=e537]
|
||||
- button "Insert cue after" [ref=e539]:
|
||||
- img [ref=e540]
|
||||
- button "Delete cue" [ref=e542]:
|
||||
- img [ref=e543]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e546]: ⚡ 22 CPS
|
||||
- generic [ref=e547]:
|
||||
- generic [ref=e548]: so you get exactly what you need for reliable product performance.
|
||||
- button "Edit text" [ref=e549]
|
||||
- generic [ref=e550]:
|
||||
- generic [ref=e551]:
|
||||
- generic [ref=e552]:
|
||||
- generic [ref=e553]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e554]': 00:00:40.500
|
||||
- generic [ref=e555]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e556]': 00:00:44.500
|
||||
- generic [ref=e557]: (4000ms)
|
||||
- generic [ref=e558]:
|
||||
- button "Insert cue before" [ref=e559]:
|
||||
- img [ref=e560]
|
||||
- button "Insert cue after" [ref=e562]:
|
||||
- img [ref=e563]
|
||||
- button "Delete cue" [ref=e565]:
|
||||
- img [ref=e566]
|
||||
- generic [ref=e568]:
|
||||
- generic [ref=e569]: We work closely with you, so you get the support you need.
|
||||
- button "Edit text" [ref=e570]
|
||||
- generic [ref=e571]:
|
||||
- generic [ref=e572]:
|
||||
- generic [ref=e573]:
|
||||
- generic [ref=e574]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e575]': 00:00:45.000
|
||||
- generic [ref=e576]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e577]': 00:00:48.500
|
||||
- generic [ref=e578]: (3500ms)
|
||||
- generic [ref=e579]:
|
||||
- button "Insert cue before" [ref=e580]:
|
||||
- img [ref=e581]
|
||||
- button "Insert cue after" [ref=e583]:
|
||||
- img [ref=e584]
|
||||
- button "Delete cue" [ref=e586]:
|
||||
- img [ref=e587]
|
||||
- generic [ref=e589]:
|
||||
- generic [ref=e590]: Your work, combined with our solutions,
|
||||
- button "Edit text" [ref=e591]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e592] [cursor=pointer]:
|
||||
- generic [ref=e593]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e594]:
|
||||
- generic [ref=e595]:
|
||||
- generic [ref=e596]:
|
||||
- generic [ref=e597]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e598]': 00:00:50.000
|
||||
- generic [ref=e599]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e600]': 00:00:52.000
|
||||
- generic [ref=e601]: (2000ms)
|
||||
- generic [ref=e602]:
|
||||
- button "Insert cue before" [ref=e603]:
|
||||
- img [ref=e604]
|
||||
- button "Insert cue after" [ref=e606]:
|
||||
- img [ref=e607]
|
||||
- button "Delete cue" [ref=e609]:
|
||||
- img [ref=e610]
|
||||
- generic [ref=e612]:
|
||||
- generic [ref=e613]: can help avoid costly downtime
|
||||
- button "Edit text" [ref=e614]
|
||||
- generic [ref=e615]:
|
||||
- generic [ref=e616]:
|
||||
- generic [ref=e617]:
|
||||
- generic [ref=e618]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e619]': 00:00:52.000
|
||||
- generic [ref=e620]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e621]': 00:00:55.500
|
||||
- generic [ref=e622]: (3500ms)
|
||||
- generic [ref=e623]:
|
||||
- button "Insert cue before" [ref=e624]:
|
||||
- img [ref=e625]
|
||||
- button "Insert cue after" [ref=e627]:
|
||||
- img [ref=e628]
|
||||
- button "Delete cue" [ref=e630]:
|
||||
- img [ref=e631]
|
||||
- generic [ref=e633]:
|
||||
- generic [ref=e634]: and keep your renewable systems up and running smoothly.
|
||||
- button "Edit text" [ref=e635]
|
||||
- generic "Insert cue in this gap (1.0s gap)" [ref=e636] [cursor=pointer]:
|
||||
- generic [ref=e637]: + Add cue here · 1.0s gap
|
||||
- generic [ref=e638]:
|
||||
- generic [ref=e639]:
|
||||
- generic [ref=e640]:
|
||||
- generic [ref=e641]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e642]': 00:00:56.500
|
||||
- generic [ref=e643]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e644]': 00:00:59.500
|
||||
- generic [ref=e645]: (3000ms)
|
||||
- generic [ref=e646]:
|
||||
- button "Insert cue before" [ref=e647]:
|
||||
- img [ref=e648]
|
||||
- button "Insert cue after" [ref=e650]:
|
||||
- img [ref=e651]
|
||||
- button "Delete cue" [ref=e653]:
|
||||
- img [ref=e654]
|
||||
- generic [ref=e656]:
|
||||
- generic [ref=e657]: Wherever the job takes you, we have your solution.
|
||||
- button "Edit text" [ref=e658]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e659] [cursor=pointer]:
|
||||
- generic [ref=e660]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e661]:
|
||||
- generic [ref=e662]:
|
||||
- generic [ref=e663]:
|
||||
- generic [ref=e664]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e665]': 00:01:01.000
|
||||
- generic [ref=e666]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e667]': 00:01:04.000
|
||||
- generic [ref=e668]: (3000ms)
|
||||
- generic [ref=e669]:
|
||||
- button "Insert cue before" [ref=e670]:
|
||||
- img [ref=e671]
|
||||
- button "Insert cue after" [ref=e673]:
|
||||
- img [ref=e674]
|
||||
- button "Delete cue" [ref=e676]:
|
||||
- img [ref=e677]
|
||||
- generic [ref=e679]:
|
||||
- generic [ref=e680]: 3M. Science. Applied to Life.
|
||||
- button "Edit text" [ref=e681]
|
||||
- generic [ref=e682]: "18 cues • Total duration: 1:04.000"
|
||||
- button "↔ Diff vs AI baseline" [ref=e684]
|
||||
- generic [ref=e685]:
|
||||
- generic [ref=e686]:
|
||||
- generic [ref=e687]: Audio Description (EN)
|
||||
- button "Upload .vtt" [ref=e688]
|
||||
- generic [ref=e689]:
|
||||
- heading "Audio Description (EN)" [level=3] [ref=e692]
|
||||
- generic [ref=e694]:
|
||||
- generic [ref=e695]:
|
||||
- generic [ref=e696]:
|
||||
- generic [ref=e697]:
|
||||
- generic [ref=e698]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e699]': 00:00:00.000
|
||||
- generic [ref=e700]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e701]': 00:00:05.500
|
||||
- generic [ref=e702]: (5500ms)
|
||||
- generic [ref=e703]:
|
||||
- button "Insert cue before" [ref=e704]:
|
||||
- img [ref=e705]
|
||||
- button "Insert cue after" [ref=e707]:
|
||||
- img [ref=e708]
|
||||
- button "Delete cue" [ref=e710]:
|
||||
- img [ref=e711]
|
||||
- generic [ref=e713]:
|
||||
- generic [ref=e714]: "An aerial view of a massive solar panel farm. Text on screen reads: 3M Science. Applied to Life."
|
||||
- button "Edit text" [ref=e715]
|
||||
- generic [ref=e716]:
|
||||
- generic [ref=e717]:
|
||||
- generic [ref=e718]:
|
||||
- generic [ref=e719]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e720]': 00:00:06.000
|
||||
- generic [ref=e721]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e722]': 00:00:10.000
|
||||
- generic [ref=e723]: (4000ms)
|
||||
- generic [ref=e724]:
|
||||
- button "Insert cue before" [ref=e725]:
|
||||
- img [ref=e726]
|
||||
- button "Insert cue after" [ref=e728]:
|
||||
- img [ref=e729]
|
||||
- button "Delete cue" [ref=e731]:
|
||||
- img [ref=e732]
|
||||
- generic [ref=e734]:
|
||||
- generic [ref=e735]: Three workers in hard hats stand near solar panels.
|
||||
- button "Edit text" [ref=e736]
|
||||
- generic [ref=e737]:
|
||||
- generic [ref=e738]:
|
||||
- generic [ref=e739]:
|
||||
- generic [ref=e740]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e741]': 00:00:10.000
|
||||
- generic [ref=e742]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e743]': 00:00:13.500
|
||||
- generic [ref=e744]: (3500ms)
|
||||
- generic [ref=e745]:
|
||||
- button "Insert cue before" [ref=e746]:
|
||||
- img [ref=e747]
|
||||
- button "Insert cue after" [ref=e749]:
|
||||
- img [ref=e750]
|
||||
- button "Delete cue" [ref=e752]:
|
||||
- img [ref=e753]
|
||||
- generic [ref=e755]:
|
||||
- generic [ref=e756]: A gloved hand inserts a metal rod into a grey rubber sleeve.
|
||||
- button "Edit text" [ref=e757]
|
||||
- generic [ref=e758]:
|
||||
- generic [ref=e759]:
|
||||
- generic [ref=e760]:
|
||||
- generic [ref=e761]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e762]': 00:00:13.500
|
||||
- generic [ref=e763]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e764]': 00:00:16.000
|
||||
- generic [ref=e765]: (2500ms)
|
||||
- generic [ref=e766]:
|
||||
- button "Insert cue before" [ref=e767]:
|
||||
- img [ref=e768]
|
||||
- button "Insert cue after" [ref=e770]:
|
||||
- img [ref=e771]
|
||||
- button "Delete cue" [ref=e773]:
|
||||
- img [ref=e774]
|
||||
- generic [ref=e776]:
|
||||
- generic [ref=e777]: Three workers walk past solar panels.
|
||||
- button "Edit text" [ref=e778]
|
||||
- generic [ref=e779]:
|
||||
- generic [ref=e780]:
|
||||
- generic [ref=e781]:
|
||||
- generic [ref=e782]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e783]': 00:00:16.000
|
||||
- generic [ref=e784]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e785]': 00:00:18.500
|
||||
- generic [ref=e786]: (2500ms)
|
||||
- generic [ref=e787]:
|
||||
- button "Insert cue before" [ref=e788]:
|
||||
- img [ref=e789]
|
||||
- button "Insert cue after" [ref=e791]:
|
||||
- img [ref=e792]
|
||||
- button "Delete cue" [ref=e794]:
|
||||
- img [ref=e795]
|
||||
- generic [ref=e797]:
|
||||
- generic [ref=e798]: Wind turbines stand in the ocean at sunset.
|
||||
- button "Edit text" [ref=e799]
|
||||
- generic [ref=e800]:
|
||||
- generic [ref=e801]:
|
||||
- generic [ref=e802]:
|
||||
- generic [ref=e803]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e804]': 00:00:18.500
|
||||
- generic [ref=e805]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e806]': 00:00:21.500
|
||||
- generic [ref=e807]: (3000ms)
|
||||
- generic [ref=e808]:
|
||||
- button "Insert cue before" [ref=e809]:
|
||||
- img [ref=e810]
|
||||
- button "Insert cue after" [ref=e812]:
|
||||
- img [ref=e813]
|
||||
- button "Delete cue" [ref=e815]:
|
||||
- img [ref=e816]
|
||||
- generic [ref=e818]:
|
||||
- generic [ref=e819]: Rows of white battery storage units at an industrial site.
|
||||
- button "Edit text" [ref=e820]
|
||||
- generic [ref=e821]:
|
||||
- generic [ref=e822]:
|
||||
- generic [ref=e823]:
|
||||
- generic [ref=e824]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e825]': 00:00:21.500
|
||||
- generic [ref=e826]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e827]': 00:00:25.000
|
||||
- generic [ref=e828]: (3500ms)
|
||||
- generic [ref=e829]:
|
||||
- button "Insert cue before" [ref=e830]:
|
||||
- img [ref=e831]
|
||||
- button "Insert cue after" [ref=e833]:
|
||||
- img [ref=e834]
|
||||
- button "Delete cue" [ref=e836]:
|
||||
- img [ref=e837]
|
||||
- generic [ref=e839]:
|
||||
- generic [ref=e840]: Two workers look up at the underside of a solar panel.
|
||||
- button "Edit text" [ref=e841]
|
||||
- generic [ref=e842]:
|
||||
- generic [ref=e843]:
|
||||
- generic [ref=e844]:
|
||||
- generic [ref=e845]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e846]': 00:00:25.000
|
||||
- generic [ref=e847]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e848]': 00:00:28.000
|
||||
- generic [ref=e849]: (3000ms)
|
||||
- generic [ref=e850]:
|
||||
- button "Insert cue before" [ref=e851]:
|
||||
- img [ref=e852]
|
||||
- button "Insert cue after" [ref=e854]:
|
||||
- img [ref=e855]
|
||||
- button "Delete cue" [ref=e857]:
|
||||
- img [ref=e858]
|
||||
- generic [ref=e860]:
|
||||
- generic [ref=e861]: Workers install cables in a trench.
|
||||
- button "Edit text" [ref=e862]
|
||||
- generic [ref=e863]:
|
||||
- generic [ref=e864]:
|
||||
- generic [ref=e865]:
|
||||
- generic [ref=e866]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e867]': 00:00:28.000
|
||||
- generic [ref=e868]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e869]': 00:00:32.000
|
||||
- generic [ref=e870]: (4000ms)
|
||||
- generic [ref=e871]:
|
||||
- button "Insert cue before" [ref=e872]:
|
||||
- img [ref=e873]
|
||||
- button "Insert cue after" [ref=e875]:
|
||||
- img [ref=e876]
|
||||
- button "Delete cue" [ref=e878]:
|
||||
- img [ref=e879]
|
||||
- generic [ref=e881]:
|
||||
- generic [ref=e882]: A worker wipes a thick black cable with a cloth.
|
||||
- button "Edit text" [ref=e883]
|
||||
- generic [ref=e884]:
|
||||
- generic [ref=e885]:
|
||||
- generic [ref=e886]:
|
||||
- generic [ref=e887]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e888]': 00:00:32.000
|
||||
- generic [ref=e889]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e890]': 00:00:35.000
|
||||
- generic [ref=e891]: (3000ms)
|
||||
- generic [ref=e892]:
|
||||
- button "Insert cue before" [ref=e893]:
|
||||
- img [ref=e894]
|
||||
- button "Insert cue after" [ref=e896]:
|
||||
- img [ref=e897]
|
||||
- button "Delete cue" [ref=e899]:
|
||||
- img [ref=e900]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e903]: ⚡ 22 CPS
|
||||
- generic [ref=e904]:
|
||||
- generic [ref=e905]: "A worker stands next to a cardboard box. Text on screen reads: 3M."
|
||||
- button "Edit text" [ref=e906]
|
||||
- generic [ref=e907]:
|
||||
- generic [ref=e908]:
|
||||
- generic [ref=e909]:
|
||||
- generic [ref=e910]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e911]': 00:00:35.000
|
||||
- generic [ref=e912]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e913]': 00:00:40.500
|
||||
- generic [ref=e914]: (5500ms)
|
||||
- generic [ref=e915]:
|
||||
- button "Insert cue before" [ref=e916]:
|
||||
- img [ref=e917]
|
||||
- button "Insert cue after" [ref=e919]:
|
||||
- img [ref=e920]
|
||||
- button "Delete cue" [ref=e922]:
|
||||
- img [ref=e923]
|
||||
- generic [ref=e925]:
|
||||
- generic [ref=e926]: A worker pulls a product from a 3M box. Another holds a document with diagrams.
|
||||
- button "Edit text" [ref=e927]
|
||||
- generic [ref=e928]:
|
||||
- generic [ref=e929]:
|
||||
- generic [ref=e930]:
|
||||
- generic [ref=e931]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e932]': 00:00:40.500
|
||||
- generic [ref=e933]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e934]': 00:00:44.500
|
||||
- generic [ref=e935]: (4000ms)
|
||||
- generic [ref=e936]:
|
||||
- button "Insert cue before" [ref=e937]:
|
||||
- img [ref=e938]
|
||||
- button "Insert cue after" [ref=e940]:
|
||||
- img [ref=e941]
|
||||
- button "Delete cue" [ref=e943]:
|
||||
- img [ref=e944]
|
||||
- generic [ref=e946]:
|
||||
- generic [ref=e947]: Two workers examine a cable component.
|
||||
- button "Edit text" [ref=e948]
|
||||
- generic [ref=e949]:
|
||||
- generic [ref=e950]:
|
||||
- generic [ref=e951]:
|
||||
- generic [ref=e952]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e953]': 00:00:44.500
|
||||
- generic [ref=e954]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e955]': 00:00:48.500
|
||||
- generic [ref=e956]: (4000ms)
|
||||
- generic [ref=e957]:
|
||||
- button "Insert cue before" [ref=e958]:
|
||||
- img [ref=e959]
|
||||
- button "Insert cue after" [ref=e961]:
|
||||
- img [ref=e962]
|
||||
- button "Delete cue" [ref=e964]:
|
||||
- img [ref=e965]
|
||||
- generic [ref=e967]:
|
||||
- generic [ref=e968]: A worker pulls a plastic core from a rubber sleeve on a cable.
|
||||
- button "Edit text" [ref=e969]
|
||||
- generic [ref=e970]:
|
||||
- generic [ref=e971]:
|
||||
- generic [ref=e972]:
|
||||
- generic [ref=e973]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e974]': 00:00:48.500
|
||||
- generic [ref=e975]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e976]': 00:00:51.500
|
||||
- generic [ref=e977]: (3000ms)
|
||||
- generic [ref=e978]:
|
||||
- button "Insert cue before" [ref=e979]:
|
||||
- img [ref=e980]
|
||||
- button "Insert cue after" [ref=e982]:
|
||||
- img [ref=e983]
|
||||
- button "Delete cue" [ref=e985]:
|
||||
- img [ref=e986]
|
||||
- generic [ref=e988]:
|
||||
- generic [ref=e989]: A worker inserts a black plug into a yellow socket.
|
||||
- button "Edit text" [ref=e990]
|
||||
- generic [ref=e991]:
|
||||
- generic [ref=e992]:
|
||||
- generic [ref=e993]:
|
||||
- generic [ref=e994]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e995]': 00:00:51.500
|
||||
- generic [ref=e996]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e997]': 00:00:55.500
|
||||
- generic [ref=e998]: (4000ms)
|
||||
- generic [ref=e999]:
|
||||
- button "Insert cue before" [ref=e1000]:
|
||||
- img [ref=e1001]
|
||||
- button "Insert cue after" [ref=e1003]:
|
||||
- img [ref=e1004]
|
||||
- button "Delete cue" [ref=e1006]:
|
||||
- img [ref=e1007]
|
||||
- generic [ref=e1009]:
|
||||
- generic [ref=e1010]: Two workers use a power tool on a cable connection.
|
||||
- button "Edit text" [ref=e1011]
|
||||
- generic [ref=e1012]:
|
||||
- generic [ref=e1013]:
|
||||
- generic [ref=e1014]:
|
||||
- generic [ref=e1015]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1016]': 00:00:55.500
|
||||
- generic [ref=e1017]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1018]': 00:01:00.000
|
||||
- generic [ref=e1019]: (4500ms)
|
||||
- generic [ref=e1020]:
|
||||
- button "Insert cue before" [ref=e1021]:
|
||||
- img [ref=e1022]
|
||||
- button "Insert cue after" [ref=e1024]:
|
||||
- img [ref=e1025]
|
||||
- button "Delete cue" [ref=e1027]:
|
||||
- img [ref=e1028]
|
||||
- generic [ref=e1030]:
|
||||
- generic [ref=e1031]: The spoken words appear as text on a black background.
|
||||
- button "Edit text" [ref=e1032]
|
||||
- generic [ref=e1033]:
|
||||
- generic [ref=e1034]:
|
||||
- generic [ref=e1035]:
|
||||
- generic [ref=e1036]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1037]': 00:01:00.000
|
||||
- generic [ref=e1038]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1039]': 00:01:04.000
|
||||
- generic [ref=e1040]: (4000ms)
|
||||
- generic [ref=e1041]:
|
||||
- button "Insert cue before" [ref=e1042]:
|
||||
- img [ref=e1043]
|
||||
- button "Insert cue after" [ref=e1045]:
|
||||
- img [ref=e1046]
|
||||
- button "Delete cue" [ref=e1048]:
|
||||
- img [ref=e1049]
|
||||
- generic [ref=e1051]:
|
||||
- generic [ref=e1052]: "Text on screen reads: 3M Science. Applied to Life."
|
||||
- button "Edit text" [ref=e1053]
|
||||
- generic [ref=e1054]:
|
||||
- generic [ref=e1055]:
|
||||
- generic [ref=e1056]:
|
||||
- generic [ref=e1057]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1058]': 00:01:04.000
|
||||
- generic [ref=e1059]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1060]': 00:01:08.000
|
||||
- generic [ref=e1061]: (4000ms)
|
||||
- generic [ref=e1062]:
|
||||
- button "Insert cue before" [ref=e1063]:
|
||||
- img [ref=e1064]
|
||||
- button "Insert cue after" [ref=e1066]:
|
||||
- img [ref=e1067]
|
||||
- button "Delete cue" [ref=e1069]:
|
||||
- img [ref=e1070]
|
||||
- generic "138.5 characters per second — above the 20 CPS recommended limit" [ref=e1073]: ⚡ 139 CPS
|
||||
- generic [ref=e1074]:
|
||||
- generic [ref=e1075]: "Text on screen reads: The information contained in this video is intended for occupational use by persons with knowledge and technical skills to use such information. It is supplemental only and is not intended to replace the detailed information found in written 3M product instruction and installation manuals. For additional information, including important safety and warranty information regarding 3M Electrical Markets products, refer to the relevant product packaging or data sheet. © 3M 2022. All rights reserved. 3M is a trademark of 3M Company."
|
||||
- button "Edit text" [ref=e1076]
|
||||
- generic [ref=e1077]: "18 cues • Total duration: 1:08.000"
|
||||
- button "↔ Diff vs AI baseline" [ref=e1079]
|
||||
- generic [ref=e1081]:
|
||||
- heading "VTT Timing Adjustment" [level=3] [ref=e1082]
|
||||
- button "Adjust Timing" [ref=e1083]
|
||||
- button "Voice Settings for Audio Description (Configured) Click to customize or override TTS voice" [ref=e1085]:
|
||||
- generic [ref=e1086]:
|
||||
- img [ref=e1087]
|
||||
- generic [ref=e1089]: Voice Settings for Audio Description
|
||||
- generic [ref=e1090]: (Configured)
|
||||
- generic [ref=e1091]: Click to customize or override TTS voice
|
||||
- generic [ref=e1092]:
|
||||
- generic [ref=e1093]: Cost Tracker Project ID
|
||||
- generic [ref=e1094]:
|
||||
- textbox "e.g. ford-q3-2026" [ref=e1095]
|
||||
- button "Save" [ref=e1096]
|
||||
- paragraph [ref=e1097]: Links this job to a project in the AI Cost Dashboard.
|
||||
- button "Download Assets Click to download individual files" [ref=e1099]:
|
||||
- generic [ref=e1100]:
|
||||
- img [ref=e1101]
|
||||
- generic [ref=e1103]: Download Assets
|
||||
- generic [ref=e1104]: Click to download individual files
|
||||
- generic [ref=e1105]:
|
||||
- generic [ref=e1106]: Review Notes
|
||||
- textbox "Add any notes about this review..." [ref=e1107]
|
||||
- generic [ref=e1108]:
|
||||
- button "Approve All Languages" [ref=e1132]
|
||||
- button "Reject Job" [ref=e1133]
|
||||
- generic [ref=e1137]:
|
||||
- img [ref=e1138]
|
||||
- paragraph [ref=e1140]: Language approved
|
||||
- button [ref=e1141]:
|
||||
- img [ref=e1142]
|
||||
BIN
.playwright-mcp/page-2026-05-01T12-45-25-791Z.png
Normal file
|
After Width: | Height: | Size: 138 KiB |
83
.playwright-mcp/page-2026-05-01T12-45-32-864Z.yml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]
|
||||
83
.playwright-mcp/page-2026-05-01T12-45-54-193Z.yml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]
|
||||
142
.playwright-mcp/page-2026-05-01T12-46-36-320Z.yml
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e87]:
|
||||
- generic [ref=e88]:
|
||||
- heading "Welcome back, test-admin! 👋" [level=1] [ref=e89]
|
||||
- paragraph [ref=e90]: Here's what's happening with your video accessibility projects
|
||||
- generic [ref=e92]:
|
||||
- paragraph [ref=e93]: Today
|
||||
- paragraph [ref=e94]: Friday, May 1
|
||||
- generic [ref=e95]:
|
||||
- link "📋 Total Jobs 0 View all →" [ref=e96] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e98]:
|
||||
- generic [ref=e99]:
|
||||
- generic [ref=e101]: 📋
|
||||
- heading "Total Jobs" [level=3] [ref=e102]
|
||||
- paragraph [ref=e103]: "0"
|
||||
- paragraph [ref=e104]: View all →
|
||||
- link "⚙️ Processing 0 View processing →" [ref=e105] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs?status=created,ingesting,ai_processing,translating,tts_generating,rendering_video,rendering_qc
|
||||
- generic [ref=e107]:
|
||||
- generic [ref=e108]:
|
||||
- generic [ref=e110]: ⚙️
|
||||
- heading "Processing" [level=3] [ref=e111]
|
||||
- paragraph [ref=e112]: "0"
|
||||
- paragraph [ref=e113]: View processing →
|
||||
- link "🔍 In QC Review 0 Review now →" [ref=e114] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e116]:
|
||||
- generic [ref=e117]:
|
||||
- generic [ref=e119]: 🔍
|
||||
- heading "In QC Review" [level=3] [ref=e120]
|
||||
- paragraph [ref=e121]: "0"
|
||||
- paragraph [ref=e122]: Review now →
|
||||
- link "✅ Completed 0 View completed →" [ref=e123] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs?status=completed
|
||||
- generic [ref=e125]:
|
||||
- generic [ref=e126]:
|
||||
- generic [ref=e128]: ✅
|
||||
- heading "Completed" [level=3] [ref=e129]
|
||||
- paragraph [ref=e130]: "0"
|
||||
- paragraph [ref=e131]: View completed →
|
||||
- generic [ref=e132]:
|
||||
- generic [ref=e133]:
|
||||
- generic [ref=e134]:
|
||||
- generic [ref=e136]: 🔍
|
||||
- heading "Quality Control" [level=2] [ref=e137]
|
||||
- paragraph [ref=e138]: 0 jobs awaiting review
|
||||
- paragraph [ref=e139]: Review AI-generated content for accuracy and compliance with accessibility standards.
|
||||
- link "Start Reviewing →" [ref=e140] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e141]:
|
||||
- generic [ref=e142]:
|
||||
- generic [ref=e144]: ✅
|
||||
- heading "Final Approval" [level=2] [ref=e145]
|
||||
- paragraph [ref=e146]: Jobs ready for delivery
|
||||
- paragraph [ref=e147]: Complete the final review process and approve jobs for client delivery.
|
||||
- link "Review Finals →" [ref=e148] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- heading "Recent Activity" [level=2] [ref=e151]
|
||||
83
.playwright-mcp/page-2026-05-01T12-46-54-435Z.yml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]
|
||||
133
.playwright-mcp/page-2026-05-01T12-47-19-609Z.yml
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review 1" [ref=e91] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- generic [ref=e92]: "1"
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e104]:
|
||||
- generic [ref=e105]:
|
||||
- paragraph [ref=e106]:
|
||||
- text: ←
|
||||
- link "Clients" [ref=e107] [cursor=pointer]:
|
||||
- /url: /admin/clients
|
||||
- heading "3M-Test" [level=1] [ref=e108]
|
||||
- paragraph [ref=e109]: 3m-test
|
||||
- generic [ref=e110]:
|
||||
- heading "Project Managers" [level=2] [ref=e111]
|
||||
- paragraph [ref=e113]: No PMs assigned
|
||||
- generic [ref=e114]:
|
||||
- combobox [ref=e115]:
|
||||
- option "Select user to assign as PM…" [selected]
|
||||
- option "Test Project Manager (test-pm@oliver.agency)"
|
||||
- option "Test Production (test-production@oliver.agency)"
|
||||
- option "Test Reviewer (test-reviewer@oliver.agency)"
|
||||
- option "Test Linguist (test-linguist@oliver.agency)"
|
||||
- option "Test Client (test-client@oliver.agency)"
|
||||
- option "Test Admin (test-admin@oliver.agency)"
|
||||
- option "Vadym Samoilenko (vadymsamoilenko@oliver.agency)"
|
||||
- button "Assign" [disabled] [ref=e116]
|
||||
- generic [ref=e117]:
|
||||
- heading "Teams" [level=2] [ref=e118]
|
||||
- paragraph [ref=e120]: No teams yet
|
||||
- generic [ref=e121]:
|
||||
- textbox "New team name…" [ref=e122]
|
||||
- button "+ Team" [disabled] [ref=e123]
|
||||
- generic [ref=e124]:
|
||||
- heading "Projects" [level=2] [ref=e125]
|
||||
- generic [ref=e127]:
|
||||
- generic [ref=e129]: Test_Vadym
|
||||
- generic [ref=e130]:
|
||||
- button "Rename" [ref=e131]
|
||||
- button "Archive" [ref=e132]
|
||||
- generic [ref=e133]:
|
||||
- textbox "New project name…" [ref=e134]
|
||||
- button "+ Project" [disabled] [ref=e135]
|
||||
- generic [ref=e136]:
|
||||
- generic [ref=e137]:
|
||||
- heading "Glossaries" [level=2] [ref=e138]
|
||||
- link "View all →" [ref=e139] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries
|
||||
- generic [ref=e141]:
|
||||
- link "3M Terms" [ref=e142] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/69f3ac7badf2dc9ed96d2535
|
||||
- generic [ref=e143]: active
|
||||
- link "+ Upload glossary" [ref=e145] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/upload
|
||||
83
.playwright-mcp/page-2026-05-01T12-47-31-548Z.yml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]
|
||||
100
.playwright-mcp/page-2026-05-01T12-47-41-850Z.yml
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e86]:
|
||||
- generic [ref=e87]:
|
||||
- heading "My QC Queue" [level=1] [ref=e88]
|
||||
- paragraph [ref=e89]: Languages assigned to you for quality control
|
||||
- button "Refresh" [ref=e90]
|
||||
- generic [ref=e91]:
|
||||
- button "As linguist" [ref=e92]
|
||||
- button "As reviewer" [ref=e93]
|
||||
- generic [ref=e94]:
|
||||
- button "All" [ref=e95]
|
||||
- button "Pending" [ref=e96]
|
||||
- button "In Progress" [ref=e97]
|
||||
- button "Pending Review" [ref=e98]
|
||||
- button "In Review" [ref=e99]
|
||||
- button "Approved" [ref=e100]
|
||||
- button "Rejected" [ref=e101]
|
||||
97
.playwright-mcp/page-2026-05-01T12-49-45-379Z.yml
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e86]:
|
||||
- generic [ref=e87]:
|
||||
- heading "Reviewer Queue" [level=1] [ref=e88]
|
||||
- paragraph [ref=e89]: Languages assigned to you for quality control
|
||||
- button "Refresh" [ref=e90]
|
||||
- generic [ref=e91]:
|
||||
- button "All" [ref=e92]
|
||||
- button "Pending" [ref=e93]
|
||||
- button "In Progress" [ref=e94]
|
||||
- button "Pending Review" [ref=e95]
|
||||
- button "In Review" [ref=e96]
|
||||
- button "Approved" [ref=e97]
|
||||
- button "Rejected" [ref=e98]
|
||||
0
.playwright-mcp/page-2026-05-01T12-49-55-561Z.yml
Normal file
83
.playwright-mcp/page-2026-05-01T12-50-13-551Z.yml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]
|
||||
643
.playwright-mcp/page-2026-05-01T12-50-38-348Z.yml
Normal file
|
|
@ -0,0 +1,643 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review 1" [ref=e91] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- generic [ref=e92]: "1"
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e86]:
|
||||
- button "← Back to Final Review Queue" [ref=e93]
|
||||
- generic [ref=e88]:
|
||||
- generic [ref=e89]:
|
||||
- heading "test-video" [level=1] [ref=e94]
|
||||
- paragraph [ref=e95]: "Source: test-video.mp4 • Duration: 68s"
|
||||
- generic [ref=e96]: Pending Final Review
|
||||
- generic [ref=e97]:
|
||||
- heading "Asset Validation ✓ Passed" [level=3] [ref=e98]
|
||||
- generic [ref=e99]:
|
||||
- generic [ref=e100]: Languages:1
|
||||
- generic [ref=e101]: VTT Files:2
|
||||
- generic [ref=e102]: MP3 Files:1
|
||||
- generic [ref=e103]: AD Videos:0
|
||||
- generic [ref=e104]:
|
||||
- heading "Video Review" [level=2] [ref=e105]
|
||||
- generic [ref=e106]:
|
||||
- navigation "Asset tabs" [ref=e108]:
|
||||
- button "English" [ref=e109]
|
||||
- generic [ref=e110]:
|
||||
- generic [ref=e111]:
|
||||
- generic [ref=e112]:
|
||||
- generic [ref=e113]: Your browser does not support the video tag.
|
||||
- generic [ref=e115]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- generic [ref=e116]:
|
||||
- generic [ref=e117]:
|
||||
- checkbox "Show Captions" [checked] [ref=e118]
|
||||
- text: Show Captions
|
||||
- generic [ref=e119]: 0:00
|
||||
- generic [ref=e121]:
|
||||
- heading "Caption Timeline (18 cues)" [level=4] [ref=e122]
|
||||
- generic [ref=e123]:
|
||||
- generic [ref=e124] [cursor=pointer]:
|
||||
- generic [ref=e125]:
|
||||
- generic [ref=e126]: 0:00 → 0:05
|
||||
- button "Jump" [ref=e127]
|
||||
- generic [ref=e128]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- generic [ref=e129] [cursor=pointer]:
|
||||
- generic [ref=e130]:
|
||||
- generic [ref=e131]: 0:06 → 0:10
|
||||
- button "Jump" [ref=e132]
|
||||
- generic [ref=e133]: With more than 50 years of experience working in the field on energy projects,
|
||||
- generic [ref=e134] [cursor=pointer]:
|
||||
- generic [ref=e135]:
|
||||
- generic [ref=e136]: 0:10 → 0:13
|
||||
- button "Jump" [ref=e137]
|
||||
- generic [ref=e138]: 3M has your solution to help you make your work more reliable, easier,
|
||||
- generic [ref=e139] [cursor=pointer]:
|
||||
- generic [ref=e140]:
|
||||
- generic [ref=e141]: 0:13 → 0:16
|
||||
- button "Jump" [ref=e142]
|
||||
- generic [ref=e143]: and faster for solar energy projects,
|
||||
- generic [ref=e144] [cursor=pointer]:
|
||||
- generic [ref=e145]:
|
||||
- generic [ref=e146]: 0:16 → 0:18
|
||||
- button "Jump" [ref=e147]
|
||||
- generic [ref=e148]: wind energy projects,
|
||||
- generic [ref=e149] [cursor=pointer]:
|
||||
- generic [ref=e150]:
|
||||
- generic [ref=e151]: 0:18 → 0:21
|
||||
- button "Jump" [ref=e152]
|
||||
- generic [ref=e153]: and battery energy storage systems.
|
||||
- generic [ref=e154] [cursor=pointer]:
|
||||
- generic [ref=e155]:
|
||||
- generic [ref=e156]: 0:21 → 0:25
|
||||
- button "Jump" [ref=e157]
|
||||
- generic [ref=e158]: We can help you solve your electrical installation challenges.
|
||||
- generic [ref=e159] [cursor=pointer]:
|
||||
- generic [ref=e160]:
|
||||
- generic [ref=e161]: 0:25 → 0:28
|
||||
- button "Jump" [ref=e162]
|
||||
- generic [ref=e163]: 3M provides advanced technology solutions
|
||||
- generic [ref=e164] [cursor=pointer]:
|
||||
- generic [ref=e165]:
|
||||
- generic [ref=e166]: 0:28 → 0:32
|
||||
- button "Jump" [ref=e167]
|
||||
- generic [ref=e168]: in insulating, connecting, and terminating medium and high voltage cables.
|
||||
- generic [ref=e169] [cursor=pointer]:
|
||||
- generic [ref=e170]:
|
||||
- generic [ref=e171]: 0:32 → 0:35
|
||||
- button "Jump" [ref=e172]
|
||||
- generic [ref=e173]: Our engineers can help with your projects
|
||||
- generic [ref=e174] [cursor=pointer]:
|
||||
- generic [ref=e175]:
|
||||
- generic [ref=e176]: 0:35 → 0:37
|
||||
- button "Jump" [ref=e177]
|
||||
- generic [ref=e178]: and recommend customized product kits
|
||||
- generic [ref=e179] [cursor=pointer]:
|
||||
- generic [ref=e180]:
|
||||
- generic [ref=e181]: 0:37 → 0:40
|
||||
- button "Jump" [ref=e182]
|
||||
- generic [ref=e183]: so you get exactly what you need for reliable product performance.
|
||||
- generic [ref=e184] [cursor=pointer]:
|
||||
- generic [ref=e185]:
|
||||
- generic [ref=e186]: 0:40 → 0:44
|
||||
- button "Jump" [ref=e187]
|
||||
- generic [ref=e188]: We work closely with you, so you get the support you need.
|
||||
- generic [ref=e189] [cursor=pointer]:
|
||||
- generic [ref=e190]:
|
||||
- generic [ref=e191]: 0:45 → 0:48
|
||||
- button "Jump" [ref=e192]
|
||||
- generic [ref=e193]: Your work, combined with our solutions,
|
||||
- generic [ref=e194] [cursor=pointer]:
|
||||
- generic [ref=e195]:
|
||||
- generic [ref=e196]: 0:50 → 0:52
|
||||
- button "Jump" [ref=e197]
|
||||
- generic [ref=e198]: can help avoid costly downtime
|
||||
- generic [ref=e199] [cursor=pointer]:
|
||||
- generic [ref=e200]:
|
||||
- generic [ref=e201]: 0:52 → 0:55
|
||||
- button "Jump" [ref=e202]
|
||||
- generic [ref=e203]: and keep your renewable systems up and running smoothly.
|
||||
- generic [ref=e204] [cursor=pointer]:
|
||||
- generic [ref=e205]:
|
||||
- generic [ref=e206]: 0:56 → 0:59
|
||||
- button "Jump" [ref=e207]
|
||||
- generic [ref=e208]: Wherever the job takes you, we have your solution.
|
||||
- generic [ref=e209] [cursor=pointer]:
|
||||
- generic [ref=e210]:
|
||||
- generic [ref=e211]: 1:01 → 1:04
|
||||
- button "Jump" [ref=e212]
|
||||
- generic [ref=e213]: 3M. Science. Applied to Life.
|
||||
- generic [ref=e215]:
|
||||
- heading "Notes 0" [level=3] [ref=e217]:
|
||||
- img [ref=e218]
|
||||
- text: Notes
|
||||
- generic [ref=e220]: "0"
|
||||
- generic [ref=e222]:
|
||||
- generic [ref=e223]:
|
||||
- generic [ref=e224]:
|
||||
- generic [ref=e225]: Add Note
|
||||
- generic [ref=e226]: "@ 0:00"
|
||||
- textbox "Add Note" [ref=e227]:
|
||||
- /placeholder: Add a note at this timestamp...
|
||||
- button "Add Note" [disabled] [ref=e229]
|
||||
- generic [ref=e231]:
|
||||
- img [ref=e232]
|
||||
- paragraph [ref=e234]: No notes yet
|
||||
- paragraph [ref=e235]: Pause the video and add a note
|
||||
- generic [ref=e236]:
|
||||
- heading "Language Assets (1 languages)" [level=2] [ref=e237]
|
||||
- generic [ref=e238]:
|
||||
- generic [ref=e239]:
|
||||
- generic [ref=e240]:
|
||||
- heading "EN" [level=3] [ref=e241]
|
||||
- generic [ref=e242]: Original
|
||||
- generic [ref=e243]:
|
||||
- button "Captions" [ref=e244]
|
||||
- button "Audio Descriptions" [ref=e245]
|
||||
- generic [ref=e247]:
|
||||
- heading "EN Captions" [level=3] [ref=e250]
|
||||
- generic [ref=e252]:
|
||||
- generic [ref=e253]:
|
||||
- generic [ref=e254]:
|
||||
- generic [ref=e255]:
|
||||
- generic [ref=e256]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e257]': 00:00:00.000
|
||||
- generic [ref=e258]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e259]': 00:00:05.500
|
||||
- generic [ref=e260]: (5500ms)
|
||||
- generic [ref=e261]:
|
||||
- button "Insert cue before" [ref=e262]:
|
||||
- img [ref=e263]
|
||||
- button "Insert cue after" [ref=e265]:
|
||||
- img [ref=e266]
|
||||
- button "Delete cue" [ref=e268]:
|
||||
- img [ref=e269]
|
||||
- generic [ref=e271]:
|
||||
- generic [ref=e272]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- button "Edit text" [ref=e273]
|
||||
- generic [ref=e274]:
|
||||
- generic [ref=e275]:
|
||||
- generic [ref=e276]:
|
||||
- generic [ref=e277]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e278]': 00:00:06.000
|
||||
- generic [ref=e279]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e280]': 00:00:10.000
|
||||
- generic [ref=e281]: (4000ms)
|
||||
- generic [ref=e282]:
|
||||
- button "Insert cue before" [ref=e283]:
|
||||
- img [ref=e284]
|
||||
- button "Insert cue after" [ref=e286]:
|
||||
- img [ref=e287]
|
||||
- button "Delete cue" [ref=e289]:
|
||||
- img [ref=e290]
|
||||
- generic [ref=e292]:
|
||||
- generic [ref=e293]: With more than 50 years of experience working in the field on energy projects,
|
||||
- button "Edit text" [ref=e294]
|
||||
- generic [ref=e295]:
|
||||
- generic [ref=e296]:
|
||||
- generic [ref=e297]:
|
||||
- generic [ref=e298]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e299]': 00:00:10.000
|
||||
- generic [ref=e300]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e301]': 00:00:13.500
|
||||
- generic [ref=e302]: (3500ms)
|
||||
- generic [ref=e303]:
|
||||
- button "Insert cue before" [ref=e304]:
|
||||
- img [ref=e305]
|
||||
- button "Insert cue after" [ref=e307]:
|
||||
- img [ref=e308]
|
||||
- button "Delete cue" [ref=e310]:
|
||||
- img [ref=e311]
|
||||
- generic [ref=e313]:
|
||||
- generic [ref=e314]: 3M has your solution to help you make your work more reliable, easier,
|
||||
- button "Edit text" [ref=e315]
|
||||
- generic [ref=e316]:
|
||||
- generic [ref=e317]:
|
||||
- generic [ref=e318]:
|
||||
- generic [ref=e319]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e320]': 00:00:13.500
|
||||
- generic [ref=e321]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e322]': 00:00:16.000
|
||||
- generic [ref=e323]: (2500ms)
|
||||
- generic [ref=e324]:
|
||||
- button "Insert cue before" [ref=e325]:
|
||||
- img [ref=e326]
|
||||
- button "Insert cue after" [ref=e328]:
|
||||
- img [ref=e329]
|
||||
- button "Delete cue" [ref=e331]:
|
||||
- img [ref=e332]
|
||||
- generic [ref=e334]:
|
||||
- generic [ref=e335]: and faster for solar energy projects,
|
||||
- button "Edit text" [ref=e336]
|
||||
- generic [ref=e337]:
|
||||
- generic [ref=e338]:
|
||||
- generic [ref=e339]:
|
||||
- generic [ref=e340]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e341]': 00:00:16.000
|
||||
- generic [ref=e342]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e343]': 00:00:18.500
|
||||
- generic [ref=e344]: (2500ms)
|
||||
- generic [ref=e345]:
|
||||
- button "Insert cue before" [ref=e346]:
|
||||
- img [ref=e347]
|
||||
- button "Insert cue after" [ref=e349]:
|
||||
- img [ref=e350]
|
||||
- button "Delete cue" [ref=e352]:
|
||||
- img [ref=e353]
|
||||
- generic [ref=e355]:
|
||||
- generic [ref=e356]: wind energy projects,
|
||||
- button "Edit text" [ref=e357]
|
||||
- generic [ref=e358]:
|
||||
- generic [ref=e359]:
|
||||
- generic [ref=e360]:
|
||||
- generic [ref=e361]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e362]': 00:00:18.500
|
||||
- generic [ref=e363]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e364]': 00:00:21.500
|
||||
- generic [ref=e365]: (3000ms)
|
||||
- generic [ref=e366]:
|
||||
- button "Insert cue before" [ref=e367]:
|
||||
- img [ref=e368]
|
||||
- button "Insert cue after" [ref=e370]:
|
||||
- img [ref=e371]
|
||||
- button "Delete cue" [ref=e373]:
|
||||
- img [ref=e374]
|
||||
- generic [ref=e376]:
|
||||
- generic [ref=e377]: and battery energy storage systems.
|
||||
- button "Edit text" [ref=e378]
|
||||
- generic [ref=e379]:
|
||||
- generic [ref=e380]:
|
||||
- generic [ref=e381]:
|
||||
- generic [ref=e382]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e383]': 00:00:21.500
|
||||
- generic [ref=e384]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e385]': 00:00:25.000
|
||||
- generic [ref=e386]: (3500ms)
|
||||
- generic [ref=e387]:
|
||||
- button "Insert cue before" [ref=e388]:
|
||||
- img [ref=e389]
|
||||
- button "Insert cue after" [ref=e391]:
|
||||
- img [ref=e392]
|
||||
- button "Delete cue" [ref=e394]:
|
||||
- img [ref=e395]
|
||||
- generic [ref=e397]:
|
||||
- generic [ref=e398]: We can help you solve your electrical installation challenges.
|
||||
- button "Edit text" [ref=e399]
|
||||
- generic [ref=e400]:
|
||||
- generic [ref=e401]:
|
||||
- generic [ref=e402]:
|
||||
- generic [ref=e403]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e404]': 00:00:25.000
|
||||
- generic [ref=e405]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e406]': 00:00:28.000
|
||||
- generic [ref=e407]: (3000ms)
|
||||
- generic [ref=e408]:
|
||||
- button "Insert cue before" [ref=e409]:
|
||||
- img [ref=e410]
|
||||
- button "Insert cue after" [ref=e412]:
|
||||
- img [ref=e413]
|
||||
- button "Delete cue" [ref=e415]:
|
||||
- img [ref=e416]
|
||||
- generic [ref=e418]:
|
||||
- generic [ref=e419]: 3M provides advanced technology solutions
|
||||
- button "Edit text" [ref=e420]
|
||||
- generic [ref=e421]:
|
||||
- generic [ref=e422]:
|
||||
- generic [ref=e423]:
|
||||
- generic [ref=e424]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e425]': 00:00:28.000
|
||||
- generic [ref=e426]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e427]': 00:00:32.000
|
||||
- generic [ref=e428]: (4000ms)
|
||||
- generic [ref=e429]:
|
||||
- button "Insert cue before" [ref=e430]:
|
||||
- img [ref=e431]
|
||||
- button "Insert cue after" [ref=e433]:
|
||||
- img [ref=e434]
|
||||
- button "Delete cue" [ref=e436]:
|
||||
- img [ref=e437]
|
||||
- generic [ref=e439]:
|
||||
- generic [ref=e440]: in insulating, connecting, and terminating medium and high voltage cables.
|
||||
- button "Edit text" [ref=e441]
|
||||
- generic [ref=e442]:
|
||||
- generic [ref=e443]:
|
||||
- generic [ref=e444]:
|
||||
- generic [ref=e445]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e446]': 00:00:32.000
|
||||
- generic [ref=e447]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e448]': 00:00:35.000
|
||||
- generic [ref=e449]: (3000ms)
|
||||
- generic [ref=e450]:
|
||||
- button "Insert cue before" [ref=e451]:
|
||||
- img [ref=e452]
|
||||
- button "Insert cue after" [ref=e454]:
|
||||
- img [ref=e455]
|
||||
- button "Delete cue" [ref=e457]:
|
||||
- img [ref=e458]
|
||||
- generic [ref=e460]:
|
||||
- generic [ref=e461]: Our engineers can help with your projects
|
||||
- button "Edit text" [ref=e462]
|
||||
- generic [ref=e463]:
|
||||
- generic [ref=e464]:
|
||||
- generic [ref=e465]:
|
||||
- generic [ref=e466]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e467]': 00:00:35.000
|
||||
- generic [ref=e468]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e469]': 00:00:37.500
|
||||
- generic [ref=e470]: (2500ms)
|
||||
- generic [ref=e471]:
|
||||
- button "Insert cue before" [ref=e472]:
|
||||
- img [ref=e473]
|
||||
- button "Insert cue after" [ref=e475]:
|
||||
- img [ref=e476]
|
||||
- button "Delete cue" [ref=e478]:
|
||||
- img [ref=e479]
|
||||
- generic [ref=e481]:
|
||||
- generic [ref=e482]: and recommend customized product kits
|
||||
- button "Edit text" [ref=e483]
|
||||
- generic [ref=e484]:
|
||||
- generic [ref=e485]:
|
||||
- generic [ref=e486]:
|
||||
- generic [ref=e487]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e488]': 00:00:37.500
|
||||
- generic [ref=e489]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e490]': 00:00:40.500
|
||||
- generic [ref=e491]: (3000ms)
|
||||
- generic [ref=e492]:
|
||||
- button "Insert cue before" [ref=e493]:
|
||||
- img [ref=e494]
|
||||
- button "Insert cue after" [ref=e496]:
|
||||
- img [ref=e497]
|
||||
- button "Delete cue" [ref=e499]:
|
||||
- img [ref=e500]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e503]: ⚡ 22 CPS
|
||||
- generic [ref=e504]:
|
||||
- generic [ref=e505]: so you get exactly what you need for reliable product performance.
|
||||
- button "Edit text" [ref=e506]
|
||||
- generic [ref=e507]:
|
||||
- generic [ref=e508]:
|
||||
- generic [ref=e509]:
|
||||
- generic [ref=e510]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e511]': 00:00:40.500
|
||||
- generic [ref=e512]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e513]': 00:00:44.500
|
||||
- generic [ref=e514]: (4000ms)
|
||||
- generic [ref=e515]:
|
||||
- button "Insert cue before" [ref=e516]:
|
||||
- img [ref=e517]
|
||||
- button "Insert cue after" [ref=e519]:
|
||||
- img [ref=e520]
|
||||
- button "Delete cue" [ref=e522]:
|
||||
- img [ref=e523]
|
||||
- generic [ref=e525]:
|
||||
- generic [ref=e526]: We work closely with you, so you get the support you need.
|
||||
- button "Edit text" [ref=e527]
|
||||
- generic [ref=e528]:
|
||||
- generic [ref=e529]:
|
||||
- generic [ref=e530]:
|
||||
- generic [ref=e531]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e532]': 00:00:45.000
|
||||
- generic [ref=e533]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e534]': 00:00:48.500
|
||||
- generic [ref=e535]: (3500ms)
|
||||
- generic [ref=e536]:
|
||||
- button "Insert cue before" [ref=e537]:
|
||||
- img [ref=e538]
|
||||
- button "Insert cue after" [ref=e540]:
|
||||
- img [ref=e541]
|
||||
- button "Delete cue" [ref=e543]:
|
||||
- img [ref=e544]
|
||||
- generic [ref=e546]:
|
||||
- generic [ref=e547]: Your work, combined with our solutions,
|
||||
- button "Edit text" [ref=e548]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e549] [cursor=pointer]:
|
||||
- generic [ref=e550]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e551]:
|
||||
- generic [ref=e552]:
|
||||
- generic [ref=e553]:
|
||||
- generic [ref=e554]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e555]': 00:00:50.000
|
||||
- generic [ref=e556]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e557]': 00:00:52.000
|
||||
- generic [ref=e558]: (2000ms)
|
||||
- generic [ref=e559]:
|
||||
- button "Insert cue before" [ref=e560]:
|
||||
- img [ref=e561]
|
||||
- button "Insert cue after" [ref=e563]:
|
||||
- img [ref=e564]
|
||||
- button "Delete cue" [ref=e566]:
|
||||
- img [ref=e567]
|
||||
- generic [ref=e569]:
|
||||
- generic [ref=e570]: can help avoid costly downtime
|
||||
- button "Edit text" [ref=e571]
|
||||
- generic [ref=e572]:
|
||||
- generic [ref=e573]:
|
||||
- generic [ref=e574]:
|
||||
- generic [ref=e575]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e576]': 00:00:52.000
|
||||
- generic [ref=e577]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e578]': 00:00:55.500
|
||||
- generic [ref=e579]: (3500ms)
|
||||
- generic [ref=e580]:
|
||||
- button "Insert cue before" [ref=e581]:
|
||||
- img [ref=e582]
|
||||
- button "Insert cue after" [ref=e584]:
|
||||
- img [ref=e585]
|
||||
- button "Delete cue" [ref=e587]:
|
||||
- img [ref=e588]
|
||||
- generic [ref=e590]:
|
||||
- generic [ref=e591]: and keep your renewable systems up and running smoothly.
|
||||
- button "Edit text" [ref=e592]
|
||||
- generic "Insert cue in this gap (1.0s gap)" [ref=e593] [cursor=pointer]:
|
||||
- generic [ref=e594]: + Add cue here · 1.0s gap
|
||||
- generic [ref=e595]:
|
||||
- generic [ref=e596]:
|
||||
- generic [ref=e597]:
|
||||
- generic [ref=e598]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e599]': 00:00:56.500
|
||||
- generic [ref=e600]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e601]': 00:00:59.500
|
||||
- generic [ref=e602]: (3000ms)
|
||||
- generic [ref=e603]:
|
||||
- button "Insert cue before" [ref=e604]:
|
||||
- img [ref=e605]
|
||||
- button "Insert cue after" [ref=e607]:
|
||||
- img [ref=e608]
|
||||
- button "Delete cue" [ref=e610]:
|
||||
- img [ref=e611]
|
||||
- generic [ref=e613]:
|
||||
- generic [ref=e614]: Wherever the job takes you, we have your solution.
|
||||
- button "Edit text" [ref=e615]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e616] [cursor=pointer]:
|
||||
- generic [ref=e617]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e618]:
|
||||
- generic [ref=e619]:
|
||||
- generic [ref=e620]:
|
||||
- generic [ref=e621]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e622]': 00:01:01.000
|
||||
- generic [ref=e623]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e624]': 00:01:04.000
|
||||
- generic [ref=e625]: (3000ms)
|
||||
- generic [ref=e626]:
|
||||
- button "Insert cue before" [ref=e627]:
|
||||
- img [ref=e628]
|
||||
- button "Insert cue after" [ref=e630]:
|
||||
- img [ref=e631]
|
||||
- button "Delete cue" [ref=e633]:
|
||||
- img [ref=e634]
|
||||
- generic [ref=e636]:
|
||||
- generic [ref=e637]: 3M. Science. Applied to Life.
|
||||
- button "Edit text" [ref=e638]
|
||||
- generic [ref=e639]: "18 cues • Total duration: 1:04.000"
|
||||
- generic [ref=e640]:
|
||||
- generic [ref=e641]:
|
||||
- generic [ref=e642]: "Captions: ✓"
|
||||
- generic [ref=e643]: "Audio Descriptions: ✓"
|
||||
- generic [ref=e644]: "MP3 Audio: ✓"
|
||||
- generic [ref=e645]: Your browser does not support the audio element.
|
||||
- generic [ref=e646]:
|
||||
- generic [ref=e647]: Cost Tracker Project ID
|
||||
- generic [ref=e648]:
|
||||
- textbox "e.g. ford-q3-2026" [ref=e649]
|
||||
- button "Save" [ref=e650]
|
||||
- paragraph [ref=e651]: Links this job to a project in the AI Cost Dashboard.
|
||||
- generic [ref=e652]:
|
||||
- heading "Final Review Decision" [level=3] [ref=e653]
|
||||
- generic [ref=e654]:
|
||||
- generic [ref=e655]:
|
||||
- generic [ref=e656]: Review Decision
|
||||
- generic [ref=e657]:
|
||||
- generic [ref=e658]:
|
||||
- radio "Approve for Client Delivery" [ref=e659]
|
||||
- generic [ref=e660]: Approve for Client Delivery
|
||||
- generic [ref=e661]:
|
||||
- radio "Return for Quality Control" [checked] [active] [ref=e662]
|
||||
- generic [ref=e663]: Return for Quality Control
|
||||
- generic [ref=e664]:
|
||||
- generic [ref=e665]: Review Notes
|
||||
- textbox "Review Notes" [ref=e666]:
|
||||
- /placeholder: "Required: Explain what needs to be fixed..."
|
||||
- generic [ref=e667]:
|
||||
- button "Cancel" [ref=e668]
|
||||
- button "Return for QC" [disabled] [ref=e713]
|
||||
- generic [ref=e670]:
|
||||
- heading "Job History" [level=3] [ref=e671]
|
||||
- generic [ref=e672]:
|
||||
- generic [ref=e673]:
|
||||
- generic [ref=e674]:
|
||||
- generic [ref=e675]: CREATED
|
||||
- generic [ref=e676]: by system
|
||||
- generic [ref=e677]: 5/1/2026
|
||||
- generic [ref=e678]:
|
||||
- generic [ref=e679]:
|
||||
- generic [ref=e680]: INGESTING
|
||||
- generic [ref=e681]: by system
|
||||
- generic [ref=e682]: 5/1/2026
|
||||
- generic [ref=e683]:
|
||||
- generic [ref=e684]:
|
||||
- generic [ref=e685]: AI PROCESSING
|
||||
- generic [ref=e686]: by system
|
||||
- generic [ref=e687]: 5/1/2026
|
||||
- generic [ref=e688]:
|
||||
- generic [ref=e689]:
|
||||
- generic [ref=e690]: TRANSLATING
|
||||
- generic [ref=e691]: by system
|
||||
- generic [ref=e692]: 5/1/2026
|
||||
- generic [ref=e693]:
|
||||
- generic [ref=e694]:
|
||||
- generic [ref=e695]: TRANSLATING
|
||||
- generic [ref=e696]: by system
|
||||
- generic [ref=e697]: 5/1/2026
|
||||
- generic [ref=e698]:
|
||||
- generic [ref=e699]:
|
||||
- generic [ref=e700]: TTS GENERATING
|
||||
- generic [ref=e701]: by system
|
||||
- generic [ref=e702]: 5/1/2026
|
||||
- generic [ref=e703]:
|
||||
- generic [ref=e704]:
|
||||
- generic [ref=e705]: PENDING QC
|
||||
- generic [ref=e706]: by system
|
||||
- generic [ref=e707]: 5/1/2026
|
||||
- generic [ref=e708]:
|
||||
- generic [ref=e709]:
|
||||
- generic [ref=e710]: PENDING FINAL REVIEW
|
||||
- generic [ref=e711]: by system
|
||||
- generic [ref=e712]: 5/1/2026
|
||||
117
.playwright-mcp/page-2026-05-01T12-51-00-046Z.yml
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e714] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e715]:
|
||||
- generic [ref=e716]:
|
||||
- heading "Final Review Queue" [level=1] [ref=e717]
|
||||
- generic [ref=e718]:
|
||||
- generic [ref=e719]: "Pending: 0"
|
||||
- generic [ref=e720]: "Completed: 1"
|
||||
- generic [ref=e721]:
|
||||
- heading "Pending Final Review" [level=2] [ref=e722]
|
||||
- paragraph [ref=e724]: No jobs pending final review
|
||||
- generic [ref=e725]:
|
||||
- heading "Recently Completed" [level=2] [ref=e726]
|
||||
- generic [ref=e727]:
|
||||
- generic [ref=e728]:
|
||||
- generic [ref=e729]: Job Details
|
||||
- generic [ref=e730]: Languages Requested
|
||||
- list [ref=e731]:
|
||||
- listitem [ref=e732]:
|
||||
- 'link "Completed source.mp4 3 languages, MP3 audio Completed: 4/30/2026 Created: 4/30/2026 de-DE, fr-CA Ready for download" [ref=e733] [cursor=pointer]':
|
||||
- /url: /video-accessibility/admin/final/69f3b6d2cde5f3709e55301e
|
||||
- generic [ref=e734]:
|
||||
- generic [ref=e735]:
|
||||
- generic [ref=e737]: Completed
|
||||
- generic [ref=e738]:
|
||||
- generic [ref=e739]:
|
||||
- paragraph [ref=e740]: source.mp4
|
||||
- generic [ref=e741]: 3 languages, MP3 audio
|
||||
- generic [ref=e742]:
|
||||
- paragraph [ref=e743]: "Completed: 4/30/2026"
|
||||
- paragraph [ref=e744]: "Created: 4/30/2026"
|
||||
- generic [ref=e745]:
|
||||
- generic [ref=e746]:
|
||||
- paragraph [ref=e747]: de-DE, fr-CA
|
||||
- paragraph [ref=e748]: Ready for download
|
||||
- img [ref=e750]
|
||||
83
.playwright-mcp/page-2026-05-01T12-51-04-136Z.yml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]
|
||||
951
.playwright-mcp/page-2026-05-01T12-51-25-871Z.yml
Normal file
|
|
@ -0,0 +1,951 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e86]:
|
||||
- generic [ref=e87]:
|
||||
- generic [ref=e91]:
|
||||
- heading "test-video" [level=1] [ref=e92]
|
||||
- button "Rename" [ref=e93]:
|
||||
- img [ref=e94]
|
||||
- generic [ref=e96]:
|
||||
- generic [ref=e97]: QC Feedback
|
||||
- generic [ref=e98]: "Source: 69f49ed8694cf102e622687f/source.mp4"
|
||||
- generic [ref=e99]: "Language: EN"
|
||||
- generic [ref=e100]: "Duration: 68s"
|
||||
- generic [ref=e88]:
|
||||
- button "↗ Share link" [ref=e101]
|
||||
- button "← Back to Queue" [ref=e102]
|
||||
- generic [ref=e103]:
|
||||
- generic [ref=e105]:
|
||||
- generic [ref=e106]: Languages
|
||||
- generic [ref=e107]: 1/1 approved— all done ✓
|
||||
- generic [ref=e109]:
|
||||
- button "✓ EN (source) Approved ▲" [ref=e110]:
|
||||
- generic [ref=e111]:
|
||||
- generic [ref=e112]: ✓
|
||||
- generic [ref=e113]: EN
|
||||
- generic [ref=e114]: (source)
|
||||
- generic [ref=e115]: Approved
|
||||
- generic [ref=e116]: ▲
|
||||
- generic [ref=e117]:
|
||||
- generic [ref=e118]:
|
||||
- generic [ref=e119]:
|
||||
- generic [ref=e120]: Linguist
|
||||
- generic [ref=e121]: Unassigned
|
||||
- button "Assign linguist" [active] [ref=e122]
|
||||
- generic [ref=e123]:
|
||||
- generic [ref=e124]: Reviewer
|
||||
- generic [ref=e125]: Unassigned
|
||||
- button "Assign reviewer" [ref=e126]
|
||||
- generic [ref=e127]:
|
||||
- button "✕ Request changes" [ref=e128]
|
||||
- button "Reopen" [ref=e129]
|
||||
- button "💬 Comments (0)" [ref=e131]
|
||||
- generic [ref=e1074]:
|
||||
- heading "Assign linguist — EN" [level=3] [ref=e1075]
|
||||
- generic [ref=e1076]:
|
||||
- generic [ref=e1077]: Linguist
|
||||
- combobox [ref=e1078]:
|
||||
- option "Select linguist…" [selected]
|
||||
- option "Test Linguist (test-linguist@oliver.agency)"
|
||||
- generic [ref=e1079]:
|
||||
- generic [ref=e1080]: Deadline (optional)
|
||||
- textbox [ref=e1081]
|
||||
- generic [ref=e1082]:
|
||||
- button "Cancel" [ref=e1083]
|
||||
- button "Assign" [disabled] [ref=e1084]
|
||||
- generic [ref=e132]:
|
||||
- generic [ref=e133]:
|
||||
- generic [ref=e134]: "View Mode:"
|
||||
- generic [ref=e135]:
|
||||
- button "Side by Side (1)" [ref=e136]
|
||||
- button "Video Only (2)" [ref=e137]
|
||||
- button "Editor Only (3)" [ref=e138]
|
||||
- generic [ref=e139]: "Shortcuts: A=Approve, R=Reject"
|
||||
- generic [ref=e141]:
|
||||
- heading "Video Preview" [level=3] [ref=e143]
|
||||
- generic [ref=e144]:
|
||||
- generic [ref=e145]:
|
||||
- generic [ref=e146]: Your browser does not support the video tag.
|
||||
- generic [ref=e148]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- generic [ref=e149]:
|
||||
- generic [ref=e150]:
|
||||
- checkbox "Show Captions" [checked] [ref=e151]
|
||||
- generic [ref=e152]: Show Captions
|
||||
- generic [ref=e153]: "Time: 0:00"
|
||||
- generic [ref=e154]:
|
||||
- heading "Caption Timeline (English)" [level=4] [ref=e155]
|
||||
- generic [ref=e156]:
|
||||
- generic [ref=e157] [cursor=pointer]:
|
||||
- generic [ref=e158]:
|
||||
- generic [ref=e159]: 0:00 → 0:05
|
||||
- button "Jump" [ref=e160]
|
||||
- generic [ref=e161]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- generic [ref=e162] [cursor=pointer]:
|
||||
- generic [ref=e163]:
|
||||
- generic [ref=e164]: 0:06 → 0:10
|
||||
- button "Jump" [ref=e165]
|
||||
- generic [ref=e166]: With more than 50 years of experience working in the field on energy projects,
|
||||
- generic [ref=e167] [cursor=pointer]:
|
||||
- generic [ref=e168]:
|
||||
- generic [ref=e169]: 0:10 → 0:13
|
||||
- button "Jump" [ref=e170]
|
||||
- generic [ref=e171]: 3M has your solution to help you make your work more reliable, easier,
|
||||
- generic [ref=e172] [cursor=pointer]:
|
||||
- generic [ref=e173]:
|
||||
- generic [ref=e174]: 0:13 → 0:16
|
||||
- button "Jump" [ref=e175]
|
||||
- generic [ref=e176]: and faster for solar energy projects,
|
||||
- generic [ref=e177] [cursor=pointer]:
|
||||
- generic [ref=e178]:
|
||||
- generic [ref=e179]: 0:16 → 0:18
|
||||
- button "Jump" [ref=e180]
|
||||
- generic [ref=e181]: wind energy projects,
|
||||
- generic [ref=e182] [cursor=pointer]:
|
||||
- generic [ref=e183]:
|
||||
- generic [ref=e184]: 0:18 → 0:21
|
||||
- button "Jump" [ref=e185]
|
||||
- generic [ref=e186]: and battery energy storage systems.
|
||||
- generic [ref=e187] [cursor=pointer]:
|
||||
- generic [ref=e188]:
|
||||
- generic [ref=e189]: 0:21 → 0:25
|
||||
- button "Jump" [ref=e190]
|
||||
- generic [ref=e191]: We can help you solve your electrical installation challenges.
|
||||
- generic [ref=e192] [cursor=pointer]:
|
||||
- generic [ref=e193]:
|
||||
- generic [ref=e194]: 0:25 → 0:28
|
||||
- button "Jump" [ref=e195]
|
||||
- generic [ref=e196]: 3M provides advanced technology solutions
|
||||
- generic [ref=e197] [cursor=pointer]:
|
||||
- generic [ref=e198]:
|
||||
- generic [ref=e199]: 0:28 → 0:32
|
||||
- button "Jump" [ref=e200]
|
||||
- generic [ref=e201]: in insulating, connecting, and terminating medium and high voltage cables.
|
||||
- generic [ref=e202] [cursor=pointer]:
|
||||
- generic [ref=e203]:
|
||||
- generic [ref=e204]: 0:32 → 0:35
|
||||
- button "Jump" [ref=e205]
|
||||
- generic [ref=e206]: Our engineers can help with your projects
|
||||
- generic [ref=e207] [cursor=pointer]:
|
||||
- generic [ref=e208]:
|
||||
- generic [ref=e209]: 0:35 → 0:37
|
||||
- button "Jump" [ref=e210]
|
||||
- generic [ref=e211]: and recommend customized product kits
|
||||
- generic [ref=e212] [cursor=pointer]:
|
||||
- generic [ref=e213]:
|
||||
- generic [ref=e214]: 0:37 → 0:40
|
||||
- button "Jump" [ref=e215]
|
||||
- generic [ref=e216]: so you get exactly what you need for reliable product performance.
|
||||
- generic [ref=e217] [cursor=pointer]:
|
||||
- generic [ref=e218]:
|
||||
- generic [ref=e219]: 0:40 → 0:44
|
||||
- button "Jump" [ref=e220]
|
||||
- generic [ref=e221]: We work closely with you, so you get the support you need.
|
||||
- generic [ref=e222] [cursor=pointer]:
|
||||
- generic [ref=e223]:
|
||||
- generic [ref=e224]: 0:45 → 0:48
|
||||
- button "Jump" [ref=e225]
|
||||
- generic [ref=e226]: Your work, combined with our solutions,
|
||||
- generic [ref=e227] [cursor=pointer]:
|
||||
- generic [ref=e228]:
|
||||
- generic [ref=e229]: 0:50 → 0:52
|
||||
- button "Jump" [ref=e230]
|
||||
- generic [ref=e231]: can help avoid costly downtime
|
||||
- generic [ref=e232] [cursor=pointer]:
|
||||
- generic [ref=e233]:
|
||||
- generic [ref=e234]: 0:52 → 0:55
|
||||
- button "Jump" [ref=e235]
|
||||
- generic [ref=e236]: and keep your renewable systems up and running smoothly.
|
||||
- generic [ref=e237] [cursor=pointer]:
|
||||
- generic [ref=e238]:
|
||||
- generic [ref=e239]: 0:56 → 0:59
|
||||
- button "Jump" [ref=e240]
|
||||
- generic [ref=e241]: Wherever the job takes you, we have your solution.
|
||||
- generic [ref=e242] [cursor=pointer]:
|
||||
- generic [ref=e243]:
|
||||
- generic [ref=e244]: 1:01 → 1:04
|
||||
- button "Jump" [ref=e245]
|
||||
- generic [ref=e246]: 3M. Science. Applied to Life.
|
||||
- generic [ref=e247]:
|
||||
- generic [ref=e248]:
|
||||
- generic [ref=e249]:
|
||||
- generic [ref=e250]: Closed Captions (EN)
|
||||
- button "Upload .vtt" [ref=e251]
|
||||
- generic [ref=e252]:
|
||||
- heading "Closed Captions (EN)" [level=3] [ref=e255]
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]:
|
||||
- generic [ref=e259]:
|
||||
- generic [ref=e260]:
|
||||
- generic [ref=e261]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e262]': 00:00:00.000
|
||||
- generic [ref=e263]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e264]': 00:00:05.500
|
||||
- generic [ref=e265]: (5500ms)
|
||||
- generic [ref=e266]:
|
||||
- button "Insert cue before" [ref=e267]:
|
||||
- img [ref=e268]
|
||||
- button "Insert cue after" [ref=e270]:
|
||||
- img [ref=e271]
|
||||
- button "Delete cue" [ref=e273]:
|
||||
- img [ref=e274]
|
||||
- generic [ref=e276]:
|
||||
- generic [ref=e277]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- button "Edit text" [ref=e278]
|
||||
- generic [ref=e279]:
|
||||
- generic [ref=e280]:
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e283]': 00:00:06.000
|
||||
- generic [ref=e284]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e285]': 00:00:10.000
|
||||
- generic [ref=e286]: (4000ms)
|
||||
- generic [ref=e287]:
|
||||
- button "Insert cue before" [ref=e288]:
|
||||
- img [ref=e289]
|
||||
- button "Insert cue after" [ref=e291]:
|
||||
- img [ref=e292]
|
||||
- button "Delete cue" [ref=e294]:
|
||||
- img [ref=e295]
|
||||
- generic [ref=e297]:
|
||||
- generic [ref=e298]: With more than 50 years of experience working in the field on energy projects,
|
||||
- button "Edit text" [ref=e299]
|
||||
- generic [ref=e300]:
|
||||
- generic [ref=e301]:
|
||||
- generic [ref=e302]:
|
||||
- generic [ref=e303]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e304]': 00:00:10.000
|
||||
- generic [ref=e305]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e306]': 00:00:13.500
|
||||
- generic [ref=e307]: (3500ms)
|
||||
- generic [ref=e308]:
|
||||
- button "Insert cue before" [ref=e309]:
|
||||
- img [ref=e310]
|
||||
- button "Insert cue after" [ref=e312]:
|
||||
- img [ref=e313]
|
||||
- button "Delete cue" [ref=e315]:
|
||||
- img [ref=e316]
|
||||
- generic [ref=e318]:
|
||||
- generic [ref=e319]: 3M has your solution to help you make your work more reliable, easier,
|
||||
- button "Edit text" [ref=e320]
|
||||
- generic [ref=e321]:
|
||||
- generic [ref=e322]:
|
||||
- generic [ref=e323]:
|
||||
- generic [ref=e324]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e325]': 00:00:13.500
|
||||
- generic [ref=e326]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e327]': 00:00:16.000
|
||||
- generic [ref=e328]: (2500ms)
|
||||
- generic [ref=e329]:
|
||||
- button "Insert cue before" [ref=e330]:
|
||||
- img [ref=e331]
|
||||
- button "Insert cue after" [ref=e333]:
|
||||
- img [ref=e334]
|
||||
- button "Delete cue" [ref=e336]:
|
||||
- img [ref=e337]
|
||||
- generic [ref=e339]:
|
||||
- generic [ref=e340]: and faster for solar energy projects,
|
||||
- button "Edit text" [ref=e341]
|
||||
- generic [ref=e342]:
|
||||
- generic [ref=e343]:
|
||||
- generic [ref=e344]:
|
||||
- generic [ref=e345]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e346]': 00:00:16.000
|
||||
- generic [ref=e347]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e348]': 00:00:18.500
|
||||
- generic [ref=e349]: (2500ms)
|
||||
- generic [ref=e350]:
|
||||
- button "Insert cue before" [ref=e351]:
|
||||
- img [ref=e352]
|
||||
- button "Insert cue after" [ref=e354]:
|
||||
- img [ref=e355]
|
||||
- button "Delete cue" [ref=e357]:
|
||||
- img [ref=e358]
|
||||
- generic [ref=e360]:
|
||||
- generic [ref=e361]: wind energy projects,
|
||||
- button "Edit text" [ref=e362]
|
||||
- generic [ref=e363]:
|
||||
- generic [ref=e364]:
|
||||
- generic [ref=e365]:
|
||||
- generic [ref=e366]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e367]': 00:00:18.500
|
||||
- generic [ref=e368]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e369]': 00:00:21.500
|
||||
- generic [ref=e370]: (3000ms)
|
||||
- generic [ref=e371]:
|
||||
- button "Insert cue before" [ref=e372]:
|
||||
- img [ref=e373]
|
||||
- button "Insert cue after" [ref=e375]:
|
||||
- img [ref=e376]
|
||||
- button "Delete cue" [ref=e378]:
|
||||
- img [ref=e379]
|
||||
- generic [ref=e381]:
|
||||
- generic [ref=e382]: and battery energy storage systems.
|
||||
- button "Edit text" [ref=e383]
|
||||
- generic [ref=e384]:
|
||||
- generic [ref=e385]:
|
||||
- generic [ref=e386]:
|
||||
- generic [ref=e387]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e388]': 00:00:21.500
|
||||
- generic [ref=e389]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e390]': 00:00:25.000
|
||||
- generic [ref=e391]: (3500ms)
|
||||
- generic [ref=e392]:
|
||||
- button "Insert cue before" [ref=e393]:
|
||||
- img [ref=e394]
|
||||
- button "Insert cue after" [ref=e396]:
|
||||
- img [ref=e397]
|
||||
- button "Delete cue" [ref=e399]:
|
||||
- img [ref=e400]
|
||||
- generic [ref=e402]:
|
||||
- generic [ref=e403]: We can help you solve your electrical installation challenges.
|
||||
- button "Edit text" [ref=e404]
|
||||
- generic [ref=e405]:
|
||||
- generic [ref=e406]:
|
||||
- generic [ref=e407]:
|
||||
- generic [ref=e408]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e409]': 00:00:25.000
|
||||
- generic [ref=e410]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e411]': 00:00:28.000
|
||||
- generic [ref=e412]: (3000ms)
|
||||
- generic [ref=e413]:
|
||||
- button "Insert cue before" [ref=e414]:
|
||||
- img [ref=e415]
|
||||
- button "Insert cue after" [ref=e417]:
|
||||
- img [ref=e418]
|
||||
- button "Delete cue" [ref=e420]:
|
||||
- img [ref=e421]
|
||||
- generic [ref=e423]:
|
||||
- generic [ref=e424]: 3M provides advanced technology solutions
|
||||
- button "Edit text" [ref=e425]
|
||||
- generic [ref=e426]:
|
||||
- generic [ref=e427]:
|
||||
- generic [ref=e428]:
|
||||
- generic [ref=e429]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e430]': 00:00:28.000
|
||||
- generic [ref=e431]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e432]': 00:00:32.000
|
||||
- generic [ref=e433]: (4000ms)
|
||||
- generic [ref=e434]:
|
||||
- button "Insert cue before" [ref=e435]:
|
||||
- img [ref=e436]
|
||||
- button "Insert cue after" [ref=e438]:
|
||||
- img [ref=e439]
|
||||
- button "Delete cue" [ref=e441]:
|
||||
- img [ref=e442]
|
||||
- generic [ref=e444]:
|
||||
- generic [ref=e445]: in insulating, connecting, and terminating medium and high voltage cables.
|
||||
- button "Edit text" [ref=e446]
|
||||
- generic [ref=e447]:
|
||||
- generic [ref=e448]:
|
||||
- generic [ref=e449]:
|
||||
- generic [ref=e450]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e451]': 00:00:32.000
|
||||
- generic [ref=e452]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e453]': 00:00:35.000
|
||||
- generic [ref=e454]: (3000ms)
|
||||
- generic [ref=e455]:
|
||||
- button "Insert cue before" [ref=e456]:
|
||||
- img [ref=e457]
|
||||
- button "Insert cue after" [ref=e459]:
|
||||
- img [ref=e460]
|
||||
- button "Delete cue" [ref=e462]:
|
||||
- img [ref=e463]
|
||||
- generic [ref=e465]:
|
||||
- generic [ref=e466]: Our engineers can help with your projects
|
||||
- button "Edit text" [ref=e467]
|
||||
- generic [ref=e468]:
|
||||
- generic [ref=e469]:
|
||||
- generic [ref=e470]:
|
||||
- generic [ref=e471]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e472]': 00:00:35.000
|
||||
- generic [ref=e473]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e474]': 00:00:37.500
|
||||
- generic [ref=e475]: (2500ms)
|
||||
- generic [ref=e476]:
|
||||
- button "Insert cue before" [ref=e477]:
|
||||
- img [ref=e478]
|
||||
- button "Insert cue after" [ref=e480]:
|
||||
- img [ref=e481]
|
||||
- button "Delete cue" [ref=e483]:
|
||||
- img [ref=e484]
|
||||
- generic [ref=e486]:
|
||||
- generic [ref=e487]: and recommend customized product kits
|
||||
- button "Edit text" [ref=e488]
|
||||
- generic [ref=e489]:
|
||||
- generic [ref=e490]:
|
||||
- generic [ref=e491]:
|
||||
- generic [ref=e492]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e493]': 00:00:37.500
|
||||
- generic [ref=e494]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e495]': 00:00:40.500
|
||||
- generic [ref=e496]: (3000ms)
|
||||
- generic [ref=e497]:
|
||||
- button "Insert cue before" [ref=e498]:
|
||||
- img [ref=e499]
|
||||
- button "Insert cue after" [ref=e501]:
|
||||
- img [ref=e502]
|
||||
- button "Delete cue" [ref=e504]:
|
||||
- img [ref=e505]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e508]: ⚡ 22 CPS
|
||||
- generic [ref=e509]:
|
||||
- generic [ref=e510]: so you get exactly what you need for reliable product performance.
|
||||
- button "Edit text" [ref=e511]
|
||||
- generic [ref=e512]:
|
||||
- generic [ref=e513]:
|
||||
- generic [ref=e514]:
|
||||
- generic [ref=e515]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e516]': 00:00:40.500
|
||||
- generic [ref=e517]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e518]': 00:00:44.500
|
||||
- generic [ref=e519]: (4000ms)
|
||||
- generic [ref=e520]:
|
||||
- button "Insert cue before" [ref=e521]:
|
||||
- img [ref=e522]
|
||||
- button "Insert cue after" [ref=e524]:
|
||||
- img [ref=e525]
|
||||
- button "Delete cue" [ref=e527]:
|
||||
- img [ref=e528]
|
||||
- generic [ref=e530]:
|
||||
- generic [ref=e531]: We work closely with you, so you get the support you need.
|
||||
- button "Edit text" [ref=e532]
|
||||
- generic [ref=e533]:
|
||||
- generic [ref=e534]:
|
||||
- generic [ref=e535]:
|
||||
- generic [ref=e536]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e537]': 00:00:45.000
|
||||
- generic [ref=e538]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e539]': 00:00:48.500
|
||||
- generic [ref=e540]: (3500ms)
|
||||
- generic [ref=e541]:
|
||||
- button "Insert cue before" [ref=e542]:
|
||||
- img [ref=e543]
|
||||
- button "Insert cue after" [ref=e545]:
|
||||
- img [ref=e546]
|
||||
- button "Delete cue" [ref=e548]:
|
||||
- img [ref=e549]
|
||||
- generic [ref=e551]:
|
||||
- generic [ref=e552]: Your work, combined with our solutions,
|
||||
- button "Edit text" [ref=e553]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e554] [cursor=pointer]:
|
||||
- generic [ref=e555]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e556]:
|
||||
- generic [ref=e557]:
|
||||
- generic [ref=e558]:
|
||||
- generic [ref=e559]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e560]': 00:00:50.000
|
||||
- generic [ref=e561]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e562]': 00:00:52.000
|
||||
- generic [ref=e563]: (2000ms)
|
||||
- generic [ref=e564]:
|
||||
- button "Insert cue before" [ref=e565]:
|
||||
- img [ref=e566]
|
||||
- button "Insert cue after" [ref=e568]:
|
||||
- img [ref=e569]
|
||||
- button "Delete cue" [ref=e571]:
|
||||
- img [ref=e572]
|
||||
- generic [ref=e574]:
|
||||
- generic [ref=e575]: can help avoid costly downtime
|
||||
- button "Edit text" [ref=e576]
|
||||
- generic [ref=e577]:
|
||||
- generic [ref=e578]:
|
||||
- generic [ref=e579]:
|
||||
- generic [ref=e580]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e581]': 00:00:52.000
|
||||
- generic [ref=e582]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e583]': 00:00:55.500
|
||||
- generic [ref=e584]: (3500ms)
|
||||
- generic [ref=e585]:
|
||||
- button "Insert cue before" [ref=e586]:
|
||||
- img [ref=e587]
|
||||
- button "Insert cue after" [ref=e589]:
|
||||
- img [ref=e590]
|
||||
- button "Delete cue" [ref=e592]:
|
||||
- img [ref=e593]
|
||||
- generic [ref=e595]:
|
||||
- generic [ref=e596]: and keep your renewable systems up and running smoothly.
|
||||
- button "Edit text" [ref=e597]
|
||||
- generic "Insert cue in this gap (1.0s gap)" [ref=e598] [cursor=pointer]:
|
||||
- generic [ref=e599]: + Add cue here · 1.0s gap
|
||||
- generic [ref=e600]:
|
||||
- generic [ref=e601]:
|
||||
- generic [ref=e602]:
|
||||
- generic [ref=e603]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e604]': 00:00:56.500
|
||||
- generic [ref=e605]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e606]': 00:00:59.500
|
||||
- generic [ref=e607]: (3000ms)
|
||||
- generic [ref=e608]:
|
||||
- button "Insert cue before" [ref=e609]:
|
||||
- img [ref=e610]
|
||||
- button "Insert cue after" [ref=e612]:
|
||||
- img [ref=e613]
|
||||
- button "Delete cue" [ref=e615]:
|
||||
- img [ref=e616]
|
||||
- generic [ref=e618]:
|
||||
- generic [ref=e619]: Wherever the job takes you, we have your solution.
|
||||
- button "Edit text" [ref=e620]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e621] [cursor=pointer]:
|
||||
- generic [ref=e622]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e623]:
|
||||
- generic [ref=e624]:
|
||||
- generic [ref=e625]:
|
||||
- generic [ref=e626]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e627]': 00:01:01.000
|
||||
- generic [ref=e628]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e629]': 00:01:04.000
|
||||
- generic [ref=e630]: (3000ms)
|
||||
- generic [ref=e631]:
|
||||
- button "Insert cue before" [ref=e632]:
|
||||
- img [ref=e633]
|
||||
- button "Insert cue after" [ref=e635]:
|
||||
- img [ref=e636]
|
||||
- button "Delete cue" [ref=e638]:
|
||||
- img [ref=e639]
|
||||
- generic [ref=e641]:
|
||||
- generic [ref=e642]: 3M. Science. Applied to Life.
|
||||
- button "Edit text" [ref=e643]
|
||||
- generic [ref=e644]: "18 cues • Total duration: 1:04.000"
|
||||
- button "↔ Diff vs AI baseline" [ref=e646]
|
||||
- generic [ref=e647]:
|
||||
- generic [ref=e648]:
|
||||
- generic [ref=e649]: Audio Description (EN)
|
||||
- button "Upload .vtt" [ref=e650]
|
||||
- generic [ref=e651]:
|
||||
- heading "Audio Description (EN)" [level=3] [ref=e654]
|
||||
- generic [ref=e656]:
|
||||
- generic [ref=e657]:
|
||||
- generic [ref=e658]:
|
||||
- generic [ref=e659]:
|
||||
- generic [ref=e660]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e661]': 00:00:00.000
|
||||
- generic [ref=e662]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e663]': 00:00:05.500
|
||||
- generic [ref=e664]: (5500ms)
|
||||
- generic [ref=e665]:
|
||||
- button "Insert cue before" [ref=e666]:
|
||||
- img [ref=e667]
|
||||
- button "Insert cue after" [ref=e669]:
|
||||
- img [ref=e670]
|
||||
- button "Delete cue" [ref=e672]:
|
||||
- img [ref=e673]
|
||||
- generic [ref=e675]:
|
||||
- generic [ref=e676]: "An aerial view of a massive solar panel farm. Text on screen reads: 3M Science. Applied to Life."
|
||||
- button "Edit text" [ref=e677]
|
||||
- generic [ref=e678]:
|
||||
- generic [ref=e679]:
|
||||
- generic [ref=e680]:
|
||||
- generic [ref=e681]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e682]': 00:00:06.000
|
||||
- generic [ref=e683]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e684]': 00:00:10.000
|
||||
- generic [ref=e685]: (4000ms)
|
||||
- generic [ref=e686]:
|
||||
- button "Insert cue before" [ref=e687]:
|
||||
- img [ref=e688]
|
||||
- button "Insert cue after" [ref=e690]:
|
||||
- img [ref=e691]
|
||||
- button "Delete cue" [ref=e693]:
|
||||
- img [ref=e694]
|
||||
- generic [ref=e696]:
|
||||
- generic [ref=e697]: Three workers in hard hats stand near solar panels.
|
||||
- button "Edit text" [ref=e698]
|
||||
- generic [ref=e699]:
|
||||
- generic [ref=e700]:
|
||||
- generic [ref=e701]:
|
||||
- generic [ref=e702]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e703]': 00:00:10.000
|
||||
- generic [ref=e704]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e705]': 00:00:13.500
|
||||
- generic [ref=e706]: (3500ms)
|
||||
- generic [ref=e707]:
|
||||
- button "Insert cue before" [ref=e708]:
|
||||
- img [ref=e709]
|
||||
- button "Insert cue after" [ref=e711]:
|
||||
- img [ref=e712]
|
||||
- button "Delete cue" [ref=e714]:
|
||||
- img [ref=e715]
|
||||
- generic [ref=e717]:
|
||||
- generic [ref=e718]: A gloved hand inserts a metal rod into a grey rubber sleeve.
|
||||
- button "Edit text" [ref=e719]
|
||||
- generic [ref=e720]:
|
||||
- generic [ref=e721]:
|
||||
- generic [ref=e722]:
|
||||
- generic [ref=e723]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e724]': 00:00:13.500
|
||||
- generic [ref=e725]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e726]': 00:00:16.000
|
||||
- generic [ref=e727]: (2500ms)
|
||||
- generic [ref=e728]:
|
||||
- button "Insert cue before" [ref=e729]:
|
||||
- img [ref=e730]
|
||||
- button "Insert cue after" [ref=e732]:
|
||||
- img [ref=e733]
|
||||
- button "Delete cue" [ref=e735]:
|
||||
- img [ref=e736]
|
||||
- generic [ref=e738]:
|
||||
- generic [ref=e739]: Three workers walk past solar panels.
|
||||
- button "Edit text" [ref=e740]
|
||||
- generic [ref=e741]:
|
||||
- generic [ref=e742]:
|
||||
- generic [ref=e743]:
|
||||
- generic [ref=e744]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e745]': 00:00:16.000
|
||||
- generic [ref=e746]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e747]': 00:00:18.500
|
||||
- generic [ref=e748]: (2500ms)
|
||||
- generic [ref=e749]:
|
||||
- button "Insert cue before" [ref=e750]:
|
||||
- img [ref=e751]
|
||||
- button "Insert cue after" [ref=e753]:
|
||||
- img [ref=e754]
|
||||
- button "Delete cue" [ref=e756]:
|
||||
- img [ref=e757]
|
||||
- generic [ref=e759]:
|
||||
- generic [ref=e760]: Wind turbines stand in the ocean at sunset.
|
||||
- button "Edit text" [ref=e761]
|
||||
- generic [ref=e762]:
|
||||
- generic [ref=e763]:
|
||||
- generic [ref=e764]:
|
||||
- generic [ref=e765]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e766]': 00:00:18.500
|
||||
- generic [ref=e767]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e768]': 00:00:21.500
|
||||
- generic [ref=e769]: (3000ms)
|
||||
- generic [ref=e770]:
|
||||
- button "Insert cue before" [ref=e771]:
|
||||
- img [ref=e772]
|
||||
- button "Insert cue after" [ref=e774]:
|
||||
- img [ref=e775]
|
||||
- button "Delete cue" [ref=e777]:
|
||||
- img [ref=e778]
|
||||
- generic [ref=e780]:
|
||||
- generic [ref=e781]: Rows of white battery storage units at an industrial site.
|
||||
- button "Edit text" [ref=e782]
|
||||
- generic [ref=e783]:
|
||||
- generic [ref=e784]:
|
||||
- generic [ref=e785]:
|
||||
- generic [ref=e786]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e787]': 00:00:21.500
|
||||
- generic [ref=e788]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e789]': 00:00:25.000
|
||||
- generic [ref=e790]: (3500ms)
|
||||
- generic [ref=e791]:
|
||||
- button "Insert cue before" [ref=e792]:
|
||||
- img [ref=e793]
|
||||
- button "Insert cue after" [ref=e795]:
|
||||
- img [ref=e796]
|
||||
- button "Delete cue" [ref=e798]:
|
||||
- img [ref=e799]
|
||||
- generic [ref=e801]:
|
||||
- generic [ref=e802]: Two workers look up at the underside of a solar panel.
|
||||
- button "Edit text" [ref=e803]
|
||||
- generic [ref=e804]:
|
||||
- generic [ref=e805]:
|
||||
- generic [ref=e806]:
|
||||
- generic [ref=e807]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e808]': 00:00:25.000
|
||||
- generic [ref=e809]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e810]': 00:00:28.000
|
||||
- generic [ref=e811]: (3000ms)
|
||||
- generic [ref=e812]:
|
||||
- button "Insert cue before" [ref=e813]:
|
||||
- img [ref=e814]
|
||||
- button "Insert cue after" [ref=e816]:
|
||||
- img [ref=e817]
|
||||
- button "Delete cue" [ref=e819]:
|
||||
- img [ref=e820]
|
||||
- generic [ref=e822]:
|
||||
- generic [ref=e823]: Workers install cables in a trench.
|
||||
- button "Edit text" [ref=e824]
|
||||
- generic [ref=e825]:
|
||||
- generic [ref=e826]:
|
||||
- generic [ref=e827]:
|
||||
- generic [ref=e828]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e829]': 00:00:28.000
|
||||
- generic [ref=e830]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e831]': 00:00:32.000
|
||||
- generic [ref=e832]: (4000ms)
|
||||
- generic [ref=e833]:
|
||||
- button "Insert cue before" [ref=e834]:
|
||||
- img [ref=e835]
|
||||
- button "Insert cue after" [ref=e837]:
|
||||
- img [ref=e838]
|
||||
- button "Delete cue" [ref=e840]:
|
||||
- img [ref=e841]
|
||||
- generic [ref=e843]:
|
||||
- generic [ref=e844]: A worker wipes a thick black cable with a cloth.
|
||||
- button "Edit text" [ref=e845]
|
||||
- generic [ref=e846]:
|
||||
- generic [ref=e847]:
|
||||
- generic [ref=e848]:
|
||||
- generic [ref=e849]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e850]': 00:00:32.000
|
||||
- generic [ref=e851]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e852]': 00:00:35.000
|
||||
- generic [ref=e853]: (3000ms)
|
||||
- generic [ref=e854]:
|
||||
- button "Insert cue before" [ref=e855]:
|
||||
- img [ref=e856]
|
||||
- button "Insert cue after" [ref=e858]:
|
||||
- img [ref=e859]
|
||||
- button "Delete cue" [ref=e861]:
|
||||
- img [ref=e862]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e865]: ⚡ 22 CPS
|
||||
- generic [ref=e866]:
|
||||
- generic [ref=e867]: "A worker stands next to a cardboard box. Text on screen reads: 3M."
|
||||
- button "Edit text" [ref=e868]
|
||||
- generic [ref=e869]:
|
||||
- generic [ref=e870]:
|
||||
- generic [ref=e871]:
|
||||
- generic [ref=e872]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e873]': 00:00:35.000
|
||||
- generic [ref=e874]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e875]': 00:00:40.500
|
||||
- generic [ref=e876]: (5500ms)
|
||||
- generic [ref=e877]:
|
||||
- button "Insert cue before" [ref=e878]:
|
||||
- img [ref=e879]
|
||||
- button "Insert cue after" [ref=e881]:
|
||||
- img [ref=e882]
|
||||
- button "Delete cue" [ref=e884]:
|
||||
- img [ref=e885]
|
||||
- generic [ref=e887]:
|
||||
- generic [ref=e888]: A worker pulls a product from a 3M box. Another holds a document with diagrams.
|
||||
- button "Edit text" [ref=e889]
|
||||
- generic [ref=e890]:
|
||||
- generic [ref=e891]:
|
||||
- generic [ref=e892]:
|
||||
- generic [ref=e893]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e894]': 00:00:40.500
|
||||
- generic [ref=e895]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e896]': 00:00:44.500
|
||||
- generic [ref=e897]: (4000ms)
|
||||
- generic [ref=e898]:
|
||||
- button "Insert cue before" [ref=e899]:
|
||||
- img [ref=e900]
|
||||
- button "Insert cue after" [ref=e902]:
|
||||
- img [ref=e903]
|
||||
- button "Delete cue" [ref=e905]:
|
||||
- img [ref=e906]
|
||||
- generic [ref=e908]:
|
||||
- generic [ref=e909]: Two workers examine a cable component.
|
||||
- button "Edit text" [ref=e910]
|
||||
- generic [ref=e911]:
|
||||
- generic [ref=e912]:
|
||||
- generic [ref=e913]:
|
||||
- generic [ref=e914]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e915]': 00:00:44.500
|
||||
- generic [ref=e916]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e917]': 00:00:48.500
|
||||
- generic [ref=e918]: (4000ms)
|
||||
- generic [ref=e919]:
|
||||
- button "Insert cue before" [ref=e920]:
|
||||
- img [ref=e921]
|
||||
- button "Insert cue after" [ref=e923]:
|
||||
- img [ref=e924]
|
||||
- button "Delete cue" [ref=e926]:
|
||||
- img [ref=e927]
|
||||
- generic [ref=e929]:
|
||||
- generic [ref=e930]: A worker pulls a plastic core from a rubber sleeve on a cable.
|
||||
- button "Edit text" [ref=e931]
|
||||
- generic [ref=e932]:
|
||||
- generic [ref=e933]:
|
||||
- generic [ref=e934]:
|
||||
- generic [ref=e935]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e936]': 00:00:48.500
|
||||
- generic [ref=e937]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e938]': 00:00:51.500
|
||||
- generic [ref=e939]: (3000ms)
|
||||
- generic [ref=e940]:
|
||||
- button "Insert cue before" [ref=e941]:
|
||||
- img [ref=e942]
|
||||
- button "Insert cue after" [ref=e944]:
|
||||
- img [ref=e945]
|
||||
- button "Delete cue" [ref=e947]:
|
||||
- img [ref=e948]
|
||||
- generic [ref=e950]:
|
||||
- generic [ref=e951]: A worker inserts a black plug into a yellow socket.
|
||||
- button "Edit text" [ref=e952]
|
||||
- generic [ref=e953]:
|
||||
- generic [ref=e954]:
|
||||
- generic [ref=e955]:
|
||||
- generic [ref=e956]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e957]': 00:00:51.500
|
||||
- generic [ref=e958]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e959]': 00:00:55.500
|
||||
- generic [ref=e960]: (4000ms)
|
||||
- generic [ref=e961]:
|
||||
- button "Insert cue before" [ref=e962]:
|
||||
- img [ref=e963]
|
||||
- button "Insert cue after" [ref=e965]:
|
||||
- img [ref=e966]
|
||||
- button "Delete cue" [ref=e968]:
|
||||
- img [ref=e969]
|
||||
- generic [ref=e971]:
|
||||
- generic [ref=e972]: Two workers use a power tool on a cable connection.
|
||||
- button "Edit text" [ref=e973]
|
||||
- generic [ref=e974]:
|
||||
- generic [ref=e975]:
|
||||
- generic [ref=e976]:
|
||||
- generic [ref=e977]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e978]': 00:00:55.500
|
||||
- generic [ref=e979]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e980]': 00:01:00.000
|
||||
- generic [ref=e981]: (4500ms)
|
||||
- generic [ref=e982]:
|
||||
- button "Insert cue before" [ref=e983]:
|
||||
- img [ref=e984]
|
||||
- button "Insert cue after" [ref=e986]:
|
||||
- img [ref=e987]
|
||||
- button "Delete cue" [ref=e989]:
|
||||
- img [ref=e990]
|
||||
- generic [ref=e992]:
|
||||
- generic [ref=e993]: The spoken words appear as text on a black background.
|
||||
- button "Edit text" [ref=e994]
|
||||
- generic [ref=e995]:
|
||||
- generic [ref=e996]:
|
||||
- generic [ref=e997]:
|
||||
- generic [ref=e998]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e999]': 00:01:00.000
|
||||
- generic [ref=e1000]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1001]': 00:01:04.000
|
||||
- generic [ref=e1002]: (4000ms)
|
||||
- generic [ref=e1003]:
|
||||
- button "Insert cue before" [ref=e1004]:
|
||||
- img [ref=e1005]
|
||||
- button "Insert cue after" [ref=e1007]:
|
||||
- img [ref=e1008]
|
||||
- button "Delete cue" [ref=e1010]:
|
||||
- img [ref=e1011]
|
||||
- generic [ref=e1013]:
|
||||
- generic [ref=e1014]: "Text on screen reads: 3M Science. Applied to Life."
|
||||
- button "Edit text" [ref=e1015]
|
||||
- generic [ref=e1016]:
|
||||
- generic [ref=e1017]:
|
||||
- generic [ref=e1018]:
|
||||
- generic [ref=e1019]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1020]': 00:01:04.000
|
||||
- generic [ref=e1021]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1022]': 00:01:08.000
|
||||
- generic [ref=e1023]: (4000ms)
|
||||
- generic [ref=e1024]:
|
||||
- button "Insert cue before" [ref=e1025]:
|
||||
- img [ref=e1026]
|
||||
- button "Insert cue after" [ref=e1028]:
|
||||
- img [ref=e1029]
|
||||
- button "Delete cue" [ref=e1031]:
|
||||
- img [ref=e1032]
|
||||
- generic "138.5 characters per second — above the 20 CPS recommended limit" [ref=e1035]: ⚡ 139 CPS
|
||||
- generic [ref=e1036]:
|
||||
- generic [ref=e1037]: "Text on screen reads: The information contained in this video is intended for occupational use by persons with knowledge and technical skills to use such information. It is supplemental only and is not intended to replace the detailed information found in written 3M product instruction and installation manuals. For additional information, including important safety and warranty information regarding 3M Electrical Markets products, refer to the relevant product packaging or data sheet. © 3M 2022. All rights reserved. 3M is a trademark of 3M Company."
|
||||
- button "Edit text" [ref=e1038]
|
||||
- generic [ref=e1039]: "18 cues • Total duration: 1:08.000"
|
||||
- button "↔ Diff vs AI baseline" [ref=e1041]
|
||||
- generic [ref=e1043]:
|
||||
- heading "VTT Timing Adjustment" [level=3] [ref=e1044]
|
||||
- button "Adjust Timing" [ref=e1045]
|
||||
- button "Voice Settings for Audio Description (Configured) Click to customize or override TTS voice" [ref=e1047]:
|
||||
- generic [ref=e1048]:
|
||||
- img [ref=e1049]
|
||||
- generic [ref=e1051]: Voice Settings for Audio Description
|
||||
- generic [ref=e1052]: (Configured)
|
||||
- generic [ref=e1053]: Click to customize or override TTS voice
|
||||
- generic [ref=e1054]:
|
||||
- generic [ref=e1055]: Cost Tracker Project ID
|
||||
- generic [ref=e1056]:
|
||||
- textbox "e.g. ford-q3-2026" [ref=e1057]
|
||||
- button "Save" [ref=e1058]
|
||||
- paragraph [ref=e1059]: Links this job to a project in the AI Cost Dashboard.
|
||||
- button "Download Assets Click to download individual files" [ref=e1061]:
|
||||
- generic [ref=e1062]:
|
||||
- img [ref=e1063]
|
||||
- generic [ref=e1065]: Download Assets
|
||||
- generic [ref=e1066]: Click to download individual files
|
||||
- generic [ref=e1067]:
|
||||
- generic [ref=e1068]: Review Notes
|
||||
- textbox "Add any notes about this review..." [ref=e1069]
|
||||
- generic [ref=e1070]:
|
||||
- button "Approve All Languages" [ref=e1071]
|
||||
- button "Reject Job" [ref=e1072]
|
||||
951
.playwright-mcp/page-2026-05-01T12-51-41-028Z.yml
Normal file
|
|
@ -0,0 +1,951 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e86]:
|
||||
- generic [ref=e87]:
|
||||
- generic [ref=e91]:
|
||||
- heading "test-video" [level=1] [ref=e92]
|
||||
- button "Rename" [ref=e93]:
|
||||
- img [ref=e94]
|
||||
- generic [ref=e96]:
|
||||
- generic [ref=e97]: QC Feedback
|
||||
- generic [ref=e98]: "Source: 69f49ed8694cf102e622687f/source.mp4"
|
||||
- generic [ref=e99]: "Language: EN"
|
||||
- generic [ref=e100]: "Duration: 68s"
|
||||
- generic [ref=e88]:
|
||||
- button "↗ Share link" [ref=e101]
|
||||
- button "← Back to Queue" [ref=e102]
|
||||
- generic [ref=e103]:
|
||||
- generic [ref=e105]:
|
||||
- generic [ref=e106]: Languages
|
||||
- generic [ref=e107]: 1/1 approved— all done ✓
|
||||
- generic [ref=e109]:
|
||||
- button "✓ EN (source) Approved ▲" [ref=e110]:
|
||||
- generic [ref=e111]:
|
||||
- generic [ref=e112]: ✓
|
||||
- generic [ref=e113]: EN
|
||||
- generic [ref=e114]: (source)
|
||||
- generic [ref=e115]: Approved
|
||||
- generic [ref=e116]: ▲
|
||||
- generic [ref=e117]:
|
||||
- generic [ref=e118]:
|
||||
- generic [ref=e119]:
|
||||
- generic [ref=e120]: Linguist
|
||||
- generic [ref=e121]: Unassigned
|
||||
- button "Assign linguist" [active] [ref=e122]
|
||||
- generic [ref=e123]:
|
||||
- generic [ref=e124]: Reviewer
|
||||
- generic [ref=e125]: Unassigned
|
||||
- button "Assign reviewer" [ref=e126]
|
||||
- generic [ref=e127]:
|
||||
- button "✕ Request changes" [ref=e128]
|
||||
- button "Reopen" [ref=e129]
|
||||
- button "💬 Comments (0)" [ref=e131]
|
||||
- generic [ref=e1074]:
|
||||
- heading "Assign linguist — EN" [level=3] [ref=e1075]
|
||||
- generic [ref=e1076]:
|
||||
- generic [ref=e1077]: Linguist
|
||||
- combobox [ref=e1078]:
|
||||
- option "Select linguist…"
|
||||
- option "Test Linguist (test-linguist@oliver.agency)" [selected]
|
||||
- generic [ref=e1079]:
|
||||
- generic [ref=e1080]: Deadline (optional)
|
||||
- textbox [ref=e1081]
|
||||
- generic [ref=e1082]:
|
||||
- button "Cancel" [ref=e1083]
|
||||
- button "Assign" [ref=e1084]
|
||||
- generic [ref=e132]:
|
||||
- generic [ref=e133]:
|
||||
- generic [ref=e134]: "View Mode:"
|
||||
- generic [ref=e135]:
|
||||
- button "Side by Side (1)" [ref=e136]
|
||||
- button "Video Only (2)" [ref=e137]
|
||||
- button "Editor Only (3)" [ref=e138]
|
||||
- generic [ref=e139]: "Shortcuts: A=Approve, R=Reject"
|
||||
- generic [ref=e141]:
|
||||
- heading "Video Preview" [level=3] [ref=e143]
|
||||
- generic [ref=e144]:
|
||||
- generic [ref=e145]:
|
||||
- generic [ref=e146]: Your browser does not support the video tag.
|
||||
- generic [ref=e148]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- generic [ref=e149]:
|
||||
- generic [ref=e150]:
|
||||
- checkbox "Show Captions" [checked] [ref=e151]
|
||||
- generic [ref=e152]: Show Captions
|
||||
- generic [ref=e153]: "Time: 0:00"
|
||||
- generic [ref=e154]:
|
||||
- heading "Caption Timeline (English)" [level=4] [ref=e155]
|
||||
- generic [ref=e156]:
|
||||
- generic [ref=e157] [cursor=pointer]:
|
||||
- generic [ref=e158]:
|
||||
- generic [ref=e159]: 0:00 → 0:05
|
||||
- button "Jump" [ref=e160]
|
||||
- generic [ref=e161]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- generic [ref=e162] [cursor=pointer]:
|
||||
- generic [ref=e163]:
|
||||
- generic [ref=e164]: 0:06 → 0:10
|
||||
- button "Jump" [ref=e165]
|
||||
- generic [ref=e166]: With more than 50 years of experience working in the field on energy projects,
|
||||
- generic [ref=e167] [cursor=pointer]:
|
||||
- generic [ref=e168]:
|
||||
- generic [ref=e169]: 0:10 → 0:13
|
||||
- button "Jump" [ref=e170]
|
||||
- generic [ref=e171]: 3M has your solution to help you make your work more reliable, easier,
|
||||
- generic [ref=e172] [cursor=pointer]:
|
||||
- generic [ref=e173]:
|
||||
- generic [ref=e174]: 0:13 → 0:16
|
||||
- button "Jump" [ref=e175]
|
||||
- generic [ref=e176]: and faster for solar energy projects,
|
||||
- generic [ref=e177] [cursor=pointer]:
|
||||
- generic [ref=e178]:
|
||||
- generic [ref=e179]: 0:16 → 0:18
|
||||
- button "Jump" [ref=e180]
|
||||
- generic [ref=e181]: wind energy projects,
|
||||
- generic [ref=e182] [cursor=pointer]:
|
||||
- generic [ref=e183]:
|
||||
- generic [ref=e184]: 0:18 → 0:21
|
||||
- button "Jump" [ref=e185]
|
||||
- generic [ref=e186]: and battery energy storage systems.
|
||||
- generic [ref=e187] [cursor=pointer]:
|
||||
- generic [ref=e188]:
|
||||
- generic [ref=e189]: 0:21 → 0:25
|
||||
- button "Jump" [ref=e190]
|
||||
- generic [ref=e191]: We can help you solve your electrical installation challenges.
|
||||
- generic [ref=e192] [cursor=pointer]:
|
||||
- generic [ref=e193]:
|
||||
- generic [ref=e194]: 0:25 → 0:28
|
||||
- button "Jump" [ref=e195]
|
||||
- generic [ref=e196]: 3M provides advanced technology solutions
|
||||
- generic [ref=e197] [cursor=pointer]:
|
||||
- generic [ref=e198]:
|
||||
- generic [ref=e199]: 0:28 → 0:32
|
||||
- button "Jump" [ref=e200]
|
||||
- generic [ref=e201]: in insulating, connecting, and terminating medium and high voltage cables.
|
||||
- generic [ref=e202] [cursor=pointer]:
|
||||
- generic [ref=e203]:
|
||||
- generic [ref=e204]: 0:32 → 0:35
|
||||
- button "Jump" [ref=e205]
|
||||
- generic [ref=e206]: Our engineers can help with your projects
|
||||
- generic [ref=e207] [cursor=pointer]:
|
||||
- generic [ref=e208]:
|
||||
- generic [ref=e209]: 0:35 → 0:37
|
||||
- button "Jump" [ref=e210]
|
||||
- generic [ref=e211]: and recommend customized product kits
|
||||
- generic [ref=e212] [cursor=pointer]:
|
||||
- generic [ref=e213]:
|
||||
- generic [ref=e214]: 0:37 → 0:40
|
||||
- button "Jump" [ref=e215]
|
||||
- generic [ref=e216]: so you get exactly what you need for reliable product performance.
|
||||
- generic [ref=e217] [cursor=pointer]:
|
||||
- generic [ref=e218]:
|
||||
- generic [ref=e219]: 0:40 → 0:44
|
||||
- button "Jump" [ref=e220]
|
||||
- generic [ref=e221]: We work closely with you, so you get the support you need.
|
||||
- generic [ref=e222] [cursor=pointer]:
|
||||
- generic [ref=e223]:
|
||||
- generic [ref=e224]: 0:45 → 0:48
|
||||
- button "Jump" [ref=e225]
|
||||
- generic [ref=e226]: Your work, combined with our solutions,
|
||||
- generic [ref=e227] [cursor=pointer]:
|
||||
- generic [ref=e228]:
|
||||
- generic [ref=e229]: 0:50 → 0:52
|
||||
- button "Jump" [ref=e230]
|
||||
- generic [ref=e231]: can help avoid costly downtime
|
||||
- generic [ref=e232] [cursor=pointer]:
|
||||
- generic [ref=e233]:
|
||||
- generic [ref=e234]: 0:52 → 0:55
|
||||
- button "Jump" [ref=e235]
|
||||
- generic [ref=e236]: and keep your renewable systems up and running smoothly.
|
||||
- generic [ref=e237] [cursor=pointer]:
|
||||
- generic [ref=e238]:
|
||||
- generic [ref=e239]: 0:56 → 0:59
|
||||
- button "Jump" [ref=e240]
|
||||
- generic [ref=e241]: Wherever the job takes you, we have your solution.
|
||||
- generic [ref=e242] [cursor=pointer]:
|
||||
- generic [ref=e243]:
|
||||
- generic [ref=e244]: 1:01 → 1:04
|
||||
- button "Jump" [ref=e245]
|
||||
- generic [ref=e246]: 3M. Science. Applied to Life.
|
||||
- generic [ref=e247]:
|
||||
- generic [ref=e248]:
|
||||
- generic [ref=e249]:
|
||||
- generic [ref=e250]: Closed Captions (EN)
|
||||
- button "Upload .vtt" [ref=e251]
|
||||
- generic [ref=e252]:
|
||||
- heading "Closed Captions (EN)" [level=3] [ref=e255]
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]:
|
||||
- generic [ref=e259]:
|
||||
- generic [ref=e260]:
|
||||
- generic [ref=e261]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e262]': 00:00:00.000
|
||||
- generic [ref=e263]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e264]': 00:00:05.500
|
||||
- generic [ref=e265]: (5500ms)
|
||||
- generic [ref=e266]:
|
||||
- button "Insert cue before" [ref=e267]:
|
||||
- img [ref=e268]
|
||||
- button "Insert cue after" [ref=e270]:
|
||||
- img [ref=e271]
|
||||
- button "Delete cue" [ref=e273]:
|
||||
- img [ref=e274]
|
||||
- generic [ref=e276]:
|
||||
- generic [ref=e277]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- button "Edit text" [ref=e278]
|
||||
- generic [ref=e279]:
|
||||
- generic [ref=e280]:
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e283]': 00:00:06.000
|
||||
- generic [ref=e284]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e285]': 00:00:10.000
|
||||
- generic [ref=e286]: (4000ms)
|
||||
- generic [ref=e287]:
|
||||
- button "Insert cue before" [ref=e288]:
|
||||
- img [ref=e289]
|
||||
- button "Insert cue after" [ref=e291]:
|
||||
- img [ref=e292]
|
||||
- button "Delete cue" [ref=e294]:
|
||||
- img [ref=e295]
|
||||
- generic [ref=e297]:
|
||||
- generic [ref=e298]: With more than 50 years of experience working in the field on energy projects,
|
||||
- button "Edit text" [ref=e299]
|
||||
- generic [ref=e300]:
|
||||
- generic [ref=e301]:
|
||||
- generic [ref=e302]:
|
||||
- generic [ref=e303]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e304]': 00:00:10.000
|
||||
- generic [ref=e305]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e306]': 00:00:13.500
|
||||
- generic [ref=e307]: (3500ms)
|
||||
- generic [ref=e308]:
|
||||
- button "Insert cue before" [ref=e309]:
|
||||
- img [ref=e310]
|
||||
- button "Insert cue after" [ref=e312]:
|
||||
- img [ref=e313]
|
||||
- button "Delete cue" [ref=e315]:
|
||||
- img [ref=e316]
|
||||
- generic [ref=e318]:
|
||||
- generic [ref=e319]: 3M has your solution to help you make your work more reliable, easier,
|
||||
- button "Edit text" [ref=e320]
|
||||
- generic [ref=e321]:
|
||||
- generic [ref=e322]:
|
||||
- generic [ref=e323]:
|
||||
- generic [ref=e324]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e325]': 00:00:13.500
|
||||
- generic [ref=e326]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e327]': 00:00:16.000
|
||||
- generic [ref=e328]: (2500ms)
|
||||
- generic [ref=e329]:
|
||||
- button "Insert cue before" [ref=e330]:
|
||||
- img [ref=e331]
|
||||
- button "Insert cue after" [ref=e333]:
|
||||
- img [ref=e334]
|
||||
- button "Delete cue" [ref=e336]:
|
||||
- img [ref=e337]
|
||||
- generic [ref=e339]:
|
||||
- generic [ref=e340]: and faster for solar energy projects,
|
||||
- button "Edit text" [ref=e341]
|
||||
- generic [ref=e342]:
|
||||
- generic [ref=e343]:
|
||||
- generic [ref=e344]:
|
||||
- generic [ref=e345]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e346]': 00:00:16.000
|
||||
- generic [ref=e347]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e348]': 00:00:18.500
|
||||
- generic [ref=e349]: (2500ms)
|
||||
- generic [ref=e350]:
|
||||
- button "Insert cue before" [ref=e351]:
|
||||
- img [ref=e352]
|
||||
- button "Insert cue after" [ref=e354]:
|
||||
- img [ref=e355]
|
||||
- button "Delete cue" [ref=e357]:
|
||||
- img [ref=e358]
|
||||
- generic [ref=e360]:
|
||||
- generic [ref=e361]: wind energy projects,
|
||||
- button "Edit text" [ref=e362]
|
||||
- generic [ref=e363]:
|
||||
- generic [ref=e364]:
|
||||
- generic [ref=e365]:
|
||||
- generic [ref=e366]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e367]': 00:00:18.500
|
||||
- generic [ref=e368]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e369]': 00:00:21.500
|
||||
- generic [ref=e370]: (3000ms)
|
||||
- generic [ref=e371]:
|
||||
- button "Insert cue before" [ref=e372]:
|
||||
- img [ref=e373]
|
||||
- button "Insert cue after" [ref=e375]:
|
||||
- img [ref=e376]
|
||||
- button "Delete cue" [ref=e378]:
|
||||
- img [ref=e379]
|
||||
- generic [ref=e381]:
|
||||
- generic [ref=e382]: and battery energy storage systems.
|
||||
- button "Edit text" [ref=e383]
|
||||
- generic [ref=e384]:
|
||||
- generic [ref=e385]:
|
||||
- generic [ref=e386]:
|
||||
- generic [ref=e387]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e388]': 00:00:21.500
|
||||
- generic [ref=e389]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e390]': 00:00:25.000
|
||||
- generic [ref=e391]: (3500ms)
|
||||
- generic [ref=e392]:
|
||||
- button "Insert cue before" [ref=e393]:
|
||||
- img [ref=e394]
|
||||
- button "Insert cue after" [ref=e396]:
|
||||
- img [ref=e397]
|
||||
- button "Delete cue" [ref=e399]:
|
||||
- img [ref=e400]
|
||||
- generic [ref=e402]:
|
||||
- generic [ref=e403]: We can help you solve your electrical installation challenges.
|
||||
- button "Edit text" [ref=e404]
|
||||
- generic [ref=e405]:
|
||||
- generic [ref=e406]:
|
||||
- generic [ref=e407]:
|
||||
- generic [ref=e408]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e409]': 00:00:25.000
|
||||
- generic [ref=e410]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e411]': 00:00:28.000
|
||||
- generic [ref=e412]: (3000ms)
|
||||
- generic [ref=e413]:
|
||||
- button "Insert cue before" [ref=e414]:
|
||||
- img [ref=e415]
|
||||
- button "Insert cue after" [ref=e417]:
|
||||
- img [ref=e418]
|
||||
- button "Delete cue" [ref=e420]:
|
||||
- img [ref=e421]
|
||||
- generic [ref=e423]:
|
||||
- generic [ref=e424]: 3M provides advanced technology solutions
|
||||
- button "Edit text" [ref=e425]
|
||||
- generic [ref=e426]:
|
||||
- generic [ref=e427]:
|
||||
- generic [ref=e428]:
|
||||
- generic [ref=e429]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e430]': 00:00:28.000
|
||||
- generic [ref=e431]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e432]': 00:00:32.000
|
||||
- generic [ref=e433]: (4000ms)
|
||||
- generic [ref=e434]:
|
||||
- button "Insert cue before" [ref=e435]:
|
||||
- img [ref=e436]
|
||||
- button "Insert cue after" [ref=e438]:
|
||||
- img [ref=e439]
|
||||
- button "Delete cue" [ref=e441]:
|
||||
- img [ref=e442]
|
||||
- generic [ref=e444]:
|
||||
- generic [ref=e445]: in insulating, connecting, and terminating medium and high voltage cables.
|
||||
- button "Edit text" [ref=e446]
|
||||
- generic [ref=e447]:
|
||||
- generic [ref=e448]:
|
||||
- generic [ref=e449]:
|
||||
- generic [ref=e450]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e451]': 00:00:32.000
|
||||
- generic [ref=e452]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e453]': 00:00:35.000
|
||||
- generic [ref=e454]: (3000ms)
|
||||
- generic [ref=e455]:
|
||||
- button "Insert cue before" [ref=e456]:
|
||||
- img [ref=e457]
|
||||
- button "Insert cue after" [ref=e459]:
|
||||
- img [ref=e460]
|
||||
- button "Delete cue" [ref=e462]:
|
||||
- img [ref=e463]
|
||||
- generic [ref=e465]:
|
||||
- generic [ref=e466]: Our engineers can help with your projects
|
||||
- button "Edit text" [ref=e467]
|
||||
- generic [ref=e468]:
|
||||
- generic [ref=e469]:
|
||||
- generic [ref=e470]:
|
||||
- generic [ref=e471]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e472]': 00:00:35.000
|
||||
- generic [ref=e473]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e474]': 00:00:37.500
|
||||
- generic [ref=e475]: (2500ms)
|
||||
- generic [ref=e476]:
|
||||
- button "Insert cue before" [ref=e477]:
|
||||
- img [ref=e478]
|
||||
- button "Insert cue after" [ref=e480]:
|
||||
- img [ref=e481]
|
||||
- button "Delete cue" [ref=e483]:
|
||||
- img [ref=e484]
|
||||
- generic [ref=e486]:
|
||||
- generic [ref=e487]: and recommend customized product kits
|
||||
- button "Edit text" [ref=e488]
|
||||
- generic [ref=e489]:
|
||||
- generic [ref=e490]:
|
||||
- generic [ref=e491]:
|
||||
- generic [ref=e492]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e493]': 00:00:37.500
|
||||
- generic [ref=e494]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e495]': 00:00:40.500
|
||||
- generic [ref=e496]: (3000ms)
|
||||
- generic [ref=e497]:
|
||||
- button "Insert cue before" [ref=e498]:
|
||||
- img [ref=e499]
|
||||
- button "Insert cue after" [ref=e501]:
|
||||
- img [ref=e502]
|
||||
- button "Delete cue" [ref=e504]:
|
||||
- img [ref=e505]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e508]: ⚡ 22 CPS
|
||||
- generic [ref=e509]:
|
||||
- generic [ref=e510]: so you get exactly what you need for reliable product performance.
|
||||
- button "Edit text" [ref=e511]
|
||||
- generic [ref=e512]:
|
||||
- generic [ref=e513]:
|
||||
- generic [ref=e514]:
|
||||
- generic [ref=e515]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e516]': 00:00:40.500
|
||||
- generic [ref=e517]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e518]': 00:00:44.500
|
||||
- generic [ref=e519]: (4000ms)
|
||||
- generic [ref=e520]:
|
||||
- button "Insert cue before" [ref=e521]:
|
||||
- img [ref=e522]
|
||||
- button "Insert cue after" [ref=e524]:
|
||||
- img [ref=e525]
|
||||
- button "Delete cue" [ref=e527]:
|
||||
- img [ref=e528]
|
||||
- generic [ref=e530]:
|
||||
- generic [ref=e531]: We work closely with you, so you get the support you need.
|
||||
- button "Edit text" [ref=e532]
|
||||
- generic [ref=e533]:
|
||||
- generic [ref=e534]:
|
||||
- generic [ref=e535]:
|
||||
- generic [ref=e536]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e537]': 00:00:45.000
|
||||
- generic [ref=e538]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e539]': 00:00:48.500
|
||||
- generic [ref=e540]: (3500ms)
|
||||
- generic [ref=e541]:
|
||||
- button "Insert cue before" [ref=e542]:
|
||||
- img [ref=e543]
|
||||
- button "Insert cue after" [ref=e545]:
|
||||
- img [ref=e546]
|
||||
- button "Delete cue" [ref=e548]:
|
||||
- img [ref=e549]
|
||||
- generic [ref=e551]:
|
||||
- generic [ref=e552]: Your work, combined with our solutions,
|
||||
- button "Edit text" [ref=e553]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e554] [cursor=pointer]:
|
||||
- generic [ref=e555]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e556]:
|
||||
- generic [ref=e557]:
|
||||
- generic [ref=e558]:
|
||||
- generic [ref=e559]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e560]': 00:00:50.000
|
||||
- generic [ref=e561]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e562]': 00:00:52.000
|
||||
- generic [ref=e563]: (2000ms)
|
||||
- generic [ref=e564]:
|
||||
- button "Insert cue before" [ref=e565]:
|
||||
- img [ref=e566]
|
||||
- button "Insert cue after" [ref=e568]:
|
||||
- img [ref=e569]
|
||||
- button "Delete cue" [ref=e571]:
|
||||
- img [ref=e572]
|
||||
- generic [ref=e574]:
|
||||
- generic [ref=e575]: can help avoid costly downtime
|
||||
- button "Edit text" [ref=e576]
|
||||
- generic [ref=e577]:
|
||||
- generic [ref=e578]:
|
||||
- generic [ref=e579]:
|
||||
- generic [ref=e580]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e581]': 00:00:52.000
|
||||
- generic [ref=e582]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e583]': 00:00:55.500
|
||||
- generic [ref=e584]: (3500ms)
|
||||
- generic [ref=e585]:
|
||||
- button "Insert cue before" [ref=e586]:
|
||||
- img [ref=e587]
|
||||
- button "Insert cue after" [ref=e589]:
|
||||
- img [ref=e590]
|
||||
- button "Delete cue" [ref=e592]:
|
||||
- img [ref=e593]
|
||||
- generic [ref=e595]:
|
||||
- generic [ref=e596]: and keep your renewable systems up and running smoothly.
|
||||
- button "Edit text" [ref=e597]
|
||||
- generic "Insert cue in this gap (1.0s gap)" [ref=e598] [cursor=pointer]:
|
||||
- generic [ref=e599]: + Add cue here · 1.0s gap
|
||||
- generic [ref=e600]:
|
||||
- generic [ref=e601]:
|
||||
- generic [ref=e602]:
|
||||
- generic [ref=e603]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e604]': 00:00:56.500
|
||||
- generic [ref=e605]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e606]': 00:00:59.500
|
||||
- generic [ref=e607]: (3000ms)
|
||||
- generic [ref=e608]:
|
||||
- button "Insert cue before" [ref=e609]:
|
||||
- img [ref=e610]
|
||||
- button "Insert cue after" [ref=e612]:
|
||||
- img [ref=e613]
|
||||
- button "Delete cue" [ref=e615]:
|
||||
- img [ref=e616]
|
||||
- generic [ref=e618]:
|
||||
- generic [ref=e619]: Wherever the job takes you, we have your solution.
|
||||
- button "Edit text" [ref=e620]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e621] [cursor=pointer]:
|
||||
- generic [ref=e622]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e623]:
|
||||
- generic [ref=e624]:
|
||||
- generic [ref=e625]:
|
||||
- generic [ref=e626]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e627]': 00:01:01.000
|
||||
- generic [ref=e628]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e629]': 00:01:04.000
|
||||
- generic [ref=e630]: (3000ms)
|
||||
- generic [ref=e631]:
|
||||
- button "Insert cue before" [ref=e632]:
|
||||
- img [ref=e633]
|
||||
- button "Insert cue after" [ref=e635]:
|
||||
- img [ref=e636]
|
||||
- button "Delete cue" [ref=e638]:
|
||||
- img [ref=e639]
|
||||
- generic [ref=e641]:
|
||||
- generic [ref=e642]: 3M. Science. Applied to Life.
|
||||
- button "Edit text" [ref=e643]
|
||||
- generic [ref=e644]: "18 cues • Total duration: 1:04.000"
|
||||
- button "↔ Diff vs AI baseline" [ref=e646]
|
||||
- generic [ref=e647]:
|
||||
- generic [ref=e648]:
|
||||
- generic [ref=e649]: Audio Description (EN)
|
||||
- button "Upload .vtt" [ref=e650]
|
||||
- generic [ref=e651]:
|
||||
- heading "Audio Description (EN)" [level=3] [ref=e654]
|
||||
- generic [ref=e656]:
|
||||
- generic [ref=e657]:
|
||||
- generic [ref=e658]:
|
||||
- generic [ref=e659]:
|
||||
- generic [ref=e660]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e661]': 00:00:00.000
|
||||
- generic [ref=e662]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e663]': 00:00:05.500
|
||||
- generic [ref=e664]: (5500ms)
|
||||
- generic [ref=e665]:
|
||||
- button "Insert cue before" [ref=e666]:
|
||||
- img [ref=e667]
|
||||
- button "Insert cue after" [ref=e669]:
|
||||
- img [ref=e670]
|
||||
- button "Delete cue" [ref=e672]:
|
||||
- img [ref=e673]
|
||||
- generic [ref=e675]:
|
||||
- generic [ref=e676]: "An aerial view of a massive solar panel farm. Text on screen reads: 3M Science. Applied to Life."
|
||||
- button "Edit text" [ref=e677]
|
||||
- generic [ref=e678]:
|
||||
- generic [ref=e679]:
|
||||
- generic [ref=e680]:
|
||||
- generic [ref=e681]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e682]': 00:00:06.000
|
||||
- generic [ref=e683]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e684]': 00:00:10.000
|
||||
- generic [ref=e685]: (4000ms)
|
||||
- generic [ref=e686]:
|
||||
- button "Insert cue before" [ref=e687]:
|
||||
- img [ref=e688]
|
||||
- button "Insert cue after" [ref=e690]:
|
||||
- img [ref=e691]
|
||||
- button "Delete cue" [ref=e693]:
|
||||
- img [ref=e694]
|
||||
- generic [ref=e696]:
|
||||
- generic [ref=e697]: Three workers in hard hats stand near solar panels.
|
||||
- button "Edit text" [ref=e698]
|
||||
- generic [ref=e699]:
|
||||
- generic [ref=e700]:
|
||||
- generic [ref=e701]:
|
||||
- generic [ref=e702]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e703]': 00:00:10.000
|
||||
- generic [ref=e704]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e705]': 00:00:13.500
|
||||
- generic [ref=e706]: (3500ms)
|
||||
- generic [ref=e707]:
|
||||
- button "Insert cue before" [ref=e708]:
|
||||
- img [ref=e709]
|
||||
- button "Insert cue after" [ref=e711]:
|
||||
- img [ref=e712]
|
||||
- button "Delete cue" [ref=e714]:
|
||||
- img [ref=e715]
|
||||
- generic [ref=e717]:
|
||||
- generic [ref=e718]: A gloved hand inserts a metal rod into a grey rubber sleeve.
|
||||
- button "Edit text" [ref=e719]
|
||||
- generic [ref=e720]:
|
||||
- generic [ref=e721]:
|
||||
- generic [ref=e722]:
|
||||
- generic [ref=e723]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e724]': 00:00:13.500
|
||||
- generic [ref=e725]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e726]': 00:00:16.000
|
||||
- generic [ref=e727]: (2500ms)
|
||||
- generic [ref=e728]:
|
||||
- button "Insert cue before" [ref=e729]:
|
||||
- img [ref=e730]
|
||||
- button "Insert cue after" [ref=e732]:
|
||||
- img [ref=e733]
|
||||
- button "Delete cue" [ref=e735]:
|
||||
- img [ref=e736]
|
||||
- generic [ref=e738]:
|
||||
- generic [ref=e739]: Three workers walk past solar panels.
|
||||
- button "Edit text" [ref=e740]
|
||||
- generic [ref=e741]:
|
||||
- generic [ref=e742]:
|
||||
- generic [ref=e743]:
|
||||
- generic [ref=e744]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e745]': 00:00:16.000
|
||||
- generic [ref=e746]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e747]': 00:00:18.500
|
||||
- generic [ref=e748]: (2500ms)
|
||||
- generic [ref=e749]:
|
||||
- button "Insert cue before" [ref=e750]:
|
||||
- img [ref=e751]
|
||||
- button "Insert cue after" [ref=e753]:
|
||||
- img [ref=e754]
|
||||
- button "Delete cue" [ref=e756]:
|
||||
- img [ref=e757]
|
||||
- generic [ref=e759]:
|
||||
- generic [ref=e760]: Wind turbines stand in the ocean at sunset.
|
||||
- button "Edit text" [ref=e761]
|
||||
- generic [ref=e762]:
|
||||
- generic [ref=e763]:
|
||||
- generic [ref=e764]:
|
||||
- generic [ref=e765]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e766]': 00:00:18.500
|
||||
- generic [ref=e767]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e768]': 00:00:21.500
|
||||
- generic [ref=e769]: (3000ms)
|
||||
- generic [ref=e770]:
|
||||
- button "Insert cue before" [ref=e771]:
|
||||
- img [ref=e772]
|
||||
- button "Insert cue after" [ref=e774]:
|
||||
- img [ref=e775]
|
||||
- button "Delete cue" [ref=e777]:
|
||||
- img [ref=e778]
|
||||
- generic [ref=e780]:
|
||||
- generic [ref=e781]: Rows of white battery storage units at an industrial site.
|
||||
- button "Edit text" [ref=e782]
|
||||
- generic [ref=e783]:
|
||||
- generic [ref=e784]:
|
||||
- generic [ref=e785]:
|
||||
- generic [ref=e786]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e787]': 00:00:21.500
|
||||
- generic [ref=e788]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e789]': 00:00:25.000
|
||||
- generic [ref=e790]: (3500ms)
|
||||
- generic [ref=e791]:
|
||||
- button "Insert cue before" [ref=e792]:
|
||||
- img [ref=e793]
|
||||
- button "Insert cue after" [ref=e795]:
|
||||
- img [ref=e796]
|
||||
- button "Delete cue" [ref=e798]:
|
||||
- img [ref=e799]
|
||||
- generic [ref=e801]:
|
||||
- generic [ref=e802]: Two workers look up at the underside of a solar panel.
|
||||
- button "Edit text" [ref=e803]
|
||||
- generic [ref=e804]:
|
||||
- generic [ref=e805]:
|
||||
- generic [ref=e806]:
|
||||
- generic [ref=e807]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e808]': 00:00:25.000
|
||||
- generic [ref=e809]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e810]': 00:00:28.000
|
||||
- generic [ref=e811]: (3000ms)
|
||||
- generic [ref=e812]:
|
||||
- button "Insert cue before" [ref=e813]:
|
||||
- img [ref=e814]
|
||||
- button "Insert cue after" [ref=e816]:
|
||||
- img [ref=e817]
|
||||
- button "Delete cue" [ref=e819]:
|
||||
- img [ref=e820]
|
||||
- generic [ref=e822]:
|
||||
- generic [ref=e823]: Workers install cables in a trench.
|
||||
- button "Edit text" [ref=e824]
|
||||
- generic [ref=e825]:
|
||||
- generic [ref=e826]:
|
||||
- generic [ref=e827]:
|
||||
- generic [ref=e828]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e829]': 00:00:28.000
|
||||
- generic [ref=e830]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e831]': 00:00:32.000
|
||||
- generic [ref=e832]: (4000ms)
|
||||
- generic [ref=e833]:
|
||||
- button "Insert cue before" [ref=e834]:
|
||||
- img [ref=e835]
|
||||
- button "Insert cue after" [ref=e837]:
|
||||
- img [ref=e838]
|
||||
- button "Delete cue" [ref=e840]:
|
||||
- img [ref=e841]
|
||||
- generic [ref=e843]:
|
||||
- generic [ref=e844]: A worker wipes a thick black cable with a cloth.
|
||||
- button "Edit text" [ref=e845]
|
||||
- generic [ref=e846]:
|
||||
- generic [ref=e847]:
|
||||
- generic [ref=e848]:
|
||||
- generic [ref=e849]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e850]': 00:00:32.000
|
||||
- generic [ref=e851]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e852]': 00:00:35.000
|
||||
- generic [ref=e853]: (3000ms)
|
||||
- generic [ref=e854]:
|
||||
- button "Insert cue before" [ref=e855]:
|
||||
- img [ref=e856]
|
||||
- button "Insert cue after" [ref=e858]:
|
||||
- img [ref=e859]
|
||||
- button "Delete cue" [ref=e861]:
|
||||
- img [ref=e862]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e865]: ⚡ 22 CPS
|
||||
- generic [ref=e866]:
|
||||
- generic [ref=e867]: "A worker stands next to a cardboard box. Text on screen reads: 3M."
|
||||
- button "Edit text" [ref=e868]
|
||||
- generic [ref=e869]:
|
||||
- generic [ref=e870]:
|
||||
- generic [ref=e871]:
|
||||
- generic [ref=e872]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e873]': 00:00:35.000
|
||||
- generic [ref=e874]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e875]': 00:00:40.500
|
||||
- generic [ref=e876]: (5500ms)
|
||||
- generic [ref=e877]:
|
||||
- button "Insert cue before" [ref=e878]:
|
||||
- img [ref=e879]
|
||||
- button "Insert cue after" [ref=e881]:
|
||||
- img [ref=e882]
|
||||
- button "Delete cue" [ref=e884]:
|
||||
- img [ref=e885]
|
||||
- generic [ref=e887]:
|
||||
- generic [ref=e888]: A worker pulls a product from a 3M box. Another holds a document with diagrams.
|
||||
- button "Edit text" [ref=e889]
|
||||
- generic [ref=e890]:
|
||||
- generic [ref=e891]:
|
||||
- generic [ref=e892]:
|
||||
- generic [ref=e893]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e894]': 00:00:40.500
|
||||
- generic [ref=e895]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e896]': 00:00:44.500
|
||||
- generic [ref=e897]: (4000ms)
|
||||
- generic [ref=e898]:
|
||||
- button "Insert cue before" [ref=e899]:
|
||||
- img [ref=e900]
|
||||
- button "Insert cue after" [ref=e902]:
|
||||
- img [ref=e903]
|
||||
- button "Delete cue" [ref=e905]:
|
||||
- img [ref=e906]
|
||||
- generic [ref=e908]:
|
||||
- generic [ref=e909]: Two workers examine a cable component.
|
||||
- button "Edit text" [ref=e910]
|
||||
- generic [ref=e911]:
|
||||
- generic [ref=e912]:
|
||||
- generic [ref=e913]:
|
||||
- generic [ref=e914]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e915]': 00:00:44.500
|
||||
- generic [ref=e916]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e917]': 00:00:48.500
|
||||
- generic [ref=e918]: (4000ms)
|
||||
- generic [ref=e919]:
|
||||
- button "Insert cue before" [ref=e920]:
|
||||
- img [ref=e921]
|
||||
- button "Insert cue after" [ref=e923]:
|
||||
- img [ref=e924]
|
||||
- button "Delete cue" [ref=e926]:
|
||||
- img [ref=e927]
|
||||
- generic [ref=e929]:
|
||||
- generic [ref=e930]: A worker pulls a plastic core from a rubber sleeve on a cable.
|
||||
- button "Edit text" [ref=e931]
|
||||
- generic [ref=e932]:
|
||||
- generic [ref=e933]:
|
||||
- generic [ref=e934]:
|
||||
- generic [ref=e935]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e936]': 00:00:48.500
|
||||
- generic [ref=e937]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e938]': 00:00:51.500
|
||||
- generic [ref=e939]: (3000ms)
|
||||
- generic [ref=e940]:
|
||||
- button "Insert cue before" [ref=e941]:
|
||||
- img [ref=e942]
|
||||
- button "Insert cue after" [ref=e944]:
|
||||
- img [ref=e945]
|
||||
- button "Delete cue" [ref=e947]:
|
||||
- img [ref=e948]
|
||||
- generic [ref=e950]:
|
||||
- generic [ref=e951]: A worker inserts a black plug into a yellow socket.
|
||||
- button "Edit text" [ref=e952]
|
||||
- generic [ref=e953]:
|
||||
- generic [ref=e954]:
|
||||
- generic [ref=e955]:
|
||||
- generic [ref=e956]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e957]': 00:00:51.500
|
||||
- generic [ref=e958]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e959]': 00:00:55.500
|
||||
- generic [ref=e960]: (4000ms)
|
||||
- generic [ref=e961]:
|
||||
- button "Insert cue before" [ref=e962]:
|
||||
- img [ref=e963]
|
||||
- button "Insert cue after" [ref=e965]:
|
||||
- img [ref=e966]
|
||||
- button "Delete cue" [ref=e968]:
|
||||
- img [ref=e969]
|
||||
- generic [ref=e971]:
|
||||
- generic [ref=e972]: Two workers use a power tool on a cable connection.
|
||||
- button "Edit text" [ref=e973]
|
||||
- generic [ref=e974]:
|
||||
- generic [ref=e975]:
|
||||
- generic [ref=e976]:
|
||||
- generic [ref=e977]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e978]': 00:00:55.500
|
||||
- generic [ref=e979]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e980]': 00:01:00.000
|
||||
- generic [ref=e981]: (4500ms)
|
||||
- generic [ref=e982]:
|
||||
- button "Insert cue before" [ref=e983]:
|
||||
- img [ref=e984]
|
||||
- button "Insert cue after" [ref=e986]:
|
||||
- img [ref=e987]
|
||||
- button "Delete cue" [ref=e989]:
|
||||
- img [ref=e990]
|
||||
- generic [ref=e992]:
|
||||
- generic [ref=e993]: The spoken words appear as text on a black background.
|
||||
- button "Edit text" [ref=e994]
|
||||
- generic [ref=e995]:
|
||||
- generic [ref=e996]:
|
||||
- generic [ref=e997]:
|
||||
- generic [ref=e998]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e999]': 00:01:00.000
|
||||
- generic [ref=e1000]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1001]': 00:01:04.000
|
||||
- generic [ref=e1002]: (4000ms)
|
||||
- generic [ref=e1003]:
|
||||
- button "Insert cue before" [ref=e1004]:
|
||||
- img [ref=e1005]
|
||||
- button "Insert cue after" [ref=e1007]:
|
||||
- img [ref=e1008]
|
||||
- button "Delete cue" [ref=e1010]:
|
||||
- img [ref=e1011]
|
||||
- generic [ref=e1013]:
|
||||
- generic [ref=e1014]: "Text on screen reads: 3M Science. Applied to Life."
|
||||
- button "Edit text" [ref=e1015]
|
||||
- generic [ref=e1016]:
|
||||
- generic [ref=e1017]:
|
||||
- generic [ref=e1018]:
|
||||
- generic [ref=e1019]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1020]': 00:01:04.000
|
||||
- generic [ref=e1021]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1022]': 00:01:08.000
|
||||
- generic [ref=e1023]: (4000ms)
|
||||
- generic [ref=e1024]:
|
||||
- button "Insert cue before" [ref=e1025]:
|
||||
- img [ref=e1026]
|
||||
- button "Insert cue after" [ref=e1028]:
|
||||
- img [ref=e1029]
|
||||
- button "Delete cue" [ref=e1031]:
|
||||
- img [ref=e1032]
|
||||
- generic "138.5 characters per second — above the 20 CPS recommended limit" [ref=e1035]: ⚡ 139 CPS
|
||||
- generic [ref=e1036]:
|
||||
- generic [ref=e1037]: "Text on screen reads: The information contained in this video is intended for occupational use by persons with knowledge and technical skills to use such information. It is supplemental only and is not intended to replace the detailed information found in written 3M product instruction and installation manuals. For additional information, including important safety and warranty information regarding 3M Electrical Markets products, refer to the relevant product packaging or data sheet. © 3M 2022. All rights reserved. 3M is a trademark of 3M Company."
|
||||
- button "Edit text" [ref=e1038]
|
||||
- generic [ref=e1039]: "18 cues • Total duration: 1:08.000"
|
||||
- button "↔ Diff vs AI baseline" [ref=e1041]
|
||||
- generic [ref=e1043]:
|
||||
- heading "VTT Timing Adjustment" [level=3] [ref=e1044]
|
||||
- button "Adjust Timing" [ref=e1045]
|
||||
- button "Voice Settings for Audio Description (Configured) Click to customize or override TTS voice" [ref=e1047]:
|
||||
- generic [ref=e1048]:
|
||||
- img [ref=e1049]
|
||||
- generic [ref=e1051]: Voice Settings for Audio Description
|
||||
- generic [ref=e1052]: (Configured)
|
||||
- generic [ref=e1053]: Click to customize or override TTS voice
|
||||
- generic [ref=e1054]:
|
||||
- generic [ref=e1055]: Cost Tracker Project ID
|
||||
- generic [ref=e1056]:
|
||||
- textbox "e.g. ford-q3-2026" [ref=e1057]
|
||||
- button "Save" [ref=e1058]
|
||||
- paragraph [ref=e1059]: Links this job to a project in the AI Cost Dashboard.
|
||||
- button "Download Assets Click to download individual files" [ref=e1061]:
|
||||
- generic [ref=e1062]:
|
||||
- img [ref=e1063]
|
||||
- generic [ref=e1065]: Download Assets
|
||||
- generic [ref=e1066]: Click to download individual files
|
||||
- generic [ref=e1067]:
|
||||
- generic [ref=e1068]: Review Notes
|
||||
- textbox "Add any notes about this review..." [ref=e1069]
|
||||
- generic [ref=e1070]:
|
||||
- button "Approve All Languages" [ref=e1071]
|
||||
- button "Reject Job" [ref=e1072]
|
||||
BIN
.playwright-mcp/page-2026-05-01T12-52-20-014Z.png
Normal file
|
After Width: | Height: | Size: 359 KiB |
938
.playwright-mcp/page-2026-05-01T12-52-30-391Z.yml
Normal file
|
|
@ -0,0 +1,938 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e86]:
|
||||
- generic [ref=e87]:
|
||||
- generic [ref=e91]:
|
||||
- heading "test-video" [level=1] [ref=e92]
|
||||
- button "Rename" [ref=e93]:
|
||||
- img [ref=e94]
|
||||
- generic [ref=e96]:
|
||||
- generic [ref=e97]: QC Feedback
|
||||
- generic [ref=e98]: "Source: 69f49ed8694cf102e622687f/source.mp4"
|
||||
- generic [ref=e99]: "Language: EN"
|
||||
- generic [ref=e100]: "Duration: 68s"
|
||||
- generic [ref=e88]:
|
||||
- button "↗ Share link" [ref=e101]
|
||||
- button "← Back to Queue" [ref=e102]
|
||||
- generic [ref=e103]:
|
||||
- generic [ref=e105]:
|
||||
- generic [ref=e106]: Languages
|
||||
- generic [ref=e107]: 1/1 approved— all done ✓
|
||||
- generic [ref=e109]:
|
||||
- button "✓ EN (source) Approved ▲" [ref=e110]:
|
||||
- generic [ref=e111]:
|
||||
- generic [ref=e112]: ✓
|
||||
- generic [ref=e113]: EN
|
||||
- generic [ref=e114]: (source)
|
||||
- generic [ref=e115]: Approved
|
||||
- generic [ref=e116]: ▲
|
||||
- generic [ref=e117]:
|
||||
- generic [ref=e118]:
|
||||
- generic [ref=e119]:
|
||||
- generic [ref=e120]: Linguist
|
||||
- generic [ref=e121]: Unassigned
|
||||
- button "Assign linguist" [ref=e122]
|
||||
- generic [ref=e123]:
|
||||
- generic [ref=e124]: Reviewer
|
||||
- generic [ref=e125]: Unassigned
|
||||
- button "Assign reviewer" [ref=e126]
|
||||
- generic [ref=e127]:
|
||||
- button "✕ Request changes" [ref=e128]
|
||||
- button "Reopen" [ref=e129]
|
||||
- button "💬 Comments (0)" [ref=e131]
|
||||
- generic [ref=e132]:
|
||||
- generic [ref=e133]:
|
||||
- generic [ref=e134]: "View Mode:"
|
||||
- generic [ref=e135]:
|
||||
- button "Side by Side (1)" [ref=e136]
|
||||
- button "Video Only (2)" [ref=e137]
|
||||
- button "Editor Only (3)" [ref=e138]
|
||||
- generic [ref=e139]: "Shortcuts: A=Approve, R=Reject"
|
||||
- generic [ref=e141]:
|
||||
- heading "Video Preview" [level=3] [ref=e143]
|
||||
- generic [ref=e144]:
|
||||
- generic [ref=e145]:
|
||||
- generic [ref=e146]: Your browser does not support the video tag.
|
||||
- generic [ref=e148]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- generic [ref=e149]:
|
||||
- generic [ref=e150]:
|
||||
- checkbox "Show Captions" [checked] [ref=e151]
|
||||
- generic [ref=e152]: Show Captions
|
||||
- generic [ref=e153]: "Time: 0:00"
|
||||
- generic [ref=e154]:
|
||||
- heading "Caption Timeline (English)" [level=4] [ref=e155]
|
||||
- generic [ref=e156]:
|
||||
- generic [ref=e157] [cursor=pointer]:
|
||||
- generic [ref=e158]:
|
||||
- generic [ref=e159]: 0:00 → 0:05
|
||||
- button "Jump" [ref=e160]
|
||||
- generic [ref=e161]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- generic [ref=e162] [cursor=pointer]:
|
||||
- generic [ref=e163]:
|
||||
- generic [ref=e164]: 0:06 → 0:10
|
||||
- button "Jump" [ref=e165]
|
||||
- generic [ref=e166]: With more than 50 years of experience working in the field on energy projects,
|
||||
- generic [ref=e167] [cursor=pointer]:
|
||||
- generic [ref=e168]:
|
||||
- generic [ref=e169]: 0:10 → 0:13
|
||||
- button "Jump" [ref=e170]
|
||||
- generic [ref=e171]: 3M has your solution to help you make your work more reliable, easier,
|
||||
- generic [ref=e172] [cursor=pointer]:
|
||||
- generic [ref=e173]:
|
||||
- generic [ref=e174]: 0:13 → 0:16
|
||||
- button "Jump" [ref=e175]
|
||||
- generic [ref=e176]: and faster for solar energy projects,
|
||||
- generic [ref=e177] [cursor=pointer]:
|
||||
- generic [ref=e178]:
|
||||
- generic [ref=e179]: 0:16 → 0:18
|
||||
- button "Jump" [ref=e180]
|
||||
- generic [ref=e181]: wind energy projects,
|
||||
- generic [ref=e182] [cursor=pointer]:
|
||||
- generic [ref=e183]:
|
||||
- generic [ref=e184]: 0:18 → 0:21
|
||||
- button "Jump" [ref=e185]
|
||||
- generic [ref=e186]: and battery energy storage systems.
|
||||
- generic [ref=e187] [cursor=pointer]:
|
||||
- generic [ref=e188]:
|
||||
- generic [ref=e189]: 0:21 → 0:25
|
||||
- button "Jump" [ref=e190]
|
||||
- generic [ref=e191]: We can help you solve your electrical installation challenges.
|
||||
- generic [ref=e192] [cursor=pointer]:
|
||||
- generic [ref=e193]:
|
||||
- generic [ref=e194]: 0:25 → 0:28
|
||||
- button "Jump" [ref=e195]
|
||||
- generic [ref=e196]: 3M provides advanced technology solutions
|
||||
- generic [ref=e197] [cursor=pointer]:
|
||||
- generic [ref=e198]:
|
||||
- generic [ref=e199]: 0:28 → 0:32
|
||||
- button "Jump" [ref=e200]
|
||||
- generic [ref=e201]: in insulating, connecting, and terminating medium and high voltage cables.
|
||||
- generic [ref=e202] [cursor=pointer]:
|
||||
- generic [ref=e203]:
|
||||
- generic [ref=e204]: 0:32 → 0:35
|
||||
- button "Jump" [ref=e205]
|
||||
- generic [ref=e206]: Our engineers can help with your projects
|
||||
- generic [ref=e207] [cursor=pointer]:
|
||||
- generic [ref=e208]:
|
||||
- generic [ref=e209]: 0:35 → 0:37
|
||||
- button "Jump" [ref=e210]
|
||||
- generic [ref=e211]: and recommend customized product kits
|
||||
- generic [ref=e212] [cursor=pointer]:
|
||||
- generic [ref=e213]:
|
||||
- generic [ref=e214]: 0:37 → 0:40
|
||||
- button "Jump" [ref=e215]
|
||||
- generic [ref=e216]: so you get exactly what you need for reliable product performance.
|
||||
- generic [ref=e217] [cursor=pointer]:
|
||||
- generic [ref=e218]:
|
||||
- generic [ref=e219]: 0:40 → 0:44
|
||||
- button "Jump" [ref=e220]
|
||||
- generic [ref=e221]: We work closely with you, so you get the support you need.
|
||||
- generic [ref=e222] [cursor=pointer]:
|
||||
- generic [ref=e223]:
|
||||
- generic [ref=e224]: 0:45 → 0:48
|
||||
- button "Jump" [ref=e225]
|
||||
- generic [ref=e226]: Your work, combined with our solutions,
|
||||
- generic [ref=e227] [cursor=pointer]:
|
||||
- generic [ref=e228]:
|
||||
- generic [ref=e229]: 0:50 → 0:52
|
||||
- button "Jump" [ref=e230]
|
||||
- generic [ref=e231]: can help avoid costly downtime
|
||||
- generic [ref=e232] [cursor=pointer]:
|
||||
- generic [ref=e233]:
|
||||
- generic [ref=e234]: 0:52 → 0:55
|
||||
- button "Jump" [ref=e235]
|
||||
- generic [ref=e236]: and keep your renewable systems up and running smoothly.
|
||||
- generic [ref=e237] [cursor=pointer]:
|
||||
- generic [ref=e238]:
|
||||
- generic [ref=e239]: 0:56 → 0:59
|
||||
- button "Jump" [ref=e240]
|
||||
- generic [ref=e241]: Wherever the job takes you, we have your solution.
|
||||
- generic [ref=e242] [cursor=pointer]:
|
||||
- generic [ref=e243]:
|
||||
- generic [ref=e244]: 1:01 → 1:04
|
||||
- button "Jump" [ref=e245]
|
||||
- generic [ref=e246]: 3M. Science. Applied to Life.
|
||||
- generic [ref=e247]:
|
||||
- generic [ref=e248]:
|
||||
- generic [ref=e249]:
|
||||
- generic [ref=e250]: Closed Captions (EN)
|
||||
- button "Upload .vtt" [ref=e251]
|
||||
- generic [ref=e252]:
|
||||
- heading "Closed Captions (EN)" [level=3] [ref=e255]
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]:
|
||||
- generic [ref=e259]:
|
||||
- generic [ref=e260]:
|
||||
- generic [ref=e261]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e262]': 00:00:00.000
|
||||
- generic [ref=e263]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e264]': 00:00:05.500
|
||||
- generic [ref=e265]: (5500ms)
|
||||
- generic [ref=e266]:
|
||||
- button "Insert cue before" [ref=e267]:
|
||||
- img [ref=e268]
|
||||
- button "Insert cue after" [ref=e270]:
|
||||
- img [ref=e271]
|
||||
- button "Delete cue" [ref=e273]:
|
||||
- img [ref=e274]
|
||||
- generic [ref=e276]:
|
||||
- generic [ref=e277]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- button "Edit text" [ref=e278]
|
||||
- generic [ref=e279]:
|
||||
- generic [ref=e280]:
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e283]': 00:00:06.000
|
||||
- generic [ref=e284]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e285]': 00:00:10.000
|
||||
- generic [ref=e286]: (4000ms)
|
||||
- generic [ref=e287]:
|
||||
- button "Insert cue before" [ref=e288]:
|
||||
- img [ref=e289]
|
||||
- button "Insert cue after" [ref=e291]:
|
||||
- img [ref=e292]
|
||||
- button "Delete cue" [ref=e294]:
|
||||
- img [ref=e295]
|
||||
- generic [ref=e297]:
|
||||
- generic [ref=e298]: With more than 50 years of experience working in the field on energy projects,
|
||||
- button "Edit text" [ref=e299]
|
||||
- generic [ref=e300]:
|
||||
- generic [ref=e301]:
|
||||
- generic [ref=e302]:
|
||||
- generic [ref=e303]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e304]': 00:00:10.000
|
||||
- generic [ref=e305]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e306]': 00:00:13.500
|
||||
- generic [ref=e307]: (3500ms)
|
||||
- generic [ref=e308]:
|
||||
- button "Insert cue before" [ref=e309]:
|
||||
- img [ref=e310]
|
||||
- button "Insert cue after" [ref=e312]:
|
||||
- img [ref=e313]
|
||||
- button "Delete cue" [ref=e315]:
|
||||
- img [ref=e316]
|
||||
- generic [ref=e318]:
|
||||
- generic [ref=e319]: 3M has your solution to help you make your work more reliable, easier,
|
||||
- button "Edit text" [ref=e320]
|
||||
- generic [ref=e321]:
|
||||
- generic [ref=e322]:
|
||||
- generic [ref=e323]:
|
||||
- generic [ref=e324]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e325]': 00:00:13.500
|
||||
- generic [ref=e326]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e327]': 00:00:16.000
|
||||
- generic [ref=e328]: (2500ms)
|
||||
- generic [ref=e329]:
|
||||
- button "Insert cue before" [ref=e330]:
|
||||
- img [ref=e331]
|
||||
- button "Insert cue after" [ref=e333]:
|
||||
- img [ref=e334]
|
||||
- button "Delete cue" [ref=e336]:
|
||||
- img [ref=e337]
|
||||
- generic [ref=e339]:
|
||||
- generic [ref=e340]: and faster for solar energy projects,
|
||||
- button "Edit text" [ref=e341]
|
||||
- generic [ref=e342]:
|
||||
- generic [ref=e343]:
|
||||
- generic [ref=e344]:
|
||||
- generic [ref=e345]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e346]': 00:00:16.000
|
||||
- generic [ref=e347]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e348]': 00:00:18.500
|
||||
- generic [ref=e349]: (2500ms)
|
||||
- generic [ref=e350]:
|
||||
- button "Insert cue before" [ref=e351]:
|
||||
- img [ref=e352]
|
||||
- button "Insert cue after" [ref=e354]:
|
||||
- img [ref=e355]
|
||||
- button "Delete cue" [ref=e357]:
|
||||
- img [ref=e358]
|
||||
- generic [ref=e360]:
|
||||
- generic [ref=e361]: wind energy projects,
|
||||
- button "Edit text" [ref=e362]
|
||||
- generic [ref=e363]:
|
||||
- generic [ref=e364]:
|
||||
- generic [ref=e365]:
|
||||
- generic [ref=e366]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e367]': 00:00:18.500
|
||||
- generic [ref=e368]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e369]': 00:00:21.500
|
||||
- generic [ref=e370]: (3000ms)
|
||||
- generic [ref=e371]:
|
||||
- button "Insert cue before" [ref=e372]:
|
||||
- img [ref=e373]
|
||||
- button "Insert cue after" [ref=e375]:
|
||||
- img [ref=e376]
|
||||
- button "Delete cue" [ref=e378]:
|
||||
- img [ref=e379]
|
||||
- generic [ref=e381]:
|
||||
- generic [ref=e382]: and battery energy storage systems.
|
||||
- button "Edit text" [ref=e383]
|
||||
- generic [ref=e384]:
|
||||
- generic [ref=e385]:
|
||||
- generic [ref=e386]:
|
||||
- generic [ref=e387]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e388]': 00:00:21.500
|
||||
- generic [ref=e389]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e390]': 00:00:25.000
|
||||
- generic [ref=e391]: (3500ms)
|
||||
- generic [ref=e392]:
|
||||
- button "Insert cue before" [ref=e393]:
|
||||
- img [ref=e394]
|
||||
- button "Insert cue after" [ref=e396]:
|
||||
- img [ref=e397]
|
||||
- button "Delete cue" [ref=e399]:
|
||||
- img [ref=e400]
|
||||
- generic [ref=e402]:
|
||||
- generic [ref=e403]: We can help you solve your electrical installation challenges.
|
||||
- button "Edit text" [ref=e404]
|
||||
- generic [ref=e405]:
|
||||
- generic [ref=e406]:
|
||||
- generic [ref=e407]:
|
||||
- generic [ref=e408]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e409]': 00:00:25.000
|
||||
- generic [ref=e410]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e411]': 00:00:28.000
|
||||
- generic [ref=e412]: (3000ms)
|
||||
- generic [ref=e413]:
|
||||
- button "Insert cue before" [ref=e414]:
|
||||
- img [ref=e415]
|
||||
- button "Insert cue after" [ref=e417]:
|
||||
- img [ref=e418]
|
||||
- button "Delete cue" [ref=e420]:
|
||||
- img [ref=e421]
|
||||
- generic [ref=e423]:
|
||||
- generic [ref=e424]: 3M provides advanced technology solutions
|
||||
- button "Edit text" [ref=e425]
|
||||
- generic [ref=e426]:
|
||||
- generic [ref=e427]:
|
||||
- generic [ref=e428]:
|
||||
- generic [ref=e429]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e430]': 00:00:28.000
|
||||
- generic [ref=e431]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e432]': 00:00:32.000
|
||||
- generic [ref=e433]: (4000ms)
|
||||
- generic [ref=e434]:
|
||||
- button "Insert cue before" [ref=e435]:
|
||||
- img [ref=e436]
|
||||
- button "Insert cue after" [ref=e438]:
|
||||
- img [ref=e439]
|
||||
- button "Delete cue" [ref=e441]:
|
||||
- img [ref=e442]
|
||||
- generic [ref=e444]:
|
||||
- generic [ref=e445]: in insulating, connecting, and terminating medium and high voltage cables.
|
||||
- button "Edit text" [ref=e446]
|
||||
- generic [ref=e447]:
|
||||
- generic [ref=e448]:
|
||||
- generic [ref=e449]:
|
||||
- generic [ref=e450]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e451]': 00:00:32.000
|
||||
- generic [ref=e452]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e453]': 00:00:35.000
|
||||
- generic [ref=e454]: (3000ms)
|
||||
- generic [ref=e455]:
|
||||
- button "Insert cue before" [ref=e456]:
|
||||
- img [ref=e457]
|
||||
- button "Insert cue after" [ref=e459]:
|
||||
- img [ref=e460]
|
||||
- button "Delete cue" [ref=e462]:
|
||||
- img [ref=e463]
|
||||
- generic [ref=e465]:
|
||||
- generic [ref=e466]: Our engineers can help with your projects
|
||||
- button "Edit text" [ref=e467]
|
||||
- generic [ref=e468]:
|
||||
- generic [ref=e469]:
|
||||
- generic [ref=e470]:
|
||||
- generic [ref=e471]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e472]': 00:00:35.000
|
||||
- generic [ref=e473]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e474]': 00:00:37.500
|
||||
- generic [ref=e475]: (2500ms)
|
||||
- generic [ref=e476]:
|
||||
- button "Insert cue before" [ref=e477]:
|
||||
- img [ref=e478]
|
||||
- button "Insert cue after" [ref=e480]:
|
||||
- img [ref=e481]
|
||||
- button "Delete cue" [ref=e483]:
|
||||
- img [ref=e484]
|
||||
- generic [ref=e486]:
|
||||
- generic [ref=e487]: and recommend customized product kits
|
||||
- button "Edit text" [ref=e488]
|
||||
- generic [ref=e489]:
|
||||
- generic [ref=e490]:
|
||||
- generic [ref=e491]:
|
||||
- generic [ref=e492]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e493]': 00:00:37.500
|
||||
- generic [ref=e494]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e495]': 00:00:40.500
|
||||
- generic [ref=e496]: (3000ms)
|
||||
- generic [ref=e497]:
|
||||
- button "Insert cue before" [ref=e498]:
|
||||
- img [ref=e499]
|
||||
- button "Insert cue after" [ref=e501]:
|
||||
- img [ref=e502]
|
||||
- button "Delete cue" [ref=e504]:
|
||||
- img [ref=e505]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e508]: ⚡ 22 CPS
|
||||
- generic [ref=e509]:
|
||||
- generic [ref=e510]: so you get exactly what you need for reliable product performance.
|
||||
- button "Edit text" [ref=e511]
|
||||
- generic [ref=e512]:
|
||||
- generic [ref=e513]:
|
||||
- generic [ref=e514]:
|
||||
- generic [ref=e515]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e516]': 00:00:40.500
|
||||
- generic [ref=e517]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e518]': 00:00:44.500
|
||||
- generic [ref=e519]: (4000ms)
|
||||
- generic [ref=e520]:
|
||||
- button "Insert cue before" [ref=e521]:
|
||||
- img [ref=e522]
|
||||
- button "Insert cue after" [ref=e524]:
|
||||
- img [ref=e525]
|
||||
- button "Delete cue" [ref=e527]:
|
||||
- img [ref=e528]
|
||||
- generic [ref=e530]:
|
||||
- generic [ref=e531]: We work closely with you, so you get the support you need.
|
||||
- button "Edit text" [ref=e532]
|
||||
- generic [ref=e533]:
|
||||
- generic [ref=e534]:
|
||||
- generic [ref=e535]:
|
||||
- generic [ref=e536]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e537]': 00:00:45.000
|
||||
- generic [ref=e538]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e539]': 00:00:48.500
|
||||
- generic [ref=e540]: (3500ms)
|
||||
- generic [ref=e541]:
|
||||
- button "Insert cue before" [ref=e542]:
|
||||
- img [ref=e543]
|
||||
- button "Insert cue after" [ref=e545]:
|
||||
- img [ref=e546]
|
||||
- button "Delete cue" [ref=e548]:
|
||||
- img [ref=e549]
|
||||
- generic [ref=e551]:
|
||||
- generic [ref=e552]: Your work, combined with our solutions,
|
||||
- button "Edit text" [ref=e553]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e554] [cursor=pointer]:
|
||||
- generic [ref=e555]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e556]:
|
||||
- generic [ref=e557]:
|
||||
- generic [ref=e558]:
|
||||
- generic [ref=e559]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e560]': 00:00:50.000
|
||||
- generic [ref=e561]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e562]': 00:00:52.000
|
||||
- generic [ref=e563]: (2000ms)
|
||||
- generic [ref=e564]:
|
||||
- button "Insert cue before" [ref=e565]:
|
||||
- img [ref=e566]
|
||||
- button "Insert cue after" [ref=e568]:
|
||||
- img [ref=e569]
|
||||
- button "Delete cue" [ref=e571]:
|
||||
- img [ref=e572]
|
||||
- generic [ref=e574]:
|
||||
- generic [ref=e575]: can help avoid costly downtime
|
||||
- button "Edit text" [ref=e576]
|
||||
- generic [ref=e577]:
|
||||
- generic [ref=e578]:
|
||||
- generic [ref=e579]:
|
||||
- generic [ref=e580]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e581]': 00:00:52.000
|
||||
- generic [ref=e582]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e583]': 00:00:55.500
|
||||
- generic [ref=e584]: (3500ms)
|
||||
- generic [ref=e585]:
|
||||
- button "Insert cue before" [ref=e586]:
|
||||
- img [ref=e587]
|
||||
- button "Insert cue after" [ref=e589]:
|
||||
- img [ref=e590]
|
||||
- button "Delete cue" [ref=e592]:
|
||||
- img [ref=e593]
|
||||
- generic [ref=e595]:
|
||||
- generic [ref=e596]: and keep your renewable systems up and running smoothly.
|
||||
- button "Edit text" [ref=e597]
|
||||
- generic "Insert cue in this gap (1.0s gap)" [ref=e598] [cursor=pointer]:
|
||||
- generic [ref=e599]: + Add cue here · 1.0s gap
|
||||
- generic [ref=e600]:
|
||||
- generic [ref=e601]:
|
||||
- generic [ref=e602]:
|
||||
- generic [ref=e603]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e604]': 00:00:56.500
|
||||
- generic [ref=e605]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e606]': 00:00:59.500
|
||||
- generic [ref=e607]: (3000ms)
|
||||
- generic [ref=e608]:
|
||||
- button "Insert cue before" [ref=e609]:
|
||||
- img [ref=e610]
|
||||
- button "Insert cue after" [ref=e612]:
|
||||
- img [ref=e613]
|
||||
- button "Delete cue" [ref=e615]:
|
||||
- img [ref=e616]
|
||||
- generic [ref=e618]:
|
||||
- generic [ref=e619]: Wherever the job takes you, we have your solution.
|
||||
- button "Edit text" [ref=e620]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e621] [cursor=pointer]:
|
||||
- generic [ref=e622]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e623]:
|
||||
- generic [ref=e624]:
|
||||
- generic [ref=e625]:
|
||||
- generic [ref=e626]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e627]': 00:01:01.000
|
||||
- generic [ref=e628]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e629]': 00:01:04.000
|
||||
- generic [ref=e630]: (3000ms)
|
||||
- generic [ref=e631]:
|
||||
- button "Insert cue before" [ref=e632]:
|
||||
- img [ref=e633]
|
||||
- button "Insert cue after" [ref=e635]:
|
||||
- img [ref=e636]
|
||||
- button "Delete cue" [ref=e638]:
|
||||
- img [ref=e639]
|
||||
- generic [ref=e641]:
|
||||
- generic [ref=e642]: 3M. Science. Applied to Life.
|
||||
- button "Edit text" [ref=e643]
|
||||
- generic [ref=e644]: "18 cues • Total duration: 1:04.000"
|
||||
- button "↔ Diff vs AI baseline" [ref=e646]
|
||||
- generic [ref=e647]:
|
||||
- generic [ref=e648]:
|
||||
- generic [ref=e649]: Audio Description (EN)
|
||||
- button "Upload .vtt" [ref=e650]
|
||||
- generic [ref=e651]:
|
||||
- heading "Audio Description (EN)" [level=3] [ref=e654]
|
||||
- generic [ref=e656]:
|
||||
- generic [ref=e657]:
|
||||
- generic [ref=e658]:
|
||||
- generic [ref=e659]:
|
||||
- generic [ref=e660]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e661]': 00:00:00.000
|
||||
- generic [ref=e662]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e663]': 00:00:05.500
|
||||
- generic [ref=e664]: (5500ms)
|
||||
- generic [ref=e665]:
|
||||
- button "Insert cue before" [ref=e666]:
|
||||
- img [ref=e667]
|
||||
- button "Insert cue after" [ref=e669]:
|
||||
- img [ref=e670]
|
||||
- button "Delete cue" [ref=e672]:
|
||||
- img [ref=e673]
|
||||
- generic [ref=e675]:
|
||||
- generic [ref=e676]: "An aerial view of a massive solar panel farm. Text on screen reads: 3M Science. Applied to Life."
|
||||
- button "Edit text" [ref=e677]
|
||||
- generic [ref=e678]:
|
||||
- generic [ref=e679]:
|
||||
- generic [ref=e680]:
|
||||
- generic [ref=e681]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e682]': 00:00:06.000
|
||||
- generic [ref=e683]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e684]': 00:00:10.000
|
||||
- generic [ref=e685]: (4000ms)
|
||||
- generic [ref=e686]:
|
||||
- button "Insert cue before" [ref=e687]:
|
||||
- img [ref=e688]
|
||||
- button "Insert cue after" [ref=e690]:
|
||||
- img [ref=e691]
|
||||
- button "Delete cue" [ref=e693]:
|
||||
- img [ref=e694]
|
||||
- generic [ref=e696]:
|
||||
- generic [ref=e697]: Three workers in hard hats stand near solar panels.
|
||||
- button "Edit text" [ref=e698]
|
||||
- generic [ref=e699]:
|
||||
- generic [ref=e700]:
|
||||
- generic [ref=e701]:
|
||||
- generic [ref=e702]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e703]': 00:00:10.000
|
||||
- generic [ref=e704]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e705]': 00:00:13.500
|
||||
- generic [ref=e706]: (3500ms)
|
||||
- generic [ref=e707]:
|
||||
- button "Insert cue before" [ref=e708]:
|
||||
- img [ref=e709]
|
||||
- button "Insert cue after" [ref=e711]:
|
||||
- img [ref=e712]
|
||||
- button "Delete cue" [ref=e714]:
|
||||
- img [ref=e715]
|
||||
- generic [ref=e717]:
|
||||
- generic [ref=e718]: A gloved hand inserts a metal rod into a grey rubber sleeve.
|
||||
- button "Edit text" [ref=e719]
|
||||
- generic [ref=e720]:
|
||||
- generic [ref=e721]:
|
||||
- generic [ref=e722]:
|
||||
- generic [ref=e723]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e724]': 00:00:13.500
|
||||
- generic [ref=e725]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e726]': 00:00:16.000
|
||||
- generic [ref=e727]: (2500ms)
|
||||
- generic [ref=e728]:
|
||||
- button "Insert cue before" [ref=e729]:
|
||||
- img [ref=e730]
|
||||
- button "Insert cue after" [ref=e732]:
|
||||
- img [ref=e733]
|
||||
- button "Delete cue" [ref=e735]:
|
||||
- img [ref=e736]
|
||||
- generic [ref=e738]:
|
||||
- generic [ref=e739]: Three workers walk past solar panels.
|
||||
- button "Edit text" [ref=e740]
|
||||
- generic [ref=e741]:
|
||||
- generic [ref=e742]:
|
||||
- generic [ref=e743]:
|
||||
- generic [ref=e744]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e745]': 00:00:16.000
|
||||
- generic [ref=e746]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e747]': 00:00:18.500
|
||||
- generic [ref=e748]: (2500ms)
|
||||
- generic [ref=e749]:
|
||||
- button "Insert cue before" [ref=e750]:
|
||||
- img [ref=e751]
|
||||
- button "Insert cue after" [ref=e753]:
|
||||
- img [ref=e754]
|
||||
- button "Delete cue" [ref=e756]:
|
||||
- img [ref=e757]
|
||||
- generic [ref=e759]:
|
||||
- generic [ref=e760]: Wind turbines stand in the ocean at sunset.
|
||||
- button "Edit text" [ref=e761]
|
||||
- generic [ref=e762]:
|
||||
- generic [ref=e763]:
|
||||
- generic [ref=e764]:
|
||||
- generic [ref=e765]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e766]': 00:00:18.500
|
||||
- generic [ref=e767]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e768]': 00:00:21.500
|
||||
- generic [ref=e769]: (3000ms)
|
||||
- generic [ref=e770]:
|
||||
- button "Insert cue before" [ref=e771]:
|
||||
- img [ref=e772]
|
||||
- button "Insert cue after" [ref=e774]:
|
||||
- img [ref=e775]
|
||||
- button "Delete cue" [ref=e777]:
|
||||
- img [ref=e778]
|
||||
- generic [ref=e780]:
|
||||
- generic [ref=e781]: Rows of white battery storage units at an industrial site.
|
||||
- button "Edit text" [ref=e782]
|
||||
- generic [ref=e783]:
|
||||
- generic [ref=e784]:
|
||||
- generic [ref=e785]:
|
||||
- generic [ref=e786]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e787]': 00:00:21.500
|
||||
- generic [ref=e788]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e789]': 00:00:25.000
|
||||
- generic [ref=e790]: (3500ms)
|
||||
- generic [ref=e791]:
|
||||
- button "Insert cue before" [ref=e792]:
|
||||
- img [ref=e793]
|
||||
- button "Insert cue after" [ref=e795]:
|
||||
- img [ref=e796]
|
||||
- button "Delete cue" [ref=e798]:
|
||||
- img [ref=e799]
|
||||
- generic [ref=e801]:
|
||||
- generic [ref=e802]: Two workers look up at the underside of a solar panel.
|
||||
- button "Edit text" [ref=e803]
|
||||
- generic [ref=e804]:
|
||||
- generic [ref=e805]:
|
||||
- generic [ref=e806]:
|
||||
- generic [ref=e807]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e808]': 00:00:25.000
|
||||
- generic [ref=e809]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e810]': 00:00:28.000
|
||||
- generic [ref=e811]: (3000ms)
|
||||
- generic [ref=e812]:
|
||||
- button "Insert cue before" [ref=e813]:
|
||||
- img [ref=e814]
|
||||
- button "Insert cue after" [ref=e816]:
|
||||
- img [ref=e817]
|
||||
- button "Delete cue" [ref=e819]:
|
||||
- img [ref=e820]
|
||||
- generic [ref=e822]:
|
||||
- generic [ref=e823]: Workers install cables in a trench.
|
||||
- button "Edit text" [ref=e824]
|
||||
- generic [ref=e825]:
|
||||
- generic [ref=e826]:
|
||||
- generic [ref=e827]:
|
||||
- generic [ref=e828]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e829]': 00:00:28.000
|
||||
- generic [ref=e830]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e831]': 00:00:32.000
|
||||
- generic [ref=e832]: (4000ms)
|
||||
- generic [ref=e833]:
|
||||
- button "Insert cue before" [ref=e834]:
|
||||
- img [ref=e835]
|
||||
- button "Insert cue after" [ref=e837]:
|
||||
- img [ref=e838]
|
||||
- button "Delete cue" [ref=e840]:
|
||||
- img [ref=e841]
|
||||
- generic [ref=e843]:
|
||||
- generic [ref=e844]: A worker wipes a thick black cable with a cloth.
|
||||
- button "Edit text" [ref=e845]
|
||||
- generic [ref=e846]:
|
||||
- generic [ref=e847]:
|
||||
- generic [ref=e848]:
|
||||
- generic [ref=e849]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e850]': 00:00:32.000
|
||||
- generic [ref=e851]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e852]': 00:00:35.000
|
||||
- generic [ref=e853]: (3000ms)
|
||||
- generic [ref=e854]:
|
||||
- button "Insert cue before" [ref=e855]:
|
||||
- img [ref=e856]
|
||||
- button "Insert cue after" [ref=e858]:
|
||||
- img [ref=e859]
|
||||
- button "Delete cue" [ref=e861]:
|
||||
- img [ref=e862]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e865]: ⚡ 22 CPS
|
||||
- generic [ref=e866]:
|
||||
- generic [ref=e867]: "A worker stands next to a cardboard box. Text on screen reads: 3M."
|
||||
- button "Edit text" [ref=e868]
|
||||
- generic [ref=e869]:
|
||||
- generic [ref=e870]:
|
||||
- generic [ref=e871]:
|
||||
- generic [ref=e872]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e873]': 00:00:35.000
|
||||
- generic [ref=e874]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e875]': 00:00:40.500
|
||||
- generic [ref=e876]: (5500ms)
|
||||
- generic [ref=e877]:
|
||||
- button "Insert cue before" [ref=e878]:
|
||||
- img [ref=e879]
|
||||
- button "Insert cue after" [ref=e881]:
|
||||
- img [ref=e882]
|
||||
- button "Delete cue" [ref=e884]:
|
||||
- img [ref=e885]
|
||||
- generic [ref=e887]:
|
||||
- generic [ref=e888]: A worker pulls a product from a 3M box. Another holds a document with diagrams.
|
||||
- button "Edit text" [ref=e889]
|
||||
- generic [ref=e890]:
|
||||
- generic [ref=e891]:
|
||||
- generic [ref=e892]:
|
||||
- generic [ref=e893]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e894]': 00:00:40.500
|
||||
- generic [ref=e895]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e896]': 00:00:44.500
|
||||
- generic [ref=e897]: (4000ms)
|
||||
- generic [ref=e898]:
|
||||
- button "Insert cue before" [ref=e899]:
|
||||
- img [ref=e900]
|
||||
- button "Insert cue after" [ref=e902]:
|
||||
- img [ref=e903]
|
||||
- button "Delete cue" [ref=e905]:
|
||||
- img [ref=e906]
|
||||
- generic [ref=e908]:
|
||||
- generic [ref=e909]: Two workers examine a cable component.
|
||||
- button "Edit text" [ref=e910]
|
||||
- generic [ref=e911]:
|
||||
- generic [ref=e912]:
|
||||
- generic [ref=e913]:
|
||||
- generic [ref=e914]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e915]': 00:00:44.500
|
||||
- generic [ref=e916]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e917]': 00:00:48.500
|
||||
- generic [ref=e918]: (4000ms)
|
||||
- generic [ref=e919]:
|
||||
- button "Insert cue before" [ref=e920]:
|
||||
- img [ref=e921]
|
||||
- button "Insert cue after" [ref=e923]:
|
||||
- img [ref=e924]
|
||||
- button "Delete cue" [ref=e926]:
|
||||
- img [ref=e927]
|
||||
- generic [ref=e929]:
|
||||
- generic [ref=e930]: A worker pulls a plastic core from a rubber sleeve on a cable.
|
||||
- button "Edit text" [ref=e931]
|
||||
- generic [ref=e932]:
|
||||
- generic [ref=e933]:
|
||||
- generic [ref=e934]:
|
||||
- generic [ref=e935]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e936]': 00:00:48.500
|
||||
- generic [ref=e937]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e938]': 00:00:51.500
|
||||
- generic [ref=e939]: (3000ms)
|
||||
- generic [ref=e940]:
|
||||
- button "Insert cue before" [ref=e941]:
|
||||
- img [ref=e942]
|
||||
- button "Insert cue after" [ref=e944]:
|
||||
- img [ref=e945]
|
||||
- button "Delete cue" [ref=e947]:
|
||||
- img [ref=e948]
|
||||
- generic [ref=e950]:
|
||||
- generic [ref=e951]: A worker inserts a black plug into a yellow socket.
|
||||
- button "Edit text" [ref=e952]
|
||||
- generic [ref=e953]:
|
||||
- generic [ref=e954]:
|
||||
- generic [ref=e955]:
|
||||
- generic [ref=e956]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e957]': 00:00:51.500
|
||||
- generic [ref=e958]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e959]': 00:00:55.500
|
||||
- generic [ref=e960]: (4000ms)
|
||||
- generic [ref=e961]:
|
||||
- button "Insert cue before" [ref=e962]:
|
||||
- img [ref=e963]
|
||||
- button "Insert cue after" [ref=e965]:
|
||||
- img [ref=e966]
|
||||
- button "Delete cue" [ref=e968]:
|
||||
- img [ref=e969]
|
||||
- generic [ref=e971]:
|
||||
- generic [ref=e972]: Two workers use a power tool on a cable connection.
|
||||
- button "Edit text" [ref=e973]
|
||||
- generic [ref=e974]:
|
||||
- generic [ref=e975]:
|
||||
- generic [ref=e976]:
|
||||
- generic [ref=e977]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e978]': 00:00:55.500
|
||||
- generic [ref=e979]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e980]': 00:01:00.000
|
||||
- generic [ref=e981]: (4500ms)
|
||||
- generic [ref=e982]:
|
||||
- button "Insert cue before" [ref=e983]:
|
||||
- img [ref=e984]
|
||||
- button "Insert cue after" [ref=e986]:
|
||||
- img [ref=e987]
|
||||
- button "Delete cue" [ref=e989]:
|
||||
- img [ref=e990]
|
||||
- generic [ref=e992]:
|
||||
- generic [ref=e993]: The spoken words appear as text on a black background.
|
||||
- button "Edit text" [ref=e994]
|
||||
- generic [ref=e995]:
|
||||
- generic [ref=e996]:
|
||||
- generic [ref=e997]:
|
||||
- generic [ref=e998]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e999]': 00:01:00.000
|
||||
- generic [ref=e1000]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1001]': 00:01:04.000
|
||||
- generic [ref=e1002]: (4000ms)
|
||||
- generic [ref=e1003]:
|
||||
- button "Insert cue before" [ref=e1004]:
|
||||
- img [ref=e1005]
|
||||
- button "Insert cue after" [ref=e1007]:
|
||||
- img [ref=e1008]
|
||||
- button "Delete cue" [ref=e1010]:
|
||||
- img [ref=e1011]
|
||||
- generic [ref=e1013]:
|
||||
- generic [ref=e1014]: "Text on screen reads: 3M Science. Applied to Life."
|
||||
- button "Edit text" [ref=e1015]
|
||||
- generic [ref=e1016]:
|
||||
- generic [ref=e1017]:
|
||||
- generic [ref=e1018]:
|
||||
- generic [ref=e1019]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1020]': 00:01:04.000
|
||||
- generic [ref=e1021]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1022]': 00:01:08.000
|
||||
- generic [ref=e1023]: (4000ms)
|
||||
- generic [ref=e1024]:
|
||||
- button "Insert cue before" [ref=e1025]:
|
||||
- img [ref=e1026]
|
||||
- button "Insert cue after" [ref=e1028]:
|
||||
- img [ref=e1029]
|
||||
- button "Delete cue" [ref=e1031]:
|
||||
- img [ref=e1032]
|
||||
- generic "138.5 characters per second — above the 20 CPS recommended limit" [ref=e1035]: ⚡ 139 CPS
|
||||
- generic [ref=e1036]:
|
||||
- generic [ref=e1037]: "Text on screen reads: The information contained in this video is intended for occupational use by persons with knowledge and technical skills to use such information. It is supplemental only and is not intended to replace the detailed information found in written 3M product instruction and installation manuals. For additional information, including important safety and warranty information regarding 3M Electrical Markets products, refer to the relevant product packaging or data sheet. © 3M 2022. All rights reserved. 3M is a trademark of 3M Company."
|
||||
- button "Edit text" [ref=e1038]
|
||||
- generic [ref=e1039]: "18 cues • Total duration: 1:08.000"
|
||||
- button "↔ Diff vs AI baseline" [ref=e1041]
|
||||
- generic [ref=e1043]:
|
||||
- heading "VTT Timing Adjustment" [level=3] [ref=e1044]
|
||||
- button "Adjust Timing" [ref=e1045]
|
||||
- button "Voice Settings for Audio Description (Configured) Click to customize or override TTS voice" [ref=e1047]:
|
||||
- generic [ref=e1048]:
|
||||
- img [ref=e1049]
|
||||
- generic [ref=e1051]: Voice Settings for Audio Description
|
||||
- generic [ref=e1052]: (Configured)
|
||||
- generic [ref=e1053]: Click to customize or override TTS voice
|
||||
- generic [ref=e1054]:
|
||||
- generic [ref=e1055]: Cost Tracker Project ID
|
||||
- generic [ref=e1056]:
|
||||
- textbox "e.g. ford-q3-2026" [ref=e1057]
|
||||
- button "Save" [ref=e1058]
|
||||
- paragraph [ref=e1059]: Links this job to a project in the AI Cost Dashboard.
|
||||
- button "Download Assets Click to download individual files" [ref=e1061]:
|
||||
- generic [ref=e1062]:
|
||||
- img [ref=e1063]
|
||||
- generic [ref=e1065]: Download Assets
|
||||
- generic [ref=e1066]: Click to download individual files
|
||||
- generic [ref=e1067]:
|
||||
- generic [ref=e1068]: Review Notes
|
||||
- textbox "Add any notes about this review..." [ref=e1069]
|
||||
- generic [ref=e1070]:
|
||||
- button "Approve All Languages" [ref=e1071]
|
||||
- button "Reject Job" [ref=e1072]
|
||||
938
.playwright-mcp/page-2026-05-01T12-52-50-638Z.yml
Normal file
|
|
@ -0,0 +1,938 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e86]:
|
||||
- generic [ref=e87]:
|
||||
- generic [ref=e91]:
|
||||
- heading "test-video" [level=1] [ref=e92]
|
||||
- button "Rename" [ref=e93]:
|
||||
- img [ref=e94]
|
||||
- generic [ref=e96]:
|
||||
- generic [ref=e97]: QC Feedback
|
||||
- generic [ref=e98]: "Source: 69f49ed8694cf102e622687f/source.mp4"
|
||||
- generic [ref=e99]: "Language: EN"
|
||||
- generic [ref=e100]: "Duration: 68s"
|
||||
- generic [ref=e88]:
|
||||
- button "↗ Share link" [ref=e101]
|
||||
- button "← Back to Queue" [ref=e102]
|
||||
- generic [ref=e103]:
|
||||
- generic [ref=e105]:
|
||||
- generic [ref=e106]: Languages
|
||||
- generic [ref=e107]: 0/1 approved
|
||||
- generic [ref=e109]:
|
||||
- button "⏳ EN (source) Pending ▲" [ref=e1093]:
|
||||
- generic [ref=e111]:
|
||||
- generic [ref=e112]: ⏳
|
||||
- generic [ref=e113]: EN
|
||||
- generic [ref=e114]: (source)
|
||||
- generic [ref=e115]: Pending
|
||||
- generic [ref=e116]: ▲
|
||||
- generic [ref=e117]:
|
||||
- generic [ref=e118]:
|
||||
- generic [ref=e119]:
|
||||
- generic [ref=e120]: Linguist
|
||||
- generic [ref=e121]: Unassigned
|
||||
- button "Assign linguist" [ref=e122]
|
||||
- generic [ref=e123]:
|
||||
- generic [ref=e124]: Reviewer
|
||||
- generic [ref=e125]: Unassigned
|
||||
- button "Assign reviewer" [ref=e126]
|
||||
- generic [ref=e127]:
|
||||
- button "✓ Approve" [ref=e1095]
|
||||
- button "✕ Request changes" [ref=e128]
|
||||
- button "💬 Comments (0)" [ref=e131]
|
||||
- generic [ref=e132]:
|
||||
- generic [ref=e133]:
|
||||
- generic [ref=e134]: "View Mode:"
|
||||
- generic [ref=e135]:
|
||||
- button "Side by Side (1)" [ref=e136]
|
||||
- button "Video Only (2)" [ref=e137]
|
||||
- button "Editor Only (3)" [ref=e138]
|
||||
- generic [ref=e139]: "Shortcuts: A=Approve, R=Reject"
|
||||
- generic [ref=e141]:
|
||||
- heading "Video Preview" [level=3] [ref=e143]
|
||||
- generic [ref=e144]:
|
||||
- generic [ref=e145]:
|
||||
- generic [ref=e146]: Your browser does not support the video tag.
|
||||
- generic [ref=e148]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- generic [ref=e149]:
|
||||
- generic [ref=e150]:
|
||||
- checkbox "Show Captions" [checked] [ref=e151]
|
||||
- generic [ref=e152]: Show Captions
|
||||
- generic [ref=e153]: "Time: 0:00"
|
||||
- generic [ref=e154]:
|
||||
- heading "Caption Timeline (English)" [level=4] [ref=e155]
|
||||
- generic [ref=e156]:
|
||||
- generic [ref=e157] [cursor=pointer]:
|
||||
- generic [ref=e158]:
|
||||
- generic [ref=e159]: 0:00 → 0:05
|
||||
- button "Jump" [ref=e160]
|
||||
- generic [ref=e161]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- generic [ref=e162] [cursor=pointer]:
|
||||
- generic [ref=e163]:
|
||||
- generic [ref=e164]: 0:06 → 0:10
|
||||
- button "Jump" [ref=e165]
|
||||
- generic [ref=e166]: With more than 50 years of experience working in the field on energy projects,
|
||||
- generic [ref=e167] [cursor=pointer]:
|
||||
- generic [ref=e168]:
|
||||
- generic [ref=e169]: 0:10 → 0:13
|
||||
- button "Jump" [ref=e170]
|
||||
- generic [ref=e171]: 3M has your solution to help you make your work more reliable, easier,
|
||||
- generic [ref=e172] [cursor=pointer]:
|
||||
- generic [ref=e173]:
|
||||
- generic [ref=e174]: 0:13 → 0:16
|
||||
- button "Jump" [ref=e175]
|
||||
- generic [ref=e176]: and faster for solar energy projects,
|
||||
- generic [ref=e177] [cursor=pointer]:
|
||||
- generic [ref=e178]:
|
||||
- generic [ref=e179]: 0:16 → 0:18
|
||||
- button "Jump" [ref=e180]
|
||||
- generic [ref=e181]: wind energy projects,
|
||||
- generic [ref=e182] [cursor=pointer]:
|
||||
- generic [ref=e183]:
|
||||
- generic [ref=e184]: 0:18 → 0:21
|
||||
- button "Jump" [ref=e185]
|
||||
- generic [ref=e186]: and battery energy storage systems.
|
||||
- generic [ref=e187] [cursor=pointer]:
|
||||
- generic [ref=e188]:
|
||||
- generic [ref=e189]: 0:21 → 0:25
|
||||
- button "Jump" [ref=e190]
|
||||
- generic [ref=e191]: We can help you solve your electrical installation challenges.
|
||||
- generic [ref=e192] [cursor=pointer]:
|
||||
- generic [ref=e193]:
|
||||
- generic [ref=e194]: 0:25 → 0:28
|
||||
- button "Jump" [ref=e195]
|
||||
- generic [ref=e196]: 3M provides advanced technology solutions
|
||||
- generic [ref=e197] [cursor=pointer]:
|
||||
- generic [ref=e198]:
|
||||
- generic [ref=e199]: 0:28 → 0:32
|
||||
- button "Jump" [ref=e200]
|
||||
- generic [ref=e201]: in insulating, connecting, and terminating medium and high voltage cables.
|
||||
- generic [ref=e202] [cursor=pointer]:
|
||||
- generic [ref=e203]:
|
||||
- generic [ref=e204]: 0:32 → 0:35
|
||||
- button "Jump" [ref=e205]
|
||||
- generic [ref=e206]: Our engineers can help with your projects
|
||||
- generic [ref=e207] [cursor=pointer]:
|
||||
- generic [ref=e208]:
|
||||
- generic [ref=e209]: 0:35 → 0:37
|
||||
- button "Jump" [ref=e210]
|
||||
- generic [ref=e211]: and recommend customized product kits
|
||||
- generic [ref=e212] [cursor=pointer]:
|
||||
- generic [ref=e213]:
|
||||
- generic [ref=e214]: 0:37 → 0:40
|
||||
- button "Jump" [ref=e215]
|
||||
- generic [ref=e216]: so you get exactly what you need for reliable product performance.
|
||||
- generic [ref=e217] [cursor=pointer]:
|
||||
- generic [ref=e218]:
|
||||
- generic [ref=e219]: 0:40 → 0:44
|
||||
- button "Jump" [ref=e220]
|
||||
- generic [ref=e221]: We work closely with you, so you get the support you need.
|
||||
- generic [ref=e222] [cursor=pointer]:
|
||||
- generic [ref=e223]:
|
||||
- generic [ref=e224]: 0:45 → 0:48
|
||||
- button "Jump" [ref=e225]
|
||||
- generic [ref=e226]: Your work, combined with our solutions,
|
||||
- generic [ref=e227] [cursor=pointer]:
|
||||
- generic [ref=e228]:
|
||||
- generic [ref=e229]: 0:50 → 0:52
|
||||
- button "Jump" [ref=e230]
|
||||
- generic [ref=e231]: can help avoid costly downtime
|
||||
- generic [ref=e232] [cursor=pointer]:
|
||||
- generic [ref=e233]:
|
||||
- generic [ref=e234]: 0:52 → 0:55
|
||||
- button "Jump" [ref=e235]
|
||||
- generic [ref=e236]: and keep your renewable systems up and running smoothly.
|
||||
- generic [ref=e237] [cursor=pointer]:
|
||||
- generic [ref=e238]:
|
||||
- generic [ref=e239]: 0:56 → 0:59
|
||||
- button "Jump" [ref=e240]
|
||||
- generic [ref=e241]: Wherever the job takes you, we have your solution.
|
||||
- generic [ref=e242] [cursor=pointer]:
|
||||
- generic [ref=e243]:
|
||||
- generic [ref=e244]: 1:01 → 1:04
|
||||
- button "Jump" [ref=e245]
|
||||
- generic [ref=e246]: 3M. Science. Applied to Life.
|
||||
- generic [ref=e247]:
|
||||
- generic [ref=e248]:
|
||||
- generic [ref=e249]:
|
||||
- generic [ref=e250]: Closed Captions (EN)
|
||||
- button "Upload .vtt" [ref=e251]
|
||||
- generic [ref=e252]:
|
||||
- heading "Closed Captions (EN)" [level=3] [ref=e255]
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]:
|
||||
- generic [ref=e259]:
|
||||
- generic [ref=e260]:
|
||||
- generic [ref=e261]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e262]': 00:00:00.000
|
||||
- generic [ref=e263]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e264]': 00:00:05.500
|
||||
- generic [ref=e265]: (5500ms)
|
||||
- generic [ref=e266]:
|
||||
- button "Insert cue before" [ref=e267]:
|
||||
- img [ref=e268]
|
||||
- button "Insert cue after" [ref=e270]:
|
||||
- img [ref=e271]
|
||||
- button "Delete cue" [ref=e273]:
|
||||
- img [ref=e274]
|
||||
- generic [ref=e276]:
|
||||
- generic [ref=e277]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- button "Edit text" [ref=e278]
|
||||
- generic [ref=e279]:
|
||||
- generic [ref=e280]:
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e283]': 00:00:06.000
|
||||
- generic [ref=e284]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e285]': 00:00:10.000
|
||||
- generic [ref=e286]: (4000ms)
|
||||
- generic [ref=e287]:
|
||||
- button "Insert cue before" [ref=e288]:
|
||||
- img [ref=e289]
|
||||
- button "Insert cue after" [ref=e291]:
|
||||
- img [ref=e292]
|
||||
- button "Delete cue" [ref=e294]:
|
||||
- img [ref=e295]
|
||||
- generic [ref=e297]:
|
||||
- generic [ref=e298]: With more than 50 years of experience working in the field on energy projects,
|
||||
- button "Edit text" [ref=e299]
|
||||
- generic [ref=e300]:
|
||||
- generic [ref=e301]:
|
||||
- generic [ref=e302]:
|
||||
- generic [ref=e303]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e304]': 00:00:10.000
|
||||
- generic [ref=e305]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e306]': 00:00:13.500
|
||||
- generic [ref=e307]: (3500ms)
|
||||
- generic [ref=e308]:
|
||||
- button "Insert cue before" [ref=e309]:
|
||||
- img [ref=e310]
|
||||
- button "Insert cue after" [ref=e312]:
|
||||
- img [ref=e313]
|
||||
- button "Delete cue" [ref=e315]:
|
||||
- img [ref=e316]
|
||||
- generic [ref=e318]:
|
||||
- generic [ref=e319]: 3M has your solution to help you make your work more reliable, easier,
|
||||
- button "Edit text" [ref=e320]
|
||||
- generic [ref=e321]:
|
||||
- generic [ref=e322]:
|
||||
- generic [ref=e323]:
|
||||
- generic [ref=e324]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e325]': 00:00:13.500
|
||||
- generic [ref=e326]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e327]': 00:00:16.000
|
||||
- generic [ref=e328]: (2500ms)
|
||||
- generic [ref=e329]:
|
||||
- button "Insert cue before" [ref=e330]:
|
||||
- img [ref=e331]
|
||||
- button "Insert cue after" [ref=e333]:
|
||||
- img [ref=e334]
|
||||
- button "Delete cue" [ref=e336]:
|
||||
- img [ref=e337]
|
||||
- generic [ref=e339]:
|
||||
- generic [ref=e340]: and faster for solar energy projects,
|
||||
- button "Edit text" [ref=e341]
|
||||
- generic [ref=e342]:
|
||||
- generic [ref=e343]:
|
||||
- generic [ref=e344]:
|
||||
- generic [ref=e345]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e346]': 00:00:16.000
|
||||
- generic [ref=e347]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e348]': 00:00:18.500
|
||||
- generic [ref=e349]: (2500ms)
|
||||
- generic [ref=e350]:
|
||||
- button "Insert cue before" [ref=e351]:
|
||||
- img [ref=e352]
|
||||
- button "Insert cue after" [ref=e354]:
|
||||
- img [ref=e355]
|
||||
- button "Delete cue" [ref=e357]:
|
||||
- img [ref=e358]
|
||||
- generic [ref=e360]:
|
||||
- generic [ref=e361]: wind energy projects,
|
||||
- button "Edit text" [ref=e362]
|
||||
- generic [ref=e363]:
|
||||
- generic [ref=e364]:
|
||||
- generic [ref=e365]:
|
||||
- generic [ref=e366]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e367]': 00:00:18.500
|
||||
- generic [ref=e368]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e369]': 00:00:21.500
|
||||
- generic [ref=e370]: (3000ms)
|
||||
- generic [ref=e371]:
|
||||
- button "Insert cue before" [ref=e372]:
|
||||
- img [ref=e373]
|
||||
- button "Insert cue after" [ref=e375]:
|
||||
- img [ref=e376]
|
||||
- button "Delete cue" [ref=e378]:
|
||||
- img [ref=e379]
|
||||
- generic [ref=e381]:
|
||||
- generic [ref=e382]: and battery energy storage systems.
|
||||
- button "Edit text" [ref=e383]
|
||||
- generic [ref=e384]:
|
||||
- generic [ref=e385]:
|
||||
- generic [ref=e386]:
|
||||
- generic [ref=e387]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e388]': 00:00:21.500
|
||||
- generic [ref=e389]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e390]': 00:00:25.000
|
||||
- generic [ref=e391]: (3500ms)
|
||||
- generic [ref=e392]:
|
||||
- button "Insert cue before" [ref=e393]:
|
||||
- img [ref=e394]
|
||||
- button "Insert cue after" [ref=e396]:
|
||||
- img [ref=e397]
|
||||
- button "Delete cue" [ref=e399]:
|
||||
- img [ref=e400]
|
||||
- generic [ref=e402]:
|
||||
- generic [ref=e403]: We can help you solve your electrical installation challenges.
|
||||
- button "Edit text" [ref=e404]
|
||||
- generic [ref=e405]:
|
||||
- generic [ref=e406]:
|
||||
- generic [ref=e407]:
|
||||
- generic [ref=e408]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e409]': 00:00:25.000
|
||||
- generic [ref=e410]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e411]': 00:00:28.000
|
||||
- generic [ref=e412]: (3000ms)
|
||||
- generic [ref=e413]:
|
||||
- button "Insert cue before" [ref=e414]:
|
||||
- img [ref=e415]
|
||||
- button "Insert cue after" [ref=e417]:
|
||||
- img [ref=e418]
|
||||
- button "Delete cue" [ref=e420]:
|
||||
- img [ref=e421]
|
||||
- generic [ref=e423]:
|
||||
- generic [ref=e424]: 3M provides advanced technology solutions
|
||||
- button "Edit text" [ref=e425]
|
||||
- generic [ref=e426]:
|
||||
- generic [ref=e427]:
|
||||
- generic [ref=e428]:
|
||||
- generic [ref=e429]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e430]': 00:00:28.000
|
||||
- generic [ref=e431]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e432]': 00:00:32.000
|
||||
- generic [ref=e433]: (4000ms)
|
||||
- generic [ref=e434]:
|
||||
- button "Insert cue before" [ref=e435]:
|
||||
- img [ref=e436]
|
||||
- button "Insert cue after" [ref=e438]:
|
||||
- img [ref=e439]
|
||||
- button "Delete cue" [ref=e441]:
|
||||
- img [ref=e442]
|
||||
- generic [ref=e444]:
|
||||
- generic [ref=e445]: in insulating, connecting, and terminating medium and high voltage cables.
|
||||
- button "Edit text" [ref=e446]
|
||||
- generic [ref=e447]:
|
||||
- generic [ref=e448]:
|
||||
- generic [ref=e449]:
|
||||
- generic [ref=e450]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e451]': 00:00:32.000
|
||||
- generic [ref=e452]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e453]': 00:00:35.000
|
||||
- generic [ref=e454]: (3000ms)
|
||||
- generic [ref=e455]:
|
||||
- button "Insert cue before" [ref=e456]:
|
||||
- img [ref=e457]
|
||||
- button "Insert cue after" [ref=e459]:
|
||||
- img [ref=e460]
|
||||
- button "Delete cue" [ref=e462]:
|
||||
- img [ref=e463]
|
||||
- generic [ref=e465]:
|
||||
- generic [ref=e466]: Our engineers can help with your projects
|
||||
- button "Edit text" [ref=e467]
|
||||
- generic [ref=e468]:
|
||||
- generic [ref=e469]:
|
||||
- generic [ref=e470]:
|
||||
- generic [ref=e471]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e472]': 00:00:35.000
|
||||
- generic [ref=e473]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e474]': 00:00:37.500
|
||||
- generic [ref=e475]: (2500ms)
|
||||
- generic [ref=e476]:
|
||||
- button "Insert cue before" [ref=e477]:
|
||||
- img [ref=e478]
|
||||
- button "Insert cue after" [ref=e480]:
|
||||
- img [ref=e481]
|
||||
- button "Delete cue" [ref=e483]:
|
||||
- img [ref=e484]
|
||||
- generic [ref=e486]:
|
||||
- generic [ref=e487]: and recommend customized product kits
|
||||
- button "Edit text" [ref=e488]
|
||||
- generic [ref=e489]:
|
||||
- generic [ref=e490]:
|
||||
- generic [ref=e491]:
|
||||
- generic [ref=e492]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e493]': 00:00:37.500
|
||||
- generic [ref=e494]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e495]': 00:00:40.500
|
||||
- generic [ref=e496]: (3000ms)
|
||||
- generic [ref=e497]:
|
||||
- button "Insert cue before" [ref=e498]:
|
||||
- img [ref=e499]
|
||||
- button "Insert cue after" [ref=e501]:
|
||||
- img [ref=e502]
|
||||
- button "Delete cue" [ref=e504]:
|
||||
- img [ref=e505]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e508]: ⚡ 22 CPS
|
||||
- generic [ref=e509]:
|
||||
- generic [ref=e510]: so you get exactly what you need for reliable product performance.
|
||||
- button "Edit text" [ref=e511]
|
||||
- generic [ref=e512]:
|
||||
- generic [ref=e513]:
|
||||
- generic [ref=e514]:
|
||||
- generic [ref=e515]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e516]': 00:00:40.500
|
||||
- generic [ref=e517]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e518]': 00:00:44.500
|
||||
- generic [ref=e519]: (4000ms)
|
||||
- generic [ref=e520]:
|
||||
- button "Insert cue before" [ref=e521]:
|
||||
- img [ref=e522]
|
||||
- button "Insert cue after" [ref=e524]:
|
||||
- img [ref=e525]
|
||||
- button "Delete cue" [ref=e527]:
|
||||
- img [ref=e528]
|
||||
- generic [ref=e530]:
|
||||
- generic [ref=e531]: We work closely with you, so you get the support you need.
|
||||
- button "Edit text" [ref=e532]
|
||||
- generic [ref=e533]:
|
||||
- generic [ref=e534]:
|
||||
- generic [ref=e535]:
|
||||
- generic [ref=e536]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e537]': 00:00:45.000
|
||||
- generic [ref=e538]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e539]': 00:00:48.500
|
||||
- generic [ref=e540]: (3500ms)
|
||||
- generic [ref=e541]:
|
||||
- button "Insert cue before" [ref=e542]:
|
||||
- img [ref=e543]
|
||||
- button "Insert cue after" [ref=e545]:
|
||||
- img [ref=e546]
|
||||
- button "Delete cue" [ref=e548]:
|
||||
- img [ref=e549]
|
||||
- generic [ref=e551]:
|
||||
- generic [ref=e552]: Your work, combined with our solutions,
|
||||
- button "Edit text" [ref=e553]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e554] [cursor=pointer]:
|
||||
- generic [ref=e555]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e556]:
|
||||
- generic [ref=e557]:
|
||||
- generic [ref=e558]:
|
||||
- generic [ref=e559]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e560]': 00:00:50.000
|
||||
- generic [ref=e561]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e562]': 00:00:52.000
|
||||
- generic [ref=e563]: (2000ms)
|
||||
- generic [ref=e564]:
|
||||
- button "Insert cue before" [ref=e565]:
|
||||
- img [ref=e566]
|
||||
- button "Insert cue after" [ref=e568]:
|
||||
- img [ref=e569]
|
||||
- button "Delete cue" [ref=e571]:
|
||||
- img [ref=e572]
|
||||
- generic [ref=e574]:
|
||||
- generic [ref=e575]: can help avoid costly downtime
|
||||
- button "Edit text" [ref=e576]
|
||||
- generic [ref=e577]:
|
||||
- generic [ref=e578]:
|
||||
- generic [ref=e579]:
|
||||
- generic [ref=e580]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e581]': 00:00:52.000
|
||||
- generic [ref=e582]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e583]': 00:00:55.500
|
||||
- generic [ref=e584]: (3500ms)
|
||||
- generic [ref=e585]:
|
||||
- button "Insert cue before" [ref=e586]:
|
||||
- img [ref=e587]
|
||||
- button "Insert cue after" [ref=e589]:
|
||||
- img [ref=e590]
|
||||
- button "Delete cue" [ref=e592]:
|
||||
- img [ref=e593]
|
||||
- generic [ref=e595]:
|
||||
- generic [ref=e596]: and keep your renewable systems up and running smoothly.
|
||||
- button "Edit text" [ref=e597]
|
||||
- generic "Insert cue in this gap (1.0s gap)" [ref=e598] [cursor=pointer]:
|
||||
- generic [ref=e599]: + Add cue here · 1.0s gap
|
||||
- generic [ref=e600]:
|
||||
- generic [ref=e601]:
|
||||
- generic [ref=e602]:
|
||||
- generic [ref=e603]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e604]': 00:00:56.500
|
||||
- generic [ref=e605]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e606]': 00:00:59.500
|
||||
- generic [ref=e607]: (3000ms)
|
||||
- generic [ref=e608]:
|
||||
- button "Insert cue before" [ref=e609]:
|
||||
- img [ref=e610]
|
||||
- button "Insert cue after" [ref=e612]:
|
||||
- img [ref=e613]
|
||||
- button "Delete cue" [ref=e615]:
|
||||
- img [ref=e616]
|
||||
- generic [ref=e618]:
|
||||
- generic [ref=e619]: Wherever the job takes you, we have your solution.
|
||||
- button "Edit text" [ref=e620]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e621] [cursor=pointer]:
|
||||
- generic [ref=e622]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e623]:
|
||||
- generic [ref=e624]:
|
||||
- generic [ref=e625]:
|
||||
- generic [ref=e626]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e627]': 00:01:01.000
|
||||
- generic [ref=e628]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e629]': 00:01:04.000
|
||||
- generic [ref=e630]: (3000ms)
|
||||
- generic [ref=e631]:
|
||||
- button "Insert cue before" [ref=e632]:
|
||||
- img [ref=e633]
|
||||
- button "Insert cue after" [ref=e635]:
|
||||
- img [ref=e636]
|
||||
- button "Delete cue" [ref=e638]:
|
||||
- img [ref=e639]
|
||||
- generic [ref=e641]:
|
||||
- generic [ref=e642]: 3M. Science. Applied to Life.
|
||||
- button "Edit text" [ref=e643]
|
||||
- generic [ref=e644]: "18 cues • Total duration: 1:04.000"
|
||||
- button "↔ Diff vs AI baseline" [ref=e646]
|
||||
- generic [ref=e647]:
|
||||
- generic [ref=e648]:
|
||||
- generic [ref=e649]: Audio Description (EN)
|
||||
- button "Upload .vtt" [ref=e650]
|
||||
- generic [ref=e651]:
|
||||
- heading "Audio Description (EN)" [level=3] [ref=e654]
|
||||
- generic [ref=e656]:
|
||||
- generic [ref=e657]:
|
||||
- generic [ref=e658]:
|
||||
- generic [ref=e659]:
|
||||
- generic [ref=e660]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e661]': 00:00:00.000
|
||||
- generic [ref=e662]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e663]': 00:00:05.500
|
||||
- generic [ref=e664]: (5500ms)
|
||||
- generic [ref=e665]:
|
||||
- button "Insert cue before" [ref=e666]:
|
||||
- img [ref=e667]
|
||||
- button "Insert cue after" [ref=e669]:
|
||||
- img [ref=e670]
|
||||
- button "Delete cue" [ref=e672]:
|
||||
- img [ref=e673]
|
||||
- generic [ref=e675]:
|
||||
- generic [ref=e676]: "An aerial view of a massive solar panel farm. Text on screen reads: 3M Science. Applied to Life."
|
||||
- button "Edit text" [ref=e677]
|
||||
- generic [ref=e678]:
|
||||
- generic [ref=e679]:
|
||||
- generic [ref=e680]:
|
||||
- generic [ref=e681]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e682]': 00:00:06.000
|
||||
- generic [ref=e683]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e684]': 00:00:10.000
|
||||
- generic [ref=e685]: (4000ms)
|
||||
- generic [ref=e686]:
|
||||
- button "Insert cue before" [ref=e687]:
|
||||
- img [ref=e688]
|
||||
- button "Insert cue after" [ref=e690]:
|
||||
- img [ref=e691]
|
||||
- button "Delete cue" [ref=e693]:
|
||||
- img [ref=e694]
|
||||
- generic [ref=e696]:
|
||||
- generic [ref=e697]: Three workers in hard hats stand near solar panels.
|
||||
- button "Edit text" [ref=e698]
|
||||
- generic [ref=e699]:
|
||||
- generic [ref=e700]:
|
||||
- generic [ref=e701]:
|
||||
- generic [ref=e702]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e703]': 00:00:10.000
|
||||
- generic [ref=e704]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e705]': 00:00:13.500
|
||||
- generic [ref=e706]: (3500ms)
|
||||
- generic [ref=e707]:
|
||||
- button "Insert cue before" [ref=e708]:
|
||||
- img [ref=e709]
|
||||
- button "Insert cue after" [ref=e711]:
|
||||
- img [ref=e712]
|
||||
- button "Delete cue" [ref=e714]:
|
||||
- img [ref=e715]
|
||||
- generic [ref=e717]:
|
||||
- generic [ref=e718]: A gloved hand inserts a metal rod into a grey rubber sleeve.
|
||||
- button "Edit text" [ref=e719]
|
||||
- generic [ref=e720]:
|
||||
- generic [ref=e721]:
|
||||
- generic [ref=e722]:
|
||||
- generic [ref=e723]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e724]': 00:00:13.500
|
||||
- generic [ref=e725]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e726]': 00:00:16.000
|
||||
- generic [ref=e727]: (2500ms)
|
||||
- generic [ref=e728]:
|
||||
- button "Insert cue before" [ref=e729]:
|
||||
- img [ref=e730]
|
||||
- button "Insert cue after" [ref=e732]:
|
||||
- img [ref=e733]
|
||||
- button "Delete cue" [ref=e735]:
|
||||
- img [ref=e736]
|
||||
- generic [ref=e738]:
|
||||
- generic [ref=e739]: Three workers walk past solar panels.
|
||||
- button "Edit text" [ref=e740]
|
||||
- generic [ref=e741]:
|
||||
- generic [ref=e742]:
|
||||
- generic [ref=e743]:
|
||||
- generic [ref=e744]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e745]': 00:00:16.000
|
||||
- generic [ref=e746]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e747]': 00:00:18.500
|
||||
- generic [ref=e748]: (2500ms)
|
||||
- generic [ref=e749]:
|
||||
- button "Insert cue before" [ref=e750]:
|
||||
- img [ref=e751]
|
||||
- button "Insert cue after" [ref=e753]:
|
||||
- img [ref=e754]
|
||||
- button "Delete cue" [ref=e756]:
|
||||
- img [ref=e757]
|
||||
- generic [ref=e759]:
|
||||
- generic [ref=e760]: Wind turbines stand in the ocean at sunset.
|
||||
- button "Edit text" [ref=e761]
|
||||
- generic [ref=e762]:
|
||||
- generic [ref=e763]:
|
||||
- generic [ref=e764]:
|
||||
- generic [ref=e765]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e766]': 00:00:18.500
|
||||
- generic [ref=e767]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e768]': 00:00:21.500
|
||||
- generic [ref=e769]: (3000ms)
|
||||
- generic [ref=e770]:
|
||||
- button "Insert cue before" [ref=e771]:
|
||||
- img [ref=e772]
|
||||
- button "Insert cue after" [ref=e774]:
|
||||
- img [ref=e775]
|
||||
- button "Delete cue" [ref=e777]:
|
||||
- img [ref=e778]
|
||||
- generic [ref=e780]:
|
||||
- generic [ref=e781]: Rows of white battery storage units at an industrial site.
|
||||
- button "Edit text" [ref=e782]
|
||||
- generic [ref=e783]:
|
||||
- generic [ref=e784]:
|
||||
- generic [ref=e785]:
|
||||
- generic [ref=e786]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e787]': 00:00:21.500
|
||||
- generic [ref=e788]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e789]': 00:00:25.000
|
||||
- generic [ref=e790]: (3500ms)
|
||||
- generic [ref=e791]:
|
||||
- button "Insert cue before" [ref=e792]:
|
||||
- img [ref=e793]
|
||||
- button "Insert cue after" [ref=e795]:
|
||||
- img [ref=e796]
|
||||
- button "Delete cue" [ref=e798]:
|
||||
- img [ref=e799]
|
||||
- generic [ref=e801]:
|
||||
- generic [ref=e802]: Two workers look up at the underside of a solar panel.
|
||||
- button "Edit text" [ref=e803]
|
||||
- generic [ref=e804]:
|
||||
- generic [ref=e805]:
|
||||
- generic [ref=e806]:
|
||||
- generic [ref=e807]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e808]': 00:00:25.000
|
||||
- generic [ref=e809]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e810]': 00:00:28.000
|
||||
- generic [ref=e811]: (3000ms)
|
||||
- generic [ref=e812]:
|
||||
- button "Insert cue before" [ref=e813]:
|
||||
- img [ref=e814]
|
||||
- button "Insert cue after" [ref=e816]:
|
||||
- img [ref=e817]
|
||||
- button "Delete cue" [ref=e819]:
|
||||
- img [ref=e820]
|
||||
- generic [ref=e822]:
|
||||
- generic [ref=e823]: Workers install cables in a trench.
|
||||
- button "Edit text" [ref=e824]
|
||||
- generic [ref=e825]:
|
||||
- generic [ref=e826]:
|
||||
- generic [ref=e827]:
|
||||
- generic [ref=e828]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e829]': 00:00:28.000
|
||||
- generic [ref=e830]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e831]': 00:00:32.000
|
||||
- generic [ref=e832]: (4000ms)
|
||||
- generic [ref=e833]:
|
||||
- button "Insert cue before" [ref=e834]:
|
||||
- img [ref=e835]
|
||||
- button "Insert cue after" [ref=e837]:
|
||||
- img [ref=e838]
|
||||
- button "Delete cue" [ref=e840]:
|
||||
- img [ref=e841]
|
||||
- generic [ref=e843]:
|
||||
- generic [ref=e844]: A worker wipes a thick black cable with a cloth.
|
||||
- button "Edit text" [ref=e845]
|
||||
- generic [ref=e846]:
|
||||
- generic [ref=e847]:
|
||||
- generic [ref=e848]:
|
||||
- generic [ref=e849]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e850]': 00:00:32.000
|
||||
- generic [ref=e851]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e852]': 00:00:35.000
|
||||
- generic [ref=e853]: (3000ms)
|
||||
- generic [ref=e854]:
|
||||
- button "Insert cue before" [ref=e855]:
|
||||
- img [ref=e856]
|
||||
- button "Insert cue after" [ref=e858]:
|
||||
- img [ref=e859]
|
||||
- button "Delete cue" [ref=e861]:
|
||||
- img [ref=e862]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e865]: ⚡ 22 CPS
|
||||
- generic [ref=e866]:
|
||||
- generic [ref=e867]: "A worker stands next to a cardboard box. Text on screen reads: 3M."
|
||||
- button "Edit text" [ref=e868]
|
||||
- generic [ref=e869]:
|
||||
- generic [ref=e870]:
|
||||
- generic [ref=e871]:
|
||||
- generic [ref=e872]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e873]': 00:00:35.000
|
||||
- generic [ref=e874]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e875]': 00:00:40.500
|
||||
- generic [ref=e876]: (5500ms)
|
||||
- generic [ref=e877]:
|
||||
- button "Insert cue before" [ref=e878]:
|
||||
- img [ref=e879]
|
||||
- button "Insert cue after" [ref=e881]:
|
||||
- img [ref=e882]
|
||||
- button "Delete cue" [ref=e884]:
|
||||
- img [ref=e885]
|
||||
- generic [ref=e887]:
|
||||
- generic [ref=e888]: A worker pulls a product from a 3M box. Another holds a document with diagrams.
|
||||
- button "Edit text" [ref=e889]
|
||||
- generic [ref=e890]:
|
||||
- generic [ref=e891]:
|
||||
- generic [ref=e892]:
|
||||
- generic [ref=e893]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e894]': 00:00:40.500
|
||||
- generic [ref=e895]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e896]': 00:00:44.500
|
||||
- generic [ref=e897]: (4000ms)
|
||||
- generic [ref=e898]:
|
||||
- button "Insert cue before" [ref=e899]:
|
||||
- img [ref=e900]
|
||||
- button "Insert cue after" [ref=e902]:
|
||||
- img [ref=e903]
|
||||
- button "Delete cue" [ref=e905]:
|
||||
- img [ref=e906]
|
||||
- generic [ref=e908]:
|
||||
- generic [ref=e909]: Two workers examine a cable component.
|
||||
- button "Edit text" [ref=e910]
|
||||
- generic [ref=e911]:
|
||||
- generic [ref=e912]:
|
||||
- generic [ref=e913]:
|
||||
- generic [ref=e914]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e915]': 00:00:44.500
|
||||
- generic [ref=e916]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e917]': 00:00:48.500
|
||||
- generic [ref=e918]: (4000ms)
|
||||
- generic [ref=e919]:
|
||||
- button "Insert cue before" [ref=e920]:
|
||||
- img [ref=e921]
|
||||
- button "Insert cue after" [ref=e923]:
|
||||
- img [ref=e924]
|
||||
- button "Delete cue" [ref=e926]:
|
||||
- img [ref=e927]
|
||||
- generic [ref=e929]:
|
||||
- generic [ref=e930]: A worker pulls a plastic core from a rubber sleeve on a cable.
|
||||
- button "Edit text" [ref=e931]
|
||||
- generic [ref=e932]:
|
||||
- generic [ref=e933]:
|
||||
- generic [ref=e934]:
|
||||
- generic [ref=e935]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e936]': 00:00:48.500
|
||||
- generic [ref=e937]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e938]': 00:00:51.500
|
||||
- generic [ref=e939]: (3000ms)
|
||||
- generic [ref=e940]:
|
||||
- button "Insert cue before" [ref=e941]:
|
||||
- img [ref=e942]
|
||||
- button "Insert cue after" [ref=e944]:
|
||||
- img [ref=e945]
|
||||
- button "Delete cue" [ref=e947]:
|
||||
- img [ref=e948]
|
||||
- generic [ref=e950]:
|
||||
- generic [ref=e951]: A worker inserts a black plug into a yellow socket.
|
||||
- button "Edit text" [ref=e952]
|
||||
- generic [ref=e953]:
|
||||
- generic [ref=e954]:
|
||||
- generic [ref=e955]:
|
||||
- generic [ref=e956]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e957]': 00:00:51.500
|
||||
- generic [ref=e958]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e959]': 00:00:55.500
|
||||
- generic [ref=e960]: (4000ms)
|
||||
- generic [ref=e961]:
|
||||
- button "Insert cue before" [ref=e962]:
|
||||
- img [ref=e963]
|
||||
- button "Insert cue after" [ref=e965]:
|
||||
- img [ref=e966]
|
||||
- button "Delete cue" [ref=e968]:
|
||||
- img [ref=e969]
|
||||
- generic [ref=e971]:
|
||||
- generic [ref=e972]: Two workers use a power tool on a cable connection.
|
||||
- button "Edit text" [ref=e973]
|
||||
- generic [ref=e974]:
|
||||
- generic [ref=e975]:
|
||||
- generic [ref=e976]:
|
||||
- generic [ref=e977]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e978]': 00:00:55.500
|
||||
- generic [ref=e979]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e980]': 00:01:00.000
|
||||
- generic [ref=e981]: (4500ms)
|
||||
- generic [ref=e982]:
|
||||
- button "Insert cue before" [ref=e983]:
|
||||
- img [ref=e984]
|
||||
- button "Insert cue after" [ref=e986]:
|
||||
- img [ref=e987]
|
||||
- button "Delete cue" [ref=e989]:
|
||||
- img [ref=e990]
|
||||
- generic [ref=e992]:
|
||||
- generic [ref=e993]: The spoken words appear as text on a black background.
|
||||
- button "Edit text" [ref=e994]
|
||||
- generic [ref=e995]:
|
||||
- generic [ref=e996]:
|
||||
- generic [ref=e997]:
|
||||
- generic [ref=e998]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e999]': 00:01:00.000
|
||||
- generic [ref=e1000]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1001]': 00:01:04.000
|
||||
- generic [ref=e1002]: (4000ms)
|
||||
- generic [ref=e1003]:
|
||||
- button "Insert cue before" [ref=e1004]:
|
||||
- img [ref=e1005]
|
||||
- button "Insert cue after" [ref=e1007]:
|
||||
- img [ref=e1008]
|
||||
- button "Delete cue" [ref=e1010]:
|
||||
- img [ref=e1011]
|
||||
- generic [ref=e1013]:
|
||||
- generic [ref=e1014]: "Text on screen reads: 3M Science. Applied to Life."
|
||||
- button "Edit text" [ref=e1015]
|
||||
- generic [ref=e1016]:
|
||||
- generic [ref=e1017]:
|
||||
- generic [ref=e1018]:
|
||||
- generic [ref=e1019]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1020]': 00:01:04.000
|
||||
- generic [ref=e1021]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1022]': 00:01:08.000
|
||||
- generic [ref=e1023]: (4000ms)
|
||||
- generic [ref=e1024]:
|
||||
- button "Insert cue before" [ref=e1025]:
|
||||
- img [ref=e1026]
|
||||
- button "Insert cue after" [ref=e1028]:
|
||||
- img [ref=e1029]
|
||||
- button "Delete cue" [ref=e1031]:
|
||||
- img [ref=e1032]
|
||||
- generic "138.5 characters per second — above the 20 CPS recommended limit" [ref=e1035]: ⚡ 139 CPS
|
||||
- generic [ref=e1036]:
|
||||
- generic [ref=e1037]: "Text on screen reads: The information contained in this video is intended for occupational use by persons with knowledge and technical skills to use such information. It is supplemental only and is not intended to replace the detailed information found in written 3M product instruction and installation manuals. For additional information, including important safety and warranty information regarding 3M Electrical Markets products, refer to the relevant product packaging or data sheet. © 3M 2022. All rights reserved. 3M is a trademark of 3M Company."
|
||||
- button "Edit text" [ref=e1038]
|
||||
- generic [ref=e1039]: "18 cues • Total duration: 1:08.000"
|
||||
- button "↔ Diff vs AI baseline" [ref=e1041]
|
||||
- generic [ref=e1043]:
|
||||
- heading "VTT Timing Adjustment" [level=3] [ref=e1044]
|
||||
- button "Adjust Timing" [ref=e1045]
|
||||
- button "Voice Settings for Audio Description (Configured) Click to customize or override TTS voice" [ref=e1047]:
|
||||
- generic [ref=e1048]:
|
||||
- img [ref=e1049]
|
||||
- generic [ref=e1051]: Voice Settings for Audio Description
|
||||
- generic [ref=e1052]: (Configured)
|
||||
- generic [ref=e1053]: Click to customize or override TTS voice
|
||||
- generic [ref=e1054]:
|
||||
- generic [ref=e1055]: Cost Tracker Project ID
|
||||
- generic [ref=e1056]:
|
||||
- textbox "e.g. ford-q3-2026" [ref=e1057]
|
||||
- button "Save" [ref=e1058]
|
||||
- paragraph [ref=e1059]: Links this job to a project in the AI Cost Dashboard.
|
||||
- button "Download Assets Click to download individual files" [ref=e1061]:
|
||||
- generic [ref=e1062]:
|
||||
- img [ref=e1063]
|
||||
- generic [ref=e1065]: Download Assets
|
||||
- generic [ref=e1066]: Click to download individual files
|
||||
- generic [ref=e1067]:
|
||||
- generic [ref=e1068]: Review Notes
|
||||
- textbox "Add any notes about this review..." [ref=e1069]
|
||||
- generic [ref=e1070]:
|
||||
- button "Approve All Languages" [ref=e1071]
|
||||
- button "Reject Job" [ref=e1072]
|
||||
BIN
.playwright-mcp/page-2026-05-01T12-52-52-772Z.png
Normal file
|
After Width: | Height: | Size: 392 KiB |
944
.playwright-mcp/page-2026-05-01T12-53-14-010Z.yml
Normal file
|
|
@ -0,0 +1,944 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e86]:
|
||||
- generic [ref=e87]:
|
||||
- generic [ref=e91]:
|
||||
- heading "test-video" [level=1] [ref=e92]
|
||||
- button "Rename" [ref=e93]:
|
||||
- img [ref=e94]
|
||||
- generic [ref=e96]:
|
||||
- generic [ref=e97]: QC Feedback
|
||||
- generic [ref=e98]: "Source: 69f49ed8694cf102e622687f/source.mp4"
|
||||
- generic [ref=e99]: "Language: EN"
|
||||
- generic [ref=e100]: "Duration: 68s"
|
||||
- generic [ref=e88]:
|
||||
- button "↗ Share link" [ref=e101]
|
||||
- button "← Back to Queue" [ref=e102]
|
||||
- generic [ref=e103]:
|
||||
- generic [ref=e105]:
|
||||
- generic [ref=e106]: Languages
|
||||
- generic [ref=e107]: 0/1 approved
|
||||
- generic [ref=e109]:
|
||||
- button "⏳ EN (source) Pending ▲" [ref=e1093]:
|
||||
- generic [ref=e111]:
|
||||
- generic [ref=e112]: ⏳
|
||||
- generic [ref=e113]: EN
|
||||
- generic [ref=e114]: (source)
|
||||
- generic [ref=e115]: Pending
|
||||
- generic [ref=e116]: ▲
|
||||
- generic [ref=e117]:
|
||||
- generic [ref=e118]:
|
||||
- generic [ref=e119]:
|
||||
- generic [ref=e120]: Linguist
|
||||
- generic [ref=e121]: Unassigned
|
||||
- button "Assign linguist" [ref=e122]
|
||||
- generic [ref=e123]:
|
||||
- generic [ref=e124]: Reviewer
|
||||
- generic [ref=e125]: Unassigned
|
||||
- button "Assign reviewer" [ref=e126]
|
||||
- generic [ref=e127]:
|
||||
- button "✓ Approve" [ref=e1095]
|
||||
- button "✕ Request changes" [ref=e128]
|
||||
- generic [ref=e130]:
|
||||
- button "💬 Hide comments" [active] [ref=e1096]
|
||||
- generic [ref=e1097]:
|
||||
- paragraph [ref=e1098]: No comments yet.
|
||||
- generic [ref=e1099]:
|
||||
- textbox "Add a comment…" [ref=e1100]
|
||||
- button "Send" [disabled] [ref=e1101]
|
||||
- generic [ref=e132]:
|
||||
- generic [ref=e133]:
|
||||
- generic [ref=e134]: "View Mode:"
|
||||
- generic [ref=e135]:
|
||||
- button "Side by Side (1)" [ref=e136]
|
||||
- button "Video Only (2)" [ref=e137]
|
||||
- button "Editor Only (3)" [ref=e138]
|
||||
- generic [ref=e139]: "Shortcuts: A=Approve, R=Reject"
|
||||
- generic [ref=e141]:
|
||||
- heading "Video Preview" [level=3] [ref=e143]
|
||||
- generic [ref=e144]:
|
||||
- generic [ref=e145]:
|
||||
- generic [ref=e146]: Your browser does not support the video tag.
|
||||
- generic [ref=e148]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- generic [ref=e149]:
|
||||
- generic [ref=e150]:
|
||||
- checkbox "Show Captions" [checked] [ref=e151]
|
||||
- generic [ref=e152]: Show Captions
|
||||
- generic [ref=e153]: "Time: 0:00"
|
||||
- generic [ref=e154]:
|
||||
- heading "Caption Timeline (English)" [level=4] [ref=e155]
|
||||
- generic [ref=e156]:
|
||||
- generic [ref=e157] [cursor=pointer]:
|
||||
- generic [ref=e158]:
|
||||
- generic [ref=e159]: 0:00 → 0:05
|
||||
- button "Jump" [ref=e160]
|
||||
- generic [ref=e161]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- generic [ref=e162] [cursor=pointer]:
|
||||
- generic [ref=e163]:
|
||||
- generic [ref=e164]: 0:06 → 0:10
|
||||
- button "Jump" [ref=e165]
|
||||
- generic [ref=e166]: With more than 50 years of experience working in the field on energy projects,
|
||||
- generic [ref=e167] [cursor=pointer]:
|
||||
- generic [ref=e168]:
|
||||
- generic [ref=e169]: 0:10 → 0:13
|
||||
- button "Jump" [ref=e170]
|
||||
- generic [ref=e171]: 3M has your solution to help you make your work more reliable, easier,
|
||||
- generic [ref=e172] [cursor=pointer]:
|
||||
- generic [ref=e173]:
|
||||
- generic [ref=e174]: 0:13 → 0:16
|
||||
- button "Jump" [ref=e175]
|
||||
- generic [ref=e176]: and faster for solar energy projects,
|
||||
- generic [ref=e177] [cursor=pointer]:
|
||||
- generic [ref=e178]:
|
||||
- generic [ref=e179]: 0:16 → 0:18
|
||||
- button "Jump" [ref=e180]
|
||||
- generic [ref=e181]: wind energy projects,
|
||||
- generic [ref=e182] [cursor=pointer]:
|
||||
- generic [ref=e183]:
|
||||
- generic [ref=e184]: 0:18 → 0:21
|
||||
- button "Jump" [ref=e185]
|
||||
- generic [ref=e186]: and battery energy storage systems.
|
||||
- generic [ref=e187] [cursor=pointer]:
|
||||
- generic [ref=e188]:
|
||||
- generic [ref=e189]: 0:21 → 0:25
|
||||
- button "Jump" [ref=e190]
|
||||
- generic [ref=e191]: We can help you solve your electrical installation challenges.
|
||||
- generic [ref=e192] [cursor=pointer]:
|
||||
- generic [ref=e193]:
|
||||
- generic [ref=e194]: 0:25 → 0:28
|
||||
- button "Jump" [ref=e195]
|
||||
- generic [ref=e196]: 3M provides advanced technology solutions
|
||||
- generic [ref=e197] [cursor=pointer]:
|
||||
- generic [ref=e198]:
|
||||
- generic [ref=e199]: 0:28 → 0:32
|
||||
- button "Jump" [ref=e200]
|
||||
- generic [ref=e201]: in insulating, connecting, and terminating medium and high voltage cables.
|
||||
- generic [ref=e202] [cursor=pointer]:
|
||||
- generic [ref=e203]:
|
||||
- generic [ref=e204]: 0:32 → 0:35
|
||||
- button "Jump" [ref=e205]
|
||||
- generic [ref=e206]: Our engineers can help with your projects
|
||||
- generic [ref=e207] [cursor=pointer]:
|
||||
- generic [ref=e208]:
|
||||
- generic [ref=e209]: 0:35 → 0:37
|
||||
- button "Jump" [ref=e210]
|
||||
- generic [ref=e211]: and recommend customized product kits
|
||||
- generic [ref=e212] [cursor=pointer]:
|
||||
- generic [ref=e213]:
|
||||
- generic [ref=e214]: 0:37 → 0:40
|
||||
- button "Jump" [ref=e215]
|
||||
- generic [ref=e216]: so you get exactly what you need for reliable product performance.
|
||||
- generic [ref=e217] [cursor=pointer]:
|
||||
- generic [ref=e218]:
|
||||
- generic [ref=e219]: 0:40 → 0:44
|
||||
- button "Jump" [ref=e220]
|
||||
- generic [ref=e221]: We work closely with you, so you get the support you need.
|
||||
- generic [ref=e222] [cursor=pointer]:
|
||||
- generic [ref=e223]:
|
||||
- generic [ref=e224]: 0:45 → 0:48
|
||||
- button "Jump" [ref=e225]
|
||||
- generic [ref=e226]: Your work, combined with our solutions,
|
||||
- generic [ref=e227] [cursor=pointer]:
|
||||
- generic [ref=e228]:
|
||||
- generic [ref=e229]: 0:50 → 0:52
|
||||
- button "Jump" [ref=e230]
|
||||
- generic [ref=e231]: can help avoid costly downtime
|
||||
- generic [ref=e232] [cursor=pointer]:
|
||||
- generic [ref=e233]:
|
||||
- generic [ref=e234]: 0:52 → 0:55
|
||||
- button "Jump" [ref=e235]
|
||||
- generic [ref=e236]: and keep your renewable systems up and running smoothly.
|
||||
- generic [ref=e237] [cursor=pointer]:
|
||||
- generic [ref=e238]:
|
||||
- generic [ref=e239]: 0:56 → 0:59
|
||||
- button "Jump" [ref=e240]
|
||||
- generic [ref=e241]: Wherever the job takes you, we have your solution.
|
||||
- generic [ref=e242] [cursor=pointer]:
|
||||
- generic [ref=e243]:
|
||||
- generic [ref=e244]: 1:01 → 1:04
|
||||
- button "Jump" [ref=e245]
|
||||
- generic [ref=e246]: 3M. Science. Applied to Life.
|
||||
- generic [ref=e247]:
|
||||
- generic [ref=e248]:
|
||||
- generic [ref=e249]:
|
||||
- generic [ref=e250]: Closed Captions (EN)
|
||||
- button "Upload .vtt" [ref=e251]
|
||||
- generic [ref=e252]:
|
||||
- heading "Closed Captions (EN)" [level=3] [ref=e255]
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]:
|
||||
- generic [ref=e259]:
|
||||
- generic [ref=e260]:
|
||||
- generic [ref=e261]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e262]': 00:00:00.000
|
||||
- generic [ref=e263]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e264]': 00:00:05.500
|
||||
- generic [ref=e265]: (5500ms)
|
||||
- generic [ref=e266]:
|
||||
- button "Insert cue before" [ref=e267]:
|
||||
- img [ref=e268]
|
||||
- button "Insert cue after" [ref=e270]:
|
||||
- img [ref=e271]
|
||||
- button "Delete cue" [ref=e273]:
|
||||
- img [ref=e274]
|
||||
- generic [ref=e276]:
|
||||
- generic [ref=e277]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- button "Edit text" [ref=e278]
|
||||
- generic [ref=e279]:
|
||||
- generic [ref=e280]:
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e283]': 00:00:06.000
|
||||
- generic [ref=e284]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e285]': 00:00:10.000
|
||||
- generic [ref=e286]: (4000ms)
|
||||
- generic [ref=e287]:
|
||||
- button "Insert cue before" [ref=e288]:
|
||||
- img [ref=e289]
|
||||
- button "Insert cue after" [ref=e291]:
|
||||
- img [ref=e292]
|
||||
- button "Delete cue" [ref=e294]:
|
||||
- img [ref=e295]
|
||||
- generic [ref=e297]:
|
||||
- generic [ref=e298]: With more than 50 years of experience working in the field on energy projects,
|
||||
- button "Edit text" [ref=e299]
|
||||
- generic [ref=e300]:
|
||||
- generic [ref=e301]:
|
||||
- generic [ref=e302]:
|
||||
- generic [ref=e303]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e304]': 00:00:10.000
|
||||
- generic [ref=e305]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e306]': 00:00:13.500
|
||||
- generic [ref=e307]: (3500ms)
|
||||
- generic [ref=e308]:
|
||||
- button "Insert cue before" [ref=e309]:
|
||||
- img [ref=e310]
|
||||
- button "Insert cue after" [ref=e312]:
|
||||
- img [ref=e313]
|
||||
- button "Delete cue" [ref=e315]:
|
||||
- img [ref=e316]
|
||||
- generic [ref=e318]:
|
||||
- generic [ref=e319]: 3M has your solution to help you make your work more reliable, easier,
|
||||
- button "Edit text" [ref=e320]
|
||||
- generic [ref=e321]:
|
||||
- generic [ref=e322]:
|
||||
- generic [ref=e323]:
|
||||
- generic [ref=e324]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e325]': 00:00:13.500
|
||||
- generic [ref=e326]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e327]': 00:00:16.000
|
||||
- generic [ref=e328]: (2500ms)
|
||||
- generic [ref=e329]:
|
||||
- button "Insert cue before" [ref=e330]:
|
||||
- img [ref=e331]
|
||||
- button "Insert cue after" [ref=e333]:
|
||||
- img [ref=e334]
|
||||
- button "Delete cue" [ref=e336]:
|
||||
- img [ref=e337]
|
||||
- generic [ref=e339]:
|
||||
- generic [ref=e340]: and faster for solar energy projects,
|
||||
- button "Edit text" [ref=e341]
|
||||
- generic [ref=e342]:
|
||||
- generic [ref=e343]:
|
||||
- generic [ref=e344]:
|
||||
- generic [ref=e345]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e346]': 00:00:16.000
|
||||
- generic [ref=e347]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e348]': 00:00:18.500
|
||||
- generic [ref=e349]: (2500ms)
|
||||
- generic [ref=e350]:
|
||||
- button "Insert cue before" [ref=e351]:
|
||||
- img [ref=e352]
|
||||
- button "Insert cue after" [ref=e354]:
|
||||
- img [ref=e355]
|
||||
- button "Delete cue" [ref=e357]:
|
||||
- img [ref=e358]
|
||||
- generic [ref=e360]:
|
||||
- generic [ref=e361]: wind energy projects,
|
||||
- button "Edit text" [ref=e362]
|
||||
- generic [ref=e363]:
|
||||
- generic [ref=e364]:
|
||||
- generic [ref=e365]:
|
||||
- generic [ref=e366]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e367]': 00:00:18.500
|
||||
- generic [ref=e368]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e369]': 00:00:21.500
|
||||
- generic [ref=e370]: (3000ms)
|
||||
- generic [ref=e371]:
|
||||
- button "Insert cue before" [ref=e372]:
|
||||
- img [ref=e373]
|
||||
- button "Insert cue after" [ref=e375]:
|
||||
- img [ref=e376]
|
||||
- button "Delete cue" [ref=e378]:
|
||||
- img [ref=e379]
|
||||
- generic [ref=e381]:
|
||||
- generic [ref=e382]: and battery energy storage systems.
|
||||
- button "Edit text" [ref=e383]
|
||||
- generic [ref=e384]:
|
||||
- generic [ref=e385]:
|
||||
- generic [ref=e386]:
|
||||
- generic [ref=e387]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e388]': 00:00:21.500
|
||||
- generic [ref=e389]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e390]': 00:00:25.000
|
||||
- generic [ref=e391]: (3500ms)
|
||||
- generic [ref=e392]:
|
||||
- button "Insert cue before" [ref=e393]:
|
||||
- img [ref=e394]
|
||||
- button "Insert cue after" [ref=e396]:
|
||||
- img [ref=e397]
|
||||
- button "Delete cue" [ref=e399]:
|
||||
- img [ref=e400]
|
||||
- generic [ref=e402]:
|
||||
- generic [ref=e403]: We can help you solve your electrical installation challenges.
|
||||
- button "Edit text" [ref=e404]
|
||||
- generic [ref=e405]:
|
||||
- generic [ref=e406]:
|
||||
- generic [ref=e407]:
|
||||
- generic [ref=e408]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e409]': 00:00:25.000
|
||||
- generic [ref=e410]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e411]': 00:00:28.000
|
||||
- generic [ref=e412]: (3000ms)
|
||||
- generic [ref=e413]:
|
||||
- button "Insert cue before" [ref=e414]:
|
||||
- img [ref=e415]
|
||||
- button "Insert cue after" [ref=e417]:
|
||||
- img [ref=e418]
|
||||
- button "Delete cue" [ref=e420]:
|
||||
- img [ref=e421]
|
||||
- generic [ref=e423]:
|
||||
- generic [ref=e424]: 3M provides advanced technology solutions
|
||||
- button "Edit text" [ref=e425]
|
||||
- generic [ref=e426]:
|
||||
- generic [ref=e427]:
|
||||
- generic [ref=e428]:
|
||||
- generic [ref=e429]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e430]': 00:00:28.000
|
||||
- generic [ref=e431]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e432]': 00:00:32.000
|
||||
- generic [ref=e433]: (4000ms)
|
||||
- generic [ref=e434]:
|
||||
- button "Insert cue before" [ref=e435]:
|
||||
- img [ref=e436]
|
||||
- button "Insert cue after" [ref=e438]:
|
||||
- img [ref=e439]
|
||||
- button "Delete cue" [ref=e441]:
|
||||
- img [ref=e442]
|
||||
- generic [ref=e444]:
|
||||
- generic [ref=e445]: in insulating, connecting, and terminating medium and high voltage cables.
|
||||
- button "Edit text" [ref=e446]
|
||||
- generic [ref=e447]:
|
||||
- generic [ref=e448]:
|
||||
- generic [ref=e449]:
|
||||
- generic [ref=e450]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e451]': 00:00:32.000
|
||||
- generic [ref=e452]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e453]': 00:00:35.000
|
||||
- generic [ref=e454]: (3000ms)
|
||||
- generic [ref=e455]:
|
||||
- button "Insert cue before" [ref=e456]:
|
||||
- img [ref=e457]
|
||||
- button "Insert cue after" [ref=e459]:
|
||||
- img [ref=e460]
|
||||
- button "Delete cue" [ref=e462]:
|
||||
- img [ref=e463]
|
||||
- generic [ref=e465]:
|
||||
- generic [ref=e466]: Our engineers can help with your projects
|
||||
- button "Edit text" [ref=e467]
|
||||
- generic [ref=e468]:
|
||||
- generic [ref=e469]:
|
||||
- generic [ref=e470]:
|
||||
- generic [ref=e471]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e472]': 00:00:35.000
|
||||
- generic [ref=e473]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e474]': 00:00:37.500
|
||||
- generic [ref=e475]: (2500ms)
|
||||
- generic [ref=e476]:
|
||||
- button "Insert cue before" [ref=e477]:
|
||||
- img [ref=e478]
|
||||
- button "Insert cue after" [ref=e480]:
|
||||
- img [ref=e481]
|
||||
- button "Delete cue" [ref=e483]:
|
||||
- img [ref=e484]
|
||||
- generic [ref=e486]:
|
||||
- generic [ref=e487]: and recommend customized product kits
|
||||
- button "Edit text" [ref=e488]
|
||||
- generic [ref=e489]:
|
||||
- generic [ref=e490]:
|
||||
- generic [ref=e491]:
|
||||
- generic [ref=e492]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e493]': 00:00:37.500
|
||||
- generic [ref=e494]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e495]': 00:00:40.500
|
||||
- generic [ref=e496]: (3000ms)
|
||||
- generic [ref=e497]:
|
||||
- button "Insert cue before" [ref=e498]:
|
||||
- img [ref=e499]
|
||||
- button "Insert cue after" [ref=e501]:
|
||||
- img [ref=e502]
|
||||
- button "Delete cue" [ref=e504]:
|
||||
- img [ref=e505]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e508]: ⚡ 22 CPS
|
||||
- generic [ref=e509]:
|
||||
- generic [ref=e510]: so you get exactly what you need for reliable product performance.
|
||||
- button "Edit text" [ref=e511]
|
||||
- generic [ref=e512]:
|
||||
- generic [ref=e513]:
|
||||
- generic [ref=e514]:
|
||||
- generic [ref=e515]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e516]': 00:00:40.500
|
||||
- generic [ref=e517]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e518]': 00:00:44.500
|
||||
- generic [ref=e519]: (4000ms)
|
||||
- generic [ref=e520]:
|
||||
- button "Insert cue before" [ref=e521]:
|
||||
- img [ref=e522]
|
||||
- button "Insert cue after" [ref=e524]:
|
||||
- img [ref=e525]
|
||||
- button "Delete cue" [ref=e527]:
|
||||
- img [ref=e528]
|
||||
- generic [ref=e530]:
|
||||
- generic [ref=e531]: We work closely with you, so you get the support you need.
|
||||
- button "Edit text" [ref=e532]
|
||||
- generic [ref=e533]:
|
||||
- generic [ref=e534]:
|
||||
- generic [ref=e535]:
|
||||
- generic [ref=e536]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e537]': 00:00:45.000
|
||||
- generic [ref=e538]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e539]': 00:00:48.500
|
||||
- generic [ref=e540]: (3500ms)
|
||||
- generic [ref=e541]:
|
||||
- button "Insert cue before" [ref=e542]:
|
||||
- img [ref=e543]
|
||||
- button "Insert cue after" [ref=e545]:
|
||||
- img [ref=e546]
|
||||
- button "Delete cue" [ref=e548]:
|
||||
- img [ref=e549]
|
||||
- generic [ref=e551]:
|
||||
- generic [ref=e552]: Your work, combined with our solutions,
|
||||
- button "Edit text" [ref=e553]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e554] [cursor=pointer]:
|
||||
- generic [ref=e555]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e556]:
|
||||
- generic [ref=e557]:
|
||||
- generic [ref=e558]:
|
||||
- generic [ref=e559]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e560]': 00:00:50.000
|
||||
- generic [ref=e561]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e562]': 00:00:52.000
|
||||
- generic [ref=e563]: (2000ms)
|
||||
- generic [ref=e564]:
|
||||
- button "Insert cue before" [ref=e565]:
|
||||
- img [ref=e566]
|
||||
- button "Insert cue after" [ref=e568]:
|
||||
- img [ref=e569]
|
||||
- button "Delete cue" [ref=e571]:
|
||||
- img [ref=e572]
|
||||
- generic [ref=e574]:
|
||||
- generic [ref=e575]: can help avoid costly downtime
|
||||
- button "Edit text" [ref=e576]
|
||||
- generic [ref=e577]:
|
||||
- generic [ref=e578]:
|
||||
- generic [ref=e579]:
|
||||
- generic [ref=e580]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e581]': 00:00:52.000
|
||||
- generic [ref=e582]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e583]': 00:00:55.500
|
||||
- generic [ref=e584]: (3500ms)
|
||||
- generic [ref=e585]:
|
||||
- button "Insert cue before" [ref=e586]:
|
||||
- img [ref=e587]
|
||||
- button "Insert cue after" [ref=e589]:
|
||||
- img [ref=e590]
|
||||
- button "Delete cue" [ref=e592]:
|
||||
- img [ref=e593]
|
||||
- generic [ref=e595]:
|
||||
- generic [ref=e596]: and keep your renewable systems up and running smoothly.
|
||||
- button "Edit text" [ref=e597]
|
||||
- generic "Insert cue in this gap (1.0s gap)" [ref=e598] [cursor=pointer]:
|
||||
- generic [ref=e599]: + Add cue here · 1.0s gap
|
||||
- generic [ref=e600]:
|
||||
- generic [ref=e601]:
|
||||
- generic [ref=e602]:
|
||||
- generic [ref=e603]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e604]': 00:00:56.500
|
||||
- generic [ref=e605]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e606]': 00:00:59.500
|
||||
- generic [ref=e607]: (3000ms)
|
||||
- generic [ref=e608]:
|
||||
- button "Insert cue before" [ref=e609]:
|
||||
- img [ref=e610]
|
||||
- button "Insert cue after" [ref=e612]:
|
||||
- img [ref=e613]
|
||||
- button "Delete cue" [ref=e615]:
|
||||
- img [ref=e616]
|
||||
- generic [ref=e618]:
|
||||
- generic [ref=e619]: Wherever the job takes you, we have your solution.
|
||||
- button "Edit text" [ref=e620]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e621] [cursor=pointer]:
|
||||
- generic [ref=e622]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e623]:
|
||||
- generic [ref=e624]:
|
||||
- generic [ref=e625]:
|
||||
- generic [ref=e626]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e627]': 00:01:01.000
|
||||
- generic [ref=e628]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e629]': 00:01:04.000
|
||||
- generic [ref=e630]: (3000ms)
|
||||
- generic [ref=e631]:
|
||||
- button "Insert cue before" [ref=e632]:
|
||||
- img [ref=e633]
|
||||
- button "Insert cue after" [ref=e635]:
|
||||
- img [ref=e636]
|
||||
- button "Delete cue" [ref=e638]:
|
||||
- img [ref=e639]
|
||||
- generic [ref=e641]:
|
||||
- generic [ref=e642]: 3M. Science. Applied to Life.
|
||||
- button "Edit text" [ref=e643]
|
||||
- generic [ref=e644]: "18 cues • Total duration: 1:04.000"
|
||||
- button "↔ Diff vs AI baseline" [ref=e646]
|
||||
- generic [ref=e647]:
|
||||
- generic [ref=e648]:
|
||||
- generic [ref=e649]: Audio Description (EN)
|
||||
- button "Upload .vtt" [ref=e650]
|
||||
- generic [ref=e651]:
|
||||
- heading "Audio Description (EN)" [level=3] [ref=e654]
|
||||
- generic [ref=e656]:
|
||||
- generic [ref=e657]:
|
||||
- generic [ref=e658]:
|
||||
- generic [ref=e659]:
|
||||
- generic [ref=e660]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e661]': 00:00:00.000
|
||||
- generic [ref=e662]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e663]': 00:00:05.500
|
||||
- generic [ref=e664]: (5500ms)
|
||||
- generic [ref=e665]:
|
||||
- button "Insert cue before" [ref=e666]:
|
||||
- img [ref=e667]
|
||||
- button "Insert cue after" [ref=e669]:
|
||||
- img [ref=e670]
|
||||
- button "Delete cue" [ref=e672]:
|
||||
- img [ref=e673]
|
||||
- generic [ref=e675]:
|
||||
- generic [ref=e676]: "An aerial view of a massive solar panel farm. Text on screen reads: 3M Science. Applied to Life."
|
||||
- button "Edit text" [ref=e677]
|
||||
- generic [ref=e678]:
|
||||
- generic [ref=e679]:
|
||||
- generic [ref=e680]:
|
||||
- generic [ref=e681]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e682]': 00:00:06.000
|
||||
- generic [ref=e683]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e684]': 00:00:10.000
|
||||
- generic [ref=e685]: (4000ms)
|
||||
- generic [ref=e686]:
|
||||
- button "Insert cue before" [ref=e687]:
|
||||
- img [ref=e688]
|
||||
- button "Insert cue after" [ref=e690]:
|
||||
- img [ref=e691]
|
||||
- button "Delete cue" [ref=e693]:
|
||||
- img [ref=e694]
|
||||
- generic [ref=e696]:
|
||||
- generic [ref=e697]: Three workers in hard hats stand near solar panels.
|
||||
- button "Edit text" [ref=e698]
|
||||
- generic [ref=e699]:
|
||||
- generic [ref=e700]:
|
||||
- generic [ref=e701]:
|
||||
- generic [ref=e702]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e703]': 00:00:10.000
|
||||
- generic [ref=e704]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e705]': 00:00:13.500
|
||||
- generic [ref=e706]: (3500ms)
|
||||
- generic [ref=e707]:
|
||||
- button "Insert cue before" [ref=e708]:
|
||||
- img [ref=e709]
|
||||
- button "Insert cue after" [ref=e711]:
|
||||
- img [ref=e712]
|
||||
- button "Delete cue" [ref=e714]:
|
||||
- img [ref=e715]
|
||||
- generic [ref=e717]:
|
||||
- generic [ref=e718]: A gloved hand inserts a metal rod into a grey rubber sleeve.
|
||||
- button "Edit text" [ref=e719]
|
||||
- generic [ref=e720]:
|
||||
- generic [ref=e721]:
|
||||
- generic [ref=e722]:
|
||||
- generic [ref=e723]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e724]': 00:00:13.500
|
||||
- generic [ref=e725]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e726]': 00:00:16.000
|
||||
- generic [ref=e727]: (2500ms)
|
||||
- generic [ref=e728]:
|
||||
- button "Insert cue before" [ref=e729]:
|
||||
- img [ref=e730]
|
||||
- button "Insert cue after" [ref=e732]:
|
||||
- img [ref=e733]
|
||||
- button "Delete cue" [ref=e735]:
|
||||
- img [ref=e736]
|
||||
- generic [ref=e738]:
|
||||
- generic [ref=e739]: Three workers walk past solar panels.
|
||||
- button "Edit text" [ref=e740]
|
||||
- generic [ref=e741]:
|
||||
- generic [ref=e742]:
|
||||
- generic [ref=e743]:
|
||||
- generic [ref=e744]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e745]': 00:00:16.000
|
||||
- generic [ref=e746]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e747]': 00:00:18.500
|
||||
- generic [ref=e748]: (2500ms)
|
||||
- generic [ref=e749]:
|
||||
- button "Insert cue before" [ref=e750]:
|
||||
- img [ref=e751]
|
||||
- button "Insert cue after" [ref=e753]:
|
||||
- img [ref=e754]
|
||||
- button "Delete cue" [ref=e756]:
|
||||
- img [ref=e757]
|
||||
- generic [ref=e759]:
|
||||
- generic [ref=e760]: Wind turbines stand in the ocean at sunset.
|
||||
- button "Edit text" [ref=e761]
|
||||
- generic [ref=e762]:
|
||||
- generic [ref=e763]:
|
||||
- generic [ref=e764]:
|
||||
- generic [ref=e765]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e766]': 00:00:18.500
|
||||
- generic [ref=e767]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e768]': 00:00:21.500
|
||||
- generic [ref=e769]: (3000ms)
|
||||
- generic [ref=e770]:
|
||||
- button "Insert cue before" [ref=e771]:
|
||||
- img [ref=e772]
|
||||
- button "Insert cue after" [ref=e774]:
|
||||
- img [ref=e775]
|
||||
- button "Delete cue" [ref=e777]:
|
||||
- img [ref=e778]
|
||||
- generic [ref=e780]:
|
||||
- generic [ref=e781]: Rows of white battery storage units at an industrial site.
|
||||
- button "Edit text" [ref=e782]
|
||||
- generic [ref=e783]:
|
||||
- generic [ref=e784]:
|
||||
- generic [ref=e785]:
|
||||
- generic [ref=e786]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e787]': 00:00:21.500
|
||||
- generic [ref=e788]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e789]': 00:00:25.000
|
||||
- generic [ref=e790]: (3500ms)
|
||||
- generic [ref=e791]:
|
||||
- button "Insert cue before" [ref=e792]:
|
||||
- img [ref=e793]
|
||||
- button "Insert cue after" [ref=e795]:
|
||||
- img [ref=e796]
|
||||
- button "Delete cue" [ref=e798]:
|
||||
- img [ref=e799]
|
||||
- generic [ref=e801]:
|
||||
- generic [ref=e802]: Two workers look up at the underside of a solar panel.
|
||||
- button "Edit text" [ref=e803]
|
||||
- generic [ref=e804]:
|
||||
- generic [ref=e805]:
|
||||
- generic [ref=e806]:
|
||||
- generic [ref=e807]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e808]': 00:00:25.000
|
||||
- generic [ref=e809]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e810]': 00:00:28.000
|
||||
- generic [ref=e811]: (3000ms)
|
||||
- generic [ref=e812]:
|
||||
- button "Insert cue before" [ref=e813]:
|
||||
- img [ref=e814]
|
||||
- button "Insert cue after" [ref=e816]:
|
||||
- img [ref=e817]
|
||||
- button "Delete cue" [ref=e819]:
|
||||
- img [ref=e820]
|
||||
- generic [ref=e822]:
|
||||
- generic [ref=e823]: Workers install cables in a trench.
|
||||
- button "Edit text" [ref=e824]
|
||||
- generic [ref=e825]:
|
||||
- generic [ref=e826]:
|
||||
- generic [ref=e827]:
|
||||
- generic [ref=e828]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e829]': 00:00:28.000
|
||||
- generic [ref=e830]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e831]': 00:00:32.000
|
||||
- generic [ref=e832]: (4000ms)
|
||||
- generic [ref=e833]:
|
||||
- button "Insert cue before" [ref=e834]:
|
||||
- img [ref=e835]
|
||||
- button "Insert cue after" [ref=e837]:
|
||||
- img [ref=e838]
|
||||
- button "Delete cue" [ref=e840]:
|
||||
- img [ref=e841]
|
||||
- generic [ref=e843]:
|
||||
- generic [ref=e844]: A worker wipes a thick black cable with a cloth.
|
||||
- button "Edit text" [ref=e845]
|
||||
- generic [ref=e846]:
|
||||
- generic [ref=e847]:
|
||||
- generic [ref=e848]:
|
||||
- generic [ref=e849]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e850]': 00:00:32.000
|
||||
- generic [ref=e851]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e852]': 00:00:35.000
|
||||
- generic [ref=e853]: (3000ms)
|
||||
- generic [ref=e854]:
|
||||
- button "Insert cue before" [ref=e855]:
|
||||
- img [ref=e856]
|
||||
- button "Insert cue after" [ref=e858]:
|
||||
- img [ref=e859]
|
||||
- button "Delete cue" [ref=e861]:
|
||||
- img [ref=e862]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e865]: ⚡ 22 CPS
|
||||
- generic [ref=e866]:
|
||||
- generic [ref=e867]: "A worker stands next to a cardboard box. Text on screen reads: 3M."
|
||||
- button "Edit text" [ref=e868]
|
||||
- generic [ref=e869]:
|
||||
- generic [ref=e870]:
|
||||
- generic [ref=e871]:
|
||||
- generic [ref=e872]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e873]': 00:00:35.000
|
||||
- generic [ref=e874]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e875]': 00:00:40.500
|
||||
- generic [ref=e876]: (5500ms)
|
||||
- generic [ref=e877]:
|
||||
- button "Insert cue before" [ref=e878]:
|
||||
- img [ref=e879]
|
||||
- button "Insert cue after" [ref=e881]:
|
||||
- img [ref=e882]
|
||||
- button "Delete cue" [ref=e884]:
|
||||
- img [ref=e885]
|
||||
- generic [ref=e887]:
|
||||
- generic [ref=e888]: A worker pulls a product from a 3M box. Another holds a document with diagrams.
|
||||
- button "Edit text" [ref=e889]
|
||||
- generic [ref=e890]:
|
||||
- generic [ref=e891]:
|
||||
- generic [ref=e892]:
|
||||
- generic [ref=e893]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e894]': 00:00:40.500
|
||||
- generic [ref=e895]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e896]': 00:00:44.500
|
||||
- generic [ref=e897]: (4000ms)
|
||||
- generic [ref=e898]:
|
||||
- button "Insert cue before" [ref=e899]:
|
||||
- img [ref=e900]
|
||||
- button "Insert cue after" [ref=e902]:
|
||||
- img [ref=e903]
|
||||
- button "Delete cue" [ref=e905]:
|
||||
- img [ref=e906]
|
||||
- generic [ref=e908]:
|
||||
- generic [ref=e909]: Two workers examine a cable component.
|
||||
- button "Edit text" [ref=e910]
|
||||
- generic [ref=e911]:
|
||||
- generic [ref=e912]:
|
||||
- generic [ref=e913]:
|
||||
- generic [ref=e914]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e915]': 00:00:44.500
|
||||
- generic [ref=e916]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e917]': 00:00:48.500
|
||||
- generic [ref=e918]: (4000ms)
|
||||
- generic [ref=e919]:
|
||||
- button "Insert cue before" [ref=e920]:
|
||||
- img [ref=e921]
|
||||
- button "Insert cue after" [ref=e923]:
|
||||
- img [ref=e924]
|
||||
- button "Delete cue" [ref=e926]:
|
||||
- img [ref=e927]
|
||||
- generic [ref=e929]:
|
||||
- generic [ref=e930]: A worker pulls a plastic core from a rubber sleeve on a cable.
|
||||
- button "Edit text" [ref=e931]
|
||||
- generic [ref=e932]:
|
||||
- generic [ref=e933]:
|
||||
- generic [ref=e934]:
|
||||
- generic [ref=e935]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e936]': 00:00:48.500
|
||||
- generic [ref=e937]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e938]': 00:00:51.500
|
||||
- generic [ref=e939]: (3000ms)
|
||||
- generic [ref=e940]:
|
||||
- button "Insert cue before" [ref=e941]:
|
||||
- img [ref=e942]
|
||||
- button "Insert cue after" [ref=e944]:
|
||||
- img [ref=e945]
|
||||
- button "Delete cue" [ref=e947]:
|
||||
- img [ref=e948]
|
||||
- generic [ref=e950]:
|
||||
- generic [ref=e951]: A worker inserts a black plug into a yellow socket.
|
||||
- button "Edit text" [ref=e952]
|
||||
- generic [ref=e953]:
|
||||
- generic [ref=e954]:
|
||||
- generic [ref=e955]:
|
||||
- generic [ref=e956]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e957]': 00:00:51.500
|
||||
- generic [ref=e958]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e959]': 00:00:55.500
|
||||
- generic [ref=e960]: (4000ms)
|
||||
- generic [ref=e961]:
|
||||
- button "Insert cue before" [ref=e962]:
|
||||
- img [ref=e963]
|
||||
- button "Insert cue after" [ref=e965]:
|
||||
- img [ref=e966]
|
||||
- button "Delete cue" [ref=e968]:
|
||||
- img [ref=e969]
|
||||
- generic [ref=e971]:
|
||||
- generic [ref=e972]: Two workers use a power tool on a cable connection.
|
||||
- button "Edit text" [ref=e973]
|
||||
- generic [ref=e974]:
|
||||
- generic [ref=e975]:
|
||||
- generic [ref=e976]:
|
||||
- generic [ref=e977]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e978]': 00:00:55.500
|
||||
- generic [ref=e979]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e980]': 00:01:00.000
|
||||
- generic [ref=e981]: (4500ms)
|
||||
- generic [ref=e982]:
|
||||
- button "Insert cue before" [ref=e983]:
|
||||
- img [ref=e984]
|
||||
- button "Insert cue after" [ref=e986]:
|
||||
- img [ref=e987]
|
||||
- button "Delete cue" [ref=e989]:
|
||||
- img [ref=e990]
|
||||
- generic [ref=e992]:
|
||||
- generic [ref=e993]: The spoken words appear as text on a black background.
|
||||
- button "Edit text" [ref=e994]
|
||||
- generic [ref=e995]:
|
||||
- generic [ref=e996]:
|
||||
- generic [ref=e997]:
|
||||
- generic [ref=e998]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e999]': 00:01:00.000
|
||||
- generic [ref=e1000]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1001]': 00:01:04.000
|
||||
- generic [ref=e1002]: (4000ms)
|
||||
- generic [ref=e1003]:
|
||||
- button "Insert cue before" [ref=e1004]:
|
||||
- img [ref=e1005]
|
||||
- button "Insert cue after" [ref=e1007]:
|
||||
- img [ref=e1008]
|
||||
- button "Delete cue" [ref=e1010]:
|
||||
- img [ref=e1011]
|
||||
- generic [ref=e1013]:
|
||||
- generic [ref=e1014]: "Text on screen reads: 3M Science. Applied to Life."
|
||||
- button "Edit text" [ref=e1015]
|
||||
- generic [ref=e1016]:
|
||||
- generic [ref=e1017]:
|
||||
- generic [ref=e1018]:
|
||||
- generic [ref=e1019]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1020]': 00:01:04.000
|
||||
- generic [ref=e1021]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1022]': 00:01:08.000
|
||||
- generic [ref=e1023]: (4000ms)
|
||||
- generic [ref=e1024]:
|
||||
- button "Insert cue before" [ref=e1025]:
|
||||
- img [ref=e1026]
|
||||
- button "Insert cue after" [ref=e1028]:
|
||||
- img [ref=e1029]
|
||||
- button "Delete cue" [ref=e1031]:
|
||||
- img [ref=e1032]
|
||||
- generic "138.5 characters per second — above the 20 CPS recommended limit" [ref=e1035]: ⚡ 139 CPS
|
||||
- generic [ref=e1036]:
|
||||
- generic [ref=e1037]: "Text on screen reads: The information contained in this video is intended for occupational use by persons with knowledge and technical skills to use such information. It is supplemental only and is not intended to replace the detailed information found in written 3M product instruction and installation manuals. For additional information, including important safety and warranty information regarding 3M Electrical Markets products, refer to the relevant product packaging or data sheet. © 3M 2022. All rights reserved. 3M is a trademark of 3M Company."
|
||||
- button "Edit text" [ref=e1038]
|
||||
- generic [ref=e1039]: "18 cues • Total duration: 1:08.000"
|
||||
- button "↔ Diff vs AI baseline" [ref=e1041]
|
||||
- generic [ref=e1043]:
|
||||
- heading "VTT Timing Adjustment" [level=3] [ref=e1044]
|
||||
- button "Adjust Timing" [ref=e1045]
|
||||
- button "Voice Settings for Audio Description (Configured) Click to customize or override TTS voice" [ref=e1047]:
|
||||
- generic [ref=e1048]:
|
||||
- img [ref=e1049]
|
||||
- generic [ref=e1051]: Voice Settings for Audio Description
|
||||
- generic [ref=e1052]: (Configured)
|
||||
- generic [ref=e1053]: Click to customize or override TTS voice
|
||||
- generic [ref=e1054]:
|
||||
- generic [ref=e1055]: Cost Tracker Project ID
|
||||
- generic [ref=e1056]:
|
||||
- textbox "e.g. ford-q3-2026" [ref=e1057]
|
||||
- button "Save" [ref=e1058]
|
||||
- paragraph [ref=e1059]: Links this job to a project in the AI Cost Dashboard.
|
||||
- button "Download Assets Click to download individual files" [ref=e1061]:
|
||||
- generic [ref=e1062]:
|
||||
- img [ref=e1063]
|
||||
- generic [ref=e1065]: Download Assets
|
||||
- generic [ref=e1066]: Click to download individual files
|
||||
- generic [ref=e1067]:
|
||||
- generic [ref=e1068]: Review Notes
|
||||
- textbox "Add any notes about this review..." [ref=e1069]
|
||||
- generic [ref=e1070]:
|
||||
- button "Approve All Languages" [ref=e1071]
|
||||
- button "Reject Job" [ref=e1072]
|
||||
840
.playwright-mcp/page-2026-05-01T12-53-25-268Z.yml
Normal file
|
|
@ -0,0 +1,840 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e86]:
|
||||
- generic [ref=e87]:
|
||||
- generic [ref=e91]:
|
||||
- heading "test-video" [level=1] [ref=e92]
|
||||
- button "Rename" [ref=e93]:
|
||||
- img [ref=e94]
|
||||
- generic [ref=e96]:
|
||||
- generic [ref=e97]: QC Feedback
|
||||
- generic [ref=e98]: "Source: 69f49ed8694cf102e622687f/source.mp4"
|
||||
- generic [ref=e99]: "Language: EN"
|
||||
- generic [ref=e100]: "Duration: 68s"
|
||||
- generic [ref=e88]:
|
||||
- button "↗ Share link" [ref=e101]
|
||||
- button "← Back to Queue" [ref=e102]
|
||||
- generic [ref=e103]:
|
||||
- generic [ref=e105]:
|
||||
- generic [ref=e106]: Languages
|
||||
- generic [ref=e107]: 0/1 approved
|
||||
- generic [ref=e109]:
|
||||
- button "⏳ EN (source) Pending ▲" [ref=e1093]:
|
||||
- generic [ref=e111]:
|
||||
- generic [ref=e112]: ⏳
|
||||
- generic [ref=e113]: EN
|
||||
- generic [ref=e114]: (source)
|
||||
- generic [ref=e115]: Pending
|
||||
- generic [ref=e116]: ▲
|
||||
- generic [ref=e117]:
|
||||
- generic [ref=e118]:
|
||||
- generic [ref=e119]:
|
||||
- generic [ref=e120]: Linguist
|
||||
- generic [ref=e121]: Unassigned
|
||||
- button "Assign linguist" [ref=e122]
|
||||
- generic [ref=e123]:
|
||||
- generic [ref=e124]: Reviewer
|
||||
- generic [ref=e125]: Unassigned
|
||||
- button "Assign reviewer" [ref=e126]
|
||||
- generic [ref=e127]:
|
||||
- button "✓ Approve" [ref=e1095]
|
||||
- button "✕ Request changes" [ref=e128]
|
||||
- generic [ref=e130]:
|
||||
- button "💬 Hide comments" [ref=e1096]
|
||||
- generic [ref=e1097]:
|
||||
- paragraph [ref=e1098]: No comments yet.
|
||||
- generic [ref=e1099]:
|
||||
- textbox "Add a comment…" [ref=e1100]
|
||||
- button "Send" [disabled] [ref=e1101]
|
||||
- generic [ref=e132]:
|
||||
- generic [ref=e133]:
|
||||
- generic [ref=e134]: "View Mode:"
|
||||
- generic [ref=e135]:
|
||||
- button "Side by Side (1)" [ref=e136]
|
||||
- button "Video Only (2)" [ref=e137]
|
||||
- button "Editor Only (3)" [active] [ref=e138]
|
||||
- generic [ref=e139]: "Shortcuts: A=Approve, R=Reject"
|
||||
- generic [ref=e247]:
|
||||
- generic [ref=e248]:
|
||||
- generic [ref=e249]:
|
||||
- generic [ref=e250]: Closed Captions (EN)
|
||||
- button "Upload .vtt" [ref=e251]
|
||||
- generic [ref=e252]:
|
||||
- heading "Closed Captions (EN)" [level=3] [ref=e255]
|
||||
- generic [ref=e257]:
|
||||
- generic [ref=e258]:
|
||||
- generic [ref=e259]:
|
||||
- generic [ref=e260]:
|
||||
- generic [ref=e261]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e262]': 00:00:00.000
|
||||
- generic [ref=e263]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e264]': 00:00:05.500
|
||||
- generic [ref=e265]: (5500ms)
|
||||
- generic [ref=e266]:
|
||||
- button "Insert cue before" [ref=e267]:
|
||||
- img [ref=e268]
|
||||
- button "Insert cue after" [ref=e270]:
|
||||
- img [ref=e271]
|
||||
- button "Delete cue" [ref=e273]:
|
||||
- img [ref=e274]
|
||||
- generic [ref=e276]:
|
||||
- generic [ref=e277]: "[upbeat music] Renewable energy sources and infrastructure are crucial for the future of power generation."
|
||||
- button "Edit text" [ref=e278]
|
||||
- generic [ref=e279]:
|
||||
- generic [ref=e280]:
|
||||
- generic [ref=e281]:
|
||||
- generic [ref=e282]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e283]': 00:00:06.000
|
||||
- generic [ref=e284]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e285]': 00:00:10.000
|
||||
- generic [ref=e286]: (4000ms)
|
||||
- generic [ref=e287]:
|
||||
- button "Insert cue before" [ref=e288]:
|
||||
- img [ref=e289]
|
||||
- button "Insert cue after" [ref=e291]:
|
||||
- img [ref=e292]
|
||||
- button "Delete cue" [ref=e294]:
|
||||
- img [ref=e295]
|
||||
- generic [ref=e297]:
|
||||
- generic [ref=e298]: With more than 50 years of experience working in the field on energy projects,
|
||||
- button "Edit text" [ref=e299]
|
||||
- generic [ref=e300]:
|
||||
- generic [ref=e301]:
|
||||
- generic [ref=e302]:
|
||||
- generic [ref=e303]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e304]': 00:00:10.000
|
||||
- generic [ref=e305]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e306]': 00:00:13.500
|
||||
- generic [ref=e307]: (3500ms)
|
||||
- generic [ref=e308]:
|
||||
- button "Insert cue before" [ref=e309]:
|
||||
- img [ref=e310]
|
||||
- button "Insert cue after" [ref=e312]:
|
||||
- img [ref=e313]
|
||||
- button "Delete cue" [ref=e315]:
|
||||
- img [ref=e316]
|
||||
- generic [ref=e318]:
|
||||
- generic [ref=e319]: 3M has your solution to help you make your work more reliable, easier,
|
||||
- button "Edit text" [ref=e320]
|
||||
- generic [ref=e321]:
|
||||
- generic [ref=e322]:
|
||||
- generic [ref=e323]:
|
||||
- generic [ref=e324]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e325]': 00:00:13.500
|
||||
- generic [ref=e326]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e327]': 00:00:16.000
|
||||
- generic [ref=e328]: (2500ms)
|
||||
- generic [ref=e329]:
|
||||
- button "Insert cue before" [ref=e330]:
|
||||
- img [ref=e331]
|
||||
- button "Insert cue after" [ref=e333]:
|
||||
- img [ref=e334]
|
||||
- button "Delete cue" [ref=e336]:
|
||||
- img [ref=e337]
|
||||
- generic [ref=e339]:
|
||||
- generic [ref=e340]: and faster for solar energy projects,
|
||||
- button "Edit text" [ref=e341]
|
||||
- generic [ref=e342]:
|
||||
- generic [ref=e343]:
|
||||
- generic [ref=e344]:
|
||||
- generic [ref=e345]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e346]': 00:00:16.000
|
||||
- generic [ref=e347]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e348]': 00:00:18.500
|
||||
- generic [ref=e349]: (2500ms)
|
||||
- generic [ref=e350]:
|
||||
- button "Insert cue before" [ref=e351]:
|
||||
- img [ref=e352]
|
||||
- button "Insert cue after" [ref=e354]:
|
||||
- img [ref=e355]
|
||||
- button "Delete cue" [ref=e357]:
|
||||
- img [ref=e358]
|
||||
- generic [ref=e360]:
|
||||
- generic [ref=e361]: wind energy projects,
|
||||
- button "Edit text" [ref=e362]
|
||||
- generic [ref=e363]:
|
||||
- generic [ref=e364]:
|
||||
- generic [ref=e365]:
|
||||
- generic [ref=e366]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e367]': 00:00:18.500
|
||||
- generic [ref=e368]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e369]': 00:00:21.500
|
||||
- generic [ref=e370]: (3000ms)
|
||||
- generic [ref=e371]:
|
||||
- button "Insert cue before" [ref=e372]:
|
||||
- img [ref=e373]
|
||||
- button "Insert cue after" [ref=e375]:
|
||||
- img [ref=e376]
|
||||
- button "Delete cue" [ref=e378]:
|
||||
- img [ref=e379]
|
||||
- generic [ref=e381]:
|
||||
- generic [ref=e382]: and battery energy storage systems.
|
||||
- button "Edit text" [ref=e383]
|
||||
- generic [ref=e384]:
|
||||
- generic [ref=e385]:
|
||||
- generic [ref=e386]:
|
||||
- generic [ref=e387]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e388]': 00:00:21.500
|
||||
- generic [ref=e389]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e390]': 00:00:25.000
|
||||
- generic [ref=e391]: (3500ms)
|
||||
- generic [ref=e392]:
|
||||
- button "Insert cue before" [ref=e393]:
|
||||
- img [ref=e394]
|
||||
- button "Insert cue after" [ref=e396]:
|
||||
- img [ref=e397]
|
||||
- button "Delete cue" [ref=e399]:
|
||||
- img [ref=e400]
|
||||
- generic [ref=e402]:
|
||||
- generic [ref=e403]: We can help you solve your electrical installation challenges.
|
||||
- button "Edit text" [ref=e404]
|
||||
- generic [ref=e405]:
|
||||
- generic [ref=e406]:
|
||||
- generic [ref=e407]:
|
||||
- generic [ref=e408]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e409]': 00:00:25.000
|
||||
- generic [ref=e410]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e411]': 00:00:28.000
|
||||
- generic [ref=e412]: (3000ms)
|
||||
- generic [ref=e413]:
|
||||
- button "Insert cue before" [ref=e414]:
|
||||
- img [ref=e415]
|
||||
- button "Insert cue after" [ref=e417]:
|
||||
- img [ref=e418]
|
||||
- button "Delete cue" [ref=e420]:
|
||||
- img [ref=e421]
|
||||
- generic [ref=e423]:
|
||||
- generic [ref=e424]: 3M provides advanced technology solutions
|
||||
- button "Edit text" [ref=e425]
|
||||
- generic [ref=e426]:
|
||||
- generic [ref=e427]:
|
||||
- generic [ref=e428]:
|
||||
- generic [ref=e429]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e430]': 00:00:28.000
|
||||
- generic [ref=e431]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e432]': 00:00:32.000
|
||||
- generic [ref=e433]: (4000ms)
|
||||
- generic [ref=e434]:
|
||||
- button "Insert cue before" [ref=e435]:
|
||||
- img [ref=e436]
|
||||
- button "Insert cue after" [ref=e438]:
|
||||
- img [ref=e439]
|
||||
- button "Delete cue" [ref=e441]:
|
||||
- img [ref=e442]
|
||||
- generic [ref=e444]:
|
||||
- generic [ref=e445]: in insulating, connecting, and terminating medium and high voltage cables.
|
||||
- button "Edit text" [ref=e446]
|
||||
- generic [ref=e447]:
|
||||
- generic [ref=e448]:
|
||||
- generic [ref=e449]:
|
||||
- generic [ref=e450]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e451]': 00:00:32.000
|
||||
- generic [ref=e452]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e453]': 00:00:35.000
|
||||
- generic [ref=e454]: (3000ms)
|
||||
- generic [ref=e455]:
|
||||
- button "Insert cue before" [ref=e456]:
|
||||
- img [ref=e457]
|
||||
- button "Insert cue after" [ref=e459]:
|
||||
- img [ref=e460]
|
||||
- button "Delete cue" [ref=e462]:
|
||||
- img [ref=e463]
|
||||
- generic [ref=e465]:
|
||||
- generic [ref=e466]: Our engineers can help with your projects
|
||||
- button "Edit text" [ref=e467]
|
||||
- generic [ref=e468]:
|
||||
- generic [ref=e469]:
|
||||
- generic [ref=e470]:
|
||||
- generic [ref=e471]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e472]': 00:00:35.000
|
||||
- generic [ref=e473]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e474]': 00:00:37.500
|
||||
- generic [ref=e475]: (2500ms)
|
||||
- generic [ref=e476]:
|
||||
- button "Insert cue before" [ref=e477]:
|
||||
- img [ref=e478]
|
||||
- button "Insert cue after" [ref=e480]:
|
||||
- img [ref=e481]
|
||||
- button "Delete cue" [ref=e483]:
|
||||
- img [ref=e484]
|
||||
- generic [ref=e486]:
|
||||
- generic [ref=e487]: and recommend customized product kits
|
||||
- button "Edit text" [ref=e488]
|
||||
- generic [ref=e489]:
|
||||
- generic [ref=e490]:
|
||||
- generic [ref=e491]:
|
||||
- generic [ref=e492]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e493]': 00:00:37.500
|
||||
- generic [ref=e494]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e495]': 00:00:40.500
|
||||
- generic [ref=e496]: (3000ms)
|
||||
- generic [ref=e497]:
|
||||
- button "Insert cue before" [ref=e498]:
|
||||
- img [ref=e499]
|
||||
- button "Insert cue after" [ref=e501]:
|
||||
- img [ref=e502]
|
||||
- button "Delete cue" [ref=e504]:
|
||||
- img [ref=e505]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e508]: ⚡ 22 CPS
|
||||
- generic [ref=e509]:
|
||||
- generic [ref=e510]: so you get exactly what you need for reliable product performance.
|
||||
- button "Edit text" [ref=e511]
|
||||
- generic [ref=e512]:
|
||||
- generic [ref=e513]:
|
||||
- generic [ref=e514]:
|
||||
- generic [ref=e515]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e516]': 00:00:40.500
|
||||
- generic [ref=e517]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e518]': 00:00:44.500
|
||||
- generic [ref=e519]: (4000ms)
|
||||
- generic [ref=e520]:
|
||||
- button "Insert cue before" [ref=e521]:
|
||||
- img [ref=e522]
|
||||
- button "Insert cue after" [ref=e524]:
|
||||
- img [ref=e525]
|
||||
- button "Delete cue" [ref=e527]:
|
||||
- img [ref=e528]
|
||||
- generic [ref=e530]:
|
||||
- generic [ref=e531]: We work closely with you, so you get the support you need.
|
||||
- button "Edit text" [ref=e532]
|
||||
- generic [ref=e533]:
|
||||
- generic [ref=e534]:
|
||||
- generic [ref=e535]:
|
||||
- generic [ref=e536]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e537]': 00:00:45.000
|
||||
- generic [ref=e538]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e539]': 00:00:48.500
|
||||
- generic [ref=e540]: (3500ms)
|
||||
- generic [ref=e541]:
|
||||
- button "Insert cue before" [ref=e542]:
|
||||
- img [ref=e543]
|
||||
- button "Insert cue after" [ref=e545]:
|
||||
- img [ref=e546]
|
||||
- button "Delete cue" [ref=e548]:
|
||||
- img [ref=e549]
|
||||
- generic [ref=e551]:
|
||||
- generic [ref=e552]: Your work, combined with our solutions,
|
||||
- button "Edit text" [ref=e553]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e554] [cursor=pointer]:
|
||||
- generic [ref=e555]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e556]:
|
||||
- generic [ref=e557]:
|
||||
- generic [ref=e558]:
|
||||
- generic [ref=e559]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e560]': 00:00:50.000
|
||||
- generic [ref=e561]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e562]': 00:00:52.000
|
||||
- generic [ref=e563]: (2000ms)
|
||||
- generic [ref=e564]:
|
||||
- button "Insert cue before" [ref=e565]:
|
||||
- img [ref=e566]
|
||||
- button "Insert cue after" [ref=e568]:
|
||||
- img [ref=e569]
|
||||
- button "Delete cue" [ref=e571]:
|
||||
- img [ref=e572]
|
||||
- generic [ref=e574]:
|
||||
- generic [ref=e575]: can help avoid costly downtime
|
||||
- button "Edit text" [ref=e576]
|
||||
- generic [ref=e577]:
|
||||
- generic [ref=e578]:
|
||||
- generic [ref=e579]:
|
||||
- generic [ref=e580]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e581]': 00:00:52.000
|
||||
- generic [ref=e582]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e583]': 00:00:55.500
|
||||
- generic [ref=e584]: (3500ms)
|
||||
- generic [ref=e585]:
|
||||
- button "Insert cue before" [ref=e586]:
|
||||
- img [ref=e587]
|
||||
- button "Insert cue after" [ref=e589]:
|
||||
- img [ref=e590]
|
||||
- button "Delete cue" [ref=e592]:
|
||||
- img [ref=e593]
|
||||
- generic [ref=e595]:
|
||||
- generic [ref=e596]: and keep your renewable systems up and running smoothly.
|
||||
- button "Edit text" [ref=e597]
|
||||
- generic "Insert cue in this gap (1.0s gap)" [ref=e598] [cursor=pointer]:
|
||||
- generic [ref=e599]: + Add cue here · 1.0s gap
|
||||
- generic [ref=e600]:
|
||||
- generic [ref=e601]:
|
||||
- generic [ref=e602]:
|
||||
- generic [ref=e603]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e604]': 00:00:56.500
|
||||
- generic [ref=e605]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e606]': 00:00:59.500
|
||||
- generic [ref=e607]: (3000ms)
|
||||
- generic [ref=e608]:
|
||||
- button "Insert cue before" [ref=e609]:
|
||||
- img [ref=e610]
|
||||
- button "Insert cue after" [ref=e612]:
|
||||
- img [ref=e613]
|
||||
- button "Delete cue" [ref=e615]:
|
||||
- img [ref=e616]
|
||||
- generic [ref=e618]:
|
||||
- generic [ref=e619]: Wherever the job takes you, we have your solution.
|
||||
- button "Edit text" [ref=e620]
|
||||
- generic "Insert cue in this gap (1.5s gap)" [ref=e621] [cursor=pointer]:
|
||||
- generic [ref=e622]: + Add cue here · 1.5s gap
|
||||
- generic [ref=e623]:
|
||||
- generic [ref=e624]:
|
||||
- generic [ref=e625]:
|
||||
- generic [ref=e626]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e627]': 00:01:01.000
|
||||
- generic [ref=e628]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e629]': 00:01:04.000
|
||||
- generic [ref=e630]: (3000ms)
|
||||
- generic [ref=e631]:
|
||||
- button "Insert cue before" [ref=e632]:
|
||||
- img [ref=e633]
|
||||
- button "Insert cue after" [ref=e635]:
|
||||
- img [ref=e636]
|
||||
- button "Delete cue" [ref=e638]:
|
||||
- img [ref=e639]
|
||||
- generic [ref=e641]:
|
||||
- generic [ref=e642]: 3M. Science. Applied to Life.
|
||||
- button "Edit text" [ref=e643]
|
||||
- generic [ref=e644]: "18 cues • Total duration: 1:04.000"
|
||||
- button "↔ Diff vs AI baseline" [ref=e646]
|
||||
- generic [ref=e647]:
|
||||
- generic [ref=e648]:
|
||||
- generic [ref=e649]: Audio Description (EN)
|
||||
- button "Upload .vtt" [ref=e650]
|
||||
- generic [ref=e651]:
|
||||
- heading "Audio Description (EN)" [level=3] [ref=e654]
|
||||
- generic [ref=e656]:
|
||||
- generic [ref=e657]:
|
||||
- generic [ref=e658]:
|
||||
- generic [ref=e659]:
|
||||
- generic [ref=e660]: "1"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e661]': 00:00:00.000
|
||||
- generic [ref=e662]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e663]': 00:00:05.500
|
||||
- generic [ref=e664]: (5500ms)
|
||||
- generic [ref=e665]:
|
||||
- button "Insert cue before" [ref=e666]:
|
||||
- img [ref=e667]
|
||||
- button "Insert cue after" [ref=e669]:
|
||||
- img [ref=e670]
|
||||
- button "Delete cue" [ref=e672]:
|
||||
- img [ref=e673]
|
||||
- generic [ref=e675]:
|
||||
- generic [ref=e676]: "An aerial view of a massive solar panel farm. Text on screen reads: 3M Science. Applied to Life."
|
||||
- button "Edit text" [ref=e677]
|
||||
- generic [ref=e678]:
|
||||
- generic [ref=e679]:
|
||||
- generic [ref=e680]:
|
||||
- generic [ref=e681]: "2"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e682]': 00:00:06.000
|
||||
- generic [ref=e683]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e684]': 00:00:10.000
|
||||
- generic [ref=e685]: (4000ms)
|
||||
- generic [ref=e686]:
|
||||
- button "Insert cue before" [ref=e687]:
|
||||
- img [ref=e688]
|
||||
- button "Insert cue after" [ref=e690]:
|
||||
- img [ref=e691]
|
||||
- button "Delete cue" [ref=e693]:
|
||||
- img [ref=e694]
|
||||
- generic [ref=e696]:
|
||||
- generic [ref=e697]: Three workers in hard hats stand near solar panels.
|
||||
- button "Edit text" [ref=e698]
|
||||
- generic [ref=e699]:
|
||||
- generic [ref=e700]:
|
||||
- generic [ref=e701]:
|
||||
- generic [ref=e702]: "3"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e703]': 00:00:10.000
|
||||
- generic [ref=e704]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e705]': 00:00:13.500
|
||||
- generic [ref=e706]: (3500ms)
|
||||
- generic [ref=e707]:
|
||||
- button "Insert cue before" [ref=e708]:
|
||||
- img [ref=e709]
|
||||
- button "Insert cue after" [ref=e711]:
|
||||
- img [ref=e712]
|
||||
- button "Delete cue" [ref=e714]:
|
||||
- img [ref=e715]
|
||||
- generic [ref=e717]:
|
||||
- generic [ref=e718]: A gloved hand inserts a metal rod into a grey rubber sleeve.
|
||||
- button "Edit text" [ref=e719]
|
||||
- generic [ref=e720]:
|
||||
- generic [ref=e721]:
|
||||
- generic [ref=e722]:
|
||||
- generic [ref=e723]: "4"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e724]': 00:00:13.500
|
||||
- generic [ref=e725]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e726]': 00:00:16.000
|
||||
- generic [ref=e727]: (2500ms)
|
||||
- generic [ref=e728]:
|
||||
- button "Insert cue before" [ref=e729]:
|
||||
- img [ref=e730]
|
||||
- button "Insert cue after" [ref=e732]:
|
||||
- img [ref=e733]
|
||||
- button "Delete cue" [ref=e735]:
|
||||
- img [ref=e736]
|
||||
- generic [ref=e738]:
|
||||
- generic [ref=e739]: Three workers walk past solar panels.
|
||||
- button "Edit text" [ref=e740]
|
||||
- generic [ref=e741]:
|
||||
- generic [ref=e742]:
|
||||
- generic [ref=e743]:
|
||||
- generic [ref=e744]: "5"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e745]': 00:00:16.000
|
||||
- generic [ref=e746]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e747]': 00:00:18.500
|
||||
- generic [ref=e748]: (2500ms)
|
||||
- generic [ref=e749]:
|
||||
- button "Insert cue before" [ref=e750]:
|
||||
- img [ref=e751]
|
||||
- button "Insert cue after" [ref=e753]:
|
||||
- img [ref=e754]
|
||||
- button "Delete cue" [ref=e756]:
|
||||
- img [ref=e757]
|
||||
- generic [ref=e759]:
|
||||
- generic [ref=e760]: Wind turbines stand in the ocean at sunset.
|
||||
- button "Edit text" [ref=e761]
|
||||
- generic [ref=e762]:
|
||||
- generic [ref=e763]:
|
||||
- generic [ref=e764]:
|
||||
- generic [ref=e765]: "6"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e766]': 00:00:18.500
|
||||
- generic [ref=e767]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e768]': 00:00:21.500
|
||||
- generic [ref=e769]: (3000ms)
|
||||
- generic [ref=e770]:
|
||||
- button "Insert cue before" [ref=e771]:
|
||||
- img [ref=e772]
|
||||
- button "Insert cue after" [ref=e774]:
|
||||
- img [ref=e775]
|
||||
- button "Delete cue" [ref=e777]:
|
||||
- img [ref=e778]
|
||||
- generic [ref=e780]:
|
||||
- generic [ref=e781]: Rows of white battery storage units at an industrial site.
|
||||
- button "Edit text" [ref=e782]
|
||||
- generic [ref=e783]:
|
||||
- generic [ref=e784]:
|
||||
- generic [ref=e785]:
|
||||
- generic [ref=e786]: "7"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e787]': 00:00:21.500
|
||||
- generic [ref=e788]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e789]': 00:00:25.000
|
||||
- generic [ref=e790]: (3500ms)
|
||||
- generic [ref=e791]:
|
||||
- button "Insert cue before" [ref=e792]:
|
||||
- img [ref=e793]
|
||||
- button "Insert cue after" [ref=e795]:
|
||||
- img [ref=e796]
|
||||
- button "Delete cue" [ref=e798]:
|
||||
- img [ref=e799]
|
||||
- generic [ref=e801]:
|
||||
- generic [ref=e802]: Two workers look up at the underside of a solar panel.
|
||||
- button "Edit text" [ref=e803]
|
||||
- generic [ref=e804]:
|
||||
- generic [ref=e805]:
|
||||
- generic [ref=e806]:
|
||||
- generic [ref=e807]: "8"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e808]': 00:00:25.000
|
||||
- generic [ref=e809]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e810]': 00:00:28.000
|
||||
- generic [ref=e811]: (3000ms)
|
||||
- generic [ref=e812]:
|
||||
- button "Insert cue before" [ref=e813]:
|
||||
- img [ref=e814]
|
||||
- button "Insert cue after" [ref=e816]:
|
||||
- img [ref=e817]
|
||||
- button "Delete cue" [ref=e819]:
|
||||
- img [ref=e820]
|
||||
- generic [ref=e822]:
|
||||
- generic [ref=e823]: Workers install cables in a trench.
|
||||
- button "Edit text" [ref=e824]
|
||||
- generic [ref=e825]:
|
||||
- generic [ref=e826]:
|
||||
- generic [ref=e827]:
|
||||
- generic [ref=e828]: "9"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e829]': 00:00:28.000
|
||||
- generic [ref=e830]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e831]': 00:00:32.000
|
||||
- generic [ref=e832]: (4000ms)
|
||||
- generic [ref=e833]:
|
||||
- button "Insert cue before" [ref=e834]:
|
||||
- img [ref=e835]
|
||||
- button "Insert cue after" [ref=e837]:
|
||||
- img [ref=e838]
|
||||
- button "Delete cue" [ref=e840]:
|
||||
- img [ref=e841]
|
||||
- generic [ref=e843]:
|
||||
- generic [ref=e844]: A worker wipes a thick black cable with a cloth.
|
||||
- button "Edit text" [ref=e845]
|
||||
- generic [ref=e846]:
|
||||
- generic [ref=e847]:
|
||||
- generic [ref=e848]:
|
||||
- generic [ref=e849]: "10"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e850]': 00:00:32.000
|
||||
- generic [ref=e851]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e852]': 00:00:35.000
|
||||
- generic [ref=e853]: (3000ms)
|
||||
- generic [ref=e854]:
|
||||
- button "Insert cue before" [ref=e855]:
|
||||
- img [ref=e856]
|
||||
- button "Insert cue after" [ref=e858]:
|
||||
- img [ref=e859]
|
||||
- button "Delete cue" [ref=e861]:
|
||||
- img [ref=e862]
|
||||
- generic "22.0 characters per second — above the 20 CPS recommended limit" [ref=e865]: ⚡ 22 CPS
|
||||
- generic [ref=e866]:
|
||||
- generic [ref=e867]: "A worker stands next to a cardboard box. Text on screen reads: 3M."
|
||||
- button "Edit text" [ref=e868]
|
||||
- generic [ref=e869]:
|
||||
- generic [ref=e870]:
|
||||
- generic [ref=e871]:
|
||||
- generic [ref=e872]: "11"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e873]': 00:00:35.000
|
||||
- generic [ref=e874]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e875]': 00:00:40.500
|
||||
- generic [ref=e876]: (5500ms)
|
||||
- generic [ref=e877]:
|
||||
- button "Insert cue before" [ref=e878]:
|
||||
- img [ref=e879]
|
||||
- button "Insert cue after" [ref=e881]:
|
||||
- img [ref=e882]
|
||||
- button "Delete cue" [ref=e884]:
|
||||
- img [ref=e885]
|
||||
- generic [ref=e887]:
|
||||
- generic [ref=e888]: A worker pulls a product from a 3M box. Another holds a document with diagrams.
|
||||
- button "Edit text" [ref=e889]
|
||||
- generic [ref=e890]:
|
||||
- generic [ref=e891]:
|
||||
- generic [ref=e892]:
|
||||
- generic [ref=e893]: "12"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e894]': 00:00:40.500
|
||||
- generic [ref=e895]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e896]': 00:00:44.500
|
||||
- generic [ref=e897]: (4000ms)
|
||||
- generic [ref=e898]:
|
||||
- button "Insert cue before" [ref=e899]:
|
||||
- img [ref=e900]
|
||||
- button "Insert cue after" [ref=e902]:
|
||||
- img [ref=e903]
|
||||
- button "Delete cue" [ref=e905]:
|
||||
- img [ref=e906]
|
||||
- generic [ref=e908]:
|
||||
- generic [ref=e909]: Two workers examine a cable component.
|
||||
- button "Edit text" [ref=e910]
|
||||
- generic [ref=e911]:
|
||||
- generic [ref=e912]:
|
||||
- generic [ref=e913]:
|
||||
- generic [ref=e914]: "13"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e915]': 00:00:44.500
|
||||
- generic [ref=e916]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e917]': 00:00:48.500
|
||||
- generic [ref=e918]: (4000ms)
|
||||
- generic [ref=e919]:
|
||||
- button "Insert cue before" [ref=e920]:
|
||||
- img [ref=e921]
|
||||
- button "Insert cue after" [ref=e923]:
|
||||
- img [ref=e924]
|
||||
- button "Delete cue" [ref=e926]:
|
||||
- img [ref=e927]
|
||||
- generic [ref=e929]:
|
||||
- generic [ref=e930]: A worker pulls a plastic core from a rubber sleeve on a cable.
|
||||
- button "Edit text" [ref=e931]
|
||||
- generic [ref=e932]:
|
||||
- generic [ref=e933]:
|
||||
- generic [ref=e934]:
|
||||
- generic [ref=e935]: "14"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e936]': 00:00:48.500
|
||||
- generic [ref=e937]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e938]': 00:00:51.500
|
||||
- generic [ref=e939]: (3000ms)
|
||||
- generic [ref=e940]:
|
||||
- button "Insert cue before" [ref=e941]:
|
||||
- img [ref=e942]
|
||||
- button "Insert cue after" [ref=e944]:
|
||||
- img [ref=e945]
|
||||
- button "Delete cue" [ref=e947]:
|
||||
- img [ref=e948]
|
||||
- generic [ref=e950]:
|
||||
- generic [ref=e951]: A worker inserts a black plug into a yellow socket.
|
||||
- button "Edit text" [ref=e952]
|
||||
- generic [ref=e953]:
|
||||
- generic [ref=e954]:
|
||||
- generic [ref=e955]:
|
||||
- generic [ref=e956]: "15"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e957]': 00:00:51.500
|
||||
- generic [ref=e958]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e959]': 00:00:55.500
|
||||
- generic [ref=e960]: (4000ms)
|
||||
- generic [ref=e961]:
|
||||
- button "Insert cue before" [ref=e962]:
|
||||
- img [ref=e963]
|
||||
- button "Insert cue after" [ref=e965]:
|
||||
- img [ref=e966]
|
||||
- button "Delete cue" [ref=e968]:
|
||||
- img [ref=e969]
|
||||
- generic [ref=e971]:
|
||||
- generic [ref=e972]: Two workers use a power tool on a cable connection.
|
||||
- button "Edit text" [ref=e973]
|
||||
- generic [ref=e974]:
|
||||
- generic [ref=e975]:
|
||||
- generic [ref=e976]:
|
||||
- generic [ref=e977]: "16"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e978]': 00:00:55.500
|
||||
- generic [ref=e979]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e980]': 00:01:00.000
|
||||
- generic [ref=e981]: (4500ms)
|
||||
- generic [ref=e982]:
|
||||
- button "Insert cue before" [ref=e983]:
|
||||
- img [ref=e984]
|
||||
- button "Insert cue after" [ref=e986]:
|
||||
- img [ref=e987]
|
||||
- button "Delete cue" [ref=e989]:
|
||||
- img [ref=e990]
|
||||
- generic [ref=e992]:
|
||||
- generic [ref=e993]: The spoken words appear as text on a black background.
|
||||
- button "Edit text" [ref=e994]
|
||||
- generic [ref=e995]:
|
||||
- generic [ref=e996]:
|
||||
- generic [ref=e997]:
|
||||
- generic [ref=e998]: "17"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e999]': 00:01:00.000
|
||||
- generic [ref=e1000]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1001]': 00:01:04.000
|
||||
- generic [ref=e1002]: (4000ms)
|
||||
- generic [ref=e1003]:
|
||||
- button "Insert cue before" [ref=e1004]:
|
||||
- img [ref=e1005]
|
||||
- button "Insert cue after" [ref=e1007]:
|
||||
- img [ref=e1008]
|
||||
- button "Delete cue" [ref=e1010]:
|
||||
- img [ref=e1011]
|
||||
- generic [ref=e1013]:
|
||||
- generic [ref=e1014]: "Text on screen reads: 3M Science. Applied to Life."
|
||||
- button "Edit text" [ref=e1015]
|
||||
- generic [ref=e1016]:
|
||||
- generic [ref=e1017]:
|
||||
- generic [ref=e1018]:
|
||||
- generic [ref=e1019]: "18"
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1020]': 00:01:04.000
|
||||
- generic [ref=e1021]: →
|
||||
- 'textbox "Edit timestamp (format: 0:00.000 or 00:00:00.000)" [ref=e1022]': 00:01:08.000
|
||||
- generic [ref=e1023]: (4000ms)
|
||||
- generic [ref=e1024]:
|
||||
- button "Insert cue before" [ref=e1025]:
|
||||
- img [ref=e1026]
|
||||
- button "Insert cue after" [ref=e1028]:
|
||||
- img [ref=e1029]
|
||||
- button "Delete cue" [ref=e1031]:
|
||||
- img [ref=e1032]
|
||||
- generic "138.5 characters per second — above the 20 CPS recommended limit" [ref=e1035]: ⚡ 139 CPS
|
||||
- generic [ref=e1036]:
|
||||
- generic [ref=e1037]: "Text on screen reads: The information contained in this video is intended for occupational use by persons with knowledge and technical skills to use such information. It is supplemental only and is not intended to replace the detailed information found in written 3M product instruction and installation manuals. For additional information, including important safety and warranty information regarding 3M Electrical Markets products, refer to the relevant product packaging or data sheet. © 3M 2022. All rights reserved. 3M is a trademark of 3M Company."
|
||||
- button "Edit text" [ref=e1038]
|
||||
- generic [ref=e1039]: "18 cues • Total duration: 1:08.000"
|
||||
- button "↔ Diff vs AI baseline" [ref=e1041]
|
||||
- generic [ref=e1043]:
|
||||
- heading "VTT Timing Adjustment" [level=3] [ref=e1044]
|
||||
- button "Adjust Timing" [ref=e1045]
|
||||
- button "Voice Settings for Audio Description (Configured) Click to customize or override TTS voice" [ref=e1047]:
|
||||
- generic [ref=e1048]:
|
||||
- img [ref=e1049]
|
||||
- generic [ref=e1051]: Voice Settings for Audio Description
|
||||
- generic [ref=e1052]: (Configured)
|
||||
- generic [ref=e1053]: Click to customize or override TTS voice
|
||||
- generic [ref=e1054]:
|
||||
- generic [ref=e1055]: Cost Tracker Project ID
|
||||
- generic [ref=e1056]:
|
||||
- textbox "e.g. ford-q3-2026" [ref=e1057]
|
||||
- button "Save" [ref=e1058]
|
||||
- paragraph [ref=e1059]: Links this job to a project in the AI Cost Dashboard.
|
||||
- button "Download Assets Click to download individual files" [ref=e1061]:
|
||||
- generic [ref=e1062]:
|
||||
- img [ref=e1063]
|
||||
- generic [ref=e1065]: Download Assets
|
||||
- generic [ref=e1066]: Click to download individual files
|
||||
- generic [ref=e1067]:
|
||||
- generic [ref=e1068]: Review Notes
|
||||
- textbox "Add any notes about this review..." [ref=e1069]
|
||||
- generic [ref=e1070]:
|
||||
- button "Approve All Languages" [ref=e1071]
|
||||
- button "Reject Job" [ref=e1072]
|
||||
99
.playwright-mcp/page-2026-05-01T12-54-03-531Z.yml
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "⚙️ Settings" [ref=e51] [cursor=pointer]:
|
||||
- /url: /video-accessibility/org/3m-test/settings/members
|
||||
- generic [ref=e52]: ⚙️
|
||||
- generic [ref=e53]: Settings
|
||||
- link "📖 Help" [ref=e55] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e56]: 📖
|
||||
- generic [ref=e57]: Help
|
||||
- generic [ref=e59]:
|
||||
- generic [ref=e61]: T
|
||||
- generic [ref=e62]:
|
||||
- paragraph [ref=e63]: Test Admin
|
||||
- paragraph [ref=e64]: admin
|
||||
- generic [ref=e65]:
|
||||
- navigation [ref=e66]:
|
||||
- generic [ref=e67]:
|
||||
- heading "Dashboard" [level=2] [ref=e69]
|
||||
- generic [ref=e70]:
|
||||
- button [ref=e72]:
|
||||
- img [ref=e73]
|
||||
- link "New Upload" [ref=e75] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e76]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e79]:
|
||||
- generic [ref=e81]: T
|
||||
- generic [ref=e82]:
|
||||
- paragraph [ref=e83]: test-admin@oliver.agency
|
||||
- paragraph [ref=e84]: admin
|
||||
- img [ref=e85]
|
||||
- main [ref=e87]:
|
||||
- generic [ref=e88]:
|
||||
- heading "Organization Settings" [level=1] [ref=e89]
|
||||
- generic [ref=e90]:
|
||||
- link "Members" [ref=e91] [cursor=pointer]:
|
||||
- /url: /video-accessibility/org/3m-test/settings/members
|
||||
- link "Teams" [ref=e92] [cursor=pointer]:
|
||||
- /url: /video-accessibility/org/3m-test/settings/teams
|
||||
- link "Invitations" [ref=e93] [cursor=pointer]:
|
||||
- /url: /video-accessibility/org/3m-test/settings/invitations
|
||||
- link "General" [ref=e94] [cursor=pointer]:
|
||||
- /url: /video-accessibility/org/3m-test/settings/general
|
||||
- generic [ref=e95]: Loading…
|
||||
BIN
.playwright-mcp/page-2026-05-01T12-54-05-252Z.png
Normal file
|
After Width: | Height: | Size: 67 KiB |
99
.playwright-mcp/page-2026-05-01T12-54-12-348Z.yml
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "⚙️ Settings" [ref=e51] [cursor=pointer]:
|
||||
- /url: /video-accessibility/org/3m-test/settings/members
|
||||
- generic [ref=e52]: ⚙️
|
||||
- generic [ref=e53]: Settings
|
||||
- link "📖 Help" [ref=e55] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e56]: 📖
|
||||
- generic [ref=e57]: Help
|
||||
- generic [ref=e59]:
|
||||
- generic [ref=e61]: T
|
||||
- generic [ref=e62]:
|
||||
- paragraph [ref=e63]: Test Admin
|
||||
- paragraph [ref=e64]: admin
|
||||
- generic [ref=e65]:
|
||||
- navigation [ref=e66]:
|
||||
- generic [ref=e67]:
|
||||
- heading "Dashboard" [level=2] [ref=e69]
|
||||
- generic [ref=e70]:
|
||||
- button [ref=e72]:
|
||||
- img [ref=e73]
|
||||
- link "New Upload" [ref=e75] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e76]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e79]:
|
||||
- generic [ref=e81]: T
|
||||
- generic [ref=e82]:
|
||||
- paragraph [ref=e83]: test-admin@oliver.agency
|
||||
- paragraph [ref=e84]: admin
|
||||
- img [ref=e85]
|
||||
- main [ref=e87]:
|
||||
- generic [ref=e88]:
|
||||
- heading "Organization Settings" [level=1] [ref=e89]
|
||||
- generic [ref=e90]:
|
||||
- link "Members" [ref=e91] [cursor=pointer]:
|
||||
- /url: /video-accessibility/org/3m-test/settings/members
|
||||
- link "Teams" [ref=e92] [cursor=pointer]:
|
||||
- /url: /video-accessibility/org/3m-test/settings/teams
|
||||
- link "Invitations" [ref=e93] [cursor=pointer]:
|
||||
- /url: /video-accessibility/org/3m-test/settings/invitations
|
||||
- link "General" [ref=e94] [cursor=pointer]:
|
||||
- /url: /video-accessibility/org/3m-test/settings/general
|
||||
- generic [ref=e95]: Failed to load members.
|
||||
142
.playwright-mcp/page-2026-05-01T12-54-36-336Z.yml
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e87]:
|
||||
- generic [ref=e88]:
|
||||
- heading "Welcome back, test-admin! 👋" [level=1] [ref=e89]
|
||||
- paragraph [ref=e90]: Here's what's happening with your video accessibility projects
|
||||
- generic [ref=e92]:
|
||||
- paragraph [ref=e93]: Today
|
||||
- paragraph [ref=e94]: Friday, May 1
|
||||
- generic [ref=e95]:
|
||||
- link "📋 Total Jobs 0 View all →" [ref=e96] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e98]:
|
||||
- generic [ref=e99]:
|
||||
- generic [ref=e101]: 📋
|
||||
- heading "Total Jobs" [level=3] [ref=e102]
|
||||
- paragraph [ref=e103]: "0"
|
||||
- paragraph [ref=e104]: View all →
|
||||
- link "⚙️ Processing 0 View processing →" [ref=e105] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs?status=created,ingesting,ai_processing,translating,tts_generating,rendering_video,rendering_qc
|
||||
- generic [ref=e107]:
|
||||
- generic [ref=e108]:
|
||||
- generic [ref=e110]: ⚙️
|
||||
- heading "Processing" [level=3] [ref=e111]
|
||||
- paragraph [ref=e112]: "0"
|
||||
- paragraph [ref=e113]: View processing →
|
||||
- link "🔍 In QC Review 0 Review now →" [ref=e114] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e116]:
|
||||
- generic [ref=e117]:
|
||||
- generic [ref=e119]: 🔍
|
||||
- heading "In QC Review" [level=3] [ref=e120]
|
||||
- paragraph [ref=e121]: "0"
|
||||
- paragraph [ref=e122]: Review now →
|
||||
- link "✅ Completed 0 View completed →" [ref=e123] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs?status=completed
|
||||
- generic [ref=e125]:
|
||||
- generic [ref=e126]:
|
||||
- generic [ref=e128]: ✅
|
||||
- heading "Completed" [level=3] [ref=e129]
|
||||
- paragraph [ref=e130]: "0"
|
||||
- paragraph [ref=e131]: View completed →
|
||||
- generic [ref=e132]:
|
||||
- generic [ref=e133]:
|
||||
- generic [ref=e134]:
|
||||
- generic [ref=e136]: 🔍
|
||||
- heading "Quality Control" [level=2] [ref=e137]
|
||||
- paragraph [ref=e138]: 0 jobs awaiting review
|
||||
- paragraph [ref=e139]: Review AI-generated content for accuracy and compliance with accessibility standards.
|
||||
- link "Start Reviewing →" [ref=e140] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e141]:
|
||||
- generic [ref=e142]:
|
||||
- generic [ref=e144]: ✅
|
||||
- heading "Final Approval" [level=2] [ref=e145]
|
||||
- paragraph [ref=e146]: Jobs ready for delivery
|
||||
- paragraph [ref=e147]: Complete the final review process and approve jobs for client delivery.
|
||||
- link "Review Finals →" [ref=e148] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- heading "Recent Activity" [level=2] [ref=e151]
|
||||
83
.playwright-mcp/page-2026-05-01T12-55-15-601Z.yml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]
|
||||
132
.playwright-mcp/page-2026-05-01T12-55-21-644Z.yml
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e91]:
|
||||
- generic [ref=e92]:
|
||||
- paragraph [ref=e93]:
|
||||
- text: ←
|
||||
- link "Clients" [ref=e94] [cursor=pointer]:
|
||||
- /url: /admin/clients
|
||||
- heading "3M-Test" [level=1] [ref=e95]
|
||||
- paragraph [ref=e96]: 3m-test
|
||||
- generic [ref=e97]:
|
||||
- heading "Project Managers" [level=2] [ref=e98]
|
||||
- paragraph [ref=e100]: No PMs assigned
|
||||
- generic [ref=e101]:
|
||||
- combobox [ref=e102]:
|
||||
- option "Select user to assign as PM…" [selected]
|
||||
- option "Test Project Manager (test-pm@oliver.agency)"
|
||||
- option "Test Production (test-production@oliver.agency)"
|
||||
- option "Test Reviewer (test-reviewer@oliver.agency)"
|
||||
- option "Test Linguist (test-linguist@oliver.agency)"
|
||||
- option "Test Client (test-client@oliver.agency)"
|
||||
- option "Test Admin (test-admin@oliver.agency)"
|
||||
- option "Vadym Samoilenko (vadymsamoilenko@oliver.agency)"
|
||||
- button "Assign" [disabled] [ref=e103]
|
||||
- generic [ref=e104]:
|
||||
- heading "Teams" [level=2] [ref=e105]
|
||||
- paragraph [ref=e107]: No teams yet
|
||||
- generic [ref=e108]:
|
||||
- textbox "New team name…" [ref=e109]
|
||||
- button "+ Team" [disabled] [ref=e110]
|
||||
- generic [ref=e111]:
|
||||
- heading "Projects" [level=2] [ref=e112]
|
||||
- generic [ref=e114]:
|
||||
- generic [ref=e116]: Test_Vadym
|
||||
- generic [ref=e117]:
|
||||
- button "Rename" [ref=e118]
|
||||
- button "Archive" [ref=e119]
|
||||
- generic [ref=e120]:
|
||||
- textbox "New project name…" [ref=e121]
|
||||
- button "+ Project" [disabled] [ref=e122]
|
||||
- generic [ref=e123]:
|
||||
- generic [ref=e124]:
|
||||
- heading "Glossaries" [level=2] [ref=e125]
|
||||
- link "View all →" [ref=e126] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries
|
||||
- generic [ref=e128]:
|
||||
- link "3M Terms" [ref=e129] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/69f3ac7badf2dc9ed96d2535
|
||||
- generic [ref=e130]: active
|
||||
- link "+ Upload glossary" [ref=e132] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/upload
|
||||
132
.playwright-mcp/page-2026-05-01T12-55-28-651Z.yml
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e91]:
|
||||
- generic [ref=e92]:
|
||||
- paragraph [ref=e93]:
|
||||
- text: ←
|
||||
- link "Clients" [ref=e94] [cursor=pointer]:
|
||||
- /url: /admin/clients
|
||||
- heading "3M-Test" [level=1] [ref=e95]
|
||||
- paragraph [ref=e96]: 3m-test
|
||||
- generic [ref=e97]:
|
||||
- heading "Project Managers" [level=2] [ref=e98]
|
||||
- paragraph [ref=e100]: No PMs assigned
|
||||
- generic [ref=e101]:
|
||||
- combobox [ref=e102]:
|
||||
- option "Select user to assign as PM…" [selected]
|
||||
- option "Test Project Manager (test-pm@oliver.agency)"
|
||||
- option "Test Production (test-production@oliver.agency)"
|
||||
- option "Test Reviewer (test-reviewer@oliver.agency)"
|
||||
- option "Test Linguist (test-linguist@oliver.agency)"
|
||||
- option "Test Client (test-client@oliver.agency)"
|
||||
- option "Test Admin (test-admin@oliver.agency)"
|
||||
- option "Vadym Samoilenko (vadymsamoilenko@oliver.agency)"
|
||||
- button "Assign" [disabled] [ref=e103]
|
||||
- generic [ref=e104]:
|
||||
- heading "Teams" [level=2] [ref=e105]
|
||||
- paragraph [ref=e107]: No teams yet
|
||||
- generic [ref=e108]:
|
||||
- textbox "New team name…" [ref=e109]
|
||||
- button "+ Team" [disabled] [ref=e110]
|
||||
- generic [ref=e111]:
|
||||
- heading "Projects" [level=2] [ref=e112]
|
||||
- generic [ref=e114]:
|
||||
- generic [ref=e116]: Test_Vadym
|
||||
- generic [ref=e117]:
|
||||
- button "Rename" [ref=e118]
|
||||
- button "Archive" [ref=e119]
|
||||
- generic [ref=e120]:
|
||||
- textbox "New project name…" [ref=e121]
|
||||
- button "+ Project" [disabled] [ref=e122]
|
||||
- generic [ref=e123]:
|
||||
- generic [ref=e124]:
|
||||
- heading "Glossaries" [level=2] [ref=e125]
|
||||
- link "View all →" [ref=e126] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries
|
||||
- generic [ref=e128]:
|
||||
- link "3M Terms" [ref=e129] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/69f3ac7badf2dc9ed96d2535
|
||||
- generic [ref=e130]: active
|
||||
- link "+ Upload glossary" [ref=e132] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/upload
|
||||
132
.playwright-mcp/page-2026-05-01T12-55-33-242Z.yml
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e91]:
|
||||
- generic [ref=e92]:
|
||||
- paragraph [ref=e93]:
|
||||
- text: ←
|
||||
- link "Clients" [ref=e94] [cursor=pointer]:
|
||||
- /url: /admin/clients
|
||||
- heading "3M-Test" [level=1] [ref=e95]
|
||||
- paragraph [ref=e96]: 3m-test
|
||||
- generic [ref=e97]:
|
||||
- heading "Project Managers" [level=2] [ref=e98]
|
||||
- paragraph [ref=e100]: No PMs assigned
|
||||
- generic [ref=e101]:
|
||||
- combobox [ref=e102]:
|
||||
- option "Select user to assign as PM…" [selected]
|
||||
- option "Test Project Manager (test-pm@oliver.agency)"
|
||||
- option "Test Production (test-production@oliver.agency)"
|
||||
- option "Test Reviewer (test-reviewer@oliver.agency)"
|
||||
- option "Test Linguist (test-linguist@oliver.agency)"
|
||||
- option "Test Client (test-client@oliver.agency)"
|
||||
- option "Test Admin (test-admin@oliver.agency)"
|
||||
- option "Vadym Samoilenko (vadymsamoilenko@oliver.agency)"
|
||||
- button "Assign" [disabled] [ref=e103]
|
||||
- generic [ref=e104]:
|
||||
- heading "Teams" [level=2] [ref=e105]
|
||||
- paragraph [ref=e107]: No teams yet
|
||||
- generic [ref=e108]:
|
||||
- textbox "New team name…" [ref=e109]
|
||||
- button "+ Team" [disabled] [ref=e110]
|
||||
- generic [ref=e111]:
|
||||
- heading "Projects" [level=2] [ref=e112]
|
||||
- generic [ref=e114]:
|
||||
- generic [ref=e116]: Test_Vadym
|
||||
- generic [ref=e117]:
|
||||
- button "Rename" [ref=e118]
|
||||
- button "Archive" [ref=e119]
|
||||
- generic [ref=e120]:
|
||||
- textbox "New project name…" [ref=e121]
|
||||
- button "+ Project" [disabled] [ref=e122]
|
||||
- generic [ref=e123]:
|
||||
- generic [ref=e124]:
|
||||
- heading "Glossaries" [level=2] [ref=e125]
|
||||
- link "View all →" [ref=e126] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries
|
||||
- generic [ref=e128]:
|
||||
- link "3M Terms" [ref=e129] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/69f3ac7badf2dc9ed96d2535
|
||||
- generic [ref=e130]: active
|
||||
- link "+ Upload glossary" [ref=e132] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/upload
|
||||
103
.playwright-mcp/page-2026-05-01T12-55-44-762Z.yml
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e133]:
|
||||
- generic [ref=e134]:
|
||||
- generic [ref=e135]:
|
||||
- paragraph [ref=e136]:
|
||||
- text: ←
|
||||
- link "Client" [ref=e137] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534
|
||||
- heading "Glossaries" [level=1] [ref=e138]
|
||||
- link "+ Upload glossary" [ref=e139] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/upload
|
||||
- generic [ref=e141]:
|
||||
- generic [ref=e142]:
|
||||
- generic [ref=e143]:
|
||||
- link "3M Terms" [ref=e144] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/69f3ac7badf2dc9ed96d2535
|
||||
- generic [ref=e145]: active
|
||||
- paragraph [ref=e146]: "Source: en-GB · Created 4/30/2026"
|
||||
- generic [ref=e147]:
|
||||
- generic [ref=e148]: Pending embed
|
||||
- button "Archive" [ref=e149]
|
||||
103
.playwright-mcp/page-2026-05-01T12-55-49-734Z.yml
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e133]:
|
||||
- generic [ref=e134]:
|
||||
- generic [ref=e135]:
|
||||
- paragraph [ref=e136]:
|
||||
- text: ←
|
||||
- link "Client" [ref=e137] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534
|
||||
- heading "Glossaries" [level=1] [ref=e138]
|
||||
- link "+ Upload glossary" [ref=e139] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/upload
|
||||
- generic [ref=e141]:
|
||||
- generic [ref=e142]:
|
||||
- generic [ref=e143]:
|
||||
- link "3M Terms" [ref=e144] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/69f3ac7badf2dc9ed96d2535
|
||||
- generic [ref=e145]: active
|
||||
- paragraph [ref=e146]: "Source: en-GB · Created 4/30/2026"
|
||||
- generic [ref=e147]:
|
||||
- generic [ref=e148]: Pending embed
|
||||
- button "Archive" [ref=e149]
|
||||
83
.playwright-mcp/page-2026-05-01T12-57-00-898Z.yml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]
|
||||
0
.playwright-mcp/page-2026-05-01T12-57-09-158Z.yml
Normal file
0
.playwright-mcp/page-2026-05-01T12-57-18-769Z.yml
Normal file
83
.playwright-mcp/page-2026-05-01T12-57-28-232Z.yml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]
|
||||
152
.playwright-mcp/page-2026-05-01T12-57-32-486Z.yml
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e87]:
|
||||
- generic [ref=e93]:
|
||||
- generic [ref=e94]:
|
||||
- heading "Test5" [level=1] [ref=e95]
|
||||
- button "Rename" [ref=e96]:
|
||||
- img [ref=e97]
|
||||
- paragraph [ref=e99]: source.mp4 • Created about 18 hours ago
|
||||
- generic [ref=e100]:
|
||||
- generic [ref=e101]: Completed
|
||||
- generic "Connected - receiving real-time updates" [ref=e102]
|
||||
- generic [ref=e103]:
|
||||
- generic [ref=e104]:
|
||||
- navigation [ref=e106]:
|
||||
- button "📋Overview" [ref=e107]
|
||||
- button "🎥Video Preview" [disabled] [ref=e108]
|
||||
- button "📁Assets" [ref=e109]
|
||||
- button "📜History" [ref=e110]
|
||||
- button "🕒VTT Versions" [ref=e111]
|
||||
- generic [ref=e112]:
|
||||
- generic [ref=e113]:
|
||||
- heading "Job Information" [level=2] [ref=e114]
|
||||
- generic [ref=e115]:
|
||||
- generic [ref=e116]:
|
||||
- term [ref=e117]: Original File
|
||||
- definition [ref=e118]: source.mp4
|
||||
- generic [ref=e119]:
|
||||
- term [ref=e120]: Source Language
|
||||
- definition [ref=e121]: EN
|
||||
- generic [ref=e122]:
|
||||
- term [ref=e123]: Requested Languages
|
||||
- definition [ref=e124]: de-DE, fr-CA
|
||||
- generic [ref=e125]:
|
||||
- term [ref=e126]: Outputs
|
||||
- definition [ref=e127]:
|
||||
- generic [ref=e128]:
|
||||
- generic [ref=e129]: ✓ Captions (VTT)
|
||||
- generic [ref=e130]: ✓ Audio Descriptions (VTT)
|
||||
- generic [ref=e131]: ✓ Audio Descriptions (MP3)
|
||||
- generic [ref=e132]:
|
||||
- heading "Review Notes" [level=2] [ref=e133]
|
||||
- paragraph [ref=e134]: No review notes yet
|
||||
- generic [ref=e136]:
|
||||
- generic [ref=e137]:
|
||||
- heading "Ready for Download" [level=3] [ref=e138]
|
||||
- paragraph [ref=e139]: Your accessible video assets are ready. Click below to access your files.
|
||||
- link "Download Files" [ref=e140] [cursor=pointer]:
|
||||
- /url: /video-accessibility/downloads/69f3b6d2cde5f3709e55301e
|
||||
- img [ref=e141]
|
||||
- text: Download Files
|
||||
- generic [ref=e144]:
|
||||
- generic [ref=e145]:
|
||||
- heading "Return to QC" [level=3] [ref=e146]
|
||||
- paragraph [ref=e147]: Move this job back to QC review for further editing.
|
||||
- button "Return to QC" [ref=e148]:
|
||||
- img [ref=e149]
|
||||
- text: Return to QC
|
||||
- generic [ref=e152]:
|
||||
- heading "Processing Progress" [level=3] [ref=e153]
|
||||
- generic [ref=e154]:
|
||||
- generic [ref=e157]: Created
|
||||
- generic [ref=e160]: Ingesting
|
||||
- generic [ref=e163]: Ai Processing
|
||||
- generic [ref=e166]: Translating
|
||||
- generic [ref=e169]: Tts Generating
|
||||
- generic [ref=e172]: Rendering Video
|
||||
- generic [ref=e175]: Pending Qc
|
||||
- generic [ref=e178]: Pending Final Review
|
||||
- generic [ref=e181]: Completed
|
||||
135
.playwright-mcp/page-2026-05-01T12-57-56-196Z.yml
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e86]:
|
||||
- generic [ref=e87]:
|
||||
- generic [ref=e88]:
|
||||
- heading "All Jobs" [level=1] [ref=e89]
|
||||
- generic "Connecting..." [ref=e90]
|
||||
- paragraph [ref=e91]: System-wide job management
|
||||
- link "New Job" [ref=e92] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e93]
|
||||
- text: New Job
|
||||
- generic [ref=e95]:
|
||||
- button "Pending Final Review" [ref=e96]
|
||||
- button "In QC" [ref=e97]
|
||||
- button "TTS Failed" [ref=e98]
|
||||
- button "Render Failed" [ref=e99]
|
||||
- generic [ref=e101]:
|
||||
- generic [ref=e102]:
|
||||
- generic [ref=e103]: Search
|
||||
- textbox "Search" [ref=e104]:
|
||||
- /placeholder: Search by job name, user, or filename...
|
||||
- generic [ref=e105]:
|
||||
- generic [ref=e106]: Created By
|
||||
- combobox "Created By" [ref=e107]:
|
||||
- option "All Users" [selected]
|
||||
- generic [ref=e108]:
|
||||
- generic [ref=e109]: Status
|
||||
- combobox "Status" [ref=e110]:
|
||||
- option "All Statuses" [selected]
|
||||
- option "Created"
|
||||
- option "Ingesting"
|
||||
- option "AI Processing"
|
||||
- option "Pending QC"
|
||||
- option "Approved (EN)"
|
||||
- option "Approved for Translation"
|
||||
- option "Rejected"
|
||||
- option "QC Feedback"
|
||||
- option "Translating"
|
||||
- option "Generating Audio"
|
||||
- option "TTS Failed"
|
||||
- option "Rendering Video"
|
||||
- option "Render Failed"
|
||||
- option "Pending Final Review"
|
||||
- option "Completed"
|
||||
- generic [ref=e111]:
|
||||
- generic [ref=e112]: Date Created
|
||||
- combobox "Date Created" [ref=e113]:
|
||||
- option "All Time" [selected]
|
||||
- option "Last 7 Days"
|
||||
- option "Last 30 Days"
|
||||
- button "Clear Filters" [disabled] [ref=e115]
|
||||
- paragraph [ref=e117]: No jobs found
|
||||
83
.playwright-mcp/page-2026-05-01T12-59-11-623Z.yml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]
|
||||
152
.playwright-mcp/page-2026-05-01T12-59-15-357Z.yml
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e87]:
|
||||
- generic [ref=e93]:
|
||||
- generic [ref=e94]:
|
||||
- heading "Test5" [level=1] [ref=e95]
|
||||
- button "Rename" [ref=e96]:
|
||||
- img [ref=e97]
|
||||
- paragraph [ref=e99]: source.mp4 • Created about 18 hours ago
|
||||
- generic [ref=e100]:
|
||||
- generic [ref=e101]: Completed
|
||||
- generic "Connected - receiving real-time updates" [ref=e102]
|
||||
- generic [ref=e103]:
|
||||
- generic [ref=e104]:
|
||||
- navigation [ref=e106]:
|
||||
- button "📋Overview" [ref=e107]
|
||||
- button "🎥Video Preview" [disabled] [ref=e108]
|
||||
- button "📁Assets" [ref=e109]
|
||||
- button "📜History" [ref=e110]
|
||||
- button "🕒VTT Versions" [ref=e111]
|
||||
- generic [ref=e112]:
|
||||
- generic [ref=e113]:
|
||||
- heading "Job Information" [level=2] [ref=e114]
|
||||
- generic [ref=e115]:
|
||||
- generic [ref=e116]:
|
||||
- term [ref=e117]: Original File
|
||||
- definition [ref=e118]: source.mp4
|
||||
- generic [ref=e119]:
|
||||
- term [ref=e120]: Source Language
|
||||
- definition [ref=e121]: EN
|
||||
- generic [ref=e122]:
|
||||
- term [ref=e123]: Requested Languages
|
||||
- definition [ref=e124]: de-DE, fr-CA
|
||||
- generic [ref=e125]:
|
||||
- term [ref=e126]: Outputs
|
||||
- definition [ref=e127]:
|
||||
- generic [ref=e128]:
|
||||
- generic [ref=e129]: ✓ Captions (VTT)
|
||||
- generic [ref=e130]: ✓ Audio Descriptions (VTT)
|
||||
- generic [ref=e131]: ✓ Audio Descriptions (MP3)
|
||||
- generic [ref=e132]:
|
||||
- heading "Review Notes" [level=2] [ref=e133]
|
||||
- paragraph [ref=e134]: No review notes yet
|
||||
- generic [ref=e136]:
|
||||
- generic [ref=e137]:
|
||||
- heading "Ready for Download" [level=3] [ref=e138]
|
||||
- paragraph [ref=e139]: Your accessible video assets are ready. Click below to access your files.
|
||||
- link "Download Files" [ref=e140] [cursor=pointer]:
|
||||
- /url: /video-accessibility/downloads/69f3b6d2cde5f3709e55301e
|
||||
- img [ref=e141]
|
||||
- text: Download Files
|
||||
- generic [ref=e144]:
|
||||
- generic [ref=e145]:
|
||||
- heading "Return to QC" [level=3] [ref=e146]
|
||||
- paragraph [ref=e147]: Move this job back to QC review for further editing.
|
||||
- button "Return to QC" [ref=e148]:
|
||||
- img [ref=e149]
|
||||
- text: Return to QC
|
||||
- generic [ref=e152]:
|
||||
- heading "Processing Progress" [level=3] [ref=e153]
|
||||
- generic [ref=e154]:
|
||||
- generic [ref=e157]: Created
|
||||
- generic [ref=e160]: Ingesting
|
||||
- generic [ref=e163]: Ai Processing
|
||||
- generic [ref=e166]: Translating
|
||||
- generic [ref=e169]: Tts Generating
|
||||
- generic [ref=e172]: Rendering Video
|
||||
- generic [ref=e175]: Pending Qc
|
||||
- generic [ref=e178]: Pending Final Review
|
||||
- generic [ref=e181]: Completed
|
||||
138
.playwright-mcp/page-2026-05-01T12-59-37-361Z.yml
Normal file
|
|
@ -0,0 +1,138 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- heading "Create New Job" [level=1] [ref=e86]
|
||||
- generic [ref=e87]:
|
||||
- generic [ref=e88]:
|
||||
- generic [ref=e89]: Video File
|
||||
- generic [ref=e91] [cursor=pointer]:
|
||||
- button "Choose File" [ref=e92]
|
||||
- generic [ref=e93]:
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]:
|
||||
- paragraph [ref=e98]: Drag and drop video files here, or click to select
|
||||
- paragraph [ref=e99]: Supports MP4, MOV, AVI, MKV up to 1024MB each
|
||||
- generic [ref=e100]:
|
||||
- generic [ref=e101]: Requested Outputs
|
||||
- generic [ref=e102]:
|
||||
- generic [ref=e103]:
|
||||
- checkbox "Closed Captions (VTT)" [checked] [ref=e104]
|
||||
- generic [ref=e105]: Closed Captions (VTT)
|
||||
- generic [ref=e106]:
|
||||
- checkbox "Audio Description Script (VTT)" [checked] [ref=e107]
|
||||
- generic [ref=e108]: Audio Description Script (VTT)
|
||||
- generic [ref=e109]:
|
||||
- checkbox "Audio Description Voiceover (MP3)" [checked] [ref=e110]
|
||||
- generic [ref=e111]: Audio Description Voiceover (MP3)
|
||||
- generic [ref=e112]:
|
||||
- checkbox "Accessible Video (MP4 with embedded audio descriptions)" [ref=e113]
|
||||
- generic [ref=e114]: Accessible Video (MP4 with embedded audio descriptions)
|
||||
- generic [ref=e115]:
|
||||
- checkbox "SDH Captions (VTT with speaker labels, sound effects & music notation)" [ref=e116]
|
||||
- generic [ref=e117]: SDH Captions (VTT with speaker labels, sound effects & music notation)
|
||||
- button "Voice Settings Click to customize TTS voice" [ref=e119]:
|
||||
- generic [ref=e120]:
|
||||
- img [ref=e121]
|
||||
- generic [ref=e123]: Voice Settings
|
||||
- generic [ref=e124]: Click to customize TTS voice
|
||||
- generic [ref=e125]:
|
||||
- generic [ref=e126]: Target Languages for Translation
|
||||
- generic [ref=e129]:
|
||||
- textbox "Search languages" [disabled] [ref=e130]:
|
||||
- /placeholder: Loading languages...
|
||||
- button [disabled] [ref=e131]:
|
||||
- img [ref=e132]
|
||||
- paragraph
|
||||
- generic [ref=e135]:
|
||||
- generic [ref=e136]: Client *
|
||||
- combobox [ref=e137]:
|
||||
- option "— Select client —" [selected]
|
||||
- generic [ref=e138]:
|
||||
- generic [ref=e139]: Deadline (optional)
|
||||
- textbox [ref=e140]
|
||||
- generic [ref=e141]:
|
||||
- generic [ref=e142]: Brand Names (optional)
|
||||
- textbox "e.g. Sellotape, Coca-Cola, Apple iPhone" [ref=e143]
|
||||
- paragraph [ref=e144]: List brand names visible in the video so the AI uses them instead of generic terms (e.g. "Sellotape" instead of "sticky tape").
|
||||
- button "Create Job" [disabled] [ref=e146]
|
||||
139
.playwright-mcp/page-2026-05-01T12-59-41-516Z.yml
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- heading "Create New Job" [level=1] [ref=e86]
|
||||
- generic [ref=e87]:
|
||||
- generic [ref=e88]:
|
||||
- generic [ref=e89]: Video File
|
||||
- generic [ref=e91] [cursor=pointer]:
|
||||
- button "Choose File" [ref=e92]
|
||||
- generic [ref=e93]:
|
||||
- img [ref=e95]
|
||||
- generic [ref=e97]:
|
||||
- paragraph [ref=e98]: Drag and drop video files here, or click to select
|
||||
- paragraph [ref=e99]: Supports MP4, MOV, AVI, MKV up to 1024MB each
|
||||
- generic [ref=e100]:
|
||||
- generic [ref=e101]: Requested Outputs
|
||||
- generic [ref=e102]:
|
||||
- generic [ref=e103]:
|
||||
- checkbox "Closed Captions (VTT)" [checked] [ref=e104]
|
||||
- generic [ref=e105]: Closed Captions (VTT)
|
||||
- generic [ref=e106]:
|
||||
- checkbox "Audio Description Script (VTT)" [checked] [ref=e107]
|
||||
- generic [ref=e108]: Audio Description Script (VTT)
|
||||
- generic [ref=e109]:
|
||||
- checkbox "Audio Description Voiceover (MP3)" [checked] [ref=e110]
|
||||
- generic [ref=e111]: Audio Description Voiceover (MP3)
|
||||
- generic [ref=e112]:
|
||||
- checkbox "Accessible Video (MP4 with embedded audio descriptions)" [ref=e113]
|
||||
- generic [ref=e114]: Accessible Video (MP4 with embedded audio descriptions)
|
||||
- generic [ref=e115]:
|
||||
- checkbox "SDH Captions (VTT with speaker labels, sound effects & music notation)" [ref=e116]
|
||||
- generic [ref=e117]: SDH Captions (VTT with speaker labels, sound effects & music notation)
|
||||
- button "Voice Settings Click to customize TTS voice" [ref=e119]:
|
||||
- generic [ref=e120]:
|
||||
- img [ref=e121]
|
||||
- generic [ref=e123]: Voice Settings
|
||||
- generic [ref=e124]: Click to customize TTS voice
|
||||
- generic [ref=e125]:
|
||||
- generic [ref=e126]: Target Languages for Translation
|
||||
- generic [ref=e129]:
|
||||
- textbox "Search languages" [ref=e130]:
|
||||
- /placeholder: Search languages...
|
||||
- button [ref=e131]:
|
||||
- img [ref=e132]
|
||||
- paragraph [ref=e147]: 50 languages available
|
||||
- generic [ref=e135]:
|
||||
- generic [ref=e136]: Client *
|
||||
- combobox [ref=e137]:
|
||||
- option "— Select client —" [selected]
|
||||
- option "3M-Test"
|
||||
- generic [ref=e138]:
|
||||
- generic [ref=e139]: Deadline (optional)
|
||||
- textbox [ref=e140]
|
||||
- generic [ref=e141]:
|
||||
- generic [ref=e142]: Brand Names (optional)
|
||||
- textbox "e.g. Sellotape, Coca-Cola, Apple iPhone" [ref=e143]
|
||||
- paragraph [ref=e144]: List brand names visible in the video so the AI uses them instead of generic terms (e.g. "Sellotape" instead of "sticky tape").
|
||||
- button "Create Job" [disabled] [ref=e146]
|
||||
83
.playwright-mcp/page-2026-05-01T13-00-29-087Z.yml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]
|
||||
103
.playwright-mcp/page-2026-05-01T13-00-33-203Z.yml
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e85]:
|
||||
- generic [ref=e88]:
|
||||
- generic [ref=e89]:
|
||||
- paragraph [ref=e90]:
|
||||
- text: ←
|
||||
- link "Client" [ref=e91] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534
|
||||
- heading "Glossaries" [level=1] [ref=e92]
|
||||
- link "+ Upload glossary" [ref=e93] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/upload
|
||||
- generic [ref=e95]:
|
||||
- generic [ref=e96]:
|
||||
- generic [ref=e97]:
|
||||
- link "3M Terms" [ref=e98] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries/69f3ac7badf2dc9ed96d2535
|
||||
- generic [ref=e99]: active
|
||||
- paragraph [ref=e100]: "Source: en-GB · Created 4/30/2026"
|
||||
- generic [ref=e101]:
|
||||
- generic [ref=e102]: Pending embed
|
||||
- button "Archive" [ref=e103]
|
||||
134
.playwright-mcp/page-2026-05-01T13-00-39-470Z.yml
Normal file
|
|
@ -0,0 +1,134 @@
|
|||
- generic [ref=e4]:
|
||||
- generic [ref=e6]:
|
||||
- generic [ref=e8]:
|
||||
- generic [ref=e10]: VA
|
||||
- generic [ref=e11]:
|
||||
- heading "Video Access" [level=1] [ref=e12]
|
||||
- paragraph [ref=e13]: Accessibility Platform
|
||||
- navigation [ref=e14]:
|
||||
- link "🏠 Dashboard" [ref=e15] [cursor=pointer]:
|
||||
- /url: /video-accessibility
|
||||
- generic [ref=e16]: 🏠
|
||||
- generic [ref=e17]: Dashboard
|
||||
- link "📋 All Jobs" [ref=e18] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs
|
||||
- generic [ref=e19]: 📋
|
||||
- generic [ref=e20]: All Jobs
|
||||
- link "📤 Upload Video" [ref=e21] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- generic [ref=e22]: 📤
|
||||
- generic [ref=e23]: Upload Video
|
||||
- link "📝 My QC Queue" [ref=e24] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/queue
|
||||
- generic [ref=e25]: 📝
|
||||
- generic [ref=e26]: My QC Queue
|
||||
- link "🔎 Reviewer Queue" [ref=e27] [cursor=pointer]:
|
||||
- /url: /video-accessibility/qc/reviewer-queue
|
||||
- generic [ref=e28]: 🔎
|
||||
- generic [ref=e29]: Reviewer Queue
|
||||
- link "🔍 QC Review" [ref=e30] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/qc
|
||||
- generic [ref=e31]: 🔍
|
||||
- generic [ref=e32]: QC Review
|
||||
- link "✅ Final Review" [ref=e33] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/final
|
||||
- generic [ref=e34]: ✅
|
||||
- generic [ref=e35]: Final Review
|
||||
- link "👥 User Management" [ref=e36] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/users
|
||||
- generic [ref=e37]: 👥
|
||||
- generic [ref=e38]: User Management
|
||||
- link "🏢 Clients" [ref=e39] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients
|
||||
- generic [ref=e40]: 🏢
|
||||
- generic [ref=e41]: Clients
|
||||
- link "📄 Briefs" [ref=e42] [cursor=pointer]:
|
||||
- /url: /video-accessibility/briefs
|
||||
- generic [ref=e43]: 📄
|
||||
- generic [ref=e44]: Briefs
|
||||
- link "🔥 Failures" [ref=e45] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/failures
|
||||
- generic [ref=e46]: 🔥
|
||||
- generic [ref=e47]: Failures
|
||||
- link "📋 Audit Log" [ref=e48] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/audit-log
|
||||
- generic [ref=e49]: 📋
|
||||
- generic [ref=e50]: Audit Log
|
||||
- link "📖 Help" [ref=e52] [cursor=pointer]:
|
||||
- /url: /video-accessibility/help
|
||||
- generic [ref=e53]: 📖
|
||||
- generic [ref=e54]: Help
|
||||
- generic [ref=e56]:
|
||||
- generic [ref=e58]: T
|
||||
- generic [ref=e59]:
|
||||
- paragraph [ref=e60]: Test Admin
|
||||
- paragraph [ref=e61]: admin
|
||||
- generic [ref=e62]:
|
||||
- navigation [ref=e63]:
|
||||
- generic [ref=e64]:
|
||||
- heading "Dashboard" [level=2] [ref=e66]
|
||||
- generic [ref=e67]:
|
||||
- button [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- link "New Upload" [ref=e72] [cursor=pointer]:
|
||||
- /url: /video-accessibility/jobs/new
|
||||
- img [ref=e73]
|
||||
- text: New Upload
|
||||
- button "T test-admin@oliver.agency admin" [ref=e76]:
|
||||
- generic [ref=e78]: T
|
||||
- generic [ref=e79]:
|
||||
- paragraph [ref=e80]: test-admin@oliver.agency
|
||||
- paragraph [ref=e81]: admin
|
||||
- img [ref=e82]
|
||||
- main [ref=e84]:
|
||||
- generic [ref=e104]:
|
||||
- generic [ref=e105]:
|
||||
- paragraph [ref=e106]:
|
||||
- text: ←
|
||||
- link "Glossaries" [ref=e107] [cursor=pointer]:
|
||||
- /url: /video-accessibility/admin/clients/69f3ac66adf2dc9ed96d2534/glossaries
|
||||
- heading "Upload glossary" [level=1] [ref=e108]
|
||||
- paragraph [ref=e109]: Upload an xlsx file with terminology translations.
|
||||
- generic [ref=e111] [cursor=pointer]:
|
||||
- paragraph [ref=e112]: Drop .xlsx file here or click to browse
|
||||
- paragraph [ref=e113]: Max 50 MB
|
||||
- generic [ref=e114]:
|
||||
- generic [ref=e115]:
|
||||
- generic [ref=e116]: Glossary name *
|
||||
- textbox "e.g. 3M Master Terminology" [ref=e117]
|
||||
- generic [ref=e118]:
|
||||
- generic [ref=e119]: Source language *
|
||||
- combobox [ref=e120]:
|
||||
- option "English (UK) (en-GB)" [selected]
|
||||
- option "English (US) (en-US)"
|
||||
- option "English (Canada) (en-CA)"
|
||||
- option "German (de-DE)"
|
||||
- option "French (France) (fr-FR)"
|
||||
- option "French (Canada) (fr-CA)"
|
||||
- option "Spanish (Spain) (es-ES)"
|
||||
- option "Spanish (Mexico) (es-MX)"
|
||||
- option "Spanish (Latin America) (es-419)"
|
||||
- option "Italian (it-IT)"
|
||||
- option "Portuguese (Brazil) (pt-BR)"
|
||||
- option "Portuguese (Portugal) (pt-PT)"
|
||||
- option "Dutch (nl-NL)"
|
||||
- option "Polish (pl-PL)"
|
||||
- option "Czech (cs-CZ)"
|
||||
- option "Turkish (tr-TR)"
|
||||
- option "Korean (ko-KR)"
|
||||
- option "Japanese (ja-JP)"
|
||||
- option "Indonesian (id-ID)"
|
||||
- generic [ref=e121]:
|
||||
- generic [ref=e122]: Source column header in xlsx *
|
||||
- textbox "e.g. en_gb or English (GB)" [ref=e123]:
|
||||
- /placeholder: e.g. en_gb or English (GB)
|
||||
- paragraph [ref=e124]: Must exactly match the column header in the xlsx file (case-insensitive).
|
||||
- generic [ref=e125]:
|
||||
- generic [ref=e126]: Description (optional)
|
||||
- textbox [ref=e127]
|
||||
- generic [ref=e128]:
|
||||
- generic [ref=e129]: Change note (optional)
|
||||
- textbox "e.g. Initial import Q1 2026" [ref=e130]
|
||||
- generic [ref=e131]:
|
||||
- button "Cancel" [ref=e132]
|
||||
- button "Upload glossary" [disabled] [ref=e133]
|
||||
|
|
@ -23,9 +23,6 @@ import { GlossaryUpload } from './routes/admin/glossaries/GlossaryUpload';
|
|||
import { GlossaryDetail } from './routes/admin/glossaries/GlossaryDetail';
|
||||
import { AuditLog } from './routes/admin/AuditLog';
|
||||
import { FailuresList } from './routes/admin/FailuresList';
|
||||
import { BriefsList } from './routes/briefs/BriefsList';
|
||||
import { NewBrief } from './routes/briefs/NewBrief';
|
||||
import { BriefDetail } from './routes/briefs/BriefDetail';
|
||||
import { LinguistQueue } from './routes/jobs/LinguistQueue';
|
||||
import { ReviewerQueue } from './routes/jobs/ReviewerQueue';
|
||||
import { Downloads } from './routes/Downloads';
|
||||
|
|
@ -196,27 +193,6 @@ function AppContent() {
|
|||
</RoleGate>
|
||||
</AuthenticatedRoute>
|
||||
} />
|
||||
<Route path="/briefs" element={
|
||||
<AuthenticatedRoute>
|
||||
<RoleGate allowedRoles={['project_manager', 'admin', 'production']}>
|
||||
<BriefsList />
|
||||
</RoleGate>
|
||||
</AuthenticatedRoute>
|
||||
} />
|
||||
<Route path="/briefs/new" element={
|
||||
<AuthenticatedRoute>
|
||||
<RoleGate allowedRoles={['project_manager', 'admin', 'production']}>
|
||||
<NewBrief />
|
||||
</RoleGate>
|
||||
</AuthenticatedRoute>
|
||||
} />
|
||||
<Route path="/briefs/:id" element={
|
||||
<AuthenticatedRoute>
|
||||
<RoleGate allowedRoles={['project_manager', 'admin', 'production']}>
|
||||
<BriefDetail />
|
||||
</RoleGate>
|
||||
</AuthenticatedRoute>
|
||||
} />
|
||||
<Route path="/qc/queue" element={
|
||||
<AuthenticatedRoute>
|
||||
<RoleGate allowedRoles={['linguist', 'reviewer', 'production', 'admin']}>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { Link, useLocation, useParams } from 'react-router-dom';
|
||||
import { useAuthStore } from '../../lib/auth';
|
||||
import { useMyMemberships, useOrganizations } from '../../hooks/useClients';
|
||||
import { useJobs, useBriefs, useMyQCQueueCount } from '../../hooks/useJob';
|
||||
import { useJobs, useMyQCQueueCount } from '../../hooks/useJob';
|
||||
|
||||
interface SidebarItem {
|
||||
label: string;
|
||||
|
|
@ -36,13 +36,11 @@ export function Sidebar({ onMobileClose }: SidebarProps) {
|
|||
{ enabled: isAdminOrProduction }
|
||||
);
|
||||
|
||||
const { data: allBriefs = [] } = useBriefs();
|
||||
const { data: allOrgs = [] } = useOrganizations({ enabled: isPlatformAdmin });
|
||||
|
||||
const qcBadge = isQCRole ? myQCCount : 0;
|
||||
const finalBadge = isPMOrAdmin ? (finalData?.total || 0) : 0;
|
||||
const failuresBadge = isAdminOrProduction ? (failuresData?.total || 0) : 0;
|
||||
const briefsBadge = allBriefs.filter(b => b.status === 'submitted').length;
|
||||
|
||||
// Determine current org ID from route params, first membership, or first org (admin fallback).
|
||||
// The route param :orgSlug actually carries the organization _id (hex string),
|
||||
|
|
@ -107,13 +105,6 @@ export function Sidebar({ onMobileClose }: SidebarProps) {
|
|||
icon: '🏢',
|
||||
roles: ['admin', 'project_manager'],
|
||||
},
|
||||
{
|
||||
label: 'Briefs',
|
||||
href: '/briefs',
|
||||
icon: '📄',
|
||||
roles: ['client', 'production', 'admin', 'project_manager'],
|
||||
badge: briefsBadge || undefined,
|
||||
},
|
||||
{
|
||||
label: 'Failures',
|
||||
href: '/admin/failures',
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { Link } from 'react-router-dom';
|
||||
import { useAuthStore } from '../lib/auth';
|
||||
import { useJobs, useProductionQueueStats, useBriefs } from '../hooks/useJob';
|
||||
import { useJobs, useProductionQueueStats } from '../hooks/useJob';
|
||||
import { StatusBadge } from '../components/StatusBadge';
|
||||
import type { Job } from '../types/api';
|
||||
|
||||
|
|
@ -12,8 +12,6 @@ export function Dashboard() {
|
|||
enabled: isAuthenticated && !!user
|
||||
});
|
||||
const { data: queueStats } = useProductionQueueStats();
|
||||
const { data: briefsData } = useBriefs();
|
||||
|
||||
const jobs = jobsData?.jobs || [];
|
||||
|
||||
const ACTIVE_STATUSES = ['created', 'ingesting', 'ai_processing', 'translating', 'tts_generating', 'rendering_video', 'rendering_qc', 'pending_qc', 'qc_feedback', 'pending_final_review'];
|
||||
|
|
@ -30,7 +28,6 @@ export function Dashboard() {
|
|||
failed: jobs.filter((j: Job) => ['tts_failed', 'render_failed'].includes(j.status)).length,
|
||||
overdue: jobs.filter((j: Job) => j.deadline && new Date(j.deadline).getTime() < now && !['completed', 'rejected'].includes(j.status)).length,
|
||||
stuck: jobs.filter((j: Job) => ACTIVE_STATUSES.includes(j.status) && (now - new Date(j.updated_at).getTime()) > MS_24H).length,
|
||||
awaitingUpload: (briefsData ?? []).filter(b => b.status === 'submitted').length,
|
||||
pendingQcHandoff: jobs.filter((j: Job) => j.status === 'ai_processing' && !(j.language_qc && Object.keys(j.language_qc).length > 0)).length,
|
||||
};
|
||||
|
||||
|
|
@ -201,29 +198,6 @@ export function Dashboard() {
|
|||
</Link>
|
||||
</div>
|
||||
|
||||
<div className={`bg-gradient-to-br ${stats.awaitingUpload > 0 ? 'from-violet-500 to-purple-700' : 'from-gray-400 to-gray-500'} rounded-2xl p-8 text-white`}>
|
||||
<div className="flex items-center mb-4">
|
||||
<div className="w-12 h-12 bg-white/20 rounded-lg flex items-center justify-center mr-4">
|
||||
<span className="text-2xl">📥</span>
|
||||
</div>
|
||||
<h2 className="text-2xl font-bold">Awaiting Upload</h2>
|
||||
</div>
|
||||
<p className="text-white/80 mb-2 text-lg font-semibold">
|
||||
{stats.awaitingUpload} submitted brief{stats.awaitingUpload !== 1 ? 's' : ''} need video
|
||||
</p>
|
||||
<p className="text-white/70 mb-6 leading-relaxed">
|
||||
Briefs approved by client but video not yet uploaded.
|
||||
</p>
|
||||
{stats.awaitingUpload > 0 && (
|
||||
<Link
|
||||
to="/briefs?status=submitted"
|
||||
className="inline-flex items-center bg-white text-purple-600 px-6 py-3 rounded-lg hover:bg-purple-50 transition-all duration-200 font-semibold shadow-lg hover:shadow-xl transform hover:-translate-y-0.5"
|
||||
>
|
||||
View briefs →
|
||||
</Link>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div className={`bg-gradient-to-br ${stats.pendingQcHandoff > 0 ? 'from-orange-400 to-amber-600' : 'from-gray-400 to-gray-500'} rounded-2xl p-8 text-white`}>
|
||||
<div className="flex items-center mb-4">
|
||||
<div className="w-12 h-12 bg-white/20 rounded-lg flex items-center justify-center mr-4">
|
||||
|
|
|
|||
|
|
@ -1,154 +0,0 @@
|
|||
import { useParams, Link } from 'react-router-dom';
|
||||
import { useBrief, useSubmitBrief, useApproveBrief } from '../../hooks/useJob';
|
||||
import { useAuthStore } from '../../lib/auth';
|
||||
import { useToastContext } from '../../contexts/ToastContext';
|
||||
|
||||
const STATUS_BADGE: Record<string, string> = {
|
||||
draft: 'bg-gray-100 text-gray-700',
|
||||
submitted: 'bg-blue-100 text-blue-700',
|
||||
approved: 'bg-green-100 text-green-700',
|
||||
rejected: 'bg-red-100 text-red-700',
|
||||
fulfilled: 'bg-purple-100 text-purple-700',
|
||||
};
|
||||
|
||||
export function BriefDetail() {
|
||||
const { id } = useParams<{ id: string }>();
|
||||
const { user } = useAuthStore();
|
||||
const toast = useToastContext();
|
||||
|
||||
const { data: brief, isLoading, error } = useBrief(id!);
|
||||
const submitMutation = useSubmitBrief();
|
||||
const approveMutation = useApproveBrief();
|
||||
|
||||
const canSubmit = brief?.status === 'draft';
|
||||
const canApprove = brief?.status === 'submitted' && ['admin', 'project_manager'].includes(user?.role || '');
|
||||
const canCreateJob = brief?.status === 'approved';
|
||||
|
||||
const handleSubmit = async () => {
|
||||
if (!id) return;
|
||||
try {
|
||||
await submitMutation.mutateAsync(id);
|
||||
toast.toastOnly.success('Brief submitted for approval');
|
||||
} catch {
|
||||
toast.toastOnly.error('Failed to submit brief');
|
||||
}
|
||||
};
|
||||
|
||||
const handleApprove = async () => {
|
||||
if (!id) return;
|
||||
try {
|
||||
await approveMutation.mutateAsync(id);
|
||||
toast.toastOnly.success('Brief approved');
|
||||
} catch {
|
||||
toast.toastOnly.error('Failed to approve brief');
|
||||
}
|
||||
};
|
||||
|
||||
if (isLoading) {
|
||||
return (
|
||||
<div className="container mx-auto px-4 py-8 animate-pulse">
|
||||
<div className="h-8 bg-gray-200 rounded w-1/3 mb-6"></div>
|
||||
<div className="h-64 bg-gray-200 rounded"></div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
if (error || !brief) {
|
||||
return (
|
||||
<div className="container mx-auto px-4 py-8">
|
||||
<div className="bg-red-50 border border-red-200 rounded-md p-4">
|
||||
<p className="text-red-600">Brief not found or access denied.</p>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="container mx-auto px-4 py-8 max-w-3xl">
|
||||
<div className="flex items-center gap-3 mb-6">
|
||||
<Link to="/briefs" className="text-gray-500 hover:text-gray-700 text-sm">← Briefs</Link>
|
||||
<h1 className="text-2xl font-bold text-gray-900 flex-1">{brief.title}</h1>
|
||||
<span className={`px-3 py-1 rounded-full text-sm font-medium ${STATUS_BADGE[brief.status] ?? 'bg-gray-100 text-gray-700'}`}>
|
||||
{brief.status}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div className="bg-white border border-gray-200 rounded-lg p-6 space-y-4">
|
||||
{brief.description && (
|
||||
<div>
|
||||
<h3 className="text-sm font-medium text-gray-500">Description</h3>
|
||||
<p className="text-sm text-gray-800 mt-1">{brief.description}</p>
|
||||
</div>
|
||||
)}
|
||||
|
||||
<div className="grid grid-cols-2 gap-4 text-sm">
|
||||
<div>
|
||||
<span className="text-gray-500">Languages</span>
|
||||
<p className="text-gray-800 mt-0.5">{brief.languages.length > 0 ? brief.languages.map(l => l.toUpperCase()).join(', ') : '—'}</p>
|
||||
</div>
|
||||
<div>
|
||||
<span className="text-gray-500">Deadline</span>
|
||||
<p className="text-gray-800 mt-0.5">{brief.deadline ? new Date(brief.deadline).toLocaleDateString() : '—'}</p>
|
||||
</div>
|
||||
<div>
|
||||
<span className="text-gray-500">Created</span>
|
||||
<p className="text-gray-800 mt-0.5">{new Date(brief.created_at).toLocaleString()}</p>
|
||||
</div>
|
||||
{brief.submitted_at && (
|
||||
<div>
|
||||
<span className="text-gray-500">Submitted</span>
|
||||
<p className="text-gray-800 mt-0.5">{new Date(brief.submitted_at).toLocaleString()}</p>
|
||||
</div>
|
||||
)}
|
||||
{brief.job_id && (
|
||||
<div>
|
||||
<span className="text-gray-500">Linked Job</span>
|
||||
<Link to={`/jobs/${brief.job_id}`} className="text-indigo-600 hover:underline text-sm mt-0.5 block">
|
||||
View Job →
|
||||
</Link>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="text-sm font-medium text-gray-500 mb-2">Requested Outputs</h3>
|
||||
<div className="flex flex-wrap gap-2 text-xs">
|
||||
{brief.requested_outputs.captions_vtt && <span className="bg-gray-100 px-2 py-1 rounded">Captions VTT</span>}
|
||||
{brief.requested_outputs.audio_description_vtt && <span className="bg-gray-100 px-2 py-1 rounded">AD VTT</span>}
|
||||
{brief.requested_outputs.audio_description_mp3 && <span className="bg-gray-100 px-2 py-1 rounded">AD MP3</span>}
|
||||
{brief.requested_outputs.sdh_vtt && <span className="bg-gray-100 px-2 py-1 rounded">SDH VTT</span>}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="flex gap-3 mt-6">
|
||||
{canSubmit && (
|
||||
<button
|
||||
onClick={handleSubmit}
|
||||
disabled={submitMutation.isPending}
|
||||
className="px-5 py-2 bg-blue-600 text-white text-sm rounded hover:bg-blue-700 disabled:opacity-50"
|
||||
>
|
||||
{submitMutation.isPending ? 'Submitting...' : 'Submit for Approval'}
|
||||
</button>
|
||||
)}
|
||||
{canApprove && (
|
||||
<button
|
||||
onClick={handleApprove}
|
||||
disabled={approveMutation.isPending}
|
||||
className="px-5 py-2 bg-green-600 text-white text-sm rounded hover:bg-green-700 disabled:opacity-50"
|
||||
>
|
||||
{approveMutation.isPending ? 'Approving...' : 'Approve Brief'}
|
||||
</button>
|
||||
)}
|
||||
{canCreateJob && (
|
||||
<Link
|
||||
to={`/jobs/new?brief_id=${brief.id}`}
|
||||
className="px-5 py-2 bg-indigo-600 text-white text-sm rounded hover:bg-indigo-700"
|
||||
>
|
||||
Create Job from Brief
|
||||
</Link>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
@ -1,104 +0,0 @@
|
|||
import { Link } from 'react-router-dom';
|
||||
import { useBriefs } from '../../hooks/useJob';
|
||||
|
||||
const STATUS_BADGE: Record<string, string> = {
|
||||
draft: 'bg-gray-100 text-gray-700',
|
||||
submitted: 'bg-blue-100 text-blue-700',
|
||||
approved: 'bg-green-100 text-green-700',
|
||||
rejected: 'bg-red-100 text-red-700',
|
||||
fulfilled: 'bg-purple-100 text-purple-700',
|
||||
};
|
||||
|
||||
export function BriefsList() {
|
||||
const { data: briefs = [], isLoading, error } = useBriefs();
|
||||
|
||||
if (isLoading) {
|
||||
return (
|
||||
<div className="container mx-auto px-4 py-8 animate-pulse space-y-4">
|
||||
<div className="h-8 bg-gray-200 rounded w-1/4"></div>
|
||||
{[...Array(4)].map((_, i) => <div key={i} className="h-14 bg-gray-200 rounded"></div>)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
if (error) {
|
||||
return (
|
||||
<div className="container mx-auto px-4 py-8">
|
||||
<div className="bg-red-50 border border-red-200 rounded-md p-4">
|
||||
<p className="text-red-600">Failed to load briefs.</p>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
const open = briefs.filter(b => ['submitted'].includes(b.status)).length;
|
||||
|
||||
return (
|
||||
<div className="container mx-auto px-4 py-8">
|
||||
<div className="flex items-center justify-between mb-6">
|
||||
<div>
|
||||
<h1 className="text-2xl font-bold text-gray-900">Job Briefs</h1>
|
||||
{open > 0 && (
|
||||
<p className="text-sm text-blue-600 mt-1">{open} awaiting approval</p>
|
||||
)}
|
||||
</div>
|
||||
<Link
|
||||
to="/briefs/new"
|
||||
className="px-4 py-2 bg-indigo-600 text-white text-sm rounded hover:bg-indigo-700"
|
||||
>
|
||||
New Brief
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
{briefs.length === 0 ? (
|
||||
<div className="bg-gray-50 border border-gray-200 rounded-md p-8 text-center">
|
||||
<p className="text-gray-500">No briefs yet.</p>
|
||||
<Link to="/briefs/new" className="text-indigo-600 hover:underline text-sm mt-2 block">
|
||||
Create your first brief
|
||||
</Link>
|
||||
</div>
|
||||
) : (
|
||||
<div className="bg-white border border-gray-200 rounded-lg overflow-hidden">
|
||||
<table className="w-full text-sm">
|
||||
<thead className="bg-gray-50 text-xs text-gray-500 uppercase">
|
||||
<tr>
|
||||
<th className="px-4 py-3 text-left">Title</th>
|
||||
<th className="px-4 py-3 text-left">Status</th>
|
||||
<th className="px-4 py-3 text-left">Languages</th>
|
||||
<th className="px-4 py-3 text-left">Deadline</th>
|
||||
<th className="px-4 py-3 text-left">Created</th>
|
||||
<th className="px-4 py-3"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody className="divide-y divide-gray-100">
|
||||
{briefs.map(brief => (
|
||||
<tr key={brief.id} className="hover:bg-gray-50">
|
||||
<td className="px-4 py-3 font-medium text-gray-900">{brief.title}</td>
|
||||
<td className="px-4 py-3">
|
||||
<span className={`px-2 py-0.5 rounded-full text-xs font-medium ${STATUS_BADGE[brief.status] ?? 'bg-gray-100 text-gray-700'}`}>
|
||||
{brief.status}
|
||||
</span>
|
||||
</td>
|
||||
<td className="px-4 py-3 text-gray-500">
|
||||
{brief.languages.length > 0 ? brief.languages.join(', ') : '—'}
|
||||
</td>
|
||||
<td className="px-4 py-3 text-gray-500">
|
||||
{brief.deadline ? new Date(brief.deadline).toLocaleDateString() : '—'}
|
||||
</td>
|
||||
<td className="px-4 py-3 text-gray-400 text-xs">
|
||||
{new Date(brief.created_at).toLocaleDateString()}
|
||||
</td>
|
||||
<td className="px-4 py-3 text-right">
|
||||
<Link to={`/briefs/${brief.id}`} className="text-indigo-600 hover:text-indigo-800 text-xs">
|
||||
View
|
||||
</Link>
|
||||
</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
@ -1,244 +0,0 @@
|
|||
import { useState } from 'react';
|
||||
import { useNavigate, Link } from 'react-router-dom';
|
||||
import { useCreateBrief } from '../../hooks/useJob';
|
||||
import { useToastContext } from '../../contexts/ToastContext';
|
||||
import { useAllProjects, useOrganizations, useOrgMembers } from '../../hooks/useClients';
|
||||
|
||||
const ALL_LANGUAGES: { code: string; label: string }[] = [
|
||||
{ code: 'en', label: 'EN' },
|
||||
{ code: 'en-US', label: 'EN-US' },
|
||||
{ code: 'en-GB', label: 'EN-GB' },
|
||||
{ code: 'en-CA', label: 'EN-CA' },
|
||||
{ code: 'fr', label: 'FR' },
|
||||
{ code: 'fr-FR', label: 'FR-FR' },
|
||||
{ code: 'fr-CA', label: 'FR-CA' },
|
||||
{ code: 'de', label: 'DE' },
|
||||
{ code: 'de-DE', label: 'DE-DE' },
|
||||
{ code: 'es', label: 'ES' },
|
||||
{ code: 'es-ES', label: 'ES-ES' },
|
||||
{ code: 'es-419', label: 'ES-LATAM' },
|
||||
{ code: 'es-MX', label: 'ES-MX' },
|
||||
{ code: 'it', label: 'IT' },
|
||||
{ code: 'it-IT', label: 'IT-IT' },
|
||||
{ code: 'pt', label: 'PT' },
|
||||
{ code: 'pt-BR', label: 'PT-BR' },
|
||||
{ code: 'pt-PT', label: 'PT-PT' },
|
||||
{ code: 'nl', label: 'NL' },
|
||||
{ code: 'nl-NL', label: 'NL-NL' },
|
||||
{ code: 'pl', label: 'PL' },
|
||||
{ code: 'pl-PL', label: 'PL-PL' },
|
||||
{ code: 'sv', label: 'SV' },
|
||||
{ code: 'da', label: 'DA' },
|
||||
{ code: 'nb', label: 'NB' },
|
||||
{ code: 'fi', label: 'FI' },
|
||||
{ code: 'cs', label: 'CS' },
|
||||
{ code: 'cs-CZ', label: 'CS-CZ' },
|
||||
{ code: 'sk', label: 'SK' },
|
||||
{ code: 'hu', label: 'HU' },
|
||||
{ code: 'ro', label: 'RO' },
|
||||
{ code: 'uk', label: 'UK' },
|
||||
{ code: 'ru', label: 'RU' },
|
||||
{ code: 'tr', label: 'TR' },
|
||||
{ code: 'tr-TR', label: 'TR-TR' },
|
||||
{ code: 'id', label: 'ID' },
|
||||
{ code: 'id-ID', label: 'ID-ID' },
|
||||
{ code: 'vi', label: 'VI' },
|
||||
{ code: 'th', label: 'TH' },
|
||||
{ code: 'ja', label: 'JA' },
|
||||
{ code: 'ja-JP', label: 'JA-JP' },
|
||||
{ code: 'ko', label: 'KO' },
|
||||
{ code: 'ko-KR', label: 'KO-KR' },
|
||||
{ code: 'zh', label: 'ZH' },
|
||||
{ code: 'ar', label: 'AR' },
|
||||
{ code: 'hi', label: 'HI' },
|
||||
{ code: 'bn', label: 'BN' },
|
||||
{ code: 'mr', label: 'MR' },
|
||||
{ code: 'ta', label: 'TA' },
|
||||
{ code: 'te', label: 'TE' },
|
||||
];
|
||||
|
||||
export function NewBrief() {
|
||||
const navigate = useNavigate();
|
||||
const toast = useToastContext();
|
||||
const createBriefMutation = useCreateBrief();
|
||||
|
||||
const [title, setTitle] = useState('');
|
||||
const [description, setDescription] = useState('');
|
||||
const [languages, setLanguages] = useState<string[]>([]);
|
||||
const [deadline, setDeadline] = useState('');
|
||||
const [projectId, setProjectId] = useState('');
|
||||
const [assigneeId, setAssigneeId] = useState('');
|
||||
const [captionsVtt, setCaptionsVtt] = useState(true);
|
||||
const [adVtt, setAdVtt] = useState(true);
|
||||
const [adMp3, setAdMp3] = useState(true);
|
||||
|
||||
const { data: projects = [] } = useAllProjects();
|
||||
const { data: organizations = [] } = useOrganizations();
|
||||
const firstOrgId = organizations[0]?.id ?? '';
|
||||
const { data: members = [] } = useOrgMembers(firstOrgId);
|
||||
|
||||
const toggleLang = (lang: string) => {
|
||||
setLanguages(prev =>
|
||||
prev.includes(lang) ? prev.filter(l => l !== lang) : [...prev, lang]
|
||||
);
|
||||
};
|
||||
|
||||
const handleSubmit = async (e: React.FormEvent) => {
|
||||
e.preventDefault();
|
||||
if (!title.trim()) {
|
||||
toast.toastOnly.error('Title is required');
|
||||
return;
|
||||
}
|
||||
try {
|
||||
const brief = await createBriefMutation.mutateAsync({
|
||||
title: title.trim(),
|
||||
description: description.trim() || undefined,
|
||||
requested_outputs: {
|
||||
captions_vtt: captionsVtt,
|
||||
audio_description_vtt: adVtt,
|
||||
audio_description_mp3: adMp3,
|
||||
accessible_video_mp4: false,
|
||||
sdh_vtt: false,
|
||||
languages,
|
||||
transcreation: [],
|
||||
translation_mode: 'video_native',
|
||||
},
|
||||
languages,
|
||||
deadline: deadline || undefined,
|
||||
project_id: projectId || undefined,
|
||||
assignee_id: assigneeId || undefined,
|
||||
});
|
||||
toast.toastOnly.success('Brief created');
|
||||
navigate(`/briefs/${brief.id}`);
|
||||
} catch {
|
||||
toast.toastOnly.error('Failed to create brief');
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="container mx-auto px-4 py-8 max-w-2xl">
|
||||
<div className="flex items-center gap-3 mb-6">
|
||||
<Link to="/briefs" className="text-gray-500 hover:text-gray-700 text-sm">← Briefs</Link>
|
||||
<h1 className="text-2xl font-bold text-gray-900">New Job Brief</h1>
|
||||
</div>
|
||||
|
||||
<form onSubmit={handleSubmit} className="space-y-6 bg-white border border-gray-200 rounded-lg p-6">
|
||||
<div>
|
||||
<label className="block text-sm font-medium text-gray-700 mb-1">Title *</label>
|
||||
<input
|
||||
type="text"
|
||||
value={title}
|
||||
onChange={e => setTitle(e.target.value)}
|
||||
className="w-full border border-gray-300 rounded px-3 py-2 text-sm focus:ring-2 focus:ring-indigo-500"
|
||||
placeholder="e.g. Product launch video — EN/FR/DE"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium text-gray-700 mb-1">Description</label>
|
||||
<textarea
|
||||
value={description}
|
||||
onChange={e => setDescription(e.target.value)}
|
||||
rows={3}
|
||||
className="w-full border border-gray-300 rounded px-3 py-2 text-sm focus:ring-2 focus:ring-indigo-500"
|
||||
placeholder="Optional context for the production team"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium text-gray-700 mb-1">Project</label>
|
||||
<select
|
||||
value={projectId}
|
||||
onChange={e => setProjectId(e.target.value)}
|
||||
className="w-full border border-gray-300 rounded px-3 py-2 text-sm"
|
||||
>
|
||||
<option value="">— None —</option>
|
||||
{projects.map(p => (
|
||||
<option key={p.id} value={p.id}>{p.name}</option>
|
||||
))}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium text-gray-700 mb-1">Assign To</label>
|
||||
<select
|
||||
value={assigneeId}
|
||||
onChange={e => setAssigneeId(e.target.value)}
|
||||
className="w-full border border-gray-300 rounded px-3 py-2 text-sm"
|
||||
>
|
||||
<option value="">— Unassigned —</option>
|
||||
{members.map(m => (
|
||||
<option key={m.user_id} value={m.user_id}>
|
||||
{m.full_name || m.email}
|
||||
</option>
|
||||
))}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium text-gray-700 mb-2">Requested Outputs</label>
|
||||
<div className="space-y-2">
|
||||
{([
|
||||
[captionsVtt, setCaptionsVtt, 'Captions (VTT)'],
|
||||
[adVtt, setAdVtt, 'Audio Descriptions (VTT)'],
|
||||
[adMp3, setAdMp3, 'Audio Descriptions (MP3)'],
|
||||
] as [boolean, (v: boolean) => void, string][]).map(([val, setter, label]) => (
|
||||
<label key={label} className="flex items-center gap-2 text-sm text-gray-700">
|
||||
<input type="checkbox" checked={val} onChange={e => setter(e.target.checked)} className="rounded" />
|
||||
{label}
|
||||
</label>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium text-gray-700 mb-2">
|
||||
Languages
|
||||
{languages.length > 0 && (
|
||||
<span className="ml-2 text-xs text-indigo-600 font-normal">{languages.length} selected</span>
|
||||
)}
|
||||
</label>
|
||||
<div className="flex flex-wrap gap-2 max-h-40 overflow-y-auto p-2 border border-gray-200 rounded">
|
||||
{ALL_LANGUAGES.map(({ code, label }) => (
|
||||
<button
|
||||
type="button"
|
||||
key={code}
|
||||
onClick={() => toggleLang(code)}
|
||||
className={`px-2 py-1 text-xs rounded border transition-colors ${
|
||||
languages.includes(code)
|
||||
? 'bg-indigo-600 text-white border-indigo-600'
|
||||
: 'bg-white text-gray-600 border-gray-300 hover:border-indigo-400'
|
||||
}`}
|
||||
>
|
||||
{label}
|
||||
</button>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium text-gray-700 mb-1">Deadline</label>
|
||||
<input
|
||||
type="date"
|
||||
value={deadline}
|
||||
onChange={e => setDeadline(e.target.value)}
|
||||
className="border border-gray-300 rounded px-3 py-2 text-sm"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="flex gap-3">
|
||||
<button
|
||||
type="submit"
|
||||
disabled={createBriefMutation.isPending}
|
||||
className="px-6 py-2 bg-indigo-600 text-white text-sm rounded hover:bg-indigo-700 disabled:opacity-50"
|
||||
>
|
||||
{createBriefMutation.isPending ? 'Creating...' : 'Create Brief'}
|
||||
</button>
|
||||
<Link to="/briefs" className="px-6 py-2 text-sm text-gray-600 hover:text-gray-800">
|
||||
Cancel
|
||||
</Link>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
1
node_modules/.bin/esbuild
generated
vendored
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../esbuild/bin/esbuild
|
||||
1
node_modules/.bin/tsx
generated
vendored
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../tsx/dist/cli.mjs
|
||||
122
node_modules/.package-lock.json
generated
vendored
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
{
|
||||
"name": "video-accessibility",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"node_modules/@esbuild/darwin-arm64": {
|
||||
"version": "0.27.7",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz",
|
||||
"integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/dotenv": {
|
||||
"version": "17.4.2",
|
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz",
|
||||
"integrity": "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==",
|
||||
"dev": true,
|
||||
"license": "BSD-2-Clause",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://dotenvx.com"
|
||||
}
|
||||
},
|
||||
"node_modules/esbuild": {
|
||||
"version": "0.27.7",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz",
|
||||
"integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"esbuild": "bin/esbuild"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@esbuild/aix-ppc64": "0.27.7",
|
||||
"@esbuild/android-arm": "0.27.7",
|
||||
"@esbuild/android-arm64": "0.27.7",
|
||||
"@esbuild/android-x64": "0.27.7",
|
||||
"@esbuild/darwin-arm64": "0.27.7",
|
||||
"@esbuild/darwin-x64": "0.27.7",
|
||||
"@esbuild/freebsd-arm64": "0.27.7",
|
||||
"@esbuild/freebsd-x64": "0.27.7",
|
||||
"@esbuild/linux-arm": "0.27.7",
|
||||
"@esbuild/linux-arm64": "0.27.7",
|
||||
"@esbuild/linux-ia32": "0.27.7",
|
||||
"@esbuild/linux-loong64": "0.27.7",
|
||||
"@esbuild/linux-mips64el": "0.27.7",
|
||||
"@esbuild/linux-ppc64": "0.27.7",
|
||||
"@esbuild/linux-riscv64": "0.27.7",
|
||||
"@esbuild/linux-s390x": "0.27.7",
|
||||
"@esbuild/linux-x64": "0.27.7",
|
||||
"@esbuild/netbsd-arm64": "0.27.7",
|
||||
"@esbuild/netbsd-x64": "0.27.7",
|
||||
"@esbuild/openbsd-arm64": "0.27.7",
|
||||
"@esbuild/openbsd-x64": "0.27.7",
|
||||
"@esbuild/openharmony-arm64": "0.27.7",
|
||||
"@esbuild/sunos-x64": "0.27.7",
|
||||
"@esbuild/win32-arm64": "0.27.7",
|
||||
"@esbuild/win32-ia32": "0.27.7",
|
||||
"@esbuild/win32-x64": "0.27.7"
|
||||
}
|
||||
},
|
||||
"node_modules/get-tsconfig": {
|
||||
"version": "4.14.0",
|
||||
"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz",
|
||||
"integrity": "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"resolve-pkg-maps": "^1.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/resolve-pkg-maps": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
|
||||
"integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/tsx": {
|
||||
"version": "4.21.0",
|
||||
"resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz",
|
||||
"integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"esbuild": "~0.27.0",
|
||||
"get-tsconfig": "^4.7.5"
|
||||
},
|
||||
"bin": {
|
||||
"tsx": "dist/cli.mjs"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "~2.3.3"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
3
node_modules/@esbuild/darwin-arm64/README.md
generated
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# esbuild
|
||||
|
||||
This is the macOS ARM 64-bit binary for esbuild, a JavaScript bundler and minifier. See https://github.com/evanw/esbuild for details.
|
||||
BIN
node_modules/@esbuild/darwin-arm64/bin/esbuild
generated
vendored
Executable file
20
node_modules/@esbuild/darwin-arm64/package.json
generated
vendored
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"name": "@esbuild/darwin-arm64",
|
||||
"version": "0.27.7",
|
||||
"description": "The macOS ARM 64-bit binary for esbuild, a JavaScript bundler.",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/evanw/esbuild.git"
|
||||
},
|
||||
"license": "MIT",
|
||||
"preferUnplugged": true,
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"cpu": [
|
||||
"arm64"
|
||||
]
|
||||
}
|
||||
643
node_modules/dotenv/CHANGELOG.md
generated
vendored
Normal file
|
|
@ -0,0 +1,643 @@
|
|||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
|
||||
## [Unreleased](https://github.com/motdotla/dotenv/compare/v17.4.2...master)
|
||||
|
||||
## [17.4.2](https://github.com/motdotla/dotenv/compare/v17.4.1...v17.4.2) (2026-04-12)
|
||||
|
||||
### Changed
|
||||
|
||||
* Improved skill files - tightened up details ([#1009](https://github.com/motdotla/dotenv/pull/1009))
|
||||
|
||||
## [17.4.1](https://github.com/motdotla/dotenv/compare/v17.4.0...v17.4.1) (2026-04-05)
|
||||
|
||||
### Changed
|
||||
|
||||
* Change text `injecting` to `injected` ([#1005](https://github.com/motdotla/dotenv/pull/1005))
|
||||
|
||||
## [17.4.0](https://github.com/motdotla/dotenv/compare/v17.3.1...v17.4.0) (2026-04-01)
|
||||
|
||||
### Added
|
||||
|
||||
* Add `skills/` folder with focused agent skills: `skills/dotenv/SKILL.md` (core usage) and `skills/dotenvx/SKILL.md` (encryption, multiple environments, variable expansion) for AI coding agent discovery via the skills.sh ecosystem (`npx skills add motdotla/dotenv`)
|
||||
|
||||
### Changed
|
||||
|
||||
* Tighten up logs: `◇ injecting env (14) from .env` ([#1003](https://github.com/motdotla/dotenv/pull/1003))
|
||||
|
||||
## [17.3.1](https://github.com/motdotla/dotenv/compare/v17.3.0...v17.3.1) (2026-02-12)
|
||||
|
||||
### Changed
|
||||
|
||||
* Fix as2 example command in README and update spanish README
|
||||
|
||||
## [17.3.0](https://github.com/motdotla/dotenv/compare/v17.2.4...v17.3.0) (2026-02-12)
|
||||
|
||||
### Added
|
||||
|
||||
* Add a new README section on dotenv’s approach to the agentic future.
|
||||
|
||||
### Changed
|
||||
|
||||
* Rewrite README to get humans started more quickly with less noise while simultaneously making more accessible for llms and agents to go deeper into details.
|
||||
|
||||
## [17.2.4](https://github.com/motdotla/dotenv/compare/v17.2.3...v17.2.4) (2026-02-05)
|
||||
|
||||
### Changed
|
||||
|
||||
* Make `DotenvPopulateInput` accept `NodeJS.ProcessEnv` type ([#915](https://github.com/motdotla/dotenv/pull/915))
|
||||
- Give back to dotenv by checking out my newest project [vestauth](https://github.com/vestauth/vestauth). It is auth for agents. Thank you for using my software.
|
||||
|
||||
## [17.2.3](https://github.com/motdotla/dotenv/compare/v17.2.2...v17.2.3) (2025-09-29)
|
||||
|
||||
### Changed
|
||||
|
||||
* Fixed typescript error definition ([#912](https://github.com/motdotla/dotenv/pull/912))
|
||||
|
||||
## [17.2.2](https://github.com/motdotla/dotenv/compare/v17.2.1...v17.2.2) (2025-09-02)
|
||||
|
||||
### Added
|
||||
|
||||
- 🙏 A big thank you to new sponsor [Tuple.app](https://tuple.app/dotenv) - *the premier screen sharing app for developers on macOS and Windows.* Go check them out. It's wonderful and generous of them to give back to open source by sponsoring dotenv. Give them some love back.
|
||||
|
||||
## [17.2.1](https://github.com/motdotla/dotenv/compare/v17.2.0...v17.2.1) (2025-07-24)
|
||||
|
||||
### Changed
|
||||
|
||||
* Fix clickable tip links by removing parentheses ([#897](https://github.com/motdotla/dotenv/pull/897))
|
||||
|
||||
## [17.2.0](https://github.com/motdotla/dotenv/compare/v17.1.0...v17.2.0) (2025-07-09)
|
||||
|
||||
### Added
|
||||
|
||||
* Optionally specify `DOTENV_CONFIG_QUIET=true` in your environment or `.env` file to quiet the runtime log ([#889](https://github.com/motdotla/dotenv/pull/889))
|
||||
* Just like dotenv any `DOTENV_CONFIG_` environment variables take precedence over any code set options like `({quiet: false})`
|
||||
|
||||
```ini
|
||||
# .env
|
||||
DOTENV_CONFIG_QUIET=true
|
||||
HELLO="World"
|
||||
```
|
||||
```js
|
||||
// index.js
|
||||
require('dotenv').config()
|
||||
console.log(`Hello ${process.env.HELLO}`)
|
||||
```
|
||||
```sh
|
||||
$ node index.js
|
||||
Hello World
|
||||
|
||||
or
|
||||
|
||||
$ DOTENV_CONFIG_QUIET=true node index.js
|
||||
```
|
||||
|
||||
## [17.1.0](https://github.com/motdotla/dotenv/compare/v17.0.1...v17.1.0) (2025-07-07)
|
||||
|
||||
### Added
|
||||
|
||||
* Add additional security and configuration tips to the runtime log ([#884](https://github.com/motdotla/dotenv/pull/884))
|
||||
* Dim the tips text from the main injection information text
|
||||
|
||||
```js
|
||||
const TIPS = [
|
||||
'🔐 encrypt with dotenvx: https://dotenvx.com',
|
||||
'🔐 prevent committing .env to code: https://dotenvx.com/precommit',
|
||||
'🔐 prevent building .env in docker: https://dotenvx.com/prebuild',
|
||||
'🛠️ run anywhere with `dotenvx run -- yourcommand`',
|
||||
'⚙️ specify custom .env file path with { path: \'/custom/path/.env\' }',
|
||||
'⚙️ enable debug logging with { debug: true }',
|
||||
'⚙️ override existing env vars with { override: true }',
|
||||
'⚙️ suppress all logs with { quiet: true }',
|
||||
'⚙️ write to custom object with { processEnv: myObject }',
|
||||
'⚙️ load multiple .env files with { path: [\'.env.local\', \'.env\'] }'
|
||||
]
|
||||
```
|
||||
|
||||
## [17.0.1](https://github.com/motdotla/dotenv/compare/v17.0.0...v17.0.1) (2025-07-01)
|
||||
|
||||
### Changed
|
||||
|
||||
* Patched injected log to count only populated/set keys to process.env ([#879](https://github.com/motdotla/dotenv/pull/879))
|
||||
|
||||
## [17.0.0](https://github.com/motdotla/dotenv/compare/v16.6.1...v17.0.0) (2025-06-27)
|
||||
|
||||
### Changed
|
||||
|
||||
- Default `quiet` to false - informational (file and keys count) runtime log message shows by default ([#875](https://github.com/motdotla/dotenv/pull/875))
|
||||
|
||||
## [16.6.1](https://github.com/motdotla/dotenv/compare/v16.6.0...v16.6.1) (2025-06-27)
|
||||
|
||||
### Changed
|
||||
|
||||
- Default `quiet` to true – hiding the runtime log message ([#874](https://github.com/motdotla/dotenv/pull/874))
|
||||
- NOTICE: 17.0.0 will be released with quiet defaulting to false. Use `config({ quiet: true })` to suppress.
|
||||
- And check out the new [dotenvx](https://github.com/dotenvx/dotenvx). As coding workflows evolve and agents increasingly handle secrets, encrypted .env files offer a much safer way to deploy both agents and code together with secure secrets. Simply switch `require('dotenv').config()` for `require('@dotenvx/dotenvx').config()`.
|
||||
|
||||
## [16.6.0](https://github.com/motdotla/dotenv/compare/v16.5.0...v16.6.0) (2025-06-26)
|
||||
|
||||
### Added
|
||||
|
||||
- Default log helpful message `[dotenv@16.6.0] injecting env (1) from .env` ([#870](https://github.com/motdotla/dotenv/pull/870))
|
||||
- Use `{ quiet: true }` to suppress
|
||||
- Aligns dotenv more closely with [dotenvx](https://github.com/dotenvx/dotenvx).
|
||||
|
||||
## [16.5.0](https://github.com/motdotla/dotenv/compare/v16.4.7...v16.5.0) (2025-04-07)
|
||||
|
||||
### Added
|
||||
|
||||
- 🎉 Added new sponsor [Graphite](https://graphite.dev/?utm_source=github&utm_medium=repo&utm_campaign=dotenv) - *the AI developer productivity platform helping teams on GitHub ship higher quality software, faster*.
|
||||
|
||||
> [!TIP]
|
||||
> **[Become a sponsor](https://github.com/sponsors/motdotla)**
|
||||
>
|
||||
> The dotenvx README is viewed thousands of times DAILY on GitHub and NPM.
|
||||
> Sponsoring dotenv is a great way to get in front of developers and give back to the developer community at the same time.
|
||||
|
||||
### Changed
|
||||
|
||||
- Remove `_log` method. Use `_debug` [#862](https://github.com/motdotla/dotenv/pull/862)
|
||||
|
||||
## [16.4.7](https://github.com/motdotla/dotenv/compare/v16.4.6...v16.4.7) (2024-12-03)
|
||||
|
||||
### Changed
|
||||
|
||||
- Ignore `.tap` folder when publishing. (oops, sorry about that everyone. - @motdotla) [#848](https://github.com/motdotla/dotenv/pull/848)
|
||||
|
||||
## [16.4.6](https://github.com/motdotla/dotenv/compare/v16.4.5...v16.4.6) (2024-12-02)
|
||||
|
||||
### Changed
|
||||
|
||||
- Clean up stale dev dependencies [#847](https://github.com/motdotla/dotenv/pull/847)
|
||||
- Various README updates clarifying usage and alternative solutions using [dotenvx](https://github.com/dotenvx/dotenvx)
|
||||
|
||||
## [16.4.5](https://github.com/motdotla/dotenv/compare/v16.4.4...v16.4.5) (2024-02-19)
|
||||
|
||||
### Changed
|
||||
|
||||
- 🐞 Fix recent regression when using `path` option. return to historical behavior: do not attempt to auto find `.env` if `path` set. (regression was introduced in `16.4.3`) [#814](https://github.com/motdotla/dotenv/pull/814)
|
||||
|
||||
## [16.4.4](https://github.com/motdotla/dotenv/compare/v16.4.3...v16.4.4) (2024-02-13)
|
||||
|
||||
### Changed
|
||||
|
||||
- 🐞 Replaced chaining operator `?.` with old school `&&` (fixing node 12 failures) [#812](https://github.com/motdotla/dotenv/pull/812)
|
||||
|
||||
## [16.4.3](https://github.com/motdotla/dotenv/compare/v16.4.2...v16.4.3) (2024-02-12)
|
||||
|
||||
### Changed
|
||||
|
||||
- Fixed processing of multiple files in `options.path` [#805](https://github.com/motdotla/dotenv/pull/805)
|
||||
|
||||
## [16.4.2](https://github.com/motdotla/dotenv/compare/v16.4.1...v16.4.2) (2024-02-10)
|
||||
|
||||
### Changed
|
||||
|
||||
- Changed funding link in package.json to [`dotenvx.com`](https://dotenvx.com)
|
||||
|
||||
## [16.4.1](https://github.com/motdotla/dotenv/compare/v16.4.0...v16.4.1) (2024-01-24)
|
||||
|
||||
- Patch support for array as `path` option [#797](https://github.com/motdotla/dotenv/pull/797)
|
||||
|
||||
## [16.4.0](https://github.com/motdotla/dotenv/compare/v16.3.2...v16.4.0) (2024-01-23)
|
||||
|
||||
- Add `error.code` to error messages around `.env.vault` decryption handling [#795](https://github.com/motdotla/dotenv/pull/795)
|
||||
- Add ability to find `.env.vault` file when filename(s) passed as an array [#784](https://github.com/motdotla/dotenv/pull/784)
|
||||
|
||||
## [16.3.2](https://github.com/motdotla/dotenv/compare/v16.3.1...v16.3.2) (2024-01-18)
|
||||
|
||||
### Added
|
||||
|
||||
- Add debug message when no encoding set [#735](https://github.com/motdotla/dotenv/pull/735)
|
||||
|
||||
### Changed
|
||||
|
||||
- Fix output typing for `populate` [#792](https://github.com/motdotla/dotenv/pull/792)
|
||||
- Use subarray instead of slice [#793](https://github.com/motdotla/dotenv/pull/793)
|
||||
|
||||
## [16.3.1](https://github.com/motdotla/dotenv/compare/v16.3.0...v16.3.1) (2023-06-17)
|
||||
|
||||
### Added
|
||||
|
||||
- Add missing type definitions for `processEnv` and `DOTENV_KEY` options. [#756](https://github.com/motdotla/dotenv/pull/756)
|
||||
|
||||
## [16.3.0](https://github.com/motdotla/dotenv/compare/v16.2.0...v16.3.0) (2023-06-16)
|
||||
|
||||
### Added
|
||||
|
||||
- Optionally pass `DOTENV_KEY` to options rather than relying on `process.env.DOTENV_KEY`. Defaults to `process.env.DOTENV_KEY` [#754](https://github.com/motdotla/dotenv/pull/754)
|
||||
|
||||
## [16.2.0](https://github.com/motdotla/dotenv/compare/v16.1.4...v16.2.0) (2023-06-15)
|
||||
|
||||
### Added
|
||||
|
||||
- Optionally write to your own target object rather than `process.env`. Defaults to `process.env`. [#753](https://github.com/motdotla/dotenv/pull/753)
|
||||
- Add import type URL to types file [#751](https://github.com/motdotla/dotenv/pull/751)
|
||||
|
||||
## [16.1.4](https://github.com/motdotla/dotenv/compare/v16.1.3...v16.1.4) (2023-06-04)
|
||||
|
||||
### Added
|
||||
|
||||
- Added `.github/` to `.npmignore` [#747](https://github.com/motdotla/dotenv/pull/747)
|
||||
|
||||
## [16.1.3](https://github.com/motdotla/dotenv/compare/v16.1.2...v16.1.3) (2023-05-31)
|
||||
|
||||
### Removed
|
||||
|
||||
- Removed `browser` keys for `path`, `os`, and `crypto` in package.json. These were set to false incorrectly as of 16.1. Instead, if using dotenv on the front-end make sure to include polyfills for `path`, `os`, and `crypto`. [node-polyfill-webpack-plugin](https://github.com/Richienb/node-polyfill-webpack-plugin) provides these.
|
||||
|
||||
## [16.1.2](https://github.com/motdotla/dotenv/compare/v16.1.1...v16.1.2) (2023-05-31)
|
||||
|
||||
### Changed
|
||||
|
||||
- Exposed private function `_configDotenv` as `configDotenv`. [#744](https://github.com/motdotla/dotenv/pull/744)
|
||||
|
||||
## [16.1.1](https://github.com/motdotla/dotenv/compare/v16.1.0...v16.1.1) (2023-05-30)
|
||||
|
||||
### Added
|
||||
|
||||
- Added type definition for `decrypt` function
|
||||
|
||||
### Changed
|
||||
|
||||
- Fixed `{crypto: false}` in `packageJson.browser`
|
||||
|
||||
## [16.1.0](https://github.com/motdotla/dotenv/compare/v16.0.3...v16.1.0) (2023-05-30)
|
||||
|
||||
### Added
|
||||
|
||||
- Add `populate` convenience method [#733](https://github.com/motdotla/dotenv/pull/733)
|
||||
- Accept URL as path option [#720](https://github.com/motdotla/dotenv/pull/720)
|
||||
- Add dotenv to `npm fund` command
|
||||
- Spanish language README [#698](https://github.com/motdotla/dotenv/pull/698)
|
||||
- Add `.env.vault` support. 🎉 ([#730](https://github.com/motdotla/dotenv/pull/730))
|
||||
|
||||
ℹ️ `.env.vault` extends the `.env` file format standard with a localized encrypted vault file. Package it securely with your production code deploys. It's cloud agnostic so that you can deploy your secrets anywhere – without [risky third-party integrations](https://techcrunch.com/2023/01/05/circleci-breach/). [read more](https://github.com/motdotla/dotenv#-deploying)
|
||||
|
||||
### Changed
|
||||
|
||||
- Fixed "cannot resolve 'fs'" error on tools like Replit [#693](https://github.com/motdotla/dotenv/pull/693)
|
||||
|
||||
## [16.0.3](https://github.com/motdotla/dotenv/compare/v16.0.2...v16.0.3) (2022-09-29)
|
||||
|
||||
### Changed
|
||||
|
||||
- Added library version to debug logs ([#682](https://github.com/motdotla/dotenv/pull/682))
|
||||
|
||||
## [16.0.2](https://github.com/motdotla/dotenv/compare/v16.0.1...v16.0.2) (2022-08-30)
|
||||
|
||||
### Added
|
||||
|
||||
- Export `env-options.js` and `cli-options.js` in package.json for use with downstream [dotenv-expand](https://github.com/motdotla/dotenv-expand) module
|
||||
|
||||
## [16.0.1](https://github.com/motdotla/dotenv/compare/v16.0.0...v16.0.1) (2022-05-10)
|
||||
|
||||
### Changed
|
||||
|
||||
- Minor README clarifications
|
||||
- Development ONLY: updated devDependencies as recommended for development only security risks ([#658](https://github.com/motdotla/dotenv/pull/658))
|
||||
|
||||
## [16.0.0](https://github.com/motdotla/dotenv/compare/v15.0.1...v16.0.0) (2022-02-02)
|
||||
|
||||
### Added
|
||||
|
||||
- _Breaking:_ Backtick support 🎉 ([#615](https://github.com/motdotla/dotenv/pull/615))
|
||||
|
||||
If you had values containing the backtick character, please quote those values with either single or double quotes.
|
||||
|
||||
## [15.0.1](https://github.com/motdotla/dotenv/compare/v15.0.0...v15.0.1) (2022-02-02)
|
||||
|
||||
### Changed
|
||||
|
||||
- Properly parse empty single or double quoted values 🐞 ([#614](https://github.com/motdotla/dotenv/pull/614))
|
||||
|
||||
## [15.0.0](https://github.com/motdotla/dotenv/compare/v14.3.2...v15.0.0) (2022-01-31)
|
||||
|
||||
`v15.0.0` is a major new release with some important breaking changes.
|
||||
|
||||
### Added
|
||||
|
||||
- _Breaking:_ Multiline parsing support (just works. no need for the flag.)
|
||||
|
||||
### Changed
|
||||
|
||||
- _Breaking:_ `#` marks the beginning of a comment (UNLESS the value is wrapped in quotes. Please update your `.env` files to wrap in quotes any values containing `#`. For example: `SECRET_HASH="something-with-a-#-hash"`).
|
||||
|
||||
..Understandably, (as some teams have noted) this is tedious to do across the entire team. To make it less tedious, we recommend using [dotenv cli](https://github.com/dotenv-org/cli) going forward. It's an optional plugin that will keep your `.env` files in sync between machines, environments, or team members.
|
||||
|
||||
### Removed
|
||||
|
||||
- _Breaking:_ Remove multiline option (just works out of the box now. no need for the flag.)
|
||||
|
||||
## [14.3.2](https://github.com/motdotla/dotenv/compare/v14.3.1...v14.3.2) (2022-01-25)
|
||||
|
||||
### Changed
|
||||
|
||||
- Preserve backwards compatibility on values containing `#` 🐞 ([#603](https://github.com/motdotla/dotenv/pull/603))
|
||||
|
||||
## [14.3.1](https://github.com/motdotla/dotenv/compare/v14.3.0...v14.3.1) (2022-01-25)
|
||||
|
||||
### Changed
|
||||
|
||||
- Preserve backwards compatibility on exports by re-introducing the prior in-place exports 🐞 ([#606](https://github.com/motdotla/dotenv/pull/606))
|
||||
|
||||
## [14.3.0](https://github.com/motdotla/dotenv/compare/v14.2.0...v14.3.0) (2022-01-24)
|
||||
|
||||
### Added
|
||||
|
||||
- Add `multiline` option 🎉 ([#486](https://github.com/motdotla/dotenv/pull/486))
|
||||
|
||||
## [14.2.0](https://github.com/motdotla/dotenv/compare/v14.1.1...v14.2.0) (2022-01-17)
|
||||
|
||||
### Added
|
||||
|
||||
- Add `dotenv_config_override` cli option
|
||||
- Add `DOTENV_CONFIG_OVERRIDE` command line env option
|
||||
|
||||
## [14.1.1](https://github.com/motdotla/dotenv/compare/v14.1.0...v14.1.1) (2022-01-17)
|
||||
|
||||
### Added
|
||||
|
||||
- Add React gotcha to FAQ on README
|
||||
|
||||
## [14.1.0](https://github.com/motdotla/dotenv/compare/v14.0.1...v14.1.0) (2022-01-17)
|
||||
|
||||
### Added
|
||||
|
||||
- Add `override` option 🎉 ([#595](https://github.com/motdotla/dotenv/pull/595))
|
||||
|
||||
## [14.0.1](https://github.com/motdotla/dotenv/compare/v14.0.0...v14.0.1) (2022-01-16)
|
||||
|
||||
### Added
|
||||
|
||||
- Log error on failure to load `.env` file ([#594](https://github.com/motdotla/dotenv/pull/594))
|
||||
|
||||
## [14.0.0](https://github.com/motdotla/dotenv/compare/v13.0.1...v14.0.0) (2022-01-16)
|
||||
|
||||
### Added
|
||||
|
||||
- _Breaking:_ Support inline comments for the parser 🎉 ([#568](https://github.com/motdotla/dotenv/pull/568))
|
||||
|
||||
## [13.0.1](https://github.com/motdotla/dotenv/compare/v13.0.0...v13.0.1) (2022-01-16)
|
||||
|
||||
### Changed
|
||||
|
||||
* Hide comments and newlines from debug output ([#404](https://github.com/motdotla/dotenv/pull/404))
|
||||
|
||||
## [13.0.0](https://github.com/motdotla/dotenv/compare/v12.0.4...v13.0.0) (2022-01-16)
|
||||
|
||||
### Added
|
||||
|
||||
* _Breaking:_ Add type file for `config.js` ([#539](https://github.com/motdotla/dotenv/pull/539))
|
||||
|
||||
## [12.0.4](https://github.com/motdotla/dotenv/compare/v12.0.3...v12.0.4) (2022-01-16)
|
||||
|
||||
### Changed
|
||||
|
||||
* README updates
|
||||
* Minor order adjustment to package json format
|
||||
|
||||
## [12.0.3](https://github.com/motdotla/dotenv/compare/v12.0.2...v12.0.3) (2022-01-15)
|
||||
|
||||
### Changed
|
||||
|
||||
* Simplified jsdoc for consistency across editors
|
||||
|
||||
## [12.0.2](https://github.com/motdotla/dotenv/compare/v12.0.1...v12.0.2) (2022-01-15)
|
||||
|
||||
### Changed
|
||||
|
||||
* Improve embedded jsdoc type documentation
|
||||
|
||||
## [12.0.1](https://github.com/motdotla/dotenv/compare/v12.0.0...v12.0.1) (2022-01-15)
|
||||
|
||||
### Changed
|
||||
|
||||
* README updates and clarifications
|
||||
|
||||
## [12.0.0](https://github.com/motdotla/dotenv/compare/v11.0.0...v12.0.0) (2022-01-15)
|
||||
|
||||
### Removed
|
||||
|
||||
- _Breaking:_ drop support for Flow static type checker ([#584](https://github.com/motdotla/dotenv/pull/584))
|
||||
|
||||
### Changed
|
||||
|
||||
- Move types/index.d.ts to lib/main.d.ts ([#585](https://github.com/motdotla/dotenv/pull/585))
|
||||
- Typescript cleanup ([#587](https://github.com/motdotla/dotenv/pull/587))
|
||||
- Explicit typescript inclusion in package.json ([#566](https://github.com/motdotla/dotenv/pull/566))
|
||||
|
||||
## [11.0.0](https://github.com/motdotla/dotenv/compare/v10.0.0...v11.0.0) (2022-01-11)
|
||||
|
||||
### Changed
|
||||
|
||||
- _Breaking:_ drop support for Node v10 ([#558](https://github.com/motdotla/dotenv/pull/558))
|
||||
- Patch debug option ([#550](https://github.com/motdotla/dotenv/pull/550))
|
||||
|
||||
## [10.0.0](https://github.com/motdotla/dotenv/compare/v9.0.2...v10.0.0) (2021-05-20)
|
||||
|
||||
### Added
|
||||
|
||||
- Add generic support to parse function
|
||||
- Allow for import "dotenv/config.js"
|
||||
- Add support to resolve home directory in path via ~
|
||||
|
||||
## [9.0.2](https://github.com/motdotla/dotenv/compare/v9.0.1...v9.0.2) (2021-05-10)
|
||||
|
||||
### Changed
|
||||
|
||||
- Support windows newlines with debug mode
|
||||
|
||||
## [9.0.1](https://github.com/motdotla/dotenv/compare/v9.0.0...v9.0.1) (2021-05-08)
|
||||
|
||||
### Changed
|
||||
|
||||
- Updates to README
|
||||
|
||||
## [9.0.0](https://github.com/motdotla/dotenv/compare/v8.6.0...v9.0.0) (2021-05-05)
|
||||
|
||||
### Changed
|
||||
|
||||
- _Breaking:_ drop support for Node v8
|
||||
|
||||
## [8.6.0](https://github.com/motdotla/dotenv/compare/v8.5.1...v8.6.0) (2021-05-05)
|
||||
|
||||
### Added
|
||||
|
||||
- define package.json in exports
|
||||
|
||||
## [8.5.1](https://github.com/motdotla/dotenv/compare/v8.5.0...v8.5.1) (2021-05-05)
|
||||
|
||||
### Changed
|
||||
|
||||
- updated dev dependencies via npm audit
|
||||
|
||||
## [8.5.0](https://github.com/motdotla/dotenv/compare/v8.4.0...v8.5.0) (2021-05-05)
|
||||
|
||||
### Added
|
||||
|
||||
- allow for `import "dotenv/config"`
|
||||
|
||||
## [8.4.0](https://github.com/motdotla/dotenv/compare/v8.3.0...v8.4.0) (2021-05-05)
|
||||
|
||||
### Changed
|
||||
|
||||
- point to exact types file to work with VS Code
|
||||
|
||||
## [8.3.0](https://github.com/motdotla/dotenv/compare/v8.2.0...v8.3.0) (2021-05-05)
|
||||
|
||||
### Changed
|
||||
|
||||
- _Breaking:_ drop support for Node v8 (mistake to be released as minor bump. later bumped to 9.0.0. see above.)
|
||||
|
||||
## [8.2.0](https://github.com/motdotla/dotenv/compare/v8.1.0...v8.2.0) (2019-10-16)
|
||||
|
||||
### Added
|
||||
|
||||
- TypeScript types
|
||||
|
||||
## [8.1.0](https://github.com/motdotla/dotenv/compare/v8.0.0...v8.1.0) (2019-08-18)
|
||||
|
||||
### Changed
|
||||
|
||||
- _Breaking:_ drop support for Node v6 ([#392](https://github.com/motdotla/dotenv/issues/392))
|
||||
|
||||
# [8.0.0](https://github.com/motdotla/dotenv/compare/v7.0.0...v8.0.0) (2019-05-02)
|
||||
|
||||
### Changed
|
||||
|
||||
- _Breaking:_ drop support for Node v6 ([#302](https://github.com/motdotla/dotenv/issues/392))
|
||||
|
||||
## [7.0.0] - 2019-03-12
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix removing unbalanced quotes ([#376](https://github.com/motdotla/dotenv/pull/376))
|
||||
|
||||
### Removed
|
||||
|
||||
- Removed `load` alias for `config` for consistency throughout code and documentation.
|
||||
|
||||
## [6.2.0] - 2018-12-03
|
||||
|
||||
### Added
|
||||
|
||||
- Support preload configuration via environment variables ([#351](https://github.com/motdotla/dotenv/issues/351))
|
||||
|
||||
## [6.1.0] - 2018-10-08
|
||||
|
||||
### Added
|
||||
|
||||
- `debug` option for `config` and `parse` methods will turn on logging
|
||||
|
||||
## [6.0.0] - 2018-06-02
|
||||
|
||||
### Changed
|
||||
|
||||
- _Breaking:_ drop support for Node v4 ([#304](https://github.com/motdotla/dotenv/pull/304))
|
||||
|
||||
## [5.0.0] - 2018-01-29
|
||||
|
||||
### Added
|
||||
|
||||
- Testing against Node v8 and v9
|
||||
- Documentation on trim behavior of values
|
||||
- Documentation on how to use with `import`
|
||||
|
||||
### Changed
|
||||
|
||||
- _Breaking_: default `path` is now `path.resolve(process.cwd(), '.env')`
|
||||
- _Breaking_: does not write over keys already in `process.env` if the key has a falsy value
|
||||
- using `const` and `let` instead of `var`
|
||||
|
||||
### Removed
|
||||
|
||||
- Testing against Node v7
|
||||
|
||||
## [4.0.0] - 2016-12-23
|
||||
|
||||
### Changed
|
||||
|
||||
- Return Object with parsed content or error instead of false ([#165](https://github.com/motdotla/dotenv/pull/165)).
|
||||
|
||||
### Removed
|
||||
|
||||
- `verbose` option removed in favor of returning result.
|
||||
|
||||
## [3.0.0] - 2016-12-20
|
||||
|
||||
### Added
|
||||
|
||||
- `verbose` option will log any error messages. Off by default.
|
||||
- parses email addresses correctly
|
||||
- allow importing config method directly in ES6
|
||||
|
||||
### Changed
|
||||
|
||||
- Suppress error messages by default ([#154](https://github.com/motdotla/dotenv/pull/154))
|
||||
- Ignoring more files for NPM to make package download smaller
|
||||
|
||||
### Fixed
|
||||
|
||||
- False positive test due to case-sensitive variable ([#124](https://github.com/motdotla/dotenv/pull/124))
|
||||
|
||||
### Removed
|
||||
|
||||
- `silent` option removed in favor of `verbose`
|
||||
|
||||
## [2.0.0] - 2016-01-20
|
||||
|
||||
### Added
|
||||
|
||||
- CHANGELOG to ["make it easier for users and contributors to see precisely what notable changes have been made between each release"](http://keepachangelog.com/). Linked to from README
|
||||
- LICENSE to be more explicit about what was defined in `package.json`. Linked to from README
|
||||
- Testing nodejs v4 on travis-ci
|
||||
- added examples of how to use dotenv in different ways
|
||||
- return parsed object on success rather than boolean true
|
||||
|
||||
### Changed
|
||||
|
||||
- README has shorter description not referencing ruby gem since we don't have or want feature parity
|
||||
|
||||
### Removed
|
||||
|
||||
- Variable expansion and escaping so environment variables are encouraged to be fully orthogonal
|
||||
|
||||
## [1.2.0] - 2015-06-20
|
||||
|
||||
### Added
|
||||
|
||||
- Preload hook to require dotenv without including it in your code
|
||||
|
||||
### Changed
|
||||
|
||||
- clarified license to be "BSD-2-Clause" in `package.json`
|
||||
|
||||
### Fixed
|
||||
|
||||
- retain spaces in string vars
|
||||
|
||||
## [1.1.0] - 2015-03-31
|
||||
|
||||
### Added
|
||||
|
||||
- Silent option to silence `console.log` when `.env` missing
|
||||
|
||||
## [1.0.0] - 2015-03-13
|
||||
|
||||
### Removed
|
||||
|
||||
- support for multiple `.env` files. should always use one `.env` file for the current environment
|
||||
|
||||
[7.0.0]: https://github.com/motdotla/dotenv/compare/v6.2.0...v7.0.0
|
||||
[6.2.0]: https://github.com/motdotla/dotenv/compare/v6.1.0...v6.2.0
|
||||
[6.1.0]: https://github.com/motdotla/dotenv/compare/v6.0.0...v6.1.0
|
||||
[6.0.0]: https://github.com/motdotla/dotenv/compare/v5.0.0...v6.0.0
|
||||
[5.0.0]: https://github.com/motdotla/dotenv/compare/v4.0.0...v5.0.0
|
||||
[4.0.0]: https://github.com/motdotla/dotenv/compare/v3.0.0...v4.0.0
|
||||
[3.0.0]: https://github.com/motdotla/dotenv/compare/v2.0.0...v3.0.0
|
||||
[2.0.0]: https://github.com/motdotla/dotenv/compare/v1.2.0...v2.0.0
|
||||
[1.2.0]: https://github.com/motdotla/dotenv/compare/v1.1.0...v1.2.0
|
||||
[1.1.0]: https://github.com/motdotla/dotenv/compare/v1.0.0...v1.1.0
|
||||
[1.0.0]: https://github.com/motdotla/dotenv/compare/v0.4.0...v1.0.0
|
||||
23
node_modules/dotenv/LICENSE
generated
vendored
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
Copyright (c) 2015, Scott Motte
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
757
node_modules/dotenv/README-es.md
generated
vendored
Normal file
|
|
@ -0,0 +1,757 @@
|
|||
<a href="https://dotenvx.com/?utm_source=github&utm_medium=readme&utm_campaign=motdotla-dotenv&utm_content=banner"><img src="https://dotenvx.com/dotenv-banner.png" alt="dotenvx" /></a>
|
||||
|
||||
# dotenv [](https://www.npmjs.com/package/dotenv) [](https://www.npmjs.com/package/dotenv)
|
||||
|
||||
<img src="https://raw.githubusercontent.com/motdotla/dotenv/master/dotenv.svg" alt="dotenv" align="right" width="200" />
|
||||
|
||||
Dotenv es un módulo sin dependencias que carga variables de entorno desde un archivo `.env` en [`process.env`](https://nodejs.org/docs/latest/api/process.html#process_process_env). Guardar la configuración en el entorno, separada del código, se basa en la metodología de [The Twelve-Factor App](https://12factor.net/config).
|
||||
|
||||
[Ver el tutorial](https://www.youtube.com/watch?v=YtkZR0NFd1g)
|
||||
|
||||
|
||||
|
||||
## Uso
|
||||
|
||||
Instálalo.
|
||||
|
||||
```sh
|
||||
npm install dotenv --save
|
||||
```
|
||||
|
||||
Crea un archivo `.env` en la raíz de tu proyecto:
|
||||
|
||||
```ini
|
||||
# .env
|
||||
S3_BUCKET="YOURS3BUCKET"
|
||||
SECRET_KEY="YOURSECRETKEYGOESHERE"
|
||||
```
|
||||
|
||||
Y lo antes posible en tu aplicación, importa y configura dotenv:
|
||||
|
||||
```javascript
|
||||
// index.js
|
||||
require('dotenv').config() // o import 'dotenv/config' si usas ES6
|
||||
...
|
||||
console.log(process.env) // elimínalo después de confirmar que funciona
|
||||
```
|
||||
```sh
|
||||
$ node index.js
|
||||
◇ injected env (14) from .env
|
||||
```
|
||||
|
||||
Eso es todo. `process.env` ahora tiene las claves y valores que definiste en tu archivo `.env`.
|
||||
|
||||
|
||||
|
||||
## Uso con agentes
|
||||
|
||||
Instala este repositorio como paquete de habilidad para tu agente:
|
||||
|
||||
```sh
|
||||
npx skills add motdotla/dotenv
|
||||
```
|
||||
```sh
|
||||
# luego dile a Claude/Codex cosas como:
|
||||
configura dotenv
|
||||
actualiza dotenv a dotenvx
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Avanzado
|
||||
|
||||
<details><summary>ES6</summary><br>
|
||||
|
||||
Importa con [ES6](#como-uso-dotenv-con-import):
|
||||
|
||||
```javascript
|
||||
import 'dotenv/config'
|
||||
```
|
||||
|
||||
Import con ES6 si necesitas establecer opciones de configuración:
|
||||
|
||||
```javascript
|
||||
import dotenv from 'dotenv'
|
||||
dotenv.config({ path: '/custom/path/to/.env' })
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>bun</summary><br>
|
||||
|
||||
```sh
|
||||
bun add dotenv
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>yarn</summary><br>
|
||||
|
||||
```sh
|
||||
yarn add dotenv
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>pnpm</summary><br>
|
||||
|
||||
```sh
|
||||
pnpm add dotenv
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>Monorepos</summary><br>
|
||||
|
||||
Para monorepos con una estructura como `apps/backend/app.js`, coloca el archivo `.env` en la raíz de la carpeta donde corre tu proceso `app.js`.
|
||||
|
||||
```ini
|
||||
# app/backend/.env
|
||||
S3_BUCKET="YOURS3BUCKET"
|
||||
SECRET_KEY="YOURSECRETKEYGOESHERE"
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>Valores Multilínea</summary><br>
|
||||
|
||||
Si necesitas variables multilínea, por ejemplo claves privadas, ya son compatibles (`>= v15.0.0`) con saltos de línea:
|
||||
|
||||
```ini
|
||||
PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----
|
||||
...
|
||||
Kh9NV...
|
||||
...
|
||||
-----END RSA PRIVATE KEY-----"
|
||||
```
|
||||
|
||||
Como alternativa, puedes usar comillas dobles y el carácter `\n`:
|
||||
|
||||
```ini
|
||||
PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\nKh9NV...\n-----END RSA PRIVATE KEY-----\n"
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>Comentarios</summary><br>
|
||||
|
||||
Puedes agregar comentarios en su propia línea o al final de una línea:
|
||||
|
||||
```ini
|
||||
# Este es un comentario
|
||||
SECRET_KEY=YOURSECRETKEYGOESHERE # comentario
|
||||
SECRET_HASH="something-with-a-#-hash"
|
||||
```
|
||||
|
||||
Los comentarios empiezan donde aparece `#`, así que si tu valor contiene `#` debes envolverlo entre comillas. Este es un cambio incompatible desde `>= v15.0.0`.
|
||||
|
||||
</details>
|
||||
<details><summary>Análisis</summary><br>
|
||||
|
||||
El motor que analiza el contenido del archivo de variables de entorno está disponible para su uso. Acepta un String o Buffer y devuelve un objeto con las claves y valores analizados.
|
||||
|
||||
```javascript
|
||||
const dotenv = require('dotenv')
|
||||
const buf = Buffer.from('BASIC=basic')
|
||||
const config = dotenv.parse(buf) // devolverá un objeto
|
||||
console.log(typeof config, config) // objeto { BASIC : 'basic' }
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>Precarga</summary><br>
|
||||
|
||||
> Nota: considera usar [`dotenvx`](https://github.com/dotenvx/dotenvx) en lugar de precargar. Ahora lo hago (y lo recomiendo).
|
||||
>
|
||||
> Cumple el mismo propósito (no necesitas hacer require y cargar dotenv), agrega mejor depuración y funciona con CUALQUIER lenguaje, framework o plataforma. – [motdotla](https://not.la)
|
||||
|
||||
Puedes usar la [opción de línea de comandos](https://nodejs.org/api/cli.html#-r---require-module) `--require` (`-r`) para precargar dotenv. Con esto no necesitas requerir ni cargar dotenv en el código de tu aplicación.
|
||||
|
||||
```bash
|
||||
$ node -r dotenv/config your_script.js
|
||||
```
|
||||
|
||||
Las opciones de configuración de abajo se aceptan como argumentos de línea de comandos en el formato `dotenv_config_<option>=value`
|
||||
|
||||
```bash
|
||||
$ node -r dotenv/config your_script.js dotenv_config_path=/custom/path/to/.env dotenv_config_debug=true
|
||||
```
|
||||
|
||||
Además, puedes usar variables de entorno para establecer opciones de configuración. Los argumentos de línea de comandos tienen prioridad.
|
||||
|
||||
```bash
|
||||
$ DOTENV_CONFIG_<OPTION>=value node -r dotenv/config your_script.js
|
||||
```
|
||||
|
||||
```bash
|
||||
$ DOTENV_CONFIG_ENCODING=latin1 DOTENV_CONFIG_DEBUG=true node -r dotenv/config your_script.js dotenv_config_path=/custom/path/to/.env
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>Expansión de Variables</summary><br>
|
||||
|
||||
Usa [dotenvx](https://github.com/dotenvx/dotenvx) para expansión de variables.
|
||||
|
||||
Referencia y expande variables que ya existen en tu máquina para usarlas en tu archivo .env.
|
||||
|
||||
```ini
|
||||
# .env
|
||||
USERNAME="username"
|
||||
DATABASE_URL="postgres://${USERNAME}@localhost/my_database"
|
||||
```
|
||||
```js
|
||||
// index.js
|
||||
console.log('DATABASE_URL', process.env.DATABASE_URL)
|
||||
```
|
||||
```sh
|
||||
$ dotenvx run --debug -- node index.js
|
||||
⟐ injected env (2) from .env · dotenvx@1.59.1
|
||||
DATABASE_URL postgres://username@localhost/my_database
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>Sustitución de Comandos</summary><br>
|
||||
|
||||
Usa [dotenvx](https://github.com/dotenvx/dotenvx) para sustitución de comandos.
|
||||
|
||||
Agrega la salida de un comando a una de tus variables en tu archivo .env.
|
||||
|
||||
```ini
|
||||
# .env
|
||||
DATABASE_URL="postgres://$(whoami)@localhost/my_database"
|
||||
```
|
||||
```js
|
||||
// index.js
|
||||
console.log('DATABASE_URL', process.env.DATABASE_URL)
|
||||
```
|
||||
```sh
|
||||
$ dotenvx run --debug -- node index.js
|
||||
⟐ injected env (1) from .env · dotenvx@1.59.1
|
||||
DATABASE_URL postgres://yourusername@localhost/my_database
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>Cifrado</summary><br>
|
||||
|
||||
Usa [dotenvx](https://github.com/dotenvx/dotenvx) para cifrado.
|
||||
|
||||
Agrega cifrado a tus archivos `.env` con un solo comando.
|
||||
|
||||
```
|
||||
$ dotenvx set HELLO Production -f .env.production
|
||||
$ echo "console.log('Hello ' + process.env.HELLO)" > index.js
|
||||
|
||||
$ DOTENV_PRIVATE_KEY_PRODUCTION="<.env.production private key>" dotenvx run -- node index.js
|
||||
⟐ injected env (2) from .env.production · dotenvx@1.59.1
|
||||
Hello Production
|
||||
```
|
||||
|
||||
[más información](https://github.com/dotenvx/dotenvx?tab=readme-ov-file#encryption)
|
||||
|
||||
</details>
|
||||
<details><summary>Múltiples Entornos</summary><br>
|
||||
|
||||
Usa [dotenvx](https://github.com/dotenvx/dotenvx) para administrar múltiples entornos.
|
||||
|
||||
Ejecuta cualquier entorno localmente. Crea un archivo `.env.ENVIRONMENT` y usa `-f` para cargarlo. Es simple y flexible.
|
||||
|
||||
```bash
|
||||
$ echo "HELLO=production" > .env.production
|
||||
$ echo "console.log('Hello ' + process.env.HELLO)" > index.js
|
||||
|
||||
$ dotenvx run -f=.env.production -- node index.js
|
||||
Hello production
|
||||
> ^^
|
||||
```
|
||||
|
||||
o con múltiples archivos .env
|
||||
|
||||
```bash
|
||||
$ echo "HELLO=local" > .env.local
|
||||
$ echo "HELLO=World" > .env
|
||||
$ echo "console.log('Hello ' + process.env.HELLO)" > index.js
|
||||
|
||||
$ dotenvx run -f=.env.local -f=.env -- node index.js
|
||||
Hello local
|
||||
```
|
||||
|
||||
[más ejemplos de entornos](https://dotenvx.com/docs/quickstart/environments?utm_source=github&utm_medium=readme&utm_campaign=motdotla-dotenv&utm_content=docs-environments)
|
||||
|
||||
</details>
|
||||
<details><summary>Producción</summary><br>
|
||||
|
||||
Usa [dotenvx](https://github.com/dotenvx/dotenvx) para despliegues en producción.
|
||||
|
||||
Crea un archivo `.env.production`.
|
||||
|
||||
```sh
|
||||
$ echo "HELLO=production" > .env.production
|
||||
```
|
||||
|
||||
Cífralo.
|
||||
|
||||
```sh
|
||||
$ dotenvx encrypt -f .env.production
|
||||
```
|
||||
|
||||
Configura `DOTENV_PRIVATE_KEY_PRODUCTION` (está en `.env.keys`) en tu servidor.
|
||||
|
||||
```
|
||||
$ heroku config:set DOTENV_PRIVATE_KEY_PRODUCTION=value
|
||||
```
|
||||
|
||||
Haz commit de tu archivo `.env.production` y despliega.
|
||||
|
||||
```
|
||||
$ git add .env.production
|
||||
$ git commit -m "encrypted .env.production"
|
||||
$ git push heroku main
|
||||
```
|
||||
|
||||
Dotenvx descifrará e inyectará los secretos en runtime usando `dotenvx run -- node index.js`.
|
||||
|
||||
</details>
|
||||
<details><summary>Sincronización</summary><br>
|
||||
|
||||
Usa [dotenvx](https://github.com/dotenvx/dotenvx) para sincronizar tus archivos .env.
|
||||
|
||||
Cífralos con `dotenvx encrypt -f .env` e inclúyelos de forma segura en el control de código fuente. Tus secretos se sincronizan de forma segura con git.
|
||||
|
||||
Esto sigue las reglas de Twelve-Factor App al generar una clave de descifrado separada del código.
|
||||
|
||||
</details>
|
||||
<details><summary>Más Ejemplos</summary><br>
|
||||
|
||||
Mira [ejemplos](https://github.com/dotenv-org/examples) de uso de dotenv con distintos frameworks, lenguajes y configuraciones.
|
||||
|
||||
* [nodejs](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-nodejs)
|
||||
* [nodejs (debug on)](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-nodejs-debug)
|
||||
* [nodejs (override on)](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-nodejs-override)
|
||||
* [nodejs (processEnv override)](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-custom-target)
|
||||
* [esm](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-esm)
|
||||
* [esm (preload)](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-esm-preload)
|
||||
* [typescript](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-typescript)
|
||||
* [typescript parse](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-typescript-parse)
|
||||
* [typescript config](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-typescript-config)
|
||||
* [webpack](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-webpack)
|
||||
* [webpack (plugin)](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-webpack2)
|
||||
* [react](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-react)
|
||||
* [react (typescript)](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-react-typescript)
|
||||
* [express](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-express)
|
||||
* [nestjs](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-nestjs)
|
||||
* [fastify](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-fastify)
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
||||
## Preguntas Frecuentes
|
||||
|
||||
<details><summary>¿Debo hacer commit de mi archivo `.env`?</summary><br/>
|
||||
|
||||
No.
|
||||
|
||||
A menos que lo cifres con [dotenvx](https://github.com/dotenvx/dotenvx). En ese caso sí lo recomendamos.
|
||||
|
||||
</details>
|
||||
<details><summary>¿Qué pasa con la expansión de variables?</summary><br/>
|
||||
|
||||
Usa [dotenvx](https://github.com/dotenvx/dotenvx).
|
||||
|
||||
</details>
|
||||
<details><summary>¿Debo tener múltiples archivos `.env`?</summary><br/>
|
||||
|
||||
Recomendamos crear un archivo `.env` por entorno. Usa `.env` para local/desarrollo, `.env.production` para producción, etc. Esto sigue los principios de Twelve-Factor porque cada uno pertenece de forma independiente a su entorno. Evita configuraciones personalizadas con herencia (`.env.production` hereda valores de `.env`, por ejemplo). Es mejor duplicar valores cuando sea necesario en cada archivo `.env.environment`.
|
||||
|
||||
> En una app twelve-factor, las variables de entorno son controles granulares, totalmente ortogonales entre sí. Nunca se agrupan como “entornos”; en cambio, se administran de forma independiente por despliegue. Este modelo escala de forma natural a medida que la app crece en más despliegues a lo largo del tiempo.
|
||||
>
|
||||
> – [The Twelve-Factor App](http://12factor.net/config)
|
||||
|
||||
Además, recomendamos usar [dotenvx](https://github.com/dotenvx/dotenvx) para cifrarlos y administrarlos.
|
||||
|
||||
</details>
|
||||
|
||||
<details><summary>¿Cómo uso dotenv con `import`?</summary><br/>
|
||||
|
||||
Simplemente..
|
||||
|
||||
```javascript
|
||||
// index.mjs (ESM)
|
||||
import 'dotenv/config' // ver https://github.com/motdotla/dotenv#como-uso-dotenv-con-import
|
||||
import express from 'express'
|
||||
```
|
||||
|
||||
Un poco de contexto..
|
||||
|
||||
> Cuando ejecutas un módulo que contiene una declaración `import`, primero se cargan los módulos importados y luego se ejecuta cada cuerpo de módulo en un recorrido en profundidad del grafo de dependencias, evitando ciclos al omitir lo que ya se ejecutó.
|
||||
>
|
||||
> – [ES6 In Depth: Modules](https://hacks.mozilla.org/2015/08/es6-in-depth-modules/)
|
||||
|
||||
¿Qué significa esto en lenguaje simple? Que parece que lo siguiente debería funcionar, pero no funciona.
|
||||
|
||||
`errorReporter.mjs`:
|
||||
```js
|
||||
class Client {
|
||||
constructor (apiKey) {
|
||||
console.log('apiKey', apiKey)
|
||||
|
||||
this.apiKey = apiKey
|
||||
}
|
||||
}
|
||||
|
||||
export default new Client(process.env.API_KEY)
|
||||
```
|
||||
`index.mjs`:
|
||||
```js
|
||||
// Nota: esto es INCORRECTO y no funcionará
|
||||
import * as dotenv from 'dotenv'
|
||||
dotenv.config()
|
||||
|
||||
import errorReporter from './errorReporter.mjs' // process.env.API_KEY estará vacío
|
||||
```
|
||||
|
||||
`process.env.API_KEY` estará vacío.
|
||||
|
||||
En su lugar, `index.mjs` debería escribirse así..
|
||||
|
||||
```js
|
||||
import 'dotenv/config'
|
||||
|
||||
import errorReporter from './errorReporter.mjs'
|
||||
```
|
||||
|
||||
¿Tiene sentido? Es un poco poco intuitivo, pero así funciona la importación de módulos ES6. Aquí tienes un [ejemplo funcional de este problema](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-es6-import-pitfall).
|
||||
|
||||
Hay dos alternativas a este enfoque:
|
||||
|
||||
1. Precargar con dotenvx: `dotenvx run -- node index.js` (_Nota: con este enfoque no necesitas `import` dotenv_)
|
||||
2. Crear un archivo separado que ejecute `config` primero, como se indica en [este comentario de #133](https://github.com/motdotla/dotenv/issues/133#issuecomment-255298822)
|
||||
</details>
|
||||
|
||||
<details><summary>¿Puedo personalizar/escribir plugins para dotenv?</summary><br/>
|
||||
|
||||
Sí. `dotenv.config()` devuelve un objeto que representa el archivo `.env` analizado. Con eso tienes lo necesario para seguir estableciendo valores en `process.env`. Por ejemplo:
|
||||
|
||||
```js
|
||||
const dotenv = require('dotenv')
|
||||
const variableExpansion = require('dotenv-expand')
|
||||
const myEnv = dotenv.config()
|
||||
variableExpansion(myEnv)
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>¿Qué reglas sigue el motor de análisis?</summary><br/>
|
||||
|
||||
El motor de análisis actualmente soporta las siguientes reglas:
|
||||
|
||||
- `BASIC=basic` se convierte en `{BASIC: 'basic'}`
|
||||
- las líneas vacías se omiten
|
||||
- las líneas que empiezan con `#` se tratan como comentarios
|
||||
- `#` marca el inicio de un comentario (a menos que el valor esté entre comillas)
|
||||
- los valores vacíos se convierten en cadenas vacías (`EMPTY=` pasa a `{EMPTY: ''}`)
|
||||
- las comillas internas se conservan (piensa en JSON) (`JSON={"foo": "bar"}` se convierte en `{JSON:"{\"foo\": \"bar\"}"`)
|
||||
- se elimina el espacio al principio y al final de valores sin comillas (más en [`trim`](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/String/trim)) (`FOO= some value ` pasa a `{FOO: 'some value'}`)
|
||||
- los valores con comillas simples o dobles se escapan (`SINGLE_QUOTE='quoted'` pasa a `{SINGLE_QUOTE: "quoted"}`)
|
||||
- los valores entre comillas simples o dobles mantienen los espacios en ambos extremos (`FOO=" some value "` pasa a `{FOO: ' some value '}`)
|
||||
- los valores entre comillas dobles expanden saltos de línea (`MULTILINE="new\nline"` pasa a
|
||||
|
||||
```
|
||||
{MULTILINE: 'new
|
||||
line'}
|
||||
```
|
||||
|
||||
- se admiten backticks (`` BACKTICK_KEY=`This has 'single' and "double" quotes inside of it.` ``)
|
||||
|
||||
</details>
|
||||
<details><summary>¿Qué hay de sincronizar y proteger archivos .env?</summary><br/>
|
||||
|
||||
Usa [dotenvx](https://github.com/dotenvx/dotenvx) para habilitar la sincronización de archivos .env cifrados sobre git.
|
||||
|
||||
</details>
|
||||
<details><summary>¿Qué pasa si hago commit accidentalmente de mi archivo `.env`?</summary><br/>
|
||||
|
||||
Elimínalo, [borra el historial de git](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository) y luego instala el [hook de pre-commit de git](https://github.com/dotenvx/dotenvx#pre-commit) para evitar que vuelva a pasar.
|
||||
|
||||
```
|
||||
npm i -g @dotenvx/dotenvx
|
||||
dotenvx precommit --install
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>¿Qué pasa con variables de entorno que ya estaban definidas?</summary><br/>
|
||||
|
||||
Por defecto, nunca modificamos variables de entorno que ya estén definidas. En particular, si hay una variable en tu archivo `.env` que colisiona con una ya existente en tu entorno, esa variable se omite.
|
||||
|
||||
Si en cambio quieres sobrescribir `process.env`, usa la opción `override`.
|
||||
|
||||
```javascript
|
||||
require('dotenv').config({ override: true })
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>¿Cómo evito incluir mi archivo `.env` en un build de Docker?</summary><br/>
|
||||
|
||||
Usa el [hook de prebuild para docker](https://dotenvx.com/docs/features/prebuild?utm_source=github&utm_medium=readme&utm_campaign=motdotla-dotenv&utm_content=docs-prebuild).
|
||||
|
||||
```bash
|
||||
# Dockerfile
|
||||
...
|
||||
RUN curl -fsS https://dotenvx.sh/ | sh
|
||||
...
|
||||
RUN dotenvx prebuild
|
||||
CMD ["dotenvx", "run", "--", "node", "index.js"]
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>¿Por qué no aparecen mis variables de entorno en React?</summary><br/>
|
||||
|
||||
Tu código React corre en Webpack, donde el módulo `fs` o incluso el global `process` no son accesibles de forma predeterminada. `process.env` solo se puede inyectar mediante configuración de Webpack.
|
||||
|
||||
Si usas [`react-scripts`](https://www.npmjs.com/package/react-scripts), distribuido vía [`create-react-app`](https://create-react-app.dev/), ya incluye dotenv, pero con una condición. Antepone `REACT_APP_` a tus variables de entorno. Mira [este stack overflow](https://stackoverflow.com/questions/42182577/is-it-possible-to-use-dotenv-in-a-react-project) para más detalles.
|
||||
|
||||
Si usas otros frameworks (por ejemplo, Next.js, Gatsby...), debes revisar su documentación para inyectar variables de entorno en el cliente.
|
||||
|
||||
</details>
|
||||
<details><summary>¿Por qué el archivo `.env` no carga mis variables de entorno correctamente?</summary><br/>
|
||||
|
||||
Lo más probable es que tu archivo `.env` no esté en el lugar correcto. [Mira este stack overflow](https://stackoverflow.com/questions/42335016/dotenv-file-is-not-loading-environment-variables).
|
||||
|
||||
Activa el modo debug y prueba de nuevo..
|
||||
|
||||
```js
|
||||
require('dotenv').config({ debug: true })
|
||||
```
|
||||
|
||||
Recibirás un error útil en la consola.
|
||||
|
||||
</details>
|
||||
<details><summary>¿Por qué recibo el error `Module not found: Error: Can't resolve 'crypto|os|path'`?</summary><br/>
|
||||
|
||||
Estás usando dotenv en el front-end y no incluiste un polyfill. Webpack < 5 solía incluirlos. Haz lo siguiente:
|
||||
|
||||
```bash
|
||||
npm install node-polyfill-webpack-plugin
|
||||
```
|
||||
|
||||
Configura tu `webpack.config.js` con algo como lo siguiente.
|
||||
|
||||
```js
|
||||
require('dotenv').config()
|
||||
|
||||
const path = require('path');
|
||||
const webpack = require('webpack')
|
||||
|
||||
const NodePolyfillPlugin = require('node-polyfill-webpack-plugin')
|
||||
|
||||
module.exports = {
|
||||
mode: 'development',
|
||||
entry: './src/index.ts',
|
||||
output: {
|
||||
filename: 'bundle.js',
|
||||
path: path.resolve(__dirname, 'dist'),
|
||||
},
|
||||
plugins: [
|
||||
new NodePolyfillPlugin(),
|
||||
new webpack.DefinePlugin({
|
||||
'process.env': {
|
||||
HELLO: JSON.stringify(process.env.HELLO)
|
||||
}
|
||||
}),
|
||||
]
|
||||
};
|
||||
```
|
||||
|
||||
Como alternativa, usa [dotenv-webpack](https://github.com/mrsteele/dotenv-webpack), que hace esto y más por detrás.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
||||
## Documentación
|
||||
|
||||
Dotenv expone tres funciones:
|
||||
|
||||
* `config`
|
||||
* `parse`
|
||||
* `populate`
|
||||
|
||||
### Config
|
||||
|
||||
`config` leerá tu archivo `.env`, analizará su contenido, lo asignará a
|
||||
[`process.env`](https://nodejs.org/docs/latest/api/process.html#process_process_env),
|
||||
y devolverá un objeto con una clave `parsed` con el contenido cargado o una clave `error` si falla.
|
||||
|
||||
```js
|
||||
const result = dotenv.config()
|
||||
|
||||
if (result.error) {
|
||||
throw result.error
|
||||
}
|
||||
|
||||
console.log(result.parsed)
|
||||
```
|
||||
|
||||
También puedes pasar opciones a `config`.
|
||||
|
||||
#### Opciones
|
||||
|
||||
##### path
|
||||
|
||||
Por defecto: `path.resolve(process.cwd(), '.env')`
|
||||
|
||||
Especifica una ruta personalizada si tu archivo de variables de entorno está en otro lugar.
|
||||
|
||||
```js
|
||||
require('dotenv').config({ path: '/custom/path/to/.env' })
|
||||
```
|
||||
|
||||
Por defecto, `config` buscará un archivo llamado .env en el directorio de trabajo actual.
|
||||
|
||||
Pasa múltiples archivos como un arreglo; se analizarán en orden y se combinarán con `process.env` (o `option.processEnv`, si se define). El primer valor asignado a una variable prevalece, salvo que `options.override` esté activo; en ese caso prevalece el último. Si un valor ya existe en `process.env` y `options.override` NO está activo, no se hará ningún cambio en ese valor.
|
||||
|
||||
```js
|
||||
require('dotenv').config({ path: ['.env.local', '.env'] })
|
||||
```
|
||||
|
||||
##### quiet
|
||||
|
||||
Por defecto: `false`
|
||||
|
||||
Suprime el mensaje de logging en tiempo de ejecución.
|
||||
|
||||
```js
|
||||
// index.js
|
||||
require('dotenv').config({ quiet: false }) // cambia a true para suprimir
|
||||
console.log(`Hello ${process.env.HELLO}`)
|
||||
```
|
||||
|
||||
```ini
|
||||
# .env
|
||||
HELLO=World
|
||||
```
|
||||
|
||||
```sh
|
||||
$ node index.js
|
||||
Hola Mundo
|
||||
```
|
||||
|
||||
##### encoding
|
||||
|
||||
Por defecto: `utf8`
|
||||
|
||||
Especifica la codificación del archivo que contiene variables de entorno.
|
||||
|
||||
```js
|
||||
require('dotenv').config({ encoding: 'latin1' })
|
||||
```
|
||||
|
||||
##### debug
|
||||
|
||||
Por defecto: `false`
|
||||
|
||||
Activa logs para depurar por qué ciertas claves o valores no se establecen como esperas.
|
||||
|
||||
```js
|
||||
require('dotenv').config({ debug: process.env.DEBUG })
|
||||
```
|
||||
|
||||
##### override
|
||||
|
||||
Por defecto: `false`
|
||||
|
||||
Sobrescribe cualquier variable de entorno ya definida en tu máquina con valores de tus archivos .env. Si se proporcionan múltiples archivos en `option.path`, `override` también aplica al combinar cada archivo con el siguiente. Sin `override`, prevalece el primer valor. Con `override`, prevalece el último.
|
||||
|
||||
```js
|
||||
require('dotenv').config({ override: true })
|
||||
```
|
||||
|
||||
##### processEnv
|
||||
|
||||
Por defecto: `process.env`
|
||||
|
||||
Especifica un objeto donde escribir tus variables de entorno. Por defecto usa `process.env`.
|
||||
|
||||
```js
|
||||
const myObject = {}
|
||||
require('dotenv').config({ processEnv: myObject })
|
||||
|
||||
console.log(myObject) // valores desde .env
|
||||
console.log(process.env) // esto no se modificó ni escribió
|
||||
```
|
||||
|
||||
### Parse
|
||||
|
||||
El motor que analiza el contenido de tu archivo de variables
|
||||
de entorno está disponible para usar. Acepta un String o Buffer y devuelve
|
||||
un objeto con las claves y valores analizados.
|
||||
|
||||
```js
|
||||
const dotenv = require('dotenv')
|
||||
const buf = Buffer.from('BASIC=basic')
|
||||
const config = dotenv.parse(buf) // devolverá un objeto
|
||||
console.log(typeof config, config) // objeto { BASIC : 'basic' }
|
||||
```
|
||||
|
||||
#### Opciones
|
||||
|
||||
##### debug
|
||||
|
||||
Por defecto: `false`
|
||||
|
||||
Activa logs para depurar por qué ciertas claves o valores no se establecen como esperas.
|
||||
|
||||
```js
|
||||
const dotenv = require('dotenv')
|
||||
const buf = Buffer.from('hola mundo')
|
||||
const opt = { debug: true }
|
||||
const config = dotenv.parse(buf, opt)
|
||||
// espera un mensaje de depuración porque el buffer no tiene formato KEY=VAL
|
||||
```
|
||||
|
||||
### Populate
|
||||
|
||||
El motor que carga el contenido de tu archivo .env en `process.env` está disponible para su uso. Acepta un objetivo, una fuente y opciones. Es útil para usuarios avanzados que quieren proveer sus propios objetos.
|
||||
|
||||
Por ejemplo, personalizando la fuente:
|
||||
|
||||
```js
|
||||
const dotenv = require('dotenv')
|
||||
const parsed = { HELLO: 'world' }
|
||||
|
||||
dotenv.populate(process.env, parsed)
|
||||
|
||||
console.log(process.env.HELLO) // world
|
||||
```
|
||||
|
||||
Por ejemplo, personalizando la fuente Y el objetivo:
|
||||
|
||||
```js
|
||||
const dotenv = require('dotenv')
|
||||
const parsed = { HELLO: 'universe' }
|
||||
const target = { HELLO: 'world' } // objeto inicial
|
||||
|
||||
dotenv.populate(target, parsed, { override: true, debug: true })
|
||||
|
||||
console.log(target) // { HELLO: 'universe' }
|
||||
```
|
||||
|
||||
#### opciones
|
||||
|
||||
##### Debug
|
||||
|
||||
Por defecto: `false`
|
||||
|
||||
Activa logs para depurar por qué ciertas claves o valores no se están cargando como esperas.
|
||||
|
||||
##### override
|
||||
|
||||
Por defecto: `false`
|
||||
|
||||
Sobrescribe cualquier variable de entorno que ya haya sido definida.
|
||||
|
||||
|
||||
|
||||
## CHANGELOG
|
||||
|
||||
Ver [CHANGELOG.md](CHANGELOG.md)
|
||||
|
||||
|
||||
|
||||
## ¿Quién usa dotenv?
|
||||
|
||||
[Estos módulos de npm dependen de él.](https://www.npmjs.com/browse/depended/dotenv)
|
||||
|
||||
Los proyectos que lo extienden suelen usar la [palabra clave "dotenv" en npm](https://www.npmjs.com/search?q=keywords:dotenv).
|
||||
812
node_modules/dotenv/README.md
generated
vendored
Normal file
|
|
@ -0,0 +1,812 @@
|
|||
<a href="https://dotenvx.com/?utm_source=github&utm_medium=readme&utm_campaign=motdotla-dotenv&utm_content=banner"><img src="https://dotenvx.com/dotenv-banner.png" alt="dotenvx" /></a>
|
||||
|
||||
# dotenv [](https://www.npmjs.com/package/dotenv) [](https://www.npmjs.com/package/dotenv)
|
||||
|
||||
<img src="https://raw.githubusercontent.com/motdotla/dotenv/master/dotenv.svg" alt="dotenv" align="right" width="200" />
|
||||
|
||||
Dotenv is a zero-dependency module that loads environment variables from a `.env` file into [`process.env`](https://nodejs.org/docs/latest/api/process.html#process_process_env). Storing configuration in the environment separate from code is based on [The Twelve-Factor App](https://12factor.net/config) methodology.
|
||||
|
||||
[Watch the tutorial](https://www.youtube.com/watch?v=YtkZR0NFd1g)
|
||||
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
Install it.
|
||||
|
||||
```sh
|
||||
npm install dotenv --save
|
||||
```
|
||||
|
||||
Create a `.env` file in the root of your project:
|
||||
|
||||
```ini
|
||||
# .env
|
||||
HELLO="Dotenv"
|
||||
OPENAI_API_KEY="your-api-key-goes-here"
|
||||
```
|
||||
|
||||
As early as possible in your application, import and configure dotenv:
|
||||
|
||||
```javascript
|
||||
// index.js
|
||||
require('dotenv').config()
|
||||
// or import 'dotenv/config' // for esm
|
||||
|
||||
console.log(`Hello ${process.env.HELLO}`)
|
||||
```
|
||||
```sh
|
||||
$ node index.js
|
||||
◇ injected env (2) from .env
|
||||
Hello Dotenv
|
||||
```
|
||||
|
||||
That's it. `process.env` now has the keys and values you defined in your `.env` file.
|
||||
|
||||
|
||||
|
||||
## Agent Usage
|
||||
|
||||
Install this repo as an agent skill package:
|
||||
|
||||
```sh
|
||||
npx skills add motdotla/dotenv
|
||||
```
|
||||
```sh
|
||||
# ask Claude or Codex to do things like:
|
||||
set up dotenv
|
||||
upgrade dotenv to dotenvx
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Advanced
|
||||
|
||||
<details><summary>ES6</summary><br>
|
||||
|
||||
Import with [ES6](#how-do-i-use-dotenv-with-import):
|
||||
|
||||
```javascript
|
||||
import 'dotenv/config'
|
||||
```
|
||||
|
||||
ES6 import if you need to set config options:
|
||||
|
||||
```javascript
|
||||
import dotenv from 'dotenv'
|
||||
dotenv.config({ path: '/custom/path/to/.env' })
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>bun</summary><br>
|
||||
|
||||
```sh
|
||||
bun add dotenv
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>yarn</summary><br>
|
||||
|
||||
```sh
|
||||
yarn add dotenv
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>pnpm</summary><br>
|
||||
|
||||
```sh
|
||||
pnpm add dotenv
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>Monorepos</summary><br>
|
||||
|
||||
For monorepos with a structure like `apps/backend/app.js`, put it the `.env` file in the root of the folder where your `app.js` process runs.
|
||||
|
||||
```ini
|
||||
# app/backend/.env
|
||||
S3_BUCKET="YOURS3BUCKET"
|
||||
SECRET_KEY="YOURSECRETKEYGOESHERE"
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>Multiline Values</summary><br>
|
||||
|
||||
If you need multiline variables, for example private keys, those are now supported (`>= v15.0.0`) with line breaks:
|
||||
|
||||
```ini
|
||||
PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----
|
||||
...
|
||||
Kh9NV...
|
||||
...
|
||||
-----END RSA PRIVATE KEY-----"
|
||||
```
|
||||
|
||||
Alternatively, you can double quote strings and use the `\n` character:
|
||||
|
||||
```ini
|
||||
PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\nKh9NV...\n-----END RSA PRIVATE KEY-----\n"
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>Comments</summary><br>
|
||||
|
||||
Comments may be added to your file on their own line or inline:
|
||||
|
||||
```ini
|
||||
# This is a comment
|
||||
SECRET_KEY=YOURSECRETKEYGOESHERE # comment
|
||||
SECRET_HASH="something-with-a-#-hash"
|
||||
```
|
||||
|
||||
Comments begin where a `#` exists, so if your value contains a `#` please wrap it in quotes. This is a breaking change from `>= v15.0.0` and on.
|
||||
|
||||
</details>
|
||||
<details><summary>Parsing</summary><br>
|
||||
|
||||
The engine which parses the contents of your file containing environment variables is available to use. It accepts a String or Buffer and will return an Object with the parsed keys and values.
|
||||
|
||||
```javascript
|
||||
const dotenv = require('dotenv')
|
||||
const buf = Buffer.from('BASIC=basic')
|
||||
const config = dotenv.parse(buf) // will return an object
|
||||
console.log(typeof config, config) // object { BASIC : 'basic' }
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>Preload</summary><br>
|
||||
|
||||
> Note: Consider using [`dotenvx`](https://github.com/dotenvx/dotenvx) instead of preloading. I am now doing (and recommending) so.
|
||||
>
|
||||
> It serves the same purpose (you do not need to require and load dotenv), adds better debugging, and works with ANY language, framework, or platform. – [motdotla](https://not.la)
|
||||
|
||||
You can use the `--require` (`-r`) [command line option](https://nodejs.org/api/cli.html#-r---require-module) to preload dotenv. By doing this, you do not need to require and load dotenv in your application code.
|
||||
|
||||
```bash
|
||||
$ node -r dotenv/config your_script.js
|
||||
```
|
||||
|
||||
The configuration options below are supported as command line arguments in the format `dotenv_config_<option>=value`
|
||||
|
||||
```bash
|
||||
$ node -r dotenv/config your_script.js dotenv_config_path=/custom/path/to/.env dotenv_config_debug=true
|
||||
```
|
||||
|
||||
Additionally, you can use environment variables to set configuration options. Command line arguments will precede these.
|
||||
|
||||
```bash
|
||||
$ DOTENV_CONFIG_<OPTION>=value node -r dotenv/config your_script.js
|
||||
```
|
||||
|
||||
```bash
|
||||
$ DOTENV_CONFIG_ENCODING=latin1 DOTENV_CONFIG_DEBUG=true node -r dotenv/config your_script.js dotenv_config_path=/custom/path/to/.env
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>Variable Expansion</summary><br>
|
||||
|
||||
Use [dotenvx](https://github.com/dotenvx/dotenvx) for variable expansion.
|
||||
|
||||
Reference and expand variables already on your machine for use in your .env file.
|
||||
|
||||
```ini
|
||||
# .env
|
||||
USERNAME="username"
|
||||
DATABASE_URL="postgres://${USERNAME}@localhost/my_database"
|
||||
```
|
||||
```js
|
||||
// index.js
|
||||
console.log('DATABASE_URL', process.env.DATABASE_URL)
|
||||
```
|
||||
```sh
|
||||
$ dotenvx run --debug -- node index.js
|
||||
⟐ injected env (2) from .env · dotenvx@1.59.1
|
||||
DATABASE_URL postgres://username@localhost/my_database
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>Command Substitution</summary><br>
|
||||
|
||||
Use [dotenvx](https://github.com/dotenvx/dotenvx) for command substitution.
|
||||
|
||||
Add the output of a command to one of your variables in your .env file.
|
||||
|
||||
```ini
|
||||
# .env
|
||||
DATABASE_URL="postgres://$(whoami)@localhost/my_database"
|
||||
```
|
||||
```js
|
||||
// index.js
|
||||
console.log('DATABASE_URL', process.env.DATABASE_URL)
|
||||
```
|
||||
```sh
|
||||
$ dotenvx run --debug -- node index.js
|
||||
⟐ injected env (1) from .env · dotenvx@1.59.1
|
||||
DATABASE_URL postgres://yourusername@localhost/my_database
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>Encryption</summary><br>
|
||||
|
||||
Use [dotenvx](https://github.com/dotenvx/dotenvx) for encryption.
|
||||
|
||||
Add encryption to your `.env` files with a single command.
|
||||
|
||||
```
|
||||
$ dotenvx set HELLO Production -f .env.production
|
||||
$ echo "console.log('Hello ' + process.env.HELLO)" > index.js
|
||||
|
||||
$ DOTENV_PRIVATE_KEY_PRODUCTION="<.env.production private key>" dotenvx run -- node index.js
|
||||
⟐ injected env (2) from .env.production · dotenvx@1.59.1
|
||||
Hello Production
|
||||
```
|
||||
|
||||
[learn more](https://github.com/dotenvx/dotenvx?tab=readme-ov-file#encryption)
|
||||
|
||||
</details>
|
||||
<details><summary>Multiple Environments</summary><br>
|
||||
|
||||
Use [dotenvx](https://github.com/dotenvx/dotenvx) to manage multiple environments.
|
||||
|
||||
Run any environment locally. Create a `.env.ENVIRONMENT` file and use `-f` to load it. It's straightforward, yet flexible.
|
||||
|
||||
```bash
|
||||
$ echo "HELLO=production" > .env.production
|
||||
$ echo "console.log('Hello ' + process.env.HELLO)" > index.js
|
||||
|
||||
$ dotenvx run -f=.env.production -- node index.js
|
||||
Hello production
|
||||
> ^^
|
||||
```
|
||||
|
||||
or with multiple .env files
|
||||
|
||||
```bash
|
||||
$ echo "HELLO=local" > .env.local
|
||||
$ echo "HELLO=World" > .env
|
||||
$ echo "console.log('Hello ' + process.env.HELLO)" > index.js
|
||||
|
||||
$ dotenvx run -f=.env.local -f=.env -- node index.js
|
||||
Hello local
|
||||
```
|
||||
|
||||
[more environment examples](https://dotenvx.com/docs/quickstart/environments?utm_source=github&utm_medium=readme&utm_campaign=motdotla-dotenv&utm_content=docs-environments)
|
||||
|
||||
</details>
|
||||
<details><summary>Production</summary><br>
|
||||
|
||||
Use [dotenvx](https://github.com/dotenvx/dotenvx) for production deploys.
|
||||
|
||||
Create a `.env.production` file.
|
||||
|
||||
```sh
|
||||
$ echo "HELLO=production" > .env.production
|
||||
```
|
||||
|
||||
Encrypt it.
|
||||
|
||||
```sh
|
||||
$ dotenvx encrypt -f .env.production
|
||||
```
|
||||
|
||||
Set `DOTENV_PRIVATE_KEY_PRODUCTION` (found in `.env.keys`) on your server.
|
||||
|
||||
```
|
||||
$ heroku config:set DOTENV_PRIVATE_KEY_PRODUCTION=value
|
||||
```
|
||||
|
||||
Commit your `.env.production` file to code and deploy.
|
||||
|
||||
```
|
||||
$ git add .env.production
|
||||
$ git commit -m "encrypted .env.production"
|
||||
$ git push heroku main
|
||||
```
|
||||
|
||||
Dotenvx will decrypt and inject the secrets at runtime using `dotenvx run -- node index.js`.
|
||||
|
||||
</details>
|
||||
<details><summary>Syncing</summary><br>
|
||||
|
||||
Use [dotenvx](https://github.com/dotenvx/dotenvx) to sync your .env files.
|
||||
|
||||
Encrypt them with `dotenvx encrypt -f .env` and safely include them in source control. Your secrets are securely synced with your git.
|
||||
|
||||
This still subscribes to the twelve-factor app rules by generating a decryption key separate from code.
|
||||
|
||||
</details>
|
||||
<details><summary>More Examples</summary><br>
|
||||
|
||||
See [examples](https://github.com/dotenv-org/examples) of using dotenv with various frameworks, languages, and configurations.
|
||||
|
||||
* [nodejs](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-nodejs)
|
||||
* [nodejs (debug on)](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-nodejs-debug)
|
||||
* [nodejs (override on)](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-nodejs-override)
|
||||
* [nodejs (processEnv override)](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-custom-target)
|
||||
* [esm](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-esm)
|
||||
* [esm (preload)](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-esm-preload)
|
||||
* [typescript](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-typescript)
|
||||
* [typescript parse](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-typescript-parse)
|
||||
* [typescript config](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-typescript-config)
|
||||
* [webpack](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-webpack)
|
||||
* [webpack (plugin)](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-webpack2)
|
||||
* [react](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-react)
|
||||
* [react (typescript)](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-react-typescript)
|
||||
* [express](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-express)
|
||||
* [nestjs](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-nestjs)
|
||||
* [fastify](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-fastify)
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
||||
## FAQ
|
||||
|
||||
<details><summary>Should I commit my `.env` file?</summary><br/>
|
||||
|
||||
No.
|
||||
|
||||
Unless you encrypt it with [dotenvx](https://github.com/dotenvx/dotenvx). Then we recommend you do.
|
||||
|
||||
</details>
|
||||
<details><summary>What about variable expansion?</summary><br/>
|
||||
|
||||
Use [dotenvx](https://github.com/dotenvx/dotenvx).
|
||||
|
||||
</details>
|
||||
<details><summary>Should I have multiple `.env` files?</summary><br/>
|
||||
|
||||
We recommend creating one `.env` file per environment. Use `.env` for local/development, `.env.production` for production and so on. This still follows the twelve factor principles as each is attributed individually to its own environment. Avoid custom set ups that work in inheritance somehow (`.env.production` inherits values from `.env` for example). It is better to duplicate values if necessary across each `.env.environment` file.
|
||||
|
||||
> In a twelve-factor app, env vars are granular controls, each fully orthogonal to other env vars. They are never grouped together as “environments”, but instead are independently managed for each deploy. This is a model that scales up smoothly as the app naturally expands into more deploys over its lifetime.
|
||||
>
|
||||
> – [The Twelve-Factor App](http://12factor.net/config)
|
||||
|
||||
Additionally, we recommend using [dotenvx](https://github.com/dotenvx/dotenvx) to encrypt and manage these.
|
||||
|
||||
</details>
|
||||
|
||||
<details><summary>How do I use dotenv with `import`?</summary><br/>
|
||||
|
||||
Simply..
|
||||
|
||||
```javascript
|
||||
// index.mjs (ESM)
|
||||
import 'dotenv/config' // see https://github.com/motdotla/dotenv#how-do-i-use-dotenv-with-import
|
||||
import express from 'express'
|
||||
```
|
||||
|
||||
A little background..
|
||||
|
||||
> When you run a module containing an `import` declaration, the modules it imports are loaded first, then each module body is executed in a depth-first traversal of the dependency graph, avoiding cycles by skipping anything already executed.
|
||||
>
|
||||
> – [ES6 In Depth: Modules](https://hacks.mozilla.org/2015/08/es6-in-depth-modules/)
|
||||
|
||||
What does this mean in plain language? It means you would think the following would work but it won't.
|
||||
|
||||
`errorReporter.mjs`:
|
||||
```js
|
||||
class Client {
|
||||
constructor (apiKey) {
|
||||
console.log('apiKey', apiKey)
|
||||
|
||||
this.apiKey = apiKey
|
||||
}
|
||||
}
|
||||
|
||||
export default new Client(process.env.API_KEY)
|
||||
```
|
||||
`index.mjs`:
|
||||
```js
|
||||
// Note: this is INCORRECT and will not work
|
||||
import * as dotenv from 'dotenv'
|
||||
dotenv.config()
|
||||
|
||||
import errorReporter from './errorReporter.mjs' // process.env.API_KEY will be blank!
|
||||
```
|
||||
|
||||
`process.env.API_KEY` will be blank.
|
||||
|
||||
Instead, `index.mjs` should be written as..
|
||||
|
||||
```js
|
||||
import 'dotenv/config'
|
||||
|
||||
import errorReporter from './errorReporter.mjs'
|
||||
```
|
||||
|
||||
Does that make sense? It's a bit unintuitive, but it is how importing of ES6 modules work. Here is a [working example of this pitfall](https://github.com/dotenv-org/examples/tree/master/usage/dotenv-es6-import-pitfall).
|
||||
|
||||
There are two alternatives to this approach:
|
||||
|
||||
1. Preload with dotenvx: `dotenvx run -- node index.js` (_Note: you do not need to `import` dotenv with this approach_)
|
||||
2. Create a separate file that will execute `config` first as outlined in [this comment on #133](https://github.com/motdotla/dotenv/issues/133#issuecomment-255298822)
|
||||
</details>
|
||||
|
||||
<details><summary>Can I customize/write plugins for dotenv?</summary><br/>
|
||||
|
||||
Yes! `dotenv.config()` returns an object representing the parsed `.env` file. This gives you everything you need to continue setting values on `process.env`. For example:
|
||||
|
||||
```js
|
||||
const dotenv = require('dotenv')
|
||||
const variableExpansion = require('dotenv-expand')
|
||||
const myEnv = dotenv.config()
|
||||
variableExpansion(myEnv)
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>What rules does the parsing engine follow?</summary><br/>
|
||||
|
||||
The parsing engine currently supports the following rules:
|
||||
|
||||
- `BASIC=basic` becomes `{BASIC: 'basic'}`
|
||||
- empty lines are skipped
|
||||
- lines beginning with `#` are treated as comments
|
||||
- `#` marks the beginning of a comment (unless when the value is wrapped in quotes)
|
||||
- empty values become empty strings (`EMPTY=` becomes `{EMPTY: ''}`)
|
||||
- inner quotes are maintained (think JSON) (`JSON={"foo": "bar"}` becomes `{JSON:"{\"foo\": \"bar\"}"`)
|
||||
- whitespace is removed from both ends of unquoted values (see more on [`trim`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim)) (`FOO= some value ` becomes `{FOO: 'some value'}`)
|
||||
- single and double quoted values are escaped (`SINGLE_QUOTE='quoted'` becomes `{SINGLE_QUOTE: "quoted"}`)
|
||||
- single and double quoted values maintain whitespace from both ends (`FOO=" some value "` becomes `{FOO: ' some value '}`)
|
||||
- double quoted values expand new lines (`MULTILINE="new\nline"` becomes
|
||||
|
||||
```
|
||||
{MULTILINE: 'new
|
||||
line'}
|
||||
```
|
||||
|
||||
- backticks are supported (`` BACKTICK_KEY=`This has 'single' and "double" quotes inside of it.` ``)
|
||||
|
||||
</details>
|
||||
<details><summary>What about syncing and securing .env files?</summary><br/>
|
||||
|
||||
Use [dotenvx](https://github.com/dotenvx/dotenvx) to unlock syncing encrypted .env files over git.
|
||||
|
||||
</details>
|
||||
<details><summary>How do I specify config options with ES6 import?</summary><br/>
|
||||
|
||||
When using `import 'dotenv/config'`, you can't pass options directly. Here are a few ways to handle it.
|
||||
|
||||
**Option 1: Import and call `config()` yourself (Recommended)**
|
||||
|
||||
```javascript
|
||||
// index.mjs
|
||||
import dotenv from 'dotenv'
|
||||
|
||||
dotenv.config({
|
||||
path: '/custom/path/to/.env',
|
||||
debug: true
|
||||
})
|
||||
|
||||
// Now import everything else
|
||||
import express from 'express'
|
||||
```
|
||||
|
||||
Because ES6 imports are hoisted, put the `dotenv` import and `config()` call at the very top, before any other imports that rely on `process.env`.
|
||||
|
||||
**Option 2: Use environment variables**
|
||||
|
||||
```bash
|
||||
DOTENV_CONFIG_DEBUG=true DOTENV_CONFIG_PATH=/custom/path/to/.env node index.mjs
|
||||
```
|
||||
|
||||
Then in your code you can keep the shorthand:
|
||||
|
||||
```javascript
|
||||
import 'dotenv/config'
|
||||
```
|
||||
|
||||
**Option 3: A tiny wrapper file**
|
||||
|
||||
Create `load-env.mjs`:
|
||||
|
||||
```javascript
|
||||
import dotenv from 'dotenv'
|
||||
dotenv.config({ path: '/custom/path/to/.env', debug: true })
|
||||
```
|
||||
|
||||
Then in your main file:
|
||||
|
||||
```javascript
|
||||
import './load-env.mjs'
|
||||
import express from 'express'
|
||||
```
|
||||
|
||||
Not the most elegant, but it works reliably when hoisting gets in the way.
|
||||
|
||||
</details>
|
||||
<details><summary>What if I accidentally commit my `.env` file to code?</summary><br/>
|
||||
|
||||
Remove it, [remove git history](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository) and then install the [git pre-commit hook](https://github.com/dotenvx/dotenvx#pre-commit) to prevent this from ever happening again.
|
||||
|
||||
```
|
||||
npm i -g @dotenvx/dotenvx
|
||||
dotenvx precommit --install
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<details><summary>What happens to environment variables that were already set?</summary><br/>
|
||||
|
||||
By default, we will never modify any environment variables that have already been set. In particular, if there is a variable in your `.env` file which collides with one that already exists in your environment, then that variable will be skipped.
|
||||
|
||||
If instead, you want to override `process.env` use the `override` option.
|
||||
|
||||
```javascript
|
||||
require('dotenv').config({ override: true })
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>How can I prevent committing my `.env` file to a Docker build?</summary><br/>
|
||||
|
||||
Use the [docker prebuild hook](https://dotenvx.com/docs/features/prebuild?utm_source=github&utm_medium=readme&utm_campaign=motdotla-dotenv&utm_content=docs-prebuild).
|
||||
|
||||
```bash
|
||||
# Dockerfile
|
||||
...
|
||||
RUN curl -fsS https://dotenvx.sh/ | sh
|
||||
...
|
||||
RUN dotenvx prebuild
|
||||
CMD ["dotenvx", "run", "--", "node", "index.js"]
|
||||
```
|
||||
|
||||
</details>
|
||||
<details><summary>How come my environment variables are not showing up for React?</summary><br/>
|
||||
|
||||
Your React code is run in Webpack, where the `fs` module or even the `process` global itself are not accessible out-of-the-box. `process.env` can only be injected through Webpack configuration.
|
||||
|
||||
If you are using [`react-scripts`](https://www.npmjs.com/package/react-scripts), which is distributed through [`create-react-app`](https://create-react-app.dev/), it has dotenv built in but with a quirk. Preface your environment variables with `REACT_APP_`. See [this stack overflow](https://stackoverflow.com/questions/42182577/is-it-possible-to-use-dotenv-in-a-react-project) for more details.
|
||||
|
||||
If you are using other frameworks (e.g. Next.js, Gatsby...), you need to consult their documentation for how to inject environment variables into the client.
|
||||
|
||||
</details>
|
||||
<details><summary>Why is the `.env` file not loading my environment variables successfully?</summary><br/>
|
||||
|
||||
Most likely your `.env` file is not in the correct place. [See this stack overflow](https://stackoverflow.com/questions/42335016/dotenv-file-is-not-loading-environment-variables).
|
||||
|
||||
Turn on debug mode and try again..
|
||||
|
||||
```js
|
||||
require('dotenv').config({ debug: true })
|
||||
```
|
||||
|
||||
You will receive a helpful error outputted to your console.
|
||||
|
||||
</details>
|
||||
<details><summary>Why am I getting the error `Module not found: Error: Can't resolve 'crypto|os|path'`?</summary><br/>
|
||||
|
||||
You are using dotenv on the front-end and have not included a polyfill. Webpack < 5 used to include these for you. Do the following:
|
||||
|
||||
```bash
|
||||
npm install node-polyfill-webpack-plugin
|
||||
```
|
||||
|
||||
Configure your `webpack.config.js` to something like the following.
|
||||
|
||||
```js
|
||||
require('dotenv').config()
|
||||
|
||||
const path = require('path');
|
||||
const webpack = require('webpack')
|
||||
|
||||
const NodePolyfillPlugin = require('node-polyfill-webpack-plugin')
|
||||
|
||||
module.exports = {
|
||||
mode: 'development',
|
||||
entry: './src/index.ts',
|
||||
output: {
|
||||
filename: 'bundle.js',
|
||||
path: path.resolve(__dirname, 'dist'),
|
||||
},
|
||||
plugins: [
|
||||
new NodePolyfillPlugin(),
|
||||
new webpack.DefinePlugin({
|
||||
'process.env': {
|
||||
HELLO: JSON.stringify(process.env.HELLO)
|
||||
}
|
||||
}),
|
||||
]
|
||||
};
|
||||
```
|
||||
|
||||
Alternatively, just use [dotenv-webpack](https://github.com/mrsteele/dotenv-webpack) which does this and more behind the scenes for you.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
||||
## Docs
|
||||
|
||||
Dotenv exposes four functions:
|
||||
|
||||
* `config`
|
||||
* `parse`
|
||||
* `populate`
|
||||
|
||||
### Config
|
||||
|
||||
`config` will read your `.env` file, parse the contents, assign it to
|
||||
[`process.env`](https://nodejs.org/docs/latest/api/process.html#process_process_env),
|
||||
and return an Object with a `parsed` key containing the loaded content or an `error` key if it failed.
|
||||
|
||||
```js
|
||||
const result = dotenv.config()
|
||||
|
||||
if (result.error) {
|
||||
throw result.error
|
||||
}
|
||||
|
||||
console.log(result.parsed)
|
||||
```
|
||||
|
||||
You can additionally, pass options to `config`.
|
||||
|
||||
#### Options
|
||||
|
||||
##### path
|
||||
|
||||
Default: `path.resolve(process.cwd(), '.env')`
|
||||
|
||||
Specify a custom path if your file containing environment variables is located elsewhere.
|
||||
|
||||
```js
|
||||
require('dotenv').config({ path: '/custom/path/to/.env' })
|
||||
```
|
||||
|
||||
By default, `config` will look for a file called .env in the current working directory.
|
||||
|
||||
Pass in multiple files as an array, and they will be parsed in order and combined with `process.env` (or `option.processEnv`, if set). The first value set for a variable will win, unless the `options.override` flag is set, in which case the last value set will win. If a value already exists in `process.env` and the `options.override` flag is NOT set, no changes will be made to that value.
|
||||
|
||||
```js
|
||||
require('dotenv').config({ path: ['.env.local', '.env'] })
|
||||
```
|
||||
|
||||
##### quiet
|
||||
|
||||
Default: `false`
|
||||
|
||||
Suppress runtime logging message.
|
||||
|
||||
```js
|
||||
// index.js
|
||||
require('dotenv').config({ quiet: false }) // change to true to suppress
|
||||
console.log(`Hello ${process.env.HELLO}`)
|
||||
```
|
||||
|
||||
```ini
|
||||
# .env
|
||||
HELLO=World
|
||||
```
|
||||
|
||||
```sh
|
||||
$ node index.js
|
||||
Hello World
|
||||
```
|
||||
|
||||
##### encoding
|
||||
|
||||
Default: `utf8`
|
||||
|
||||
Specify the encoding of your file containing environment variables.
|
||||
|
||||
```js
|
||||
require('dotenv').config({ encoding: 'latin1' })
|
||||
```
|
||||
|
||||
##### debug
|
||||
|
||||
Default: `false`
|
||||
|
||||
Turn on logging to help debug why certain keys or values are not being set as you expect.
|
||||
|
||||
```js
|
||||
require('dotenv').config({ debug: process.env.DEBUG })
|
||||
```
|
||||
|
||||
##### override
|
||||
|
||||
Default: `false`
|
||||
|
||||
Override any environment variables that have already been set on your machine with values from your .env file(s). If multiple files have been provided in `option.path` the override will also be used as each file is combined with the next. Without `override` being set, the first value wins. With `override` set the last value wins.
|
||||
|
||||
```js
|
||||
require('dotenv').config({ override: true })
|
||||
```
|
||||
|
||||
##### processEnv
|
||||
|
||||
Default: `process.env`
|
||||
|
||||
Specify an object to write your environment variables to. Defaults to `process.env` environment variables.
|
||||
|
||||
```js
|
||||
const myObject = {}
|
||||
require('dotenv').config({ processEnv: myObject })
|
||||
|
||||
console.log(myObject) // values from .env
|
||||
console.log(process.env) // this was not changed or written to
|
||||
```
|
||||
|
||||
### Parse
|
||||
|
||||
The engine which parses the contents of your file containing environment
|
||||
variables is available to use. It accepts a String or Buffer and will return
|
||||
an Object with the parsed keys and values.
|
||||
|
||||
```js
|
||||
const dotenv = require('dotenv')
|
||||
const buf = Buffer.from('BASIC=basic')
|
||||
const config = dotenv.parse(buf) // will return an object
|
||||
console.log(typeof config, config) // object { BASIC : 'basic' }
|
||||
```
|
||||
|
||||
#### Options
|
||||
|
||||
##### debug
|
||||
|
||||
Default: `false`
|
||||
|
||||
Turn on logging to help debug why certain keys or values are not being set as you expect.
|
||||
|
||||
```js
|
||||
const dotenv = require('dotenv')
|
||||
const buf = Buffer.from('hello world')
|
||||
const opt = { debug: true }
|
||||
const config = dotenv.parse(buf, opt)
|
||||
// expect a debug message because the buffer is not in KEY=VAL form
|
||||
```
|
||||
|
||||
### Populate
|
||||
|
||||
The engine which populates the contents of your .env file to `process.env` is available for use. It accepts a target, a source, and options. This is useful for power users who want to supply their own objects.
|
||||
|
||||
For example, customizing the source:
|
||||
|
||||
```js
|
||||
const dotenv = require('dotenv')
|
||||
const parsed = { HELLO: 'world' }
|
||||
|
||||
dotenv.populate(process.env, parsed)
|
||||
|
||||
console.log(process.env.HELLO) // world
|
||||
```
|
||||
|
||||
For example, customizing the source AND target:
|
||||
|
||||
```js
|
||||
const dotenv = require('dotenv')
|
||||
const parsed = { HELLO: 'universe' }
|
||||
const target = { HELLO: 'world' } // empty object
|
||||
|
||||
dotenv.populate(target, parsed, { override: true, debug: true })
|
||||
|
||||
console.log(target) // { HELLO: 'universe' }
|
||||
```
|
||||
|
||||
#### options
|
||||
|
||||
##### Debug
|
||||
|
||||
Default: `false`
|
||||
|
||||
Turn on logging to help debug why certain keys or values are not being populated as you expect.
|
||||
|
||||
##### override
|
||||
|
||||
Default: `false`
|
||||
|
||||
Override any environment variables that have already been set.
|
||||
|
||||
|
||||
|
||||
## CHANGELOG
|
||||
|
||||
See [CHANGELOG.md](CHANGELOG.md)
|
||||
|
||||
|
||||
|
||||
## Who's using dotenv?
|
||||
|
||||
[These npm modules depend on it.](https://www.npmjs.com/browse/depended/dotenv)
|
||||
|
||||
Projects that expand it often use the [keyword "dotenv" on npm](https://www.npmjs.com/search?q=keywords:dotenv).
|
||||
1
node_modules/dotenv/SECURITY.md
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
Please report any security vulnerabilities to security@dotenvx.com.
|
||||
1
node_modules/dotenv/config.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
export {};
|
||||
9
node_modules/dotenv/config.js
generated
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
(function () {
|
||||
require('./lib/main').config(
|
||||
Object.assign(
|
||||
{},
|
||||
require('./lib/env-options'),
|
||||
require('./lib/cli-options')(process.argv)
|
||||
)
|
||||
)
|
||||
})()
|
||||
17
node_modules/dotenv/lib/cli-options.js
generated
vendored
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
const re = /^dotenv_config_(encoding|path|quiet|debug|override|DOTENV_KEY)=(.+)$/
|
||||
|
||||
module.exports = function optionMatcher (args) {
|
||||
const options = args.reduce(function (acc, cur) {
|
||||
const matches = cur.match(re)
|
||||
if (matches) {
|
||||
acc[matches[1]] = matches[2]
|
||||
}
|
||||
return acc
|
||||
}, {})
|
||||
|
||||
if (!('quiet' in options)) {
|
||||
options.quiet = 'true'
|
||||
}
|
||||
|
||||
return options
|
||||
}
|
||||
28
node_modules/dotenv/lib/env-options.js
generated
vendored
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
// ../config.js accepts options via environment variables
|
||||
const options = {}
|
||||
|
||||
if (process.env.DOTENV_CONFIG_ENCODING != null) {
|
||||
options.encoding = process.env.DOTENV_CONFIG_ENCODING
|
||||
}
|
||||
|
||||
if (process.env.DOTENV_CONFIG_PATH != null) {
|
||||
options.path = process.env.DOTENV_CONFIG_PATH
|
||||
}
|
||||
|
||||
if (process.env.DOTENV_CONFIG_QUIET != null) {
|
||||
options.quiet = process.env.DOTENV_CONFIG_QUIET
|
||||
}
|
||||
|
||||
if (process.env.DOTENV_CONFIG_DEBUG != null) {
|
||||
options.debug = process.env.DOTENV_CONFIG_DEBUG
|
||||
}
|
||||
|
||||
if (process.env.DOTENV_CONFIG_OVERRIDE != null) {
|
||||
options.override = process.env.DOTENV_CONFIG_OVERRIDE
|
||||
}
|
||||
|
||||
if (process.env.DOTENV_CONFIG_DOTENV_KEY != null) {
|
||||
options.DOTENV_KEY = process.env.DOTENV_CONFIG_DOTENV_KEY
|
||||
}
|
||||
|
||||
module.exports = options
|
||||
179
node_modules/dotenv/lib/main.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,179 @@
|
|||
// TypeScript Version: 3.0
|
||||
/// <reference types="node" />
|
||||
import type { URL } from 'url';
|
||||
|
||||
export interface DotenvParseOutput {
|
||||
[name: string]: string;
|
||||
}
|
||||
|
||||
export interface DotenvPopulateOutput {
|
||||
[name: string]: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses a string or buffer in the .env file format into an object.
|
||||
*
|
||||
* See https://dotenvx.com/docs
|
||||
*
|
||||
* @param src - contents to be parsed. example: `'DB_HOST=localhost'`
|
||||
* @returns an object with keys and values based on `src`. example: `{ DB_HOST : 'localhost' }`
|
||||
*/
|
||||
export function parse<T extends DotenvParseOutput = DotenvParseOutput>(
|
||||
src: string | Buffer
|
||||
): T;
|
||||
|
||||
export interface DotenvConfigOptions {
|
||||
/**
|
||||
* Default: `path.resolve(process.cwd(), '.env')`
|
||||
*
|
||||
* Specify a custom path if your file containing environment variables is located elsewhere.
|
||||
* Can also be an array of strings, specifying multiple paths.
|
||||
*
|
||||
* example: `require('dotenv').config({ path: '/custom/path/to/.env' })`
|
||||
* example: `require('dotenv').config({ path: ['/path/to/first.env', '/path/to/second.env'] })`
|
||||
*/
|
||||
path?: string | string[] | URL;
|
||||
|
||||
/**
|
||||
* Default: `utf8`
|
||||
*
|
||||
* Specify the encoding of your file containing environment variables.
|
||||
*
|
||||
* example: `require('dotenv').config({ encoding: 'latin1' })`
|
||||
*/
|
||||
encoding?: string;
|
||||
|
||||
/**
|
||||
* Default: `false`
|
||||
*
|
||||
* Suppress all output (except errors).
|
||||
*
|
||||
* example: `require('dotenv').config({ quiet: true })`
|
||||
*/
|
||||
quiet?: boolean;
|
||||
|
||||
/**
|
||||
* Default: `false`
|
||||
*
|
||||
* Turn on logging to help debug why certain keys or values are not being set as you expect.
|
||||
*
|
||||
* example: `require('dotenv').config({ debug: process.env.DEBUG })`
|
||||
*/
|
||||
debug?: boolean;
|
||||
|
||||
/**
|
||||
* Default: `false`
|
||||
*
|
||||
* Override any environment variables that have already been set on your machine with values from your .env file.
|
||||
*
|
||||
* example: `require('dotenv').config({ override: true })`
|
||||
*/
|
||||
override?: boolean;
|
||||
|
||||
/**
|
||||
* Default: `process.env`
|
||||
*
|
||||
* Specify an object to write your secrets to. Defaults to process.env environment variables.
|
||||
*
|
||||
* example: `const processEnv = {}; require('dotenv').config({ processEnv: processEnv })`
|
||||
*/
|
||||
processEnv?: DotenvPopulateInput;
|
||||
|
||||
/**
|
||||
* Default: `undefined`
|
||||
*
|
||||
* Pass the DOTENV_KEY directly to config options. Defaults to looking for process.env.DOTENV_KEY environment variable. Note this only applies to decrypting .env.vault files. If passed as null or undefined, or not passed at all, dotenv falls back to its traditional job of parsing a .env file.
|
||||
*
|
||||
* example: `require('dotenv').config({ DOTENV_KEY: 'dotenv://:key_1234…@dotenvx.com/vault/.env.vault?environment=production' })`
|
||||
*/
|
||||
DOTENV_KEY?: string;
|
||||
}
|
||||
|
||||
export interface DotenvConfigOutput {
|
||||
error?: DotenvError;
|
||||
parsed?: DotenvParseOutput;
|
||||
}
|
||||
|
||||
type DotenvError = Error & {
|
||||
code:
|
||||
| 'MISSING_DATA'
|
||||
| 'INVALID_DOTENV_KEY'
|
||||
| 'NOT_FOUND_DOTENV_ENVIRONMENT'
|
||||
| 'DECRYPTION_FAILED'
|
||||
| 'OBJECT_REQUIRED';
|
||||
}
|
||||
|
||||
export interface DotenvPopulateOptions {
|
||||
/**
|
||||
* Default: `false`
|
||||
*
|
||||
* Turn on logging to help debug why certain keys or values are not being set as you expect.
|
||||
*
|
||||
* example: `require('dotenv').populate(processEnv, parsed, { debug: true })`
|
||||
*/
|
||||
debug?: boolean;
|
||||
|
||||
/**
|
||||
* Default: `false`
|
||||
*
|
||||
* Override any environment variables that have already been set on your machine with values from your .env file.
|
||||
*
|
||||
* example: `require('dotenv').populate(processEnv, parsed, { override: true })`
|
||||
*/
|
||||
override?: boolean;
|
||||
}
|
||||
|
||||
export interface DotenvPopulateInput {
|
||||
[name: string]: string | undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads `.env` file contents into process.env by default. If `DOTENV_KEY` is present, it smartly attempts to load encrypted `.env.vault` file contents into process.env.
|
||||
*
|
||||
* See https://dotenvx.com/docs
|
||||
*
|
||||
* @param options - additional options. example: `{ path: './custom/path', encoding: 'latin1', quiet: false, debug: true, override: false }`
|
||||
* @returns an object with a `parsed` key if successful or `error` key if an error occurred. example: { parsed: { KEY: 'value' } }
|
||||
*
|
||||
*/
|
||||
export function config(options?: DotenvConfigOptions): DotenvConfigOutput;
|
||||
|
||||
/**
|
||||
* Loads `.env` file contents into process.env.
|
||||
*
|
||||
* See https://dotenvx.com/docs
|
||||
*
|
||||
* @param options - additional options. example: `{ path: './custom/path', encoding: 'latin1', quiet: false, debug: true, override: false }`
|
||||
* @returns an object with a `parsed` key if successful or `error` key if an error occurred. example: { parsed: { KEY: 'value' } }
|
||||
*
|
||||
*/
|
||||
export function configDotenv(options?: DotenvConfigOptions): DotenvConfigOutput;
|
||||
|
||||
/**
|
||||
* Loads `source` json contents into `target` like process.env.
|
||||
*
|
||||
* See https://dotenvx.com/docs
|
||||
*
|
||||
* @param processEnv - the target JSON object. in most cases use process.env but you can also pass your own JSON object
|
||||
* @param parsed - the source JSON object
|
||||
* @param options - additional options. example: `{ debug: true, override: false }`
|
||||
* @returns an object with the keys and values that were actually set
|
||||
*
|
||||
*/
|
||||
export function populate(
|
||||
processEnv: DotenvPopulateInput,
|
||||
parsed: DotenvPopulateInput,
|
||||
options?: DotenvPopulateOptions
|
||||
): DotenvPopulateOutput;
|
||||
|
||||
/**
|
||||
* Decrypt ciphertext
|
||||
*
|
||||
* See https://dotenvx.com/docs
|
||||
*
|
||||
* @param encrypted - the encrypted ciphertext string
|
||||
* @param keyStr - the decryption key string
|
||||
* @returns {string}
|
||||
*
|
||||
*/
|
||||
export function decrypt(encrypted: string, keyStr: string): string;
|
||||