尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗The complete FLOW web app, installable as a Progressive Web App. All files must stay together at the repo root (they reference each other with relative paths) — do not nest them in a subfolder.
index.html — the app itself (points at the production Supabase
project siqntfkpdstikrqffmep). Built from src/ — do not edit it
directly: change the file in src/ and run node tools/build.js
(see src/README.md). Both are committed; the tests
fail if they ever differ.src/ — the source of index.html, one file per part of the app
(pages, modals, styles, and the JavaScript by area: sync, ROB,
planner, loadings, deals…). Not deployed.tools/build.js — joins src/ into index.html (plain Node, no
dependencies). Not deployed.manifest.json — PWA metadata (name, icons, theme color)service-worker.js — caches the app shell (network-first) and the
exact-version-pinned CDN libraries (cache-first) so the app can open
offline; Supabase calls and Google Fonts always go straight to the networkvercel.json — security headers (Content-Security-Policy etc.) and the
SPA rewriteicon-192.png, icon-512.png — app icons for install/home screensupabase_role_setup.sql — database setup to run in the Supabase SQL
Editor (roles).index.html, manifest.json,
service-worker.js, vercel.json, the icons — not src/ or tools/)
are the file set that should be mirrored into the
Android project's www/ folder (flow-apk-project-fixed/flow-apk/www/
in FLOW---ANDROID) so the two never drift out of sync. That copy is
NOT an offline fallback: the Android app loads the live deployed URL
via capacitor.config.ts (server.url), and Capacitor never falls
back to the bundled www/ when that URL is unreachable. Offline launch
relies on the service worker cache (app shell + pinned CDN libraries).vercel.json sets a Content-Security-Policy. Any NEW external origin
(a CDN, API, font or image host, iframe source) must be added to the
matching directive there (script-src, connect-src, frame-src…),
or the browser will block it. CDN libraries must use exact-version
URLs (e.g. @2.117.3, not @2) so they are cacheable offline;
supabase-js and EmailJS also carry SRI integrity hashes, which must
be recomputed when bumping their versions.Each nomination card has an IMO box and an MMSI box ("IMO Number / MMSI *" — at least one is wanted).
{{IMO}} and {{MMSI}}. The nomination and
cancellation e-mails list both when filled in.tests/ holds a browser test suite (Playwright, headless Chromium) that
loads index.html against a fake Supabase — the real project is never
contacted. See tests/README.md for what it covers and
how to run it: cd tests && npm ci && npx playwright install chromium && npm test..github/workflows/test.yml) runs it on every push and
pull request; a red X on a commit means a test failed (logs are attached to
the run).tests/, src/, tools/ and .github/ are development-only (and supabase/
is server code): .vercelignore and _config.yml keep them off the live site,
and they should not be copied into the Android www/ folder.