尚未检测到更新。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).