尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗WebApp para acompanhar o tempo restante dos trajes (corpo, arma e cabeça) de cada personagem, com aviso quando um traje está prestes a expirar. Cada utilizador só vê os seus próprios trajes; existe uma conta de administrador que gere os utilizadores (não há registo público).
É uma app 100% estática (HTML/CSS/JS, sem build), pronta para o GitHub Pages, com autenticação e base de dados no Firebase (plano gratuito Spark).
Notification do browser, por isso só
funcionam enquanto a página está aberta num separador (não há push quando a
app está fechada, pois isso exigiria um backend/service worker próprio).</>).firebaseConfig que aparece e cola-o em
js/firebase-config.js, substituindo os valores
de exemplo. Estes valores não são secretos — a segurança é garantida pelas
regras do Firestore, não por esconder esta configuração.No Firebase Console, vai a Firestore Database > Regras e cola o conteúdo
de firestore.rules deste repositório, depois clica em
Publicar.
(Se preferires usar a Firebase CLI: firebase deploy --only firestore:rules.)
Como não há registo público, a primeira conta (admin) cria-se manualmente:
users (se ainda não
existir) e dentro dela um documento com o ID igual ao User UID copiado,
com os campos:
email (string) — o mesmo email da conta criadadisplayName (string) — nome a mostrar, ex: "Admin"role (string) — admindisabled (boolean) — falseA partir daqui, esta conta consegue entrar na app e usar o separador Administração para criar os restantes utilizadores diretamente pela interface (não precisas de repetir este processo manual para os outros).
main e a pasta / (root).https://<utilizador>.github.io/Metin2-Costumes-tracker/).Também podes simplesmente abrir o index.html localmente no
browser para testar antes de publicar.
users/{uid}
email: string
displayName: string
role: "admin" | "user"
disabled: boolean
createdAt: timestamp
costumes/{id}
ownerUid: string
character: string
type: "body" | "weapon" | "head"
description: string
endAt: timestamp // momento exato em que o traje expira
sectionId: string | null
createdAt: timestamp
sections/{id}
ownerUid: string
character: string
name: string
isDefault: boolean // true só na secção "Geral", automática por personagem
order: number
createdAt: timestamp
characters/{id}
ownerUid: string
name: string
order: number
createdAt: timestamp
As notificações do browser disparam quando falta menos de 1 dia para um traje expirar (fixo, não configurável por traje), repetindo a cada hora cheia se a opção "Repetir avisos a cada hora" estiver ligada (preferência guardada no browser, por utilizador).