CoOp:Anything
게임을 검색해 협동 플레이 가능한 모드·단계·품질·커뮤니티 평점을 확인합니다
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 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).