{"version":3,"file":"static/js/main.b94f5055.js","mappings":"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AAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,IAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,IAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,IAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,IAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,IAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,IAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,IAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,GACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,IAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,GACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,GACN,KAAM,EACN,KAAM,EACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,ICrkCD,SAASy0H,IAAc,QAAEriJ,EAAO,OAAEmuC,EAAM,QAAEhsB,EAAO,KAAEisB,IACxD,OACE/xB,EAAAA,GAAAA,MAAC9B,GAAY,CAACva,QAASA,EAAQ2Z,SAAA,EAC7B0C,EAAAA,GAAAA,MAACrB,GAAgB,CAAArB,SAAA,EACfP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,OAAMsB,SACpB9d,EAAI,kEAEPud,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,QAAQkB,MAAO,CAAEqC,WAAY,IAAKjC,SAChD9d,EAAI,oEAGTwgB,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOk2B,gBAAgB70B,SAAA,EAClCP,EAAAA,GAAAA,KAAC+G,GAAe,CACdlG,QAASk0B,EACT50B,MAAOjB,GAAOm2B,gBACdtuC,MAActE,EAAPuyC,EAAW,sDAA6D,yDAC/E7vB,WAAY,CAAEL,kBAAmB,GAAIhJ,MAAOC,GAAOhG,cAErDiK,EAAAA,GAAAA,KAAC4G,GAAa,CACZ/F,QAASkI,EACT5I,MAAOjB,GAAOo2B,cACdvuC,MAAOtE,EAAI,uDACX0iB,WAAY,CAAEL,kBAAmB,WAK3C,CAEA,MAAM5F,GAASsB,EAAAA,QAAWC,OAAO,CAC/B20B,gBAAiB,CACf/4B,cAAe,GACfmK,cAAe,MACf3D,WAAY,SACZkR,SAAU,OACVjP,kBAAmB,EACnB/B,eAAgB,gBAElBsyB,gBAAiB,CACfx2B,YAAa9C,GAAOhG,UACpBqH,YAAa,EACb0H,kBAAmB,EACnBrI,MAAO,KAET64B,cAAe,CACb3yB,gBAAiB5G,GAAOhG,UACxBoH,WAAY,EACZ2H,kBAAmB,EACnBrI,MAAO,OCtBI,SAASuhG,IAAkB,KAAEx3G,EAAI,SAAE0iJ,EAAQ,SAAE14G,IAC3D,MAAMzU,GAAQ3F,EAAAA,EAAAA,YACRzwB,GAAO+iB,EAAAA,EAAAA,cAAYzhB,GAASA,EAAMtB,OAClCkB,EAAOk1B,EAAMh5B,QAAQ8D,KACrBsiJ,EAAa3iJ,GAAMqhJ,QACnB1xF,GAAgB1vB,EAAAA,EAAAA,QAAO,OAEtB2iH,EAAeC,IAAoBp0H,EAAAA,EAAAA,UAAS,CAAC,IAC7C65D,EAAkBC,IAAuB95D,EAAAA,EAAAA,WAAS,IAClDq0H,EAAYC,IAAiBt0H,EAAAA,EAAAA,WAAS,IACtCk7B,EAAaC,IAAkBn7B,EAAAA,EAAAA,UAAU,GAAEtvB,EAAKmyD,OAAS,OACzDzH,EAAUC,IAAer7B,EAAAA,EAAAA,UAAStvB,EAAKizD,eACvC4wF,EAAaC,IAAkBx0H,EAAAA,EAAAA,WAAS,IACxC5S,EAASo/B,IAAcxsB,EAAAA,EAAAA,WAAS,IAChCy0H,EAAWC,IAAgB10H,EAAAA,EAAAA,UAAS,CAC1CpuB,OACA6yC,MAAO,KACPtlC,YAAa,KACbrN,MAAO,GACP+B,KAAM,GACN4iD,eAAgB,KAChBmB,WAAY,KACZM,KAAM,GACNy8F,UAAW,EACXC,YAAa,EACbC,YAAa,EACbC,YAAa,EACblC,SAAS,EACTmC,WAAW,EACXC,cAAc,EACd57I,OAAQ,KAEF67I,EAAkBC,IAAuBl1H,EAAAA,EAAAA,WAAS,IAClDm1H,EAAwBC,IAA6Bp1H,EAAAA,EAAAA,WAAS,IAC9DtF,EAAO6c,IAAYvX,EAAAA,EAAAA,UAAS,OAC5Bq1H,EAAeC,IAAoBt1H,EAAAA,EAAAA,WAAS,IAC5CkjC,EAAWC,IAAgBnjC,EAAAA,EAAAA,WAAS,IACpC02D,EAAS6+D,IAAcv1H,EAAAA,EAAAA,WAAS,GAEjCw1H,EAAej5H,KAAKk7B,MAAM,IAAIl7B,OAAWA,KAAKk7B,MAAM,IAAIl7B,KAAK,KAAM,GAAI,GAAI,KASjF,SAASk5H,EAAgBlkJ,GACxBmjJ,GAAc1iJ,GAAKE,OAAAC,OAAA,GAAWH,EAAUT,IACzC,CAOA,SAASmkJ,IACRhB,GAAcrjG,GAASn/C,OAAAC,OAAA,GAAWk/C,EAAU,CAACuhG,SAAUvhG,EAAUuhG,WAClE,EAlBAj9H,EAAAA,EAAAA,YAAU,KACLpkB,IACHgkJ,GAAW,GACXE,EAAgBlkJ,GACjB,GACE,CAACA,IA6BJ,MAAMgzC,EAAc3uC,UACnB,MAAMrE,EAAOkjJ,EAMb,OALI/5H,IAAOnpB,EAAKkzC,YAActI,GAAYzhB,EAAO,EAAG,cACpDnpB,EAAKklD,eAAiBk/F,GAAYpkJ,EAAKqmD,aAAelnD,EAAKu0C,gBAC3D1zC,EAAKK,KAAOA,EACZL,EAAKO,MAAQP,EAAKO,MAAMpE,OACxB6D,EAAKsC,KAAOtC,EAAKsC,KAAKnG,OACf6D,CAAI,EAQNqkJ,EAAehgJ,gBACd+kB,GAAW,CAACkoC,MAAO3H,EAAayI,aAAcvI,UAC9C64F,EAAS1iJ,GACX2iJ,IAAe3iJ,EAAKqhJ,SAAYrhJ,EAAKqhJ,SACxC59I,EAAMyG,SAASlB,IAA0B,IAE1CiyC,GAAW,GACXnjB,YAAW,IAAMmjB,GAAW,IAAQ,KAAK,EAsC1C,MAAM16C,EACHtE,EADW+D,EACP,uCACK,UAATK,EACI,6CACA,6CAqBP,SAASikJ,EAActkJ,GACtB,MAAM2oF,EAAS,CAAC,EAehB,MAdmB,KAAf3oF,EAAKO,QAAcooF,EAAOpoF,OAAQ,GACpB,KAAdP,EAAKsC,OAAaqmF,EAAOrmF,MAAO,GAClB,KAAdtC,EAAK2mD,OAAagiC,EAAOhiC,MAAO,IACR,IAAxB3mD,EAAKklD,iBAA0ByjC,EAAO47D,qBAAsB,GAC3DvkJ,EAAKqmD,aAAYsiC,EAAOtiC,YAAa,GACtCrmD,EAAKqhJ,UAAYrhJ,EAAKwjJ,YAAW76D,EAAO66D,WAAY,GACpDxjJ,EAAKwjJ,YACH75F,IAAag/B,EAAOr3B,OAAQ,IAE7B3B,EAAcziD,QAAQmmB,YAC1Bs1D,EAAO67D,cAAe,GAGvB3B,EAAiBl6D,GACqB,IAA/BhoF,OAAOsrC,KAAK08C,GAAQrnF,MAC5B,CAEA,SAAS8E,EAAM/F,GACd,OACCmZ,EAAAA,GAAAA,KAAClB,GAAU,CAACqB,MAAOjB,GAAOhG,UAAW+F,KAAM,QAAQsB,SACjD9d,EAAI,0CAA4CoE,IAGpD,CAoBA,OACCoc,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOmT,UAAU9R,SAAA,EAC7BP,EAAAA,GAAAA,KAAClB,GAAU,CAACqB,MAAOjB,GAAO+rI,WAAW1qI,SAAExZ,KAEvCkc,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAO47B,qBAAqBv6B,SAAA,EACxCP,EAAAA,GAAAA,KAACgB,GAAAA,QAAS,CAACkB,kBAAkB,SAASrB,QAASA,IAAMu3C,GAAa,GAAOj4C,MAAO,CAAC1D,MAAO,IAAKoG,WAAY,UAAUtC,UAClHP,EAAAA,GAAAA,KAAC+D,GAAU,CAACjhB,KAAK,cAAcmhB,KAAM,GAAI9D,MAAO,CAACxC,UAAW,WAAYkF,WAAY,iBAErF7C,EAAAA,GAAAA,KAACitB,GAAW,CACXuC,UAAQ,EACRhD,SAAUA,EACViE,aAAci5G,GAAWt1I,YAAc/H,EAAMT,eAAiB89I,EAAUt1I,YAAc,KACtFo8B,SArKJ,WACChE,EAAS,MACTk+G,EAAgB,CAAEhxG,MAAO,KAAMtlC,YAAa,MAC7C,QAuKE4L,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAM,YAAakB,MAAOjB,GAAOyK,UAAUpJ,SACrD9d,EAAI,4CAENud,EAAAA,GAAAA,KAACgb,GAAY,CACZtU,mBAAoBjkB,EAAI,oDACxBgxB,kBAAmBhxB,EAAI,6CACvBo4B,YAAap4B,EAAI,oDACjB82B,MAAOmwH,EAAU3iJ,MACjByyB,aAAe1yB,GAAS4jJ,EAAgB,CAAE3jJ,MAAOD,MAEjDsiJ,EAAcriJ,OAAS6F,EAAM,UAE9BoT,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAM,YAAakB,MAAOjB,GAAOyK,UAAUpJ,SACrD9d,EAAI,kDAENud,EAAAA,GAAAA,KAACgb,GAAY,CACZtU,mBAEGjkB,EADM,SAAToE,EACO,6DACA,+DAEP4sB,kBAAmBhxB,EAAI,mDACvBo4B,YAEGp4B,EADM,SAAToE,EACO,6DACA,+DAEPkyB,WAAS,EACTQ,MAAOmwH,EAAU5gJ,KACjB0wB,aAAe1yB,GAAS4jJ,EAAgB,CAAE5hJ,KAAMhC,MAEhDsiJ,EAActgJ,MAAQ8D,EAAM,SAE7BoT,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAM,YAAakB,MAAOjB,GAAOyK,UAAUpJ,SACrD9d,EAAI,4CAENud,EAAAA,GAAAA,KAACkwC,GAAgB,CAChB3kB,IAAK4qB,EACLh2C,MAAO,CAACwJ,UAAW,GACnBjD,mBAAoBjkB,EAAI,yCACxBgxB,kBAAmBhxB,EAAI,6CACvBo4B,YAAap4B,EAAI,oDACjB0tD,YAAaA,EACbC,eAAgBA,EAChBC,SAAUA,EACVC,YAAaA,IAEb84F,EAActxF,OAASlrD,EAAM,SAC7Bw8I,EAAc4B,cAAgBp+I,EAAM,iBAErCqW,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAO,CAACjB,GAAOm/B,IAAKn/B,GAAOyK,WAAWpJ,SAAA,EAC3C0C,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAO,CAAE2C,KAAM,EAAG1F,YAAa,GAAImD,SAAA,EACxCP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAM,YAAYsB,SAC5B9d,EAAI,iDAENud,EAAAA,GAAAA,KAACgb,GAAY,CACZtU,mBAAoBjkB,EAAI,8CACxBgxB,kBAAmBhxB,EAAI,kDACvBo4B,YAAap4B,EAAI,8CACjBoxD,OAAQpxD,EAAI,8CACZ82B,MAAOmwH,EAAU78F,YAAY7hC,WAC7BsvC,UAAU,UACV9gC,aA/IL3uB,eAAsCgiD,GAErC,GAA0B,KAD1BA,EAAaA,EAAWnqD,QAAQ,UAAW,KAC5BoF,OAAc,CAC5B,MAAMqlD,QAAa60B,GAAqCn1B,QAC3CzoC,IAAT+oC,GAAoBu9F,EAAgB,CAAEv9F,QAC3C,CACAu9F,EAAgB,CAAE79F,cACnB,EAyIK9R,UAAW,IAEXquG,EAAcv8F,YAAcjgD,EAAM,cAClCw8I,EAAc2B,qBAAuBn+I,EAAM,2BAE7CqW,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAO,CAAE2C,KAAM,EAAG3F,WAAY,GAAIoD,SAAA,EACvCP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAM,YAAYsB,SAC5B9d,EAAI,2CAENud,EAAAA,GAAAA,KAACgb,GAAY,CACZtU,mBAAoBjkB,EAAI,wCACxBgxB,kBAAmBhxB,EAAI,4CACvBo4B,YAAap4B,EAAI,wCACjBoxD,OAAQpxD,EAAI,wCACZ82B,MAAOmwH,EAAUv8F,KACjB3zB,aAAe1yB,IACf4jJ,EAAgB,CAAEv9F,KAAMrmD,GAAO,IAG/BsiJ,EAAcj8F,MAAQvgD,EAAM,eAI/BoT,EAAAA,GAAAA,KAAClB,GAAU,CAACqB,MAAOjB,GAAOyK,UAAW1K,KAAM,YAAYsB,SACrD9d,EAAI,mDAENwgB,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAO,CAACjB,GAAOm/B,IAAKn/B,GAAOyK,WAAWpJ,SAAA,EAC3C0C,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAAAlB,SAAA,EACJP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAM,YAAakB,MAAOjB,GAAOgsI,YAAY3qI,SACvD9d,EAAI,6CAENud,EAAAA,GAAAA,KAAC+oI,GAAY,CACZriI,mBAAoBjkB,EAAI,0CACxBgxB,kBAAmBhxB,EAAI,8CACvB82B,MAAOmwH,EAAUE,UACjBrmH,cA1KL,SAA+BqmH,GAC1BA,EAAY,GAChBc,EAAgB,CAAEd,aACnB,QA2KG3mI,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAAAlB,SAAA,EACJP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAM,YAAakB,MAAOjB,GAAOgsI,YAAY3qI,SACvD9d,EAAI,+CAENud,EAAAA,GAAAA,KAAC+oI,GAAY,CACZriI,mBAAoBjkB,EAAI,4CACxBgxB,kBAAmBhxB,EAAI,gDACvB82B,MAAOmwH,EAAUG,YACjBtmH,cAAgBhK,GAAUmxH,EAAgB,CAAEb,YAAatwH,YAKlD,SAAT1yB,IACAoc,EAAAA,GAAAA,MAAAwc,GAAAA,SAAA,CAAAlf,SAAA,EACCP,EAAAA,GAAAA,KAAClB,GAAU,CAACqB,MAAOjB,GAAOyK,UAAW1K,KAAM,YAAYsB,SACrD9d,EAAI,mDAENwgB,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAO,CAACjB,GAAOm/B,IAAKn/B,GAAOyK,WAAWpJ,SAAA,EAC3C0C,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAAAlB,SAAA,EACJP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAM,YAAakB,MAAOjB,GAAOgsI,YAAY3qI,SACvD9d,EAAI,6CAENud,EAAAA,GAAAA,KAAC+oI,GAAY,CACZriI,mBAAoBjkB,EAAI,0CACxBgxB,kBAAmBhxB,EAAI,8CACvB82B,MAAOmwH,EAAUI,YACjBvmH,cApMP,SAAiCumH,GAC5BA,EAAc,GAClBY,EAAgB,CAAEZ,eACnB,QAoMK7mI,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAAAlB,SAAA,EACJP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAM,YAAakB,MAAOjB,GAAOgsI,YAAY3qI,SACvD9d,EAAI,+CAENud,EAAAA,GAAAA,KAAC+oI,GAAY,CACZriI,mBAAoBjkB,EAAI,4CACxBgxB,kBAAmBhxB,EAAI,gDACvB82B,MAAOmwH,EAAUK,YACjBxmH,cAAgBhK,GAChBmxH,EAAgB,CAAEX,YAAaxwH,eAQnC/yB,IACAyc,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOw3D,kBAAkBn2D,SAAA,EACrCP,EAAAA,GAAAA,KAAC0yB,GAAY,CACZnZ,MAA4B,IAArBmwH,EAAUr7I,OACjBk1B,cAnTL,WACComH,GAAcrjG,GAASn/C,OAAAC,OAAA,GACnBk/C,EAAU,CACbj4C,OAA6B,IAArBi4C,EAAUj4C,OAAe,GAAK,KAExC,EA+SK8R,MAAO,CAAE/C,YAAa,OAEvB4C,EAAAA,GAAAA,KAAClB,GAAU,CAAAyB,SAET9d,EACC,oCACAinJ,EAAUr7I,OAAS,EAAI,UAAY,gBAOvCo8I,IACAxnI,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAO,CAAEqU,aAAc,IAAKjU,SAAA,EACjC0C,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOw3D,kBAAkBn2D,SAAA,EACrCP,EAAAA,GAAAA,KAACg0B,GAAQ,CAACC,SAAUy1G,EAAU7B,QAAShnI,QAAS8pI,KAChD1nI,EAAAA,GAAAA,MAACnE,GAAU,CACV4H,mBAAoBjkB,EAAI,+CACxB0d,MAAO,CAAE2C,KAAM,EAAGvF,aAAc,IAAKgD,SAAA,CAEpC9d,EAAI,gDACLud,EAAAA,GAAAA,KAACkU,GAAAA,QAAgB,CAChBhS,kBAAkB,SAClBwE,mBAAoBjkB,EAAI,oDACxBoe,QAASA,IAAMwpI,GAA0B,GAAM9pI,UAE/CP,EAAAA,GAAAA,KAAC+D,GAAU,CAACjhB,KAAK,cAAcmhB,KAAM,GAAI9D,MAAO,CAAE7C,YAAa,EAAG0H,IAAK,cAI1E/B,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOw3D,kBAAkBn2D,SAAA,EACrCP,EAAAA,GAAAA,KAACg0B,GAAQ,CAACC,QAASy1G,EAAU7B,QAAShnI,QAAS8pI,KAC/C1nI,EAAAA,GAAAA,MAACnE,GAAU,CACV4H,mBAAoBjkB,EAAI,2CACxBgxB,kBAAmBhxB,EAAI,+CACvB0d,MAAO,CAAE2C,KAAM,GAAIvC,SAAA,CAElB9d,EAAI,4CACLud,EAAAA,GAAAA,KAACkU,GAAAA,QAAgB,CAChBhS,kBAAkB,SAClBwE,mBAAoBjkB,EAAI,gDACxBoe,QAASA,IAAMspI,GAAoB,GAAM5pI,UAEzCP,EAAAA,GAAAA,KAAC+D,GAAU,CAACjhB,KAAK,cAAcmhB,KAAM,GAAI9D,MAAO,CAAE7C,YAAa,EAAG0H,IAAK,iBAO5E/B,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOw3D,kBAAkBn2D,SAAA,EACrCP,EAAAA,GAAAA,KAACg0B,GAAQ,CAACC,QAASy1G,EAAUM,UAAWnpI,QA/W3C,WACC8oI,GAAcrjG,GAASn/C,OAAAC,OAAA,GACnBk/C,EAAU,CACb0jG,WAAY1jG,EAAU0jG,aAExB,KA2WGhqI,EAAAA,GAAAA,KAAClB,GAAU,CACV4H,mBAAoBjkB,EAAK,6CAA4CoE,KACrE4sB,kBAAmBhxB,EAAI,iDACvB0d,MAAO,CAAE2C,KAAM,GAAIvC,SAElB9d,EAAK,6CAA4CoE,UAInDuiJ,EAAcY,WAAap9I,EAAM,cAElCqW,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAO,CAACjB,GAAOm/B,IAAKn/B,GAAOyK,WAAWpJ,SAAA,CAC1CiwB,IACAxwB,EAAAA,GAAAA,KAAC4G,GAAa,CACbukI,kBAAmB1oJ,EAAI,0CACvBsE,MAAOtE,EAAI,0CACX0d,MAAO,CAAEwC,gBAAiB5G,GAAO9C,iBACjC4H,QAASA,IAAMkuE,GAAoB,MAGrC/uE,EAAAA,GAAAA,KAAC4G,GAAa,CACb7f,MAAOtE,EAAK,oCAAkC+D,EAAO,cAAgB,WACrE2kJ,kBAAmB1oJ,EAAK,oCAAkC+D,EAAO,cAAgB,WACjFqa,QApVJhW,iBACC81B,GAAAA,QAAS5X,UACTwgI,GAAc,GACd,MAAM/iJ,QAAagzC,IAEnB,GADcsxG,EAActkJ,GACjB,CACV,IAAKmpB,IAAUnpB,EAAKqhJ,WAAa6B,GAAWt1I,cAAgBs1I,GAAWhwG,OACtE,OAAO6wG,GAAiB,SAEnBM,EAAarkJ,EACpB,MACCijJ,GAAe,GACfnrH,YAAW,IAAMmrH,GAAe,IAAQ,MAEzCF,GAAc,EACf,EAsUI35I,QAAS05I,EACTjnI,QAASA,EACTzV,MAAO48I,YArUV,GA2UCxpI,EAAAA,GAAAA,MAlRF,WACC,OACCiD,EAAAA,GAAAA,MAAC9B,GAAY,CAACva,QAASkoF,EAAiBvuE,SAAA,EACvCP,EAAAA,GAAAA,KAAC4B,GAAgB,CAAArB,UAChBP,EAAAA,GAAAA,KAAClB,GAAU,CAAAyB,SACT9d,EAAI,mDAGPud,EAAAA,GAAAA,KAACgC,GAAY,CAACnB,QAASA,IAAM2vB,EAASk5G,EAAUzhJ,IAAIsY,SAClD9d,EAAI,yBAENud,EAAAA,GAAAA,KAACgC,GAAY,CAACnB,QAASA,IAAMkuE,GAAoB,GAAOxuE,SACtD9d,EAAI,yBAIT,GAkQe,KAEbud,EAAAA,GAAAA,KAACipI,GAAa,CACbriJ,QAAS0jJ,EACTv1G,OA7W4BlqC,UAC9B,MAAMrE,QAAagzC,IACLsxG,EAActkJ,SACXqkJ,EAAarkJ,IAE7BijJ,GAAe,GACfnrH,YAAW,IAAMmrH,GAAe,IAAQ,OAEzCc,GAAiB,GACjBhB,GAAc,EAAM,EAqWlBxgI,QA7XqBqiI,KACvB7B,GAAc,GACdgB,GAAiB,EAAM,EA4XrBv1G,KAAM22C,KAGP3rE,EAAAA,GAAAA,KAACmB,GAAY,CAACva,QAASuxD,EAAW/2C,UAAWA,IAAMg3C,GAAa,GAAO73C,UACtE0C,EAAAA,GAAAA,MAACrB,GAAgB,CAAArB,SAAA,EAChBP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,QAAOsB,SACtB9d,EAAI,gDAENud,EAAAA,GAAAA,KAAC4G,GAAa,CACb/F,QAASA,IAAMu3C,GAAa,GAC5Bj4C,MAAO,CAAEwC,gBAAiB5G,GAAOhG,UAAW4T,UAAW,IACvD5iB,MAAOtE,EAAI,aACX0iB,WAAY,CAAEL,kBAAmB,GAAInK,SAAU,YAKlDqF,EAAAA,GAAAA,KAACgpI,GAAW,CACXpiJ,QAASsjJ,EACT1yH,MAAOA,IAAM2yH,GAAoB,GACjCpjJ,MAAOtE,EAAI,oDACXgzB,YAAahzB,EAAI,kDAGlBud,EAAAA,GAAAA,KAACgpI,GAAW,CACXpiJ,QAASwjJ,EACT5yH,MAAOA,IAAM6yH,GAA0B,GACvCtjJ,MAAOtE,EAAI,wDACXgzB,YAAahzB,EAAI,uDAIrB,CAEA,MAAMyc,GAASsB,EAAAA,QAAWC,OAAO,CAChCi2D,kBAAmB,CAClB7zD,WAAY,SACZ2D,cAAe,MACfzD,eAAgB,aAChB4G,UAAW,IAEZ0I,UAAW,CACV1U,UAAW,SACX6W,aAAc,GACd/W,SAAUC,GAAOb,cAAgB,OAAS,IAC1CiI,kBAAmB,GACnBrI,MAAO,QAERyuI,YAAa,CACZ12H,aAAc,EACd7K,UAAW,GACXtJ,UAAW,UAEZnH,UAAW,CACV4C,MAAOC,GAAOzG,IACdqU,UAAW,GAEZshI,WAAY,CACXvwI,WAAY,cACZC,SAAU,GACVwB,WAAY,GACZmY,eAAgB,GAChBjU,UAAW,UAEZy6B,qBAAsB,CACrBnZ,QAAS,OACT9e,WAAY,UAEb8G,UAAW,CACVA,UAAW,IAEZ00B,IAAK,CACJ73B,cAAe,MACfzD,eAAgB,kBCzjBH,SAASsoI,KACtB,OACErrI,EAAAA,GAAAA,KAACoS,GAAa,CAAA7R,UACZP,EAAAA,GAAAA,KAACg+F,GAAiB,CAACkrC,SAAU78H,MAGnC,CCDe,SAASi/H,GAAwBvsI,GAC9C,MAAMvY,GAAOkiB,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMV,UAAUC,OAiBpD,OACEwZ,EAAAA,GAAAA,KAACoS,GAAa,CAAA7R,UACZP,EAAAA,GAAAA,KAACg+F,GAAiB,CAChBx3G,KAAMA,EACN0iJ,SAnBNr+I,eAA4B0gJ,GAC1BA,EAAc1kJ,KAAOL,EAAKK,MACML,EAAKmL,QAAQ/O,MAAM,EAAE,IAAK,IAAI4uB,MAAOkW,eAA0C,IAAzB6jH,EAAcl9I,aAE5Fge,GAAoBk/H,SACpB9+H,GAAoB8+H,KAE1BxsI,EAAMkX,WAAWxiB,SAAS,mBAE9B,EAWM+8B,SATN3lC,eAA4B5C,GAC1B,OAAO8kB,GAAoB9kB,EAC7B,KAWF,CCzBe,SAASujJ,KACtB,MAAOC,EAAqBC,IAA0Bz2H,EAAAA,EAAAA,WAAS,IACxD02H,EAAgBC,IAAqB32H,EAAAA,EAAAA,WAAS,IAC9C42H,EAAiBC,IAAsB72H,EAAAA,EAAAA,WAAS,IAChD82H,EAAcC,IAAmB/2H,EAAAA,EAAAA,WAAS,IAC1Cg3H,EAAeC,IAAoBj3H,EAAAA,EAAAA,WAAS,IAC5Ck3H,EAAkBC,IAAuBn3H,EAAAA,EAAAA,WAAS,IAClDo3H,EAAmBC,IAAwBr3H,EAAAA,EAAAA,WAAS,GACrDgB,GAAaC,EAAAA,EAAAA,iBAEb4xH,EAAaA,EAAG/gJ,QAAO+B,OAAM+X,UAAS61C,WAAUokC,WAElD73E,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOmT,UAAU9R,SAAA,EAC5B0C,EAAAA,GAAAA,MAACtC,GAAe,CACdE,QAASA,EACTV,MAAO,CAAEqG,cAAe,MAAOzD,eAAgB,iBAAkBxC,SAAA,EAEjEP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,OAAOiD,kBAAkB,SAAS,aAAY,EAAE3B,SAC9DxZ,KAEHiZ,EAAAA,GAAAA,KAAC+D,GAAU,CACTjhB,KAAM4zD,EAAW,aAAe,eAChCzyC,KAAMrJ,GAAUnS,OAGnBiuD,IAAY12C,EAAAA,GAAAA,KAAClB,GAAU,CAACqB,MAAO,CAAEwJ,UAAW,IAAKpJ,SAAEzX,IACnD4tD,GAAYokC,IACX96E,EAAAA,GAAAA,KAACW,GAAe,CAACE,QAASA,IAAMoV,EAAWxiB,SAAS,WAAW8M,UAC7DP,EAAAA,GAAAA,KAAClB,GAAU,CAACqB,MAAO,CAAErE,MAAOC,GAAOlG,KAAM8T,UAAW,GAAIpJ,SACrDu6E,SAQb,OACE73E,EAAAA,GAAAA,MAACmP,GAAa,CAAA7R,SAAA,EACZP,EAAAA,GAAAA,KAAC8nI,EAAU,CACT/gJ,MAAOtE,EAAI,yCACXqG,KAAMrG,EAAI,oCACVoe,QAASA,IAAM6qI,GAAwBD,GACvC/0F,SAAU+0F,KAGZzrI,EAAAA,GAAAA,KAAC8nI,EAAU,CACT/gJ,MAAOtE,EAAI,oCACXqG,KAAMrG,EAAI,+BACVoe,QAASA,IAAM+qI,GAAmBD,GAClCj1F,SAAUi1F,KAGZ3rI,EAAAA,GAAAA,KAAC8nI,EAAU,CACT/gJ,MAAOtE,EAAI,qCACXqG,KAAMrG,EAAI,gCACVoe,QAASA,IAAMirI,GAAoBD,GACnCn1F,SAAUm1F,KAGZ7rI,EAAAA,GAAAA,KAAC8nI,EAAU,CACT/gJ,MAAOtE,EAAI,kCACXqG,KAAMrG,EAAI,6BACVoe,QAASA,IAAMmrI,GAAiBD,GAChCr1F,SAAUq1F,KAGZ/rI,EAAAA,GAAAA,KAAC8nI,EAAU,CACT/gJ,MAAOtE,EAAI,mCACXqG,KAAMrG,EAAI,8BACVoe,QAASA,IAAMqrI,GAAkBD,GACjCv1F,SAAUu1F,KAGZjsI,EAAAA,GAAAA,KAAC8nI,EAAU,CACT/gJ,MAAOtE,EAAI,sCACXqG,KAAMrG,EAAI,iCACVoe,QAASA,IAAMurI,GAAqBD,GACpCz1F,SAAUy1F,KAGZnsI,EAAAA,GAAAA,KAAC8nI,EAAU,CACT/gJ,MAAOtE,EAAI,uCACXqG,KAAMrG,EAAI,kCACVq4F,KAAMr4F,EAAI,oCACVoe,QAASA,IAAMyrI,GAAsBD,GACrC31F,SAAU21F,MAIlB,CAEA,MAAMntI,GAASsB,EAAAA,QAAWC,OAAO,CAC/B4R,UAAW,CACT1U,UAAW,SACXgF,gBAAiB5G,GAAO5G,MACxBwU,UAAW,GACXlM,SAAUC,GAAOb,cAAgB,MAAQ,MACzC0X,QAAS,GACT9X,MAAO,OACP8B,aAAc,KCrGH,SAASguI,KACtB,MACM7iJ,EAAgB,UADTgf,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMV,WAAWC,KAAKK,OAEpDihJ,EAAaA,EAAG/gJ,QAAO+B,OAAMmwD,UAASx0C,OAAM3I,YAChD,MAAM6lD,EAAY1I,EAAU,YAAc,mBAC1C,OACEh2C,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAO,CAACjB,GAAOwxF,cAAexxF,GAAOyiD,IAAYphD,SAAA,EACrDP,EAAAA,GAAAA,KAACyB,EAAAA,QAAI,CAACtB,MAAO,CAACjB,GAAOs0B,cAAe91B,GAAOb,cAAgB,CAAC,EAAI,CAAEiG,KAAM,IAAKvC,UAC3EP,EAAAA,GAAAA,KAAC+D,GAAU,CACTjhB,KAAM2hB,EACN3I,MAAOA,EACPmI,KAAMvG,GAAOb,cAAgB,IAAM,IACnCsD,MAAO,CAAEmU,eAAgB,IACzBtQ,OAAO,WAGXf,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOzC,GAAOb,cAAgB,CAAC,EAAI,CAAEiG,KAAM,GAAIvC,SAAA,EACnDP,EAAAA,GAAAA,KAACi+H,GAAO,CAACjG,MAAO,EAAEz3H,SACfxZ,KAEHiZ,EAAAA,GAAAA,KAAClB,GAAU,CAAAyB,SAAEzX,SAEV,EAIX,OACEkX,EAAAA,GAAAA,KAACoS,GAAa,CAAA7R,SACX7W,GACCuZ,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOmT,UAAU9R,SAAA,EAC5BP,EAAAA,GAAAA,KAAC8nI,EAAU,CACT/gJ,MAAOtE,EAAI,0CACXqG,KAAMrG,EAAI,yCACVgiB,KAAK,YACL3I,MAAOC,GAAOzG,OAEhB0K,EAAAA,GAAAA,KAAC8nI,EAAU,CACT/gJ,MAAOtE,EAAI,gDACXqG,KAAMrG,EAAI,2CACVgiB,KAAK,YACL3I,MAAOC,GAAOlG,KACdojD,SAAO,KAETj5C,EAAAA,GAAAA,KAAC8nI,EAAU,CACT/gJ,MAAOtE,EAAI,6CACXqG,KAAMrG,EAAI,wCACVgiB,KAAK,gBACL3I,MAAOC,GAAOzF,YAIlB2M,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOmT,UAAU9R,SAAA,EAC5BP,EAAAA,GAAAA,KAAC8nI,EAAU,CACT/gJ,MAAOtE,EAAI,0CACXqG,KAAMrG,EAAI,0CACVgiB,KAAK,YACL3I,MAAOC,GAAOzG,OAGhB0K,EAAAA,GAAAA,KAAC8nI,EAAU,CACT/gJ,MAAOtE,EAAI,8CACXqG,KAAMrG,EAAI,yCACVgiB,KAAK,gBACL3I,MAAOC,GAAOlG,KACdojD,SAAO,KAGTj5C,EAAAA,GAAAA,KAAC8nI,EAAU,CACT/gJ,MAAOtE,EAAI,iDACXqG,KAAMrG,EAAI,4CACVgiB,KAAK,QACL3I,MAAOC,GAAOzF,YAM1B,CAEA,MAAM4I,GAASsB,EAAAA,QAAWC,OAAO,CAC/B4R,UAAW,CACT5U,SAAUC,GAAOX,aACjBY,UAAW,SACXkF,WAAY,SACZpG,MAAOiB,GAAOb,cAAgB,MAAQ,QAExC22B,cAAe,CACb3wB,WAAY,UAEd6tF,cAAe,CACb7tF,WAAY,SACZyR,eAAgB,GAChB7W,SAAU,QAEZkkD,UAAW,CACTn7C,cAAe9I,GAAOb,cAAgB,SAAW,OAEnDqrI,iBAAkB,CAChB1hI,cAAe9I,GAAOb,cAAgB,SAAW,iBCpGtC,SAAS2vI,KACvB,OACCxsI,EAAAA,GAAAA,KAACoS,GAAa,CAAA7R,UACb0C,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOmT,UAAU9R,SAAA,EAC7BP,EAAAA,GAAAA,KAAClB,GAAU,CACVqB,MAAO,CAAEzF,WAAY,cAAeC,SAAUC,GAAUjG,IACxD,aAAY,EAAE4L,SAEb9d,EAAI,sCAENud,EAAAA,GAAAA,KAAClB,GAAU,CAAAyB,SAAE9d,EAAI,qCAEjBud,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,OAAOkB,MAAOjB,GAAO20C,OAAQ,aAAY,EAAEtzC,SAC1D9d,EAAI,iDAENwgB,EAAAA,GAAAA,MAACnE,GAAU,CAAAyB,SAAA,CACT9d,EAAI,wCACLud,EAAAA,GAAAA,KAACkU,GAAAA,QAAgB,CAChBrT,QAASA,IAAMuuC,GAAAA,QAAQC,QAAS,UAAS5sD,EAAI,qCAAqC8d,UAElFP,EAAAA,GAAAA,KAAClB,GAAU,CAACqB,MAAOjB,GAAO47E,KAAKv6E,SAC7B9d,EAAI,0CAIRwgB,EAAAA,GAAAA,MAACnE,GAAU,CAAAyB,SAAA,CACT9d,EAAI,wCACLud,EAAAA,GAAAA,KAACkU,GAAAA,QAAgB,CAACrT,QAASA,IAAMuuC,GAAAA,QAAQC,QAAS,kBAAqB9uC,UACtEP,EAAAA,GAAAA,KAAClB,GAAU,CAACqB,MAAOjB,GAAO47E,KAAKv6E,SAC7B9d,EAAI,0CAKRud,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,OAAOkB,MAAOjB,GAAO20C,OAAQ,aAAY,EAAEtzC,SAC1D9d,EAAI,kDAENud,EAAAA,GAAAA,KAAClB,GAAU,CAAAyB,SAAE9d,EAAI,4CAEjBud,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,OAAOkB,MAAOjB,GAAO20C,OAAQ,aAAY,EAAEtzC,SAC1D9d,EAAI,6CAENud,EAAAA,GAAAA,KAAClB,GAAU,CAAAyB,SAAE9d,EAAI,uCAEjBud,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,OAAOkB,MAAOjB,GAAO20C,OAAQ,aAAY,EAAEtzC,SAC1D9d,EAAI,mDAENud,EAAAA,GAAAA,KAAClB,GAAU,CAAAyB,SAAE9d,EAAI,6CACjBud,EAAAA,GAAAA,KAAClB,GAAU,CAACqB,MAAOjB,GAAOutI,QAAQlsI,SAChC9d,EAAI,4CAKV,CAEA,MAAMyc,GAASsB,EAAAA,QAAWC,OAAO,CAChC4R,UAAW,CACV1U,UAAW,SACXF,SAAUC,GAAOX,aACjBV,cAAe,GACfyI,kBAAmB,GACnBrI,MAAO,QAERo3C,OAAQ,CAAElqC,UAAW,IACrBmxE,KAAM,CAAEh/E,MAAOC,GAAOhG,WACtB02I,QAAS,CACRtwI,WAAYvB,GAAUjG,GACtBgV,UAAW,MC5DE,SAAS+iI,IAAc,KAAElmJ,EAAI,SAAEmzC,EAAQ,cAAEixD,IACtD,MAAM1lD,GAAYx8B,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMtB,KAAKsC,MAC7Cm+C,EAAUumG,IAAe13H,EAAAA,EAAAA,WAAS,GAWzC,OATArK,EAAAA,EAAAA,YAAU,KACR+hI,IAAcnmJ,GAAMw9C,cAAe,EAAM,GACxC,CAACx9C,IAOCA,GAGHyc,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOmT,UAAU9R,SAAA,EAC5BP,EAAAA,GAAAA,KAACyB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOqT,eAAehS,UACjCP,EAAAA,GAAAA,KAAC2iF,GAAqB,CACpB1+E,KAAK,QACLpd,KAAML,EAAKK,KACXuN,YAAa5N,EAAK4N,iBAItB6O,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAO2nC,gBAAgBtmC,SAAA,CACjCo5B,GAAYuL,IAAc1+C,EAAKuJ,SAC9BiQ,EAAAA,GAAAA,KAACW,GAAe,CAACE,QAAS84B,EAASp5B,UACjCP,EAAAA,GAAAA,KAAC+D,GAAU,CACTjhB,KAAK,OACL4jB,mBAAoBjkB,EAAI,yBACxBwhB,KAAMrJ,GAAUjG,OAKrBuwC,GAAaA,IAAc1+C,EAAKuJ,SAC/BiQ,EAAAA,GAAAA,KAAC8mC,GAAiB,CAChB7iC,KAAMvG,GAAOb,cAAgB,GAAK,GAClCmiC,WAAYoH,EACZrH,eAhCVl0C,uB9boDKA,eAAwCsD,EAAQi4C,GACrD,IAAIp5C,EAMJ,OAJEA,EADEo5C,QACUl5C,EAAU,CAAC,EAAI,2BAA0BiB,oBAEzClC,EAAQ,CAAC,EAAI,2BAA0BkC,cAE9CnB,CACT,C8b3DU4/I,CAAyBpmJ,EAAKyB,GAAIm+C,GACxCumG,GAAavmG,EACf,QAkCInjC,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAO4C,iBAAiBvB,SAAA,EACnC0C,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CACHtB,MAAO,CACLjB,GAAO2tI,UACP,CACEr4H,aAAc,KAEhBjU,SAAA,EAEFP,EAAAA,GAAAA,KAAC+D,GAAU,CACTjhB,KAAK,OACLmhB,KAAMrJ,GAAU9F,GAChBkP,OAAO,SAEThE,EAAAA,GAAAA,KAAClB,GAAU,CACTG,KAAM,YACNkB,MAAO,CAAErE,MAAOC,GAAOjC,SAAUqD,WAAY,GAAIoD,SAEhD/Z,EAAKyK,eAGV+O,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,YAAYiD,kBAAkB,SAAS,aAAY,EAAE3B,SACnE/Z,EAAKO,SAERiZ,EAAAA,GAAAA,KAAClB,GAAU,CAACqB,MAAO,CAAEwJ,UAAW,IAAKpJ,SAAE/Z,EAAKsC,QAC5Cma,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CACHtB,MAAO,CACLjB,GAAO2tI,UACP,CACEljI,UAAW,KAEbpJ,SAAA,EAEFP,EAAAA,GAAAA,KAAC+D,GAAU,CACTjhB,KAAK,iBACL4jB,mBAAoBjkB,EAAI,yBACxBwhB,KAAMrJ,GAAU9F,GAChBkP,OAAO,SAEThE,EAAAA,GAAAA,KAAClB,GAAU,CAACqB,MAAO,CAAEhD,WAAY,GAAIoD,SACd,IAApB/Z,EAAKqmD,WACFrmD,EAAK2mD,KAAO,IACZ3mD,EAAKqmD,WAAa,KAAOrmD,EAAK2mD,KAAO,OAExB,OAAlB3mD,EAAKg+B,WACJxkB,EAAAA,GAAAA,KAAClB,GAAU,CAAAyB,SACR9d,EAAI,iCAAkC,CACrC+hC,SAAUh+B,EAAKg+B,oBAOzBvhB,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CACHtB,MAAO,CACLwJ,UAAW,GACXnD,cAAe9I,GAAOb,cAAgB,SAAW,MACjDkG,eAAgB,gBAChBxC,SAAA,EAEF0C,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAO4/H,mBAAmBv+H,SAAA,EACrCP,EAAAA,GAAAA,KAAClB,GAAU,CACT4H,mBAAoB,SACpB,aAAY,EACZzH,KAAK,YACLkB,MAAOjB,GAAO4tI,YAAYvsI,SAEV,SAAd/Z,EAAKK,MACLL,EAAKojJ,UAAYpjJ,EAAKqjJ,cAAgB,GACzB,SAAdrjJ,EAAKK,MAAmBL,EAAKojJ,UAAYpjJ,EAAKqjJ,cAAgB,EAC3DpnJ,EAAI,wCACJA,EAAI,yCAEVwgB,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CACHtB,MAAO,CACLqG,cAAe,MACfzD,eAAgB,gBAChBxC,SAAA,EAEF0C,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAO6tI,eAAexsI,SAAA,EACjCP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,YAAYkB,MAAOjB,GAAO8tI,YAAYzsI,SACpD/Z,EAAKojJ,aAER5pI,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,YAAYkB,MAAOjB,GAAO+tI,WAAW1sI,SAChC,IAAnB/Z,EAAKojJ,UACFnnJ,EAAI,+BACJA,EAAI,sCAGZwgB,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAO6tI,eAAexsI,SAAA,EACjCP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,YAAYkB,MAAOjB,GAAO8tI,YAAYzsI,SACpD/Z,EAAKqjJ,eAER7pI,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,YAAYkB,MAAOjB,GAAO+tI,WAAW1sI,SAC9B,IAArB/Z,EAAKqjJ,YACFpnJ,EAAI,+BACJA,EAAI,6CAKD,SAAd+D,EAAKK,OACJoc,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAO,CAACjB,GAAO4/H,mBAAoB5/H,GAAOwD,QAAQnC,SAAA,EACtDP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,YAAYkB,MAAOjB,GAAO4tI,YAAYvsI,SACtC,SAAd/Z,EAAKK,MAAmBL,EAAKojJ,UAAYpjJ,EAAKqjJ,cAAgB,EAC3DpnJ,EAAI,4CACJA,EAAI,6CAEVwgB,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CACHtB,MAAO,CAAEqG,cAAe,MAAOzD,eAAgB,gBAAiBxC,SAAA,EAEhE0C,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAO6tI,eAAexsI,SAAA,EACjCP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,YAAYkB,MAAOjB,GAAO8tI,YAAYzsI,SACpD/Z,EAAKsjJ,eAER9pI,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,YAAYkB,MAAOjB,GAAO+tI,WAAW1sI,SAC9B,IAArB/Z,EAAKsjJ,YACFrnJ,EAAI,+BACJA,EAAI,sCAGZwgB,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAO6tI,eAAexsI,SAAA,EACjCP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,YAAYkB,MAAOjB,GAAO8tI,YAAYzsI,SACpD/Z,EAAKujJ,eAER/pI,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,YAAYkB,MAAOjB,GAAO+tI,WAAW1sI,SAC9B,IAArB/Z,EAAKujJ,YACFtnJ,EAAI,+BACJA,EAAI,gDAQnByiD,IAAc1+C,EAAKuJ,QAClBiQ,EAAAA,GAAAA,KAAC4G,GAAa,CACZzG,MAAO,CAAEwJ,UAAW,IACpB5iB,MAAOtE,EAAI,qCACXoe,QAAS+pF,KAGX5qF,EAAAA,GAAAA,KAACyB,EAAAA,QAAI,CACHtB,MAAO,CAAExC,UAAW,SAAUkF,WAAY,SAAU8G,UAAW,UAjLrD3J,EAAAA,GAAAA,KAACiY,GAAc,GAsLnC,CAEA,MAAM/Y,GAASsB,EAAAA,QAAWC,OAAO,CAC/BomC,gBAAiB,CACfxiC,SAAU,WACVU,MAAOrH,GAAOb,cAAgB,GAAK,GACnCmI,IAAKtH,GAAOb,cAAgB,GAAK,IAEnCwV,UAASlrB,OAAAC,OAAA,CACP0b,KAAM,GACHwU,GAA6B,CAChC/C,QAAS,KAEXzS,iBAAkB,CAChBa,gBAAiB5G,GAAO5G,MACxBoJ,aAAc,GACdoL,UAAW,GACX4K,QAAS,IAEXw4H,eAAgB,CACdpqI,gBAAiB5G,GAAOxD,WACxBgG,aAAc,EACd3B,OAAQ,GACR2X,QAAS,EACT9X,MAAO,IAETqwI,YAAa,CACXt4H,aAAc,EACdnU,UAAW,UAEb4sI,WAAY,CACVnxI,MAAOC,GAAOjC,SACduG,UAAW,UAEb2sI,YAAa,CACXrvI,UAAW,SACX7B,MAAOC,GAAOlG,KACd6E,WAAY,cACZC,SAAU,IAEZmkI,mBAAoB,CAClBn8H,gBAAiB5G,GAAO5G,MACxBoJ,aAAc,GACduE,KAAM,EACNyR,QAAS,IAEXhC,eAAgB,CAAE5U,UAAW,UAC7B+E,OAAQ,CACNvF,WAAYO,GAAOb,cAAgB,EAAI,GACvC8M,UAAWjM,GAAOb,cAAgB,GAAK,GAEzCgwI,UAAW,CACThqI,WAAY,SACZ2D,cAAe,SCjQJ,SAAS0mI,GAAoBnuI,GAC1C,MAAOvY,EAAMmwC,IAAW1hB,EAAAA,EAAAA,UAAS,MAC3B/H,GAAUxE,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMV,UAAUC,OAmCvD,OAjCAokB,EAAAA,EAAAA,YAAU,KACR2B,GAAiBxN,EAAMgd,MAAMh5B,OAAOkF,IAAI8E,KAAK4pC,EAAQ,GACpD,CAAC53B,EAAMgd,MAAMh5B,OAAOkF,MAgCrBgb,EAAAA,GAAAA,MAACmP,GAAa,CAAA7R,SAAA,EACZP,EAAAA,GAAAA,KAACk/B,GAAS,CAACn4C,MAAOP,GAAMO,SACxBiZ,EAAAA,GAAAA,KAAC0sI,GAAa,CACZlmJ,KAAMA,EACNokG,cAlCN//F,iBACE,MAAM9H,EAAS,CACb8P,WAAYrM,EAAKuJ,OACjB+C,yBAA0Boa,EAAQjlB,GAClC8K,wBAAyBvM,EAAKyB,IAE1BwK,QAAuBQ,GAAkBlQ,GAC3C0P,EACFsM,EAAMkX,WAAWxiB,SAAS,6BAA8B,CACtDtN,OAAQ,eACR8iB,SAAS,EACTlmB,OAAQ,CAAEkF,GAAIwK,KAGhBsM,EAAMkX,WAAWxiB,SAAS,6BAA8B,CACtDtN,OAAQ,eACR8iB,SAAS,EACTlmB,OAAMoE,OAAAC,OAAA,CAAIa,GAAI,OAAUlF,IAG9B,EAeM42C,SAbN,WACE56B,EAAMkX,WAAWxiB,SAAS,cAAe,CACvCtN,OAAQ,oBACRpD,OAAQ,CAAEkF,GAAIzB,EAAKyB,GAAIpB,KAAML,EAAKK,OAEtC,MAYF,CClDe,SAASsmJ,GAAqBpuI,GAC3C,MAAM1Y,GAASqiB,EAAAA,EAAAA,cAAYzhB,GAASA,EAAMZ,SA4C1C,OACE2Z,EAAAA,GAAAA,KAACoS,GAAa,CAAA7R,UACZP,EAAAA,GAAAA,KAACwlF,GAAa,CACZt/C,uBA7C0BzzC,IAC9BsM,EAAMkX,WAAWxhB,KAAK,eAAgB,CACpCxM,GAAIwK,GACJ,EA2CE2xF,SAxCYj2F,IAChB4Q,EAAMkX,WAAWxiB,SAAS,MAAO,CAC/BtN,OAAQ,YACR8iB,SAAS,EACTlmB,OAAQ,CACNoD,OAAQ,OACRpD,OAAQ,CAACkF,GAAIkG,KAEf,EAiCE81F,gBA9BmBxxF,IACvBsM,EAAMkX,WAAWxiB,SAAS,mBAAoB,CAC5CxL,GAAIwK,GACJ,EA4BE4xF,kBAzBN,SAA2Bp8F,GACzB8W,EAAMkX,WAAWxiB,SAAS,gBAAiB,CACzCtN,OAAQ,gBACR8iB,SAAS,EACTlmB,OAAQ,CAAEkF,OAEd,EAoBMq8F,UAlBar8F,IACjB8W,EAAMkX,WAAWxiB,SAAS,MAAO,CAC/BtN,OAAQE,GAAQyB,OAAS,EAAI,cAAgB,YAC7CmhB,SAAS,EACTlmB,OAAQ,CACNoD,OAAQ,QACRpD,OAAQ,CAAEkF,QAEZ,EAWEy9F,sBAAsB,KAI9B,CCvDe,SAAS0nD,IAAoB,QAAExmJ,EAAO,QAAEy6C,EAAO,QAAEt4B,EAAO,SAAE9X,IACvE,OACE+O,EAAAA,GAAAA,KAACmB,GAAY,CAACva,QAASA,EAAQ2Z,UAC7B0C,EAAAA,GAAAA,MAACrB,GAAgB,CAAArB,SAAA,EACbP,EAAAA,GAAAA,KAAClB,GAAU,CAACqB,MAAOjB,GAAOpY,KAAKyZ,SAC5B9d,EAAK,mCAAiCwO,EAAW,GAAK,WAAY,CAACA,gBAExE+O,EAAAA,GAAAA,KAAC4G,GAAa,CACZzG,MAAO,CAACjB,GAAO+C,OAAQ,CAAC0H,UAAW,KACnC5iB,MAAOtE,EAAK,kCAAgCwO,EAAW,GAAK,YAC5D4P,QAASwgC,KAEXrhC,EAAAA,GAAAA,KAAC+G,GAAe,CACd5G,MAAOjB,GAAO+C,OACdlb,MAAOtE,EAAK,kCAAgCwO,EAAW,GAAK,YAC5D4P,QAASkI,QAKnB,CAEA,MAAM7J,GAASsB,EAAAA,QAAWC,OAAO,CAC/B3Z,KAAM,CACJuZ,UAAW,UAEb4B,OAAQ,CACN0H,UAAW,GACXlN,MAAO,UCxBI,SAAS4wI,IAAiB,QAAEzmJ,EAAO,QAAEmiB,IAClD,OACE/I,EAAAA,GAAAA,KAACmB,GAAY,CAACva,QAASA,EAASwa,UAAW2H,EAAQxI,UACjD0C,EAAAA,GAAAA,MAACrB,GAAgB,CAAArB,SAAA,EACf0C,EAAAA,GAAAA,MAACnE,GAAU,CAAAyB,SAAA,CACR9d,EAAI,4CACLud,EAAAA,GAAAA,KAAC+D,GAAU,CAACjhB,KAAK,OAAOkhB,OAAO,MAAMlI,MAAOC,GAAOjV,KAAMmd,KAAM,MAC/DjE,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,OAAMsB,SAAC,cAE1BP,EAAAA,GAAAA,KAAC4G,GAAa,CAAC/F,QAASkI,EAAS5I,MAAOjB,GAAO+C,OAAO1B,SACnD9d,EAAI,mDAKf,CAEA,MAAMyc,GAASsB,EAAAA,QAAWC,OAAO,CAC/BwB,OAAQ,CACNxF,MAAO,OACPkN,UAAW,MCjBTw+H,GAAoCzqI,GAAOb,cAElC,SAASywI,KACtB,MAAM9E,GAAS9/H,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMV,UAAUC,OAChDE,GAAqBgiB,EAAAA,EAAAA,cACxBzhB,GAAUA,EAAMV,UAAUG,qBAG7B,IAAI2hJ,EA6CJ,SAAS7wH,IACPvtB,EAAMyG,SAASjB,IAA+B,GAChD,CAgCA,OA7EE44I,EADmB,SAAjBG,GAAQ3hJ,KACF,CACN,CACEE,MAAOtE,EAAI,0CACXqG,KAAMrG,EAAI,yCACVgiB,KAAM,YACN3I,MAAOC,GAAOzG,KAEhB,CACEvO,MAAOtE,EAAI,gDACXqG,KAAMrG,EAAI,2CACVgiB,KAAM,YACN3I,MAAOC,GAAOlG,MAEhB,CACE9O,MAAOtE,EAAI,6CACXqG,KAAMrG,EAAI,wCACVgiB,KAAM,gBACN3I,MAAOC,GAAOzF,QAIV,CACN,CACEvP,MAAOtE,EAAI,0CACXqG,KAAMrG,EAAI,0CACVgiB,KAAM,YACN3I,MAAOC,GAAOzG,KAEhB,CACEvO,MAAOtE,EAAI,8CACXqG,KAAMrG,EAAI,yCACVgiB,KAAM,gBACN3I,MAAOC,GAAOlG,MAEhB,CACE9O,MAAOtE,EAAI,iDACXqG,KAAMrG,EAAI,4CACVgiB,KAAM,QACN3I,MAAOC,GAAOzF,SAwClB0J,EAAAA,GAAAA,KAAC2B,GAAgB,CACf/a,SAAgC,IAAvBF,EACT0a,UAAWoW,EAAMjX,UAEjBP,EAAAA,GAAAA,KAAC69H,GAAc,CACb72I,KAAMqhJ,EACNpxH,WAAYA,EAAG7uB,UArCrB,SAAqBA,GACnB,OACE6a,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOwxF,cAAcnwF,SAAA,EAChCP,EAAAA,GAAAA,KAAC+D,GAAU,CACTjhB,KAAMsF,EAAKqc,KACX3I,MAAO1T,EAAK0T,MACZmI,KAAM,IACN9D,MAAO,CAAEwJ,UAAW,GAAI6K,aAAc,IACtCxQ,OAAO,SAETf,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOmV,cAAc9T,SAAA,EAChCP,EAAAA,GAAAA,KAAClB,GAAU,CACTqB,MAAO,CACLzF,WAAY,cACZC,SAAUwtI,GAAWvtI,GAAUhG,EAAIgG,GAAUjG,IAC7C4L,SAEDnY,EAAKrB,SAERiZ,EAAAA,GAAAA,KAAClB,GAAU,CACTG,KAAMkpI,GAAW,QAAU,KAC3BhoI,MAAO,CAAEwJ,UAAW,IAAKpJ,SAExBnY,EAAKU,YAKhB,CASgCw/I,CAAYlgJ,GACtCihH,YAAU,EACVtgG,QAASyO,KAIjB,CAEA,MAAMtY,GAASsB,EAAAA,QAAWC,OAAO,CAC/BiwF,cAAe,CACb7tF,WAAY,UAEdwR,cAAe,CACbvP,kBAAmB,MCvGR,SAASyoI,GAA4BxuI,GAClD,MAAMypI,GAAS9/H,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMV,UAAUC,QAC/CgnJ,EAAiBC,IAAsBx4H,EAAAA,EAAAA,WAAS,IAChDy4H,EAAYC,IAAiB14H,EAAAA,EAAAA,UAAS,OACtC24H,EAAgBC,IAAqB54H,EAAAA,EAAAA,WAAS,IAC9C64H,EAAgBC,IAAqB94H,EAAAA,EAAAA,WAAS,GAE/CrtB,GAAW8gB,EAAAA,EAAAA,cAAazhB,GAC5BgN,GAAqBhN,EAAOwT,SAASsE,EAAMgd,MAAMh5B,OAAOkF,OAGpDV,GAAemhB,EAAAA,EAAAA,cAAazhB,GAChCA,EAAMnB,cAAc4B,MACjB6I,GAAMA,EAAE5I,kBAAoB8S,SAASsE,EAAMgd,MAAMh5B,OAAOkF,QAI7D,SAASg+F,IACP,QAAS1+F,GAAc4M,iBACzB,EAEAyW,EAAAA,EAAAA,YAAU,KACJq7E,KAGNp7F,iBACE,GAAI+iJ,EAAgB,OACpB,MAAM1qG,Qpc2DHr4C,iBAEL,OAAOiC,EAAQ,2BADG7C,EAAMC,WAAW3D,UAAUC,KAAKyB,aAEpD,Coc9D0B+lJ,GAItB,GAHc9qG,EACX57C,KAAKmB,GAAMA,EAAEwkB,iBACb7D,SAAS7hB,EAAa4M,mBAGvB,YADA05I,GAAkB,GAGpB,MAAMI,EACJP,SpciCC7iJ,eAAoC4H,GACzC,OAAO3F,EAAQ,mCAAkC2F,UACnD,CocnC2By7I,CAAqBnvI,EAAMgd,MAAMh5B,OAAOkF,IAC/D0lJ,EAAcM,GACd,MAAME,EAAevmJ,EAASO,QAAQQ,IAASA,EAAI67F,kBAC/C2pD,EAAarmJ,QAAUmmJ,EAAMrmJ,SAAW,UpckCzCiD,eAAyC4H,EAAgB27I,GAE9D,OAAOvhJ,EADM,CAAEuhJ,gBACM,mCAAkC37I,UACzD,CocpCY47I,CACJtvI,EAAMgd,MAAMh5B,OAAOkF,GACnBkmJ,EAAarmJ,QAEf6lJ,EAAc,CAAE/lJ,SAAUumJ,EAAarmJ,SACvC2lJ,GAAmB,GAEvB,CAzBqBa,EAAY,GAC9B,CAAC1mJ,IA4DJ,OACEqb,EAAAA,GAAAA,MAACmP,GAAa,CAACvQ,UAAQ,EAAAtB,SAAA,EACrBP,EAAAA,GAAAA,KAAC8sF,GAAY,CACXwC,sBApBwBzkG,UAC5B,MAAM,yBAAEiI,EAAwB,wBAAEC,EAAuB,WAAEF,GACzDkM,EAAMgd,MAAMh5B,OACd,OAAO2P,GAAmB,CACxBG,WAAY4H,SAAS5H,GACrBC,yBAA0B2H,SAAS3H,GACnCC,wBAAyB0H,SAAS1H,IAClC,EAcEgpB,MAAOhd,EAAMgd,MACb9F,WAAYlX,EAAMkX,WAClBy1E,eA9BN,WACE3sF,EAAMkX,WAAWxiB,SAAS,mBAAoB,CAC5CxL,GAAI8W,EAAMgd,MAAMh5B,OAAOkF,GACvBukB,gBAAiBjlB,GAAc4M,mBAEnC,EA0BM07F,kBAdN,SAA2B9/F,GACzBgP,EAAMkX,WAAWxiB,SAAS,cAAe,CACvCxL,GAAI8H,EACJyc,gBAAiBjlB,GAAc4M,mBAEnC,IAWK8xF,MACChjF,EAAAA,GAAAA,MAAAwc,GAAAA,SAAA,CAAAlf,SAAA,EACEP,EAAAA,GAAAA,KAACotI,GAAmB,CAClBxmJ,QAAS4mJ,EACTnsG,QA/CVx2C,iBACE4iJ,GAAmB,SACbzgI,GAAazlB,EAAa4M,mBACZ,UAAhBq0I,EAAO3hJ,MAAkBknJ,GAAkB,EACjD,EA4CUhlI,QA1CV,WACE0kI,GAAmB,EACrB,EAyCUx8I,SAAU1J,GAAcuJ,aAAa,IAAIG,YAE3C+O,EAAAA,GAAAA,KAACqtI,GAAgB,CACfzmJ,QAASknJ,EACT/kI,QAASA,KACPglI,GAAkB,GAClB9jJ,EAAMyG,SAASjB,IAA+B,GAAM,KAGxDuQ,EAAAA,GAAAA,KAACstI,GAAgB,SAK3B,CC9He,SAASiB,GAAgCxvI,GAuBtD,OACEiB,EAAAA,GAAAA,KAACoS,GAAa,CAAA7R,UACZP,EAAAA,GAAAA,KAAC8wF,GAAY,CACX55E,eAxBY/oB,IAChB4Q,EAAMkX,WAAWxiB,SAAS,MAAO,CAC/BtN,OAAQ,YACR8iB,SAAS,EACTlmB,OAAQ,CACNoD,OAAQ,OACRpD,OAAQ,CAAEkF,GAAIkG,KAEhB,EAiBE4tB,MAAOhd,EAAMgd,MACbyyH,qBAAqB,EACrBz8C,wBAhBN,SAA2B9pG,GACzB8W,EAAMkX,WAAWxiB,SAAS,gBAAiB,CAAExL,MAC/C,EAeM4nG,kBAbN,SAA2B9/F,GACzBgP,EAAMkX,WAAWxiB,SAAS,cAAe,CACvCxL,GAAI8H,GAER,KAaF,CCxBe,SAAS0+I,GAAyB1vI,GAChD,MAAMhW,GAAY2f,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMtB,MAAMoD,YAE/C/B,EAAO,CACZ,CACC8B,KAAMrG,EAAI,8BACVgiB,KAAM,CAAE3hB,KAAM,eACd+d,QAASA,KAAQ9B,EAAMkX,WAAWxiB,SAAS,eAAe,GAE3D,CACC3K,KAAMrG,EAAI,sCACVgiB,KAAM,CAAE3hB,KAAM,cACd+d,QAASA,KAAQ9B,EAAMkX,WAAWxiB,SAAS,uBAAuB,GAEnE,CACC3K,KAAMrG,EAAI,qCACVgiB,KAAM,CAAE3hB,KAAM,iBACd+d,QAASA,KAAQ9B,EAAMkX,WAAWxiB,SAAS,sBAAsB,GAElE,CACC3K,KAAMrG,EAAI,4BACVgiB,KAAM,CAAE3hB,KAAM,aACd+d,QAASA,IAAMopC,GAAU59C,EAAML,aAAe,6BAE/C,CACClD,KAAMrG,EAAI,6BACVgiB,KAAM,CAAE3hB,KAAM,iBACd+d,QAASA,IAAMopC,GAAU59C,EAAML,aAAe,oCAE/C,CACClD,KAAMrG,EAAI,kCACVgiB,KAAM,CAAE3hB,KAAM,aACd+d,QAASA,KAAQ9B,EAAMkX,WAAWxiB,SAAS,UAAU,GAEtD,CACC3K,KAAMrG,EAAI,iBACVgiB,KAAM,CAAE3hB,KAAM,QACd+d,QAASA,KAAQ9B,EAAMkX,WAAWxiB,SAAS,UAAU,GAEtD,CACC3K,KAAMrG,EAAI,kBACVgiB,KAAM,CAAE3hB,KAAM,OACd+d,QAASA,KAAQ9B,EAAMkX,WAAWxiB,SAAS,WAAW,IAI5B,CACzB,MAAMu3C,EAAe,CACnBliD,KAAMrG,EAAI,eACVoe,QAASA,IAAMoqC,mBACfxmC,KAAM,CACJ3hB,KAAM,gBAKVkE,EAAKkkD,OAAOlkD,EAAKc,OAAS,EAAG,EAAGkjD,EAClC,CAyDA,OAvDAjiD,GAAW8H,SAASzK,IAClB,GAAsB,kBAAlBA,EAAStD,KAA0B,OACvC,MAAM4iJ,EAAe,CACnB58I,KAAMrG,EAAI,iBAAmB2D,EAASW,MACtC8Z,QAASA,KACP9B,EAAMkX,WAAWxhB,KAAK,WAAY,CAChCtO,OAAQ,oBACRpD,OAAQ,CACNoD,OAAQ,QACRpD,OAAQ,CACNqD,SAAUA,EAAStD,QAGvB,EAEJ2hB,KAAM,CACJ3hB,KAAM,UACNqjB,cAAc,IAGlBnf,EAAKkB,QAAQw9I,EAAa,IAG5B1+I,EAAKkB,QAAQ,CACXY,KAAMrG,EAAI,iBAAmBA,EAAI,2BACjCoe,QAAShW,UACU9B,EAAUrB,MAAMyjD,GAAqB,kBAAbA,EAAIroD,cACxBgnD,GAAiB,IACtC/qC,EAAMkX,WAAWxhB,KAAK,WAAY,CAChCtO,OAAQ,oBACRpD,OAAQ,CACNoD,OAAQ,WACR8iB,SAAS,EACTlmB,OAAQ,CACNqD,SAAU,mBAGd,EAEJqe,KAAM,CACJ3hB,KAAM,kBAIVkE,EAAKkB,QAAQ,CACXY,KAAMrG,EAAI,yBACVoe,QAASA,KACP9B,EAAMkX,WAAWxiB,SAAS,MAAM,EAElCgR,KAAM,CACJ3hB,KAAM,OACNqjB,cAAc,MAKhBlD,EAAAA,GAAAA,MAACmP,GAAa,CAACzP,gBAAiB5G,GAAOxD,WAAWgI,SAAA,EAC9CP,EAAAA,GAAAA,KAACk/B,GAAS,CAACn4C,MAAOqkD,GAAOnD,UAAUlhD,MAAMqkD,GAAOxD,SAChD5nC,EAAAA,GAAAA,KAACyB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOmT,UAAU9R,UAC5BP,EAAAA,GAAAA,KAAC2nC,GAAW,CAAC3gD,KAAMA,QAI7B,CAEA,MAAMkY,GAASsB,EAAAA,QAAWC,OAAO,CACjC4R,UAAW,CACV1U,UAAW,SACXlB,MAAO,OACPgB,SAAUwf,GAAOlgB,gBCpIH,SAAS2xI,IAAkB,QAAE9nJ,EAAO,QAAEy6C,EAAO,QAAEt4B,IAC5D,MAAM+D,GAAQpE,EAAAA,EAAAA,aAAYxU,IAW1B,OACE8L,EAAAA,GAAAA,KAACmB,GAAY,CAACva,QAASA,EAASwa,UAAW2H,EAAQxI,UACjD0C,EAAAA,GAAAA,MAACrB,GAAgB,CAAArB,SAAA,EACfP,EAAAA,GAAAA,KAAClB,GAAU,CAACqB,MAAOjB,GAAOnY,MAAMwZ,SAC7B9d,EAAI,0CAEPud,EAAAA,GAAAA,KAAC6W,GAAAA,QAAQ,CAAC7vB,KAAM8lB,EAAOmK,WAf7B,UAAwB,KAAE7uB,IACxB,OACE6a,EAAAA,GAAAA,MAACtC,GAAe,CAACR,MAAOjB,GAAOwxF,cAAe7vF,QAASA,IAAMwgC,EAAQj5C,EAAKH,IAAIsY,SAAA,EAC5EP,EAAAA,GAAAA,KAAC2iF,GAAqB,CAACvuF,YAAahM,EAAKgM,YAAavN,KAAMuB,EAAKvB,KAAMod,KAAK,WAC5EjE,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,QAAQkB,MAAOjB,GAAOyxF,SAASpwF,SAAEnY,EAAKrB,UAG7D,QAYF,CAEA,MAAMmY,GAASsB,EAAAA,QAAWC,OAAO,CAC/B1Z,MAAO,CACLsZ,UAAW,SACXmU,aAAc,IAEhBk8E,cAAe,CACblqF,cAAe,MACf3D,WAAY,SACZyR,eAAgB,GAElBq8E,SAAU,CACRxzF,WAAY,MCnBD,SAASwxI,KACtB,MAAMnG,GAAS9/H,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMV,UAAUC,OAChDV,GAAgB4iB,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMnB,iBAC5CgnB,EAAOgJ,IAAYb,EAAAA,EAAAA,UAAS,KAC5B25H,EAAmBC,IAAwB55H,EAAAA,EAAAA,WAAS,IACpD65H,EAAiBC,IAAsB95H,EAAAA,EAAAA,WAAS,IAChD64H,EAAgBC,IAAqB94H,EAAAA,EAAAA,WAAS,GAwCrDpqB,eAAemkJ,EAAeC,GAE5B,GADgCzG,EAAO72I,QAAQ/O,MAAM,EAAE,IAAK,IAAI4uB,MAAOkW,eAAiBunH,EAEtF,OAAO5iI,GAAoBm8H,GAE7B,MAAMn6I,EAAS4gJ,EAAO,GAAK,QACrBxiI,GAAoB,CAAEpe,WACvB4gJ,GAAMJ,GAAqB,EAClC,CAsBA,OApEAlhF,EAAAA,EAAAA,iBACErkC,EAAAA,EAAAA,cAAY,MAKdz+B,iBACE,MAAMiiB,EAAQ,GACd,IAAK,IAAIuiB,EAAI,EAAGA,EAAIvpC,EAAcgC,OAAQunC,IACxC,GAAIvpC,EAAcupC,GAAGl7B,kBAAmB,CACtC,MAAM3N,QAAa+lB,GAAiBzmB,EAAcupC,GAAGl7B,mBACjD3N,GAAMsmB,EAAMrY,KAAKjO,EACvB,CAEFsvB,EAAShJ,EACX,CAbI6xH,EAAmB,GAClB,CAAC74I,MAkEJmd,EAAAA,GAAAA,MAACmP,GAAa,CAAA7R,SAAA,EACZ0C,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOmT,UAAU9R,SAAA,EAC5B0C,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAAAlB,SAAA,EACHP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,OAAOkB,MAAOjB,GAAOnY,MAAMwZ,SACzC9d,EAAI,mCAEPud,EAAAA,GAAAA,KAAC+mI,GAAiB,CAACvgJ,KAAMgiJ,EAAQj1H,aAtBzC,WACE,OACEtQ,EAAAA,GAAAA,MAACtC,GAAe,CAACR,MAAO,CAAE0C,WAAY,SAAU1F,WAAY,GAAIoD,SAAA,EAC9DP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,QAAOsB,SACrB9d,EAAK,aAAW+lJ,EAAOn6I,OAAS,EAAI,UAAY,cAEnD2R,EAAAA,GAAAA,KAAC0yB,GAAY,CACXvyB,MAAO,CAAEuC,OAAQ,EAAGiH,UAAW,GAC/B4P,MAAOivH,EAAOn6I,OAAS,EACvBk1B,cAAeyrH,MAIvB,KAUQhvI,EAAAA,GAAAA,KAAC4G,GAAa,CACZ7f,MAAOtE,EAAI,sCACX0d,MAAOjB,GAAOgwI,YACdruI,QAASA,IAAMguI,GAAqB,SAIxC7uI,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,OAAOkB,MAAOjB,GAAOnY,MAAMwZ,SACzC9d,EAAI,6CAENqqB,EAAMhlB,OAAS,GACdkY,EAAAA,GAAAA,KAAC6W,GAAAA,QAAQ,CACP7vB,KAAM8lB,EACNmK,WAAYA,EAAG7uB,WAAW4X,EAAAA,GAAAA,KAAC+mI,GAAiB,CAACvgJ,KAAM4B,IACnD4uB,aAAcA,CAAC5uB,EAAMyvB,IAAUA,EAAM7M,cAGvChL,EAAAA,GAAAA,KAAClB,GAAU,CAACqB,MAAO,CAAEuC,OAAQ,IAAMzD,KAAK,SAAQsB,SAC7C9d,EAAI,4DAKXud,EAAAA,GAAAA,KAACotI,GAAmB,CAClBxmJ,QAASgoJ,EACTvtG,QApFN,WACEwtG,GAAqB,GACrBE,GAAmB,EACrB,EAkFMhmI,QAhFN,WACE8lI,GAAqB,EACvB,KAgFI7uI,EAAAA,GAAAA,KAAC0uI,GAAiB,CAChB9nJ,QAASkoJ,EACTztG,QAhFNx2C,eAAkCsD,GAChC4gJ,GAAmB,SACb/hI,GAAa7e,GACC,UAAhBq6I,EAAO3hJ,KAAkBknJ,GAAkB,GAC1C9jJ,EAAMyG,SAASjB,IAA+B,GACrD,EA4EMsZ,QA1EN,WACEgmI,GAAmB,GACnBF,GAAqB,EACvB,KAyEI7uI,EAAAA,GAAAA,KAACqtI,GAAgB,CACfzmJ,QAASknJ,EACT/kI,QA/DN,WACEglI,GAAkB,GAClB9jJ,EAAMyG,SAASjB,IAA+B,GAChD,KA8DIuQ,EAAAA,GAAAA,KAACstI,GAAgB,MAGvB,CAEA,MAAMpuI,GAASsB,EAAAA,QAAWC,OAAO,CAC/B4R,UAAW,CACT1U,UAAW,SACXF,SAAUC,GAAOX,aACjBN,MAAO,QAET1V,MAAO,CAAE2b,OAAQ,GAAIiH,UAAW,GAChCulI,YAAa,CACXvxI,UAAW,SACXgM,UAAW,GACX6K,aAAc,MC7HlB,SAASgyH,KACP,MAAM7uB,GAAQC,EAAAA,EAAAA,WACd,OACE30G,EAAAA,GAAAA,MAAC00G,EAAMmiB,UAAS,CAACC,cAAa5yI,OAAAC,OAAA,GAAOwxG,GAAY,CAAC,GAAG,CAACohC,WAAY,UAAUz5H,SAAA,EAC1EP,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAK,iBACLyuD,UAAWgtF,GACXnvG,QAAS,CACP0lF,aAAa,EACb/tH,MAAOtE,EAAI,qCAGfud,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAK,yBACLyuD,UAAWo3F,GACXv5G,QAAS,CACPqO,YAAa,GACb12C,MAAOtE,EAAI,2CAGfud,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAM,kBACNyuD,UAAW85F,GACXj8G,QAAS,CACPqO,YAAa,GACb12C,MAAOtE,EAAI,8CAGfud,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAM,gBACNyuD,UAAW+5F,GACXl8G,QAAS,CACPqO,YAAa,GACb12C,MAAOtE,EAAI,+CAKrB,CAEA,SAASg4I,GAAQC,EAASxwB,EAAU5lG,GAClC,OACEtE,EAAAA,GAAAA,KAACk4G,GAAU,CACTp1H,KAAMonH,EACNpuG,MAAO4+H,EAAU3+H,GAAOvF,eAAiBuF,GAAOxC,UAChD+K,MAAOA,EACPN,OAAQ02H,EAAU,MAAQ,OAGhC,CAEA,SAASyU,KACP,MAAMxU,GAAqBjyH,EAAAA,EAAAA,aAAY9U,IACjC62C,GAAc/hC,EAAAA,EAAAA,aAAY5U,IAC1B+mI,GAAMC,EAAAA,EAAAA,WACZ,OACE73H,EAAAA,GAAAA,MAAC43H,EAAIf,UAAS,CACZC,cAAe,CACfjlB,aAAa,EACbimB,MAAK,EACLE,iBAAkB,CAAEvgI,WAAY,oBAChCygI,sBAAuBp/H,GAAOvF,eAC9B4kI,wBAAyBr/H,GAAOxC,WAC9BgH,SAAA,EAEFP,EAAAA,GAAAA,KAAC66H,EAAI7iB,OAAM,CACTl1H,KAAK,gBACLyuD,UAAWosD,GACXvuE,QAAS,CACPisG,YAAa54I,EAAI,+BACjB64I,WAAYA,EAAGZ,aAAcD,GAAQC,EAAS,iBAGlD16H,EAAAA,GAAAA,KAAC66H,EAAI7iB,OAAM,CACTl1H,KAAK,cACLyuD,UAAWusD,GACX1uE,QAAS,CACPisG,YAAa54I,EAAI,+BACjB64I,WAAYA,EAAGZ,aAAcD,GAAQC,EAAS,YAGlD16H,EAAAA,GAAAA,KAAC66H,EAAI7iB,OAAM,CACTl1H,KAAK,6BACLyuD,UAAW8sD,GACXjvE,QAAS,CACPisG,YAAa54I,EAAI,uBACjB64I,WAAYA,EAAGZ,aACbD,GACEC,EACA,gBACAC,OAIR36H,EAAAA,GAAAA,KAAC66H,EAAI7iB,OAAM,CACTl1H,KAAK,qBACLyuD,UAAW0sD,GACX7uE,QAAS,CACPisG,YAAa54I,EAAI,6BACjB64I,WAAYA,EAAGZ,aACbD,GAAQC,EAAS,OAAQjwF,QAKrC,CAEA,SAASkzD,KACP,MAAMga,GAAQC,EAAAA,EAAAA,WACd,OACE30G,EAAAA,GAAAA,MAAC00G,EAAMmiB,UAAS,CAACC,cAAenhC,GAAY,CAAErlF,aAAc,aAAchT,SAAA,EACxEP,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAM,gBACNyuD,UAAWg3F,GACXn5G,QAAS,CACProC,MAAOtE,EAAI,+BACXg7C,YAAaA,KACXz9B,EAAAA,GAAAA,KAACsJ,EAAAA,QAAK,CACJnJ,MAAOjB,GAAOs3G,WACd/sG,WAAW,UACXF,OAAQ,CACNC,IAAK,uEAEPE,kCAAgC,EAChCxH,kBAAkB,cAK1BlC,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAM,gBACNyuD,UAAW27F,GACX99G,QAAS,CACPqO,YAAa,GACb12C,MAAOtE,EAAI,oCAKrB,CAEA,SAASq7G,KACP,MAAM6Z,GAAQC,EAAAA,EAAAA,WACd,OACE30G,EAAAA,GAAAA,MAAC00G,EAAMmiB,UAAS,CACdr/B,iBAAiB,mBACjBs/B,cAAenhC,GAAY,CAAErlF,aAAc,aAAchT,SAAA,EAEzDP,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAM,mBACNyuD,UAAWo9F,GACXv/G,QAAS,CACPqO,YAAah7C,EAAI,+BACjBsE,MAAOtE,EAAI,oCAGfud,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAM,oBACNyuD,UAAW+5F,GACXl8G,QAAS,CACPqO,YAAa,GACb12C,MAAOtE,EAAI,8CAGfud,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAM,gBACNyuD,UAAW27F,GACX99G,QAAS,CACPqO,YAAa,GACb12C,MAAOtE,EAAI,oCAKrB,CAEA,SAAS47G,KACP,MAAMsZ,GAAQC,EAAAA,EAAAA,WACd,OACE30G,EAAAA,GAAAA,MAAC00G,EAAMmiB,UAAS,CAACC,cAAenhC,GAAY,CAAErlF,aAAc,aAAchT,SAAA,EACxEP,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAK,QACLyuD,UAAW47F,GACX/9G,QAAS,CACProC,MAAOtE,EAAI,uBACXw3I,WAAYA,IAAM,SAGtBj6H,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAK,eACLyuD,UAAWg8F,GACXn+G,QAAS,CAAEroC,MAAOtE,EAAI,0BAExBud,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAK,mBACLyuD,UAAWg9F,GACXn/G,QAAS,CAAEroC,MAAOtE,EAAI,yBAExBud,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAM,gBACNyuD,UAAW27F,GACX99G,QAAS,CAAEroC,MAAO,OAEpBiZ,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAK,cACLyuD,UAAWq0E,GACXx2F,QAAS,CAAEroC,MAAOtE,EAAI,sBAI9B,CAEA,SAASw7G,KACP,MAAM0Z,GAAQC,EAAAA,EAAAA,WACd,OACE30G,EAAAA,GAAAA,MAAC00G,EAAMmiB,UAAS,CAACC,cAAenhC,GAAY,CAAErlF,aAAc,aAAchT,SAAA,EACxEP,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAK,OACLyuD,UAAWk9F,GACXr/G,QAAS,CACProC,MAAOtE,EAAI,6BACXw3I,WAAYA,IAAM,SAGtBj6H,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAK,eACLyuD,UAAWi6F,GACXp8G,QAAS,CAAEroC,MAAOtE,EAAI,kCAExBud,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAK,uBACLyuD,UAAWq2F,GACXx4G,QAAS,CAAEroC,MAAOtE,EAAI,0CAExBud,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAK,sBACLyuD,UAAWg7F,GACXn9G,QAAS,CAAEroC,MAAOtE,EAAI,yCAExBud,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAK,UACLyuD,UAAWi7F,GACXp9G,QAAS,CAAEroC,MAAOtE,EAAI,sCAExBud,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAK,UACLyuD,UAAWgK,GACXnsB,QAAS,CAAEroC,MAAOtE,EAAI,qBAExBud,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAK,cACLyuD,UAAWq0E,GACXx2F,QAAS,CAAEroC,MAAOtE,EAAI,qBAExBud,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAK,WACLyuD,UAAWgvE,GACXnxF,QAAS,CAAEroC,MAAOtE,EAAI,sBAExBud,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAK,gBACLyuD,UAAWqwE,GACXxyF,QAAS,CAAEroC,MAAOtE,EAAI,8BAExBud,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAK,SACLyuD,UAAWipB,GACXprC,QAAS,CAAEroC,MAAOtE,EAAI,oBAExBud,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAK,QACLyuD,UAAW0kB,GACX7mC,QAAS,CAAEroC,MAAOtE,EAAI,qBAI9B,CAEe,SAAS2sJ,KACtB,MAAMzpJ,GAAO+iB,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMtB,OACpCa,GAAOkiB,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMV,UAAUC,OAQpD,OANAokB,EAAAA,EAAAA,YAAU,MACHpkB,GAAQb,GACXknB,KAAsB9f,MACxB,GACC,CAACpH,IAEGa,GAAOwZ,EAAAA,GAAAA,KAACmvI,GAAY,KAAMnvI,EAAAA,GAAAA,KAACwmI,GAAU,GAC9C,CAEA,MAAMtnI,GAASsB,EAAAA,QAAWC,OAAO,CAC/B+1G,WAAY,CACV55G,OAAQ,GACRH,MAAO,MC3TI,SAAS4yI,GAA4BtwI,GAClD,MAAMnZ,GAAY8iB,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMrB,YAkC/CiF,eAAeupH,EAAansH,GAC1B,GAAIrC,EAAW,CAIb,IAAIQ,QAHE0jD,GAAiB7hD,SACjBmoB,KAGK,IAAPnoB,EAAY7B,EAAW,SAA2B,KAAP6B,IAAa7B,EAAW,MAEvE2Y,EAAMkX,WAAWvzB,QAAQ,WAAY,CACnCyD,OAAQ,oBACRpD,OAAQ,CACNoD,OAAQ,WACRpD,OAAQ,CACNqD,SAAUA,KAIlB,CACF,CAEA,OApDAwkB,EAAAA,EAAAA,YAAU,KACR7L,EAAMkX,WAAWunB,WAAW,CAC1BC,YAAaA,KACXz9B,EAAAA,GAAAA,KAACsJ,EAAAA,QAAK,CACJnJ,MAAOjB,GAAOs3G,WACd/sG,WAAW,UACXF,OAAQ,CAAEC,IAAK,uEACf9C,mBAAoBjkB,EAAI,mCACxBinB,kCAAgC,EAChCxH,kBAAkB,QAClBhC,YAAU,MAMhB,MAAMnX,EAAYkB,EAAMC,WAAWvE,KAAKoD,UAClCumJ,EAAc,CAAC,EAAG,IAClBlpJ,EAAW2C,EAAUrB,MAAKyjD,GAAOmkG,EAAYlmI,SAAS+hC,EAAIljD,MAC5D7B,GACF2Y,EAAMkX,WAAWvzB,QAAQ,WAAY,CACnCyD,OAAQ,oBACRpD,OAAQ,CACNoD,OAAQ,WACRpD,OAAQ,CACNqD,SAAUA,EAAStD,QAI3B,GACC,CAACic,EAAMkX,cAuBRjW,EAAAA,GAAAA,KAACoS,GAAa,CAAA7R,UAEZ0C,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOmT,UAAU9R,SAAA,EAE5BP,EAAAA,GAAAA,KAAClB,GAAU,CAAAyB,SAAE9d,EAAI,mCAEjBwgB,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOs3D,aAAaj2D,SAAA,EAC/B0C,EAAAA,GAAAA,MAACtC,GAAe,CACdR,MAAOjB,GAAOiiC,IACdj/B,kBAAkB,SAClBwE,mBAAoBjkB,EAAI,mCACxBoe,QAASA,IAAMuzG,EAAa,GAAG7zG,SAAA,EAE/BP,EAAAA,GAAAA,KAACsJ,EAAAA,QAAK,CACJC,OAAQ,CAAEC,IAAK,+EACfC,WAAW,UACXtJ,MAAOjB,GAAOyQ,MACdjG,kCAAgC,EAChCxJ,YAAU,EACVgC,kBAAkB,QAClBwE,mBAAoBjkB,EAAI,4CAE1Bud,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,OAAMsB,SAAE9d,EAAI,sCAG/BwgB,EAAAA,GAAAA,MAACtC,GAAe,CACdR,MAAOjB,GAAOiiC,IACdj/B,kBAAkB,SAClBwE,mBAAoBjkB,EAAI,+BACxBoe,QAASA,IAAMuzG,EAAa,IAAI7zG,SAAA,EAEhCP,EAAAA,GAAAA,KAACsJ,EAAAA,QAAK,CACJC,OAAQ,CAAEC,IAAK,6EACfC,WAAW,UACXtJ,MAAOjB,GAAOyQ,MACdjG,kCAAgC,EAChCxJ,YAAU,EACVgC,kBAAkB,QAClBwE,mBAAoBjkB,EAAI,wCAE1Bud,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,OAAMsB,SAAE9d,EAAI,wCAOzC,CAEA,MAAMyc,GAASsB,EAAAA,QAAWC,OAAO,CAC/B4R,UAAW,CACTsP,QAAS,OACTnb,cAAe,SACf7I,UAAW,SACXkF,WAAY,SACZE,eAAgB,SAChBtF,SAAUC,GAAOX,aACjBN,MAAO,QAET+5D,aAAc,CACZ70C,QAAS,OACTnb,cAAe,MACfuN,SAAU,OACVlR,WAAY,SACZE,eAAgB,SAChB4G,UAAW,IAEbw3B,IAAGh6C,OAAAC,OAAA,CACD2b,eAAgB,SAChBF,WAAY,SACZpG,MAAO,IACPG,OAAQ,IACR+F,gBAAiB5G,GAAO5G,MACxBoJ,aAAc,GACdmE,OAAQ,GACR6R,QAAS,IACNpW,IAELq4G,WAAY,CAAE55G,OAAQ,GAAIH,MAAO,KACjCkT,MAAO,CACLhS,UAAW,SACXiF,UAAW,GACXhG,OAAQ,OACRH,MAAO,OACP+X,aAAc,MCvJlB,SAASgyH,KACP,MAAM7uB,GAAQC,EAAAA,EAAAA,WACd,OACE53G,EAAAA,GAAAA,KAAC23G,EAAMmiB,UAAS,CAACC,cAAa5yI,OAAAC,OAAA,GAAOwxG,GAAY,CAAC,GAAG,CAACohC,WAAY,UAAUz5H,UAC1EP,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CACXl1H,KAAK,wBACLyuD,UAAW89F,MAInB,CAGe,SAASE,KACtB,OAAOvvI,EAAAA,GAAAA,KAACwmI,GAAU,GACpB,C,+zlCCHagJ,GAAwBA,KACpC,MAAM,OAAEnhJ,EAAM,IAAE0gB,GAAQooF,KAElBlhF,GAAaC,EAAAA,EAAAA,iBACb6tC,GAAYt9B,EAAAA,EAAAA,QAAO,OAEzB7b,EAAAA,EAAAA,YAAU,KACT,GAAIqL,EAAY,CACf,MAAMmL,EAAmBnL,GAAYS,YAAY,SAAS,IAAMqtC,EAAUrwD,SAAS+7I,WAC7EpuH,EAAkBpL,GAAYS,YAAY,QAAQ,IAAMqtC,EAAUrwD,SAASg8I,UAEjF,MAAO,KACNtuH,IACAC,GAAiB,CAEnB,IACE,IAEH,MAcMsuH,EAAc,CACnBttI,QAAS,CACRwxC,OAAQpxD,EAAI,2DACZqG,KAAMrG,EAAI,0DACV2f,WAAY3f,EAAI,4DAChBmtJ,cAAeC,IAGhBjjJ,MAAO,CACNinD,OAAQpxD,EAAI,yDACZqG,KAAMrG,EAAI,wDACV2f,WAAY3f,EAAI,0DAChBmtJ,cAAeE,IAGhBC,QAAS,CACRl8F,OAAQpxD,EAAI,2DACZqG,KAAMrG,EAAI,0DACV2f,WAAY3f,EAAI,4DAChBmtJ,cAAeI,KAIjB,OACChwI,EAAAA,GAAAA,KAACmB,GAAY,CAACva,QAAoB,SAAXyH,EAAmB8R,MAAO,CAAE1D,MAAO,OAAQ8D,UACjEP,EAAAA,GAAAA,MAvCqBiwI,EAAGp8F,SAAQ/qD,OAAMsZ,aAAYwtI,oBACnD3sI,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAO4C,iBAAiBvB,SAAA,EACpCP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,YAAYkB,MAAOjB,GAAO20C,OAAOtzC,SAAEszC,KACpD7zC,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,QAAQkB,MAAOjB,GAAOpW,KAAKyX,SAAEzX,KAK9CkX,EAAAA,GAAAA,KAACW,GAAe,CAACuB,kBAAkB,SAASrB,QAASA,IAAMkO,EAAI,QAAQxO,UACtEP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,YAAYkB,MAAOjB,GAAOkD,WAAW7B,SAAE6B,UA8B1Cjb,OAAAC,OAAA,GAAMuoJ,EAAYthJ,IAAWshJ,EAAYI,WAC1C,EAIX7wI,GAASsB,EAAAA,QAAWC,OAAO,CAChCqB,iBAAkB,CACjBiB,eAAgB,SAChBwR,QAAS,GACT5R,gBAAiB5G,GAAO3G,iBACxBmJ,aAAc,IAEfs1C,OAAQ,CACPxzC,UAAW,UAEZvX,KAAM,CACLuX,UAAW,SACX2H,gBAAiB,IAElB+7C,UAAW,CACVtnD,MAAO,IACPG,OAAQ,IACRe,UAAW,UAEZyE,WAAY,CACX/B,UAAW,SACXvE,MAAOC,GAAOxC,aCjFV22I,GAAeA,MCVd,WACN,MAAMjqJ,GAASyiB,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMhB,SACtCK,GAAcoiB,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMX,cAC3C6pJ,GAAYznI,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMZ,UAE/CukB,EAAAA,EAAAA,YAAU,KAGT,GAAI3kB,EAAO0gD,UAAW,CACrB,IAAI5jD,EAAUkD,EAAOE,QAAUF,EAAOC,MACrC,CACCC,OAAQF,EAAOC,MACfnD,OAAQ,CACPoD,OAAQF,EAAOE,OACf8iB,SAAS,EACTlmB,OAAMoE,OAAAC,OAAA,CAAIhB,SAAUH,EAAOG,UAAaH,EAAOlD,UAIjD,CAAEqD,SAAUH,EAAOG,UAMpB,YAJAk4B,YAAW,KACVtV,GAAwB/iB,EAAO0gD,UAAW5jD,GAC1CkH,EAAMyG,SAAS7B,GAAU,CAAE1I,OAAQ,KAAMD,MAAO,KAAME,SAAU,OAAQ,GACtE,EAEJ,CAKC,GADc,gDACJyD,KAAKT,OAAOO,SAASi5C,MAAO,OAGvC,MAAMgB,EAAa/yB,GAAWlU,IAAI+U,IAClC,IAAIkyB,GAAYx6B,SAAS,OAAzB,CAEA,GAAqC,KAAjC9iB,EAAY0jD,iBACf,OAAOhhC,GAAgBtmB,QAAQ,oBAGhC,GAAI4D,EAAY0jD,iBAAhB,CACC,MAAM5jD,EAAW48C,GAAsB18C,EAAY0jD,kBAC/C5jD,GACH4iB,GAAgBvV,SAAS,WAAY,CACpCtN,OAAQ,oBACRpD,OAAQ,CACPoD,OAAQ,QACR8iB,SAAS,EACTlmB,OAAQ,CAAEqD,SAAUA,EAAStD,QAKjC,MAEA,GAAIwD,EAAY6qH,aAAc,CAC7B,GAAiC,WAA7B7qH,EAAY6qH,aAEf,OAAOnoG,GADOmnI,GAAWroJ,OAAS,EAAI,cAAgB,YAChB,CACrC3B,OAAQG,EAAY6qH,aACpBloG,SAAS,IAIX,GAAiC,cAA7B3iB,EAAY6qH,aACf,OAAOnoG,GAAwB,YAAa,CAC3C7iB,OAAQ,cACR8iB,SAAS,GAGZ,CApCuC,CAoCvC,GACE,GACJ,CD9DEmnI,IACAxlI,EAAAA,EAAAA,YAAU,KACRH,IAA2B,GAC1B,IAEH,MAAMktG,GAAQC,EAAAA,EAAAA,WACd,OACE30G,EAAAA,GAAAA,MAAC00G,EAAMmiB,UAAS,CAACC,cAAe,CAAEjlB,aAAa,GAAQv0G,SAAA,EACrDP,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CAACl1H,KAAK,MAAMyuD,UAAW8+F,GAAkBjhH,QAAS,CAAEroC,MAAO,eACxEiZ,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CAACl1H,KAAK,WAAWyuD,UAAWs1F,GAAez3G,QAAS,CAAEroC,MAAOtE,EAAI,sBAC9Eud,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CAACl1H,KAAK,mBAAmByuD,UAAW69F,GAAuBhgH,QAAS,CAAEroC,MAAO,iBAC1FiZ,EAAAA,GAAAA,KAAC23G,EAAMK,OAAM,CAACl1H,KAAK,eAAeyuD,UAAWg+F,GAAmBngH,QAAS,CAAEroC,MAAO,oBAClE,EAIP,SAAS+yI,KACtB,MAAMl0I,GAAY8iB,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMrB,YACzCU,GAAcoiB,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMX,cAC3CD,GAASqiB,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMZ,SAGtCiqJ,EAAU,CACdC,SAAU,CAHGnhG,EAAQohG,UAAU,QAGTC,GAAkBnpJ,KAAKopJ,GAAqB,WAAaA,KAC/E9hI,OAAQhpB,EAAY44G,KAAiBI,IAGvC,OACE37F,EAAAA,GAAAA,MAAC0tI,EAAAA,QAAmB,CAClBL,QAASA,EACT/kH,IAAKviB,GACL4nI,cAAeA,I9Z/CN/lJ,eAAsCgmJ,GACpD,MAAMC,EAAOD,EAASE,kBACtB,IAAI5kJ,EAAM,OACNlE,EAAK,GACL7B,EAAW,GACXqwB,EAAO,GACPsF,EAAQ+0H,EAAKhuJ,KAAO,IAEpBguJ,EAAK/tJ,QACRoE,OAAOsrC,KAAKq+G,EAAK/tJ,QAAQ8N,SAAS2xG,IACnB,OAAVA,EACHv6G,EAAK6oJ,EAAK/tJ,OAAOkF,GAAK,IACF,aAAVu6G,GAAwBsuC,EAAK/tJ,OAAOqD,UAAU0B,OAAS,EACjE1B,EAAW0qJ,EAAK/tJ,OAAOqD,SAAW,IACd,SAAVo8G,GAAoBsuC,EAAK/tJ,OAAO0zB,KAAK3uB,OAAS,IACxD2uB,EAAOq6H,EAAK/tJ,OAAO0zB,KAAO,IAC3B,IAIDtqB,GADa,cAAV4vB,GAAmC,kBAAVA,EACrB31B,EAAW21B,EAAQtF,EAEnBrwB,EAAW21B,EAAQtF,EAAOxuB,CAoBnC,C8ZK2B+oJ,CAAuBhoI,GAA6BtV,SAAS6M,SAAA,EAElFP,EAAAA,GAAAA,KAACwvI,GAAqB,IACrB5pJ,GAAaU,GAAeD,GAAS2Z,EAAAA,GAAAA,KAACkwI,GAAY,KAAMlwI,EAAAA,GAAAA,KAAC8/H,GAAS,MAGzE,CElDA,MAAMmR,WAAwBz9I,EAAAA,UAC5BmsB,MAAAA,GACE,OACE3f,EAAAA,GAAAA,KAACgxB,GAAc,CACbpqC,QAASi1B,KAAK9c,MAAMtZ,aACpB2b,UAAWA,IAAMya,KAAK9c,MAAMpQ,gBAAgB,IAC5C7H,KAAM+0B,KAAK9c,MAAMtZ,aACjBm4B,SAAU,IACVzd,MAAOjB,GAAOmT,WAGpB,EAGF,MAAMnT,GAASsB,EAAAA,QAAWC,OAAO,CAC/B4R,UAAW,CACT1U,UAAW,SACX6W,aAA2C,GAC3C/W,SAAUwf,GAAOlgB,gBAUrB,IAAejL,EAAAA,EAAAA,UANU7K,IAChB,CACLxB,aAAcwB,EAAMxB,gBAIgB,CAAEkJ,gBAAgB,IAA1D,CAA6DsiJ,IChC7D,MAAMC,WAAsB19I,EAAAA,UAC1BmsB,MAAAA,GACE,OACE3f,EAAAA,GAAAA,KAAAyf,GAAAA,SAAA,CAAAlf,SACGsb,KAAK9c,MAAMhZ,oBACVia,EAAAA,GAAAA,KAAA,OACEG,MAAO,CAAEwhB,QAAS,QAClB03F,IACE,qFACAx9F,KAAK9c,MAAMhP,OAEbohJ,IAAI,mBAKd,EAGF,MAKA,IAAer/I,EAAAA,EAAAA,UALU7K,IAAK,CAC5B8I,OAAQ9I,EAAMtB,MAAMsC,GACpBlC,kBAAmBkB,EAAMlB,qBAG3B,CAAwCmrJ,I,SCxBxCE,KAAY,CACXC,IAAK,4EACLC,QAASvjI,GAAAA,QAAUC,WAAWuxG,QAC9BgyB,aAAc,CAAC,4BAA6B,iC,gBCW9B,SAASC,KACtB,MAAM5rJ,GAAY8iB,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMrB,YACzC6rJ,EAAgB3iI,GAAAA,QAAQnS,IAAI,8BAC5BkmD,EAAW,IAAInmC,GAAAA,QAASC,OAAO,KAC/B+0H,EAAQ,oBAAoB33H,KAAK43H,UAAUC,WAC3CC,EAAY,WAAW93H,KAAK43H,UAAUC,YAE5ChnI,EAAAA,EAAAA,YAAU,KACRknI,GAAa,GACZ,CAAClsJ,IAEJ,MAAMksJ,EAAcA,KAKlB,IAAiB,IADA,4BAA4B/3H,KAAK43H,UAAUC,WACpC,OAIxB,GADiBG,GAAAA,aAAarnJ,eAAe0e,SAAS,YAAa,EACrD,OAEd,GAAkB,OAAdxjB,GAAsB6rJ,EAAe,OAEvB/0H,GAAAA,QAASgB,OAAOmlC,EAAU,CAC1CllC,QAAS,EACTC,SAAU,IACVC,iBAAiB,IAGTC,OAAO,EAGbk0H,EAAeA,KACnBt1H,GAAAA,QAASgB,OAAOmlC,EAAU,CACxBllC,SAAU,IACVC,SAAU,IACVC,iBAAiB,IAChBC,QACHhP,GAAAA,QAAQC,IAAI,6BAA8B,EAAG,CAAEE,QAAS,GAAI,EAc9D,OACEjP,EAAAA,GAAAA,KAAC0c,GAAAA,QAASjb,KAAI,CACZwwI,6BAA6B,EAAM38F,0BAA0B,KAAK48F,qBAAqB,EACvF/xI,MAAO,CAAC,CAAEoD,UAAW,CAAC,CAAEwc,WAAY8iC,KAAe3jD,GAAOmT,WAAW9R,UAErE0C,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOwwC,QAAQnvC,SAAA,EAC1B0C,EAAAA,GAAAA,MAACtC,GAAe,CACdR,MAAOjB,GAAOizI,cACdtxI,QAnBQhW,UACd,MAAMtB,QAAiBuB,IAKnB4mJ,EAAOznG,GAHI,gFAAkF1gD,GAIxFsoJ,GAAW5nG,GAHA,sEAIpB+nG,GAAc,EAYR9vI,kBAAkB,OAClB0gC,KAAK,IAAGriC,SAAA,EAERP,EAAAA,GAAAA,KAACyB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOs0B,cAAcjzB,UAChCP,EAAAA,GAAAA,KAACsJ,EAAAA,QAAK,CACJC,OAAQqJ,EAAQ,OAChBzS,MAAO,CAAEvD,OAAQ,GAAIH,MAAO,IAC5BgN,WAAW,eAGfzJ,EAAAA,GAAAA,KAACyB,EAAAA,QAAI,CAACtB,MAAO,CAAE2C,KAAM,GAAIvC,UACvBP,EAAAA,GAAAA,KAAClB,GAAU,CACTG,KAAK,YACLkB,MAAOjB,GAAOpY,KACd4f,mBAAoBjkB,EACjB,wBACCivJ,EAAQ,cAAgB,oBAE1BnxI,SAED9d,EACE,wBACCivJ,EAAQ,cAAgB,4BAMlC1xI,EAAAA,GAAAA,KAACW,GAAe,CAACE,QAASmxI,EAAazxI,UACrCP,EAAAA,GAAAA,KAAC+D,GAAU,CACTjhB,KAAK,QACLgZ,MAAOC,GAAOjV,KACdqZ,MAAO,CAAE2E,kBAAmB,EAAGkD,gBAAiB,GAChD/D,KAAM,GACN/B,kBAAkB,SAClBwE,mBAAoBjkB,EAAI,6BAMpC,CAEA,MAAMyc,GAASsB,EAAAA,QAAWC,OAAO,CAC/B4R,UAASlrB,OAAAC,OAAA,CACPub,gBAAiB5G,GAAO5G,MACxB2N,KAAM,EACNuB,SAAU,WACV5H,MAAO,QACJ2X,GAAwB,CAC3BrW,cAAe,KAEjB2xC,QAAS,CACP7sC,WAAY,SACZ2D,cAAe,MACfzD,eAAgB,gBAChB+B,kBAAmB,GACnBkD,gBAAiB,IAEnBwrB,cAAarsC,OAAAC,OAAA,CACXyb,WAAY,SACZhE,YAAa9C,GAAOxE,eACpBgH,aAAc,GACdK,YAAa,GACbhC,OAAQ,GACRmG,eAAgB,SAChB3F,YAAa,IACVQ,GAAW,CACdnB,MAAO,KAET3V,KAAM,CACJ6T,SAAU,GACVwB,WAAY,IAEdg2I,cAAe,CACbtvI,WAAY,SACZ2D,cAAe,MACf1D,KAAM,KC1JJsvI,GAAY,CAAC,8BACbC,GAAc,CAClB,+CACA,0EAGF,IAAIC,GAAW,CAAC,0CACZnjE,GAAS,CACX,4MACA,+DAIAA,GAAO16E,QAAQ29I,IACfE,GAAS79I,QAAQ49I,I,uFCFJ,SAASE,KACtB,MAAM3sJ,GAAY8iB,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMrB,YACzC8wC,GAAYhuB,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMtB,MAAM+wC,aAC9C9vC,EAASi1C,IAAc5mB,EAAAA,EAAAA,WAAS,IAChCywG,EAAQ8sB,IAAav9H,EAAAA,EAAAA,UAAS,OAC9BrlB,EAASooC,IAAc/iB,EAAAA,EAAAA,WAAS,IAEvCrK,EAAAA,EAAAA,YAAU,KACJhlB,GACF04B,WAAW0d,EAAY,IACzB,GACC,CAACp2C,IAEJ,MAAMo2C,EAAanxC,UACjB,IAAI4nJ,EACuBA,EAAmB3jI,GAAAA,QAAQnS,IAAI,oBAE1D,MAAM+1I,EAAuB,IAAIlhI,KAAKihI,GAChCE,EAA4B,IAAInhI,KAAKkhI,IAAuBvkE,SAAQ,IAAI38D,MAAOw7D,UAAY,IAC/E,OAAdpnF,GAAoC,IAAd8wC,KAAqB+7G,GAAoB,IAAIjhI,KAASmhI,IAC9E92G,GAAW,EACb,EAgBF,SAAS+2G,GAAO,QAAE3+G,EAAO,QAAEpzB,EAAO,KAAE/Z,IAClC,OACEmc,EAAAA,GAAAA,MAACtC,GAAe,CACdR,MAAO,CAACjB,GAAOwmH,OAAQzxF,GAAW/0B,GAAOo8B,UACzCp5B,kBAAmB,QACnBrB,QAASA,EAAQN,SAAA,EAEjBP,EAAAA,GAAAA,KAACyB,EAAAA,QAAI,CAACtB,MAAO,CAAEvB,YAAa,EAAGC,YAAa9C,GAAOhF,kBAAmBwH,aAAc,GAAIgW,QAAS,GAAIhU,UACnGP,EAAAA,GAAAA,KAAC+D,GAAU,CACTjhB,KAAK,SACLkhB,OAAO,MACPC,KAAM,GACNnI,MAAOm4B,EAAUl4B,GAAOhG,UAAYgG,GAAOrE,iBAG/CsI,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,OAAOkB,MAAO,CAAE7C,YAAa,IAAKiD,SAAEzZ,MAG3D,CAEA,OACEmc,EAAAA,GAAAA,MAAC9B,GAAY,CAACva,QAASA,EAAQ2Z,SAAA,EAC7B0C,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAO,CAAEuC,OAAQ,IAAKnC,SAAA,EAC1BP,EAAAA,GAAAA,KAACW,GAAe,CACdR,MAAO,CAAExC,UAAW,WAAY0G,SAAU,WAAY/G,YAAa,GAAIsH,OAAQ,GAC/E1C,kBAAkB,SAClBrB,QAhCRhW,iBAEOikB,GAAAA,QAAQC,IAAI,oBAAoB,IAAIyC,MAAOi6B,eAChD5P,GAAW,EACb,EA4BmCt7B,UAE3BP,EAAAA,GAAAA,KAAC+D,GAAU,CAACjhB,KAAK,QAAQgZ,MAAOC,GAAOjC,cAEzCkG,EAAAA,GAAAA,KAAClB,GAAU,CACTqB,MAAO,CAAExF,SAAU,GAAID,WAAY,oBAAqB6F,SAAE9d,EAAI,iCAChEud,EAAAA,GAAAA,KAAClB,GAAU,CAACqB,MAAO,CAAEwJ,UAAW,IAAKpJ,SAClC9d,EAAI,uCAEPud,EAAAA,GAAAA,KAAClB,GAAU,CACTqB,MAAO,CAAEmU,eAAgB,IACzBrV,KAAK,cAAasB,SAEjB9d,EAAI,uCAEPud,EAAAA,GAAAA,KAAC4yI,EAAM,CACL3+G,QAAoB,IAAXyxF,EACT7kH,QAASA,IAAM2xI,EAAU,GACzB12I,MAAOC,GAAO/C,UACdlS,KAAMrE,EAAI,gCAEZud,EAAAA,GAAAA,KAAC4yI,EAAM,CACL3+G,QAAoB,IAAXyxF,EACT7kH,QAASA,IAAM2xI,EAAU,GACzB12I,MAAOC,GAAO/C,UACdlS,KAAMrE,EAAI,kCAEZud,EAAAA,GAAAA,KAAC4yI,EAAM,CACL3+G,QAAoB,IAAXyxF,EACT7kH,QAASA,IAAM2xI,EAAU,GACzB12I,MAAOC,GAAO/C,UACdlS,KAAMrE,EAAI,oCAGdud,EAAAA,GAAAA,KAACyB,EAAAA,QAAI,CAACtB,MAAO,CAAE9D,cAAe,IAAKkE,UACjCP,EAAAA,GAAAA,KAAC4G,GAAa,CACZzE,SAAqB,OAAXujH,GAAmB91H,EAC7BiR,QA5ERhW,iBACEmtC,GAAW,SACWpoB,GAAW,CAAE8mB,UAAWgvF,KACjC7pF,GAAW,GACxB7D,GAAW,EACb,EAwEQ73B,MAAO,CAAEwC,gBAAiB5G,GAAOhG,WACjChP,MAAOtE,EAAI,+BACX0iB,WAAY,CAAEL,kBAAmB,UAK3C,CAEA,MAAM5F,GAASsB,EAAAA,QAAWC,OAAO,CAC/BilH,OAAQ,CACN/iH,gBAAiB5G,GAAO5G,MACxBof,QAAS,GACThW,aAAc,GACdK,YAAa,EACbC,YAAa9C,GAAOrE,YACpB8O,cAAe,MACf3D,WAAY,UAEdy4B,SAAU,CACR34B,gBAAiB5G,GAAOxE,kBCtHb,SAASs7I,KACvB,MAAMjtJ,GAAY8iB,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMrB,YACzCwkB,GAAW1B,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMtB,MAAMykB,YAC7CxjB,EAASi1C,IAAc5mB,EAAAA,EAAAA,WAAS,IAEvCrK,EAAAA,EAAAA,YAAU,KACT,GAAIhlB,EAAW,CACd,MAAMm2C,EAAgBzd,WAAW0d,EAAY,KAC7C,MAAO,IAAM5d,aAAa2d,EAC3B,IACE,CAACn2C,EAAWwkB,IAEf,MAAM4xB,EAAanxC,UAClB,IAAIioJ,EACuBA,EAAmBhkI,GAAAA,QAAQnS,IAAI,0BAE1D,MAAMo2I,EAAuB,IAAIvhI,KAAKshI,GAChCE,EAA4B,IAAIxhI,KAAKuhI,IAAuB5kE,SAAQ,IAAI38D,MAAOw7D,UAAY,GAE3FlgE,QAAc7e,KAEd7H,EAAW4iB,IAA8BtV,SAASq9I,mBAAmBhuJ,QAAQqD,SAC1D,CAAC,gBAAiB,eAEtBgjB,SAAShjB,IACZ,OAAdR,GAAuC,IAAjBknB,EAAMhlB,QAAgBsiB,GAAUhB,SAAS,IAC/D0pI,GAAoBE,GAA6B,IAAIxhI,MACzDqqB,GAAW,EAAK,EAuBjB,OACC54B,EAAAA,GAAAA,MAAC9B,GAAY,CAACva,QAASA,EAAQ2Z,SAAA,EAC9B0C,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAO4kB,gBAAgBvjB,SAAA,EACnCP,EAAAA,GAAAA,KAACW,GAAe,CAACR,MAAOjB,GAAOoW,UAAWpT,kBAAkB,SAASrB,QATxEhW,iBAEMikB,GAAAA,QAAQC,IAAI,0BAA0B,IAAIyC,MAAOi6B,eACtD5P,GAAW,EACZ,EAKmGt7B,UAC/FP,EAAAA,GAAAA,KAAC+D,GAAU,CAACjhB,KAAK,QAAQgZ,MAAOC,GAAOjC,cAExCkG,EAAAA,GAAAA,KAAClB,GAAU,CAACqB,MAAOjB,GAAOnY,MAAMwZ,SAAE9d,EAAI,oDACtCud,EAAAA,GAAAA,KAAClB,GAAU,CAACqB,MAAO,CAAEwJ,UAAW,IAAKpJ,SAAE9d,EAAI,oDAC3Cud,EAAAA,GAAAA,KAACyU,GAAoB,QAEtBzU,EAAAA,GAAAA,KAACyB,EAAAA,QAAI,CAACtB,MAAO,CAAE9D,cAAe,IAAKkE,UAClCP,EAAAA,GAAAA,KAAC4G,GAAa,CACb/F,QAhCJhW,iBACC,MAAM5E,EAAS,4BAKd6oB,GAAAA,QAAQC,IAAI,0BAA0B,IAAIyC,MAAOi6B,eACjDriD,OAAOmsB,UAAU,oBAAqB,CAAExW,MAAO,CAAE9Y,YAGlD41C,GAAW,SACLlqB,GAAmB,CAAE1rB,UAC5B,EAqBIka,MAAO,CAAEwC,gBAAiB5G,GAAOxF,UACjCxP,MAAOtE,EAAI,kDACX0iB,WAAY,CAAEL,kBAAmB,UAKtC,CAEA,MAAM5F,GAASsB,EAAAA,QAAWC,OAAO,CAChCqjB,gBAAiB,CAChBphB,OAAQ,IAET4S,UAAW,CACV3X,UAAW,WACX0G,SAAU,WACV/G,YAAa,GACbsH,OAAQ,GAET7d,MAAO,CACN4T,SAAU,GACVD,WAAY,mBACZ6C,aAAc,M,gBC5FhB,MASa01I,GAAeA,KAC3B,MAAM,gBAAEC,GAAoBC,GAAAA,cACrBC,EAASC,IAAcp+H,EAAAA,EAAAA,WAAS,GAWZ,OAT3BrK,EAAAA,EAAAA,YAAU,KACT,MAAMwD,EAAewuB,EAAAA,QAAS8wB,iBAAiB,UAAW+gC,IACrD2kD,GAAwB,WAAb3kD,GAfM5jG,WACvB,WACsBsoJ,GAAQG,uBAClBC,mBAAmBJ,GAAQK,kBACvC,CAAE,MAAO5mJ,GAET,GASwC6mJ,EAAiB,IAIxD,OADAJ,GAAW,GACJ,IAAMjlI,GAAcC,QAAQ,GACjC,CAAC+kI,IAE8B,IA0BzB,EAIK5yI,EAAAA,QAAWC,OAAO,CAChC4R,UAAW,CACVvP,KAAM,EACND,WAAY,SACZE,eAAgB,SAChBJ,gBAAiB5G,GAAO7D,oBAGzB4J,iBAAkB,CACjBgT,IAAK,KAGNT,cAAe,CACdS,IAAK,GAGN8K,WAAY,CACXvf,UAAW,UAGZ9G,UAAW,CACVuC,MAAOC,GAAOxC,WAGf0I,OAAQ,CACP4C,SAAU,IACVlC,gBAAiB5G,GAAOhG,UACxBiS,gBAAiB,GACjBlD,kBAAmB,GACnBvG,aAAc,IAGfqK,YAAa,CACZ9D,kBAAmB,IAGpB43H,gBAAiB,CAChB9/H,OAAQ,IACRH,MAAO,IACPkgI,UAAW,UACXh/H,UAAW,YChFN9S,eAAe6oJ,GAAcC,EAAUC,GAC7C,MAAM5mJ,QAAYf,EAAS,CAAE0nJ,WAAUC,iBAAkB,mBACzD,OAAO5mJ,GAAKsF,EACb,CCDe,SAASuhJ,KACvB,MAAMjuJ,GAAY8iB,EAAAA,EAAAA,cAAazhB,GAAUA,EAAMrB,aACxCkuJ,EAAoBC,IAAyB9+H,EAAAA,EAAAA,WAAS,IACtD++H,EAAkBC,IAAuBh/H,EAAAA,EAAAA,WAAS,IAClDi/H,EAAcC,IAAmBl/H,EAAAA,EAAAA,UAAS,OAC1Cm/H,EAAYC,IAAiBp/H,EAAAA,EAAAA,UAAS,OACtCq/H,EAAkBC,IAAuBt/H,EAAAA,EAAAA,UAAS,IAClDu/H,EAAgBC,IAAqBx/H,EAAAA,EAAAA,UAAS,IAE9C6oH,EAAcC,IAAmB9oH,EAAAA,EAAAA,UAAS,IAEjDrK,EAAAA,EAAAA,YAAU,KACT,GAAIhlB,EAAW,CACd,MAAMm2C,EAAgBzd,WAAWo2H,EAAiB,KAClD,MAAO,IAAMt2H,aAAa2d,EAC3B,IACE,CAACn2C,KAEJglB,EAAAA,EAAAA,YAAU,KACLspI,GA2DLrpJ,eAAyC8pJ,GACxC,MAAM,IAAEC,EAAG,OAAExnJ,GAAWunJ,EAClBE,QDtGDhqJ,iBAEN,aADsBiC,EAAO,YACX,EACnB,CCmG2BgoJ,GAGzB,IAAsB,IAAlB1nJ,EAAO2nJ,SAA8C,IAA3BH,EAAII,mBACjC,OAAOH,GAAYntJ,MAAMutJ,GAA0B,IAAfA,GAAQhtJ,KAI7C,IAAuB,IAAnBmF,EAAO8nJ,UAA+C,IAA3BN,EAAII,mBAClC,OAAOH,GAAYntJ,MAAMutJ,GAA0B,IAAfA,GAAQhtJ,KAI7C,IAAuB,IAAnB2sJ,EAAIO,WACP,OAAON,GAAYntJ,MAAMutJ,GAA0B,IAAfA,GAAQhtJ,KAG7C,OAAO4sJ,EAAW,EACnB,CA9EEO,CAA0BlB,GAAcnnJ,MAAMkoJ,IAC7CZ,EAAcY,EAAO,GAEvB,GACE,CAACf,IAEJ,MAAMQ,EAAkB7pJ,UAEvB,MAAMlF,EAAOsE,EAAMC,WAAWvE,KAC9B,GAAsB,YAAlBA,GAAMwE,QAAuB,OAGjC,MAAMwqJ,QDfD9pJ,iBAEN,aADuBiC,EAAO,qBACX,IACpB,CCYyBuoJ,GACvB,GAAiB,OAAbV,EAAmB,OACvB,MAAMW,EAAiB5oJ,KAAKggD,MAAMioG,EAAS3hJ,QAC3CmhJ,EAAgBmB,GAGhB,MAAMlB,QDlDDvpJ,iBAEN,aADyBiC,EAAQ,iBACZ,IACtB,CC+C2ByoJ,GACzB,OAAmB,OAAfnB,EAA4BoB,EAAcpB,QAA9C,CAAyD,EAoBpDoB,EAAgB3qJ,UAErB,GAAiC,OAA7BupJ,GAAYqB,aAAuB,OAEvC,MAAMC,QDtED7qJ,iBAEN,aAD8BiC,EAAQ,oBACZ,EAC3B,CCmE6B6oJ,GAGrBC,EAAcF,GAAcvtJ,QAAQC,GAAkC,QAAzBA,GAAMytJ,iBACzD,GAAID,GAAa9tJ,QAAU,EAAG,OAG9B,MAAMylD,EAAY,IAAI/7B,KAAK4iI,GAAY0B,gBACjCb,QDxFDpqJ,eAAyB5C,GAE/B,aADqB6E,EAAQ,WAAU7E,MACtB,CAAC,CACnB,CCqFuB8tJ,CAAU3B,GAAY4B,WACrCC,EAAY,IAAIzkI,KAAK+7B,IAAY4gC,QAAQ5gC,EAAUy/B,UAAYioE,GAAQiB,eACzED,GAAa,IAAIzkI,MAErByiI,GAAoB,EAAK,EAyB1B,MAAMkC,EAAcA,KACnB,MAAMnvJ,EAAO,CACZ,CACCiB,GAAI,EACJsxB,MAAO,aACPxyB,MAAOtE,EAAI,+CACXgzB,YAAahzB,EAAI,8CACjBmmB,YAAanmB,EAAI,gDACjB2zJ,aAAcA,IAAMrY,GAAiBD,GAAiBA,EAAe,KAEtE,CACC71I,GAAI,EACJsxB,MAAO,UACPxyB,MAAOtE,EAAI,4CACXgzB,YAAahzB,EAAI,2CACjBmmB,YAAanmB,EAAI,6CACjB2zJ,aAAcA,IAAMrY,GAAiBD,GAAiBA,EAAe,KAEtE,CACC71I,GAAI,EACJsxB,MAAO,SACPxyB,MAAOtE,EAAI,2CACXgzB,YAAahzB,EAAI,0CACjBmmB,YAAanmB,EAAI,4CACjB2zJ,aAAcA,IAAMrY,GAAiBD,GAAiBA,EAAe,MAKjEuY,EAAarvJ,GAAMU,MAAMU,GAASA,EAAKH,KAAOmsJ,GAAYnsJ,KAEhE,OACCgb,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAO,CAAE6H,gBAAiB,IAAKzH,SAAA,EACpCP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,OAAMsB,SAAE81I,GAAYtvJ,SACrCiZ,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,QAAQkB,MAAO,CAAEmU,eAAgB,IAAK/T,SAAE81I,GAAY5gI,eACrEzV,EAAAA,GAAAA,KAAC4G,GAAa,CACbzG,MAAOjB,GAAO+C,OACdkD,WAAYjG,GAAO0J,YACnB/H,QAASw1I,GAAYD,aAAa71I,SAEjC81I,GAAYztI,gBAER,EAIH0tI,EAASA,EAAGvvJ,QAAO0uB,cAAa8gI,WAAU3tI,cAAa4tI,aAAYC,gBAAevvJ,SAAQw2I,cAAa,MAE3Gz6H,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAO,CAAE6H,gBAAiB,IAAKzH,SAAA,EACpCP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,OAAOkB,MAAO,CAAEqC,WAAY,GAAIjC,SAAExZ,KACnDiZ,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,QAAQkB,MAAO,CAAEqC,WAAY,IAAKjC,SAAEkV,KACrDzV,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,QAAQkB,MAAO,CAAEqC,WAAY,IAAKjC,SAAEg2I,KAErDtzI,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOw3I,mBAAmBn2I,SAAA,EACtCP,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,SAASkB,MAAO,CAAEE,UAAW,SAAUvE,MAAOC,GAAO3E,UAAWmJ,SAC/E9d,EAAI,2CAENud,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,SAASkB,MAAO,CAAEE,UAAW,SAAUvE,MAAOC,GAAO3E,UAAWmJ,SAC/E9d,EAAI,+CAIPud,EAAAA,GAAAA,KAACwiB,GAAY,CACZE,OAAQ8zH,EACRvzH,SAAU,EACVD,SAAU,GACV4C,KAAM,EACNvC,UAAY9J,GAAUk9H,EAAcl9H,MAGrCtW,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOy3I,qBAAqBp2I,SAAA,CACvCm9H,IACA19H,EAAAA,GAAAA,KAAC4G,GAAa,CACbzG,MAAO,CAACjB,GAAO+C,OAAQ/C,GAAO4hD,WAC9B37C,WAAY,CAACjG,GAAO0J,YAAa1J,GAAO03I,gBACxC/1I,QAASA,IAAMk9H,GAAiBD,GAAiBA,EAAe,IAAGv9H,SAElE9d,EAAI,uCAGPud,EAAAA,GAAAA,KAAC4G,GAAa,CACbzG,MAAOjB,GAAO+C,OACdkD,WAAYjG,GAAO0J,YACnB/H,QAAS3Z,EAAQib,SAAyB,OAAfq0I,EAAoBj2I,SAE9CqI,UAOAiuI,EAAeA,KACpB,MAAM7vJ,EAAO,CACZ,CACCiB,GAAI,EACJsxB,MAAO,aACPxyB,MAAOtE,EAAI,sDACXgzB,YAAahzB,EAAI,qDACjBq0J,SAAUr0J,EAAI,yDACds0J,eAAgBt0J,EAAI,+DACpBmmB,YAAanmB,EAAI,uDACjB2zJ,aAAcA,IAAMrC,GAAsB,GAC1CtvI,KAAM,SAEP,CACCxc,GAAI,EACJsxB,MAAO,UACPxyB,MAAOtE,EAAI,mDACXgzB,YAAahzB,EAAI,kDACjBmmB,YAAanmB,EAAI,oDACjB2zJ,aAAcvrJ,WAGa,UrddxBA,eAA0BmsJ,GAC/B,MAAMhqJ,QAAYf,EAAQ,CAAE+qJ,aAAc,iBAAgBA,KAC1D,OAAOhqJ,GAAKsF,EACd,CqdUqC2kJ,CAAW,KAG3CjuI,GAAwB,YAAa,CACpC7iB,OAAQ,OACR8iB,SAAS,EACTlmB,OAAQ,CAAEqK,OAAQ,WAEnB2mJ,GAAsB,GAAM,EAE7BtvI,KAAM,SAEP,CACCxc,GAAI,EACJsxB,MAAO,SACPxyB,MAAOtE,EAAI,kDACXgzB,YAAahzB,EAAI,iDACjBmmB,YAAanmB,EAAI,mDACjB2zJ,aAAcvrJ,UACWzB,OAAO+oB,KAAK,+CAAgD,UAEpF4hI,GAAsB,EAAM,EAE7BtvI,KAAM,UAKF4xI,EAAarvJ,GAAMU,MAAMU,GAASA,EAAKH,KAAOmsJ,GAAYnsJ,KAEhE,OACCgb,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAO,CAAE9D,cAAe,IAAKkE,SAAA,EAClCP,EAAAA,GAAAA,KAAC+D,GAAU,CACVjhB,KAAMuzJ,GAAY5xI,KAClB3I,MAAOC,GAAOpF,UACdsN,KAAM,GACND,OAAO,MACP7D,MAAOjB,GAAOuF,QAEfzE,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,OAAMsB,SAAE81I,GAAYtvJ,SACrCiZ,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,QAAQkB,MAAO,CAAEmU,eAAgB,IAAK/T,SAAE81I,GAAY5gI,cACpE4gI,GAAYS,WAAa92I,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,OAAMsB,SAAE81I,GAAYS,WAC9DT,GAAYU,iBAAmB/2I,EAAAA,GAAAA,KAAClB,GAAU,CAACG,KAAK,QAAQkB,MAAO,CAAEmU,eAAgB,IAAK/T,SAAE81I,GAAYU,kBACrG/2I,EAAAA,GAAAA,KAAC4G,GAAa,CACbzG,MAAOjB,GAAO+C,OACdkD,WAAYjG,GAAO0J,YACnB/H,QAASw1I,GAAYD,aAAa71I,SAEjC81I,GAAYztI,gBAER,EAIHsuI,EAAQ,CACb,CACCjvJ,GAAI,EACJG,KAAMA,KAAM4X,EAAAA,GAAAA,KAACm2I,EAAW,KAEzB,CACCluJ,GAAI,EACJG,KAAMA,KACL4X,EAAAA,GAAAA,KAACyB,EAAAA,QAAI,CAAAlB,UACJP,EAAAA,GAAAA,KAACs2I,EAAM,CACNvvJ,MAAOtE,EAAI,2CACXgzB,YAAahzB,EAAI,0CACjB8zJ,SAAU9zJ,EAAI,8CACdmmB,YAAanmB,EAAI,4CACjB+zJ,WAAYlC,EACZmC,cAAelC,EACfrtJ,OAAQiwJ,EACRzZ,YAAY,OAKhB,CACCz1I,GAAI,EACJG,KAAMA,KAAM4X,EAAAA,GAAAA,KAAC62I,EAAY,MAY3BhsJ,eAAessJ,IACd,MAAMnwJ,EAAO,CAAE2sJ,SAAUS,GAAYnsJ,GAAIqsJ,oBACnCtnJ,QD9SDnC,eAA2B7D,GACjC,IAAIgG,QAAYf,EAAQjF,EAAM,iBAC9B,OAAe,IAAXgG,EAAIsF,GAAqB,CAAC,GAC9BtF,QAAYA,EAAIC,OACTD,GAAO,CAAC,EAChB,CCySoBoqJ,CAAYpwJ,GAEP,IAAnBotJ,GAAYnsJ,UAETkrF,GAAc,YAGjBnmF,GAAK+C,QACRguI,GAAiBD,GAAiBA,EAAe,GAEnD,CAkBA,OACC76H,EAAAA,GAAAA,MAAAwc,GAAAA,SAAA,CAAAlf,SAAA,EACC0C,EAAAA,GAAAA,MAAC9B,GAAY,CAACva,QAASktJ,EAAoB3zI,MAAOjB,GAAOmW,OAAO9U,SAAA,EAC/DP,EAAAA,GAAAA,KAACW,GAAe,CACfR,MAAOjB,GAAOoW,UACdpT,kBAAkB,SAClBrB,QAASi9H,IAAiBoZ,EAAMpvJ,OAAS,EAAI,IAAMisJ,GAAsB,GAhB7ElpJ,uBACO6oJ,GAAcU,GAAYnsJ,GAAI,SACpC8rJ,GAAsB,EACvB,EAa6GxzI,UAEzGP,EAAAA,GAAAA,KAAC+D,GAAU,CAACjhB,KAAK,QAAQgZ,MAAOC,GAAOjC,aAEvCo9I,GAAOpvJ,OAAS,IAChBkY,EAAAA,GAAAA,KAACyB,EAAAA,QAAI,CAAAlB,UACJP,EAAAA,GAAAA,KAACyB,EAAAA,QAAI,CAACtB,MAAO,CAAE0C,WAAY,SAAUlF,UAAW,UAAW4C,UAC1DP,EAAAA,GAAAA,KAACyB,EAAAA,QAAI,CAACtB,MAAOjB,GAAO4C,iBAAiBvB,UAnDtB44G,EAoDD+9B,EAAMpZ,IAlDxB99H,EAAAA,GAAAA,KAACyB,EAAAA,QAAI,CAAgBtB,MAAOjB,GAAOwxF,cAAcnwF,SAC/C44G,GAAM/wH,QADG+wH,GAAMlxH,eAyDjBgb,EAAAA,GAAAA,MAAC9B,GAAY,CAACva,QAASotJ,EAAkB7zI,MAAOjB,GAAOmW,OAAO9U,SAAA,EAC7DP,EAAAA,GAAAA,KAACW,GAAe,CAACR,MAAOjB,GAAOoW,UAAWpT,kBAAkB,SAASrB,QA3BxEhW,uBACO6oJ,GAAcU,GAAYnsJ,GAAI,OACpCgsJ,GAAoB,EACrB,EAwBsG1zI,UAClGP,EAAAA,GAAAA,KAAC+D,GAAU,CAACjhB,KAAK,QAAQgZ,MAAOC,GAAOjC,cAExCkG,EAAAA,GAAAA,KAACyB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOwxF,cAAcnwF,UACjCP,EAAAA,GAAAA,KAACyB,EAAAA,QAAI,CAACtB,MAAO,CAAE2E,kBAAmB,IAAKvE,UACtCP,EAAAA,GAAAA,KAACs2I,EAAM,CACNvvJ,MAAOtE,EAAI,yCACXgzB,YAAahzB,EAAI,wCACjB8zJ,SAAU9zJ,EAAI,4CACdmmB,YAAanmB,EAAI,0CACjB+zJ,WAAYhC,EACZiC,cAAehC,EACfvtJ,OAlDN2D,iBACC,MAAM7D,EAAO,CAAE2sJ,SAAUS,GAAYnsJ,GAAIusJ,kBACnCxnJ,QDrTDnC,eAAyB7D,GAC/B,IAAIgG,QAAYH,EAAO7F,EAAM,eAC7B,OAAe,IAAXgG,EAAIsF,GAAqB,CAAC,GAC9BtF,QAAYA,EAAIC,OACTD,GAAO,CAAC,EAChB,CCgToBqqJ,CAAUrwJ,GACxBgG,GAAK+C,QAAQkkJ,GAAoB,EACtC,cA1BqB96B,KA+EtB,CAEA,MAAMj6G,GAASsB,EAAAA,QAAWC,OAAO,CAChC4U,OAAQ,CACP1S,gBAAiB5G,GAAO5G,MACxBoJ,aAAc,IAEf+W,UAAW,CACV3X,UAAW,WACX0G,SAAU,WACV/G,YAAa,GACbsH,OAAQ,EACRI,IAAK,GACLD,MAAO,IAER2rF,cAAe,CACd7tF,WAAY,SACZiR,iBAAkB,GAClBnK,UAAW,IAEZ+sI,mBAAoB,CACnBlwI,cAAe,MACf3D,WAAY,SACZE,eAAgB,gBAChB4G,UAAW,IAEZgtI,qBAAsB,CACrBnwI,cAAe,MACf3D,WAAY,SACZE,eAAgB,eAChBtG,MAAO,OACPkN,UAAW,IAEZ1H,OAAQ,CACPU,gBAAiB5G,GAAOhG,UACxBwI,aAAc,GACd+V,eAAgB,IAEjBwsC,UAAW,CACVn+C,gBAAiB5G,GAAOxE,gBAEzBqR,YAAa,CACZ9D,kBAAmB,GACnBkD,gBAAiB,EACjBrN,SAAU,IAEXi8I,eAAgB,CACf96I,MAAOC,GAAOjC,UAEfgI,iBAAkB,CACjBrF,MAAO,OACPqI,kBAAmB,IAEpBL,KAAM,CACL9G,UAAW,SACXgF,gBAAiB5G,GAAOrF,gBACxB6H,aAAc,GACdgW,QAAS,GACTC,aAAc,OLrbD,WACb,MAAM8iI,EAAehnJ,QAAQ1D,MAC7B0D,QAAQ1D,MAASA,IACf,GAAqB,kBAAVA,EAAX,CACA,IAAK,MAAMyiC,KAAK8/C,GACd,GAAIviF,EAAMwc,SAAS+lE,GAAO9/C,IAAK,OAEjCioH,EAAa1qJ,EAJwB,CAIlB,EAGrB,MAAM2qJ,EAAcjnJ,QAAQknJ,KAC5BlnJ,QAAQknJ,KAAQC,IACd,GAAuB,kBAAZA,EAAX,CACA,IAAK,MAAMpoH,KAAKijH,GACd,GAAImF,EAAQruI,SAASkpI,GAASjjH,IAAK,OAErCkoH,EAAYE,EAJ2B,CAInB,CAExB,CMJAlG,GAGA,SAA4BxyI,IAC3B,MAAOnP,EAASooC,IAAc/iB,EAAAA,EAAAA,WAAS,IAChCyiI,GAAeC,EAAAA,SAAc,CACnC,kBAAmB/kI,EAAQ,OAC3B,eAAgBA,EAAQ,OACxB,mBAAoBA,EAAQ,OAC5B,iBAAkBA,EAAQ,OAC1B,cAAeA,EAAQ,OACvB,kBAAmBA,EAAQ,OAC3B,cAAeA,EAAQ,OACvB,cAAeA,EAAQ,SAOxB,OAJAhI,EAAAA,EAAAA,YAAU,MAyCX/f,iBCwKE+sJ,GAAAA,QAAQn3E,IACNo3E,GAAAA,SACAC,GAAAA,SACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,WACAC,GAAAA,WACAC,GAAAA,WACAC,GAAAA,kBACAC,GAAAA,aACAC,GAAAA,aACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,cACAC,GAAAA,cACAC,GAAAA,eACAC,GAAAA,eACAC,GAAAA,MACAC,GAAAA,MACAC,GAAAA,SACAC,GAAAA,SACAC,GAAAA,cACAC,GAAAA,aACAC,GAAAA,aACAC,GAAAA,QACAC,GAAAA,QACAC,GAAAA,QACAC,GAAAA,QACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,WACAC,GAAAA,WACAC,GAAAA,YACAC,GAAAA,YACAC,GAAAA,QACAC,GAAAA,QACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,SACAC,GAAAA,SACAC,GAAAA,cACAC,GAAAA,cACAC,GAAAA,cACAC,GAAAA,aACAC,GAAAA,aACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,aACAC,GAAAA,aACAC,GAAAA,cACAC,GAAAA,cACAC,GAAAA,cACAC,GAAAA,eACAC,GAAAA,eACAC,GAAAA,eACAC,GAAAA,cACAC,GAAAA,cACAC,GAAAA,YACAC,GAAAA,YACAC,GAAAA,kBACAC,GAAAA,gBACAC,GAAAA,WACAC,GAAAA,WACAC,GAAAA,WACAC,GAAAA,MACAC,GAAAA,MACAC,GAAAA,QACAC,GAAAA,QACAC,GAAAA,YACAC,GAAAA,YACAC,GAAAA,YACAC,GAAAA,YACAC,GAAAA,YACAC,GAAAA,YACAC,GAAAA,aACAC,GAAAA,aACAC,GAAAA,YACAC,GAAAA,YACAC,GAAAA,UACAC,GAAAA,UACAC,GAAAA,WACAC,GAAAA,WACAC,GAAAA,WACAC,GAAAA,WACAC,GAAAA,WACAC,GAAAA,WACAC,GAAAA,cACAC,GAAAA,MACAC,GAAAA,MACAC,GAAAA,WACAC,GAAAA,WACAC,GAAAA,YACAC,GAAAA,YACAC,GAAAA,YACAC,GAAAA,QACAC,GAAAA,QACAC,GAAAA,QACAC,GAAAA,cACAC,GAAAA,SACAC,GAAAA,SACAC,GAAAA,cACAC,GAAAA,cACAC,GAAAA,cACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,UACAC,GAAAA,eACAC,GAAAA,eACAC,GAAAA,eACAC,GAAAA,WACAC,GAAAA,WACAC,GAAAA,aACAC,GAAAA,aACAC,GAAAA,WACAC,GAAAA,WACAC,GAAAA,eACAC,GAAAA,eACAC,GAAAA,WACAC,GAAAA,WACAC,GAAAA,iBACAC,GAAAA,iBACAC,GAAAA,UACAC,GAAAA,cACAC,GAAAA,cACAC,GAAAA,aACAC,GAAAA,aACAC,GAAAA,YACAC,GAAAA,YACAC,GAAAA,QACAC,GAAAA,QACAC,GAAAA,QACAC,GAAAA,QACAC,GAAAA,QACAC,GAAAA,SACAC,GAAAA,MACAC,GAAAA,QACAC,GAAAA,WACAC,GAAAA,WACAC,GAAAA,OACAC,GAAAA,QACAC,GAAAA,aACAC,GAAAA,aACAC,GAAAA,YACAC,GAAAA,YACAC,GAAAA,SACAC,GAAAA,SACAC,GAAAA,YACAC,GAAAA,YACAC,GAAAA,QACAC,GAAAA,WACAC,GAAAA,OACAC,GAAAA,aACAC,GAAAA,SACAC,GAAAA,OACAC,GAAAA,eACAC,GAAAA,WACAC,GAAAA,gBACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,YACAC,GAAAA,WACAC,GAAAA,cACAC,GAAAA,cACAC,GAAAA,iBACAC,GAAAA,iBACAR,GAAAA,gBACAS,GAAAA,MACAC,GAAAA,MACAC,GAAAA,MACAC,GAAAA,QACAC,GAAAA,QACAC,GAAAA,YACAC,GAAAA,YACAC,GAAAA,cACA3E,GAAAA,SACA4E,GAAAA,UACAC,GAAAA,UACAC,GAAAA,UACAC,GAAAA,eACAC,GAAAA,eACAC,GAAAA,eACAC,GAAAA,cACAC,GAAAA,UACAC,GAAAA,UACAC,GAAAA,UACAC,GAAAA,UACAC,GAAAA,gBACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,SACAC,GAAAA,SACAC,GAAAA,SACAC,GAAAA,gBACAC,GAAAA,gBACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,cACAC,GAAAA,OACAC,GAAAA,QACAH,GAAAA,OACAI,GAAAA,aACAC,GAAAA,YACAC,GAAAA,YACAC,GAAAA,SACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,QACAC,GAAAA,UACAC,GAAAA,QACAC,GAAAA,SACAC,GAAAA,QACAC,GAAAA,YACAC,GAAAA,gBACAC,GAAAA,eACAC,GAAAA,eACAC,GAAAA,eACAC,GAAAA,cACAC,GAAAA,SACAC,GAAAA,SACAC,GAAAA,QACAC,GAAAA,WACAC,GAAAA,SACAC,GAAAA,SACAC,GAAAA,eACAC,GAAAA,aACAC,GAAAA,aACAC,GAAAA,eACAC,GAAAA,OACAC,GAAAA,eACAC,GAAAA,eACAC,GAAAA,sBACAC,GAAAA,sBACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,OACAC,GAAAA,oBACAC,GAAAA,oBACAC,GAAAA,qBD1ZH,MAAM32J,EAAgCkf,KAClClf,SAAaud,GAAgBvd,GAEjC,MAAM3G,QAAiBuB,UAEjBI,EAAAA,QAAa64C,QAAQ,WAAYx6C,GACvCvG,EAAKsH,OAASf,EAEd,MAAM4C,QAAYijD,EAAQ03G,gBAC1Bj2I,GAAW9B,IAAI2C,GAAgBvlB,EAChC,EApDE46J,GAAeh6J,MAAK,IAAMirC,GAAW,IAAO,GAC1C,KAEiB,IAAhB0/G,GAA0B9nJ,IAAYmP,EAAMioJ,mBACxChnJ,EAAAA,GAAAA,KAACyB,EAAAA,QAAI,KAIZwB,EAAAA,GAAAA,MAACxB,EAAAA,QAAI,CAACtB,MAAOjB,GAAOmT,UAAU9R,SAAA,EAC7BP,EAAAA,GAAAA,KAACinJ,EAAAA,QAAS,CAACC,SAAU,eAAgBvkJ,gBAAiB5G,GAAOxD,cAE5D0K,EAAAA,GAAAA,MAACk8B,EAAAA,OAAM,CAAA5+B,SAAA,EACNP,EAAAA,GAAAA,KAAA,UACC/X,GAAG,gBACHoxH,IAAI,iDACJ,eAAczuH,KAAqB82B,eAAiB,KACpD76B,KAAK,qBAENmZ,EAAAA,GAAAA,KAAA,QAAMld,KAAK,mBAAmB4sD,QAAQ,0BAIxC1vC,EAAAA,GAAAA,KAACmnJ,EAAAA,SAAQ,CAACl9J,MAAOA,EAAMsW,UACtB0C,EAAAA,GAAAA,MAACmkJ,EAAAA,SAAa,CAACn9J,MAAO4mB,GAAWtQ,SAAA,EAChCP,EAAAA,GAAAA,KAAC85H,GAAS,KACV95H,EAAAA,GAAAA,KAACkxI,GAAa,KACdlxI,EAAAA,GAAAA,KAACwxI,GAAiB,KAClBxxI,EAAAA,GAAAA,KAACuyI,GAAkB,KACnBvyI,EAAAA,GAAAA,KAAC6yI,GAAkB,KACnB7yI,EAAAA,GAAAA,KAAC6zI,GAAS,KACV7zI,EAAAA,GAAAA,KAACixI,GAAe,KAChBjxI,EAAAA,GAAAA,KAACyI,GAAY,KACbzI,EAAAA,GAAAA,KAACizI,GAAY,KACbjzI,EAAAA,GAAAA,KAAC0K,GAA0B,WAGvB,EAkBT,MAAMxL,GAASsB,EAAAA,QAAWC,OAAO,CAChC4R,UAAW,CACV1P,gBAAiB5G,GAAOxD,WACxBuK,KAAM,MExGRukJ,EAAAA,EAAAA,SAAsBC,G,kBCHtB,IAAIhgK,EAAM,CACT,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,KACX,aAAc,KACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,KACX,aAAc,KACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,gBAAiB,MACjB,aAAc,MACd,gBAAiB,MACjB,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,IACR,UAAW,IACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,KACX,aAAc,KACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,WAAY,MACZ,cAAe,MACf,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,YAAa,MACb,eAAgB,MAChB,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,QAAS,MACT,aAAc,MACd,gBAAiB,MACjB,WAAY,MACZ,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,YAAa,MACb,eAAgB,MAChB,UAAW,MACX,OAAQ,KACR,UAAW,KACX,aAAc,MACd,gBAAiB,MACjB,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,KACX,aAAc,MAIf,SAASigK,EAAeC,GACvB,IAAIv/J,EAAKw/J,EAAsBD,GAC/B,OAAOE,EAAoBz/J,EAC5B,CACA,SAASw/J,EAAsBD,GAC9B,IAAIE,EAAoBC,EAAErgK,EAAKkgK,GAAM,CACpC,IAAIz5J,EAAI,IAAI0tF,MAAM,uBAAyB+rE,EAAM,KAEjD,MADAz5J,EAAE65J,KAAO,mBACH75J,CACP,CACA,OAAOzG,EAAIkgK,EACZ,CACAD,EAAe90H,KAAO,WACrB,OAAOtrC,OAAOsrC,KAAKnrC,EACpB,EACAigK,EAAeM,QAAUJ,EACzBK,EAAOvlK,QAAUglK,EACjBA,EAAet/J,GAAK,K,ioGClShB8/J,EAA2B,CAAC,EAGhC,SAASL,EAAoBM,GAE5B,IAAIC,EAAeF,EAAyBC,GAC5C,QAAqB5jJ,IAAjB6jJ,EACH,OAAOA,EAAa1lK,QAGrB,IAAIulK,EAASC,EAAyBC,GAAY,CACjD//J,GAAI+/J,EACJE,QAAQ,EACR3lK,QAAS,CAAC,GAUX,OANA4lK,EAAoBH,GAAUI,KAAKN,EAAOvlK,QAASulK,EAAQA,EAAOvlK,QAASmlK,GAG3EI,EAAOI,QAAS,EAGTJ,EAAOvlK,OACf,CAGAmlK,EAAoBj/J,EAAI0/J,EC5BxBT,EAAoBW,KAAO,CAAC,E,MCA5B,IAAIC,EAAW,GACfZ,EAAoBa,EAAI,CAACv1J,EAAQw1J,EAAUC,EAAIC,KAC9C,IAAGF,EAAH,CAMA,IAAIG,EAAeC,IACnB,IAASv5H,EAAI,EAAGA,EAAIi5H,EAASxgK,OAAQunC,IAAK,CAGzC,IAFA,IAAKm5H,EAAUC,EAAIC,GAAYJ,EAASj5H,GACpCw5H,GAAY,EACP7jC,EAAI,EAAGA,EAAIwjC,EAAS1gK,OAAQk9H,MACpB,EAAX0jC,GAAsBC,GAAgBD,IAAavhK,OAAOsrC,KAAKi1H,EAAoBa,GAAG/qF,OAAOp3C,GAASshI,EAAoBa,EAAEniI,GAAKoiI,EAASxjC,MAC9IwjC,EAASt9G,OAAO85E,IAAK,IAErB6jC,GAAY,EACTH,EAAWC,IAAcA,EAAeD,IAG7C,GAAGG,EAAW,CACbP,EAASp9G,OAAO7b,IAAK,GACrB,IAAI1rB,EAAI8kJ,SACErkJ,IAANT,IAAiB3Q,EAAS2Q,EAC/B,CACD,CACA,OAAO3Q,CAnBP,CAJC01J,EAAWA,GAAY,EACvB,IAAI,IAAIr5H,EAAIi5H,EAASxgK,OAAQunC,EAAI,GAAKi5H,EAASj5H,EAAI,GAAG,GAAKq5H,EAAUr5H,IAAKi5H,EAASj5H,GAAKi5H,EAASj5H,EAAI,GACrGi5H,EAASj5H,GAAK,CAACm5H,EAAUC,EAAIC,EAqBjB,C,KCzBdhB,EAAoBoB,EAAKhB,IACxB,IAAIiB,EAASjB,GAAUA,EAAOkB,WAC7B,IAAOlB,EAAiB,QACxB,IAAM,EAEP,OADAJ,EAAoBpkJ,EAAEylJ,EAAQ,CAAEt3J,EAAGs3J,IAC5BA,CAAM,E,MCNd,IACIE,EADAC,EAAW/hK,OAAOgiK,eAAkB1jF,GAASt+E,OAAOgiK,eAAe1jF,GAASA,GAASA,EAAa,UAQtGiiF,EAAoB0B,EAAI,SAAS7vI,EAAO+U,GAEvC,GADU,EAAPA,IAAU/U,EAAQsC,KAAKtC,IAChB,EAAP+U,EAAU,OAAO/U,EACpB,GAAoB,kBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAP+U,GAAa/U,EAAMyvI,WAAY,OAAOzvI,EAC1C,GAAW,GAAP+U,GAAoC,oBAAf/U,EAAMxsB,KAAqB,OAAOwsB,CAC5D,CACA,IAAI8vI,EAAKliK,OAAOsZ,OAAO,MACvBinJ,EAAoB/jJ,EAAE0lJ,GACtB,IAAIC,EAAM,CAAC,EACXL,EAAiBA,GAAkB,CAAC,KAAMC,EAAS,CAAC,GAAIA,EAAS,IAAKA,EAASA,IAC/E,IAAI,IAAIx1J,EAAiB,EAAP46B,GAAY/U,EAAyB,iBAAX7lB,KAAyBu1J,EAAenmH,QAAQpvC,GAAUA,EAAUw1J,EAASx1J,GACxHvM,OAAOoiK,oBAAoB71J,GAAS7C,SAASu1B,GAASkjI,EAAIljI,GAAO,IAAO7M,EAAM6M,KAI/E,OAFAkjI,EAAa,QAAI,IAAM,EACvB5B,EAAoBpkJ,EAAE+lJ,EAAIC,GACnBD,CACR,C,KCxBA3B,EAAoBpkJ,EAAI,CAAC/gB,EAASinK,KACjC,IAAI,IAAIpjI,KAAOojI,EACX9B,EAAoBC,EAAE6B,EAAYpjI,KAASshI,EAAoBC,EAAEplK,EAAS6jC,IAC5Ej/B,OAAOsiK,eAAelnK,EAAS6jC,EAAK,CAAEsjI,YAAY,EAAM/sJ,IAAK6sJ,EAAWpjI,IAE1E,ECNDshI,EAAoBltJ,EAAI,WACvB,GAA0B,kBAAfmvJ,WAAyB,OAAOA,WAC3C,IACC,OAAO9tI,MAAQ,IAAI+tI,SAAS,cAAb,EAChB,CAAE,MAAO77J,GACR,GAAsB,kBAAX3E,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxBs+J,EAAoBC,EAAI,CAACliF,EAAKE,IAAUx+E,OAAO0iK,UAAUC,eAAe1B,KAAK3iF,EAAKE,GCClF+hF,EAAoB/jJ,EAAKphB,IACH,qBAAXwnK,QAA0BA,OAAOC,aAC1C7iK,OAAOsiK,eAAelnK,EAASwnK,OAAOC,YAAa,CAAEzwI,MAAO,WAE7DpyB,OAAOsiK,eAAelnK,EAAS,aAAc,CAAEg3B,OAAO,GAAO,ECL9DmuI,EAAoBuC,IAAOnC,IAC1BA,EAAOpuB,MAAQ,GACVouB,EAAOvnJ,WAAUunJ,EAAOvnJ,SAAW,IACjCunJ,GCHRJ,EAAoB/lB,EAAI,I,MCKxB,IAAIuoB,EAAkB,CACrB,IAAK,GAaNxC,EAAoBa,EAAEvjC,EAAKmlC,GAA0C,IAA7BD,EAAgBC,GAGxD,IAAIC,EAAuB,CAACC,EAA4BrjK,KACvD,IAGIghK,EAAUmC,GAHT3B,EAAU8B,EAAaC,GAAWvjK,EAGhBqoC,EAAI,EAC3B,GAAGm5H,EAASh0J,MAAMvM,GAAgC,IAAxBiiK,EAAgBjiK,KAAa,CACtD,IAAI+/J,KAAYsC,EACZ5C,EAAoBC,EAAE2C,EAAatC,KACrCN,EAAoBj/J,EAAEu/J,GAAYsC,EAAYtC,IAGhD,GAAGuC,EAAS,IAAIv3J,EAASu3J,EAAQ7C,EAClC,CAEA,IADG2C,GAA4BA,EAA2BrjK,GACrDqoC,EAAIm5H,EAAS1gK,OAAQunC,IACzB86H,EAAU3B,EAASn5H,GAChBq4H,EAAoBC,EAAEuC,EAAiBC,IAAYD,EAAgBC,IACrED,EAAgBC,GAAS,KAE1BD,EAAgBC,GAAW,EAE5B,OAAOzC,EAAoBa,EAAEv1J,EAAO,EAGjCw3J,EAAqBC,KAAsB,gBAAIA,KAAsB,iBAAK,GAC9ED,EAAmB35J,QAAQu5J,EAAqBppD,KAAK,KAAM,IAC3DwpD,EAAmB/1J,KAAO21J,EAAqBppD,KAAK,KAAMwpD,EAAmB/1J,KAAKusG,KAAKwpD,G,KC7CvF,IAAIE,EAAsBhD,EAAoBa,OAAEnkJ,EAAW,CAAC,MAAM,IAAOsjJ,EAAoB,SAC7FgD,EAAsBhD,EAAoBa,EAAEmC,E","sources":["components/text/TextFormatter.js","locales/i18n.js","redux/constants.js","redux/reducers.js","redux/store.js","services/localization.js","constants/Paths.js","services/api/ApiRequest.js","services/api/Posts.js","redux/actions.js","services/socketService.js","services/api/Inbox.js","navigation/RootNavigation.js","redux/selectors.js","constants/Fontsizes.js","constants/Colors.js","styles/typography.js","constants/Layout.js","styles/spacing.js","styles/shadows.js","styles/corners.js","styles/borders.js","components/text/StyledText.js","components/pressables/CustomPressable.js","components/dialogs/CustomDialog.js","components/icons/BoblbergIcons.js","components/icons/NormalIcon.js","components/buttons/StyledButtons.js","components/dialogs/GlobalDialog.js","constants/Features.js","navigation/MenuConfig.js","services/notifications.js","services/api/Groups.js","services/api/ChristmasFriends.js","services/api/Municipalities.js","services/authActions.js","services/api/User.js","atoms.js","utils/handlePaymentClick.js","services/api/Tracking.js","components/MainContainer/MainContainer.web.js","components/images/ImageHighlight.js","components/views/Post/PostItem.js","components/views/Post/CreatePostCard.js","components/shared/SubscriptionBenefits.js","components/views/Post/Dialogs/PromoteSubscriptionDialog.js","components/views/Post/SubscriptionPromoCard.js","components/views/Post/Dialogs/TooManyActivePostsDialog.js","components/views/Post/MyPosts.js","components/views/Post/Dialogs/PostFeedSubscriptionDialog.js","components/views/Post/FavoritePosts.js","components/activityIndicators/LoadingSpinner.js","components/notices/InvalidInputNotices.js","components/text/StyledTextinputs.js","constants/BadWords.js","components/lists/SearchList.js","components/formElements/CategorySelectList.js","components/formElements/Slider.js","components/dialogs/PostFilterSubscriptionDialog.js","components/views/Post/PostFilter.js","services/api/Advertisement.js","components/advertisement.js","components/views/Post/PostFeed.js","components/progressbars/ProgressBar.js","components/ImagePicker/ImageCropper.js","utils/getPermissions.js","components/camera-modal/camera-modal.js","components/dialogs/OptionsDialog.js","components/ImagePicker/ImagePicker.js","components/snackbars/Snackbar.js","services/api/UploadImage.js","components/switches/StyledSwitches.js","components/views/Post/Dialogs/DeletePostDialog.js","components/views/Post/Dialogs/VisibilityInfo.js","components/views/Post/Dialogs/ChangeVisibilityDialog.js","components/formElements/formElements.js","components/views/Post/Dialogs/WeakPostDialog.js","components/views/Post/Dialogs/UpdateNotAllowedDialog.js","components/views/Post/CreateEditPost.js","components/chips/Chip.js","services/api/plausible.js","components/dialogs/SubscriptionWinBackDialog.js","screens/Post/HomeScreen.js","components/headers/FavoriteIndicator.js","components/tags/PageTitle.js","components/views/Post/PostNotFound.js","components/dialogs/ContactUnavailableDialog.js","components/views/Post/Dialogs/SignUpDialog.js","components/views/Post/Dialogs/OwnPostDialog.js","components/Card.js","components/buttons/OptionButton.js","components/callToActions/reportContent.js","services/api/Reports.js","universe/universeConfig.js","universe/universeController.js","components/views/Post/Post.js","screens/Post/PostScreen.js","components/icons/NotificationBadge.js","components/lists/ListItem.js","components/lists/OptionsList.js","constants/TxtTMD.js","services/api/Universe.js","utils/URLOpener.js","services/api/volunteerApi.js","screens/StackMenu/StackMenuScreen.js","services/api/Activities.js","utils/openMap.js","components/views/Activities/Activity.js","screens/Activities/ActivityScreen.js","screens/Post/EditPostScreen.js","components/views/Profile/ProfileDialog.js","constants/RegexPatterns.js","utils/ImageHelper.js","components/formElements/PhoneNumberInput/index.web.js","components/modalSelectors/ModalSelectorCustom.js","components/views/Profile/PasswordChanger.js","components/views/Profile/Profile.js","screens/Profile/ProfileScreen.js","components/views/Groups/GroupInfo.js","components/dialogs/ScreeningConsentDialog.js","utils/getHexColor.js","components/views/Groups/Likes.js","components/views/Groups/dialogs/EditPostDialog.js","utils/addLinkToText.js","components/views/Groups/dialogs/DeletePostDialog.js","components/views/Groups/PostPin.js","components/views/Groups/GroupCommentInput.js","components/views/Groups/GroupPostFileLink.js","components/views/Groups/ImageSlider.js","components/activityIndicators/Skeleton.js","components/views/Groups/GroupPostImages.js","components/views/Groups/GroupPost.js","components/ImagePicker/WebcamCapture.js","components/ImagePicker/ImagePickerPrivate.js","constants/FilesConfig.js","components/views/Groups/GroupInput.js","components/views/Groups/GroupBulletin.js","utils/hooks.js","components/views/Groups/dialogs/LeaveGroupDialog.js","components/views/Groups/GroupMemberItem.js","components/views/Groups/dialogs/OnlyAdminInGroup.js","components/views/Groups/dialogs/GroupDialog.js","components/views/Groups/GroupMembers.js","components/views/Groups/themes/GroupThemes.js","components/views/Groups/themes/ThemeRadioButton.js","components/views/Groups/GroupSettings.js","components/views/Groups/Group.js","screens/Groups/GroupScreen.js","screens/Groups/GroupsIntro.js","components/views/Groups/dialogs/DataConsentDialog.js","components/views/Groups/GroupItem.js","components/views/Groups/GroupsAll.js","components/views/Groups/GroupsJoined.js","components/views/Groups/GroupCreate.js","screens/Groups/GroupsOverviewScreen.js","screens/Groups/GroupsScreen.js","components/maps/map.web.js","components/views/Union/UnionListItem.js","services/api/Unions.js","components/views/Union/UnionLocationModal.js","components/shared/MunicipalityFilter.js","components/views/Union/UnionFeed.js","components/views/Union/MyUnions.js","components/views/Union/FavoriteUnions.js","services/api/Addresses.js","constants/Municipalities.js","components/views/Union/ChooseFacultyItem.js","components/views/Union/CreateUnion.js","components/Integrations/FacebookPixel.js","components/Integrations/FacebookPixelSignup.js","components/views/Auth/SignupField.js","components/views/Union/UnionsSignup.js","screens/Unions/UnionFeedScreen.js","components/views/Union/Union.js","screens/Unions/UnionScreen.js","components/dates/DatePicker.js","components/dialogs/CategoryDialog.js","components/formElements/RecurringDateForm.js","components/views/Activities/CreateActivity.js","screens/Activities/EditActivityScreen.js","components/formElements/PhoneInputForm.js","services/api/Surveys.js","components/dialogs/SurveyPromptDialog.js","services/api/snakSammen.js","utils/startVideoSession.js","components/views/snakSammen/dialogs/CancelDialogs.js","components/views/snakSammen/utils/helperFunctions.js","components/views/snakSammen/BookedSessions.js","components/views/snakSammen/AvailableSessions.js","components/views/snakSammen/dialogs/GetStartedDialog.js","components/views/snakSammen/SnakSammenOversigt.js","components/views/snakSammen/VolunteerSignup.js","services/api/LearnDanish.js","components/views/LearnDanish/TextLabel.js","components/dialogs/SproglandJuniorConsentDialog.js","components/views/LearnDanish/dialogs/CancelDialogs.js","components/views/LearnDanish/dialogs/sessionCategoryDialog.js","components/views/LearnDanish/dialogs/VolunteerProfileDialog.js","components/views/LearnDanish/BookedSessions.js","components/views/LearnDanish/SproglandWaitListDialog.js","components/views/LearnDanish/AvailableSessions.js","components/views/Sprogland/BehaviorDialog.js","components/dialogs/SproglandCountryDialog.js","components/views/Sprogland/CafeMap.js","components/views/Sprogland/SproglandUserView.js","screens/LearnDanish/SproglandOptions.js","components/views/LearnDanish/SproglandOversigt.js","screens/Post/CreatePostScreen.js","components/views/Conversations/ConfirmLeaveDialog.js","christmasFriends/components/ImgHighlightChristmas.js","components/views/Conversations/ConversationListItem.js","components/views/Conversations/CreateGroupConversationItem.js","components/views/Conversations/ConversationCreate.js","components/views/Conversations/InboxOverview.js","screens/Conversation/InboxScreen.js","components/views/Conversations/chat/ChatBubble.js","components/views/Conversations/chat/ChatAttachmentToolbar.js","components/views/Conversations/chat/Chat.js","components/views/Conversations/ConversationHeader.js","services/api/ConnectionApi.js","components/views/Conversations/ConnectionDialog.js","components/views/Conversations/Connection.js","hooks/KeyboardHeight.js","components/views/Conversations/Conversation.js","screens/Conversation/ConversationScreen.js","components/views/Conversations/PostItemSmall.js","christmasFriends/components/ChristmasInfoOverview.js","components/views/Conversations/InfoOverview.js","screens/Conversation/ConversationInfoScreen.js","components/views/Union/EditUnion.js","screens/Unions/EditUnionScreen.js","components/events/SearchBar.js","components/events/EventListItem.js","services/api/Events.js","screens/Events/EventFeedScreen.js","hooks/DeepLinkingStatus.js","screens/Events/EventScreen.js","navigation/navigationConfig.js","screens/AboutScreens/AboutScreen.js","screens/AboutScreens/ContactScreen.js","components/views/Stories/Story.js","screens/Stories/StoriesScreen.js","services/api/Stories.js","components/callToActions/signInCardCall.js","components/views/Stories/StoryFull.js","screens/Stories/StoryScreen.js","components/views/Conversations/Conditions.js","screens/HelpMenu/ConditionsScreen.js","components/views/About/BlogsMenu.js","components/views/About/Blog/Line.js","components/views/About/Blog/Zuzan.js","components/views/About/Blog/Morten.js","components/views/About/Blog/Thomas.js","components/views/About/Blog/Conny.js","components/views/About/Blog/Emma.js","components/views/About/Blog/Rikke.js","components/views/About/Blog/Nicolaj-1.js","components/views/About/Blog/Nicolaj-2.js","components/views/About/Blog/Finn.js","components/views/About/Blog/Anna.js","screens/AboutScreens/BlogScreen.js","constants/TxtProjects.js","components/views/About/ProjectsViews/ProjectStyles.js","components/views/About/ProjectsViews/Demantec2.js","components/views/About/ProjectsViews/SBB.js","components/views/About/ProjectsViews/PHD.js","components/views/About/ProjectsViews/CHS.js","components/views/About/ProjectsViews/OPILDL.js","components/views/About/ProjectsViews/OPIFakto.js","components/views/About/ProjectsViews/OEUG.js","components/views/About/ProjectsViews/AnalyseAfMentalMistrivsel.js","screens/AboutScreens/ProjectsScreen.js","components/views/About/ProjectsMenu.js","components/views/About/MunicipalityInfo.js","screens/AboutScreens/MunicipalityInfoScreen.js","components/chips/FilterButton.js","components/views/About/PressContact.js","components/views/About/Press.js","services/api/Press.js","screens/AboutScreens/PressScreen.js","components/views/About/PartnersMenu.js","components/views/About/AboutUs.js","screens/AboutScreens/AboutUsScreen.js","components/views/About/PartnersViews/ABCMentalSundhed.js","components/views/About/PartnersViews/AdipositasForeningen.js","components/views/About/PartnersViews/Arbejdermuseet.js","components/views/About/PartnersViews/BørneBuddies.js","components/views/About/PartnersViews/CHC.js","components/views/About/PartnersViews/Copa.js","components/views/About/PartnersViews/DLSC.js","components/views/About/PartnersViews/DrugRebels.js","components/views/About/PartnersViews/FamilieKlub.js","components/views/About/PartnersViews/FrederiksbergMuseerne.js","components/views/About/PartnersViews/Fremdrift.js","components/views/About/PartnersViews/GirlTalk.js","components/views/About/PartnersViews/GivingTuesday.js","components/views/About/PartnersViews/HivDanmark.js","components/views/About/PartnersViews/Hjerteforeningen.js","components/views/About/PartnersViews/Idan.js","components/views/About/PartnersViews/LandsforeningenLEV.js","components/views/About/PartnersViews/LærForLivet.js","components/views/About/PartnersViews/Misbrugsportalen.js","components/views/About/PartnersViews/Modensomhed.js","components/views/About/PartnersViews/NSCC.js","components/views/About/PartnersViews/SindUngdom.js","components/views/About/PartnersViews/SOMS.js","components/views/About/PartnersViews/Startlinjen.js","components/views/About/PartnersViews/SUMH.js","components/views/About/PartnersViews/Veteran.js","screens/AboutScreens/PartnersScreen.js","components/views/About/EventsViews/Biblioteker.js","components/views/About/EventsViews/Byfester.js","components/views/About/EventsViews/Festivaler.js","components/views/About/EventsViews/Messer.js","components/views/About/EventsViews/Motion.js","components/views/About/EventsViews/Sundhedscentre.js","components/views/About/EventsViews/Gymnasier.js","components/views/About/EventsViews/Efterskoler.js","components/views/About/EventsViews/Hoejskoler.js","components/views/About/EventsViews/Sprogskoler.js","components/views/About/EventsViews/Storcentre.js","components/views/About/EventsViews/Tilflyttere.js","screens/AboutScreens/ArrangementScreen.js","components/views/About/Arrangements.js","components/views/About/Faellesskabsprisen.js","screens/AboutScreens/FaellesskabsprisenScreen.js","components/formElements/LanguagePicker.js","screens/LearnDanish/LearnDanish.js","screens/SnakSammen/SnakSammenIntro.js","screens/Universe/IntroViews/AauucnIntro.js","screens/Universe/IntroViews/FFBIntro.js","screens/Universe/IntroViews/SABIntro.js","screens/Universe/IntroViews/BESIntro.js","screens/Universe/IntroViews/LBSIntro.js","screens/Universe/IntroViews/BSFIntro.js","screens/Universe/IntroViews/ABSIntro.js","screens/Universe/IntroViews/RFIntro.js","screens/Universe/IntroViews/HerlevIntro.js","screens/Universe/IntroUniverse.js","screens/Universe/NeighborIntro.js","components/views/Password/ChangePassword.js","screens/Auth/ChangePasswordScreen.js","navigation/navigationStacks/sharedStack.js","components/icons/TabBarIcon.js","components/views/Activities/ActivityListItem.js","components/views/Activities/MyActivities.js","components/views/Activities/PrintButton.js","components/views/Activities/PrintDocument.web.js","components/views/Activities/FavoriteActivities.js","components/lists/List.js","components/text/SearchBar.js","hooks/UniverseConfig.js","components/maps/MapModal.js","components/maps/ActivitiesMap.web.js","components/views/Activities/ActivityFeed.js","components/views/Activities/Activities.js","screens/Activities/ActivitiesFeedScreen.js","components/views/About/MenuDialog/MenuDialogs.js","components/tags/Version.js","components/views/Settings/Settings.js","constants/NotificationSettingsTypes.js","screens/Settings/SettingsScreen.js","components/views/Settings/MessageNotifications.js","components/views/Settings/GroupNotifications.js","components/views/Settings/VideoConversationsNotifications.js","components/views/Settings/Notifications.js","screens/Settings/NotificationsScreen.js","components/views/Sprogland/JuniorCreateDialog.js","components/views/Sprogland/JuniorSelectDialog.js","components/views/Sprogland/SproglandJunior.js","screens/LearnDanish/SproglandJuniorScreen.js","services/api/JuniorApi.js","components/views/Profile/ProfileView.js","screens/Profile/ProfileViewScreen.js","components/views/LearnDanish/JuniorList.js","components/views/LearnDanish/SproglandDurationSelector.js","components/views/LearnDanish/volunteer/RenderPreviousBookers.js","components/views/LearnDanish/dialogs/PreCreateDialog.js","components/views/LearnDanish/CreateSessions.js","constants/SproglandCategories.js","components/views/LearnDanish/OwnBookedSessions.js","components/views/LearnDanish/OwnNotBookedSessions.js","components/views/LearnDanish/volunteer/AllSessions.js","components/views/LearnDanish/dialogs/ProfileCompletionDialog.js","components/views/LearnDanish/volunteer/MySessions.js","components/views/LearnDanish/volunteer/PreviousSessions.js","components/views/LearnDanish/volunteer/Materials.js","components/views/LearnDanish/volunteer/Messages.js","components/views/LearnDanish/volunteer/VolunteerProfile.js","screens/LearnDanish/VolunteerScreen.js","components/views/snakSammen/volunteer/SnakSammenDurationSelector.js","components/views/snakSammen/volunteer/RenderPreviousBookers.js","components/views/snakSammen/CreateSessions.js","components/views/snakSammen/dialogs/UserDetailsDialog.js","components/views/snakSammen/dialogs/ReportSproglandUserDialog.js","components/views/snakSammen/OwnBookedSessions.js","components/views/snakSammen/OwnNotBookedSessions.js","components/views/snakSammen/AllSessions.js","components/views/snakSammen/volunteer/VolunteerProfile.js","components/views/snakSammen/dialogs/ProfileDialog.js","components/views/snakSammen/dialogs/CreateSessionDialog.js","components/views/snakSammen/WaitlistUsers.js","components/views/snakSammen/volunteer/MySessions.js","components/views/snakSammen/volunteer/PreviousSessions.js","components/views/snakSammen/volunteer/Materials.js","components/views/snakSammen/volunteer/Messages.js","screens/SnakSammen/VolunteerScreen.js","components/CmsView.js","screens/cms/WhatIsBoblberg.js","navigation/MainTabNavigator.js","components/views/Auth/LoginForm.js","components/views/Auth/Login.js","screens/Auth/LoginScreen.js","components/views/Password/ResetPassword.js","screens/Auth/ResetPasswordScreen.js","screens/StackMenu/StackMenuAuthScreen.js","screens/SnakSammen/SnakSammenSignup.js","screens/Groups/GroupsSignup.js","screens/Activities/ActivitiesSignupScreen.js","screens/Universe/SignupUniverse.js","christmasFriends/screens/SignupChristmasScreen.js","components/carousels/CarouselPrimary.js","components/text/Heading.js","components/cases/Case.js","christmasFriends/screens/IntroChristmasScreen.js","christmasFriends/screens/LoginChristmasScreen.js","screens/LearnDanish/LearnDanishSignup.js","navigation/navigationStacks/AuthStack.js","screens/Universe/UniversityDialog.js","hooks/Universe.js","screens/Universe/Bobls/BoblsUniverseScreen.js","screens/Universe/Bobls/BoblUniverseScreen.js","screens/Universe/Bobls/EditBoblUniverseScreen.js","screens/Universe/Bobls/CreateBoblUniverseScreen.js","screens/Universe/Activities/ActivitiesUniverseScreen.js","screens/Universe/Unions/UnionsUniverseScreen.js","screens/Universe/Unions/UnionUniverseScreen.js","screens/Universe/Unions/EditUnionUniverseScreen.js","screens/Universe/Activities/ActivityUniverseScreen.js","screens/Universe/Activities/EditActivityUniverseScreen.js","components/views/Universe/BroenHerlev.js","components/views/Universe/Area9.js","components/views/Universe/RodeKorsHerlev.js","components/views/Universe/RodeKors.js","components/views/Universe/WeCare.js","components/views/Universe/LaerAtTackle.js","components/views/Universe/Frivilligcenter.js","components/views/Universe/HerlevBibliotek.js","components/views/Universe/HerlevKommune.js","screens/Universe/Menu/HerlevOffersScreen.js","screens/Universe/KrifaOffersScreen.js","constants/Modules.js","screens/Universe/Menu/StackUniverseMenuScreen.js","screens/Universe/Menu/UniverseProfileScreen.js","screens/Universe/Conversations/InboxUniverseScreen.js","screens/Universe/Conversations/ConversationUniverseScreen.js","screens/Universe/Conversations/ConversationInfoUniverseScreen.js","screens/Universe/Settings/SettingsUniverseScreen.js","screens/Universe/Settings/NotificationsUniverseScreen.js","screens/Universe/Groups/GroupUniverseScreen.js","screens/Universe/Groups/GroupsUniverseScreen.js","screens/Universe/Menu/UniverseProfileViewScreen.js","navigation/UniverseStack.js","christmasFriends/screens/christmasFeed/ChristmasPostItem.js","christmasFriends/screens/christmasFeed/FeedFilterIcons.js","christmasFriends/screens/AfterSignupChristmasScreen.js","christmasFriends/components/AfterSignupDialog.js","christmasFriends/screens/christmasFeed/ChristmasFeedScreen.js","christmasFriends/screens/post/PostTypeScreenChristmas.js","components/formElements/NumberPicker.js","christmasFriends/components/MatchDialog.js","constants/PostalCodes.js","christmasFriends/components/noImageDialog.js","christmasFriends/components/ChristmasPostEdit.js","christmasFriends/screens/post/PostCreateChristmasScreen.js","christmasFriends/screens/post/PostEditChristmasScreen.js","christmasFriends/screens/FAQScreenChristmas.js","christmasFriends/screens/AfterMatchChristmasScreen.js","christmasFriends/screens/ContactChristmasScreen.js","christmasFriends/components/PostChristmas.js","christmasFriends/screens/post/PostChristmasScreen.js","christmasFriends/screens/conversation/InboxChristmasScreen.js","christmasFriends/components/match/MatchQuestionDialog.js","christmasFriends/components/match/PostHiddenDialog.js","christmasFriends/components/match/AfterMatchDialog.js","christmasFriends/screens/conversation/ConversationChristmasScreen.js","christmasFriends/screens/conversation/ConversationInfoChristmasScreen.js","christmasFriends/screens/StackChristmasMenuScreen.js","christmasFriends/components/match/MatchChooseDialog.js","christmasFriends/screens/post/MyPostsChristmasScreen.js","navigation/ChristmasFriendsStack.js","screens/Universe/StudieboblerSelection.js","navigation/StudieboblerStack.js","components/overlay/DeepLinkSession.js","navigation/AppNavigator.js","navigation/useRedirect.js","components/snackbars/AppAnnouncement.js","components/Integrations/MakeInfluence.js","services/sentry/index.web.js","components/overlay/DownloadAppBanner.js","utils/ignoreErrors.js","components/overlay/ChooseGenderDialog.js","components/dialogs/SubscriptionDialog.js","components/dialogs/update.js","services/api/Courses.js","components/dialogs/OPIDialog.js","App.js","constants/Icons.js","index.js","node_modules/moment/locale|sync|/^/.*$","webpack/bootstrap","webpack/runtime/amd options","webpack/runtime/chunk loaded","webpack/runtime/compat get default export","webpack/runtime/create fake namespace object","webpack/runtime/define property getters","webpack/runtime/global","webpack/runtime/hasOwnProperty shorthand","webpack/runtime/make namespace object","webpack/runtime/node module decorator","webpack/runtime/publicPath","webpack/runtime/jsonp chunk loading","webpack/startup"],"sourcesContent":["exports.formatForSeoBody = function (txt) {\r\n return txt\r\n .replace(/ +/g, ' ')\r\n .trim()\r\n .replace('\\n', '')\r\n .replace('\\t', '')\r\n .slice(0, 160)\r\n}\r\n\r\nexports.formatForMetaTitle = function (txt) {\r\n return txt\r\n .replace(/ +/g, ' ')\r\n .trim()\r\n .replace('\\n', '')\r\n .replace('\\t', '')\r\n .slice(0, 64)\r\n}\r\n","import i18n from 'i18n-js'\r\nimport da from './da.json'\r\nimport en from './en.json'\r\nimport sv from './sv.json'\r\nimport fi from './fi.json'\r\nimport uk from './uk.json'\r\nimport de from './de.json'\r\nimport ar from './ar.json'\r\n\r\n// Fallbacks to next language with existing kay\r\ni18n.fallbacks = true\r\n\r\ni18n.translations = {\r\n da,\r\n en,\r\n sv,\r\n fi,\r\n uk,\r\n de,\r\n ar,\r\n}\r\n\r\nexport function txt(name, params = {}) {\r\n return i18n.t(name, params)\r\n}\r\n\r\nexport default i18n\r\n","export const Actions = {\r\n SET_NOTIFICATIONS: 'SET_NOTIFICATIONS',\r\n SET_OWN_POST: 'SET_OWN_POST',\r\n UPDATE_OWN_POST: 'UPDATE_OWN_POST',\r\n SET_ANNOUNCEMENT: 'SET_ANNOUNCEMENT',\r\n SET_DATA_RESPONSIBLE: 'DATA_RESPONSIBLE',\r\n SET_USER_TOKEN: 'SET_USER_TOKEN',\r\n SET_DEVICE_ID: 'SET_DEVICE_ID',\r\n SET_USER: 'SET_USER',\r\n SET_CONVERSATIONS: 'SET_CONVERSATIONS',\r\n ADD_CONVERSATION: 'ADD_CONVERSATION',\r\n REMOVE_CONVERSATION: 'REMOVE_CONVERSATION',\r\n UPDATE_CONVERSATION: 'UPDATE_CONVERSATION',\r\n ADD_CONVERSATION_MESSAGE: 'ADD_CONVERSATION_MESSAGE',\r\n DELETE_CONVERSATION_MESSAGE: 'DELETE_CONVERSATION_MESSAGE',\r\n SET_SHOW_MAKEINFLUENCE: 'SET_SHOW_MAKEINFLUENCE',\r\n SET_ORIGIN: 'SET_ORIGIN',\r\n SET_USER_UNIVERSES: 'SET_USER_UNIVERSES',\r\n SET_USER_PREFERENCES: 'SET_USER_PREFERENCES',\r\n UPDATE_USER_PREFERENCES: 'UPDATE_USER_PREFERENCES',\r\n SET_GROUPS: 'SET_GROUPS',\r\n UPDATE_GROUP: 'UPDATE_GROUP',\r\n LEAVE_GROUP: 'LEAVE_GROUP',\r\n SET_CHRISTMAS_POST: 'SET_CHRISTMAS_POST',\r\n UPDATE_CHRISTMAS_POST: 'UPDATE_CHRISTMAS_POST',\r\n DELETE_CHRISTMAS_POST: 'DELETE_CHRISTMAS_POST',\r\n SET_CHRISTMAS_DIALOG_VISIBLE: 'SET_CHRISTMAS_DIALOG_VISIBLE',\r\n SET_CHRISTMAS_MATCH_DIALOG_VISIBLE: 'SET_CHRISTMAS_MATCH_DIALOG_VISIBLE',\r\n RESET_STATE: 'RESET_STATE',\r\n SET_GLOBAL_DIALOG: 'SET_GLOBAL_DIALOG',\r\n SET_MUNICIPALITIES: 'SET_MUNICIPALITIES',\r\n}\r\n","import { Actions } from './constants'\r\n\r\nconst initialState = {\r\n user_post: null,\r\n announcement: '',\r\n dataResponsible: '',\r\n user: null,\r\n userToken: null,\r\n deviceId: null,\r\n conversations: [],\r\n showMakeInfluence: false,\r\n municipalities: [],\r\n origin: {\r\n stack: null,\r\n screen: null,\r\n universe: null,\r\n },\r\n universe: '',\r\n groups: null,\r\n preferences: null,\r\n christmas: {\r\n post: null,\r\n dialogVisible: false,\r\n matchDialogVisible: false,\r\n },\r\n globalDialog: {\r\n visible: false,\r\n type: null,\r\n text: '',\r\n title: '',\r\n data: {},\r\n }\r\n}\r\n\r\nfunction rootReducer(state = initialState, action) {\r\n if (action.type === Actions.RESET_STATE) {\r\n return initialState\r\n }\r\n if (action.type === Actions.SET_OWN_POST) {\r\n return Object.assign({}, state, {\r\n user_post: action.payload,\r\n })\r\n }\r\n if (action.type === Actions.UPDATE_OWN_POST) {\r\n return Object.assign({}, state, {\r\n user_post: { ...state.user_post, ...action.payload },\r\n })\r\n }\r\n if (action.type === Actions.SET_ANNOUNCEMENT) {\r\n return Object.assign({}, state, {\r\n announcement: action.payload,\r\n })\r\n }\r\n if (action.type === Actions.SET_DATA_RESPONSIBLE) {\r\n return Object.assign({}, state, {\r\n dataResponsible: action.payload,\r\n })\r\n }\r\n if (action.type === Actions.SET_USER_TOKEN) {\r\n return Object.assign({}, state, {\r\n userToken: action.payload,\r\n })\r\n }\r\n\r\n if (action.type === Actions.SET_DEVICE_ID) {\r\n return Object.assign({}, state, {\r\n deviceId: action.payload,\r\n })\r\n }\r\n\r\n if (action.type === Actions.SET_USER) {\r\n return Object.assign({}, state, {\r\n user: action.payload,\r\n })\r\n }\r\n if (action.type === Actions.SET_ORIGIN) {\r\n return {\r\n ...state,\r\n origin: {\r\n ...state.origin,\r\n ...action.payload,\r\n },\r\n }\r\n }\r\n\r\n if (action.type === Actions.SET_CONVERSATIONS) {\r\n const conversations = action.payload.map((conversation) => {\r\n conversation.reloadConversation = false\r\n const storedConversation = state.conversations.find(({ conversation_id }) => {\r\n return conversation_id === conversation.conversation_id\r\n })\r\n\r\n if (!storedConversation) return conversation\r\n\r\n const conversationMessages = conversation?.messages ?? null\r\n if (conversationMessages === null) return storedConversation\r\n\r\n const currentLastMessageIndex = (conversation?.messages?.length ?? 0) - 1\r\n const currentLastMessage = conversation.messages[currentLastMessageIndex] ?? null\r\n const [previousLastMessage] = storedConversation.messages\r\n\r\n if (currentLastMessage === null) return storedConversation\r\n\r\n if (currentLastMessage?.id !== previousLastMessage?.id) {\r\n storedConversation.messages.unshift(currentLastMessage)\r\n }\r\n\r\n return storedConversation\r\n })\r\n\r\n state.conversations = conversations\r\n return state\r\n }\r\n\r\n if (action.type === Actions.ADD_CONVERSATION) {\r\n return {\r\n ...state,\r\n conversations: [action.conversation, ...state.conversations],\r\n }\r\n }\r\n if (action.type === Actions.REMOVE_CONVERSATION) {\r\n return {\r\n ...state,\r\n conversations: state.conversations.filter(\r\n (item) => item.conversation_id !== action.payload\r\n ),\r\n }\r\n }\r\n\r\n if (action.type === Actions.UPDATE_CONVERSATION) {\r\n const conversations = state.conversations.map((conv) => {\r\n return conv.conversation_id === action.conversation.conversation_id\r\n ? { ...conv, ...action.conversation }\r\n : conv\r\n })\r\n return { ...state, conversations }\r\n }\r\n\r\n if (action.type === Actions.ADD_CONVERSATION_MESSAGE) {\r\n const conversation = state.conversations.find(\r\n (conv) => conv.conversation_id === Number(action.conversationID)\r\n )\r\n const existingMessage = conversation.messages?.find(\r\n (m) => m.id === action.message.id\r\n )\r\n if (!existingMessage) {\r\n const messages = conversation.messages?.slice() || []\r\n messages.unshift(action.message)\r\n const conversations = state.conversations.filter(\r\n (conv) => conv.conversation_id !== action.conversationID\r\n )\r\n conversation.messages = messages\r\n conversations.unshift(conversation)\r\n return { ...state, conversations }\r\n }\r\n return state\r\n }\r\n\r\n if (action.type === Actions.DELETE_CONVERSATION_MESSAGE) {\r\n const conversation = state.conversations.find(\r\n (conv) => conv.conversation_id === action.conversationID\r\n )\r\n conversation.messages = conversation.messages?.map((msg) => {\r\n if (msg.id === action.messageID) {\r\n msg.status_id = -3\r\n msg.body = ''\r\n }\r\n return msg\r\n })\r\n\r\n const conversations = state.conversations.map((conv) => {\r\n if (conv.conversation_id === action.conversationID) {\r\n return conversation\r\n }\r\n return conv\r\n })\r\n\r\n return { ...state, conversations }\r\n }\r\n\r\n if (action.type === Actions.SET_SHOW_MAKEINFLUENCE) {\r\n return Object.assign({}, state, {\r\n showMakeInfluence: action.payload,\r\n })\r\n }\r\n\r\n if (action.type === Actions.SET_USER_UNIVERSES) {\r\n return {\r\n ...state,\r\n user: {\r\n ...state.user,\r\n universes: [...state.user.universes, ...action.universes],\r\n },\r\n }\r\n }\r\n\r\n if (action.type === Actions.SET_USER_PREFERENCES) {\r\n return {\r\n ...state,\r\n preferences: action.preferences,\r\n }\r\n }\r\n\r\n if (action.type === Actions.UPDATE_USER_PREFERENCES) {\r\n return {\r\n ...state,\r\n preferences: { ...state.preferences, ...action.preferences },\r\n }\r\n }\r\n\r\n if (action.type === Actions.SET_GROUPS) {\r\n return {\r\n ...state,\r\n groups: action.groups,\r\n }\r\n }\r\n\r\n if (action.type === Actions.UPDATE_GROUP) {\r\n const groups = state.groups.map((group) => {\r\n return group.id === action.group.id\r\n ? { ...group, ...action.group }\r\n : group\r\n })\r\n return {\r\n ...state,\r\n groups,\r\n }\r\n }\r\n\r\n if (action.type === Actions.LEAVE_GROUP) {\r\n const groups = state.groups.filter((group) => {\r\n return group.id !== action.groupId\r\n })\r\n return {\r\n ...state,\r\n groups,\r\n }\r\n }\r\n\r\n if (action.type === Actions.SET_CHRISTMAS_POST) {\r\n return { ...state, christmas: {\r\n ...state.christmas,\r\n post: action.post\r\n }}\r\n }\r\n\r\n if (action.type === Actions.UPDATE_CHRISTMAS_POST) {\r\n return {\r\n ...state,\r\n christmas: {\r\n ...state.christmas,\r\n post: { ...state.christmas.post, ...action.post },\r\n },\r\n }\r\n }\r\n\r\n if (action.type === Actions.DELETE_CHRISTMAS_POST) {\r\n return { ...state, christmas: {\r\n ...state.christmas,\r\n post: null\r\n }}\r\n }\r\n\r\n if (action.type === Actions.SET_CHRISTMAS_DIALOG_VISIBLE) {\r\n return {\r\n ...state,\r\n christmas: {\r\n ...state.christmas,\r\n dialogVisible: action.dialogVisible,\r\n },\r\n }\r\n }\r\n\r\n if (action.type === Actions.SET_CHRISTMAS_MATCH_DIALOG_VISIBLE) {\r\n return {\r\n ...state,\r\n christmas: {\r\n ...state.christmas,\r\n matchDialogVisible: action.matchDialogVisible,\r\n },\r\n }\r\n }\r\n\r\n if (action.type === Actions.SET_GLOBAL_DIALOG) {\r\n return {\r\n ...state,\r\n globalDialog: action.globalDialog\r\n }\r\n }\r\n\r\n if (action.type === Actions.SET_MUNICIPALITIES) {\r\n return {\r\n ...state,\r\n municipalities: action.municipalities\r\n }\r\n }\r\n\r\n return state\r\n}\r\nexport default rootReducer\r\n","import { createStore } from 'redux'\r\nimport rootReducer from './reducers'\r\n\r\nconst store = createStore(\r\n rootReducer,\r\n window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()\r\n)\r\n\r\nexport default store\r\n","import { Platform } from 'react-native'\r\nimport * as Localization from 'expo-localization'\r\nimport AsyncStorage from '@react-native-async-storage/async-storage'\r\n\r\nimport store from '../redux/store'\r\n\r\nexport const countries = [\r\n { name: 'Denmark', language: 'da', region: 'dk' },\r\n { name: 'Sweden', language: 'sv', region: 'se' },\r\n { name: 'Germany', language: 'de', region: 'de' },\r\n { name: 'Finland', language: 'fi' },\r\n { name: 'England', language: 'en' },\r\n { name: 'Ukraine', language: 'uk' },\r\n { name: 'Arabic', language: 'ar' },\r\n]\r\n\r\n////////// REGION //////////\r\n\r\nfunction getDomainRegion() {\r\n const host = window.location.host\r\n\r\n const regionPattern = /boblberg\\.(?\\w{2})\\/?/\r\n const regionPatternResult = regionPattern.exec(host)\r\n\r\n const region = regionPatternResult?.groups?.region\r\n return region ?? null\r\n}\r\n\r\nfunction getUserRegion() {\r\n const user = store.getState()?.user ?? null\r\n if (user === null) return null\r\n\r\n const country = countries.find((country) => country?.name === user?.country)\r\n return country?.region ?? null\r\n}\r\n\r\nfunction getSystemRegion() {\r\n if (Platform.OS !== 'web') {\r\n const systemRegion = Localization?.region ?? null\r\n if (systemRegion === null) return null\r\n\r\n const country = countries.find((country) => {\r\n return country?.region === systemRegion?.toLowerCase()\r\n })\r\n\r\n return country?.region ?? null\r\n }\r\n\r\n const [locale = null] = Localization?.getLocales?.() ?? []\r\n const systemRegion = locale?.regionCode ?? null\r\n\r\n if (systemRegion === null) return null\r\n\r\n const country = countries.find((country) => {\r\n return country?.region === systemRegion?.toLowerCase()\r\n })\r\n\r\n return country?.region ?? null\r\n}\r\n\r\nexport function getRegion() {\r\n if (Platform.OS === 'web') {\r\n const domainRegion = getDomainRegion()\r\n if (domainRegion !== null) return domainRegion\r\n }\r\n\r\n const userRegion = getUserRegion()\r\n if (userRegion !== null) return userRegion\r\n\r\n const systemRegion = getSystemRegion()\r\n if (systemRegion !== null) return systemRegion\r\n\r\n return 'dk' // fallback\r\n}\r\n\r\n////////// LANGUAGE //////////\r\n\r\nfunction getUserLanguage() {\r\n const user = store.getState()?.user ?? null\r\n return user?.language ?? null\r\n}\r\n\r\nfunction getSystemLanguage() {\r\n if (Platform.OS !== 'web') {\r\n const [locale] = Localization.getLocales()\r\n const systemLanguage = locale?.languageCode ?? null\r\n\r\n const country = countries.find((country) => country.language === systemLanguage)\r\n return country?.language ?? null\r\n }\r\n\r\n const [locale = null] = Localization?.getLocales?.() ?? []\r\n const systemLanguage = locale?.languageCode ?? null\r\n\r\n if (systemLanguage === null) return null\r\n\r\n const country = countries.find((country) => country.language === systemLanguage)\r\n return country?.language ?? null\r\n}\r\n\r\nexport function getDomainLanguage() {\r\n const domainRegion = getDomainRegion()\r\n if (domainRegion === null) return null\r\n\r\n const country = countries.find((country) => country.region === domainRegion)\r\n return country?.language ?? null\r\n}\r\n\r\nexport async function getLanguage() {\r\n const userLanguage = getUserLanguage()\r\n if (userLanguage !== null) return userLanguage\r\n\r\n const storedLanguage = await AsyncStorage.getItem('language')\r\n if (storedLanguage !== null) return storedLanguage\r\n\r\n const systemLanguage = getSystemLanguage()\r\n if (systemLanguage !== null) return systemLanguage\r\n\r\n if (Platform.OS === 'web') {\r\n const domainLanguage = getDomainLanguage()\r\n if (domainLanguage !== null) return domainLanguage\r\n }\r\n\r\n return 'da' // fallback\r\n}\r\n","import { getRegion } from '../services/localization'\r\n\r\nexport default {\r\n\t// apiBaseUrl: 'http://localhost:3000/api/v1/',\r\n\t// apiBaseUrl: 'https://testapi.boblberg.dk/api/v1/',\r\n\tapiBaseUrl: 'https://api.boblberg.dk/api/v1/',\r\n\tsocketIOBaseUrl: 'https://sockets.boblberg.dk/',\r\n\timageUrlBase: 'https://filer.boblberg.dk/Img/Bobler/',\r\n\timageEventUrlBase: 'https://filer.boblberg.dk/Img/Events/',\r\n\timageUrlBaseJV: 'https://filer.boblberg.dk/Img/Julevenner/',\r\n\tstoryUrlBase: 'https://filer.boblberg.dk/Img/Historier/',\r\n\tactivityUrlBase: 'https://filer.boblberg.dk/Img/Aktiviteter/',\r\n\tgroupUrlBase: 'https://filer.boblberg.dk/Img/Grupper/',\r\n\r\n\tgetBaseUrl: () => {\r\n\t\tif (__DEV__) {\r\n\t\t\treturn 'http://localhost:3001/'\r\n\t\t}\r\n\r\n\t\tconst region = getRegion()\r\n\t\t// const baseUrl = `https://test.boblberg.${region}/`\r\n\t\tconst baseUrl = `https://boblberg.${region}/`\r\n\t\treturn baseUrl\r\n\t},\r\n}","import Paths from '../../constants/Paths'\r\nimport store from '../../redux/store'\r\n\r\n\r\n//https://facebook.github.io/react-native/docs/network\r\nexport async function apiPost(jsonData, url) {\r\n try {\r\n return await fetch(Paths.apiBaseUrl + url, {\r\n method: 'POST',\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + store.getState().userToken,\r\n deviceId: store.getState().deviceId,\r\n },\r\n body: JSON.stringify(jsonData),\r\n })\r\n } catch (error) {\r\n if (__DEV__) console.error(error)\r\n }\r\n}\r\n\r\nexport async function apiPostImage(jsonData, url) {\r\n try {\r\n return await fetch(Paths.apiBaseUrl + url, {\r\n method: 'POST',\r\n headers: {\r\n Accept: 'application/json',\r\n Authorization: 'Bearer ' + store.getState().userToken,\r\n deviceId: store.getState().deviceId,\r\n },\r\n body: jsonData,\r\n })\r\n } catch (error) {\r\n if (__DEV__) console.error(error)\r\n }\r\n}\r\n\r\nexport async function apiPut(jsonData, url) {\r\n try {\r\n return await fetch(Paths.apiBaseUrl + url, {\r\n method: 'PUT',\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + store.getState().userToken,\r\n deviceId: store.getState().deviceId,\r\n },\r\n body: JSON.stringify(jsonData),\r\n })\r\n } catch (error) {\r\n if (__DEV__) console.error(error)\r\n }\r\n}\r\n\r\nexport async function apiGet(url) {\r\n try {\r\n return await fetch(Paths.apiBaseUrl + url, {\r\n method: 'GET',\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + (store.getState().userToken ?? ''),\r\n deviceId: store.getState().deviceId,\r\n },\r\n }).then((res) => res.json())\r\n } catch (error) {\r\n if (__DEV__) console.error(error)\r\n }\r\n}\r\n\r\nexport async function apiGetFile(url) {\r\n const urlFull = Paths.apiBaseUrl + url\r\n const token = store.getState().userToken\r\n\r\n const options = {\r\n method: 'GET',\r\n headers: {\r\n authorization: `Bearer ${token ?? ''}`,\r\n deviceId: store.getState().deviceId,\r\n },\r\n }\r\n try {\r\n const response = await fetch(urlFull, options)\r\n const blob = await response.blob()\r\n return blob\r\n } catch (error) {\r\n if (__DEV__) console.log(error)\r\n }\r\n}\r\n\r\nexport async function apiDelete(jsonData, url) {\r\n try {\r\n return await fetch(Paths.apiBaseUrl + url, {\r\n method: 'DELETE',\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + store.getState().userToken,\r\n deviceId: store.getState().deviceId,\r\n },\r\n body: JSON.stringify(jsonData),\r\n })\r\n } catch (error) {\r\n if (__DEV__) console.error(error)\r\n }\r\n}\r\n","import { apiPost, apiGet, apiPut, apiDelete } from './ApiRequest'\r\n\r\nexport async function getPostFeedIds({search, universeId, offset, birthYearLow, birthYearHigh, genders, maxDistance}) {\r\n let url = `posts/feed-ids?search=${search??''}&offset=${offset}&birthYearLow=${birthYearLow}&birthYearHigh=${birthYearHigh}&genders=${genders}&maxDistance=${maxDistance}`\r\n if (universeId) {\r\n url = url + `&universeId=${universeId}`\r\n }\r\n const { postIds, universePostIds } = await apiGet(url)\r\n return { postIds, universePostIds }\r\n}\r\n\r\nexport async function getPostsFromIds(ids) {\r\n try {\r\n return apiGet(`posts/?ids=[${ids}]`)\r\n } catch (e) {\r\n return []\r\n }\r\n}\r\n\r\nexport async function getFavoritePosts(universeId) {\r\n const res = await apiGet(`posts/favorites?universeId=${universeId}`)\r\n if (!res.data) return []\r\n return res.data\r\n}\r\n\r\nexport async function getOwnPosts(universeId) {\r\n const res = await apiGet(`posts/own?universeId=${universeId}`)\r\n if (!res.data) return []\r\n return res.data\r\n}\r\n\r\nexport async function getFullPost(postId, universeId) {\r\n if (!postId) return\r\n const res = await apiGet(`posts/${postId}?universeId=${universeId}`)\r\n return res.data?.[0]\r\n}\r\n\r\nexport async function updatePost(postId, data) {\r\n const res = await apiPut(data, `posts/${postId}`)\r\n if (res?.status === 429) return res // 429 Too Many Requests = Update limit reached\r\n const resJson = await res?.json()\r\n return resJson.updated\r\n}\r\n\r\nexport async function createPost(data) {\r\n const res = await apiPost(data, 'posts')\r\n const resJson = await res.json()\r\n return resJson\r\n}\r\n\r\nexport async function setPostFavorite(postId, favorite) {\r\n let res\r\n if (favorite) {\r\n res = await apiDelete({}, `posts/${postId}/favorite`)\r\n } else {\r\n res = await apiPost({}, `posts/${postId}/favorite`)\r\n }\r\n return res.json()\r\n}\r\n\r\nexport async function deletePost(postId) {\r\n await apiDelete({}, `posts/${postId}`)\r\n}\r\n\r\nexport async function getPostsByUserId(user_id, universeId) {\r\n const res = await apiGet(`posts/user/${user_id}?universeId=${universeId}`)\r\n if (!res.data) return\r\n return res.data\r\n}\r\n\r\nexport async function hideAllButNewestPost() {\r\n let res = await apiPut({}, 'posts/update-visibility')\r\n if (!res) return false\r\n res = await res.json()\r\n return res?.updated\r\n}\r\n\r\n/** INFO\r\n * This request handles all searches\r\n * but may in the future be implemented\r\n * specific for Posts, Unions, Activities etc.\r\n */\r\nexport async function saveSearchString({searchString, birthYearLow, birthYearHigh, genders, maxDistance}) {\r\n await apiPost({\r\n searchString,\r\n birthYearLow,\r\n birthYearHigh,\r\n genders,\r\n maxDistance,\r\n }, 'posts/saveSearchString')\r\n}\r\n","import { Actions } from './constants'\r\n\r\nexport function setOwnPost(payload) {\r\n return { type: Actions.SET_OWN_POST, payload }\r\n}\r\n\r\nexport function updateOwnPost(payload) {\r\n return { type: Actions.UPDATE_OWN_POST, payload }\r\n}\r\n\r\nexport function setAnnouncement(payload) {\r\n return { type: Actions.SET_ANNOUNCEMENT, payload }\r\n}\r\n\r\nexport function setDataResponsible(payload) {\r\n return { type: Actions.SET_DATA_RESPONSIBLE, payload }\r\n}\r\n\r\nexport function setOrigin(payload) {\r\n return { type: Actions.SET_ORIGIN, payload }\r\n}\r\n\r\nexport function setUser(payload) {\r\n return { type: Actions.SET_USER, payload }\r\n}\r\n\r\nexport function setUserToken(payload) {\r\n return { type: Actions.SET_USER_TOKEN, payload }\r\n}\r\n\r\nexport function setDeviceId(payload) {\r\n return { type: Actions.SET_DEVICE_ID, payload }\r\n}\r\n\r\nexport function setConversations(payload) {\r\n return { type: Actions.SET_CONVERSATIONS, payload }\r\n}\r\n\r\nexport function setShowMakeInfluence(payload) {\r\n return { type: Actions.SET_SHOW_MAKEINFLUENCE, payload }\r\n}\r\n\r\nexport function addConversation(conversation) {\r\n return { type: Actions.ADD_CONVERSATION, conversation }\r\n}\r\n\r\nexport function removeConversation(payload) {\r\n return { type: Actions.REMOVE_CONVERSATION, payload }\r\n}\r\n\r\nexport function updateConversation(conversation) {\r\n return { type: Actions.UPDATE_CONVERSATION, conversation }\r\n}\r\n\r\nexport function addConversationMessage(conversationID, message) {\r\n return { type: Actions.ADD_CONVERSATION_MESSAGE, conversationID, message }\r\n}\r\n\r\nexport function deleteConversationMessage(conversationID, messageID) {\r\n return {\r\n type: Actions.DELETE_CONVERSATION_MESSAGE,\r\n conversationID,\r\n messageID,\r\n }\r\n}\r\n\r\nexport function setUserUniverses(universes) {\r\n return { type: Actions.SET_USER_UNIVERSES, universes }\r\n}\r\n\r\nexport function setUserPreferences(preferences) {\r\n return { type: Actions.SET_USER_PREFERENCES, preferences }\r\n}\r\n\r\nexport function updateUserPreferences(preferences) {\r\n return { type: Actions.UPDATE_USER_PREFERENCES, preferences }\r\n}\r\n\r\nexport function setGroups(groups) {\r\n return { type: Actions.SET_GROUPS, groups }\r\n}\r\n\r\nexport function updateGroup(group) {\r\n return { type: Actions.UPDATE_GROUP, group }\r\n}\r\n\r\nexport function leaveGroup(groupId) {\r\n return { type: Actions.LEAVE_GROUP, groupId }\r\n}\r\n\r\nexport function setChristmasPost(post) {\r\n return { type: Actions.SET_CHRISTMAS_POST, post }\r\n}\r\n\r\nexport function setChristmasDialogVisible(dialogVisible) {\r\n return { type: Actions.SET_CHRISTMAS_DIALOG_VISIBLE, dialogVisible }\r\n}\r\n\r\nexport function setChristmasMatchDialogVisible(matchDialogVisible) {\r\n return {\r\n type: Actions.SET_CHRISTMAS_MATCH_DIALOG_VISIBLE,\r\n matchDialogVisible,\r\n }\r\n}\r\n\r\nexport function updateChristmasPostAction(post) {\r\n return { type: Actions.UPDATE_CHRISTMAS_POST, post }\r\n}\r\n\r\nexport function deleteChristmasPostAction(payload) {\r\n return { type: Actions.DELETE_CHRISTMAS_POST, payload }\r\n}\r\n\r\nexport function resetStateAction() {\r\n return { type: Actions.RESET_STATE }\r\n}\r\n\r\nexport function setGlobalDialogAction(globalDialog) {\r\n return { type: Actions.SET_GLOBAL_DIALOG, globalDialog }\r\n}\r\n\r\nexport function setMunicipalities(municipalities) {\r\n\treturn { type: Actions.SET_MUNICIPALITIES, municipalities }\r\n}\r\n\r\nexport function resetGlobalDialogAction() {\r\n return {\r\n type: Actions.SET_GLOBAL_DIALOG,\r\n globalDialog: {\r\n visible: false,\r\n type: null,\r\n text: '',\r\n title: '',\r\n data: {}\r\n }\r\n }\r\n}\r\n","import socketIO from 'socket.io-client'\r\nimport Paths from '../constants/Paths'\r\nimport store from '../redux/store'\r\nimport { addConversationMessage, setConversations, updateConversation } from '../redux/actions'\r\nimport { apiGet } from \"./api/ApiRequest\"\r\nimport { txt } from \"../locales/i18n\"\r\n\r\nlet socket = null\r\nlet loading = false\r\n\r\nexport async function connectSocket(accessToken) {\r\n // Dont continue if connect is already loading, sometimes called twice\r\n if (loading || socket != null) return\r\n loading = true\r\n\r\n let userId = store.getState().user.id\r\n if (!userId) {\r\n loading = false\r\n return\r\n }\r\n\r\n socket = socketIO(Paths.socketIOBaseUrl, {\r\n auth: {token: accessToken },\r\n transports: ['websocket'],\r\n cookie: false,\r\n })\r\n\r\n socket.on('connect', () => {\r\n if (__DEV__) console.log('Socket.io connected')\r\n })\r\n\r\n socket.on('disconnect', () => {\r\n if (__DEV__) console.log('Socket.io disconnected')\r\n })\r\n\r\n socket.on('newMessage', async (message) => {\r\n if (__DEV__) console.log('newMessage from socket', message)\r\n let conversations = store.getState().conversations\r\n let conversation = conversations.find(\r\n (c) => c.conversation_id === message.conversationID\r\n )\r\n const ownMessage = message.user_id === userId\r\n if (conversation) {\r\n store.dispatch(\r\n updateConversation({\r\n conversation_id: conversation.conversation_id,\r\n unread_messages: ownMessage\r\n ? conversation.unread_messages\r\n : conversation.unread_messages + 1,\r\n })\r\n )\r\n } else {\r\n await getConversationsSocketService() // todo: only get one conversation\r\n }\r\n !ownMessage && playNotificationSoundSocketService()\r\n store.dispatch(addConversationMessage(message.conversationID, message))\r\n })\r\n\r\n socket.on('messagesRead', async (message) => {\r\n if (__DEV__) console.log('messagesRead from socket', typeof message.conversationID, message.conversationID)\r\n let conversations = store.getState().conversations\r\n let conversation = conversations.find((c) => c.conversation_id === message.conversationID)\r\n if (conversation) {\r\n store.dispatch(updateConversation({ conversation_id: message.conversationID, reloadConversation: true }))\r\n }\r\n })\r\n\r\n socket.connect()\r\n loading = false\r\n}\r\n\r\nexport async function disconnectSocket() {\r\n if (__DEV__) console.log('Disconnecting socketIO')\r\n try {\r\n if (socket.connected) await socket.disconnect()\r\n socket = null\r\n } catch {\r\n if (__DEV__) console.log('Socket already disconnected')\r\n }\r\n}\r\n\r\nexport async function emitNewMessage(message) {\r\n if (!socket || !socket.connected) return\r\n const conversations = store.getState().conversations\r\n const conversation = conversations.find(\r\n (conv) => conv.conversation_id === message.conversationID\r\n )\r\n const userIds = conversation?.users.map((user) => user.id)\r\n socket.emit('newMessage', userIds, message)\r\n}\r\n\r\nexport async function emitAllMessagesRead(message) {\r\n if (!socket || !socket.connected) return\r\n const conversations = store.getState().conversations\r\n const conversation = conversations.find((conv) => conv.conversation_id === message.conversationID)\r\n const userIds = conversation?.users.map((user) => user.id)\r\n socket.emit('messagesRead', userIds, message)\r\n}\r\n\r\nexport async function getConversationsSocketService() {\r\n const res = await apiGet('conversations')\r\n const conversations = res?.data?.newResult ?? []\r\n\r\n conversations.forEach(conv => conv = addTitleToConversationSocketService(conv))\r\n conversations.sort((a, b) => {\r\n if ((a.messages?.[0].created || a.created) > (b.messages?.[0].created || b.created))\r\n return -1\r\n else\r\n return 1\r\n })\r\n store.dispatch(setConversations(conversations))\r\n return conversations\r\n}\r\n\r\nfunction addTitleToConversationSocketService(conversation) {\r\n conversation.otherUsers = conversation.users.filter(\r\n (user) => user.id != store.getState().user.id,\r\n )\r\n if (conversation.title) return conversation\r\n if (conversation.otherUsers.length) {\r\n const usersNames = conversation.otherUsers.map((user) => user.username)\r\n conversation.title =\r\n usersNames.join(', ') +\r\n (conversation.post_title\r\n ? ' ∙ ' + conversation.post_title\r\n : conversation.group_name\r\n ? ' ∙ ' + conversation.group_name\r\n : conversation.sl_session_id\r\n ? ' ∙ ' + txt('learnDanish.title')\r\n : conversation.vs_session_id\r\n ? ' ∙ ' + txt('videoChat.title')\r\n : '')\r\n } else {\r\n conversation.title =\r\n conversation.post_title ||\r\n conversation.group_name ||\r\n txt('conversations.conversationWithMyself')\r\n }\r\n return conversation\r\n}\r\n\r\nexport async function playNotificationSoundSocketService() {\r\n // try {\r\n // const { sound } = await Audio.Sound.createAsync(require('../assets/sounds/bobble.mp3'))\r\n // sound.playAsync().then(setTimeout(sound.unloadAsync), 1000).catch()\r\n // } catch (err) {\r\n // if (__DEV__) console.error(err)\r\n // }\r\n}","import { apiDelete, apiGet, apiPost, apiPut } from './ApiRequest'\r\nimport { emitAllMessagesRead, emitNewMessage } from '../socketService'\r\nimport { txt } from '../../locales/i18n'\r\nimport store from '../../redux/store'\r\nimport Paths from '../../constants/Paths'\r\nimport {\r\n addConversation,\r\n addConversationMessage,\r\n deleteConversationMessage as deleteConversationMessageRedux,\r\n setConversations,\r\n updateConversation,\r\n} from '../../redux/actions'\r\n\r\n\r\nexport async function getConversations() {\r\n const res = await apiGet('conversations')\r\n const conversations = res?.data?.newResult ?? []\r\n\r\n conversations.forEach(conv => conv = addTitleToConversation(conv))\r\n conversations.sort((a, b) => {\r\n if ((a.messages?.[0].created || a.created) > (b.messages?.[0].created || b.created))\r\n return -1\r\n else\r\n return 1\r\n })\r\n store.dispatch(setConversations(conversations))\r\n return conversations\r\n}\r\n\r\nexport async function deleteConversationMessage(conversationID, messageID) {\r\n const res = await apiDelete(\r\n {},\r\n `conversations/${conversationID}/messages/${messageID}/delete`\r\n )\r\n if (res.ok) {\r\n store.dispatch(deleteConversationMessageRedux(conversationID, messageID))\r\n }\r\n}\r\n\r\nexport async function editConversationMessage(\r\n conversationId,\r\n message_id,\r\n text\r\n) {\r\n //conversations/:conversationId/messages\r\n // JsonData to send to api\r\n const data = {\r\n body: text,\r\n }\r\n\r\n // Wait for response then parse to json\r\n return await apiPost(\r\n data,\r\n `conversations/${conversationId}/messages/${message_id}/edit`\r\n )\r\n .then((response) => response.json())\r\n .then((responseJson) => {\r\n if (__DEV__) console.log(responseJson.data[0])\r\n return responseJson.data[0]\r\n })\r\n .catch((error) => {\r\n if (__DEV__) console.log(error)\r\n })\r\n}\r\n\r\nexport async function getConversationMessages(conversationId, offset = 0) {\r\n if (!conversationId) return []\r\n const res = await apiGet(`conversations/${conversationId}/messages/${offset}`)\r\n if (res.data) {\r\n const conversation = {\r\n conversation_id: conversationId,\r\n messages: res.data,\r\n }\r\n store.dispatch(updateConversation(conversation))\r\n return res.data\r\n } else {\r\n return []\r\n }\r\n}\r\n\r\nexport async function sendConversationMessage(conversationId, text) {\r\n const data = { body: text }\r\n let res = await apiPost(data, `conversations/${conversationId}/messages/`)\r\n const resJson = await res.json()\r\n if (res.ok) {\r\n store.dispatch(addConversationMessage(conversationId, resJson.message))\r\n await emitNewMessage(resJson.message)\r\n }\r\n return resJson\r\n}\r\n\r\nexport async function createConversation({\r\n postId,\r\n groupId,\r\n slSessionId,\r\n vsSessionId,\r\n receiverId,\r\n christmasPostIdInitiator,\r\n christmasPostIdReceiver,\r\n }) {\r\n const data = {\r\n postId,\r\n groupId,\r\n slSessionId,\r\n vsSessionId,\r\n receiverId,\r\n christmasPostIdInitiator,\r\n christmasPostIdReceiver,\r\n }\r\n const result = await apiPost(data, 'conversations').then((res) => res.json())\r\n if (result.error) {\r\n return result\r\n }\r\n const conversation = addTitleToConversation(result.data)\r\n await store.dispatch(addConversation(conversation))\r\n return conversation\r\n}\r\n\r\nexport async function createGroupConversation(userIds) {\r\n let res = await apiPost({userIds}, 'conversations')\r\n if (!res.ok) return\r\n res = await res.json()\r\n const conversation = addTitleToConversation(res.data)\r\n await store.dispatch(addConversation(conversation))\r\n return conversation\r\n}\r\n\r\nexport async function leaveConversation(conversationId) {\r\n return apiDelete({}, `conversations/${conversationId}`)\r\n}\r\n\r\nexport async function getConversationId({\r\n postId,\r\n groupId,\r\n slSessionId,\r\n vsSessionId,\r\n receiverId,\r\n christmasPostIdInitiator,\r\n christmasPostIdReceiver,\r\n }) {\r\n let query = 'conversations?'\r\n if (postId) query += `postId=${postId}&`\r\n if (groupId) query += `groupId=${groupId}&`\r\n if (slSessionId) query += `slSessionId=${slSessionId}&`\r\n if (vsSessionId) query += `vsSessionId=${vsSessionId}&`\r\n if (receiverId) query += `receiverId=${receiverId}&`\r\n if (christmasPostIdInitiator) query += `christmasPostIdInitiator=${christmasPostIdInitiator}&`\r\n if (christmasPostIdReceiver) query += `christmasPostIdReceiver=${christmasPostIdReceiver}&`\r\n const res = await apiGet(query)\r\n if (!res.data) return null\r\n return res.data.id\r\n}\r\n\r\nexport async function createJVConversation(\r\n receiverId,\r\n receivingPostId,\r\n initiatingPostId\r\n) {\r\n const data = { receiverId, receivingPostId, initiatingPostId }\r\n const result = await apiPost(data, 'conversations').then((res) => res.json())\r\n return result.data[0].conversation_id\r\n}\r\n\r\nexport async function getJVConversationId(\r\n receiverId,\r\n receivingPostId,\r\n initiatingPostId\r\n) {\r\n const res = await apiGet(\r\n `conversations` +\r\n `?christmas_post_id_receiver=${receivingPostId}` +\r\n `&christmas_post_id_initiater=${initiatingPostId}` +\r\n `&receiver_id=${receiverId}`\r\n )\r\n return res.data.conversation_id\r\n}\r\n\r\nexport async function getJVConversationWithUser(\r\n receiverUserId,\r\n postInitiater,\r\n postReceiver\r\n) {\r\n const data = {\r\n user_id_receiver: receiverUserId,\r\n post_id_initiater: postInitiater,\r\n post_id_receiver: postReceiver,\r\n }\r\n\r\n // Wait for response then parse to json\r\n return apiPost(data, `conversations/getOrCreateJV/`)\r\n .then((response) => response.json())\r\n .then((responseJson) => {\r\n if (!responseJson.data[0].conversation_id) {\r\n return\r\n }\r\n return responseJson.data[0].conversation_id\r\n })\r\n .catch((error) => {\r\n if (__DEV__) console.log(error)\r\n })\r\n}\r\n\r\n// Deprecated from 21/03/2022 - Remove later\r\nexport async function giveScreeningConsent() {\r\n return apiGet(`conversations/screeningConsent`)\r\n}\r\n\r\nexport async function updateScreeningConsent(consentGiven) {\r\n let res = await apiPut({ consentGiven }, 'conversations/screeningConsent')\r\n if (!res.ok) return\r\n res = await res.json()\r\n return res\r\n}\r\n\r\nexport async function getScreeningConsent() {\r\n const res = await apiGet('conversations/getScreeningConsent')\r\n return res.data\r\n}\r\n\r\nexport async function readAllMessages(conversationID) {\r\n store.dispatch(\r\n updateConversation({\r\n conversation_id: conversationID,\r\n unread_messages: 0,\r\n })\r\n )\r\n try {\r\n await apiPost({}, `conversations/${conversationID}/readAll`)\r\n await emitAllMessagesRead({ conversationID })\r\n } catch (err) {\r\n return false\r\n }\r\n\r\n return true\r\n}\r\n\r\nexport async function getUnreadMessages(conversationId) {\r\n const res = await apiGet(`conversations/${conversationId}/unread-messages`)\r\n return res ?? null\r\n}\r\n\r\nexport async function editConversationTitle(title, conversationId) {\r\n const result = await apiPut({ title }, `conversations/${conversationId}`)\r\n if (!result) return\r\n const resJson = await result.json()\r\n store.dispatch(updateConversation({ conversation_id: conversationId, title: resJson.title }))\r\n return resJson.title\r\n}\r\n\r\nexport async function getConversationFeature(conversationId) {\r\n if (!conversationId) return false\r\n const result = await apiGet(`conversations/getConversationFeature/${conversationId}`)\r\n if (!result) return false\r\n return result.data\r\n}\r\n\r\nfunction addTitleToConversation(conversation) {\r\n conversation.otherUsers = conversation.users.filter(\r\n (user) => user.id != store.getState().user.id,\r\n )\r\n if (conversation.title) return conversation\r\n if (conversation.otherUsers.length) {\r\n const usersNames = conversation.otherUsers.map((user) => user.username)\r\n conversation.title =\r\n usersNames.join(', ') +\r\n (conversation.post_title\r\n ? ' ∙ ' + conversation.post_title\r\n : conversation.group_name\r\n ? ' ∙ ' + conversation.group_name\r\n : conversation.sl_session_id\r\n ? ' ∙ ' + txt('learnDanish.title')\r\n : conversation.vs_session_id\r\n ? ' ∙ ' + txt('videoChat.title')\r\n : '')\r\n } else {\r\n conversation.title =\r\n conversation.post_title ||\r\n conversation.group_name ||\r\n txt('conversations.conversationWithMyself')\r\n }\r\n return conversation\r\n}\r\n\r\nexport async function createMessage(message, conversationId) {\r\n const url = `conversations/${conversationId}/messages`\r\n const response = await apiPost(message, url)\r\n const json = await response.json()\r\n\r\n if (response.ok) {\r\n store.dispatch(addConversationMessage(conversationId, json.message))\r\n await emitNewMessage(json.message)\r\n }\r\n\r\n return json ?? null\r\n}\r\n\r\nexport async function getAttachmentTempLink(conversationId, attachmentId) {\r\n const response = await apiGet(`conversations/${conversationId}/attachments/${attachmentId}/link`)\r\n if (!response) return null\r\n return Paths.apiBaseUrl + `conversations/${conversationId}/attachments/${response.tempAttachmentId}`\r\n}","import * as React from 'react'\r\nimport { StackActions } from '@react-navigation/native'\r\n\r\nexport const navigationRef = React.createRef()\r\n\r\nexport function navigate(name, params) {\r\n navigationRef.current?.navigate(name, params)\r\n}\r\n\r\nexport function replace(name, params) {\r\n navigationRef.current?.dispatch(StackActions.replace(name, params))\r\n}\r\n","export function selectUnreadMessages(state) {\r\n if (state.conversations) {\r\n let unreadMessages = 0\r\n state.conversations.forEach((conv) => {\r\n unreadMessages += conv.unread_messages\r\n })\r\n return unreadMessages\r\n }\r\n return 0\r\n}\r\n\r\nexport function selectUnreadGroupMessages(state) {\r\n let unread = 0\r\n state.groups?.forEach(group => {\r\n unread += group.unread\r\n })\r\n return unread\r\n}\r\n\r\nexport function selectUnreadNotifications(state) {\r\n return selectUnreadMessages(state) + selectUnreadGroupMessages(state)\r\n}\r\n\r\nexport function conversationMessages(state, conversationID) {\r\n const conversation = state.conversations.find(\r\n (conv) => conv.conversation_id === conversationID\r\n )\r\n return conversation?.messages || []\r\n}\r\n\r\nexport function selectChristmasPostsFromConversations(state) {\r\n const conversations = state.conversations.filter(conv => conv.christmas_post_id)\r\n return conversations.map(conv => ({\r\n id: conv.christmas_post_id,\r\n title: conv.title,\r\n type: conv.type,\r\n imgFilename: conv.img_filename,\r\n }))\r\n}\r\n\r\nexport function selectUsersFromConversations(state) {\r\n\tconst conversations = state.conversations\r\n\tconst usersUnique = []\r\n\r\n\tfor (const conversation of conversations) {\r\n\t\tconst users = conversation.otherUsers\r\n\r\n\t\tfor (const user of users) {\r\n\t\t\tconst exists = usersUnique.some(({ id }) => id === user.id)\r\n\t\t\tif (exists === false) usersUnique.push(user)\r\n\t\t}\r\n\t}\r\n\r\n\treturn usersUnique\r\n}\r\n","export default {\r\n xxl: 28,\r\n xl: 25,\r\n l: 20,\r\n m: 17,\r\n s: 15,\r\n xs: 13,\r\n\r\n fontWeightBold: '500',\r\n\r\n roundImage: {\r\n xl: 400,\r\n },\r\n\r\n cornerRounding: 12,\r\n}\r\n","//const tintColor = '#007ACC'\r\n\r\nconst colors = {\r\n\twhite: '#fff',\r\n\twhiteTransparent: 'rgba(255,255,255,0.8)',\r\n\twhiteTransparent85: 'rgba(255,255,255,0.85)',\r\n\tred: '#E32020',\r\n\tredLight: '#ff6464',\r\n\tredMatte: '#cc614b',\r\n\tredChristmas: '#b11e31',\r\n\torangeRf: '#ee7203',\r\n\torange: '#f99746',\r\n\tdarkBlue: '#0000ff',\r\n\tblue: '#2a6592',\r\n\tbluePale: 'rgba(42,101,146,0.1)',\r\n\tblueAzure: '#0084ff',\r\n\tblueAzurePale: '#cbe4ff',\r\n\tblueBaby: '#34bdeb',\r\n\tlightBlue: '#87cefa',\r\n\tlightLightBlue: '#EAF5F8',\r\n\tskyBlue: 'rgb(237,247,249)',\r\n\tdarkerSkyBlue: '#A0CDDA',\r\n\tgreen: '#3b803a',\r\n\tgreenBtn: '#21C18C',\r\n\tgreenChristmas: '#096344',\r\n\tgreenLight: '#97E17D',\r\n\tgreenExtraLight: '#E7FCE9',\r\n\tgreenIcon: '#1DAF59',\r\n\tgreenText: '#084B00',\r\n\tblack: '#000000',\r\n\tblackTransparent: 'rgba(0,0,0,0.12)',\r\n\tblackTransparent2: 'rgba(0,0,0,0.2)',\r\n\tblackTransparent54: 'rgba(0,0,0,0.54)',\r\n\tblackTransparent82: 'rgba(0,0,0,0.82)',\r\n\tdark: '#0a0a0a',\r\n\tdarkDarkGrey: '#333333',\r\n\tdarkGrey: '#696969',\r\n\tgrey: '#808080',\r\n\tgreyLight: '#c0c0c0',\r\n\tgreyLightLight: '#f1f1f1',\r\n\tgold: '#c49c45',\r\n\tbronze: '#cd853f',\r\n\ttransparent: 'transparent',\r\n\tlabelText: '#045aff',\r\n\tlabelBackground: '#e3ecff',\r\n\tjuniorLabelText: '#197973',\r\n\tjuniorLabelBackground: '#cbfffc',\r\n\tredCrossEmber: '#fef5f5',\r\n\tredCrossRed: '#e30a0b',\r\n\tredCrossGrey: '#e7e5e7',\r\n\tredCrossBackground: '#f8f8f8',\r\n\tredSoft: '#ff6464',\r\n\tjulevenner: {\r\n\t\tyellow: '#EAEB5E',\r\n\t},\r\n\tredCross: {\r\n\t\tbackground: '#F4F4F2', // Secondary Sage 50\r\n\t\tbackgroundSecondary: '#FEF5F5',\r\n\t\ttext: '#473F3C', // Sage 900\r\n\t\ttextSecondary: '#514742', // Sage 800\r\n\t\tbackgroundTertiary: '#E4E3DD',\r\n\t\tbase: '#73665B', // Secondary/Sage/600 (base)\r\n\t\tbaseSecondary: '#CBC6BD', // Secondary/Sage/200\r\n\t\tred: '#E30A0B', // Red 600\r\n\t\tborder: '#e7e5e7',\r\n\t}\r\n}\r\n\r\nconst theme = {\r\n\tbackground: colors.skyBlue, // Also change in app.json for splash image\r\n\tbackgroundContent: colors.white,\r\n\ttintColor: colors.blue,\r\n\terrorBackground: colors.red,\r\n\terrorText: colors.white,\r\n\tnoticeBackground: colors.blue,\r\n\tnoticeText: colors.white,\r\n\tbadgeColor: colors.redMatte,\r\n\tdanger: colors.redLight,\r\n\ttitle: colors.darkBlue,\r\n\ttext: colors.darkDarkGrey,\r\n\ttextLight: colors.blackTransparent54,\r\n\ttextPlaceholder: colors.greyLight,\r\n\ttabBarActive: colors.blue,\r\n\ttabBarInActive: colors.blackTransparent54,\r\n\ttabBarBackground: colors.skyBlue,\r\n\ttabBarBackgroundActive: colors.skyBlue,\r\n\tpostBackground: colors.white,\r\n\tinactive: colors.darkGrey,\r\n\tshadow: colors.blackTransparent2,\r\n\tchipSelected: colors.white,\r\n\tchipUnselected: colors.blackTransparent,\r\n\tmodalBackground: colors.blackTransparent54,\r\n\tfilterBackground: colors.white,\r\n\tfilterBackgroundClicked: colors.blue,\r\n\tnewYearPrimary: colors.gold,\r\n}\r\n\r\nexport default { ...theme, ...colors }\r\n\r\n// Used for progress bars\r\nexport const getColorFromPercent = (percent) => {\r\n\tlet r = percent <= 50 ? 100 : 100 - percent + 50\r\n\tlet g = percent * 2 > 100 ? 100 : percent * 2\r\n\tlet b = 0\r\n\treturn `rgb(\r\n\t\t${parseInt((255 / 100) * r, 10)},\r\n\t\t${parseInt((255 / 100) * g, 10)}, \r\n\t\t${parseInt((255 / 100) * b, 10)})`\r\n}\r\n","import Fontsizes from '../constants/Fontsizes'\r\nimport Colors from '../constants/Colors'\r\n\r\n// Normal\r\nexport const text = {\r\n fontFamily: 'raleway-regular',\r\n fontSize: Fontsizes.m,\r\n}\r\n\r\nexport const textBold = {\r\n fontFamily: 'raleway-semibold',\r\n fontSize: Fontsizes.m,\r\n}\r\n\r\nexport const textItalic = {\r\n fontFamily: 'raleway-italic',\r\n fontSize: Fontsizes.m,\r\n}\r\n\r\n// XSmall\r\nexport const textXSmall = {\r\n fontFamily: 'raleway-regular',\r\n fontSize: Fontsizes.xs,\r\n}\r\n\r\nexport const textXSmallBold = {\r\n fontFamily: 'raleway-semibold',\r\n fontSize: Fontsizes.xs,\r\n}\r\n\r\nexport const textXSmallItalic = {\r\n fontFamily: 'raleway-italic',\r\n fontSize: Fontsizes.xs,\r\n}\r\n\r\n// Small\r\nexport const textSmall = {\r\n fontFamily: 'raleway-regular',\r\n fontSize: Fontsizes.s,\r\n}\r\n\r\nexport const textSmallBold = {\r\n fontFamily: 'raleway-semibold',\r\n fontSize: Fontsizes.s,\r\n}\r\n\r\nexport const textSmallBoldHeavy = {\r\n fontFamily: 'raleway-bold',\r\n fontSize: Fontsizes.s,\r\n}\r\n\r\nexport const textSmallItalic = {\r\n fontFamily: 'raleway-italic',\r\n fontSize: Fontsizes.s,\r\n}\r\n\r\n// Large\r\nexport const textLarge = {\r\n fontFamily: 'raleway-regular',\r\n fontSize: Fontsizes.l,\r\n}\r\n\r\nexport const textLargeBold = {\r\n fontFamily: 'raleway-semibold',\r\n fontSize: Fontsizes.l,\r\n}\r\n\r\nexport const textLargeItalic = {\r\n fontFamily: 'raleway-italic',\r\n fontSize: Fontsizes.l,\r\n}\r\n\r\n// X Large\r\nexport const textXLarge = {\r\n fontFamily: 'raleway-regular',\r\n fontSize: Fontsizes.xl,\r\n}\r\n\r\nexport const textXLargeBold = {\r\n fontFamily: 'raleway-semibold',\r\n fontSize: Fontsizes.xl,\r\n}\r\n\r\nexport const textXLargeItalic = {\r\n fontFamily: 'raleway-italic',\r\n fontSize: Fontsizes.xl,\r\n}\r\n\r\n// Title - Let's remove 'titles' at some point, since it's the same as 'large'\r\nexport const title = {\r\n fontFamily: 'raleway-regular',\r\n fontSize: Fontsizes.l,\r\n}\r\n\r\nexport const titleBold = {\r\n fontFamily: 'raleway-semibold',\r\n fontSize: Fontsizes.l,\r\n}\r\n\r\n// For large amounts of text, like a blog.\r\nexport const blogTitle = {\r\n fontSize: 25,\r\n fontFamily: 'raleway-bold',\r\n color: Colors.text,\r\n}\r\nexport const blogHeader = {\r\n fontSize: 20,\r\n fontFamily: 'raleway-bold',\r\n color: Colors.text,\r\n}\r\nexport const blogSubtitle = {\r\n fontSize: 18,\r\n fontFamily: 'raleway-semibold',\r\n color: Colors.text,\r\n}\r\nexport const blogText = {\r\n fontSize: 16,\r\n lineHeight: 22,\r\n fontFamily: 'raleway-regular',\r\n color: Colors.text,\r\n}\r\n\r\n//Heading styles (used in Julevenner)\r\nexport const heading1 = {\r\n fontFamily: 'oswald-semibold',\r\n fontSize: Fontsizes.xxl,\r\n paddingBottom: Fontsizes.xxl * 0.25,\r\n}\r\n\r\nexport const heading2 = {\r\n fontFamily: 'oswald-semibold',\r\n fontSize: Fontsizes.xl,\r\n paddingBottom: Fontsizes.xl * 0.25,\r\n}\r\n\r\nexport const heading3 = {\r\n fontFamily: 'oswald-semibold',\r\n fontSize: Fontsizes.l,\r\n paddingBottom: Fontsizes.l * 0.25,\r\n}\r\n\r\nexport const heading4 = {\r\n fontFamily: 'oswald-bold',\r\n fontSize: Fontsizes.m,\r\n paddingBottom: Fontsizes.m * 0.25,\r\n}\r\n","import { Dimensions } from 'react-native'\r\n\r\nconst width = Dimensions.get('window').width\r\nconst height = Dimensions.get('window').height\r\n\r\nexport default {\r\n window: {\r\n width,\r\n height,\r\n },\r\n isSmallDevice: width < 1000,\r\n small: width < 700,\r\n maxFeedWidth: 800,\r\n headerHeight: height > 800 ? 64 : 48,\r\n logoWidth: 150,\r\n}\r\n","import Layout from '../constants/Layout'\r\n\r\nexport const marginRightLeft10 = {\r\n marginLeft: 10,\r\n marginRight: 10,\r\n}\r\n\r\nexport const paddingRightLeft10 = {\r\n paddingLeft: 10,\r\n paddingRight: 10,\r\n}\r\n\r\nexport const widthAndHeight = {\r\n width: '100%',\r\n maxWidth: Layout.maxFeedWidth,\r\n alignSelf: 'center',\r\n}\r\n","import Colors from '../constants/Colors'\r\n\r\nexport const dropShadow = {\r\n shadowColor: Colors.black, // IOS\r\n shadowOffset: { height: 5, width: 0 }, // IOS\r\n shadowOpacity: 0.2, // IOS\r\n shadowRadius: 7, //IOS\r\n elevation: 5, //Android\r\n}\r\n\r\nexport const shadowInputs = {\r\n shadowColor: Colors.black, // IOS\r\n shadowOffset: { height: 1, width: 0 }, // IOS\r\n shadowOpacity: 0.2, // IOS\r\n shadowRadius: 3, //IOS\r\n elevation: 2, //Android\r\n}\r\n\r\nexport const cardShadow = {\r\n shadowColor: Colors.darkGrey, // IOS\r\n shadowOffset: { height: 3, width: 0 }, // IOS\r\n shadowOpacity: 0.15, // IOS\r\n shadowRadius: 5, //IOS\r\n elevation: 5, //Android\r\n}\r\n\r\nexport const liftedShadow = {\r\n shadowColor: Colors.black, // IOS\r\n shadowOffset: { height: 8, width: 8 }, // IOS\r\n shadowOpacity: 0.07, // IOS\r\n shadowRadius: 27, //IOS\r\n elevation: 5, //Android\r\n}\r\n\r\nexport const unsetShadows = {\r\n shadowColor: Colors.transparent, // IOS\r\n shadowOffset: { height: 0, width: 0 }, // IOS\r\n shadowOpacity: 0, // IOS\r\n shadowRadius: 0, //IOS\r\n elevation: 0, //Android\r\n}\r\n","export const borderRadiusS = {\r\n borderRadius: 12,\r\n}\r\n\r\nexport const borderRadiusM = {\r\n borderRadius: 24,\r\n}\r\n\r\nexport const borderRadiusL = {\r\n borderRadius: 36,\r\n}\r\n\r\nexport const roundImg = {\r\n borderRadius: 300,\r\n}\r\n","import Colors from '../constants/Colors'\r\n\r\nexport const blueBorder = {\r\n borderWidth: 2,\r\n borderColor: Colors.lightBlue,\r\n}\r\n","import React from 'react'\r\nimport { Text, StyleSheet } from 'react-native'\r\nimport { TypographyStyles } from '../../styles'\r\nimport Colors from '../../constants/Colors'\r\n\r\nexport function CustomText(props) {\r\n let textStyle\r\n\r\n switch (props.font) {\r\n // xsmall\r\n case 'xsmall':\r\n textStyle = styles.xsmall\r\n break\r\n case 'xsmallBold':\r\n textStyle = styles.xsmallBold\r\n break\r\n case 'xsmallItalic':\r\n textStyle = styles.xsmallItalic\r\n break\r\n // small\r\n case 'small':\r\n textStyle = styles.small\r\n break\r\n case 'smallBold':\r\n textStyle = styles.smallBold\r\n break\r\n case 'smallItalic':\r\n textStyle = styles.smallItalic\r\n break\r\n // normal\r\n case 'bold':\r\n textStyle = styles.bold\r\n break\r\n case 'italic':\r\n textStyle = styles.italic\r\n break\r\n // large\r\n case 'large':\r\n textStyle = styles.large\r\n break\r\n case 'largeBold':\r\n textStyle = styles.largeBold\r\n break\r\n case 'largeItalic':\r\n textStyle = styles.largeItalic\r\n break\r\n // xlarge\r\n case 'xlarge':\r\n textStyle = styles.xlarge\r\n break\r\n case 'xlargeBold':\r\n textStyle = styles.xlargeBold\r\n break\r\n case 'xlargeItalic':\r\n textStyle = styles.xlargeItalic\r\n break\r\n\r\n\r\n\r\n case 'gotham':\r\n textStyle = {\r\n fontFamily: 'gotham-book',\r\n fontSize: 16,\r\n lineHeight: 25.6,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n case 'gotham-xsmall':\r\n textStyle = {\r\n fontFamily: 'gotham-book',\r\n fontSize: 14,\r\n lineHeight: 22.4,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n case 'gotham-small':\r\n textStyle = {\r\n fontFamily: 'gotham-book',\r\n fontSize: 15,\r\n lineHeight: 24,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n case 'gotham-large':\r\n textStyle = {\r\n fontFamily: 'gotham-book',\r\n fontSize: 18,\r\n lineHeight: 28.8,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n case 'gotham-xlarge':\r\n textStyle = {\r\n fontFamily: 'gotham-book',\r\n fontSize: 21,\r\n lineHeight: 23.6,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n\r\n\r\n case 'gotham-bold':\r\n textStyle = {\r\n fontFamily: 'gotham-bold',\r\n fontSize: 16,\r\n lineHeight: 25.6,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n case 'gotham-bold-xsmall':\r\n textStyle = {\r\n fontFamily: 'gotham-bold',\r\n fontSize: 14,\r\n lineHeight: 22.4,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n case 'gotham-bold-small':\r\n textStyle = {\r\n fontFamily: 'gotham-bold',\r\n fontSize: 15,\r\n lineHeight: 24,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n case 'gotham-bold-large':\r\n textStyle = {\r\n fontFamily: 'gotham-bold',\r\n fontSize: 18,\r\n lineHeight: 28.8,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n case 'gotham-bold-xlarge':\r\n textStyle = {\r\n fontFamily: 'gotham-bold',\r\n fontSize: 21,\r\n lineHeight: 23.6,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n\r\n\r\n\r\n default:\r\n textStyle = styles.text\r\n break\r\n }\r\n\r\n return (\r\n \r\n {props.text || props.children}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n bold: {\r\n ...TypographyStyles.textBold,\r\n },\r\n italic: {\r\n ...TypographyStyles.textItalic,\r\n },\r\n large: {\r\n ...TypographyStyles.textLarge,\r\n },\r\n largeBold: {\r\n ...TypographyStyles.textLargeBold,\r\n },\r\n largeItalic: {\r\n ...TypographyStyles.textLargeItalic,\r\n },\r\n xlarge: {\r\n ...TypographyStyles.textXLarge,\r\n },\r\n xlargeBold: {\r\n ...TypographyStyles.textXLargeBold,\r\n },\r\n xlargeItalic: {\r\n ...TypographyStyles.textXLargeItalic,\r\n },\r\n small: {\r\n ...TypographyStyles.textSmall,\r\n },\r\n smallBold: {\r\n ...TypographyStyles.textSmallBold,\r\n },\r\n smallItalic: {\r\n ...TypographyStyles.textSmallItalic,\r\n },\r\n text: {\r\n ...TypographyStyles.text,\r\n },\r\n xsmall: {\r\n ...TypographyStyles.textXSmall,\r\n },\r\n xsmallBold: {\r\n ...TypographyStyles.textXSmallBold,\r\n },\r\n xsmallItalic: {\r\n ...TypographyStyles.textXSmallItalic,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { Pressable } from 'react-native'\r\n\r\nexport default function CustomPressable({ onPress, ...props }) {\r\n return (\r\n [ pressed ? { opacity: 0.5 } : {}, props.style]}\r\n >\r\n {props.children}\r\n \r\n )\r\n}","import React from 'react'\r\nimport { StyleSheet, TouchableWithoutFeedback, Modal } from 'react-native'\r\nimport { CustomText } from '../text/StyledText'\r\nimport Colors from '../../constants/Colors'\r\nimport { View } from 'react-native'\r\nimport { Platform } from 'react-native'\r\nimport { ScrollView } from 'react-native'\r\nimport { borderRadiusM } from '../../styles/corners'\r\nimport { cardShadow } from '../../styles/shadows'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport default function CustomDialog({ visible, onDismiss, children, style }) {\r\n return (\r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport const ScrollableDialog = (props) => {\r\n return (\r\n \r\n \r\n \r\n {props.children}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport const ContentContainer = (props) => {\r\n if (props.noScroll === true) return {props.children}\r\n else return {props.children}\r\n}\r\n\r\nexport const ActionButton = (props) => (\r\n \r\n \r\n {props.children}\r\n \r\n \r\n)\r\n\r\nconst styles = StyleSheet.create({\r\n button: {\r\n borderTopColor: Colors.blackTransparent,\r\n borderTopWidth: 1,\r\n paddingBottom: 12,\r\n paddingTop: 12,\r\n },\r\n contentContainer: { flexGrow: 0, margin: 24 },\r\n danger: {\r\n color: Colors.danger,\r\n },\r\n success: {\r\n color: Colors.green,\r\n },\r\n modal: {\r\n ...cardShadow,\r\n ...borderRadiusM,\r\n backgroundColor: Colors.white,\r\n marginLeft: 12,\r\n marginRight: 12,\r\n maxHeight: 600,\r\n maxWidth: 400,\r\n },\r\n modalBackground: {\r\n alignItems: 'center',\r\n backgroundColor: Colors.modalBackground,\r\n flex: 1,\r\n justifyContent: 'center',\r\n },\r\n buttonText: {\r\n textAlign: 'center',\r\n },\r\n})\r\n","import React from 'react'\r\nimport Svg, { Path, Circle } from 'react-native-svg'\r\nimport { View } from 'react-native'\r\n\r\nexport function BoblbergIconPathLight(props) {\r\n switch (props.name) {\r\n case 'bubbles':\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n case 'bobl':\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n default:\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport function BoblbergIconPathSolid(props) {\r\n switch (props.name) {\r\n case 'bubbles':\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n case 'bobl':\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n default:\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport function BoblbergIconPathDuo(props) {\r\n switch (props.name) {\r\n case 'bobl':\r\n return (\r\n \r\n \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n \r\n \r\n )\r\n default:\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","import React from 'react'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-native-fontawesome'\r\nimport { StyleSheet, Text, View } from 'react-native'\r\nimport { BoblbergIconPathDuo, BoblbergIconPathLight, BoblbergIconPathSolid } from './BoblbergIcons'\r\n\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport Colors from '../../constants/Colors'\r\n\r\n// Set name in props when using function. name={whatevericonname}\r\nexport default function NormalIcon(props) {\r\n const { name, stroke, color, size, style, ...other } = props\r\n let iconType = stroke ? stroke : 'fal'\r\n if (name !== undefined) {\r\n return (\r\n \r\n {!!props.badge &&\r\n \r\n {props.badge}\r\n \r\n }\r\n \r\n \r\n )\r\n } else {\r\n return \r\n }\r\n}\r\n\r\nexport function BoblbergIcon(props) {\r\n const { name, stroke, color, size, style, ...other } = props\r\n return (\r\n \r\n {stroke === 'fas' ? (\r\n \r\n\t\t\t) : stroke === 'fad' ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n \r\n )}\r\n \r\n )\r\n}\r\nconst styles = StyleSheet.create({\r\n badge: {\r\n zIndex: 1,\r\n position: 'absolute',\r\n minWidth: 16,\r\n height: 16,\r\n paddingHorizontal: 4,\r\n right: -8,\r\n top: -8,\r\n borderRadius: 35,\r\n backgroundColor: Colors.tintColor,\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n\r\n },\r\n badgeNumber: {\r\n color: Colors.white,\r\n fontSize: 12,\r\n },\r\n})","import React from 'react'\r\nimport { Button } from 'react-native-elements'\r\nimport { StyleSheet, ActivityIndicator, View } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport NormalIcon, { BoblbergIcon } from '../icons/NormalIcon'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { TypographyStyles, CornerStyles } from '../../styles'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport function RoundBtn(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function DeleteBtn(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function GreenBtn(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function RotateRightBtn(props) {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function RotateLeftBtn(props) {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function DialogBtn(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function RoundSquareBtn(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function RoundSquareDeleteBtn(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nfunction ButtonBase({\r\n title,\r\n loading,\r\n success,\r\n error,\r\n disabled,\r\n style,\r\n icon,\r\n iconRight,\r\n color,\r\n titleStyle,\r\n children,\r\n stroke,\r\n iconSize,\r\n label,\r\n boblbergIcon = false,\r\n ...props\r\n}) {\r\n let statusIcon\r\n if (error) statusIcon = \"times\"\r\n if (success) statusIcon = \"check\"\r\n const status = success || error\r\n const textStyle = [\r\n styles.buttonPrimaryText,\r\n titleStyle,\r\n { opacity: disabled ? 0.5 : 1 },\r\n ]\r\n const iconStyle = {\r\n marginRight: 6,\r\n opacity: disabled ? 0.5 : 1,\r\n }\r\n const iconRightStyle = {\r\n marginLeft: 6,\r\n opacity: disabled ? 0.5 : 1,\r\n }\r\n const contentContainerStyle = {\r\n flexDirection: 'row',\r\n height: (status || loading) ? 0.01 : 'auto', // height 0 removes element completely from iOS render\r\n opacity: (status || loading) ? 0 : 1,\r\n overflow: 'hidden',\r\n alignItems: 'center',\r\n }\r\n return (\r\n \r\n {loading && }\r\n {status && }\r\n \r\n {icon && boblbergIcon ? (\r\n \r\n ) : icon && !boblbergIcon && (\r\n \r\n )}\r\n \r\n {title}\r\n {children}\r\n \r\n {iconRight && boblbergIcon ? (\r\n \r\n ) : iconRight && !boblbergIcon && (\r\n \r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\nexport function ButtonPrimary({ style, titleStyle, color, ...props }) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function ButtonSecondary({ style, titleStyle, ...props }) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n btnColor: { backgroundColor: Colors.tintColor },\r\n btnColorGreen: { backgroundColor: Colors.green },\r\n btnColorRed: { backgroundColor: Colors.errorBackground },\r\n btnPic: {\r\n alignSelf: 'center',\r\n borderColor: Colors.tintColor,\r\n borderStyle: 'dashed',\r\n borderWidth: 1.5,\r\n height: 90,\r\n justifyContent: 'center',\r\n width: 180,\r\n },\r\n btnPicBottom: { borderBottomLeftRadius: 200, borderBottomRightRadius: 200 },\r\n btnPicText: {\r\n alignSelf: 'center',\r\n ...TypographyStyles.textBold,\r\n color: Colors.tintColor,\r\n },\r\n btnPicTop: { borderTopLeftRadius: 200, borderTopRightRadius: 200 },\r\n btnText: { ...TypographyStyles.textSmallBold, color: Colors.text },\r\n btnTextWhite: { ...TypographyStyles.textSmallBold, color: Colors.white },\r\n btnTitle: { ...TypographyStyles.textSmallBold, color: Colors.white },\r\n button: {\r\n alignSelf: 'center',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n borderRadius: 100,\r\n },\r\n buttonPrimary: {\r\n backgroundColor: Colors.blue,\r\n paddingVertical: 8,\r\n paddingHorizontal: 16,\r\n },\r\n buttonSecondary: {\r\n backgroundColor: Colors.transparent,\r\n borderColor: Colors.blue,\r\n borderWidth: 2,\r\n paddingVertical: 6,\r\n paddingHorizontal: 14,\r\n },\r\n buttonPrimaryText: { color: Colors.white, textAlign: 'center' },\r\n buttonSecondaryText: { color: Colors.blue, textAlign: 'center' },\r\n center: { alignSelf: 'center' },\r\n roundBtnStyle: {\r\n ...CornerStyles.borderRadiusL,\r\n minWidth: 100,\r\n alignSelf: 'center',\r\n paddingHorizontal: 18,\r\n },\r\n squareBtnStyle: {\r\n ...CornerStyles.borderRadiusL,\r\n backgroundColor: Colors.tintColor,\r\n paddingHorizontal: 18,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { Image, StyleSheet } from 'react-native'\r\nimport CustomDialog, { ContentContainer } from './CustomDialog'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport store from '../../redux/store'\r\nimport { resetGlobalDialogAction } from '../../redux/actions'\r\nimport { useSelector } from 'react-redux'\r\nimport * as RootNavigation from '../../navigation/RootNavigation'\r\nimport { txt } from '../../locales/i18n'\r\nimport Colors from '../../constants/Colors'\r\n\r\nexport const promptTypes = {\r\n CHRISTMAS: 'CHRISTMAS',\r\n NEW_YEAR: 'NEW_YEAR',\r\n NEW_YEAR_SE: 'NEW_YEAR_SE',\r\n POST: 'POST',\r\n UNIVERSE: 'UNIVERSE',\r\n UNIVERSE_POST: 'UNIVERSE_POST'\r\n}\r\n\r\nexport default function GlobalDialog() {\r\n const { type, text, title, visible, data } = useSelector(state => state.globalDialog)\r\n\r\n let icon\r\n let stroke = 'fas'\r\n let titleVisible = true\r\n let buttonTitle = txt('global.ok')\r\n let buttonColor = Colors.blue\r\n let handlePress = dismiss\r\n let boblbergIcon = false\r\n\r\n if (type === promptTypes.CHRISTMAS) {\r\n // icon = \"hat-santa\"\r\n titleVisible = true\r\n buttonColor = Colors.green\r\n buttonTitle = txt('global.readMore')\r\n handlePress = () => {\r\n RootNavigation.navigate('christmasFriends')\r\n dismiss()\r\n }\r\n }\r\n if (type === promptTypes.NEW_YEAR) {\r\n // icon = \"glass-cheers\"\r\n titleVisible = true\r\n buttonColor = Colors.newYearPrimary\r\n buttonTitle = txt('global.readMore')\r\n handlePress = () => {\r\n RootNavigation.navigate('universe', { universe: 'nytaarsvenner' })\r\n dismiss()\r\n }\r\n }\r\n if (type === promptTypes.NEW_YEAR_SE) {\r\n // icon = \"glass-cheers\"\r\n titleVisible = true\r\n buttonColor = Colors.newYearPrimary\r\n buttonTitle = txt('global.readMore')\r\n handlePress = () => {\r\n RootNavigation.navigate('universe', { universe: 'nyarsvanner' })\r\n dismiss()\r\n }\r\n }\r\n if (type === promptTypes.POST) {\r\n icon = \"bobl\"\r\n boblbergIcon = true\r\n buttonTitle = txt('global.goToBobl')\r\n handlePress = () => {\r\n RootNavigation.navigate('HomeStack', {\r\n screen: 'Post',\r\n initial: false,\r\n params: { id: Number(data?.postID) },\r\n })\r\n dismiss()\r\n }\r\n }\r\n if (type === promptTypes.UNIVERSE) {\r\n icon = \"chevron-right\"\r\n stroke = 'fal'\r\n buttonTitle = txt('global.goToUniverse')\r\n handlePress = () => {\r\n RootNavigation.navigate('universe', { universe: data?.universe })\r\n dismiss()\r\n }\r\n }\r\n if (type === promptTypes.UNIVERSE_POST) {\r\n icon = \"chevron-right\"\r\n stroke = 'fal'\r\n buttonTitle = txt('global.goToUniverse')\r\n handlePress = () => {\r\n RootNavigation.navigate('universe', {\r\n screen: 'UniverseBoblStack',\r\n params: {\r\n screen: 'Post',\r\n params: {\r\n universe: data?.universe,\r\n id: data?.postID\r\n },\r\n },\r\n })\r\n dismiss()\r\n }\r\n }\r\n\r\n\r\n function dismiss() {\r\n store.dispatch(resetGlobalDialogAction())\r\n }\r\n\r\n return (\r\n \r\n \r\n {data?.img && }\r\n {titleVisible && {title}}\r\n \r\n {text}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n button: {\r\n marginTop: 24,\r\n width: '100%',\r\n backgroundColor: Colors.green,\r\n },\r\n text: {\r\n textAlign: 'center',\r\n marginTop: 12,\r\n },\r\n img: {\r\n height: 200,\r\n width: '100%',\r\n alignSelf: 'center',\r\n borderRadius: 6\r\n }\r\n})\r\n","export const Features = {\r\n START_CONVERSATION: 1,\r\n SEARCH_ACTIVITIES: 2,\r\n CREATE_ACTIVITIES: 3,\r\n SEARCH_GROUPS: 4,\r\n CREATE_GROUPS: 5,\r\n}\r\n","import { Features } from '../constants/Features'\r\nimport Layout from '../constants/Layout'\r\n\r\nconst minWidth = 375\r\nconst extraTabCount = Layout.window.width >= minWidth ? 2 : 1\r\n\r\nexport const getExtraTabs = (features = [], joinedGroupCount = 0) => {\r\n\tconst extraTabs = []\r\n\r\n\tif (joinedGroupCount !== 0) extraTabs.push('groups')\r\n\r\n\tif (extraTabCount > extraTabs.length && features.includes(Features.SEARCH_ACTIVITIES)) {\r\n\t\textraTabs.push('activities')\r\n\t}\r\n\r\n\tif (extraTabCount > extraTabs.length) extraTabs.push('events')\r\n\tif (extraTabCount > extraTabs.length) extraTabs.push('unions')\r\n\r\n\treturn extraTabs\r\n}","import * as Notifications from 'expo-notifications'\r\nimport { apiDelete, apiPost } from './api/ApiRequest'\r\nimport { Platform } from 'react-native'\r\nimport * as RootNavigation from '../navigation/RootNavigation'\r\nimport { useSelector } from 'react-redux'\r\nimport { selectUnreadNotifications } from '../redux/selectors'\r\nimport { useEffect } from 'react'\r\nimport store from '../redux/store'\r\nimport { getConversations } from './api/Inbox'\r\nimport { setGlobalDialogAction, updateGroup } from '../redux/actions'\r\nimport { Audio } from 'expo-av'\r\nimport { promptTypes } from '../components/dialogs/GlobalDialog'\r\nimport { getExtraTabs } from \"../navigation/MenuConfig\"\r\nimport Constants from \"expo-constants\"\r\n\r\nlet registered = false\r\nlet subscriptions = []\r\n\r\nexport async function registerPushNotifications() {\r\n if (Platform.OS === 'web') return\r\n\r\n Notifications.setNotificationHandler({\r\n handleNotification: async () => {\r\n const notificationBehaviour = {\r\n shouldShowAlert: false,\r\n shouldPlaySound: false,\r\n shouldSetBadge: false,\r\n }\r\n return notificationBehaviour\r\n },\r\n })\r\n\r\n let permission = await Notifications.getPermissionsAsync()\r\n if (!permission.granted) {\r\n permission = await Notifications.requestPermissionsAsync()\r\n }\r\n if (!permission.granted) return\r\n\r\n let token = (await Notifications.getExpoPushTokenAsync({ projectId: Constants.expoConfig?.extra?.eas?.projectId })).data\r\n\r\n if (token) {\r\n await apiPost({ pushToken: token }, 'users/pushTokens')\r\n registered = true\r\n }\r\n\r\n // In app notifications\r\n const notificationReceived = Notifications.addNotificationReceivedListener(\r\n async (notification) => {\r\n await playNotificationSound()\r\n const { data, body, title } = notification.request.content\r\n\r\n // Group message\r\n if (data.groupID) {\r\n const id = Number(data.groupID)\r\n const group = store.getState().groups.find((g) => g.id === id)\r\n if (group) {\r\n store.dispatch(updateGroup({ id, unread: group.unread + 1 }))\r\n }\r\n }\r\n\r\n // Dialog prompt\r\n else if (data.prompt) {\r\n store.dispatch(setGlobalDialogAction({\r\n visible: true,\r\n text: body,\r\n title,\r\n type: data.type,\r\n data: data\r\n }))\r\n }\r\n }\r\n )\r\n\r\n // Open app via push notification\r\n const responseReceived =\r\n Notifications.addNotificationResponseReceivedListener(async (res) => {\r\n const { data } = res.notification.request.content\r\n\r\n // Message\r\n if (data.conversationId) {\r\n const id = Number(data.conversationId)\r\n const conversation = store.getState().conversations.find((c) => c.conversation_id === id)\r\n if (!conversation) {\r\n await getConversations()\r\n }\r\n RootNavigation.navigate('InboxStack', {\r\n screen: 'Conversation',\r\n initial: false,\r\n params: { id },\r\n })\r\n }\r\n\r\n // Group message\r\n else if (data.groupID) {\r\n const id = Number(data.groupID)\r\n RootNavigation.navigate('GroupsStack', {\r\n screen: 'Group',\r\n initial: false,\r\n params: { id, refresh: true },\r\n })\r\n }\r\n\r\n // Post\r\n else if (data.postID && !data.universe) {\r\n const id = Number(data.postID)\r\n RootNavigation.navigate('HomeStack', {\r\n screen: 'Post',\r\n initial: false,\r\n params: { id },\r\n })\r\n }\r\n\t\t\t// Events feed\r\n\t\t\telse if (data.screen === 'Events') {\r\n\t\t\t\tRootNavigation.navigate('EventStack', {\r\n\t\t\t\t\tscreen: 'Events',\r\n\t\t\t\t\tinitial: true,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n // Event\r\n else if (data.eventID) {\r\n const id = Number(data.eventID)\r\n const features = store.getState()?.user?.features\r\n const joinedGroups = store.getState()?.groups\r\n const extraTabs = getExtraTabs(features ?? [], joinedGroups?.length ?? 0)\r\n const stack = extraTabs.includes('events') ? 'EventStack' : 'MenuStack'\r\n\r\n RootNavigation.navigate(stack, {\r\n screen: 'Event',\r\n initial: false,\r\n params: { eventId: id },\r\n })\r\n }\r\n\r\n // Universe Post\r\n else if (data.universe && data.postID) {\r\n const id = Number(data.postID)\r\n RootNavigation.navigate('universe', {\r\n screen: 'UniverseBoblStack',\r\n params: {\r\n screen: 'Post',\r\n params: {\r\n universe: data.universe,\r\n id\r\n },\r\n },\r\n })\r\n }\r\n\r\n // Universe feed\r\n else if (data.universe && !data.postID) {\r\n RootNavigation.navigate('universe', { universe: data.universe })\r\n }\r\n\r\n else if (data.type === promptTypes.CHRISTMAS) {\r\n RootNavigation.navigate('christmasFriends')\r\n }\r\n else if (data.type === promptTypes.NEW_YEAR) {\r\n RootNavigation.navigate('universe', { universe: 'nytaarsvenner' })\r\n }\r\n else if (data.type === promptTypes.NEW_YEAR_SE) {\r\n RootNavigation.navigate('universe', { universe: 'nyarsvanner' })\r\n }\r\n })\r\n subscriptions.push(notificationReceived, responseReceived)\r\n}\r\n\r\nexport async function unregisterPushNotifications() {\r\n if (registered) {\r\n let token = (await Notifications.getExpoPushTokenAsync({ projectId: Constants.expoConfig?.extra?.eas?.projectId })).data\r\n if (token) {\r\n await apiDelete({ pushToken: token }, 'users/pushTokens')\r\n registered = false\r\n }\r\n subscriptions.forEach((subscription) => subscription.remove())\r\n subscriptions = []\r\n }\r\n}\r\n\r\nexport function NotificationsBadgeListener() {\r\n const badgeCount = useSelector(selectUnreadNotifications)\r\n\r\n useEffect(() => {\r\n Notifications.setBadgeCountAsync(badgeCount)\r\n }, [badgeCount])\r\n\r\n return null\r\n}\r\n\r\nexport async function playNotificationSound() {\r\n // try {\r\n // const { sound } = await Audio.Sound.createAsync(require('../assets/sounds/bobble.mp3'))\r\n // sound.playAsync().then(setTimeout(sound.unloadAsync), 1000).catch()\r\n // } catch (err) {\r\n // if (__DEV__) console.error(err)\r\n // }\r\n}\r\n","import { apiGet, apiPost, apiPut, apiGetFile, apiDelete } from './ApiRequest'\r\nimport { setGroups, updateGroup as updateGroupRedux, leaveGroup } from '../../redux/actions'\r\nimport store from '../../redux/store'\r\nimport Paths from '../../constants/Paths'\r\n\r\nexport async function getJoinedGroupsList() {\r\n const res = await apiGet('groups/joined')\r\n if (res.data) store.dispatch(setGroups(res.data))\r\n return res.data ?? []\r\n}\r\n\r\nexport async function getGroupByID(groupId) {\r\n if (!groupId) return\r\n const res = await apiGet('groups/group/' + groupId.toString())\r\n if (!res) return\r\n if (res.data[0]?.id) return res.data[0]\r\n else if (res.data.id) return res.data\r\n}\r\n\r\nexport async function updateGroup(data) {\r\n const result = await apiPut(data, 'groups/group/' + data.id.toString())\r\n if (!result) return\r\n else return result.json()\r\n}\r\n\r\nexport async function getGroupMessages(group_id, skip, amount) {\r\n\tconst params = new URLSearchParams({ skip, amount })\r\n\tconst messages = await apiGet(`groups/${group_id}/messages?${params.toString()}`)\r\n\treturn messages ?? []\r\n}\r\n\r\nexport async function getGroupMessageImages(groupId, msgId) {\r\n const res = await apiGet(`groups/group/${groupId}/messages/${msgId}/images`)\r\n if (!res.images) {\r\n return\r\n }\r\n return res.images\r\n}\r\n\r\nexport async function getGroupMessageDocuments(groupId, msgId) {\r\n const { documents } = await apiGet(`groups/group/${groupId}/messages/${msgId}/documents`)\r\n return documents\r\n}\r\n\r\nexport async function getGroupMessageComments(groupId, msgId, skip) {\r\n return await apiGet(`groups/group/${groupId}/messages/${msgId}/comments?skip=${skip}`)\r\n}\r\n\r\nexport async function getGroupMessageDocument(groupId, msgId, id, extension) {\r\n return await apiGetFile(`groups/group/${groupId}/messages/${msgId}/document?id=${id}&extension=${extension}`)\r\n}\r\n\r\nexport async function getGroupMembers(groupId) {\r\n const res = await apiGet(`groups/group/${groupId}/members`)\r\n if (!res) return []\r\n return res.data ?? []\r\n}\r\n\r\nexport async function getJoinRequests(groupId) {\r\n const res = await apiGet(`groups/group/${groupId}/joinRequests`)\r\n if (!res) return []\r\n return res.data ?? []\r\n}\r\n\r\nexport async function getInvitedMembers(groupId) {\r\n const res = await apiGet(`groups/group/${groupId}/invitesAll`)\r\n if (!res) return []\r\n return res.data ?? []\r\n}\r\n\r\nexport async function getBannedMembers(groupId) {\r\n const res = await apiGet(`groups/group/${groupId}/bannedMembers`)\r\n if (!res) return []\r\n return res ?? []\r\n}\r\n\r\nexport async function searchGroups({ search, universeId, skip, amount }) {\r\n\tconst params = new URLSearchParams()\r\n\r\n\tif (search !== undefined) params.append('search', search)\r\n\tif (universeId !== undefined) params.append('universeId', universeId)\r\n\tif (amount !== undefined) params.append('amount', amount)\r\n\tif (skip !== undefined) params.append('skip', skip)\r\n\r\n\tconst groups = await apiGet('groups?' + params.toString())\r\n\treturn groups ?? []\r\n}\r\n\r\nexport async function joinGroupByID(id, password, dataConsent = false) {\r\n const body = { password, dataConsent }\r\n const response = await apiPost(body, `groups/group/${id}`)\r\n\r\n const data = await response.json()\r\n\r\n if (data.group) {\r\n const groupsFiltered = store.getState().groups.filter((group) => {\r\n return group.id !== data.group.id\r\n })\r\n\r\n const groups = [...groupsFiltered, data.group].sort((a, b) => {\r\n return new Date(b.latestMsgDate) - new Date(a.latestMsgDate)\r\n })\r\n\r\n store.dispatch(setGroups(groups))\r\n }\r\n\r\n return data?.message ?? 'UNKNOWN ERROR'\r\n}\r\n\r\nexport async function cancelJoinRequest(groupId) {\r\n if (!groupId) return null\r\n let res = await apiPost({}, `groups/group/${groupId}/cancel`)\r\n return res.ok\r\n}\r\n\r\nexport async function leaveGroupByID(groupId) {\r\n if (!groupId) return null\r\n let res = await apiPost({}, `groups/group/${groupId}/leave`)\r\n if (!res.ok) return null\r\n res = await res.json()\r\n store.dispatch(leaveGroup(groupId))\r\n return res.data[0]\r\n}\r\n\r\nexport async function removeGroupMember(groupId, userId) {\r\n const data = { user_id: userId }\r\n let res = await apiPost(data, `groups/group/${groupId}/remove`)\r\n return res.ok ?? false\r\n}\r\n\r\nexport async function banGroupMember(groupId, userId) {\r\n const data = { user_id: userId }\r\n let res = await apiPost(data, `groups/group/${groupId}/ban`)\r\n return res.ok ?? false\r\n}\r\n\r\nexport async function unbanGroupMember(groupId, userId) {\r\n if (groupId === null || userId === null) return null\r\n let res = await apiPost({ user_id: userId }, `groups/group/${groupId}/unban`)\r\n return res.ok ?? false\r\n}\r\n\r\nexport async function approveJoinRequest(groupId, userId) {\r\n if (groupId === null || userId === null) return null\r\n let res = await apiPost({ user_id: userId }, `groups/group/${groupId}/approve`)\r\n if (!res.ok) return null\r\n res = await res.json()\r\n return res.data\r\n}\r\n\r\nexport async function sendInvite(groupId, email, username) {\r\n if (groupId === null || email === null || username === null) return null\r\n const data = { email, username }\r\n\r\n let res = await apiPost(data, `groups/group/${groupId}/invite`)\r\n if (!res.ok) return null\r\n res = await res.json()\r\n return res.data\r\n}\r\n\r\nexport async function deleteInvite(groupId, email) {\r\n\tif (!groupId || !email) return null\r\n\tlet res = await apiPost({ email }, `groups/group/${groupId}/deleteInvite`)\r\n\treturn res\r\n}\r\n\r\nexport async function makeUserAdmin(groupId, userId) {\r\n if (groupId === null || userId === null) return null\r\n let res = await apiPost({ user_id: userId }, `groups/group/${groupId}/makeAdmin`)\r\n if (!res.ok) return null\r\n res = await res.json()\r\n return res.data[0]\r\n}\r\n\r\nexport async function deleteMessage(groupId, msgId) {\r\n if (groupId === null || msgId === null) return null\r\n let res = await apiPost({ msg_id: msgId }, `groups/group/${groupId}/messages/delete`)\r\n if (!res.ok) return null\r\n res = await res.json()\r\n return res.data[0]\r\n}\r\n\r\nexport async function editMessage(groupId, msgId, body) {\r\n let data = { msg_id: msgId, body }\r\n let res = await apiPut(data, `groups/group/${groupId}/messages`)\r\n res = await res.json()\r\n return res.data ? res.data[0] : null\r\n}\r\n\r\nexport async function createMessage({ groupId, body, images, documents, parentId }) {\r\n if (groupId == null) return\r\n\r\n const data = { body }\r\n if (parentId) data.parentMessageId = parentId\r\n if (images) data.images = images\r\n if (documents) data.documents = documents\r\n\r\n const response = await apiPost(data, `groups/group/${groupId}/messages`)\r\n if (response.ok === false) return\r\n\r\n const message = await response.json()\r\n return message\r\n}\r\n\r\nexport async function readAllGroupMessages(group) {\r\n try {\r\n await store.dispatch(updateGroupRedux({ ...group, unread: 0 }))\r\n await apiPut({}, `groups/group/${group.id}/messages/readAll`)\r\n return true\r\n } catch (error) {\r\n if (__DEV__) console.error(error)\r\n return false\r\n }\r\n}\r\n\r\nexport async function like(groupId, groupMessageId) {\r\n const res = await apiPost({}, `groups/${groupId}/messages/${groupMessageId}/likes`)\r\n const resJson = await res.json()\r\n return resJson.msg\r\n}\r\n\r\nexport async function removeLike(groupId, groupMessageId) {\r\n const res = await apiDelete({}, `groups/${groupId}/messages/${groupMessageId}/likes`)\r\n return res.status\r\n}\r\n\r\nexport async function whoLiked(groupId, groupMessageId) {\r\n return await apiGet(`groups/${groupId}/messages/${groupMessageId}/likes`)\r\n}\r\n\r\nexport async function pinGroupPost(groupId, groupMessageId) {\r\n const res = await apiPost({}, `groups/${groupId}/pin/${groupMessageId}`)\r\n const resJson = await res.json()\r\n return resJson.msg\r\n}\r\n\r\nexport async function unpinGroupPost(groupId, groupMessageId) {\r\n const res = await apiDelete({}, `groups/${groupId}/pin/${groupMessageId}`)\r\n return res.status\r\n}\r\n\r\nexport async function createGroup(data) {\r\n const res = await apiPost(data, 'groups/create')\r\n const resJson = await res.json()\r\n return resJson.group\r\n}\r\n\r\nexport async function closeGroup(groupId) {\r\n const res = await apiPut({}, `groups/group/${groupId}/close`)\r\n if (!res) return\r\n return res\r\n}\r\n\r\nexport async function getTempFileLink(groupId, fileId) {\r\n const res = await apiGet(`groups/group/${groupId}/files/${fileId}`)\r\n if (!res) return null\r\n\r\n return Paths.apiBaseUrl + 'groups/group/files/' + res.tempFileId\r\n}\r\n\r\nexport async function updateNotificationSetting(groupId, notificationSetting) {\r\n const body = { notificationSetting }\r\n const res = await apiPut(body, `groups/group/${groupId}/notifications`)\r\n\r\n if (!res || res.ok === false) return null\r\n\r\n const data = await res.json()\r\n return data?.notificationSetting ?? null\r\n}","import { apiDelete, apiGet, apiPost, apiPut } from './ApiRequest'\r\nimport store from '../../redux/store'\r\nimport {\r\n deleteChristmasPostAction,\r\n setChristmasPost,\r\n updateChristmasPostAction,\r\n} from '../../redux/actions'\r\n\r\nexport async function createChristmasPost(post) {\r\n const res = await apiPost(post, 'christmas-friends/posts')\r\n const resJson = await res.json()\r\n if (resJson.post) {\r\n store.dispatch(setChristmasPost(resJson.post))\r\n }\r\n return resJson.post\r\n}\r\n\r\nexport async function getChristmasPost(christmasPostId) {\r\n const res = await apiGet(`christmas-friends/posts/${christmasPostId}`)\r\n return res.post\r\n}\r\n\r\nexport async function updateChristmasPost(postUpdate) {\r\n let post = store.getState().christmas.post\r\n const body = { ...post, ...postUpdate }\r\n const postRes = await apiPut(body, `christmas-friends/posts/${post.id}`)\r\n if (!postRes.ok) return null\r\n const updatedPost = await postRes.json()\r\n store.dispatch(updateChristmasPostAction(updatedPost))\r\n return updatedPost\r\n}\r\n\r\nexport async function getOwnChristmasPost() {\r\n const userId = store.getState().user.id\r\n const res = await apiGet(`christmas-friends/posts?userId=${userId}`)\r\n const post = res.posts[0]\r\n if (post) {\r\n store.dispatch(setChristmasPost(post))\r\n }\r\n if (post) return post\r\n}\r\n\r\nexport async function deleteChristmasPost(id) {\r\n const res = await apiDelete({}, `christmas-friends/posts/${id}`)\r\n if (res.status === 200) {\r\n store.dispatch(deleteChristmasPostAction(null))\r\n }\r\n}\r\n\r\nexport async function getChristmasPosts({\r\n amount,\r\n skip,\r\n search,\r\n distance,\r\n type,\r\n favorite,\r\n}) {\r\n let uri = `christmas-friends/posts?amount=${amount}&skip=${skip}`\r\n uri = search ? `${uri}&search=${search}` : uri\r\n uri = distance ? `${uri}&distance=${distance}` : uri\r\n uri = type ? `${uri}&type=${type}` : uri\r\n uri = favorite ? `${uri}&favorite=${favorite}` : uri\r\n\r\n const res = await apiGet(uri)\r\n return res.posts\r\n}\r\n\r\nexport async function getSamplePosts() {\r\n return await apiGet(`christmas-friends/posts/sample`)\r\n}\r\n\r\nexport async function getChristmasFavoritePosts() {\r\n const res = await apiGet(`christmas-firends/favorites`)\r\n if (!res.data) return []\r\n return res.data\r\n}\r\n\r\nexport async function setChristmasPostFavorite(postId, favorite) {\r\n let res\r\n if (favorite) {\r\n res = await apiDelete({}, `christmas-friends/posts/${postId}/favorite`)\r\n } else {\r\n res = await apiPost({}, `christmas-friends/posts/${postId}/favorite`)\r\n }\r\n return res\r\n}\r\n\r\nexport async function getConversationNudge(conversationId) {\r\n return apiGet(`christmas-friends/conversations/${conversationId}/nudge`)\r\n}\r\n\r\nexport async function registerConversationNudge(conversationId, messageCount) {\r\n const body = { messageCount }\r\n return apiPut(body, `christmas-friends/conversations/${conversationId}/nudge`)\r\n}\r\n\r\nexport async function confirmMatch(postIdReceiver) {\r\n const ownPost = store.getState().christmas.post\r\n if (ownPost.type === 'guest')\r\n store.dispatch(updateChristmasPostAction({ status: -1 }))\r\n const body = { postIdReceiver }\r\n await apiPost(body, `christmas-friends/posts/${ownPost.id}/matches`)\r\n}\r\n\r\nexport async function getMatchConfirmations() {\r\n const ownPostId = store.getState().christmas.post.id\r\n return apiGet(`christmas-friends/posts/${ownPostId}/matches`)\r\n}\r\n","import { apiGet } from './ApiRequest'\r\nimport store from '../../redux/store'\r\nimport { setMunicipalities } from '../../redux/actions'\r\n\r\nexport async function getMunicipalityList({ feature, countryId }) {\r\n const urlQueryParams = {}\r\n\r\n if (feature !== undefined) urlQueryParams.feature = feature\r\n if (countryId !== undefined) urlQueryParams.countryId = countryId\r\n\r\n const urlQuery = Object.entries(urlQueryParams).map(([key, value]) => {\r\n return key + '=' + value\r\n })\r\n\r\n const response = await apiGet('municipalities?' + urlQuery.join('&'))\r\n return response?.data ?? []\r\n}\r\n\r\nexport async function getActiveMunicipalities(setData) {\r\n return apiGet(`municipalities/active`).then((res) => {\r\n if (!res.data) return\r\n setData && setData(res.data)\r\n return res.data\r\n })\r\n}\r\n\r\nexport async function getMunicipalityById(municipalityId) {\r\n const res = await apiGet(`municipalities/${municipalityId}`)\r\n return res.municipality\r\n}\r\n\r\nexport async function getMunicipalityUserCountById(municipalityId) {\r\n if (!municipalityId) return 0\r\n const res = await apiGet(`municipalities/count/${municipalityId}`)\r\n return res?.users ?? 0\r\n}\r\n\r\nexport async function getCountryMunicipalities(countryName) {\r\n const municipalities = await apiGet('municipalities/country/' + countryName)\r\n return municipalities\r\n}\r\n\r\nexport async function getUserMunicipalities() {\r\n const municipalities = await apiGet('municipalities/user')\r\n store.dispatch(setMunicipalities(municipalities))\r\n}","import store from '../redux/store'\r\nimport { setUserPreferences, setUserToken, resetStateAction, setDeviceId, setUser } from '../redux/actions'\r\nimport { connectSocket, disconnectSocket } from './socketService'\r\nimport { getConversations } from './api/Inbox'\r\nimport AsyncStorage from '@react-native-async-storage/async-storage'\r\nimport { unregisterPushNotifications } from './notifications'\r\nimport i18n from '../locales/i18n'\r\nimport * as Notifications from 'expo-notifications'\r\nimport { AppState, Platform } from 'react-native'\r\nimport { selectUnreadNotifications } from '../redux/selectors'\r\nimport { getJoinedGroupsList } from './api/Groups'\r\nimport Cookies from 'js-cookie'\r\nimport { getOwnChristmasPost } from './api/ChristmasFriends'\r\nimport * as Device from 'expo-device'\r\nimport * as Crypto from 'expo-crypto'\r\n\r\nimport { getUserMunicipalities } from './api/Municipalities'\r\nimport { getRegion } from './localization'\r\nimport { apiGet, apiPost } from \"./api/ApiRequest\"\r\nimport Paths from \"../constants/Paths\"\r\n\r\nconst asyncNames = ['userToken', 'language', 'userId']\r\nlet appStateChangeSubscription = null\r\n\r\n// Gets all notifications every time the app is reopened from the background\r\nconst handleAppStateChange = async (newState) => {\r\n if (newState === 'active') {\r\n await getConversations()\r\n await getJoinedGroupsList()\r\n const badgeCount = selectUnreadNotifications(store.getState())\r\n await Notifications.setBadgeCountAsync(badgeCount)\r\n }\r\n}\r\n\r\nexport async function generateDeviceId(userId) {\r\n if (Platform.OS === 'web' || !userId) return\r\n const { deviceName, modelName, totalMemory } = Device\r\n const userInfo = deviceName.concat(modelName).concat(totalMemory.toString()).concat(userId)\r\n const deviceId = await Crypto.digestStringAsync(Crypto.CryptoDigestAlgorithm.SHA1, userInfo) //SHA1 because max length of id is 50\r\n if (deviceId) store.dispatch(setDeviceId(deviceId))\r\n}\r\n\r\nexport async function postLoginAction(token) {\r\n store.dispatch(setUserToken(token))\r\n const user = await getOwnAuthUser()\r\n if (!user) return await authLogout()\r\n await generateDeviceId(user.id)\r\n const preferences = await getAuthUserPreferences()\r\n i18n.locale = preferences.language\r\n store.dispatch(setUserPreferences(preferences))\r\n await getOwnChristmasPost()\r\n await connectSocket(token)\r\n await getConversations()\r\n await getJoinedGroupsList()\r\n await getUserMunicipalities()\r\n\r\n if (Platform.OS !== 'web') {\r\n appStateChangeSubscription = AppState.addEventListener('change', handleAppStateChange)\r\n }\r\n}\r\n\r\nexport async function postLogoutAction() {\r\n await unregisterPushNotifications()\r\n await AsyncStorage.multiRemove(asyncNames)\r\n\r\n if (Platform.OS === 'web') removeToken()\r\n store.dispatch(resetStateAction())\r\n await disconnectSocket()\r\n\r\n if (Platform.OS === 'web') {\r\n window.location.replace(Paths.getBaseUrl())\r\n }\r\n\r\n if (Platform.OS !== 'web') appStateChangeSubscription?.remove()\r\n}\r\n\r\nexport async function storeAccessToken(token) {\r\n if (Platform.OS === 'web') {\r\n const config = getTokenCookieConfig()\r\n Cookies.set('token', token, config)\r\n } else {\r\n // Only use AsyncStorage on native app\r\n await AsyncStorage.setItem('userToken', token)\r\n }\r\n}\r\n\r\nexport async function getOwnAuthUser() {\r\n const res = await apiGet('users/getOwn')\r\n const user = res?.data\r\n if (user) store.dispatch(setUser(user))\r\n return user\r\n}\r\n\r\nexport async function getAuthUserPreferences() {\r\n const res = await apiGet('users/user/preferences')\r\n return res?.data\r\n}\r\n\r\nexport async function authLogout() {\r\n await apiPost({},'users/logout')\r\n await postLogoutAction()\r\n}\r\n\r\nexport const getTokenCookieConfig = () => {\r\n\tconst config = { sameSite: 'strict', expires: 365 }\r\n\r\n\tif (__DEV__ === false) {\r\n\t\tconfig.domain = 'boblberg.' + getRegion()\r\n\t\tconfig.secure = true\r\n\t}\r\n\r\n\treturn config\r\n}\r\n\r\nexport const getToken = () => {\r\n\tconst config = getTokenCookieConfig()\r\n\tconst tokenLegacy = Cookies.get('token') ?? null\r\n\r\n\tif (tokenLegacy) {\r\n\t\tCookies.remove('token')\r\n\t\tCookies.set('token', tokenLegacy, config)\r\n\t}\r\n\t\r\n\tconst token = Cookies.get('token', config)\r\n\treturn token ?? null\r\n}\r\n\r\nconst removeToken = () => {\r\n\tconst config = getTokenCookieConfig()\r\n\tCookies.remove('token', config)\r\n\tCookies.remove('token') // legacy token\r\n}\r\n","import { apiGet, apiPost, apiPut } from './ApiRequest'\r\nimport { postLoginAction, postLogoutAction, storeAccessToken } from '../authActions'\r\nimport store from '../../redux/store'\r\nimport {\r\n setUser,\r\n setUserPreferences,\r\n setUserToken,\r\n updateUserPreferences as updateUserPreferencesRedux,\r\n} from '../../redux/actions'\r\n\r\n// Login user and save token from api\r\nexport async function login(email, password) {\r\n if (!email || !password) return false\r\n try {\r\n let res = await apiPost({ email, password }, 'users/login')\r\n res = await res.json()\r\n if (!res.token) return false\r\n await storeAccessToken(res.token)\r\n await postLoginAction(res.token)\r\n return true\r\n } catch (err) {\r\n return false\r\n }\r\n}\r\n\r\nexport async function signup({\r\n name,\r\n email,\r\n password,\r\n birthYear,\r\n municipalityId,\r\n language,\r\n token,\r\n origin,\r\n country,\r\n}) {\r\n const data = {\r\n username: name.trim(),\r\n email: email.trim(),\r\n password: password,\r\n birth_year: birthYear,\r\n municipality_id: municipalityId,\r\n language,\r\n token,\r\n origin,\r\n country,\r\n }\r\n let res = await apiPost(data, 'users/signup')\r\n res = await res.json()\r\n return res\r\n}\r\n\r\n// Logout user from device\r\nexport async function logout() {\r\n await apiPost({},'users/logout')\r\n await postLogoutAction()\r\n}\r\n\r\nexport async function getUserImage(userId) {\r\n const image = await apiGet(`users/image/${userId}`)\r\n if (!image) return\r\n return image\r\n}\r\n\r\nexport async function getInvitedUser(token) {\r\n const res = await apiGet(`users/invite/${token}`)\r\n if (res.data) return res.data\r\n return null\r\n}\r\n\r\nexport async function updateUser(userNew) {\r\n const userOld = store.getState().user\r\n const userUpdated = { ...userOld, ...userNew }\r\n\r\n if (userUpdated.image === null) {\r\n delete userUpdated.image\r\n }\r\n\r\n userUpdated.email = userUpdated.email.trim()\r\n userUpdated.username = userUpdated.username.trim()\r\n const res = await apiPut(userUpdated, 'users/update')\r\n if (!res || !res.ok || res.status >= 300) return false\r\n store.dispatch(setUser(userUpdated))\r\n return true\r\n}\r\n\r\nexport async function changePassword(passwordOld, passwordNew) {\r\n const data = {\r\n passwordOld,\r\n passwordNew,\r\n }\r\n return apiPut(data, 'users/changePassword')\r\n .then((response) => response.json())\r\n .then((responseJson) => {\r\n if (!responseJson.data) {\r\n return false\r\n }\r\n if (__DEV__) console.log('responseJson')\r\n if (__DEV__) console.log(responseJson.data[0])\r\n const { userToken } = responseJson\r\n if (userToken) {\r\n store.dispatch(setUserToken(userToken))\r\n storeAccessToken(userToken)\r\n }\r\n return responseJson.data[0]\r\n })\r\n .catch((error) => {\r\n if (__DEV__) console.error(error)\r\n return false\r\n })\r\n}\r\n\r\nexport async function changePasswordByToken(token, passwordNew) {\r\n const data = {\r\n token,\r\n passwordNew,\r\n }\r\n return apiPut(data, 'users/token/resetPassword')\r\n .then((response) => response.json())\r\n .then((responseJson) => {\r\n if (!responseJson.data) {\r\n return false\r\n }\r\n if (__DEV__) console.log('responseJson')\r\n if (__DEV__) console.log(responseJson.data[0])\r\n return responseJson.data[0]\r\n })\r\n .catch((error) => {\r\n if (__DEV__) console.error(error)\r\n return false\r\n })\r\n}\r\n\r\nexport async function createPasswordToken(email) {\r\n const data = {\r\n email,\r\n }\r\n apiPost(data, 'users/token/resetPassword')\r\n .then((response) => response.json())\r\n .then((responseJson) => {\r\n if (!responseJson.data) {\r\n return\r\n }\r\n })\r\n .catch((error) => {\r\n if (__DEV__) console.error(error)\r\n return\r\n })\r\n}\r\n\r\nexport async function getUser(user_id) {\r\n const res = await apiGet(`users/${user_id}`)\r\n return res.data\r\n}\r\n\r\nexport async function getUsername(user_id) {\r\n const res = await apiGet(`users/username/${user_id}`)\r\n return res.data\r\n}\r\n\r\nexport async function getOwnUser() {\r\n const res = await apiGet('users/getOwn')\r\n const user = res?.data\r\n if (user) store.dispatch(setUser(user))\r\n return user\r\n}\r\n\r\nexport async function getUserCount() {\r\n const res = await apiGet('users/count')\r\n return res.data\r\n}\r\n\r\nexport async function getUserPreferences() {\r\n const res = await apiGet('users/user/preferences')\r\n return res?.data\r\n}\r\n\r\nexport async function updateUserPreferences(newPreferences) {\r\n const oldPreferences = store.getState().preferences\r\n store.dispatch(updateUserPreferencesRedux(newPreferences))\r\n try {\r\n const res = await apiPut(\r\n store.getState().preferences,\r\n 'users/user/preferences'\r\n )\r\n const resJson = await res.json()\r\n return resJson?.data\r\n } catch (error) {\r\n store.dispatch(setUserPreferences(oldPreferences))\r\n return null\r\n }\r\n}\r\n\r\nexport async function getSubscription() {\r\n let res = await apiGet('subscriptions')\r\n if (!res) return null\r\n if (res.data?.id) return await getCustomerSubscription(res.data.id)\r\n return null\r\n}\r\n\r\nexport async function getCustomerSubscription(handle) {\r\n let res = await apiGet(`reepay/subscription/${handle}`)\r\n if (!res) return null\r\n return res\r\n}\r\n\r\nexport async function paymentClick() {\r\n const res = await apiPost({}, 'users/paymentClick')\r\n if (!res) return null\r\n return res\r\n}\r\n\r\nexport async function getHasFeatureOne(userId) {\r\n let res = await apiGet(`users/feature-one/${userId}`)\r\n if (!res) return false\r\n return res.hasFeatureOne\r\n}\r\n\r\nexport async function generateUUID() {\r\n const res = await apiPost({}, 'users/uuid')\r\n if (!res) return null\r\n return await res.json()\r\n}\r\n\r\nexport async function addFeature(featureId) {\r\n const res = await apiPost({ featureId }, `users/feature/${featureId}`)\r\n return res?.ok\r\n}\r\n\r\nexport async function getSuspension() {\r\n\tconst res = await apiGet('users/getSuspension')\r\n\treturn res?.remainingDays\r\n}\r\n","import { atom, createStore } from 'jotai'\r\nimport { atomWithStorage, createJSONStorage } from 'jotai/utils'\r\nimport AsyncStorage from '@react-native-async-storage/async-storage'\r\n\r\nexport const jotaiStore = createStore()\r\n\r\nconst storage = createJSONStorage(() => AsyncStorage)\r\nexport const SeClickedPostIdsAtom = atomWithStorage('seClickedPostIds', [], storage)\r\nexport const DkClickedPostIdsAtom = atomWithStorage('DkClickedPostIds', [], storage)\r\nexport const showSubscriptionDialogAtom = atom(false)\r\nexport const showTooManyActivePostsDialogAtom = atom(false)\r\nexport const deepLinkingStatusAtom = atom('idle')\r\nexport const forceReloadAtom = atom(Date.now())\r\nexport const initialUrlAtom = atom(null)","import { paymentClick, getHasFeatureOne } from '../services/api/User'\r\nimport { Platform } from 'react-native'\r\nimport Cookies from 'js-cookie'\r\nimport * as AuthSession from 'expo-auth-session'\r\nimport * as Linking from 'expo-linking'\r\n\r\nimport Paths from '../constants/Paths'\r\nimport store from '../redux/store'\r\n\r\nimport { jotaiStore, deepLinkingStatusAtom } from '../atoms'\r\nimport { getRegion } from '../services/localization'\r\nimport * as TrackingService from '../services/api/Tracking'\r\n\r\nexport const handlePaymentClick = async ({ origin, post = null, profile = false }) => {\r\n\tif (profile === false) paymentClick()\r\n\tconst url = new URL(Paths.getBaseUrl() + 'abonnement/oversigt')\r\n\r\n\tconst userId = store.getState().user?.id\r\n\tconst hasFeatureOne = await getHasFeatureOne(userId)\r\n\r\n\tif (hasFeatureOne === false) {\r\n\t\tconst tracking = await TrackingService.createSubscriptionTracking(origin)\r\n\t\tif (tracking.id) url.searchParams.append('tid', tracking.id)\r\n\t\tif (tracking.trackingSpan) url.searchParams.append('tspan', tracking.trackingSpan)\r\n\t}\r\n\r\n\tif (Platform.OS === 'web') {\r\n\t\tif (post) {\r\n\t\t\tconst config = { expires: 1 }\r\n\t\t\tif (!__DEV__) config.domain = 'boblberg.' + getRegion()\r\n\t\t\tCookies.set('subscription-bobl', post?.id, config)\r\n\t\t}\r\n\r\n\t\treturn window.open(url, '_self')\r\n\t}\r\n\r\n\tjotaiStore.set(deepLinkingStatusAtom, 'pending')\r\n\r\n\tconst appDeeplink = AuthSession.makeRedirectUri()\r\n\turl.searchParams.append('appDeeplink', appDeeplink)\r\n\tawait Linking.openURL(url.href)\r\n}\r\n","import { apiPost } from './ApiRequest'\r\n\r\nexport const createSubscriptionTracking = async (origin) => {\r\n\tconst response = await apiPost({ origin }, 'tracking/subscriptions')\r\n\tif (response?.ok !== true) return null\r\n\r\n\tconst tracking = await response.json()\r\n\treturn tracking\r\n}\r\n","import React from 'react'\r\nimport { View, ScrollView, StyleSheet } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\n\r\nexport default function MainContainer({\r\n children,\r\n noScroll,\r\n backgroundColor = Colors.background,\r\n}) {\r\n if (noScroll) {\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n }\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { flex: 1 },\r\n contentContainer: { flexGrow: 1 },\r\n})\r\n","import React from 'react'\r\nimport { Image, View, StyleSheet } from 'react-native'\r\nimport { BorderStyles } from '../../styles'\r\nimport Colors from '../../constants/Colors'\r\n\r\nexport function ImageHighlight(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function ImageHighlightPost(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function ImageHighlightMedium(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n blackBorder: {\r\n borderColor: Colors.black,\r\n borderWidth: 2,\r\n },\r\n border: {\r\n borderColor: Colors.lightBlue,\r\n borderWidth: 2,\r\n },\r\n centerAlignItems: { alignItems: 'center' },\r\n container: { alignItems: 'center' },\r\n greenBorder: {\r\n borderColor: Colors.green,\r\n borderWidth: 2,\r\n },\r\n highlight: {\r\n borderRadius: 200,\r\n height: 100,\r\n width: 100,\r\n },\r\n imageContainer: { position: 'absolute' },\r\n imagelarge: {\r\n borderRadius: 200,\r\n height: 225,\r\n width: 225,\r\n },\r\n imagemedium: {\r\n borderRadius: 200,\r\n height: 200,\r\n width: 200,\r\n },\r\n imagesmall: {\r\n borderRadius: 100,\r\n height: 50,\r\n width: 50,\r\n },\r\n largeHighlight: {\r\n borderRadius: 200,\r\n height: 225,\r\n width: 225,\r\n },\r\n mediumHighlight: {\r\n borderRadius: 200,\r\n height: 150,\r\n width: 150,\r\n },\r\n smallHighlight: {\r\n borderRadius: 100,\r\n height: 50,\r\n width: 50,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport Paths from '../../../constants/Paths'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ImageHighlight } from '../../images/ImageHighlight'\r\nimport { txt } from '../../../locales/i18n'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function PostItem({ item, onPressAction, rightElement, universe = null, isFaded = false }) {\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {item.title}\r\n \r\n \r\n {item.body.replace('\\n\\n','\\n')}\r\n \r\n \r\n {/* rightElement is used for myPosts */}\r\n {rightElement ?? null}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n paddingHorizontal: 8,\r\n paddingVertical: 6,\r\n marginHorizontal: 4,\r\n },\r\n postContainer: {\r\n alignSelf: 'center',\r\n flex: 1,\r\n overflow: 'hidden',\r\n paddingLeft: 12,\r\n },\r\n body: {\r\n flexWrap: 'nowrap',\r\n width: '100%',\r\n color: Colors.darkGrey,\r\n lineHeight: 20,\r\n },\r\n title: {\r\n flexWrap: 'wrap',\r\n lineHeight: 20,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { Image, View, TouchableOpacity, StyleSheet } from 'react-native'\r\n\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Colors from '../../../constants/Colors'\r\nimport { ShadowStyles } from \"../../../styles\"\r\n\r\nconst newyearUniverses = ['nytaarsvenner', 'nyarsvanner']\r\n\r\nexport const CreatePostCard = (props) => (\r\n props.navigateToCreatePost('card')}\r\n style={[styles.container, props.universe && {...ShadowStyles.shadowInputs}]}\r\n activeOpacity={0.8}\r\n >\r\n {newyearUniverses.includes(props.universe?.name) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n \r\n \r\n {props.title ?? txt('frontPage.card3Title')}\r\n \r\n\r\n \r\n {props.text ?? txt('home.createBoblText')}\r\n \r\n \r\n \r\n)\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n marginHorizontal: 4,\r\n marginVertical: 8,\r\n padding: 8,\r\n borderRadius: 12,\r\n backgroundColor: Colors.white,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n\r\n textContainer: {\r\n marginLeft: 12,\r\n flex: 1,\r\n },\r\n\r\n title: {\r\n marginBottom: 6,\r\n color: Colors.blueAzure,\r\n },\r\n\r\n image: {\r\n width: 100,\r\n height: 100,\r\n borderRadius: 100,\r\n },\r\n})\r\n","import { StyleSheet, View } from \"react-native\"\r\nimport NormalIcon from \"../icons/NormalIcon\"\r\nimport Colors from \"../../constants/Colors\"\r\nimport { CustomText } from \"../text/StyledText\"\r\nimport { txt } from \"../../locales/i18n\"\r\nimport React from \"react\"\r\n\r\nexport default function SubscriptionBenefits() {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.point1')}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.point2')}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.point3')}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.point4')}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.point5')}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.point6')}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.point7')}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.point8')}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tpoints: {\r\n\t\tgap: 8,\r\n\t\tmarginLeft: 6,\r\n\t\tmarginTop: 18,\r\n\t},\r\n\r\n\tpoint: {\r\n\t\tflexDirection: 'row',\r\n\t\tgap: 8,\r\n\t},\r\n\r\n\tpointIcon: {\r\n\t\tpadding: 3,\r\n\t\tbackgroundColor: Colors.greenExtraLight,\r\n\t\tborderRadius: 10,\r\n\t},\r\n\r\n\tpointText: {\r\n\t\tcolor: Colors.darkGrey,\r\n\t\tfontSize: 15,\r\n\t},\r\n})","import React, { useState } from 'react'\r\nimport { Platform, StyleSheet, View } from 'react-native'\r\n\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport CustomDialog from '../../../dialogs/CustomDialog'\r\nimport { ButtonPrimary } from '../../../buttons/StyledButtons'\r\n\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\n\r\nimport { handlePaymentClick } from '../../../../utils/handlePaymentClick'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\nimport { useSetAtom } from \"jotai\"\r\nimport { showSubscriptionDialogAtom } from \"../../../../atoms\"\r\nimport SubscriptionBenefits from \"../../../shared/SubscriptionBenefits\"\r\n\r\nexport const PromoteSubscriptionDialog = ({ visible }) => {\r\n const [disabled, setDisabled] = useState(false)\r\n const setShowSubscription = useSetAtom(showSubscriptionDialogAtom)\r\n\r\n const handleOpenSubscription = async () => {\r\n setDisabled(true)\r\n if (Platform.OS === 'web') window.plausible('SubscriptionClick', { props: { origin: 'create-edit-post' }})\r\n handleDismiss()\r\n await handlePaymentClick()\r\n setDisabled(false)\r\n }\r\n\r\n const handleDismiss = () => {\r\n setShowSubscription(false)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('posts.promoteSubscriptionDialog.title')}\r\n \r\n\r\n \r\n {txt('subscription.dialogs.subscriptionDialog.intro')}\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n dialog: {\r\n padding: 24,\r\n },\r\n contentContainer: {\r\n marginBottom: 24,\r\n },\r\n title: {\r\n color: Colors.blueAzure,\r\n marginBottom: 12,\r\n fontSize: 20\r\n },\r\n button: {\r\n paddingHorizontal: 12,\r\n backgroundColor: Colors.greenBtn,\r\n },\r\n closeIcon: {\r\n alignSelf: 'flex-end',\r\n position: 'absolute',\r\n paddingLeft: 24,\r\n zIndex: 1\r\n },\r\n})\r\n","import React, { useState } from 'react'\r\nimport { TouchableOpacity, StyleSheet, Platform } from 'react-native'\r\n\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\n\r\nimport { txt } from '../../../locales/i18n'\r\nimport Colors from '../../../constants/Colors'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\n\r\nimport { handlePaymentClick } from '../../../utils/handlePaymentClick'\r\nimport { ShadowStyles } from '../../../styles'\r\n\r\nexport const SubscriptionPromoCard = ({ universe = null, title, description, origin }) => {\r\n\tconst [disabled, setDisabled] = useState(false)\r\n\r\n\tconst handleOpenSubScription = async () => {\r\n\t\tsetDisabled(true)\r\n\t\tif (Platform.OS === 'web') window.plausible('SubscriptionClick', { props: { origin: origin } })\r\n\t\tawait handlePaymentClick({ origin })\r\n\t\tsetDisabled(false)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{title}\r\n\t\t\t\r\n\r\n\t\t\t{description}\r\n\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: {\r\n\t\tmargin: 12,\r\n\t\tborderRadius: 12,\r\n\t\tpaddingVertical: 12,\r\n\t\tpaddingHorizontal: 24,\r\n\t\tbackgroundColor: Colors.white,\r\n\t},\r\n\r\n\ttitle: {\r\n\t\tmarginBottom: 6,\r\n\t\tcolor: Colors.blueAzure,\r\n\t},\r\n\r\n\tbutton: {\r\n\t\tmarginTop: 12,\r\n\t\tpaddingHorizontal: 12,\r\n\t\tbackgroundColor: Colors.greenBtn,\r\n\t},\r\n})\r\n","import React, { useState } from 'react'\r\nimport { Platform, StyleSheet, View } from 'react-native'\r\n\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport CustomDialog from '../../../dialogs/CustomDialog'\r\nimport { ButtonPrimary } from '../../../buttons/StyledButtons'\r\n\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\n\r\nimport { handlePaymentClick } from '../../../../utils/handlePaymentClick'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\nimport { useSetAtom } from \"jotai\"\r\nimport { showTooManyActivePostsDialogAtom } from \"../../../../atoms\"\r\nimport SubscriptionBenefits from \"../../../shared/SubscriptionBenefits\"\r\n\r\nexport const TooManyActivePostsDialog = ({ visible }) => {\r\n const [disabled, setDisabled] = useState(false)\r\n const setShowTooManyActivePosts = useSetAtom(showTooManyActivePostsDialogAtom)\r\n\r\n const handleOpenSubscription = async () => {\r\n setDisabled(true)\r\n\tconst origin = 'too-many-active-posts'\r\n if (Platform.OS === 'web') window.plausible('SubscriptionClick', { props: { origin }})\r\n handleDismiss()\r\n\r\n await handlePaymentClick({ origin })\r\n setDisabled(false)\r\n }\r\n\r\n const handleDismiss = () => {\r\n setShowTooManyActivePosts(false)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('subscription.dialogs.tooManyActivePosts.title')}\r\n \r\n\r\n \r\n {txt('subscription.dialogs.tooManyActivePosts.text')}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n dialog: {\r\n padding: 24,\r\n },\r\n contentContainer: {\r\n marginBottom: 24,\r\n },\r\n title: {\r\n color: Colors.blueAzure,\r\n marginBottom: 12,\r\n fontSize: 20,\r\n paddingRight: 20\r\n },\r\n button: {\r\n paddingHorizontal: 12,\r\n backgroundColor: Colors.greenBtn,\r\n },\r\n closeIcon: {\r\n alignSelf: 'flex-end',\r\n position: 'absolute',\r\n paddingLeft: 24,\r\n zIndex: 1\r\n },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { FlatList, StyleSheet, TouchableOpacity, View } from 'react-native'\r\nimport { useSelector } from 'react-redux'\r\n\r\nimport { useNavigation, useRoute } from '@react-navigation/core'\r\n\r\nimport PostItem from './PostItem'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { CreatePostCard } from './CreatePostCard'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Colors from '../../../constants/Colors'\r\nimport { Features } from '../../../constants/Features'\r\nimport { PromoteSubscriptionDialog } from './Dialogs/PromoteSubscriptionDialog'\r\nimport { SubscriptionPromoCard } from './SubscriptionPromoCard'\r\n\r\nimport { TooManyActivePostsDialog } from './Dialogs/TooManyActivePostsDialog'\r\nimport { useAtomValue } from 'jotai'\r\nimport { showSubscriptionDialogAtom, showTooManyActivePostsDialogAtom, forceReloadAtom } from '../../../atoms'\r\n\r\nexport default function MyPosts(props) {\r\n\tconst [posts, setPosts] = useState([])\r\n\tconst [showSubscriptionCard, setShowSubscriptionCard] = useState(false)\r\n\r\n\tconst navigation = useNavigation()\r\n\tconst userFeatures = useSelector((state) => state.user.features)\r\n\tconst { params } = useRoute()\r\n\tconst showSubscription = useAtomValue(showSubscriptionDialogAtom)\r\n\tconst tooManyActivePosts = useAtomValue(showTooManyActivePostsDialogAtom)\r\n\tconst forceReload = useAtomValue(forceReloadAtom)\r\n\r\n\tconst newyearUniverses = ['nytaarsvenner', 'nyarsvanner']\r\n\r\n\tuseEffect(() => {\r\n\t\tif (params?.chip !== txt('posts.chipParams.mine')) return\r\n\r\n\t\tgetOwnPosts()\r\n\t\tnavigation.addListener('focus', getOwnPosts)\r\n\t\treturn () => navigation.removeListener('focus', getOwnPosts)\r\n\t}, [params])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (userFeatures.includes(Features.START_CONVERSATION)) return\r\n\t\tif (newyearUniverses.includes(props?.universe?.name)) return\r\n\t\tsetShowSubscriptionCard(true)\r\n\t}, [params, forceReload])\r\n\r\n\tasync function getOwnPosts() {\r\n\t\tconst posts = await props.getOwnPosts()\r\n\t\tsetPosts(posts)\r\n\t}\r\n\r\n\tfunction renderItem({ item }) {\r\n\t\tconst isFaded = [-1, -2, -5].includes(item.status_id)\r\n\t\treturn (\r\n\t\t\t props.navigateToPost(item.id)}\r\n\t\t\t\trightElement={\r\n\t\t\t\t\t props.navigateToEditPost(item.id)}\r\n\t\t\t\t\t\taccessibilityRole=\"button\"\r\n\t\t\t\t\t\taccessibilityLabel={txt('post.editTitle')}\r\n\t\t\t\t\t\tstyle={styles.center}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t 0 ? \"eye\" : \"eye-slash\"} color={Colors.textLight} />\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{item.status_id > 0 ? txt('ownPosts.visible') : txt('ownPosts.hidden')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\tisFaded={isFaded}\r\n\t\t\t/>\r\n\t\t)\r\n\t}\r\n\r\n\tfunction noPosts() {\r\n\t\tif (newyearUniverses.includes(props?.universe?.name)) {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t)\r\n\t\t}\r\n\r\n\t\treturn \r\n\t}\r\n\r\n\tconst renderListHeaderComponent = () => {\r\n\t\tif (showSubscriptionCard === false || posts.length === 0) return null\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{props.renderChips()}\r\n\t\t\t item.id?.toString()}\r\n\t\t\t\tdata={posts}\r\n\t\t\t\trenderItem={renderItem}\r\n\t\t\t\tkeyboardDismissMode=\"on-drag\"\r\n\t\t\t\tListEmptyComponent={noPosts}\r\n\t\t\t/>\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\nconst styles = StyleSheet.create({\r\n\tcenter: { alignSelf: 'center', paddingLeft: 12, alignItems: 'center' },\r\n\tcontainer: { flex: 1, ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React, { useState } from 'react'\r\nimport { Platform, StyleSheet, View } from 'react-native'\r\n\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport CustomDialog from '../../../dialogs/CustomDialog'\r\nimport { ButtonPrimary } from '../../../buttons/StyledButtons'\r\n\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\n\r\nimport { handlePaymentClick } from '../../../../utils/handlePaymentClick'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\nimport SubscriptionBenefits from \"../../../shared/SubscriptionBenefits\"\r\n\r\nexport const PostFeedSubscriptionDialog = ({ visible, close }) => {\r\n const [disabled, setDisabled] = useState(false)\r\n\r\n const handleOpenSubScription = async () => {\r\n setDisabled(true)\r\n\tconst origin = 'post-feed'\r\n if (Platform.OS === 'web') window.plausible('SubscriptionClick', { props: { origin } })\r\n\r\n close()\r\n await handlePaymentClick({ origin })\r\n setDisabled(false)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('subscription.dialogs.subscriptionFeedDialog.title')}\r\n \r\n\r\n \r\n {txt('subscription.dialogs.subscriptionFeedDialog.intro')}\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n dialog: {\r\n padding: 24,\r\n },\r\n contentContainer: {\r\n marginBottom: 24,\r\n },\r\n title: {\r\n color: Colors.blueAzure,\r\n marginBottom: 12,\r\n fontSize: 20,\r\n },\r\n button: {\r\n paddingHorizontal: 12,\r\n backgroundColor: Colors.greenBtn,\r\n },\r\n closeIcon: {\r\n alignSelf: 'flex-end',\r\n position: 'absolute',\r\n paddingLeft: 24,\r\n zIndex: 1,\r\n },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { FlatList, StyleSheet, View } from 'react-native'\r\nimport { useRoute } from '@react-navigation/core'\r\nimport { useSelector } from 'react-redux'\r\n\r\nimport PostItem from './PostItem'\r\nimport { txt } from '../../../locales/i18n'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport { PostFeedSubscriptionDialog } from './Dialogs/PostFeedSubscriptionDialog'\r\nimport { Features } from '../../../constants/Features'\r\nimport { SubscriptionPromoCard } from './SubscriptionPromoCard'\r\n\r\nexport default function FavoritePosts(props) {\r\n\tconst { params } = useRoute()\r\n\r\n\tconst [posts, setPosts] = useState([])\r\n\tconst [showSubscriptionDialog, setShowSubscriptionDialog] = useState(false)\r\n\tconst [showSubscriptionCard, setShowSubscriptionCard] = useState(false)\r\n\tconst country = useSelector(state => state.user.country)\r\n\tconst userFeatures = useSelector(state => state.user.features)\r\n\tconst newYearUniverses = ['nytaarsvenner', 'nyarsvanner']\r\n\t\r\n\tuseEffect(() => {\r\n\t\tif (params?.chip !== txt('posts.chipParams.favorites')) return\r\n\r\n\t\tgetFavoritePosts()\r\n\r\n\t\tif (userFeatures.includes(Features.START_CONVERSATION)) return\r\n\t\tif (newYearUniverses.includes(props?.universe?.name)) return\r\n\t\tsetShowSubscriptionCard(true)\r\n\t}, [params])\r\n\r\n\tasync function getFavoritePosts() {\r\n\t\tconst posts = await props.getFavoritePosts()\r\n\t\tsetPosts(posts)\r\n\t}\r\n\r\n\tfunction handlePostClick(postId, postIndex) {\r\n\t\tif (country === 'Sweden' && !userFeatures.includes(Features.START_CONVERSATION)) {\r\n\t\t\tconst showDialog = postIndex % 3 === 2\r\n\t\t\tif (showDialog) {\r\n\t\t\t\treturn setShowSubscriptionDialog(true)\r\n\t\t\t}\r\n\t\t}\r\n\t\tprops.navigateToPost(postId)\r\n\t}\r\n\r\n\tfunction renderItem({ item, index }) {\r\n\t\treturn (\r\n\t\t\t handlePostClick(item.id, index)}\r\n\t\t\t/>\r\n\t\t)\r\n\t}\r\n\r\n\tconst renderListHeaderComponent = () => {\r\n\t\tif (showSubscriptionCard === false || posts.length === 0) return null\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tfunction noPosts() {\r\n\t\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{txt('favoritePosts.noPostsTitle')}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{txt('favoritePosts.noPostsText')}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{props?.renderChips()}\r\n\t\t\t item.id?.toString()}\r\n\t\t\t\tdata={posts}\r\n\t\t\t\trenderItem={renderItem}\r\n\t\t\t\tkeyboardDismissMode=\"on-drag\"\r\n\t\t\t\tListEmptyComponent={noPosts}\r\n\t\t\t/>\r\n\t\t\t setShowSubscriptionDialog(false)}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: { flex: 1, ...SpacingStyles.widthAndHeight },\r\n\talignSelfCenter: { alignSelf: 'center', margin: 12 },\r\n\ttext: {\r\n\t\tcolor: Colors.inactive,\r\n\t\ttextAlign: 'center',\r\n\t\tmarginBottom: 6\r\n\t},\r\n})\r\n","import React from 'react'\r\nimport { StyleSheet, ActivityIndicator } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\n\r\nexport default function LoadingSpinner({ style, ...props }) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n spinner: { marginBottom: 24, marginTop: 12 },\r\n})\r\n","import React from 'react'\r\nimport Colors from '../../constants/Colors'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../text/StyledText'\r\n\r\nexport function InvalidInputNoticeCentered(props) {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function InvalidInputNoticeSimple(props) {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n containerCentered: {\r\n alignSelf: 'center',\r\n marginTop: 12,\r\n },\r\n containerSimple: {\r\n marginTop: 12,\r\n },\r\n text: {\r\n color: Colors.redLight,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { SearchBar } from 'react-native-elements'\r\nimport { Platform, StyleSheet, TextInput, View } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\nimport { InvalidInputNoticeCentered } from '../notices/InvalidInputNotices'\r\nimport {\r\n CornerStyles,\r\n ShadowStyles,\r\n SpacingStyles,\r\n TypographyStyles,\r\n} from '../../styles'\r\nimport Layout from '../../constants/Layout'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\n\r\nexport function FormInput(props) {\r\n const { children, style, ...other } = props\r\n return (\r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport function MessageTextInput(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function CustomInputs(props) {\r\n const { children, ...other } = props\r\n return (\r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\n// use when input requires validation.\r\n// REQUIRES:pattern, onValidation, invalidMessage and isValid props or it will skip validation\r\n// pattern = regex expression, either string or array of strings\r\n// onValidation = function that expects a validation result (boolean) and should save the result to the state\r\n// invalidMessage = message that is shown when an input is invalid\r\n// isInputValid = takes validation state (boolean or boolean array) from the state as input, this boolean shows or hides the notice\r\nexport function CustomInputWithValidationNoShadow(props) {\r\n const { children, ...other } = props\r\n // run input through regex with given pattern\r\n // pattern can be string or array\r\n function handleValidation(value) {\r\n const { pattern } = props\r\n if (!pattern) return true\r\n // string pattern, one validation rule\r\n if (typeof pattern === 'string') {\r\n const condition = new RegExp(pattern, 'g')\r\n return condition.test(value)\r\n }\r\n // array patterns, multiple validation rules\r\n if (typeof pattern === 'object') {\r\n const conditions = pattern.map((rule) => new RegExp(rule, 'g'))\r\n return conditions.map((condition) => condition.test(value))\r\n }\r\n }\r\n\r\n // on text change validate and check if notice should show\r\n function onChange(value) {\r\n // make sure all required props are given\r\n const {\r\n onChangeText,\r\n onValidation,\r\n invalidMessage,\r\n pattern,\r\n isInputValid,\r\n } = props\r\n if (\r\n !onValidation ||\r\n !invalidMessage ||\r\n !pattern ||\r\n typeof isInputValid === 'undefined'\r\n ) {\r\n return\r\n }\r\n let isValid = handleValidation(value)\r\n if (typeof isValid === 'boolean' && !isValid) {\r\n isValid = false\r\n } else if (typeof isValid === 'object' && isValid.includes(false)) {\r\n isValid = false\r\n } else {\r\n isValid = true\r\n }\r\n onValidation && onValidation(isValid)\r\n onChangeText && onChangeText(value)\r\n }\r\n\r\n function showInvalidNotice(isValid) {\r\n if (typeof isValid === 'boolean' && !isValid) {\r\n // console.log('NOT VALID BOOLEAN')\r\n return false\r\n } else if (typeof isValid === 'object' && isValid.includes(false)) {\r\n return false\r\n } else {\r\n return true\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n onChange(value)}\r\n />\r\n \r\n {children}\r\n \r\n {showInvalidNotice(props.isInputValid) ? null : (\r\n \r\n {props.invalidMessage}\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\n//To be used whenever there is a multiline input\r\nexport function CustomMultilineInputs(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function CustomGroupInput(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport const SearchBarWeb = (props) => (\r\n \r\n \r\n \r\n {!!props.value && (\r\n \r\n \r\n \r\n )}\r\n \r\n)\r\n\r\nexport function SearchBarCustom(props) {\r\n /*\r\n example inputs:\r\n onChangeText={this.updateSearch}\r\n value={this.state.text}\r\n showLoading={this.state.loading}\r\n */\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function InputPrimary(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n customContainer: {\r\n paddingHorizontal: 0,\r\n },\r\n customInputContainer: {\r\n backgroundColor: Colors.white,\r\n borderBottomWidth: 0,\r\n ...CornerStyles.borderRadiusS,\r\n ...SpacingStyles.paddingRightLeft10,\r\n ...ShadowStyles.shadowInputs,\r\n flexDirection: 'row',\r\n },\r\n customInputContainerNoShadow: {\r\n backgroundColor: Colors.white,\r\n borderBottomWidth: 0,\r\n height: 40,\r\n ...CornerStyles.borderRadiusS,\r\n ...SpacingStyles.paddingRightLeft10,\r\n flexDirection: 'row',\r\n },\r\n form: {\r\n borderBottomColor: Colors.text,\r\n borderBottomWidth: 1,\r\n flex: 1,\r\n flexDirection: 'row',\r\n paddingBottom: 6,\r\n },\r\n groupInput: {\r\n maxHeight: 300,\r\n maxWidth: Layout.maxFeedWidth,\r\n minHeight: 100,\r\n minWidth: '80%',\r\n paddingTop: 10,\r\n verticalAlign: 'top',\r\n },\r\n groupInputNoShadow: {\r\n borderColor: Colors.shadow,\r\n borderWidth: 1,\r\n ...CornerStyles.borderRadiusS,\r\n ...SpacingStyles.paddingRightLeft10,\r\n },\r\n input: { ...TypographyStyles.text, height: 40 },\r\n inputPrimary: {\r\n backgroundColor: Colors.white,\r\n borderRadius: 10,\r\n marginTop: 6,\r\n padding: 10,\r\n ...ShadowStyles.shadowInputs,\r\n ...TypographyStyles.text,\r\n },\r\n messageTextInput: {\r\n ...TypographyStyles.text,\r\n ...CornerStyles.borderRadiusM,\r\n backgroundColor: Colors.white,\r\n minHeight: 40,\r\n paddingHorizontal: 18,\r\n paddingTop: 10,\r\n paddingVertical: 10,\r\n ...ShadowStyles.shadowInputs\r\n },\r\n multiline: { minHeight: 100 },\r\n multilineInput: {\r\n maxHeight: 120,\r\n minHeight: 120,\r\n paddingTop: 10,\r\n verticalAlign: 'top',\r\n ...TypographyStyles.text,\r\n },\r\n search: {\r\n backgroundColor: Colors.white,\r\n },\r\n searchContainer: {\r\n alignSelf: 'center',\r\n backgroundColor: Colors.white,\r\n borderRadius: 10,\r\n height: 40,\r\n justifyContent: 'center',\r\n flexGrow: 1,\r\n ...ShadowStyles.shadowInputs,\r\n },\r\n searchText: { ...TypographyStyles.text },\r\n searchWeContainer: {\r\n backgroundColor: Colors.white,\r\n borderRadius: 10,\r\n flex: 1,\r\n flexDirection: 'row',\r\n paddingHorizontal: 12,\r\n paddingVertical: 10,\r\n ...ShadowStyles.shadowInputs\r\n },\r\n searchWebInput: {\r\n ...TypographyStyles.text,\r\n marginLeft: 6,\r\n width: '100%',\r\n },\r\n text: {\r\n height: '100%',\r\n ...TypographyStyles.text,\r\n color: Colors.text,\r\n },\r\n})\r\n","export const badWords = [\r\n 'sex',\r\n 'sexpartner',\r\n 'kæreste',\r\n 'kaereste',\r\n 'knep',\r\n 'kneppe',\r\n 'bollven',\r\n 'bolleven',\r\n 'idiot',\r\n 'spasser',\r\n 'date',\r\n 'knalde',\r\n 'pik',\r\n 'fisse',\r\n 'blowjob',\r\n 'fvb',\r\n 'fwb',\r\n 'fetish',\r\n 'bolle',\r\n 'liderlig',\r\n 'tantra',\r\n 'yoni',\r\n 'nøgen',\r\n 'elskerinde',\r\n 'sxs',\r\n 'svans',\r\n 'numse',\r\n 'lort',\r\n 'dating',\r\n]\r\n\r\nexport const unacceptedConversationText = [\r\n 'du er lækker',\r\n 'du ser sød ud',\r\n 'hej smukke',\r\n 'hej søde',\r\n 'jeg søger en kæreste',\r\n 'sex',\r\n]\r\n","// libraries\r\nimport React, { useEffect, useState } from 'react'\r\nimport { Animated, FlatList, Keyboard, Platform, StyleSheet, View } from 'react-native'\r\nimport { useRoute, useNavigation } from '@react-navigation/native'\r\n\r\n// components\r\nimport LoadingSpinner from '../activityIndicators/LoadingSpinner'\r\nimport { SearchBarCustom, SearchBarWeb } from '../text/StyledTextinputs'\r\nimport { CustomText } from '../text/StyledText'\r\n\r\n// context\r\nimport { txt } from '../../locales/i18n'\r\nimport { SpacingStyles } from '../../styles'\r\nimport Colors from '../../constants/Colors'\r\nimport { badWords } from '../../constants/BadWords'\r\nimport store from '../../redux/store'\r\nimport { saveSearchString } from '../../services/api/Posts'\r\nimport CustomDialog, { ActionButton, ContentContainer } from '../../components/dialogs/CustomDialog'\r\n\r\nclass SearchList extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n // default paginate value if props.paginate isn't defined\r\n this.paginate = props.paginate ?? 20\r\n\r\n this.state = {\r\n data: [],\r\n searchText: props.route?.params?.search || '',\r\n isLoading: false,\r\n canFetchData: true,\r\n catchedWord: '',\r\n showWordModal: false,\r\n showHeader: true,\r\n refreshing: false,\r\n headerHeight: 100,\r\n }\r\n\r\n this.scrolling = this.props.isScrolling\r\n\r\n this.timeout = 0\r\n this.canFetchData = true\r\n\r\n this.headerY = new Animated.Value(0)\r\n this.offset = 0\r\n this.offSetTimeout = 0\r\n\r\n this.isScrolling = false\r\n this.isAnimating = false\r\n }\r\n\r\n getHeight(event) {\r\n const height = event.nativeEvent.layout.height\r\n this.setState({ headerHeight: height })\r\n }\r\n\r\n async componentDidMount() {\r\n // await this.getData()\r\n await this.getData()\r\n }\r\n\r\n async componentDidUpdate(prevProps) {\r\n if (this.props.isFocussed && prevProps.isFocussed === false) {\r\n await this.getData()\r\n }\r\n\r\n\tconst searchParam = this.props?.route?.params?.search ?? ''\r\n\tif (this.state.searchText !== searchParam) return await this.searchTextHandler(searchParam)\r\n\r\n if (this.state.showHeader) {\r\n Animated.timing(this.headerY, {\r\n toValue: 0,\r\n duration: 250,\r\n useNativeDriver: false,\r\n }).start()\r\n } else {\r\n Animated.timing(this.headerY, {\r\n toValue: -this.state.headerHeight - 6,\r\n duration: 250,\r\n useNativeDriver: false,\r\n }).start()\r\n }\r\n\r\n const state = this.props.triggerUpdate?.()\r\n if (state) {\r\n this.setState(\r\n {\r\n data: [],\r\n isLoading: true,\r\n canFetchData: true,\r\n },\r\n this.getData\r\n )\r\n }\r\n if (this.props.childFunc) this.props.childFunc.current = this.handleRefresh\r\n }\r\n\r\n getDataLength() {\r\n const filteredData = this.state.data.filter((item) => !item.noCount)\r\n return filteredData.length\r\n }\r\n\r\n\tasync searchTextHandler(searchText) {\r\n\t\tclearTimeout(this.timeout)\r\n\r\n const includesBadWord = !!badWords.includes(searchText.toLowerCase())\r\n\t\tthis.setState({\r\n data: [],\r\n isLoading: true,\r\n searchText,\r\n catchedWord: searchText,\r\n showWordModal: includesBadWord,\r\n })\r\n\t\tthis.canFetchData = true\r\n\r\n\t\tthis.timeout = setTimeout(async () => {\r\n\t\t\tconst dataResponse = await this.props.getData({\r\n\t\t\t\tsearch: searchText,\r\n\t\t\t\tskip: 0,\r\n\t\t\t\tamount: this.paginate,\r\n\t\t\t\tisSearch: true,\r\n\t\t\t})\r\n\r\n\t\t\tthis.setState({ data: dataResponse, isLoading: false })\r\n\t\t}, 800)\r\n\t}\r\n\r\n\thandleChangeText = async (input) => {\r\n\t\tthis.props.navigation.setParams({ search: input })\r\n\t}\r\n\r\n clearSearch = async () => {\r\n this.canFetchData = true\r\n this.setState({ data: [], isLoading: true, searchText: '' })\r\n this.props.navigation.setParams({ search: undefined })\r\n const dataResponse = await this.props.getData({\r\n search: '',\r\n skip: 0,\r\n amount: this.paginate,\r\n isSearch: true,\r\n })\r\n this.setState({ data: dataResponse, isLoading: false })\r\n }\r\n\r\n getData = async () => {\r\n this.setState({ isLoading: true })\r\n\r\n this.canFetchData = true\r\n const dataResponse = await this.props.getData({\r\n search: this.state.searchText,\r\n skip: this.getDataLength(),\r\n amount: this.paginate,\r\n isSearch: false,\r\n })\r\n\r\n if (!dataResponse) {\r\n return this.setState({\r\n isLoading: false,\r\n refreshing: false,\r\n })\r\n }\r\n\r\n this.setState({\r\n data: this.state.data.concat(dataResponse ?? []),\r\n isLoading: false,\r\n refreshing: false,\r\n })\r\n\r\n this.canFetchData = dataResponse?.length !== 0\r\n }\r\n\r\n handleEndReached = (event) => {\r\n const atScrollEnd = event.distanceFromEnd >= -500\r\n\r\n if (atScrollEnd && !this.state.isLoading && this.canFetchData) {\r\n this.getData()\r\n }\r\n }\r\n\r\n handleSearchBlur = () => {\r\n const searchString = this.state.searchText\r\n const userId = store.getState().user?.id\r\n if (searchString && userId) {\r\n if (this.props.saveSearch) {\r\n this.props.saveSearch()\r\n } else {\r\n saveSearchString({ searchString })\r\n }\r\n }\r\n }\r\n\r\n handleRefresh = async () => {\r\n this.setState({\r\n refreshing: true,\r\n data: [],\r\n isLoading: true,\r\n searchText: '',\r\n })\r\n await this.props.refresh?.()\r\n\r\n const dataResponse = await this.props.getData({\r\n search: '',\r\n skip: 0,\r\n amount: this.paginate,\r\n isSearch: false,\r\n })\r\n\r\n this.setState({\r\n data: dataResponse,\r\n isLoading: false,\r\n refreshing: false,\r\n })\r\n }\r\n\r\n renderSearchbar = () => {\r\n if (Platform.OS === 'web') {\r\n return (\r\n \r\n )\r\n } else {\r\n return (\r\n \r\n )\r\n }\r\n }\r\n\r\n handleOffset = (currentOffset) => {\r\n if (Platform.OS === 'web') {\r\n clearTimeout(this.offSetTimeout)\r\n\r\n if (currentOffset === 0) this.setState({ showHeader: true })\r\n\r\n if (currentOffset > this.offset && this.state.showHeader) {\r\n this.setState({ showHeader: false })\r\n }\r\n if (currentOffset < this.offset && !this.state.showHeader) {\r\n this.setState({ showHeader: true })\r\n }\r\n this.offSetTimeout = setTimeout(() => {\r\n this.offset = currentOffset\r\n }, 0)\r\n } else {\r\n if (currentOffset <= 0) this.setState({ showHeader: true })\r\n if (this.isScrolling) {\r\n if (currentOffset > this.offset && this.state.showHeader) {\r\n this.setState({ showHeader: false })\r\n }\r\n if (currentOffset < this.offset && !this.state.showHeader) {\r\n this.setState({ showHeader: true })\r\n }\r\n } else {\r\n this.offset = currentOffset\r\n }\r\n }\r\n }\r\n\r\n renderEmptySearchResult() {\r\n const notLoading = !this.state.isLoading\r\n const emptySearch = this.state.searchText === ''\r\n\r\n if (notLoading && emptySearch) {\r\n return (\r\n <>\r\n {txt('noResults.noSearchResults')}\r\n {!this.props.christmas && {txt('noResults.noAccess')}}\r\n \r\n )\r\n } else if (notLoading) {\r\n return (\r\n <>\r\n {txt('noResults.noSearchResults')}\r\n \r\n )\r\n }\r\n }\r\n\r\n render() {\r\n const { backgroundColor = Colors.skyBlue } = this.props\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.state.catchedWord}\r\n \r\n \r\n this.setState({ showWordModal: false })}>{txt('dialog.ok')}\r\n \r\n this.getHeight(event)}\r\n >\r\n {this.props.renderChips?.()}\r\n {this.props.filterAbove?.()}\r\n \r\n {this.renderSearchbar()}\r\n {this.props.filterRight?.()}\r\n \r\n {this.props.filterBelow?.()}\r\n \r\n {\r\n this.handleOffset(e.nativeEvent.contentOffset.y)\r\n if (Platform.OS !== 'web') return\r\n\r\n if (!this.state.isLoading) {\r\n Keyboard.dismiss()\r\n if (this.scrolling) this.scrolling(true)\r\n }\r\n }}\r\n onScrollBeginDrag={() => {\r\n this.isScrolling = true\r\n }}\r\n onScrollEndDrag={() => (this.isScrolling = false)}\r\n ListEmptyComponent={this.renderEmptySearchResult()}\r\n ListFooterComponent={this.state.isLoading && }\r\n maxToRenderPerBatch={this.paginate * 2}\r\n onEndReachedThreshold={2}\r\n keyExtractor={(item, index) => index.toString()}\r\n onRefresh={Platform.OS === 'web' ? undefined : this.handleRefresh}\r\n refreshing={this.state.refreshing}\r\n {...this.props}\r\n onMomentumScrollBegin={() => {\r\n if (!this.state.isLoading) {\r\n Keyboard.dismiss()\r\n if (this.scrolling) this.scrolling(true)\r\n }\r\n }}\r\n />\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default function (props) {\r\n const route = useRoute()\r\n const navigation = useNavigation()\r\n const [isFocussed, setIsFocussed] = useState(true)\r\n\r\n useEffect(() => {\r\n const unsubscribeFocus = navigation.addListener('focus', () => setIsFocussed(true))\r\n const unsubscribeBlur = navigation.addListener('blur', () => setIsFocussed(false))\r\n\r\n return () => {\r\n unsubscribeFocus()\r\n unsubscribeBlur()\r\n }\r\n }, [])\r\n\r\n return \r\n}\r\n\r\nexport function ListSeparator({ text, color = null }) {\r\n return (\r\n \r\n \r\n \r\n {text.toUpperCase()}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n animatedHeader: {\r\n position: 'absolute',\r\n top: 0,\r\n width: '100%',\r\n zIndex: 1,\r\n },\r\n container: {\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n noAccessText: {\r\n color: Colors.inactive,\r\n marginLeft: 12,\r\n marginTop: 12,\r\n paddingTop: 10,\r\n textAlign: 'center',\r\n },\r\n\r\n searchbarContainer: {\r\n marginHorizontal: 12,\r\n marginBottom: 6,\r\n marginTop: 6,\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n separator: {\r\n alignItems: 'center',\r\n borderRadius: 12,\r\n display: 'flex',\r\n flexDirection: 'row',\r\n justifyContent: 'space-evenly',\r\n marginBottom: 12,\r\n marginTop: 6,\r\n },\r\n separatorLine: {\r\n backgroundColor: Colors.inactive,\r\n flex: 1,\r\n height: 1,\r\n marginLeft: 12,\r\n marginRight: 12,\r\n },\r\n separatorText: {\r\n textAlign: 'center',\r\n },\r\n textCenter: { textAlign: 'center' },\r\n textRed: { color: Colors.errorBackground },\r\n})\r\n","import React from 'react'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport { CustomText } from '../text/StyledText'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport Layout from '../../constants/Layout'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport default function CategorySelectList({ categories, selectedCategories, selectCategory }) {\r\n return (\r\n \r\n {categories.map(({ value, name }, index) => (\r\n selectCategory(value)}\r\n style={[styles.category, selectedCategories.includes(value) ? styles.categorySelected : {}]}\r\n >\r\n {!Layout.isSmallDevice && selectedCategories.includes(value) && (\r\n \r\n )}\r\n \r\n {name}\r\n \r\n \r\n ))}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n category: {\r\n marginTop: 3,\r\n marginRight: 3,\r\n paddingHorizontal: 8,\r\n paddingVertical: 6,\r\n borderColor: Colors.greyLight,\r\n borderWidth: 2,\r\n borderRadius: 20,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n categorySelected: {\r\n borderWidth: 2,\r\n borderColor: Colors.blue,\r\n backgroundColor: Colors.bluePale,\r\n },\r\n})","import { Platform, StyleSheet, View } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport React, { useState } from 'react'\r\nimport CommunitySlider from '@react-native-community/slider'\r\nimport { CustomText } from \"../text/StyledText\"\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport default function Slider(props) {\r\n return (\r\n \r\n\r\n )\r\n}\r\n\r\nexport function CustomSlider(props) {\r\n const [value, setValue] = useState(props.option ?? 0)\r\n const [temporaryValue, setTemporaryValue] = useState(props.option ?? 0)\r\n\r\n const numberList = Array.from({ length: props.maxValue - props.minValue + 1 }, (_, index) => props.minValue + index);\r\n\r\n function changeValue(val) {\r\n setValue(val)\r\n props.setOption(val)\r\n }\r\n\r\n return (\r\n \r\n changeValue(val)}\r\n onValueChange={(item) => setTemporaryValue(item)}\r\n minimumValue={props.minValue ?? 0}\r\n maximumValue={props.maxValue ?? 0}\r\n tapToSeek={true}\r\n minimumTrackTintColor={Colors.blueAzure}\r\n maximumTrackTintColor={Colors.greyLight}\r\n {...props}\r\n />\r\n \r\n {numberList?.map((number) => (\r\n changeValue(number)}\r\n style={{ width: Platform.OS === 'web' ? 20 : 30, justifyContent: 'center' }}\r\n >\r\n \r\n {number}\r\n \r\n \r\n ))}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n alignItems: 'center',\r\n },\r\n normalText: {\r\n fontSize: 14,\r\n color: Colors.darkGrey,\r\n fontFamily: 'gotham-book',\r\n textAlign: 'center',\r\n },\r\n highlightedText: {\r\n fontSize: 14,\r\n color: Colors.blueAzure,\r\n fontFamily: 'gotham-bold',\r\n textAlign: 'center',\r\n },\r\n})","import React from 'react'\r\nimport CustomDialog from '../dialogs/CustomDialog'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { Platform, StyleSheet, TouchableOpacity, View } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport { txt } from \"../../locales/i18n\"\r\nimport { handlePaymentClick } from \"../../utils/handlePaymentClick\"\r\nimport SubscriptionBenefits from \"../shared/SubscriptionBenefits\"\r\n\r\nexport default function PostFilterSubscriptionDialog({visible, close}) {\r\n\r\n async function handleOpenUrl() {\r\n const origin = 'filter-popup'\r\n if (Platform.OS === 'web') window.plausible('SubscriptionClick', { props: { origin }})\r\n close()\r\n\r\n await handlePaymentClick({ origin })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('subscription.dialogs.subscriptionFilterDialog.title')}\r\n \r\n \r\n {txt('subscription.dialogs.subscriptionFilterDialog.intro')}\r\n \r\n \r\n {txt('subscription.dialogs.subscriptionFilterDialog.benefits')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n dialogContainer: {\r\n margin: 24\r\n },\r\n closeIcon: {\r\n alignSelf: 'flex-end',\r\n position: 'absolute',\r\n paddingLeft: 24,\r\n zIndex: 1\r\n },\r\n title: {\r\n fontSize: 24,\r\n fontFamily: 'raleway-semibold',\r\n paddingRight: 25\r\n },\r\n})","import React, { useEffect, useState } from 'react'\r\nimport { TouchableOpacity, StyleSheet, View } from 'react-native'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport CustomDialog, { ContentContainer } from '../../dialogs/CustomDialog'\r\nimport CategorySelectList from '../../formElements/CategorySelectList'\r\nimport { borderRadiusS } from '../../../styles/corners'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Slider from '../../formElements/Slider'\r\nimport PostFilterSubscriptionDialog from \"../../dialogs/PostFilterSubscriptionDialog\"\r\nimport { useSelector } from \"react-redux\"\r\nimport { useRoute } from \"@react-navigation/native\"\r\n\r\nexport default function PostFilter({\r\n\tfilterVisible,\r\n\tsetFilterVisible,\r\n\tselectedGenders,\r\n\tsetSelectedGenders,\r\n\tageLow,\r\n\tsetAgeLow,\r\n\tageHigh,\r\n\tsetAgeHigh,\r\n\tdistance,\r\n\tsetDistance,\r\n\tresetFilters,\r\n\tapplyFilter,\r\n\tnumFilters\r\n}) {\r\n const minAge = 15\r\n const maxAge = 95\r\n const genders = [\r\n {value: 1, name: txt('genders')[1]},\r\n {value: 2, name: txt('genders')[2]},\r\n {value: 3, name: txt('genders')[3]},\r\n ]\r\n\r\n const [ageLowDisplay, setAgeLowDisplay] = useState(ageLow)\r\n const [ageHighDisplay, setAgeHighDisplay] = useState(ageHigh)\r\n const [displayDistance, setDisplayDistance] = useState(distance)\r\n const [subscriptionDialogVisible, setSubscriptionDialogVisible] = useState(false)\r\n const features = useSelector((state) => state.user?.features)\r\n const router = useRoute()\r\n\r\n useEffect(() => {\r\n\tif (subscriptionDialogVisible === false) return\r\n\thandleSetFilterVisible()\r\n }, [features])\r\n\r\n useEffect(() => {\r\n const _minAge = ageLow + 10\r\n if (ageHigh < _minAge) {\r\n setAgeHighDisplay(_minAge)\r\n setAgeHigh(_minAge)\r\n }\r\n }, [ageHigh])\r\n\r\n useEffect(() => {\r\n const _maxAge = ageHigh - 10\r\n if (ageLow > _maxAge) {\r\n setAgeLowDisplay(_maxAge)\r\n setAgeLow(_maxAge)\r\n }\r\n }, [ageLow])\r\n\r\n function selectGender(selectedGender) {\r\n if (selectedGenders.includes(selectedGender)) {\r\n setSelectedGenders(selectedGenders.filter((id) => id !== selectedGender))\r\n return\r\n }\r\n setSelectedGenders([...selectedGenders, selectedGender])\r\n }\r\n\r\n function applyFilters() {\r\n setFilterVisible(false)\r\n applyFilter()\r\n }\r\n\r\n function handleSetFilterVisible() {\r\n const universe = router.params?.universe\r\n const newYearUniverses = ['nytaarsvenner', 'nyarsvanner']\r\n\r\n if (!features.includes(1) && !newYearUniverses.includes(universe)) setSubscriptionDialogVisible(true)\r\n else setFilterVisible(true)\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {txt('posts.filters.filter')}\r\n \r\n\r\n setFilterVisible(false)} style={{width: '95%'}}>\r\n \r\n \r\n {txt('global.reset')}\r\n \r\n\r\n {txt('posts.filters.age')}\r\n \r\n {`${txt('posts.filters.min')} `}\r\n \r\n {` ${ageLowDisplay} ${txt('posts.filters.years')}`}\r\n \r\n\r\n \r\n {`${txt('posts.filters.max')} `}\r\n \r\n {` ${ageHighDisplay}${ageHighDisplay === maxAge ? '+':''} ${txt('posts.filters.years')}`}\r\n \r\n\r\n {txt('posts.filters.distance')}\r\n {txt('posts.filters.distanceDescription')}\r\n \r\n \r\n {` ca. ${displayDistance} km`}\r\n \r\n\r\n {txt('posts.filters.gender')}\r\n \r\n\r\n \r\n \r\n \r\n\r\n setSubscriptionDialogVisible(false)} />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n filterButton: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n ...borderRadiusS,\r\n padding: 10,\r\n },\r\n label: {\r\n marginTop: 12,\r\n },\r\n applyButton: {\r\n marginTop: 24,\r\n width: '100%'\r\n },\r\n sliderWrapper: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n age: {\r\n minWidth: 45,\r\n textAlign: 'right'\r\n },\r\n reset: {\r\n alignSelf: 'flex-end',\r\n paddingVertical: 6\r\n }\r\n})\r\n","import { apiGet } from './ApiRequest'\r\nimport * as Localization from '../localization'\r\n\r\nexport const getAdvertisements = async (query = {}) => {\r\n const region = Localization.getRegion()\r\n const country = Localization.countries.find((country) => country.region === region)\r\n\r\n const queryString = Object.entries(query).reduce((queryString, [key, value]) => {\r\n return queryString + '&' + key + '=' + value\r\n }, 'region=' + country.name ?? 'Denmark')\r\n\r\n const advertisements = await apiGet('advertisements?' + queryString)\r\n return advertisements ?? []\r\n}\r\n","import React, { useRef } from 'react'\r\nimport { Dimensions, Platform, Image, StyleSheet, View, TouchableWithoutFeedback } from 'react-native'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport * as Linking from 'expo-linking'\r\n\r\nimport { txt } from '../locales/i18n'\r\nimport { CustomText } from './text/StyledText'\r\nimport Fontsizes from '../constants/Fontsizes'\r\n\r\nconst imageSizeThreshold = 620\r\n\r\nconst imageSizes = {\r\n\tsmall: { height: 100, width: 400 },\r\n\tlarge: { height: 100, width: 800 },\r\n}\r\n\r\nexport const Advertisement = ({ advertisements }) => {\r\n\tconst navigation = useNavigation()\r\n\tconst advertisementIndex = useRef(Math.floor(Math.random() * advertisements.length))\r\n\tconst advertisement = advertisements[advertisementIndex.current] ?? null\r\n\tif (advertisement === null) return null\r\n\r\n\tconst windowWidth = Dimensions.get('window').width\r\n\tconst smallDevice = windowWidth <= imageSizeThreshold\r\n\r\n\tconst getImageDimenstion = () => {\r\n\t\tconst imageSize = smallDevice ? imageSizes.small : imageSizes.large\r\n\t\tconst aspectRatio = imageSize.width / imageSize.height\r\n\r\n\t\treturn {\r\n\t\t\twidth: Platform.OS === 'web' ? 'calc(100% - 2 * 12px)' : Dimensions.get('window').width - 2 * 12,\r\n\t\t\taspectRatio,\r\n\t\t}\r\n\t}\r\n\r\n\tconst getImageUri = () => {\r\n\t\treturn smallDevice ? advertisement.imageSmall : advertisement.imageLarge\r\n\t}\r\n\r\n\tconst openLink = () => {\r\n\t\tif (advertisement.isEvent) {\r\n\t\t\tconst eventId = advertisement.linkTracking || null\r\n\t\t\tif (eventId === null) return navigation.navigate('EventStack', { screen: 'Events' })\r\n\t\t\treturn navigation.navigate('EventStack', { screen: 'Event', params: { eventId } })\r\n\t\t}\r\n\r\n\t\tif (Platform.OS === 'web') {\r\n\t\t\treturn window.open(advertisement.linkTracking, '_blank')\r\n\t\t}\r\n\r\n\t\tLinking.openURL(advertisement.linkTracking)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t{advertisement.adLabel && (\r\n\t\t\t\t\t{txt('global.advertisement')}\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: {\r\n\t\tmargin: 12,\r\n\t\tborderRadius: 12,\r\n\t\tposition: 'relative',\r\n\t\toverflow: 'hidden',\r\n\t\tcursor: 'pointer',\r\n\t},\r\n\r\n\timage: {\r\n\t\twidth: '100%',\r\n\t\theight: '100%',\r\n\t},\r\n\r\n\tadvertisementInfo: {\r\n\t\ttextAlign: 'center',\r\n\t\tfontSize: Fontsizes.xs,\r\n\t},\r\n})\r\n","import React, { useCallback, useEffect, useRef, useState } from 'react'\r\nimport SearchList, { ListSeparator } from '../../lists/SearchList'\r\nimport PostItem from './PostItem'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { CreatePostCard } from './CreatePostCard'\r\nimport PostFilter from './PostFilter'\r\nimport { useSelector } from 'react-redux'\r\nimport { useRoute } from '@react-navigation/core'\r\nimport LoadingSpinner from '../../activityIndicators/LoadingSpinner'\r\nimport { saveSearchString } from '../../../services/api/Posts'\r\nimport { Features } from '../../../constants/Features'\r\n\r\nimport { useSetAtom } from 'jotai'\r\nimport { SeClickedPostIdsAtom, DkClickedPostIdsAtom } from '../../../atoms'\r\n\r\nimport * as AdvertisementService from '../../../services/api/Advertisement'\r\nimport { Advertisement } from '../../advertisement'\r\n\r\nconst thisYear = new Date().getFullYear()\r\n\r\nexport default function PostFeed(props) {\r\n const route = useRoute()\r\n const setSePostFeedIds = useSetAtom(SeClickedPostIdsAtom)\r\n const setDkPostFeedIds = useSetAtom(DkClickedPostIdsAtom)\r\n\r\n const birthYear = useSelector((state) => state.user.birth_year)\r\n const country = useSelector((state) => state.user.country)\r\n const userFeatures = useSelector((state) => state.user.features)\r\n\r\n const defaultMaxDistance = 750\r\n let defaultAgeLow\r\n let defaultAgeHigh\r\n\r\n if (props.universe /*&& props.universe?.name !== 'nytaarsvenner'*/ || country === 'Germany') {\r\n defaultAgeLow = 15\r\n defaultAgeHigh = 99\r\n } else {\r\n defaultAgeLow = Math.max(Math.round((thisYear - birthYear - 20) / 5) * 5, 15)\r\n defaultAgeHigh = Math.min(Math.round((thisYear - birthYear + 20) / 5) * 5, 99)\r\n }\r\n\r\n const [filterVisible, setFilterVisible] = useState(false)\r\n const [selectedGenders, setSelectedGenders] = useState([])\r\n const [ageLow, setAgeLow] = useState(defaultAgeLow)\r\n const [ageHigh, setAgeHigh] = useState(defaultAgeHigh)\r\n const [distance, setDistance] = useState(defaultMaxDistance)\r\n const [isLoading, setIsLoading] = useState(true)\r\n const [updateToggle, setUpdateToggle] = useState(false)\r\n const [numFilters, setNumFilters] = useState(0)\r\n const [advertisements, setAdvertisements] = useState([])\r\n const postIds = useRef([])\r\n const hasNewFilters = useRef(false)\r\n const prevSearch = useRef(route?.params?.search || '')\r\n\r\n useEffect(() => {\r\n getMorePostIds().then(() => {\r\n setIsLoading(false)\r\n })\r\n }, [])\r\n\r\n useEffect(() => {\r\n const query = {}\r\n if ('universe' in props) query.universeId = props.universe.id\r\n AdvertisementService.getAdvertisements(query).then(setAdvertisements)\r\n }, [])\r\n\r\n useEffect(() => {\r\n let filterCount = selectedGenders.length\r\n if (ageLow !== defaultAgeLow) filterCount++\r\n if (ageHigh !== defaultAgeHigh) filterCount++\r\n if (distance !== defaultMaxDistance) filterCount++\r\n setNumFilters(filterCount)\r\n }, [ageLow, ageHigh, distance, selectedGenders])\r\n\r\n function resetFilters() {\r\n setSelectedGenders([])\r\n setAgeLow(defaultAgeLow)\r\n setAgeHigh(defaultAgeHigh)\r\n setDistance(defaultMaxDistance)\r\n setNumFilters(0)\r\n }\r\n\r\n async function resetPostIds() {\r\n postIds.current = await getPostIds(0)\r\n }\r\n\r\n async function getMorePostIds() {\r\n const ids = await getPostIds(postIds.current.length)\r\n postIds.current = [...postIds.current, ...ids]\r\n }\r\n\r\n async function getPostIds(offset) {\r\n return props.getNewPostIds({\r\n search: prevSearch.current,\r\n birthYearLow: thisYear - ageHigh,\r\n birthYearHigh: thisYear - ageLow,\r\n genders: selectedGenders,\r\n maxDistance: distance,\r\n offset,\r\n })\r\n }\r\n\r\n async function getData({ search, skip, amount }) {\r\n const isNewSearch = prevSearch.current !== search\r\n if (isNewSearch) {\r\n prevSearch.current = search\r\n await resetPostIds()\r\n }\r\n let nextPostIds = postIds.current.slice(skip, skip + amount)\r\n if (nextPostIds.length < 1) {\r\n await getMorePostIds()\r\n nextPostIds = postIds.current.slice(skip, skip + amount)\r\n }\r\n return props.getPosts(nextPostIds)\r\n }\r\n\r\n function triggerUpdate() {\r\n if (hasNewFilters.current) {\r\n hasNewFilters.current = false\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n async function applyFilter() {\r\n await resetPostIds()\r\n hasNewFilters.current = true\r\n trackFilter()\r\n setUpdateToggle((prev) => !prev)\r\n }\r\n\r\n function trackFilter() {\r\n saveSearchString({\r\n searchString: prevSearch.current,\r\n birthYearLow: thisYear - ageLow,\r\n birthYearHigh: thisYear - ageHigh,\r\n genders: selectedGenders.join(),\r\n maxDistance: distance,\r\n })\r\n }\r\n\r\n\tfunction handlePostClick(postId, universeId) {\r\n\t\tif (country === 'Sweden' && !userFeatures.includes(Features.START_CONVERSATION)) {\r\n\t\t\tsetSePostFeedIds(async (sePostFeedIdsPromise) => {\r\n\t\t\t\tconst sePostFeedIds = await sePostFeedIdsPromise\r\n\t\t\t\r\n\t\t\t\t// universeId 14 = nyarsvanner\r\n\t\t\t\tif (universeId === 14) return sePostFeedIds\r\n\r\n\t\t\t\tif (sePostFeedIds.includes(postId)) return sePostFeedIds\r\n\r\n\t\t\t\t// incremental steps for display of subscription dialog \r\n\t\t\t\tconst contactIncrement = 3\r\n\r\n\t\t\t\t// max length of stored list\r\n\t\t\t\tconst maxListLength = 100\r\n\r\n\t\t\t\tif (sePostFeedIds.length > maxListLength) {\r\n\t\t\t\t\tconst sePostFeedIdsSliced = sePostFeedIds.slice(contactIncrement, sePostFeedIds.length)\r\n\t\t\t\t\treturn [...sePostFeedIdsSliced, postId]\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn [...sePostFeedIds, postId]\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tif (country === 'Denmark' && !userFeatures.includes(Features.START_CONVERSATION)) {\r\n\t\t\tsetDkPostFeedIds(async (dkPostFeedIdsPromise) => {\r\n\t\t\t\tconst dkPostFeedIds = await dkPostFeedIdsPromise\r\n\r\n\t\t\t\t// universeId 10 = nytårsvenner\r\n\t\t\t\tif (universeId === 10) return dkPostFeedIds\r\n\r\n\t\t\t\tif (dkPostFeedIds.includes(postId)) return dkPostFeedIds\r\n\r\n\t\t\t\t// incremental steps for display of subscription dialog \r\n\t\t\t\tconst contactIncrement = 3\r\n\r\n\t\t\t\t// max length of stored list\r\n\t\t\t\tconst maxListLength = 100\r\n\r\n\t\t\t\tif (dkPostFeedIds.length > maxListLength) {\r\n\t\t\t\t\tconst dkPostFeedIdsSliced = dkPostFeedIds.slice(contactIncrement, dkPostFeedIds.length)\r\n\t\t\t\t\treturn [...dkPostFeedIdsSliced, postId]\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn [...dkPostFeedIds, postId]\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tprops.navigateToPost(postId)\r\n\t}\r\n\r\n const renderItem = ({ item, index }) => {\r\n if (item === 'advertisement') return \r\n\r\n if (item.isSeparator) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n if (item.isCreatePostItem) {\r\n const newyearUniverses = ['nytaarsvenner', 'nyarsvanner']\r\n if (newyearUniverses.includes(props?.universe?.name)) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n return \r\n }\r\n\r\n return (\r\n handlePostClick(item.id, item.universe_id, index)}\r\n universe={props.universe}\r\n />\r\n )\r\n }\r\n\r\n const ListHeaderText = useCallback(() => {\r\n return (\r\n <>\r\n \r\n {!props.universe?.name && }\r\n \r\n )\r\n }, [])\r\n\r\n const applyAdvertisements = (listItems) => {\r\n if (advertisements.length === 0) return listItems\r\n\r\n const steps = 20\r\n const offset = 15\r\n\r\n const listContent = listItems.reduce((listContent, listItem, index) => {\r\n if (index % steps === offset) listContent.push('advertisement')\r\n listContent.push(listItem)\r\n return listContent\r\n }, [])\r\n\r\n return listContent\r\n }\r\n\r\n function filter() {\r\n return (\r\n \r\n )\r\n }\r\n\r\n if (isLoading) {\r\n return \r\n }\r\n\r\n return (\r\n \r\n )\r\n}","import React, { useEffect, useRef } from 'react'\r\nimport Colors, { getColorFromPercent } from '../../constants/Colors'\r\nimport { Animated, StyleSheet, View } from 'react-native'\r\nimport { ShadowStyles } from '../../styles'\r\n\r\nexport const CustomProgressBar = ({ progress, style }) => {\r\n const animatedWidth = useRef(new Animated.Value(0)).current\r\n\r\n useEffect(() => {\r\n const progressWidth = Math.min(Math.max(progress, 0), 1) * 100\r\n Animated.timing(animatedWidth, {\r\n toValue: progressWidth,\r\n duration: 500,\r\n useNativeDriver: false\r\n }).start()\r\n }, [progress])\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n height: 10,\r\n width: '100%',\r\n backgroundColor: Colors.white,\r\n borderRadius: 5,\r\n overflow: 'hidden',\r\n ...ShadowStyles.shadowInputs,\r\n },\r\n progressBar: {\r\n height: '100%',\r\n borderRadius: 5\r\n },\r\n})\r\n","import React, { useRef, useState } from 'react'\r\nimport AvatarEditor from 'react-avatar-editor'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport Slider from '@react-native-community/slider'\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\nimport { CustomText } from '../text/StyledText'\r\n\r\nexport default function ImageCropper({ image, saveCroppedImage }) {\r\n const [zoom, setZoom] = useState(1)\r\n const [rotate, setRotate] = useState(0)\r\n const width = 225\r\n const editor = useRef()\r\n\r\n function cropImage() {\r\n if (editor.current) {\r\n const image = editor.current.getImageScaledToCanvas()\r\n const url = image.toDataURL()\r\n saveCroppedImage(url)\r\n }\r\n }\r\n\r\n function resetValues() {\r\n setZoom(1)\r\n setRotate(0)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {txt('imagePicker.zoom')}\r\n setZoom(value)}\r\n style={{ width: 300, height: 40 }}\r\n minimumValue={1}\r\n maximumValue={5}\r\n minimumTrackTintColor={Colors.blue}\r\n maximumTrackTintColor=\"#000000\"\r\n thumbTintColor={Colors.blue}\r\n step={0.25}\r\n />\r\n \r\n \r\n {txt('imagePicker.rotate')}\r\n setRotate(value)}\r\n style={{ width: 300, height: 40 }}\r\n minimumValue={-180}\r\n maximumValue={180}\r\n minimumTrackTintColor={Colors.blue}\r\n maximumTrackTintColor=\"#000000\"\r\n thumbTintColor={Colors.blue}\r\n step={1}\r\n />\r\n \r\n \r\n {txt('imagePicker.reset')}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n sliderContainer: { flexDirection: 'row', alignItems: 'center' },\r\n resetBtn: { color: Colors.blue, fontSize: 14 },\r\n})\r\n","import * as MediaLibrary from 'expo-media-library'\r\nimport { Linking, Platform } from 'react-native'\r\nimport Constants from 'expo-constants'\r\nimport * as IntentLauncher from 'expo-intent-launcher'\r\n\r\nexport const getLibraryPermission = async () => {\r\n const permission = await MediaLibrary.getPermissionsAsync()\r\n if (permission.granted) return permission\r\n\r\n if (permission.canAskAgain) {\r\n return await MediaLibrary.requestPermissionsAsync()\r\n }\r\n\r\n await openSystemSettings()\r\n\r\n return await MediaLibrary.requestPermissionsAsync()\r\n}\r\n\r\nexport async function openSystemSettings() {\r\n if (Platform.OS === 'ios') {\r\n await Linking.openSettings()\r\n } else if (Platform.OS === 'android') {\r\n const pkg = __DEV__ ? 'host.exp.exponent' : Constants.expoConfig.android.package\r\n const activityAction = IntentLauncher.ActivityAction.APPLICATION_DETAILS_SETTINGS\r\n await IntentLauncher.startActivityAsync(activityAction, { data: 'package:' + pkg })\r\n }\r\n}","import React, { forwardRef, useEffect, useRef, useState } from 'react'\r\nimport { ActivityIndicator, Modal, SafeAreaView, View } from 'react-native'\r\nimport { Dimensions, Platform, StyleSheet } from 'react-native'\r\n\r\nimport * as ImagePicker from 'expo-image-picker'\r\nimport { ImageEditor } from 'expo-image-editor'\r\nimport * as FileSystem from 'expo-file-system'\r\nimport * as Device from 'expo-device'\r\nimport { useCameraPermissions, CameraView } from \"expo-camera\"\r\n\r\nimport { txt } from '../../locales/i18n'\r\nimport Colors from '../../constants/Colors'\r\n\r\nimport { CustomText } from '../text/StyledText'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport CustomDialog, { ActionButton, ContentContainer } from '../dialogs/CustomDialog'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\nimport { openSystemSettings } from \"../../utils/getPermissions\"\r\n\r\nconst mobilePlatforms = ['Android', 'iOS', 'iPadOS']\r\n\r\nfunction isMobileDevice() {\r\n return Platform.OS !== 'web' || mobilePlatforms.includes(Device.osName)\r\n}\r\n\r\nfunction isMobileWebDevice() {\r\n return Platform.OS === 'web' && mobilePlatforms.includes(Device.osName)\r\n}\r\n\r\nexport const CameraModal = forwardRef(({ onConfirm, aspectRatio }, ref) => {\r\n const [showModal, setShowModal] = useState(false)\r\n const [permissionDialogVisible, setPermissionDialogVisible] = useState(false)\r\n const [image, setImage] = useState(null)\r\n\r\n const [permission, requestPermission] = useCameraPermissions()\r\n const cameraRef = useRef(null)\r\n\r\n useEffect(() => {\r\n if (ref === null) return\r\n ref.current = { open: openCamera }\r\n }, [])\r\n\r\n async function openCamera() {\r\n if (isMobileWebDevice() === false) {\r\n const { granted, canAskAgain } = await requestPermission()\r\n if (granted === false) {\r\n if (canAskAgain === false) {\r\n if (Platform.OS === 'ios') return setPermissionDialogVisible(true)\r\n return await openSystemSettings()\r\n }\r\n return setPermissionDialogVisible(true)\r\n }\r\n }\r\n\r\n if (isMobileDevice() === false) return setShowModal(true)\r\n await openNativeCamera()\r\n }\r\n\r\n async function openNativeCamera() {\r\n setImage(null)\r\n const mediaTypes = ImagePicker.MediaTypeOptions.Images\r\n const cameraResult = await ImagePicker.launchCameraAsync({ mediaTypes, base64: true })\r\n const [image = null] = cameraResult.assets ?? []\r\n\r\n if (image === null || image.canceled === true) return handleDismiss()\r\n setImage(image)\r\n setShowModal(true)\r\n }\r\n\r\n async function handleCaptureWebImage() {\r\n const camera = cameraRef.current\r\n if (camera === null) return\r\n\r\n const image = await camera.takePictureAsync({ base64: true, isImageMirror: true })\r\n image.base64 = image.base64.replace('data:image/png;base64,', '')\r\n setImage(image)\r\n }\r\n\r\n async function handleEditingComplete(image) {\r\n if (Platform.OS !== 'web') {\r\n const base64 = await FileSystem.readAsStringAsync(image.uri, { encoding: 'base64' })\r\n image.uri = 'data:image/jpeg;base64,' + base64\r\n }\r\n\r\n onConfirm(image)\r\n handleDismiss()\r\n }\r\n\r\n function handleDismiss() {\r\n setImage(null)\r\n setShowModal(false)\r\n setPermissionDialogVisible(false)\r\n }\r\n\r\n const webCamera = (\r\n <>\r\n {showModal && (\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n const imageCropper = (\r\n \r\n {image === null && }\r\n\r\n \r\n \r\n )\r\n\r\n return (\r\n <>\r\n \r\n \r\n {isMobileDevice() === false && image === null ? webCamera : imageCropper}\r\n \r\n \r\n \r\n \r\n \r\n {txt('cameraModal.cameraAccessHeader')}\r\n \r\n\r\n {txt('cameraModal.cameraAccessInfo')}\r\n \r\n\r\n {permission?.canAskAgain === false && Platform.OS !== 'web' && (\r\n \r\n {txt('cameraModal.goToSettings')}\r\n \r\n )}\r\n\r\n \r\n {txt('global.ok')}\r\n \r\n \r\n \r\n )\r\n})\r\n\r\nconst styles = StyleSheet.create({\r\n camera: {\r\n height: Dimensions.get('window').height,\r\n width: (Dimensions.get('window').height / 3) * 4,\r\n },\r\n\r\n closeButton: {\r\n padding: 32,\r\n position: 'absolute',\r\n right: 0,\r\n top: 12,\r\n },\r\n\r\n container: {\r\n alignItems: 'center',\r\n backgroundColor: Colors.black,\r\n display: 'flex',\r\n height: '100%',\r\n justifyContent: 'center',\r\n position: 'relative',\r\n width: '100%',\r\n },\r\n\r\n cropperContainer: {\r\n flex: 1,\r\n backgroundColor: Colors.black,\r\n justifyContent: 'center',\r\n width: '100%',\r\n },\r\n\r\n dialogButton: {\r\n padding: 10,\r\n },\r\n\r\n marginTop: {\r\n marginTop: 10,\r\n },\r\n\r\n toolbar: {\r\n bottom: 28,\r\n display: 'flex',\r\n flexDirection: 'row',\r\n justifyContent: 'center',\r\n position: 'absolute',\r\n width: '100%',\r\n },\r\n\r\n toolbarButton: {\r\n backgroundColor: Colors.white,\r\n borderRadius: 35,\r\n marginHorizontal: 20,\r\n padding: 18,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { StyleSheet, FlatList, View } from 'react-native'\r\nimport CustomDialog from './CustomDialog'\r\nimport { CustomText } from '../text/StyledText'\r\nimport Colors from '../../constants/Colors'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport { borderRadiusS } from '../../styles/corners'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nconst OptionsDialog = (props) => (\r\n \r\n\r\n {props.title && (\r\n \r\n \r\n {props.title}\r\n \r\n \r\n )}\r\n \r\n index.toString()}\r\n renderItem={({ item, i }) => {\r\n const last = props.options.length === i - 1\r\n const danger = item.type === 'danger'\r\n return (\r\n \r\n \r\n {item.label}\r\n \r\n {item.icon && (\r\n \r\n )}\r\n \r\n )\r\n }}\r\n />\r\n \r\n)\r\n\r\nconst styles = StyleSheet.create({\r\n icon: {\r\n marginLeft: 24,\r\n },\r\n noBorder: {\r\n borderWidth: 0,\r\n },\r\n titleContainer: {\r\n display: 'flex',\r\n borderBottomWidth: 1,\r\n borderColor: Colors.blackTransparent,\r\n paddingHorizontal: 24,\r\n paddingVertical: 12,\r\n },\r\n option: {\r\n alignItems: 'center',\r\n borderBottomWidth: 1,\r\n borderColor: Colors.blackTransparent,\r\n display: 'flex',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n paddingHorizontal: 24,\r\n paddingVertical: 12,\r\n },\r\n})\r\n\r\nexport default OptionsDialog\r\n","import React, { useEffect, useRef, useState } from 'react'\r\nimport { Dimensions, Platform, StyleSheet } from 'react-native'\r\nimport { Image, View } from 'react-native'\r\n\r\nimport * as ExpoImagePicker from 'expo-image-picker'\r\nimport * as ImageManipulator from 'expo-image-manipulator'\r\nimport * as MediaLibrary from \"expo-media-library\"\r\n\r\nimport ImageCropper from './ImageCropper'\r\nimport { CameraModal } from '../camera-modal/camera-modal'\r\nimport { CustomText } from '../text/StyledText'\r\nimport NormalIcon from '../icons/NormalIcon'\r\n\r\nimport OptionsDialog from '../dialogs/OptionsDialog'\r\nimport CustomDialog from '../dialogs/CustomDialog'\r\nimport { ScrollableDialog, ActionButton, ContentContainer } from '../dialogs/CustomDialog'\r\n\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\nimport imageBobl from '../../assets/images/bobl.png'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\nimport { openSystemSettings } from \"../../utils/getPermissions\"\r\n\r\nconst small = Dimensions.get('window').width < 500\r\n\r\nexport default function ImagePicker({ editMode = false, hideDelete = false, placeholder = imageBobl, placeholderText = true, ...props }) {\r\n const [cropping, setCropping] = useState(false)\r\n const [optionsVisible, setOptionsVisible] = useState(false)\r\n const [libraryPermission, setLibraryPermission] = useState(null)\r\n const [imageUri, setImageUri] = useState(null)\r\n\r\n const cameraRef = useRef(null)\r\n\r\n useEffect(() => {\r\n if (imageUri !== null) return\r\n setImageUri(props?.defaultImage ?? null)\r\n }, [props.defaultImage])\r\n\r\n function handleCameraConfirm(image) {\r\n setImageUri(image.uri)\r\n props.setImage(image)\r\n }\r\n\r\n function openCamera() {\r\n const camera = cameraRef.current\r\n if (camera === null) return\r\n\r\n setOptionsVisible(false)\r\n setTimeout(() => {\r\n camera.open()\r\n }, 200)\r\n }\r\n\r\n async function openLibrary() {\r\n if (Platform.OS !== 'web') {\r\n let permission = await MediaLibrary.getPermissionsAsync()\r\n if (!permission.granted) {\r\n if (!permission.canAskAgain) {\r\n setOptionsVisible(false)\r\n await openSystemSettings()\r\n } else {\r\n permission = await MediaLibrary.requestPermissionsAsync()\r\n }\r\n }\r\n const libraryPermission = permission.granted\r\n setLibraryPermission(libraryPermission)\r\n if (libraryPermission === false) return\r\n }\r\n\r\n const mediaTypes = ExpoImagePicker.MediaTypeOptions.Images\r\n const options = { mediaTypes, allowsEditing: true, aspect: [1, 1], base64: true }\r\n const result = await ExpoImagePicker.launchImageLibraryAsync(options)\r\n\r\n setOptionsVisible(false)\r\n\r\n if (result.canceled || result.assets.length === 0) return\r\n const [image] = result.assets\r\n setImageUri(image.uri)\r\n\r\n if (Platform.OS !== 'web') {\r\n props.setImage(image)\r\n }\r\n\r\n if (Platform.OS === 'web') {\r\n setCropping(true)\r\n }\r\n }\r\n\r\n function deleteImage() {\r\n setImageUri(null)\r\n props.setImage(null)\r\n\r\n setOptionsVisible(false)\r\n props.onDelete?.()\r\n }\r\n\r\n async function rotateImage() {\r\n if (imageUri === null) return\r\n const actions = [{ rotate: 90 }]\r\n const options = { format: ImageManipulator.SaveFormat.JPEG }\r\n const result = await ImageManipulator.manipulateAsync(imageUri, actions, options)\r\n\r\n setImageUri(result.uri)\r\n props.setImage(result)\r\n }\r\n\r\n function handleCropping(uri) {\r\n setCropping(false)\r\n setImageUri(uri)\r\n props.setImage({ uri })\r\n }\r\n\r\n function getOptions() {\r\n const options = [\r\n {\r\n label: txt('imagePicker.select'),\r\n icon: \"images\",\r\n action: openLibrary,\r\n },\r\n {\r\n label: txt('imagePicker.take'),\r\n icon: \"camera\",\r\n action: openCamera,\r\n },\r\n ]\r\n\r\n if (hideDelete || imageUri === null) {\r\n return options\r\n }\r\n\r\n options.push({\r\n label: txt('imagePicker.remove'),\r\n icon: \"times\",\r\n action: deleteImage,\r\n })\r\n\r\n return options\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {editMode ? (\r\n setOptionsVisible(true)}>\r\n \r\n {placeholderText && !imageUri && (\r\n \r\n {txt('imagePicker.select')}\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n {editMode && (\r\n <>\r\n setOptionsVisible(true)}>\r\n \r\n \r\n\r\n {Platform.OS !== 'web' && imageUri !== null && (\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n\r\n \r\n \r\n \r\n\r\n setOptionsVisible(false)} options={getOptions()} />\r\n \r\n\r\n \r\n \r\n \r\n {txt('imagePicker.libraryAccessHeader')}\r\n \r\n\r\n {txt('imagePicker.libraryAccessInfo')}\r\n \r\n\r\n setLibraryPermission(null)} style={styles.dialogButton}>\r\n {txt('global.ok')}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n border: {\r\n borderWidth: 0.2,\r\n borderColor: Colors.lightBlue,\r\n },\r\n\r\n container: {\r\n flex: 1,\r\n },\r\n\r\n imageMedium: {\r\n borderRadius: 200,\r\n height: 175,\r\n width: 175,\r\n },\r\n\r\n imageSmall: {\r\n borderRadius: 200,\r\n height: 150,\r\n width: 150,\r\n },\r\n\r\n button: {\r\n padding: 10,\r\n margin: 12,\r\n backgroundColor: Colors.blueAzure,\r\n borderRadius: 32,\r\n position: 'absolute',\r\n },\r\n\r\n editButton: {\r\n left: small ? 95 : 120,\r\n top: small ? 95 : 120,\r\n },\r\n\r\n rotateButton: {\r\n left: small ? -5 : 0,\r\n top: small ? 95 : 120,\r\n },\r\n})\r\n","import React, { useEffect, useRef } from 'react'\r\nimport Colors from '../../constants/Colors'\r\nimport { Animated, Platform, StyleSheet } from 'react-native'\r\nimport { ShadowStyles } from '../../styles'\r\nimport { CustomText } from \"../text/StyledText\"\r\nimport NormalIcon from \"../icons/NormalIcon\"\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport function CustomSnackbar({ visible, onDismiss, icon = null, duration = 4000, text, style }) {\r\n const fadeAnim = useRef(new Animated.Value(0)).current\r\n\r\n useEffect(() => {\r\n if (visible) {\r\n Animated.timing(fadeAnim, { toValue: 1, duration: 300, useNativeDriver: true }).start()\r\n const timer = setTimeout(() => handleDismiss(), duration)\r\n return () => clearTimeout(timer)\r\n } else {\r\n handleDismiss()\r\n }\r\n }, [visible])\r\n\r\n const handleDismiss = () => {\r\n Animated.timing(fadeAnim, { toValue: 0, duration: 300, useNativeDriver: true })\r\n .start(() => onDismiss())\r\n }\r\n\r\n return (\r\n \r\n {icon && }\r\n {text}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n padding: 12,\r\n position: 'absolute',\r\n bottom: 10,\r\n borderRadius: 12,\r\n ...ShadowStyles.dropShadow,\r\n flexDirection: 'row',\r\n width: '95%',\r\n maxWidth: 400,\r\n alignSelf: 'center',\r\n backgroundColor: Colors.text,\r\n },\r\n snackbarText: {\r\n color: Colors.white,\r\n marginLeft: 3,\r\n marginRight: 12,\r\n flex: 10,\r\n\tpaddingTop: Platform.OS !== 'web' ? 2 : 0,\r\n }\r\n})\r\n","import * as ImageManipulator from 'expo-image-manipulator'\r\nimport { apiPostImage } from './ApiRequest'\r\n\r\nexport const UploadImage = async (image, rotation = 0, imgType = '') => {\r\n\r\n try {\r\n // Compress image\r\n var manipResult = await ImageManipulator.manipulateAsync(\r\n image.uri,\r\n [{ rotate: rotation * 90 }],\r\n {\r\n format: ImageManipulator.SaveFormat.JPEG,\r\n base64: true,\r\n }\r\n )\r\n\r\n const desiredSize = 1000 // Width and height since the aspect ratio is 1:1\r\n\r\n // Calculate how much to scale down image\r\n var scale = 1\r\n while (true) {\r\n if (\r\n manipResult.width / scale < desiredSize &&\r\n manipResult.height / scale < desiredSize\r\n ) {\r\n break\r\n\r\n // Prevent infinite loops || edge case if manipresult was null\r\n } else if (!manipResult.width || !manipResult.height) {\r\n break\r\n }\r\n\r\n scale++\r\n }\r\n\r\n // Resize with previously gotten width and height from previous manipResult\r\n var manipResult = await ImageManipulator.manipulateAsync(\r\n manipResult.uri,\r\n [\r\n {\r\n resize: {\r\n width: manipResult.width / scale,\r\n height: manipResult.height / scale,\r\n },\r\n },\r\n ],\r\n {\r\n format: ImageManipulator.SaveFormat.JPEG,\r\n base64: true,\r\n compress: 0.8,\r\n }\r\n )\r\n\r\n // Get image extension\r\n // Find word inbetween data:image/ and ;base64\r\n var fileExtension = manipResult.uri\r\n .substring(0, 50)\r\n .split(';base64')[0]\r\n .split('data:image/')[1]\r\n\r\n if (!fileExtension) {\r\n fileExtension = manipResult.uri\r\n .substring(manipResult.uri.length - 100, manipResult.uri.length)\r\n .split('.')\r\n .pop()\r\n }\r\n\r\n if (!fileExtension) return\r\n\r\n var uriHeader = 'data:image/' + fileExtension + ';base64,'\r\n\r\n // Add uri header if not present\r\n if (manipResult.base64.substring(0, uriHeader.length) === uriHeader) {\r\n uriHeader = ''\r\n }\r\n\r\n const uriOutput = uriHeader + manipResult.base64\r\n\r\n // Desktop formatting is different, so data:image/ is written twice, replace\r\n // Send and get api imgid response\r\n return apiPostImage(\r\n createFormData(uriOutput, {}),\r\n `images/upload${imgType}`\r\n )\r\n .then((response) => response.json())\r\n .then((responseJson) => {\r\n // Check if img_id is returned by api, then the image was uploaded sucessfully\r\n if (!responseJson.data.img_id) {\r\n console.error('Image upload failed.')\r\n return\r\n }\r\n return responseJson.data.img_id\r\n })\r\n } catch (err) {\r\n if (__DEV__) console.log(err)\r\n }\r\n}\r\n\r\nconst createFormData = (image, body) => {\r\n const data = new FormData()\r\n data.append('file', image)\r\n Object.keys(body).forEach((key) => {\r\n data.append(key, body[key])\r\n })\r\n\r\n return data\r\n}\r\n","import * as React from 'react'\r\nimport { Switch, StyleSheet, View, Platform } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport { txt } from '../../locales/i18n'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport { CustomText } from '../text/StyledText'\r\n\r\nexport function CustomSwitch(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function NotificationSwitch({ title, value, handleChange, icon }) {\r\n return (\r\n \r\n \r\n {icon && ( )}\r\n {title}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function SnakSammenSwitch({ title, value, handleChange }) {\r\n return (\r\n \r\n {title}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n iconContainer: {\r\n marginRight: 6,\r\n width: Fontsizes.xl,\r\n },\r\n iconTextContainer: {\r\n flex: 1,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n notificationSwitch: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n marginVertical: 6,\r\n },\r\n})\r\n","import CustomDialog, { ActionButton, ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport React from 'react'\r\n\r\nexport default function DeletePostDialog({ visible, deletePost, cancel }) {\r\n return (\r\n \r\n \r\n {txt('post.deletePostAlert')}\r\n \r\n \r\n {txt('post.deletePostYes')}\r\n \r\n \r\n {txt('post.deletePostNo')}\r\n \r\n \r\n )\r\n}\r\n","import CustomDialog, { ActionButton, ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport React from 'react'\r\n\r\nexport default function VisibilityInfo({ visible, ok }) {\r\n return (\r\n \r\n \r\n {txt('post.edit.visibilityDialogTitle')}\r\n {txt('post.edit.visibilityDialogText')}\r\n \r\n \r\n {txt('dialog.ok')}\r\n \r\n \r\n )\r\n}","import CustomDialog, { ActionButton, ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport React from 'react'\r\n\r\nexport default function ChangeVisibilityDialog({ visible, makeVisible, keepHidden }) {\r\n return (\r\n \r\n \r\n {txt('post.edit.saveVisibilityDialogText')}\r\n \r\n \r\n {txt('post.edit.makeVisible')}\r\n \r\n \r\n {txt('post.edit.keepHidden')}\r\n \r\n \r\n )\r\n}","import React, { useState } from 'react'\r\nimport { View } from 'react-native'\r\nimport { CustomText } from '../text/StyledText'\r\nimport Colors from '../../constants/Colors'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport { StyleSheet } from 'react-native'\r\nimport { Image } from 'react-native'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport function CheckBox(props) {\r\n return (\r\n \r\n \r\n {props.text}\r\n \r\n )\r\n}\r\n\r\nexport function RadioButton(props) {\r\n return (\r\n \r\n \r\n {props.text}\r\n \r\n )\r\n}\r\n\r\nexport function RadioButtonOutlined(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n {props.text}\r\n \r\n )\r\n}\r\n\r\nexport function RadioButtons({ data, onSelect }) {\r\n const [userOption, setUserOption] = useState(null)\r\n const selectHandler = (item) => {\r\n onSelect(item)\r\n setUserOption(item.label)\r\n }\r\n return (\r\n \r\n {data.map((item) => {\r\n return (\r\n selectHandler(item)}\r\n style={{ flexDirection: 'row', alignItems: 'center', marginTop: 6 }}>\r\n \r\n {item.label}\r\n \r\n )\r\n })}\r\n \r\n )\r\n}\r\n\r\nexport function TouchableHoverImage(props) {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n checked: { backgroundColor: Colors.darkerSkyBlue, borderRadius: 10 },\r\n container: { alignItems: 'center', flexDirection: 'row' },\r\n iconMargin: { marginRight: 10 },\r\n image: { alignSelf: 'center', height: 75, margin: 16, width: 75 },\r\n moreBtnBg: { borderRadius: 10 },\r\n radioContainer: {\r\n padding: 3,\r\n borderColor: Colors.transparent,\r\n borderRadius: 30,\r\n },\r\n})\r\n","import CustomDialog, { ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport React from 'react'\r\nimport { ButtonPrimary, ButtonSecondary } from \"../../../buttons/StyledButtons\"\r\nimport Colors from \"../../../../constants/Colors\"\r\nimport { StyleSheet, View } from \"react-native\"\r\nimport { txt } from \"../../../../locales/i18n\"\r\n\r\nexport function WeakPostDialog({ visible, submit, dismiss, edit, weakPost, weakText, noImage }) {\r\n return (\r\n \r\n \r\n \r\n { weakPost ? txt('createPost.weakPostDialog.noImageDescriptionTitle')\r\n : weakText ? txt('createPost.weakPostDialog.descriptionTitle')\r\n : noImage && txt('createPost.weakPostDialog.noImageTitle')\r\n }\r\n \r\n \r\n { weakPost ? txt('createPost.weakPostDialog.noImageDescriptionText')\r\n : weakText ? txt('createPost.weakPostDialog.descriptionText')\r\n : noImage && txt('createPost.weakPostDialog.noImageText')\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n buttonContainer: {\r\n paddingBottom: 24,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n flexWrap: 'wrap',\r\n paddingHorizontal: 3,\r\n justifyContent: 'space-evenly'\r\n },\r\n secondaryButton: {\r\n borderColor: Colors.blueAzure,\r\n marginRight: 3,\r\n paddingHorizontal: 6,\r\n width: 150\r\n },\r\n primaryButton: {\r\n backgroundColor: Colors.blueAzure,\r\n marginLeft: 3,\r\n paddingHorizontal: 6,\r\n width: 150\r\n }\r\n})","import CustomDialog from '../../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport React from 'react'\r\nimport { ButtonPrimary } from \"../../../buttons/StyledButtons\"\r\nimport Colors from \"../../../../constants/Colors\"\r\nimport { Platform, StyleSheet, TouchableOpacity, View } from \"react-native\"\r\nimport NormalIcon from \"../../../icons/NormalIcon\"\r\nimport { txt } from \"../../../../locales/i18n\"\r\nimport { handlePaymentClick } from \"../../../../utils/handlePaymentClick\"\r\nimport SubscriptionBenefits from \"../../../shared/SubscriptionBenefits\"\r\n\r\nexport function UpdateNotAllowedDialog({ visible, dismiss }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('subscription.dialogs.updateNotAllowed.title')}\r\n \r\n\r\n \r\n {txt('subscription.dialogs.updateNotAllowed.intro')}\r\n \r\n\r\n \r\n \r\n \r\n\r\n {\r\n const origin = 'update-limit-reached'\r\n if (Platform.OS === 'web') window.plausible('SubscriptionClick', { props: { origin }})\r\n dismiss()\r\n\r\n await handlePaymentClick({ origin })\r\n }}\r\n title={txt('subscription.dialogs.updateNotAllowed.button')}\r\n accessibilityLabel={txt('subscription.dialogs.updateNotAllowed.button')}\r\n accessibilityHint={txt('subscription.dialogs.updateNotAllowed.buttonHint')}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n dialog: {\r\n padding: 20,\r\n },\r\n contentContainer: {\r\n marginBottom: 24,\r\n },\r\n title: {\r\n color: Colors.blueAzure,\r\n paddingRight: 24,\r\n fontSize: 20\r\n },\r\n button: {\r\n paddingHorizontal: 12,\r\n backgroundColor: Colors.greenBtn,\r\n },\r\n closeIcon: {\r\n alignSelf: 'flex-end',\r\n position: 'absolute',\r\n paddingLeft: 24,\r\n zIndex: 1\r\n },\r\n})","import React, { useState, useEffect } from 'react'\r\nimport { View, ScrollView, Platform, StyleSheet, TouchableOpacity, Keyboard } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { RoundBtn, DeleteBtn } from '../../buttons/StyledButtons'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomInputs, CustomMultilineInputs } from '../../text/StyledTextinputs'\r\nimport { CustomProgressBar } from '../../progressbars/ProgressBar'\r\nimport KeyboardSpacer from 'react-native-keyboard-spacer'\r\nimport ImagePicker from '../../ImagePicker/ImagePicker'\r\nimport { ShadowStyles, SpacingStyles } from '../../../styles'\r\nimport { CustomSnackbar } from '../../snackbars/Snackbar'\r\nimport Paths from '../../../constants/Paths'\r\nimport { UploadImage } from '../../../services/api/UploadImage'\r\nimport { getActiveMunicipalities } from '../../../services/api/Municipalities'\r\nimport CustomDialog, { ActionButton, ContentContainer } from '../../dialogs/CustomDialog'\r\nimport { badWords } from '../../../constants/BadWords'\r\nimport { CustomSwitch } from '../../switches/StyledSwitches'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport DeletePostDialog from './Dialogs/DeletePostDialog'\r\nimport VisibilityInfo from './Dialogs/VisibilityInfo'\r\nimport ChangeVisibilityDialog from './Dialogs/ChangeVisibilityDialog'\r\nimport { RadioButtonOutlined } from '../../formElements/formElements'\r\nimport { useSelector } from 'react-redux'\r\nimport imageBobl from '../../../assets/images/bobl.png'\r\nimport { WeakPostDialog } from './Dialogs/WeakPostDialog'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport { getSubscription } from '../../../services/api/User'\r\nimport { getOwnPosts, hideAllButNewestPost } from \"../../../services/api/Posts\"\r\nimport store from \"../../../redux/store\"\r\nimport { UpdateNotAllowedDialog } from \"./Dialogs/UpdateNotAllowedDialog\"\r\nimport { showSubscriptionDialogAtom, showTooManyActivePostsDialogAtom } from \"../../../atoms\"\r\nimport { useSetAtom } from \"jotai\"\r\nimport moment from \"moment\"\r\n\r\nconst getShowSubscriptionDialog = async (userMunicipalityId) => {\r\n const activeMunicipalities = await getActiveMunicipalities()\r\n const isActiveMunicipality = activeMunicipalities.some((municipality) => municipality.id === userMunicipalityId)\r\n if (isActiveMunicipality) return false\r\n\r\n const subscription = await getSubscription()\r\n if (subscription === null || subscription?.state === 'expired') return true\r\n\r\n if (subscription.state !== 'active') return true\r\n if (subscription.pending_invoices !== 0) return true\r\n if (subscription.dunning_invoices !== 0) return true\r\n\r\n return false\r\n}\r\n\r\nconst isExpirationDateWithinThreshold = async (threshold) => {\r\n const subscription = await getSubscription()\r\n if (!subscription || subscription?.state !== 'expired') return false\r\n const expiredDate = moment(subscription?.expired_date)\r\n const diff = moment().diff(expiredDate, 'days')\r\n return diff <= threshold\r\n}\r\n\r\nconst isSubscriptionActive = (subscription) => {\r\n if (!subscription) return false\r\n if (subscription.state !== 'active') return false\r\n if (subscription.pending_invoices !== 0) return false\r\n if (subscription.dunning_invoices !== 0) return false\r\n return true\r\n}\r\n\r\nconst getShowTooManyActivePostsDialog = async () => {\r\n const features = store.getState().user?.features\r\n if (features.includes(1)) return false // User has feature 1\r\n\r\n const subscription = await getSubscription()\r\n const activeSubscription = isSubscriptionActive(subscription)\r\n if (activeSubscription) return false // User has active subscription\r\n\r\n const ownPosts = await getOwnPosts()\r\n const numberOfActivePosts = ownPosts.reduce((accumulator, currentVal) => {\r\n if (currentVal.status_id === 1 && currentVal.universeId === null) accumulator += 1;\r\n return accumulator;\r\n }, 0)\r\n if (numberOfActivePosts <= 1) return false // User has 1 or less active post\r\n\r\n return true\r\n}\r\n\r\nexport default function CreateEditPost(props) {\r\n const user = useSelector((state) => state.user)\r\n const ownGender = useSelector((state) => state.user?.gender_id)\r\n const [image, setImage] = useState(null)\r\n const [post, setPost] = useState({\r\n item: null,\r\n inputs: ['', '', ''], //[title, description, location]\r\n inputMaxChars: [10, 200, 2],\r\n inputWeightPercentage: [15, 40, 5],\r\n isImage: false,\r\n progressPoints: 0,\r\n progressText: txt('createPost.progressBarLowText'),\r\n statusId: null,\r\n img_id: null,\r\n tempImage: null,\r\n rotation: null,\r\n uniqueValue: 1,\r\n genderResponse: 1,\r\n maleContact: 0,\r\n femaleContact: 0,\r\n otherContact: 0,\r\n })\r\n const [feedback, setFeedback] = useState({\r\n showCustomDialog: false,\r\n postWasNotCreated: false,\r\n tooManyPosts: false,\r\n postTooShort: false,\r\n isButtonDisabled: false,\r\n })\r\n const [loading, setLoading] = useState(false)\r\n const [badWordDialog, setBadWordDialog] = useState({\r\n showCustomDialog: false,\r\n badWordChecked: false,\r\n })\r\n const [visibilityDialogVisible, setVisibilityDialogVisible] = useState(false)\r\n const [weakPostDialogVisible, setWeakPostDialogVisible] = useState(false)\r\n const [weakPost, setWeakPost] = useState(false)\r\n const [weakText, setWeakText] = useState(false)\r\n const [noImage, setNoImage] = useState(false)\r\n const [saveChangesDialog, setSaveChangesDialog] = useState(false)\r\n const [editedPost, setEditedPost] = useState(null)\r\n const [tempData, setTempData] = useState(null)\r\n const [notAllowedDialog, setNotAllowedDialog] = useState(false)\r\n const navigation = useNavigation()\r\n const setShowSubscription = useSetAtom(showSubscriptionDialogAtom)\r\n const setTooManyActivePosts = useSetAtom(showTooManyActivePostsDialogAtom)\r\n\r\n const shortPostLength = 150\r\n\r\n useEffect(() => {\r\n if (ownGender === 0) updatePost({ genderResponse: 0 })\r\n if (props.getPost) {\r\n props.getPost().then((data) => {\r\n const uri = data.img_filename ? Paths.imageUrlBase + data.img_filename : null\r\n\r\n updatePost({\r\n item: { ...data, uri },\r\n isImage: !!data.img_id,\r\n img_id: data.img_id,\r\n inputs: [data.title, data.body, data.location],\r\n statusId: data.statusId,\r\n maleContact: data.maleContact,\r\n femaleContact: data.femaleContact,\r\n otherContact: data.otherContact,\r\n genderResponse: data.maleContact === data.femaleContact && data.maleContact === data.otherContact ? 0 : 1,\r\n })\r\n })\r\n }\r\n }, [props.route, ownGender])\r\n\r\n useEffect(() => {\r\n let sum = 0\r\n for (let i = 0; i < post.inputs.length; i++) {\r\n if (post.inputs[i].length >= post.inputMaxChars[i]) {\r\n sum += post.inputWeightPercentage[i]\r\n continue\r\n }\r\n\r\n sum += (post.inputs[i].length / post.inputMaxChars[i]) * post.inputWeightPercentage[i]\r\n }\r\n if (image?.uri || post.img_id) {\r\n sum += 40\r\n }\r\n if (sum <= 40) {\r\n updatePost({ progressText: txt('createPost.progressBarLowText') })\r\n } else if (sum <= 80) {\r\n updatePost({ progressText: txt('createPost.progressBarMediumText') })\r\n } else {\r\n updatePost({ progressText: txt('createPost.progressBarHighText') })\r\n }\r\n updatePost({ progressPoints: sum / 100 })\r\n }, [image?.uri, post.inputMaxChars, post.inputWeightPercentage, post.inputs])\r\n\r\n function updatePost(values) {\r\n setPost((preInfo) => ({ ...preInfo, ...values }))\r\n }\r\n\r\n function updateFeedback(values) {\r\n setFeedback((preFeedback) => ({ ...preFeedback, ...values }))\r\n }\r\n\r\n function changeText(value, input) {\r\n switch (input) {\r\n case 0:\r\n setPost((preInfo) => ({ ...preInfo, inputs: [value, preInfo.inputs[1], preInfo.inputs[2]] }))\r\n break\r\n case 1:\r\n setPost((preInfo) => ({ ...preInfo, inputs: [preInfo.inputs[0], value, preInfo.inputs[2]] }))\r\n break\r\n case 2:\r\n setPost((preInfo) => ({ ...preInfo, inputs: [preInfo.inputs[0], preInfo.inputs[1], value] }))\r\n break\r\n }\r\n }\r\n\r\n function checkToBeCleared() {\r\n if (post.inputs[0].length >= 4 && post.inputs[1].length >= 4) {\r\n updatePost({\r\n inputs: ['', '', ''],\r\n tempImage: null,\r\n uniqueValue: post.uniqueValue + 1,\r\n progressPoints: 0,\r\n genderResponse: 1,\r\n })\r\n updateFeedback({ isButtonDisabled: false })\r\n setImage(null)\r\n }\r\n }\r\n\r\n function handleContactGender() {\r\n if (post.genderResponse === 1) {\r\n if (ownGender === 1) return { maleContact: true, femaleContact: false, otherContact: false }\r\n if (ownGender === 2) return { maleContact: false, femaleContact: true, otherContact: false }\r\n if (ownGender === 3) return { maleContact: false, femaleContact: false, otherContact: true }\r\n }\r\n return { maleContact: true, femaleContact: true, otherContact: true }\r\n }\r\n\r\n async function preparePost() {\r\n if (post.inputs[0].length < 5 || post.inputs[1].length < 5) {\r\n return updateFeedback({ postTooShort: true })\r\n }\r\n\r\n updateFeedback({ isButtonDisabled: true })\r\n setLoading(true)\r\n const { maleContact, femaleContact, otherContact } = handleContactGender()\r\n\r\n const data = {\r\n title: post.inputs[0],\r\n body: post.inputs[1],\r\n location: post.inputs[2],\r\n imgId: post.img_id,\r\n maleContact,\r\n femaleContact,\r\n otherContact,\r\n }\r\n\r\n if (image) {\r\n data.imgId = await UploadImage(image)\r\n }\r\n\r\n\t\tif (props.editPost) {\r\n\t\t\tconst previousPost = await props.getPost()\r\n\r\n\t\t\tconst previousPostData = [\r\n\t\t\t\tpreviousPost.title,\r\n\t\t\t\tpreviousPost.body,\r\n\t\t\t\tpreviousPost.location,\r\n\t\t\t\tpreviousPost.img_id,\r\n\t\t\t\tpreviousPost.maleContact,\r\n\t\t\t\tpreviousPost.femaleContact,\r\n\t\t\t\tpreviousPost.otherContact,\r\n\t\t\t\tpreviousPost.statusId,\r\n\t\t\t]\r\n\r\n\t\t\tconst currentPostData = [\r\n\t\t\t\tdata.title,\r\n\t\t\t\tdata.body,\r\n\t\t\t\tdata.location,\r\n\t\t\t\tdata.imgId,\r\n\t\t\t\tdata.maleContact,\r\n\t\t\t\tdata.femaleContact,\r\n\t\t\t\tdata.otherContact,\r\n\t\t\t\tpost.statusId,\r\n\t\t\t]\r\n\r\n // Check if user has an expired subscription within the last 7 days\r\n const isWithinThreshold = await isExpirationDateWithinThreshold(7)\r\n if (isWithinThreshold) {\r\n setLoading(false)\r\n return setNotAllowedDialog(isWithinThreshold)\r\n }\r\n\r\n\t\t\t// no changes detected\r\n\t\t\tif (currentPostData.toString() === previousPostData.toString()) {\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t\tconst params = { chip: txt('posts.chipParams.mine') }\r\n\r\n const hasActivePosts = await getShowTooManyActivePostsDialog()\r\n if (hasActivePosts) setTooManyActivePosts(hasActivePosts)\r\n\r\n if (!hasActivePosts) {\r\n const showSubscriptionDialog = await getShowSubscriptionDialog(user.municipality_id)\r\n if (showSubscriptionDialog) setShowSubscription(showSubscriptionDialog)\r\n }\r\n\r\n\t\t\t\tif (props.route?.params?.universe) {\r\n\t\t\t\t\tconst navigationOptions = { screen: 'Bobls', initial: true, params }\r\n\t\t\t\t\treturn navigation.navigate('UniverseBoblStack', navigationOptions)\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst navigationOptions = { screen: 'Home', initial: true, params }\r\n\t\t\t\treturn navigation.navigate('HomeStack', navigationOptions)\r\n\t\t\t}\r\n\r\n\t\t\tconst postIsHidden = post.statusId === -1\r\n\r\n\t\t\tif (postIsHidden) {\r\n\t\t\t\tsetEditedPost(data)\r\n\t\t\t\treturn setSaveChangesDialog(true)\r\n\t\t\t}\r\n\r\n\t\t\tdata.statusId = post.statusId === 1 ? 1 : -1\r\n\t\t}\r\n\r\n setTempData(data)\r\n if (!image && !data.imgId && post.inputs[1].length < shortPostLength) {\r\n setWeakPost(true)\r\n return setWeakPostDialogVisible(true)\r\n }\r\n if (!image && !data.imgId) {\r\n setNoImage(true)\r\n return setWeakPostDialogVisible(true)\r\n }\r\n if (post.inputs[1].length < shortPostLength) {\r\n setWeakText(true)\r\n return setWeakPostDialogVisible(true)\r\n }\r\n await setPostObject(data)\r\n }\r\n\r\n async function handleCreateWeakPost() {\r\n setWeakPostDialogVisible(false)\r\n setWeakText(false)\r\n setNoImage(false)\r\n setWeakPost(false)\r\n await setPostObject(tempData)\r\n }\r\n\r\n async function handleRewritePost() {\r\n setLoading(false)\r\n updateFeedback({ isButtonDisabled: false })\r\n setWeakPostDialogVisible(false)\r\n setWeakText(false)\r\n setNoImage(false)\r\n setWeakPost(false)\r\n }\r\n\r\n async function handleVisibilityChange(statusId) {\r\n const data = editedPost\r\n data.statusId = statusId\r\n setSaveChangesDialog(false)\r\n await setPostObject(data)\r\n }\r\n\r\n const setPostObject = async (data) => {\r\n setLoading(false)\r\n const postObject = props.createPost ? await props.createPost(data) : await props.editPost(post.item.id, data)\r\n\r\n if (postObject?.status === 403) {\r\n return updateFeedback({ tooManyPosts: true, isButtonDisabled: false })\r\n }\r\n if (postObject?.status === 429) {\r\n return setNotAllowedDialog(true)\r\n }\r\n\r\n checkToBeCleared()\r\n const params = { chip: txt('posts.chipParams.mine') }\r\n\r\n const hasActivePosts = await getShowTooManyActivePostsDialog()\r\n if (hasActivePosts) setTooManyActivePosts(hasActivePosts)\r\n\r\n if (!hasActivePosts) {\r\n const showSubscriptionDialog = await getShowSubscriptionDialog(user.municipality_id)\r\n if (showSubscriptionDialog) setShowSubscription(showSubscriptionDialog)\r\n }\r\n\r\n if (hasActivePosts) {\r\n await hideAllButNewestPost()\r\n }\r\n\r\n\t\t// Navigate to \"My posts\" in universe, if post was created within a universe\r\n\t\tif (props.route?.params.universe) {\r\n\t\t\treturn navigation.navigate('UniverseBoblStack', { screen: 'Bobls', initial: true, params })\r\n\t\t}\r\n\r\n navigation.navigate('HomeStack', { screen: 'Home', initial: true, params })\r\n }\r\n\r\n function keyboardSpacerShow() {\r\n if (Platform.OS === 'ios') return \r\n }\r\n\r\n function BadWordPopup() {\r\n return (\r\n \r\n \r\n {txt('createPost.badWordCheck')}\r\n \r\n setBadWordDialog({ showCustomDialog: false, badWordChecked: true })}>\r\n {txt('createPost.accept')}\r\n \r\n \r\n )\r\n }\r\n\r\n function checkBadWords(checkInput) {\r\n if (!badWordDialog.badWordChecked) {\r\n badWords.forEach((word) => {\r\n if (post.inputs[checkInput].toLowerCase().includes(word)) {\r\n setBadWordDialog((prev) => ({ ...prev, showCustomDialog: true }))\r\n }\r\n })\r\n }\r\n }\r\n\r\n\tasync function handleDeletePost() {\r\n\t\tawait props.deletePost(post.item.id)\r\n\t\tupdateFeedback({ showCustomDialog: false })\r\n\r\n\t\tif (props.route?.params.universe) {\r\n\t\t\treturn navigation.navigate('UniverseBoblStack', {\r\n\t\t\t\tscreen: 'Bobls',\r\n\t\t\t\tinitial: true,\r\n\t\t\t\tparams: { chip: txt('posts.chipParams.mine') }\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tnavigation.navigate('HomeStack', {\r\n\t\t\tscreen: 'Home',\r\n\t\t\tinitial: true,\r\n\t\t\tparams: { chip: txt('posts.chipParams.mine') },\r\n\t\t})\r\n\t}\r\n\r\n return (\r\n \r\n {props.renderChips?.()}\r\n \r\n \r\n \r\n updatePost({ img_id: null })}\r\n placeholder={imageBobl}\r\n />\r\n \r\n\r\n \r\n {txt('createPost.titlePlaceHolder')}\r\n changeText(value, 0)}\r\n onBlur={() => checkBadWords(0)}\r\n >\r\n \r\n \r\n {35 - post.inputs[0].length}\r\n \r\n \r\n \r\n \r\n \r\n {txt('createPost.description')}\r\n changeText(value, 1)}\r\n onBlur={() => checkBadWords(1)}\r\n />\r\n \r\n \r\n {txt('createPost.locationPlaceHolder')}\r\n changeText(value, 2)}\r\n />\r\n \r\n\r\n \r\n \r\n {txt('createPost.genderResponse')}\r\n \r\n {ownGender === 0 && (\r\n \r\n {txt('createPost.genderResponseDisabled')}\r\n \r\n )}\r\n \r\n updatePost({ genderResponse: 0 })}\r\n size={10}\r\n border={2}\r\n text={txt('createPost.genderAll')}\r\n color={Colors.tintColor}\r\n disabled={ownGender === 0}\r\n label={post.genderResponse === 0 ? txt('radioButton.selected') + txt('createPost.genderAll') : txt('createPost.genderAll')}\r\n style={{ paddingVertical: 6, marginRight: 12 }}\r\n />\r\n updatePost({ genderResponse: 1 })}\r\n size={10}\r\n border={2}\r\n text={txt('createPost.genderOwn')}\r\n color={Colors.tintColor}\r\n disabled={ownGender === 0}\r\n label={post.genderResponse === 1 ? txt('radioButton.selected') + txt('createPost.genderOwn') : txt('createPost.genderOwn')}\r\n style={{ paddingVertical: 6 }}\r\n />\r\n \r\n \r\n\r\n {props.editPost && (\r\n \r\n \r\n {txt('post.edit.visibility')}\r\n setVisibilityDialogVisible(true)}\r\n accessibilityRole=\"button\"\r\n accessibilityLabel={txt('post.edit.visibilityReadMore')}\r\n style={{ paddingHorizontal: 6 }}\r\n >\r\n \r\n \r\n \r\n \r\n {post?.statusId > 0 ? txt('post.edit.visible') : txt('post.edit.hidden')}\r\n 0 ? txt('post.edit.visible') : txt('post.edit.hidden')}\r\n value={post?.statusId > 0}\r\n onValueChange={(item) => updatePost({ statusId: item === true ? 1 : 0 })}\r\n />\r\n \r\n \r\n )}\r\n\r\n \r\n\r\n \r\n \r\n {Math.round(post.progressPoints * 100) + '% '}\r\n {post.progressText}\r\n \r\n \r\n\r\n \r\n\r\n {props.createPost && (\r\n \r\n \r\n \r\n )}\r\n {props.editPost && (\r\n \r\n updateFeedback({ showCustomDialog: true })} />\r\n \r\n {feedback.postSaved ? 'Hide' : 'Show'}\r\n \r\n \r\n )}\r\n \r\n {keyboardSpacerShow()}\r\n \r\n\r\n updateFeedback({ postWasNotCreated: false })}\r\n text={txt('createPost.error')}\r\n style={{ marginBottom: 30 }}\r\n />\r\n\r\n updateFeedback({ tooManyPosts: false })}\r\n text={txt('createPost.tooManyPosts')}\r\n style={{ marginBottom: 30 }}\r\n />\r\n\r\n updateFeedback({ postTooShort: false })}\r\n text={txt('createPost.postTooShort')}\r\n style={{ marginBottom: 30 }}\r\n />\r\n\r\n updateFeedback({ postSaved: false })}\r\n text={txt('post.savePostSnackBar')}\r\n style={{ marginBottom: 30 }}\r\n />\r\n\r\n updateFeedback({ showCustomDialog: false })}\r\n />\r\n\r\n setVisibilityDialogVisible(false)} />\r\n\r\n handleVisibilityChange(1)}\r\n keepHidden={() => handleVisibilityChange(-1)}\r\n />\r\n\r\n \r\n\r\n setNotAllowedDialog(false)}\r\n />\r\n\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n buttonsContainer: {\r\n alignSelf: 'stretch',\r\n flexDirection: 'row',\r\n justifyContent: 'space-evenly',\r\n marginBottom: 5,\r\n },\r\n center: { alignSelf: 'center', margin: 5 },\r\n container: {\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n imagePickerContainer: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: 12,\r\n },\r\n inactive: { color: Colors.inactive },\r\n margin12: { margin: 12 },\r\n marginBottom: { marginBottom: 12 },\r\n visibilityContainer: {\r\n backgroundColor: Colors.white,\r\n padding: 10,\r\n borderRadius: 12,\r\n ...ShadowStyles.shadowInputs,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n height: 40,\r\n },\r\n visibilityTitleContainer: {\r\n marginBottom: 6,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n genderResponseContainer: {\r\n borderRadius: 10,\r\n paddingVertical: 6,\r\n paddingHorizontal: 12,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n ...ShadowStyles.shadowInputs,\r\n flexWrap: 'wrap',\r\n },\r\n\r\n})\r\n","import React from 'react'\r\nimport Colors from '../../constants/Colors'\r\nimport { StyleSheet } from 'react-native'\r\nimport { TypographyStyles } from '../../styles'\r\nimport { txt } from '../../locales/i18n'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\nimport { CustomText } from \"../text/StyledText\"\r\nimport NormalIcon, { BoblbergIcon } from \"../icons/NormalIcon\"\r\nimport Fontsizes from \"../../constants/Fontsizes\"\r\n\r\nexport function CustomChip({ selected, onPress, accessibilityLabel, text, icon, ...props}) {\r\n return (\r\n \r\n {icon === \"bobl\" ? : (\r\n \r\n )}\r\n {text && {text}}\r\n \r\n )\r\n}\r\n\r\nconst BoblIcon = () => (\r\n \r\n)\r\n\r\nconst styles = StyleSheet.create({\r\n chip: {\r\n justifyContent: 'center',\r\n borderWidth: 0,\r\n padding: 8,\r\n borderRadius: 25,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n chipSelected: {\r\n backgroundColor: Colors.chipSelected\r\n },\r\n chipUnselected: {\r\n backgroundColor: Colors.chipUnselected\r\n },\r\n text: {\r\n ...TypographyStyles.textSmall,\r\n color: Colors.text,\r\n paddingLeft: 6\r\n },\r\n // chip: {\r\n // justifyContent: 'center',\r\n // borderWidth: 0\r\n // },\r\n // chipSelected: {\r\n // backgroundColor: Colors.chipSelected,\r\n // ...ShadowStyles.shadowInputs\r\n // },\r\n // chipUnselected: {\r\n // backgroundColor: Colors.chipUnselected\r\n // },\r\n // text: {\r\n // ...TypographyStyles.textSmall,\r\n // color: Colors.text\r\n // },\r\n})\r\n","import Paths from '../../constants/Paths'\r\nimport { Platform } from 'react-native'\r\nimport { getRegion } from '../localization'\r\n\r\nexport default async function trackPlausiblePageView(newRoute) {\r\n\tconst newR = newRoute.getCurrentRoute()\r\n\tlet url = 'app/'\r\n\tlet id = ''\r\n\tlet universe = ''\r\n\tlet chip = ''\r\n\tlet route = newR.name + '/'\r\n\r\n\tif (newR.params) {\r\n\t\tObject.keys(newR.params).forEach((param) => {\r\n\t\t\tif (param === 'id') {\r\n\t\t\t\tid = newR.params.id + '/'\r\n\t\t\t} else if (param === 'universe' && newR.params.universe?.length > 0) {\r\n\t\t\t\tuniverse = newR.params.universe + '/'\r\n\t\t\t} else if (param === 'chip' && newR.params.chip.length > 0) {\r\n\t\t\t\tchip = newR.params.chip + '/'\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\tif (route === 'EditPost/' || route === 'Conversation/') {\r\n\t\turl += universe + route + chip\r\n\t} else {\r\n\t\turl += universe + route + chip + id\r\n\t}\r\n\r\n\tif (Platform.OS !== 'web' && !__DEV__) {\r\n\t\turl = url.slice(0, -1)\r\n\t\tconst region = getRegion()\r\n\t\tconst data = {\r\n\t\t\tname: 'pageview',\r\n\t\t\turl: Paths.getBaseUrl() + url,\r\n\t\t\tdomain: `app.boblberg.${region},boblberg.samlet`,\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tawait fetch('https://plausible.io/api/event', {\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\tbody: JSON.stringify(data),\r\n\t\t\t})\r\n\t\t} catch (error) {\r\n\t\t\tif (__DEV__) console.log(error)\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Tracks an event in Plausible analytics.\r\n *\r\n * @param {string} eventName - The name of the event to track.\r\n * @param {Object} props - Additional properties to send with the event.\r\n * @param {string} url - The URL or path where the event occurred. This will be appended to the base URL for non-web platforms.\r\n */\r\nexport async function trackPlausibleEvent(eventName, props, url) {\r\n\tif (Platform.OS === 'web') {\r\n\t\twindow.plausible(eventName, { props: props })\r\n\t}\r\n\tif (Platform.OS !== 'web') {\r\n\t\tconst region = getRegion()\r\n\t\tconst data = {\r\n\t\t\tname: eventName,\r\n\t\t\turl: Paths.getBaseUrl() + 'app/' + url,\r\n\t\t\tprops: props,\r\n\t\t\tdomain: `app.boblberg.${region},boblberg.samlet`,\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tawait fetch('https://plausible.io/api/event', {\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\tbody: JSON.stringify(data),\r\n\t\t\t})\r\n\t\t} catch (error) {\r\n\t\t\tif (__DEV__) console.log(error)\r\n\t\t}\r\n\t}\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport { useSelector } from 'react-redux'\r\nimport Cookies from 'js-cookie'\r\nimport CustomDialog from '../dialogs/CustomDialog'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { Platform, StyleSheet, View } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport AsyncStorage from '@react-native-async-storage/async-storage'\r\nimport { txt } from '../../locales/i18n'\r\nimport CustomPressable from '../pressables/CustomPressable'\r\nimport { handlePaymentClick } from \"../../utils/handlePaymentClick\"\r\nimport { getSubscription } from \"../../services/api/User\"\r\nimport moment from \"moment/moment\"\r\nimport { trackPlausibleEvent } from \"../../services/api/plausible\"\r\nimport SubscriptionBenefits from \"../shared/SubscriptionBenefits\"\r\n\r\nexport default function SubscriptionWinBackDialog() {\r\n\tconst userToken = useSelector((state) => state.userToken)\r\n\tconst [visible, setVisible] = useState(false)\r\n\tconst [subscription, setSubscription] = useState(null)\r\n\r\n\tuseEffect(() => {\r\n\t\tgetSubscription().then(setSubscription)\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (userToken) {\r\n\t\t\tconst dialogTimeout = setTimeout(openDialog, 10000)\r\n\t\t\treturn () => clearTimeout(dialogTimeout)\r\n\t\t}\r\n\t}, [userToken, subscription])\r\n\r\n\tconst openDialog = async () => {\r\n\t\tif (!subscription) return\r\n\r\n\t\tconst cancelled = subscription?.state === 'active' && subscription?.is_cancelled === true\r\n\t\tif (cancelled === false) return\r\n\r\n\t\tif (!subscription.expires) return\r\n\t\tconst expirationDate = moment(subscription.expires)\r\n\r\n\t\tconst now = moment().format()\r\n\t\tconst diffInDays = expirationDate.diff(now, 'days')\r\n\t\tif (diffInDays > 14) return\r\n\r\n\t\tlet subscriptionWinBackFlag\r\n\t\tif (Platform.OS === 'web') subscriptionWinBackFlag = Cookies.get('subscriptionWinBackFlag')\r\n\t\telse subscriptionWinBackFlag = await AsyncStorage.getItem('subscriptionWinBackFlag')\r\n\r\n\t\t// To make sure the dialog is only shown once per subscription\r\n\t\tif (subscriptionWinBackFlag === subscription?.handle) return\r\n\r\n\t\tsetVisible(true)\r\n\t}\r\n\r\n\tasync function handleOpenUrl() {\r\n\t\tconst origin = 'win-back-dialog'\r\n\t\tawait trackPlausibleEvent('SubscriptionClick', { origin }, 'bobler')\r\n\t\tawait handleCloseDialog()\r\n\t\tawait handlePaymentClick({ origin })\r\n\t}\r\n\r\n\tasync function handleCloseDialog() {\r\n\t\tif (Platform.OS !== 'web') await AsyncStorage.setItem('subscriptionWinBackFlag', subscription?.handle)\r\n\t\telse Cookies.set('subscriptionWinBackFlag', subscription?.handle, { expires: new Date(subscription.expires) })\r\n\t\tsetVisible(false)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.winBack.title')}\r\n\t\t\t\t{txt('subscription.dialogs.winBack.intro')}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tdialogContainer: {\r\n\t\tmargin: 24,\r\n\t},\r\n\tcloseIcon: {\r\n\t\talignSelf: 'flex-end',\r\n\t\tposition: 'absolute',\r\n\t\tpaddingLeft: 24,\r\n\t\tzIndex: 1,\r\n\t},\r\n\ttitle: {\r\n\t\tfontSize: 24,\r\n\t\tfontFamily: 'raleway-semibold',\r\n\t\tpaddingRight: 25,\r\n\t},\r\n})\r\n","import React, { useState, useEffect, useRef } from 'react'\r\nimport { useSelector } from 'react-redux'\r\nimport { Dimensions, Image, StyleSheet, View, Platform, AppState } from 'react-native'\r\nimport { CommonActions } from '@react-navigation/routers'\r\nimport { useNavigation, useRoute } from '@react-navigation/core'\r\nimport AsyncStorage from '@react-native-async-storage/async-storage'\r\nimport moment from 'moment'\r\nimport { useAtomValue } from 'jotai'\r\nimport { txt } from '../../locales/i18n'\r\n\r\nimport {\r\n\tcreatePost as createPostApi,\r\n\tgetFavoritePosts as getFavoritePostsApi,\r\n\tgetOwnPosts as getOwnPostsApi,\r\n\tgetPostFeedIds,\r\n\tgetPostsFromIds,\r\n} from '../../services/api/Posts'\r\nimport { getSubscription } from '../../services/api/User'\r\nimport { handlePaymentClick } from '../../utils/handlePaymentClick'\r\n\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport MyPosts from '../../components/views/Post/MyPosts'\r\nimport FavoritePosts from '../../components/views/Post/FavoritePosts'\r\nimport PostFeed from '../../components/views/Post/PostFeed'\r\nimport CreateEditPost from '../../components/views/Post/CreateEditPost'\r\nimport { CustomChip } from '../../components/chips/Chip'\r\nimport { CustomText } from '../../components/text/StyledText'\r\nimport NormalIcon from '../../components/icons/NormalIcon'\r\nimport CustomPressable from '../../components/pressables/CustomPressable'\r\n\r\nimport Colors from '../../constants/Colors'\r\nimport Layout from '../../constants/Layout'\r\n\r\nimport boblbergLogo from '../../assets/images/boblberg.png'\r\nimport boblbergRKLogo from '../../assets/images/icon.png'\r\nimport { deepLinkingStatusAtom } from '../../atoms'\r\nimport SubscriptionWinBackDialog from \"../../components/dialogs/SubscriptionWinBackDialog\"\r\n\r\nexport default function HomeScreen() {\r\n\tconst [selectedMenuItem, setSelectedMenuItem] = useState('')\r\n\tconst [renderSubscriptionBanner, setRenderSubscriptionBanner] = useState(false)\r\n\tconst [expirationText, setExpirationText] = useState('')\r\n\r\n\tconst status = useAtomValue(deepLinkingStatusAtom)\r\n\r\n\tconst user = useSelector(({ user }) => user)\r\n\tconst appState = useRef(AppState.currentState)\r\n\tconst childFunc = useRef(null)\r\n\tconst navigation = useNavigation()\r\n\tconst router = useRoute()\r\n\r\n\tmoment.locale(user?.language ?? 'da')\r\n\r\n\tconst chips = {\r\n\t\tall: txt('post.menu.feed'),\r\n\t\tmine: txt('posts.chipParams.mine'),\r\n\t\tfavorites: txt('posts.chipParams.favorites'),\r\n\t\tcreate: txt('posts.chipParams.create'),\r\n\t\tmineTitle: txt('post.menu.myPosts'),\r\n\t\tfavoritesTitle: txt('post.menu.favoritePosts'),\r\n\t\tcreateTitle: txt('post.menu.createPost'),\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tconst nonDKUser = user.country !== 'Denmark'\r\n\t\tconst boblbergLogoStyle = { height: 34, width: 200 }\r\n\t\tconst boblbergRKLogoStyle = { height: 54, width: 200 }\r\n\r\n\t\tnavigation.setOptions({\r\n\t\t\theaderTitle: () => (\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t})\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (status !== 'idle' && status !== 'success') return\r\n\r\n\t\tgetSubscription().then((subscription) => {\r\n\t\t\tif (subscription?.is_cancelled === true) {\r\n\t\t\t\tconst expirationDate = moment(subscription?.expires)\r\n\t\t\t\tconst now = moment().format()\r\n\t\t\t\tconst diffInDays = expirationDate.diff(now, 'days')\r\n\r\n\t\t\t\tsetExpirationText(() => {\r\n\t\t\t\t\tif (diffInDays === 1) return txt('subscription.expiresTomorrowTitle', { days: diffInDays })\r\n\t\t\t\t\tif (diffInDays > 1) return txt('subscription.expiresInXDaysTitle', { days: diffInDays })\r\n\t\t\t\t\treturn txt('subscription.expiresSoonTitle')\r\n\t\t\t\t})\r\n\t\t\t\treturn setRenderSubscriptionBanner(diffInDays <= 20)\r\n\t\t\t}\r\n\r\n\t\t\tsetRenderSubscriptionBanner(false)\r\n\t\t})\r\n\t}, [status])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (Platform.OS === 'web') return\r\n\t\tconst subscription = AppState.addEventListener('change', async (nextAppState) => {\r\n\t\t\tif (appState.current.match(/inactive|background/) && nextAppState === 'active') {\r\n\t\t\t\tawait handleLastRendered()\r\n\t\t\t}\r\n\t\t\tappState.current = nextAppState\r\n\t\t})\r\n\r\n\t\treturn () => subscription?.remove()\r\n\t}, [])\r\n\r\n\tconst handleLastRendered = async () => {\r\n\t\tconst dateNow = Date.now()\r\n\t\tconst key = 'feedLastRendered'\r\n\t\tconst lastRendered = await AsyncStorage.getItem(key)\r\n\r\n\t\tif (lastRendered === null) {\r\n\t\t\treturn await AsyncStorage.setItem(key, String(dateNow))\r\n\t\t}\r\n\r\n\t\tconst oneDay = 1000 * 60 * 60 * 24\r\n\t\tif (dateNow < Number(lastRendered) + oneDay) return\r\n\r\n\t\tawait AsyncStorage.setItem(key, String(dateNow))\r\n\t\tawait childFunc?.current?.()\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tconst chip = router.params?.chip\r\n\t\tsetSelectedMenuItem(chip ? chip : '')\r\n\t}, [navigation, router.params])\r\n\r\n\tconst navigateToPost = (id) => {\r\n\t\tnavigation.navigate('Post', { id })\r\n\t}\r\n\r\n\tfunction navigateToEditPost(id) {\r\n\t\tnavigation.navigate('EditPost', { id })\r\n\t}\r\n\r\n\tconst navigateToCreatePost = (plausibleOrigin) => {\r\n\t\tif (Platform.OS === 'web') {\r\n\t\t\twindow.plausible('createBobl', {\r\n\t\t\t\tprops: { source: plausibleOrigin },\r\n\t\t\t})\r\n\t\t}\r\n\t\tsetChipParam(txt('posts.chipParams.create'))\r\n\t}\r\n\r\n\tconst createPost = async (data) => {\r\n\t\treturn await createPostApi(data)\r\n\t}\r\n\r\n\tconst getOwnPosts = async () => {\r\n\t\treturn await getOwnPostsApi()\r\n\t}\r\n\r\n\tconst getFavoritePosts = async () => {\r\n\t\treturn await getFavoritePostsApi()\r\n\t}\r\n\r\n\tasync function getNewPostIds(filters) {\r\n\t\tconst { postIds } = await getPostFeedIds(filters)\r\n\t\treturn postIds\r\n\t}\r\n\r\n\tconst setChipParam = (chip) => {\r\n\t\tnavigation.dispatch(CommonActions.setParams({ chip }))\r\n\t}\r\n\r\n\tasync function handleOpenUrl() {\r\n\t\tconst origin = 'expires-soon-banner'\r\n\t\tif (Platform.OS === 'web') window.plausible('SubscriptionClick', { props: { origin } })\r\n\t\tawait handlePaymentClick({ origin })\r\n\t}\r\n\r\n\tconst renderChips = () => {\r\n\t\tconst isSmallDevice = Dimensions.get('window').width < 375\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{renderSubscriptionBanner === true && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{expirationText}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{txt('subscription.expiresSoonBody')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t setChipParam('')}\r\n\t\t\t\t\t\t\t\ttext={chips.all}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t setChipParam(chips.mine)}\r\n\t\t\t\t\t\t\t\ttext={chips.mineTitle}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t setChipParam(chips.favorites)}\r\n\t\t\t\t\t\t\t\ttext={!isSmallDevice && chips.favoritesTitle}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tif (Platform.OS === 'web') {\r\n\t\t\t\t\t\t\t\t\t\twindow.plausible('createBobl', { props: { source: 'chip' } })\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tsetChipParam(chips.create)\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\ttext={chips.createTitle}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tfunction isVisible(chipName) {\r\n\t\treturn router.params?.chip === chipName\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t {\r\n\t\t\t\t\tnavigation.navigate('Home', {\r\n\t\t\t\t\t\tparams: { chip: txt('posts.chipParams.mine') },\r\n\t\t\t\t\t})\r\n\t\t\t\t}}\r\n\t\t\t\tcreatePost={createPost}\r\n\t\t\t\trenderChips={renderChips}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcenter: {\r\n\t\talignItems: 'center',\r\n\t\tpaddingHorizontal: 12,\r\n\t},\r\n\tchip: {\r\n\t\tmarginBottom: 5,\r\n\t\tmarginLeft: 3,\r\n\t\tmarginRight: 3,\r\n\t},\r\n\tchipContainer: {\r\n\t\talignSelf: 'center',\r\n\t\tflexDirection: 'row',\r\n\t\tmarginTop: 5,\r\n\t},\r\n\trow: {\r\n\t\tflexDirection: 'row',\r\n\t},\r\n\tsubscriptionBanner: {\r\n\t\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t\talignSelf: 'center',\r\n\t\twidth: '100%',\r\n\t\tmaxWidth: Layout.maxFeedWidth,\r\n\t\tbackgroundColor: Colors.redLight,\r\n\t\tpadding: 12,\r\n\t\tmarginVertical: 6,\r\n\t\tborderRadius: 8,\r\n\t},\r\n\tsubscriptionBannerTextContainer: {\r\n\t\tflexGrow: 1,\r\n\t\tflex: 1,\r\n\t},\r\n\tsubscriptionBannerText: {\r\n\t\tpaddingLeft: 12,\r\n\t\tcolor: Colors.white,\r\n\t},\r\n})\r\n","import React from 'react'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nconst FavoriteIndicator = (props) => (\r\n props.toggleFavorite()}\r\n accessibilityRole={'button'}\r\n accessibilityLabel={props.isFavorite ? txt('fullPost.removeFavorite') : txt('fullPost.favorite')}\r\n accessibilityLiveRegion={'polite'}\r\n accessibilityHint={txt('fullPost.favoriteHint')}\r\n >\r\n \r\n \r\n)\r\n\r\nexport default FavoriteIndicator\r\n","import React from 'react'\r\nimport { Platform } from 'react-native'\r\nimport { Helmet } from 'react-helmet'\r\n\r\nexport default class PageTitle extends React.PureComponent {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n if (Platform.OS === 'web') {\r\n return (\r\n \r\n {this.props.title ?? ''}\r\n \r\n )\r\n } else {\r\n return <>\r\n }\r\n }\r\n}\r\n","import React from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { RoundBtn } from '../../buttons/StyledButtons'\r\nimport { txt } from '../../../locales/i18n'\r\n\r\nexport default function ({ navigateToBobls, navigateToFrontpage, signedIn }) {\r\n const handleActionPress = () => {\r\n if (signedIn) {\r\n navigateToBobls()\r\n } else {\r\n navigateToFrontpage()\r\n }\r\n }\r\n\r\n return (\r\n \r\n {':-('}\r\n \r\n {txt('postNotFound.body')}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n alignSelf: 'center',\r\n padding: 24,\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n flexGrow: 1,\r\n maxWidth: 400,\r\n marginBottom: 60,\r\n },\r\n textIllustration: {\r\n fontSize: 60,\r\n marginBottom: 24,\r\n },\r\n text: {\r\n textAlign: 'center',\r\n },\r\n button: {\r\n marginTop: 36,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { Platform, StyleSheet, View } from 'react-native'\r\n\r\nimport CustomDialog, { ContentContainer } from './CustomDialog'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { txt } from '../../locales/i18n'\r\nimport Colors from '../../constants/Colors'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport { handlePaymentClick } from \"../../utils/handlePaymentClick\"\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\nimport SubscriptionBenefits from \"../shared/SubscriptionBenefits\"\r\n\r\nexport default function ContactUnavailableDialog({ visible, hide, post, username }) {\r\n\r\n\tconst handleClick = async () => {\r\n\t\tconst origin = post ? 'bobl-send-message' : 'conversation-send-message';\r\n\t\tif (Platform.OS === 'web') window.plausible('SubscriptionClick', { props: { origin } });\r\n\t\t\r\n\t\thide()\r\n\t\tawait handlePaymentClick({ origin, post });\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t{txt('subscription.dialogs.contactUnavailable.title', { username })}\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.intro')}\r\n\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.button')}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcloseIcon: {\r\n\t\talignSelf: 'flex-end',\r\n\t\tposition: 'absolute',\r\n\t\tpaddingLeft: 24,\r\n\t\tzIndex: 1,\r\n\t},\r\n\ttitle: {\r\n\t\tfontSize: 24,\r\n\t\tfontFamily: 'raleway-semibold',\r\n\t\tpaddingRight: 25,\r\n\t},\r\n\tpaymentBtn: {\r\n\t\tminWidth: 200,\r\n\t\tmarginBottom: 24,\r\n\t\tpaddingVertical: 12,\r\n\t\tbackgroundColor: Colors.greenBtn,\r\n\t},\r\n})\r\n","import CustomDialog, { ActionButton, ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { View } from 'react-native'\r\nimport React from 'react'\r\n\r\nexport default function SignUpDialog({ navigateToFrontpage, username, visible, toggle }) {\r\n return (\r\n \r\n \r\n \r\n {txt('post.notSignedIn', {name: username})}\r\n \r\n \r\n \r\n {txt('post.signUp')}\r\n \r\n \r\n )\r\n}","import CustomDialog, { ActionButton, ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport React from 'react'\r\n\r\nexport function OwnPostDialog({visible, toggle}) {\r\n return (\r\n \r\n \r\n \r\n {txt('post.ownPostText')}\r\n \r\n \r\n \r\n {txt('post.ok')}\r\n \r\n \r\n )\r\n}","import React from 'react'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport Colors from '../constants/Colors'\r\nimport { cardShadow } from '../styles/shadows'\r\nimport CustomPressable from \"./pressables/CustomPressable\"\r\n\r\nexport default function Card({ style, children, largeRadius, onPress, ...props }) {\r\n''\r\n const containerStyle = [styles.container, { borderRadius: largeRadius ? 36 : 12 }, style]\r\n\r\n if (onPress) {\r\n return {children}\r\n } else {\r\n return {children}\r\n }\r\n\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n backgroundColor: Colors.white,\r\n ...cardShadow\r\n }\r\n})","import React, { useState } from 'react'\r\nimport { StyleSheet } from 'react-native'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport default function OptionButton({\r\n onPress,\r\n vertical,\r\n size,\r\n hoverColor,\r\n color,\r\n style\r\n}) {\r\n const [hover, setHover] = useState(false)\r\n\r\n const handleMouseEnter = () => {\r\n setHover(true)\r\n }\r\n\r\n const handleMouseLeave = () => {\r\n setHover(false)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n moreBtn: {\r\n opacity: 0.4,\r\n padding: 6,\r\n },\r\n moreBtnBg: {\r\n borderRadius: 100,\r\n },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { Keyboard, StyleSheet, View } from 'react-native'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport OptionButton from '../buttons/OptionButton'\r\nimport OptionsDialog from '../dialogs/OptionsDialog'\r\nimport CustomDialog, { ContentContainer } from '../dialogs/CustomDialog'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { InputPrimary } from '../text/StyledTextinputs'\r\nimport { reportContent } from '../../services/api/Reports'\r\nimport { ButtonPrimary, ButtonSecondary } from '../buttons/StyledButtons'\r\nimport { txt } from '../../locales/i18n'\r\nimport Card from '../Card'\r\nimport NormalIcon from '../icons/NormalIcon'\r\n\r\nexport default function ReportContent({ optionList, reportingTypeId, contentId }) {\r\n const [showOptions, setShowOptions] = useState(false)\r\n const [showReportConfirm, setShowReportConfirm] = useState(false)\r\n const [options, setOptions] = useState(optionList ? [...optionList] : [])\r\n\r\n useEffect(() => {\r\n const reportOption = {\r\n label: txt('report.title'),\r\n icon: \"flag-alt\",\r\n action: handleReportPress,\r\n }\r\n\r\n setOptions((options) => [...options, reportOption])\r\n }, [])\r\n\r\n const toggleShowOptions = () => {\r\n setShowOptions((prev) => !prev)\r\n }\r\n\r\n const handleReportContent = async (message) => {\r\n const res = await reportContent({ reportingTypeId, contentId, message })\r\n if (res) return true\r\n toggleShowReportConfirm()\r\n }\r\n\r\n const toggleShowReportConfirm = () => {\r\n setShowReportConfirm((prev) => !prev)\r\n }\r\n\r\n const handleReportPress = async () => {\r\n toggleShowOptions()\r\n toggleShowReportConfirm()\r\n }\r\n\r\n return (\r\n <>\r\n {reportingTypeId === 1 ? (\r\n \r\n \r\n \r\n {txt('report.title')}\r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nfunction ConfirmReportDialog({ confirm, cancel, visible }) {\r\n const [reportMsg, setReportMsg] = useState(null)\r\n const [success, setSuccess] = useState(false)\r\n const [error, setError] = useState(false)\r\n\r\n const handleConfirm = async () => {\r\n const reported = await confirm(reportMsg)\r\n if (reported) {\r\n setReportMsg(null)\r\n setSuccess(true)\r\n setTimeout(() => {\r\n setSuccess(false)\r\n cancel()\r\n }, 1500)\r\n } else setError(true)\r\n }\r\n\r\n const handleClose = () => {\r\n setReportMsg(null)\r\n setError(false)\r\n cancel()\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {success ? txt('report.success') : error ? txt('report.error') : txt('report.title')}\r\n \r\n {!success && !error && (\r\n setReportMsg(value)}\r\n />\r\n )}\r\n \r\n\r\n \r\n {!success && !error && (\r\n \r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n button: { marginTop: 12, width: '100%' },\r\n box: {\r\n marginBottom: 12,\r\n padding: 12,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n})\r\n","import { apiPost } from './ApiRequest'\r\n\r\n/**\r\n table: reporting_type\r\n 0 - post\r\n 1 - conversation\r\n 2 - activity\r\n 3 - union\r\n */\r\nexport async function reportContent({ reportingTypeId, contentId, message }) {\r\n const body = { reportingTypeId, contentId, message }\r\n let res = await apiPost(body, 'reportings')\r\n return res.json()\r\n}","import Colors from '../constants/Colors'\r\n\r\nexport const universes = [\r\n\t{\r\n\t\tname: 'aauucn',\r\n\t\tid: 1,\r\n\t\tpageTitle: 'Studiebobler.dk',\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.textLight,\r\n\t\ttabBarActiveTextColor: Colors.tintColor,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/studiebobler_logo.png',\r\n\t\tlogoLabel: 'Studiebobler.dk logo',\r\n\t\ttitle: 'Studiebobler',\r\n\t},\r\n\t{\r\n\t\tname: 'ffb',\r\n\t\tid: 2,\r\n\t\tpageTitle: 'Frederiksberg Forenede Boligselskaber | Boblberg.dk',\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.textLight,\r\n\t\ttabBarActiveTextColor: Colors.tintColor,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/ffb_logo.png',\r\n\t\tlogoLabel: 'FFB logo',\r\n\t\ttitle: 'Frederiksberg Forenede Boligselskaber',\r\n\t},\r\n\t{\r\n\t\tname: 'sab',\r\n\t\tid: 3,\r\n\t\tpageTitle: 'Samvirkende Boligselskaber | Boblberg.dk',\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.textLight,\r\n\t\ttabBarActiveTextColor: Colors.tintColor,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/sab_logo.png',\r\n\t\tlogoLabel: 'SAB logo',\r\n\t\ttitle: 'Samvirkende Boligselskaber',\r\n\t},\r\n\t{\r\n\t\tname: 'bes',\r\n\t\tid: 4,\r\n\t\tpageTitle: 'Ballerup Ejendomsselskab | Boblberg.dk',\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.textLight,\r\n\t\ttabBarActiveTextColor: Colors.tintColor,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/bes_logo.png',\r\n\t\tlogoLabel: 'BES logo',\r\n\t\ttitle: 'Ballerup Ejendomsselskab',\r\n\t},\r\n\t{\r\n\t\tname: 'lbs',\r\n\t\tid: 5,\r\n\t\tpageTitle: 'Lyngby Boligselskab | Boblberg.dk',\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.textLight,\r\n\t\ttabBarActiveTextColor: Colors.tintColor,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/lbs_logo.png',\r\n\t\tlogoLabel: 'LBS logo',\r\n\t\ttitle: 'Lyngby Boligselskab',\r\n\t},\r\n\t{\r\n\t\tname: 'bsf',\r\n\t\tid: 6,\r\n\t\tpageTitle: 'Boligselskabet Friheden | Boblberg.dk',\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.textLight,\r\n\t\ttabBarActiveTextColor: Colors.tintColor,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/bsf_logo.png',\r\n\t\tlogoLabel: 'BSF logo',\r\n\t\ttitle: 'Boligselskabet Friheden',\r\n\t},\r\n\t{\r\n\t\tname: 'abs',\r\n\t\tid: 7,\r\n\t\tpageTitle: 'Avedøre Boligselskab | Boblberg.dk',\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.textLight,\r\n\t\ttabBarActiveTextColor: Colors.tintColor,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/abs_logo.png',\r\n\t\tlogoLabel: 'ABS logo',\r\n\t\ttitle: 'Avedøre Boligselskab',\r\n\t},\r\n\t{\r\n\t\tname: 'rf',\r\n\t\tid: 8,\r\n\t\tpageTitle: 'Roskilde Festival | Boblberg.dk',\r\n\t\tbackgroundColor: Colors.greyLightLight,\r\n\t\tleftChatBubbleBackground: Colors.white,\r\n\t\trightChatBubbleBackground: Colors.black,\r\n\t\tconversationPostsItemBackground: Colors.white,\r\n\t\ttabBarColor: Colors.dark,\r\n\t\ttabBarTextColor: Colors.white,\r\n\t\ttabBarActiveTextColor: Colors.orangeRf,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/rf_logo.png',\r\n\t\tlogoLabel: 'RF logo',\r\n\t\ttitle: 'Roskilde Festival',\r\n\t},\r\n\t{\r\n\t\tname: 'herlev',\r\n\t\tid: 9,\r\n\t\tpageTitle: 'Herlevbobler | Boblberg.dk',\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.textLight,\r\n\t\ttabBarActiveTextColor: Colors.tintColor,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/herlevbobler_logo.png',\r\n\t\tlogoLabel: 'Herlevbobler.dk logo',\r\n\t\ttitle: 'Herlevbobler',\r\n\t},\r\n\t{\r\n\t\tname: 'nytaarsvenner',\r\n\t\tid: 10,\r\n\t\tpageTitle: 'Nytårsvenner | Boblberg.dk',\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tleftChatBubbleBackground: '#efcf93',\r\n\t\trightChatBubbleBackground: Colors.black,\r\n\t\tconversationPostsItemBackground: Colors.white,\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.newYearPrimary,\r\n\t\ttabBarActiveTextColor: Colors.newYearPrimary,\r\n\t\tboblHighlightColor: Colors.newYearPrimary,\r\n\t\tchipUnselectedColor: '#e5be6a',\r\n\t\tchipTextColor: Colors.black,\r\n\t\tseparatorColor: Colors.newYearPrimary,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/nytaarsvenner-logo-dk.png',\r\n\t\tlogoLabel: 'Nytårsvenner logo',\r\n\t\ttitle: 'Nytårsvenner',\r\n\t},\r\n\t{\r\n\t\tname: 'au',\r\n\t\tid: 12,\r\n\t\tpageTitle: 'Studiebobler.dk',\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.textLight,\r\n\t\ttabBarActiveTextColor: Colors.tintColor,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/studiebobler/sr-studiebobler-logo.png',\r\n\t\tlogoLabel: 'Studiebobler.dk logo',\r\n\t\ttitle: 'Studiebobler',\r\n\t},\r\n\t{\r\n\t\tname: 'krifa',\r\n\t\tid: 13,\r\n\t\tpageTitle: 'Krifa',\r\n\t\tbackgroundColor: '#f8f9ff',\r\n\t\ttabBarColor: '#651560',\r\n\t\ttabBarTextColor: Colors.whiteTransparent,\r\n\t\ttabBarActiveTextColor: Colors.white,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/krifa_boblberg_logo.png',\r\n\t\tlogoLabel: 'Boblberg i samarbejde med Krifa logo',\r\n\t\ttitle: 'Krifa',\r\n\t},\r\n\t{\r\n\t\tname: 'nyarsvanner',\r\n\t\tid: 14,\r\n\t\tpageTitle: 'Nyårsvänner | Boblberg.se',\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tleftChatBubbleBackground: '#efcf93',\r\n\t\trightChatBubbleBackground: Colors.black,\r\n\t\tconversationPostsItemBackground: Colors.white,\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.newYearPrimary,\r\n\t\ttabBarActiveTextColor: Colors.newYearPrimary,\r\n\t\tboblHighlightColor: Colors.newYearPrimary,\r\n\t\tchipUnselectedColor: '#e5be6a',\r\n\t\tchipTextColor: Colors.black,\r\n\t\tseparatorColor: Colors.newYearPrimary,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/nytaarsvenner-logo-se.png',\r\n\t\tlogoLabel: 'Nyårsvänner logo',\r\n\t\ttitle: 'Nyårsvänner',\r\n\t},\r\n]\r\n","import { Platform } from 'react-native'\r\n\r\nimport { universes } from './universeConfig'\r\nimport { initialUrlAtom, jotaiStore } from '../atoms'\r\n\r\nexport function isUniverse(name) {\r\n\treturn universes.some((universe) => universe.name === name?.toLowerCase())\r\n}\r\n\r\nexport function getUniverseId(name) {\r\n const universe = universes.find(\r\n (universe) => universe.name === name?.toLowerCase()\r\n )\r\n return universe?.id\r\n}\r\n\r\nexport function extractUniverseFromWeb() {\r\n\tif (Platform.OS !== 'web') return null\r\n\r\n\tconst pathSegments = window.location.href.split('/')\r\n\tconst universeIndex = pathSegments.indexOf('u') + 1\r\n\r\n\tif (universeIndex > 0 && pathSegments[universeIndex]) {\r\n\t\treturn pathSegments[universeIndex].toLowerCase()\r\n\t}\r\n\r\n\treturn null\r\n}\r\n\r\nexport function getUniverseConfig(name) {\r\n\tconst target = name || extractUniverseFromWeb()\r\n\r\n\tconst universe = universes.find((universe) => {\r\n\t\treturn universe.name === target?.toLowerCase()\r\n\t})\r\n\r\n\treturn universe\r\n}\r\n\r\nexport function getUniverseConfigById(id) {\r\n const universe = universes.find((universe) => universe.id === id)\r\n return universe\r\n}\r\n\r\nconst getNameFromRoutePattern = (values, pattern) => {\r\n\tconst json = JSON.stringify(values)\r\n\tconst matches = json.match(pattern)\r\n\r\n\tconst universeName = matches?.groups?.universeName ?? null\r\n\treturn universeName?.toLowerCase() ?? null\r\n}\r\n\r\nconst getNameFromInitialUrl = () => {\r\n\tconst initialUrl = jotaiStore.get(initialUrlAtom)\r\n\tif (initialUrl === null) return null\r\n\r\n\tconst universeNamePattern = /u\\/(?\\w+)/\r\n\tconst matches = initialUrl.match(universeNamePattern)\r\n\r\n\tconst universeName = matches?.groups?.universeName ?? null\r\n\treturn universeName ?? null\r\n}\r\n\r\nexport const getName = (route) => {\r\n\tconst routeUniversePattern = /\"universe\":\"(?\\w+)/\r\n\tconst universeNameRouteUniverse = getNameFromRoutePattern(route, routeUniversePattern)\r\n\tif (universeNameRouteUniverse !== null) return universeNameRouteUniverse\r\n\r\n\tconst routePathPattern = /\"path\":\"u\\/(?\\w+)/\r\n\tconst universeNameRoutePath = getNameFromRoutePattern(route, routePathPattern)\r\n\tif (universeNameRoutePath !== null) return universeNameRoutePath\r\n\r\n\tif (Platform.OS === 'web') {\r\n\t\tconst url = window.location.pathname\r\n\t\tconst universeNamePattern = /u\\/(?\\w+)/\r\n\t\tconst matches = url.match(universeNamePattern)\r\n\r\n\t\tconst universeName = matches?.groups?.universeName ?? null\r\n\t\tif (universeName !== null) return universeName.toLowerCase()\r\n\t}\r\n\r\n\tconst universeNameInitialUrl = getNameFromInitialUrl()\r\n\tif (universeNameInitialUrl !== null) return universeNameInitialUrl\r\n\r\n\treturn null\r\n}\r\n\r\nexport function getConfig(name) {\r\n\tconst universe = universes.find((universe) => {\r\n\t\treturn universe.name.toLowerCase() === name?.toLowerCase()\r\n\t})\r\n\r\n\treturn universe ?? null\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet, Dimensions } from 'react-native'\r\nimport { getFullPost, setPostFavorite } from '../../../services/api/Posts'\r\nimport Paths from '../../../constants/Paths'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport { txt } from '../../../locales/i18n'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { getConversationId } from '../../../services/api/Inbox'\r\nimport FavoriteIndicator from '../../headers/FavoriteIndicator'\r\nimport { ImageHighlightPost } from '../../images/ImageHighlight'\r\nimport PageTitle from '../../tags/PageTitle'\r\nimport { formatForMetaTitle } from '../../text/TextFormatter'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport store from '../../../redux/store'\r\nimport PostNotFound from './PostNotFound'\r\nimport ContactUnavailableDialog from '../../dialogs/ContactUnavailableDialog'\r\nimport SignUpDialog from './Dialogs/SignUpDialog'\r\nimport { OwnPostDialog } from './Dialogs/OwnPostDialog'\r\nimport { useNavigation, useRoute } from '@react-navigation/core'\r\nimport { setOrigin } from '../../../redux/actions'\r\nimport Card from '../../Card'\r\nimport { useSelector } from 'react-redux'\r\nimport ReportContent from '../../callToActions/reportContent'\r\nimport { getHasFeatureOne, getSubscription } from \"../../../services/api/User\"\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nimport { useAtomValue } from 'jotai'\r\nimport { SeClickedPostIdsAtom, DkClickedPostIdsAtom } from '../../../atoms'\r\nimport { getUniverseConfigById } from \"../../../universe/universeController\"\r\n\r\nconst small = Dimensions.get('window').width < 500\r\n\r\nexport default function Post(props) {\r\n const navigation = useNavigation()\r\n const [loading, setLoading] = useState(true)\r\n const [item, setItem] = useState({\r\n id: 0,\r\n is_favorite: 0,\r\n title: '',\r\n body: '',\r\n username: '',\r\n user_id: null,\r\n img_filename: '',\r\n location: '',\r\n municipality_id: 0,\r\n own_municipality_id: 0,\r\n own_municipality_name: '',\r\n municipality_contact: '',\r\n subscriber: false,\r\n })\r\n const [accessDialogVisible, setAccessDialogVisible] = useState(false)\r\n const [ownPostVisible, setOwnPostVisible] = useState(false)\r\n const [showNotSignedInDialog, setShowNotSignedInDialog] = useState(false)\r\n const [notFound, setNotFound] = useState(false)\r\n const [subscription, setSubscription] = useState(null)\r\n const [municipalityName, setMunicipalityName] = useState(null)\r\n const [postOwnerHasFeatureOne, setPostOwnerHasFeatureOne] = useState(false)\r\n const [universe, setUniverse] = useState(null)\r\n\r\n const sePostFeedIds = useAtomValue(SeClickedPostIdsAtom)\r\n const dkPostFeedIds = useAtomValue(DkClickedPostIdsAtom)\r\n const ownUserId = useSelector((state) => state.user?.id)\r\n const country = useSelector((state) => state.user?.country)\r\n\r\n const ownPost = item.user_id === ownUserId\r\n const route = useRoute()\r\n const postId = route.params.id ?? null\r\n\r\n\tuseEffect(() => {\r\n\t\tsetLoading(true)\r\n\r\n\t\tif (postId === null) {\r\n\t\t\tsetNotFound(true)\r\n\t\t\treturn setLoading(false)\r\n\t\t}\r\n\r\n\t\tgetFullPost(postId).then((post) => {\r\n\t\t\tif (!post) {\r\n\t\t\t\tsetNotFound(true)\r\n\t\t\t\treturn setLoading(false)\r\n\t\t\t}\r\n\r\n\t\t\tpost.username = setUsername(post)\r\n\t\t\tsetItem(post)\r\n\t\t\tsetMunicipalityName(post.municipality_name)\r\n\r\n\t\t\tif (post?.universe_id) {\r\n\t\t\t\tconst universeConfig = getUniverseConfigById(post?.universe_id)\r\n\t\t\t\tsetUniverse(universeConfig)\r\n\t\t\t}\r\n\r\n\t\t\tif (post.user_id !== ownUserId) {\r\n\t\t\t\tconst headerRight = () => \r\n\t\t\t\tnavigation.setOptions({ headerRight })\r\n\t\t\t}\r\n\r\n\t\t\tif (ownUserId) {\r\n\t\t\t\tgetSubscription().then((sub) => {\r\n\t\t\t\t\tconst notPending = sub?.state === 'active' && sub?.pending_invoices === 0\r\n\t\t\t\t\tconst notDunning = sub?.state === 'active' && sub?.dunning_invoices === 0\r\n\t\t\t\t\tif (sub?.state === 'active' && notPending && notDunning) setSubscription(sub)\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\t// Using below to check that post owners with feature one can receive messages as well.\r\n\t\t\t// If we grant feature 1 to specific users without a sponsor (example: K7)\r\n\t\t\tgetHasFeatureOne(post?.user_id).then(setPostOwnerHasFeatureOne)\r\n\t\t\tsetLoading(false)\r\n\t\t})\r\n\t}, [postId])\r\n\r\n useEffect(() => {\r\n const unsubscribe = navigation.addListener('focus', () => {\r\n getFullPost(postId).then((post) => {\r\n if (post) {\r\n post.username = setUsername(post)\r\n setItem(post)\r\n }\r\n else setNotFound(true)\r\n })\r\n })\r\n\r\n return unsubscribe\r\n }, [navigation, postId])\r\n\r\n const setUsername = (post) => {\r\n const username = post?.username ?? ''\r\n\r\n const own = post.user_id === ownUserId\r\n if (own) return username\r\n\r\n const hasFeature1 = store.getState().user?.features?.includes(1)\r\n if (hasFeature1) return username\r\n\r\n const [firstName, ...lastNames] = username.split(' ')\r\n if (lastNames.length === 0) return username\r\n\r\n return firstName\r\n }\r\n\r\n const showAccessDialog = () => setAccessDialogVisible(true)\r\n const hideAccessDialog = () => setAccessDialogVisible(false)\r\n\r\n const handleSend = async () => {\r\n if (ownUserId === undefined) {\r\n toggleNotSignedInDialog()\r\n setPostAsOrigin()\r\n return\r\n }\r\n if (!item.user_id) return\r\n\r\n if (!canSendMessage()) {\r\n showAccessDialog()\r\n } else {\r\n const conversationId = await getConversationId({ postId: item.id, receiverId: item.user_id })\r\n if (conversationId) {\r\n props.navigateToConversation(conversationId)\r\n } else {\r\n props.navigateToNewConversation(item)\r\n }\r\n }\r\n }\r\n\r\n const toggleFavorite = async () => {\r\n await setPostFavorite(item.id, item.is_favorite)\r\n setItem((prevState => ({ ...prevState, is_favorite: item.is_favorite ? 0 : 1 })))\r\n }\r\n\r\n const toggleOwnPostDialog = () => {\r\n setOwnPostVisible((prevState => !prevState))\r\n }\r\n\r\n const toggleNotSignedInDialog = () => {\r\n setShowNotSignedInDialog((prevState => (!prevState)))\r\n }\r\n\r\n\tconst canSendMessage = () => {\r\n\t\t// German users can send messages to everyone\r\n\t\tif (country === 'Germany') return true\r\n\r\n\t\tif (item.universe_id === 10 || item.universe_id === 14) return true // Always allow to write to Nytårsvenner DK and SE\r\n\r\n\t\tconst hasMessageFeature = store.getState().user?.features?.includes(1)\r\n\t\tif (hasMessageFeature) return true\r\n\r\n\t\tif (country === 'Sweden') {\r\n\t\t\tconst postIndex = sePostFeedIds.indexOf(Number(props.id))\r\n\t\t\t\r\n\t\t\t// incremental steps for display of subscription dialog\r\n\t\t\tconst contactIncrement = 3\r\n\t\t\treturn (postIndex + 1) % contactIncrement !== 0\r\n\t\t}\r\n\r\n\t\tif (country === 'Denmark') {\r\n\t\t\tconst postIndex = dkPostFeedIds.indexOf(Number(props.id))\r\n\t\t\t\r\n\t\t\t// incremental steps for display of subscription dialog\r\n\t\t\tconst contactIncrement = 3\r\n\t\t\treturn (postIndex + 1) % contactIncrement === 1\r\n\t\t}\r\n\r\n\t\tconst sameMunicipality = item.own_municipality_id === item.municipality_id\r\n\t\tconst isUniversePostInUniverse = !!item.universe_id && !!route.params.universe\r\n\t\treturn hasMessageFeature || item.subscriber || !sameMunicipality || isUniversePostInUniverse || postOwnerHasFeatureOne\r\n\t}\r\n\r\n const editPost = () => {\r\n props.navigateToEditPost(item.id)\r\n }\r\n\r\n const setPostAsOrigin = () => {\r\n store.dispatch(\r\n setOrigin({\r\n screen: 'Post',\r\n stack: 'HomeStack',\r\n rootStack: 'app',\r\n params: { id: item.id },\r\n }),\r\n )\r\n }\r\n\r\n if (!loading) {\r\n if (notFound) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n {ownPost ? (\r\n \r\n \r\n \r\n ) : ownUserId !== undefined ? (\r\n \r\n ) : null}\r\n \r\n\r\n \r\n \r\n \r\n \r\n {item.username}\r\n \r\n \r\n\r\n {!!item.location && (\r\n \r\n \r\n \r\n {item.location}\r\n \r\n \r\n )}\r\n\r\n {subscription && municipalityName && (\r\n \r\n \r\n \r\n {municipalityName + txt('fullPost.municipality')}\r\n \r\n \r\n )}\r\n \r\n\r\n \r\n {item.title}\r\n \r\n\r\n {item.body.split('\\n\\n').map((paragraph, index) => (\r\n \r\n {paragraph}\r\n \r\n ))}\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n return \r\n }\r\n\r\nconst styles = StyleSheet.create({\r\n container: { flex: 1, ...SpacingStyles.widthAndHeight, padding: 12 },\r\n contentContainer: {\r\n padding: small ? 18 : 36,\r\n paddingTop: 0,\r\n margin: 6,\r\n alignSelf: 'center',\r\n marginTop: small ? 100 : 112,\r\n marginBottom: 20,\r\n width: '100%',\r\n maxWidth: 600,\r\n },\r\n infoContainer: {\r\n marginTop: 12,\r\n flex: 1,\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n infoItem: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n marginTop: 6,\r\n },\r\n title: {\r\n marginTop: 24,\r\n },\r\n body: {\r\n marginTop: 6,\r\n },\r\n actionContainer: {\r\n position: 'absolute',\r\n right: small ? 18 : 24,\r\n top: small ? 18 : 24,\r\n },\r\n icon: { marginRight: 4 },\r\n imageContainer: {\r\n flex: 1,\r\n flexDirection: 'row',\r\n marginTop: small ? -100 : -112,\r\n },\r\n messageButton: {\r\n marginTop: small ? 24 : 36,\r\n marginBottom: 8,\r\n },\r\n})\r\n","import React from 'react'\r\nimport Post from '../../components/views/Post/Post'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { useNavigation } from \"@react-navigation/core\"\r\nimport { StackActions } from \"@react-navigation/native\"\r\n\r\nexport default function PostScreen(props) {\r\n const navigation = useNavigation()\r\n\r\n const navigateToConversation = (conversationId) => {\r\n navigation.navigate('Conversation', {\r\n id: conversationId,\r\n })\r\n }\r\n\r\n const navigateToNewConversation = (item) => {\r\n navigation.navigate('Conversation', {\r\n id: 'new',\r\n receiverId: item.user_id,\r\n boblId: item.id,\r\n })\r\n }\r\n\r\n const navigateToFrontpage = () => {\r\n navigation.navigate('Frontpage')\r\n }\r\n\r\n const navigateToEditPost = (id) => {\r\n const action = StackActions.replace('EditPost', { id })\r\n navigation.dispatch(action)\r\n }\r\n\r\n return (\r\n \r\n navigation.navigate('Home')}\r\n navigateToEditPost={navigateToEditPost}\r\n />\r\n \r\n )\r\n}\r\n","import { StyleSheet, Text, View } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport React from 'react'\r\n\r\nexport function NotificationBadge({number, style}) {\r\n return (\r\n \r\n \r\n {number}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n minWidth: 18,\r\n height: 18,\r\n paddingHorizontal: 4,\r\n borderRadius: 10,\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n backgroundColor: Colors.badgeColor,\r\n },\r\n number: {\r\n fontSize: 12,\r\n color: Colors.white,\r\n }\r\n})","import Colors from '../../constants/Colors'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport React, { useState } from 'react'\r\nimport { NotificationBadge } from '../icons/NotificationBadge'\r\nimport NormalIcon, { BoblbergIcon } from '../icons/NormalIcon'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport default function ListItem(props) {\r\n const [focus, setfocus] = useState(false)\r\n\r\n function insertIcon() {\r\n if (props.item.icon) {\r\n if (props.item.icon.boblbergIcon) {\r\n return (\r\n \r\n )\r\n } else {\r\n return (\r\n \r\n )\r\n }\r\n }\r\n }\r\n return (\r\n <>\r\n setfocus(true)}\r\n onMouseLeave={() => setfocus(false)}\r\n >\r\n \r\n {insertIcon()}\r\n {props.item.title && (\r\n {props.item.title}\r\n )}\r\n {props.item.body}\r\n \r\n {!!props.badge && }\r\n \r\n {!props.last && }\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n horizontalLine: {\r\n backgroundColor: Colors.blackTransparent,\r\n height: 1,\r\n },\r\n iconContainer: {\r\n marginRight: 20,\r\n },\r\n iconTextContainer: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n item: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n paddingHorizontal: 20,\r\n paddingVertical: 16,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { StyleSheet } from 'react-native'\r\nimport ListItem from './ListItem'\r\nimport Card from '../Card'\r\n\r\nexport default class OptionsList extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.data.map((item, i) => (\r\n \r\n ))}\r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n margin: 12,\r\n },\r\n})\r\n","// This document contains (T)Titles and (MD)MetaDescriptions, primarly for SEO purposes\r\nexport default {\r\n // [Danish, English]\r\n // Current language, TODO: make into function and get from AsyncStorage/DB\r\n\r\n lang: 0,\r\n frontpage: {\r\n title: ['Boblberg.dk | En digital platform for fællesskaber'],\r\n },\r\n login: {\r\n title: ['Log ind | Boblberg.dk'],\r\n },\r\n resetPassword: {\r\n title: ['Nulstil adgangskode | Boblberg.dk'],\r\n },\r\n home: {\r\n title: ['Bobl oversigt | Boblberg.dk'],\r\n },\r\n inbox: {\r\n title: ['Besked oversigt | Boblberg.dk'],\r\n },\r\n createPost: {\r\n title: ['Opret bobl | Boblberg.dk'],\r\n },\r\n stackMenu: {\r\n title: ['Menu | Boblberg.dk'],\r\n },\r\n favorites: {\r\n title: ['Favoritter | Boblberg.dk'],\r\n },\r\n myPosts: {\r\n title: ['Mine bobler | Boblberg.dk'],\r\n },\r\n snakSammen: {\r\n title: ['SnakSammen | Boblberg.dk'],\r\n md: [\r\n 'SnakSammen er en snak mellem to mennesker. En frivillig samtaleven fra Røde Kors og dig. I kan snakke om alt: om fælles interesser, om dagens begivenheder og dagens nyheder. Eller lidt om familie, hverdagen eller oplevelser. De frivillige samtalevenner er bare helt almindelige mennesker, og hverken rådgivere eller eksperter.',\r\n ],\r\n },\r\n learnDanish: {\r\n title: ['Sprogland | Boblberg.dk'],\r\n md: [\r\n 'Sprogland.dk - her har du mulighed for at træne dansk med frivillige fra Røde Kors. I kan for eksempel træne ”hverdagsdansk” eller du kan få hjælp til at øve ord og udtale.',\r\n ],\r\n },\r\n stories: {\r\n title: ['Historier fra medlemmer | Boblberg.dk'],\r\n md: [\r\n 'Her kan du læse nogle af de gode historier, erfaringer og oplevelser som medlemmer har haft igennem Boblberg.dk. Fælles for historierne er at de er skabt ud fra oprettede bobler og kontakt med andre medlemmer. Her er fokus på de gode oplevelser og fællesskaber, som man har mulighed for at blive en del af gennem Boblberg.',\r\n ],\r\n },\r\n story: {\r\n md: [\r\n 'Her kan du læse nogle af de gode historier, erfaringer og oplevelser som medlemmer har haft igennem Boblberg.dk. Fælles for historierne er at de er skabt ud fra oprettede bobler og kontakt med andre medlemmer.',\r\n ],\r\n },\r\n about: {\r\n title: ['Om Boblberg | Boblberg.dk'],\r\n md: [\r\n 'På denne oversigtsside kan du blive guidet videre rundt til forskellige undersider, med mere information om Boblberg og hvad du kan bruge det til.',\r\n ],\r\n },\r\n contact: {\r\n title: ['Kontakt os, support og vejledning | Boblberg.dk'],\r\n md: [\r\n 'Find kontaktinformation til vores support, som du altid er velkommen til at skrive til. Find svar på de oftest stillede spørgsmål, se vores betingelser, privatlivspolitik og cookiepolitik.',\r\n ],\r\n },\r\n help: {\r\n title: ['Hjælp og info | Boblberg.dk'],\r\n md: [\r\n 'På siden hjælp og vejledning kan du finde svar på de mest stillede spørgsmål omkring Boblberg. Få blandt andet råd til, hvordan du opretter en god bobl.',\r\n ],\r\n },\r\n conditions: {\r\n title: ['Betingelser | Boblberg.dk'],\r\n },\r\n profile: {\r\n title: ['Min profil | Boblberg.dk'],\r\n },\r\n partners: {\r\n title: ['Samarbejdspartnere | Boblberg.dk'],\r\n md: [\r\n 'Boblberg samarbejder med en lang række organisationer og foreninger om at styrke den fysiske, mentale og sociale sundhed. Sammen kæmper vi for at skabe et sundere og bedre liv for alle, så menneskers trivsel og livskvalitet øges og samskabelsen fremmes.',\r\n ],\r\n },\r\n subjects: {\r\n title: ['Emner | Boblberg.dk'],\r\n md: [\r\n 'Her finder du en oversigt over hvilke emner Boblberg blandt andet kan bruges til. Du kan bruge listen til at blive inspireret til hvordan du kan bruge Boblberg, og læse hvordan andre har brugt siden inden',\r\n ],\r\n },\r\n press: {\r\n title: ['Presse - Omtale i medierne, nyheder, tv og radio | Boblberg.dk'],\r\n md: [\r\n 'Ønsker du at se den omtale der har været af Boblberg i pressen? Her på siden kan du finde et bredt udvalg af artikler, tv-indslag og radioindslag, som er bragt om Boblberg i pressen',\r\n ],\r\n },\r\n blog: {\r\n title: ['Blog | Boblberg.dk'],\r\n md: [\r\n 'På Boblbergs blog samler vi spændende og hjælpsomme indlæg. Her på siden kan du finde forskellige blog indlæg omkring alverdens emner, som har at gøre med noget af alt det, som kan findes på Boblberg.',\r\n ],\r\n },\r\n projects: {\r\n title: ['Projekter | Boblberg.dk'],\r\n md: [\r\n 'Læs om de projekter Boblberg er en del af, sammen med forskellige kommuner og oganisationer, inden for emner som mental sundhed og demens',\r\n ],\r\n },\r\n arrangements: {\r\n title: ['Arrangementer | Boblberg.dk'],\r\n md: [\r\n 'Boblberg deltager i et bredt udvalg af arrangementer. Her har du mulighed for at se nogle af de arrangementer vi tidligere har deltaget ved.',\r\n ],\r\n },\r\n faellesskabsprisen: {\r\n title: ['Fællesskabsprisen | Boblberg.dk'],\r\n md: [\r\n 'Hele konceptet hos Boblberg er, at skabe sammenhold, relationer og ikke mindst fællesskaber. Derfor er vi selvfølgelig også rigtig stolte over at modtage Fællesskabsprisen 2019.',\r\n ],\r\n },\r\n municipalityInfo: {\r\n title: ['Info til kommuner | Boblberg.dk'],\r\n md: [\r\n 'Sammen med kommunerne arbejder Boblberg på at højne og fremme et mangfoldigt fritidsliv, som styrker de sociale fællesskaber i de enkelte kommuner.',\r\n ],\r\n },\r\n aboutUs: {\r\n title: ['Om os | Boblberg.dk'],\r\n md: ['Her på siden kan du se hvem der er en del af teamet hos Boblberg'],\r\n },\r\n unions: {\r\n title: ['Foreningsoversigt | Boblberg.dk'],\r\n },\r\n groups: {\r\n title: ['Grupper | Boblberg.dk'],\r\n md: [\r\n 'Gruppemodulet på Boblberg.dk gør det mulig at samle mennesker, i lukkede grupper, hvor de kan dele viden og kommunikerer sammen',\r\n ],\r\n },\r\n myGroups: {\r\n title: ['Mine grupper | Boblberg.dk'],\r\n },\r\n allGroups: {\r\n title: ['Alle grupper | Boblberg.dk'],\r\n },\r\n createGroup: {\r\n title: ['Opret gruppe | Boblberg.dk'],\r\n },\r\n activities: {\r\n title: ['Aktivitetsoversigt | Boblberg.dk'],\r\n },\r\n activitiesFavorites: {\r\n title: ['Aktiviteter Favoritter | Boblberg.dk'],\r\n },\r\n activitiesIntro: {\r\n title: ['Aktiviteter | Boblberg.dk'],\r\n md: ['Her kan du finde en oversigt over de aktiviteter, der finder sted i dit nærområde.'],\r\n },\r\n unionsFavorites: {\r\n title: ['Foreninger Favoritter | Boblberg.dk'],\r\n },\r\n conversation: {\r\n title: ['Samtale | Boblberg.dk'],\r\n },\r\n events: {\r\n title: ['Eventoversigt | Boblberg.dk'],\r\n },\r\n}\r\n","import { setUserUniverses } from '../../redux/actions'\r\nimport store from '../../redux/store'\r\nimport { apiGet, apiPost, apiPut } from './ApiRequest'\r\nimport { updateUserPreferences } from './User'\r\n\r\nexport async function joinUniverseById(universeId) {\r\n try {\r\n let result = await apiPost({}, `universe/join/${universeId}`)\r\n result = await result.json()\r\n store.dispatch(setUserUniverses([result.universe]))\r\n if (![10, 14].includes(universeId)) {\r\n await updateUserPreferences({ default_universe: universeId })\r\n }\r\n return true\r\n } catch {\r\n return false\r\n }\r\n}\r\n\r\nexport async function updateUniverseProfile(universeId, profile) {\r\n const body = {\r\n division: profile.division,\r\n subDivision: profile.subDivision || null,\r\n }\r\n let res = await apiPut(body, `universe/${universeId}/profiles`)\r\n return res.ok ? res.json() : null\r\n}\r\n\r\nexport async function getUniverseProfile(universeId) {\r\n return apiGet(`universe/${universeId}/profiles`)\r\n}\r\n\r\n// TODO: delete below and use function above instead\r\nexport async function isUniversitySet(universeId) {\r\n const res = await apiGet(`universe/university/${universeId}`)\r\n if (!res) return\r\n return res.universityIsSet\r\n}\r\n\r\nexport async function setUniversity(university) {\r\n let res = await apiPost({}, `universe/${university}`)\r\n if (!res) return\r\n return res\r\n}\r\n","import * as WebBrowser from 'expo-web-browser'\r\nimport { Platform } from 'react-native'\r\n\r\nexport async function URLOpener(url) {\r\n if (Platform.OS === 'web') {\r\n window.open(url, '_blank')\r\n } else {\r\n url = url.replace('å', '%c3%a5').replace('æ', '%c3%a6').replace('ø', '%c3%b8')\r\n return WebBrowser.openBrowserAsync(url, {\r\n toolbarColor: '#dceef3',\r\n enableBarCollapsing: true,\r\n })\r\n }\r\n}\r\n\r\nexport function formatURL(url) {\r\n if (url.startsWith('http') || url === '') return url\r\n else return 'http://' + url\r\n}\r\n","import store from '../../redux/store'\r\nimport { apiGet } from './ApiRequest'\r\n\r\nexport async function isUserVolunteer() {\r\n const userId = store.getState().user.id\r\n return await apiGet(`volunteers/${userId}`)\r\n}\r\n\r\nexport async function getVolunteerAccess(service) {\r\n return await apiGet(`volunteers/${service}`)\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { View, StyleSheet, Platform } from 'react-native'\r\nimport * as Application from 'expo-application'\r\n\r\nimport OptionsList from '../../components/lists/OptionsList'\r\nimport TxtTMD from '../../constants/TxtTMD'\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { useSelector } from 'react-redux'\r\nimport { txt } from '../../locales/i18n'\r\nimport { selectUnreadGroupMessages } from '../../redux/selectors'\r\nimport layout from '../../constants/Layout'\r\nimport { getExtraTabs } from '../../navigation/MenuConfig'\r\nimport { joinUniverseById } from '../../services/api/Universe'\r\nimport { Features } from '../../constants/Features'\r\nimport { getRegion } from '../../services/localization'\r\nimport { URLOpener } from \"../../utils/URLOpener\"\r\nimport Paths from \"../../constants/Paths\"\r\nimport { handlePaymentClick } from \"../../utils/handlePaymentClick\"\r\nimport { getVolunteerAccess } from \"../../services/api/volunteerApi\"\r\n\r\nexport default function StackMenuScreen(props) {\r\n\tconst [data, setData] = useState([])\r\n\tconst universes = useSelector((state) => state.user?.universes)\r\n\tconst features = useSelector((state) => state.user?.features)\r\n\tconst joinedGroups = useSelector((state) => state?.groups)\r\n\tconst groupsBadge = useSelector(selectUnreadGroupMessages)\r\n\tconst extraTabs = getExtraTabs(features, joinedGroups?.length ?? 0)\r\n\tconst region = getRegion()\r\n\r\n\tconst handleOpenSubscriptionPage = async () => {\r\n\t\tawait handlePaymentClick({ origin: 'menu-item' })\r\n\t}\r\n\r\n\tconst handleOpenWhatIsBoblberg = async () => {\r\n\t\tconst url = Paths.getBaseUrl()\r\n\t\tconst page = region === 'de' ? url + '/was-ist-boblberg' : region === 'se' ? url + '/vad-ar-boblberg' : url + '/hvad-er-boblberg'\r\n\t\tawait URLOpener(page)\r\n\t}\r\n\r\n\tconst navigateToWhatIsBoblberg = () => {\r\n\t\tconst nativeApplicationVersion = Application.nativeApplicationVersion\r\n\r\n\t\tif (nativeApplicationVersion === '4.4.0' || nativeApplicationVersion === '5.0.0' || Platform.OS === 'web') {\r\n\t\t\treturn props.navigation.navigate('WhatIsBoblberg')\r\n\t\t}\r\n\r\n\t\treturn handleOpenWhatIsBoblberg()\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tconst stackList = [\r\n\t\t\t{\r\n\t\t\t\tbody: txt('videoChat.title'),\r\n\t\t\t\ticon: { name: \"comments\" },\r\n\t\t\t\tonPress: async () => {\r\n\t\t\t\tconst isVolunteer = await getVolunteerAccess('snaksammen') ?? false\r\n\t\t\t\tconst isWeb = Platform.OS === 'web'\r\n\t\t\t\tif (isVolunteer?.isVolunteer) return props.navigation.navigate('SnakSammenVolunteer')\r\n\r\n\t\t\t\tif (isWeb === true) return window.location.replace(Paths.getBaseUrl() + 'snaksammen')\r\n\t\t\t\tprops.navigation.navigate('SnakSammen')\r\n\t\t\t\t},\r\n\t\t\t\thide: region !== 'dk',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tbody: txt('learnDanish.title'),\r\n\t\t\t\ticon: { name: \"globe-europe\" },\r\n\t\t\t\tonPress: () => props.navigation.navigate('LearnDanish'),\r\n\t\t\t\thide: region !== 'dk',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tbody: txt('stackMenu.stories'),\r\n\t\t\t\ticon: { name: \"book-open\" },\r\n\t\t\t\tonPress: () => props.navigation.navigate('Stories'),\r\n\t\t\t\thide: region !== 'dk',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tbody: txt('about.title'),\r\n\t\t\t\ticon: { name: \"bobl\", boblbergIcon: true },\r\n\t\t\t\tonPress: () => props.navigation.navigate('About'),\r\n\t\t\t\thide: region !== 'dk',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tbody: txt('contact.title'),\r\n\t\t\t\ticon: { name: \"info-circle\" },\r\n\t\t\t\tonPress: () => props.navigation.navigate('Contact'),\r\n\t\t\t\thide: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tbody: txt('profile.title'),\r\n\t\t\t\ticon: { name: \"user\" },\r\n\t\t\t\tonPress: () => props.navigation.navigate('Profile'),\r\n\t\t\t\thide: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tbody: txt('settings.title'),\r\n\t\t\t\ticon: { name: \"cog\" },\r\n\t\t\t\tonPress: () => props.navigation.navigate('Settings'),\r\n\t\t\t\thide: false,\r\n\t\t\t},\r\n\t\t]\r\n\r\n\t\tif (Platform.OS === 'web') {\r\n\t\t\tconst cookieButton = {\r\n\t\t\t\tbody: txt('cookieLabel'),\r\n\t\t\t\tonPress: () => showCookieBanner(),\r\n\t\t\t\ticon: { name: \"cookie-bite\" },\r\n\t\t\t\thide: false,\r\n\t\t\t}\r\n\r\n\t\t\tstackList.splice(stackList.length - 2, 0, cookieButton)\r\n\t\t}\r\n\r\n\t\tif (extraTabs.includes('groups') === false) {\r\n\t\t\tstackList.unshift({\r\n\t\t\t\tbadge: groupsBadge,\r\n\t\t\t\tbody: txt('groups.title'),\r\n\t\t\t\ticon: { name: \"users\" },\r\n\t\t\t\tonPress: () => props.navigation.navigate('Groups'),\r\n\t\t\t\thide: region !== 'dk',\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tif (extraTabs.includes('activities') === false && features.includes(Features.SEARCH_ACTIVITIES)) {\r\n\t\t\tstackList.unshift({\r\n\t\t\t\tbody: txt('activities.title'),\r\n\t\t\t\ticon: { name: \"calendar-day\" },\r\n\t\t\t\tonPress: () => props.navigation.navigate('Activities'),\r\n\t\t\t\thide: region !== 'dk',\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tif (extraTabs.includes('unions') === false) {\r\n\t\t\tstackList.unshift({\r\n\t\t\t\tbody: txt('unions.title'),\r\n\t\t\t\ticon: { name: \"users-class\" },\r\n\t\t\t\tonPress: () => props.navigation.navigate('Unions'),\r\n\t\t\t\thide: region !== 'dk',\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tif (extraTabs.includes('events') === false) {\r\n\t\t\tstackList.unshift({\r\n\t\t\t\tbody: txt('events.title'),\r\n\t\t\t\ticon: { name: \"calendar-star\" },\r\n\t\t\t\tonPress: () => props.navigation.navigate('Events'),\r\n\t\t\t\thide: region !== 'dk',\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tif (!features.includes(1)) {\r\n\t\t\tstackList.unshift({\r\n\t\t\t\tbody: txt('subscription.title'),\r\n\t\t\t\tonPress: handleOpenSubscriptionPage,\r\n\t\t\t\ticon: { name: \"plus-circle\" },\r\n\t\t\t\thide: false,\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tstackList.unshift({\r\n\t\t\tbody: txt('stackMenu.whatIs'),\r\n\t\t\tonPress: navigateToWhatIsBoblberg,\r\n\t\t\ticon: { name: \"question-circle\" },\r\n\t\t\thide: false,\r\n\t\t})\r\n\r\n\t\tuniverses?.forEach((universe) => {\r\n\t\t\tconst newYearUniverses = ['nytaarsvenner', 'nyarsvanner']\r\n\t\t\tif (newYearUniverses.includes(universe.name)) return\r\n\r\n\t\t\tstackList.unshift({\r\n\t\t\t\tbody: txt('boblberg.goTo') + universe.title,\r\n\t\t\t\ticon: { name: \"bubbles\", boblbergIcon: true },\r\n\t\t\t\thide: region !== 'dk',\r\n\t\t\t\tonPress: () => {\r\n\t\t\t\t\tprops.navigation.push('universe', {\r\n\t\t\t\t\t\tscreen: 'UniverseBoblStack',\r\n\t\t\t\t\t\tparams: { universe: universe.name },\r\n\t\t\t\t\t})\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t})\r\n\r\n\t\tstackList.unshift({\r\n\t\t\tbody: txt('stackMenu.nytaarsvenner'),\r\n\t\t\thide: region !== 'dk',\r\n\t\t\tonPress: async () => {\r\n\t\t\t\tconst universe = universes.find((uni) => uni.name === 'nytaarsvenner')\r\n\t\t\t\tif (!universe) await joinUniverseById(10)\r\n\t\t\t\tprops.navigation.navigate('universe', {\r\n\t\t\t\t\tscreen: 'UniverseBoblStack',\r\n\t\t\t\t\tparams: {\r\n\t\t\t\t\t\tscreen: 'Universe',\r\n\t\t\t\t\t\tinitial: true,\r\n\t\t\t\t\t\tparams: { universe: 'nytaarsvenner' },\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\ticon: { name: \"glass-cheers\" },\r\n\t\t})\r\n\r\n\t\tstackList.unshift({\r\n\t\t\tbody: txt('stackMenu.nytaarsvenner'),\r\n\t\t\thide: region !== 'se',\r\n\t\t\tonPress: async () => {\r\n\t\t\t\tconst universe = universes.find((uni) => uni.name === 'nyarsvanner')\r\n\t\t\t\tif (!universe) await joinUniverseById(14)\r\n\t\t\t\tprops.navigation.navigate('universe', {\r\n\t\t\t\t\tscreen: 'UniverseBoblStack',\r\n\t\t\t\t\tparams: {\r\n\t\t\t\t\t\tscreen: 'Universe',\r\n\t\t\t\t\t\tinitial: true,\r\n\t\t\t\t\t\tparams: { universe: 'nyarsvanner' },\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\ticon: { name: \"glass-cheers\" },\r\n\t\t})\r\n\r\n\t\tstackList.unshift({\r\n\t\t\tbody: txt('christmasFriends.title'),\r\n\t\t\tonPress: () => props.navigation.navigate('christmasFriends'),\r\n\t\t\ticon: { name: \"hat-santa\" },\r\n\t\t\thide: region !== 'dk',\r\n\t\t})\r\n\r\n\t\tsetData(stackList)\r\n\t}, [universes, props.navigation, features, joinedGroups, groupsBadge])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t options.hide === false)} />\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: {\r\n\t\talignSelf: 'center',\r\n\t\twidth: '100%',\r\n\t\tmaxWidth: layout.maxFeedWidth,\r\n\t},\r\n})\r\n","import { apiPost, apiGet, apiPut, apiDelete } from './ApiRequest'\r\nimport store from '../../redux/store'\r\nimport AsyncStorage from '@react-native-async-storage/async-storage'\r\nimport { txt } from '../../locales/i18n'\r\n\r\n// Used if no stopLoading function passed to functions\r\nconst setLoadingFunc = () => {\r\n if (__DEV__) console.log('No setLoadingFunc passed')\r\n}\r\nexport async function getActivities({ search, skip, amount, date, categories, mapBounds, universeId, municipality }) {\r\n const urlQueryParams = {}\r\n\r\n if (universeId !== undefined) urlQueryParams.universeId = universeId\r\n if (amount !== undefined) urlQueryParams.amount = amount\r\n if (skip !== undefined) urlQueryParams.skip = skip\r\n if (search !== undefined) urlQueryParams.search = search\r\n if (date !== undefined) urlQueryParams.date = date.toISOString()\r\n if (municipality !== 'all' && municipality !== 'undefined') urlQueryParams.municipalityId = municipality\r\n\r\n if (categories?.length > 0) {\r\n urlQueryParams.categories = categories.toString()\r\n }\r\n\r\n if (mapBounds !== null) {\r\n urlQueryParams.neLat = mapBounds.ne.lat\r\n urlQueryParams.neLng = mapBounds.ne.lng\r\n urlQueryParams.swLat = mapBounds.sw.lat\r\n urlQueryParams.swLng = mapBounds.sw.lng\r\n }\r\n\r\n const urlQuery = Object.entries(urlQueryParams).map(([key, value]) => {\r\n return key + '=' + value\r\n })\r\n\r\n const { result } = await apiGet('activities/search?' + urlQuery.join('&'))\r\n return result ?? { activities: [], pins: [] }\r\n}\r\n\r\nexport async function getFullActivity(activityId) {\r\n if (!activityId) return\r\n const res = await apiGet(`activities/activity/${activityId}`)\r\n if (!res.data[0]) return\r\n return res.data[0]\r\n}\r\n\r\nexport async function createActivity(data) {\r\n const res = await apiPost(data, 'activities/createActivity')\r\n const resJson = await res.json()\r\n if (!resJson.data) return\r\n return resJson.data[0]\r\n}\r\n\r\nexport async function updateActivity(data) {\r\n const res = await apiPut(data, `activities/updateActivity/${data.id}`)\r\n return res.ok\r\n}\r\n\r\nexport async function getOwnActivities() {\r\n const res = await apiGet(`activities/getOwnActivities`)\r\n if (!res.activities) return\r\n return res.activities\r\n}\r\n\r\nexport async function deleteActivity(activityId, universeId) {\r\n const res = await apiDelete({ universeId }, `activities/deleteActivity/${activityId}`)\r\n return res.json()\r\n}\r\n\r\nexport async function getHasAccessToActivities(setLoading = setLoadingFunc) {\r\n return apiGet('activities/getHasAccessToActivities')\r\n .then((res) => {\r\n return res.data[0]\r\n })\r\n .catch((error) => {\r\n if (__DEV__) console.error(error)\r\n setLoading(false)\r\n })\r\n}\r\n\r\nexport async function setActivityFavorite(activity) {\r\n const user = store.getState().user\r\n if (user) {\r\n const res = await apiPost({}, `activities/${activity.id}/favorite`)\r\n const result = await res.json()\r\n return result.data.is_favorite\r\n } else {\r\n const activities = JSON.parse(await AsyncStorage.getItem('favoriteActivities')) || []\r\n activities.push(activity)\r\n AsyncStorage.setItem('favoriteActivities', JSON.stringify(activities))\r\n }\r\n}\r\n\r\nexport async function removeActivityFavorite(activity) {\r\n const user = store.getState().user\r\n if (user) {\r\n const res = await apiDelete({}, `activities/${activity.id}/favorite`)\r\n const result = await res.json()\r\n return result.data.is_favorite\r\n } else {\r\n let activities = JSON.parse(await AsyncStorage.getItem('favoriteActivities')) || []\r\n activities = activities.filter((a) => a.id !== activity.id)\r\n AsyncStorage.setItem('favoriteActivities', JSON.stringify(activities))\r\n }\r\n}\r\n\r\nexport async function getFavoriteActivities() {\r\n const user = store.getState().user\r\n if (user) {\r\n const res = await apiGet(`activities/favorites`)\r\n return res.activities\r\n } else {\r\n return JSON.parse(await AsyncStorage.getItem('favoriteActivities')) || []\r\n }\r\n}\r\n\r\nexport async function getCategories(universe = null) {\r\n\tconst query = new URLSearchParams();\r\n\tif (universe !== null) query.append('universe', universe)\r\n\r\n\tconst categories = await apiGet('activities/categories?' + query.toString())\r\n\tif (categories === undefined) return []\r\n\r\n\tcategories.forEach((category) => {\r\n\t\tcategory.name = txt(`activities.categoryList.${category.name}`)\r\n\t});\r\n\r\n\treturn categories\r\n}","import { Platform } from 'react-native'\r\nimport { Linking } from 'react-native'\r\n\r\nexport function openMap(address, postalCode) {\r\n address = `${address}, ${postalCode ? postalCode : ''}`\r\n const url = Platform.select({\r\n ios: `http://maps.apple.com/?q=${address}`,\r\n android: `geo:0,0?q=${address}`,\r\n web: `https://www.google.dk/maps/place/${address}`,\r\n })\r\n\r\n if (Platform.OS === 'web') window.open(url, '_blank')\r\n else Linking.openURL(url)\r\n}\r\n","/* eslint-disable react-native/no-raw-text */\r\nimport React from 'react'\r\nimport { View, StyleSheet, Image, Dimensions } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ImageHighlight } from '../../images/ImageHighlight'\r\nimport {\r\n getFavoriteActivities,\r\n getFullActivity,\r\n removeActivityFavorite,\r\n setActivityFavorite,\r\n} from '../../../services/api/Activities'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport { formatForMetaTitle, formatForSeoBody } from '../../text/TextFormatter'\r\nimport PageTitle from '../../tags/PageTitle'\r\nimport moment from 'moment'\r\nimport Paths from '../../../constants/Paths'\r\nimport Colors from '../../../constants/Colors'\r\nimport FavoriteIndicator from '../../headers/FavoriteIndicator'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Logo from '../../../assets/images/icon.png'\r\nimport mapImgWeb from '../../../assets/images/Google_maps_web.png'\r\nimport { URLOpener, formatURL } from '../../../utils/URLOpener'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { openMap } from '../../../utils/openMap'\r\nimport store from '../../../redux/store'\r\nimport Card from '../../Card'\r\nimport ReportContent from '../../callToActions/reportContent'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nconst small = Dimensions.get('window').width < 500\r\n\r\nexport default class Activity extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n moment.locale([txt('videoChat.locale')])\r\n\r\n this.state = {\r\n loading: true,\r\n item: {\r\n id: 0,\r\n user_id: null,\r\n title: '',\r\n body: '',\r\n organizer: '',\r\n location: '',\r\n address: '',\r\n ticket_price: 0,\r\n url: '',\r\n img_id: 0,\r\n image_filename: '',\r\n municipality_id: 0,\r\n status_id: 0,\r\n created: '',\r\n recurring: null,\r\n city: '',\r\n postal_code: null,\r\n is_favorite: 0,\r\n },\r\n showOtherDates: false,\r\n favIconHighlight: false,\r\n startDate: null,\r\n endDate: null,\r\n }\r\n }\r\n\r\n async componentDidMount() {\r\n if (this.state.loading) {\r\n const activity = await getFullActivity(this.props.id)\r\n const user = store.getState().user\r\n const own_id = user?.id\r\n\r\n // Check if activity is favorit when not logged in\r\n if (!user) {\r\n const favorites = await getFavoriteActivities()\r\n activity.is_favorite = favorites.find(a => a.id === activity.id) ? 1 : 0\r\n }\r\n\r\n this.setState({ own_id, item: activity, loading: false })\r\n\r\n own_id && activity.user_id !== own_id && this.props.navigation.setOptions({\r\n headerRight: () => ,\r\n })\r\n\r\n this.unsubscribe = this.props.navigation.addListener('focus', async () => {\r\n const item = await getFullActivity(this.props.id)\r\n this.setState({ item })\r\n })\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.unsubscribe?.()\r\n }\r\n\r\n setLoading = (loading) => this.setState({ loading })\r\n\r\n setActivity = (data) => this.setState({ item: data, loading: false })\r\n\r\n getDateString(dateStart, dateEnd) {\r\n return `${this.formatDate(dateStart, false)} - ${this.formatDate(dateEnd, true)}`\r\n }\r\n\r\n formatDate(date, isEndDate) {\r\n if (date === null) return\r\n if (isEndDate) return moment(date).format('LT')\r\n return moment(date).format('llll')\r\n }\r\n\r\n toggleFavorite = async () => {\r\n const { item } = this.state\r\n if (!item.is_favorite) {\r\n await setActivityFavorite(item)\r\n } else {\r\n await removeActivityFavorite(item)\r\n }\r\n\r\n await this.setState((state) => ({\r\n item: {\r\n ...state.item,\r\n is_favorite: !item.is_favorite,\r\n },\r\n }))\r\n }\r\n\r\n toggleOtherDates = () => {\r\n const showOtherDates = !this.state.showOtherDates\r\n this.setState({ showOtherDates })\r\n }\r\n\r\n render() {\r\n const { item } = this.state\r\n const ownId = item.user_id == this.state?.own_id\r\n if (!this.state.loading) {\r\n return (\r\n \r\n \r\n \r\n \r\n {item.img_id ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n \r\n {ownId ? (\r\n this.props.navigateToEditActivity(item.id)}\r\n accessibilityRole=\"button\"\r\n accessibilityLabel={txt('activities.edit.title')}\r\n >\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n\r\n \r\n {item.title}\r\n \r\n\r\n \r\n \r\n \r\n \r\n {this.getDateString(this.props.route.params.date, item.dates[0].end)}\r\n \r\n \r\n\r\n {this.state.item.dates.length > 1 && (\r\n \r\n \r\n {txt('activities.otherDates')}\r\n \r\n )}\r\n {this.state.showOtherDates &&\r\n this.state.item.dates.map((date, index) => {\r\n if (index === 0) return\r\n return (\r\n \r\n {this.getDateString(date.start, date.end)}\r\n \r\n )\r\n })}\r\n \r\n\r\n {item.body}\r\n\r\n \r\n {item.organizer !== '' && (\r\n \r\n \r\n {item.organizer}\r\n \r\n )}\r\n\r\n {item.ticket_price !== null && (\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {item.location !== null && item.location !== '' && (\r\n \r\n \r\n {item.location}\r\n \r\n )}\r\n \r\n\r\n {item.address !== null && item.address !== '' && (\r\n openMap(item.address, item.postal_code)}\r\n >\r\n \r\n \r\n )}\r\n\r\n \r\n {item.address !== '' && item.address !== null && (\r\n openMap(item.address, item.postal_code)} style={styles.flex}>\r\n \r\n \r\n\r\n \r\n {item.address}\r\n {!!item.postal_code && `, ${item.postal_code}`}\r\n {!!item.city && item.city !== '' && ` ${item.city}`}\r\n \r\n \r\n \r\n )}\r\n \r\n {item.url !== null && item.url !== '' && (\r\n \r\n \r\n URLOpener(formatURL(item.url))}\r\n style={{ maxWidth: '100%' }}\r\n >\r\n \r\n {item.url}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n }\r\n\r\n return \r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n margin: 12,\r\n padding: small ? 18 : 36,\r\n },\r\n title: {\r\n marginTop: 24,\r\n marginBottom: 6,\r\n },\r\n dateContainer: {\r\n marginBottom: 18,\r\n },\r\n favoriteContainer: {\r\n position: 'absolute',\r\n right: 0,\r\n top: 0,\r\n },\r\n flex: { flexGrow: 1, flex: 1 },\r\n flexCenter: { alignItems: 'center', flexDirection: 'row' },\r\n iconContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n marginBottom: 12,\r\n },\r\n iconMargin: { marginRight: 6 },\r\n infoContainer: {\r\n flex: 1,\r\n marginBottom: 12,\r\n },\r\n mapImg: { borderRadius: 10, height: 100, marginBottom: 12, width: '100%' },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport Activity from '../../components/views/Activities/Activity'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\n\r\nexport default class ActivityScreen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n navigateToEditActivity = (activityId) => {\r\n this.props.navigation.navigate('EditActivity', {\r\n id: activityId,\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","import React from 'react'\r\nimport CreateEditPost from '../../components/views/Post/CreateEditPost'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { getFullPost, updatePost, deletePost } from '../../services/api/Posts'\r\nimport { txt } from '../../locales/i18n'\r\n\r\nexport default function EditPostScreen(props) {\r\n function navigateToMyPosts() {\r\n props.navigation.replace('Home', {\r\n chip: txt('posts.chipParams.mine'),\r\n })\r\n }\r\n\r\n const getPost = async () => {\r\n return await getFullPost(props.route.params.id)\r\n }\r\n\r\n const editPost = async (postId, data) => {\r\n return await updatePost(postId, data)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { Linking, Platform } from 'react-native'\r\nimport { StyleSheet } from 'react-native'\r\nimport * as Updates from 'expo-updates'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport Colors from '../../../constants/Colors'\r\nimport CustomDialog, {\r\n ActionButton,\r\n ContentContainer,\r\n} from '../../dialogs/CustomDialog'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\n\r\nexport function MunicipalityInfoDialog(props) {\r\n return (\r\n \r\n \r\n \r\n {txt('profile.dialogText')}\r\n Linking.openURL('mailto:' + txt('profile.support'))}>\r\n \r\n {txt('profile.support')}\r\n \r\n \r\n \r\n \r\n \r\n {txt('profile.dialog')}\r\n \r\n \r\n )\r\n}\r\n\r\nexport function LanguageChangedDialog(props) {\r\n return (\r\n \r\n \r\n {txt('settings.languageChangedText')}\r\n \r\n {txt('dialog.ok')}\r\n {props.children}\r\n \r\n )\r\n}\r\n\r\nexport const ReloadDialog = ({ visible }) => (\r\n\t\r\n\t\t\r\n\t\t\t{txt('profile.municipalityChangedTitle')}\r\n\t\t\t{txt('profile.municipalityChangedText1')}\r\n\t\t\t{txt('profile.municipalityChangedText2')}\r\n\t\t\t{txt('profile.municipalityChangedText3')}\r\n\t\t\t Platform.OS === 'web' ? window.location.reload() : Updates.reloadAsync()}\r\n\t\t\t\ttitle={txt('global.ok')}\r\n\t\t\t\ttitleStyle={{ paddingHorizontal: 12 }}\r\n\t\t\t\tstyle={{ backgroundColor: Colors.blueAzure}}\r\n\t\t\t/>\r\n\t\t\r\n\t\r\n)\r\n\r\nconst reloadStyles = StyleSheet.create({\r\n\tcontent: {\r\n\t\tgap: 12,\r\n\t}\r\n})\r\n\r\nconst styles = StyleSheet.create({\r\n linkText: {\r\n color: Colors.blue,\r\n },\r\n})\r\n","export default {\r\n // EXAMPLES PATTERNS\r\n // '^.{8,}$', // min 8 chars\r\n // '(?=.*\\\\d)', // number required\r\n // '(?=.*[A-Z])', // uppercase letters A-Z\r\n\r\n email: [\r\n '^.{5,}$', // min 5 chars\r\n '^(([^<>()[\\\\]\\\\.,;:\\\\s@\"]+(\\\\.[^<>()[\\\\]\\\\.,;:\\\\s@\"]+)*)|(\".+\"))@((\\\\[[0-9]{1,3}\\\\.[0-9]{1,3}\\\\.[0-9]{1,3}\\\\.[0-9]{1,3}\\\\])|(([a-zA-Z\\\\-0-9]+\\\\.)+[a-zA-Z]{2,}))$', // @ required\r\n ],\r\n username: '^.{2,}$', // min 2 chars\r\n password: '^.{4,}$', // min 4 chars\r\n}\r\n","import { Platform } from 'react-native'\r\nimport * as ImageManipulator from 'expo-image-manipulator'\r\n\r\nexport async function scaleImages(rawImages) {\r\n const images = await Promise.all(\r\n rawImages.map(async (image) => {\r\n return await scaleImage(image)\r\n })\r\n )\r\n return images\r\n}\r\n\r\nexport async function scaleImage(image) {\r\n const desiredSize = 1000 // 1000px\r\n const resize = image.width < image.height ? { height: desiredSize } : { width: desiredSize }\r\n const actions = [{ resize }]\r\n\r\n const options = {\r\n format: ImageManipulator.SaveFormat.JPEG,\r\n compress: 0.8,\r\n base64: true,\r\n }\r\n\r\n const scaledImage = await ImageManipulator.manipulateAsync(image.uri, actions, options)\r\n\r\n if (Platform.OS === 'web') return scaledImage\r\n\r\n scaledImage.base64 = 'data:image/jpeg;base64,' + scaledImage.base64\r\n return scaledImage\r\n}\r\n","import React, { forwardRef, useEffect, useImperativeHandle, useState } from 'react'\r\nimport PhoneInput, { parsePhoneNumber, isValidPhoneNumber } from 'react-phone-number-input'\r\nimport 'react-phone-number-input/style.css'\r\nimport './styles.css'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CornerStyles, ShadowStyles } from '../../../styles'\r\nimport ua from 'react-phone-number-input/locale/ua'\r\nimport fi from 'react-phone-number-input/locale/fi'\r\nimport fr from 'react-phone-number-input/locale/fr'\r\nimport sv from 'react-phone-number-input/locale/sv'\r\nimport da from './daCountries.json'\r\nimport { useSelector } from 'react-redux'\r\n\r\nconst langToLabels = {\r\n 'da': da,\r\n 'uk': ua,\r\n 'fr': fr,\r\n 'fi': fi,\r\n 'se': sv,\r\n}\r\n\r\nexport const PhoneNumberInput = forwardRef(({phoneNumber, setPhoneNumber, callCode, setCallCode, style, defaultCountryCode = 'DK', ...props}, ref) => {\r\n const [value, setValue] = useState(`+${callCode||45}${phoneNumber}`)\r\n const language = useSelector(state => state.user.language)\r\n const [labels, setLabels] = useState(undefined)\r\n\r\n useEffect(() => {\r\n const l = langToLabels[language] || undefined\r\n setLabels(l)\r\n }, [language])\r\n\r\n useEffect(() => {\r\n if (callCode === null) {\r\n setCallCode(45)\r\n }\r\n }, [])\r\n\r\n function isValid() {\r\n return isValidPhoneNumber(value) || phoneNumber.length === 0\r\n }\r\n\r\n useImperativeHandle(ref, () => ({ isValid }))\r\n\r\n function handleChange(val) {\r\n if (!val) {\r\n setPhoneNumber('')\r\n setCallCode('')\r\n return\r\n }\r\n const passedNumber = parsePhoneNumber(val)\r\n setValue(val)\r\n if (passedNumber) {\r\n setPhoneNumber(passedNumber.nationalNumber)\r\n setCallCode(passedNumber.countryCallingCode)\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n})\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n backgroundColor: Colors.white,\r\n paddingHorizontal: 16,\r\n minHeight: 40,\r\n ...CornerStyles.borderRadiusS,\r\n ...ShadowStyles.shadowInputs,\r\n }\r\n})\r\n","// From library react-native-modal-selector\r\n\r\n'use strict'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { View, Modal, FlatList, ScrollView, StyleSheet } from 'react-native'\r\nimport { CustomText } from \"../text/StyledText\"\r\nimport Colors from \"../../constants/Colors\"\r\nimport Layout from \"../../constants/Layout\"\r\nimport { txt } from \"../../locales/i18n\"\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\nimport { ShadowStyles } from \"../../styles\"\r\n\r\nconst PADDING = 10\r\nconst BORDER_RADIUS = 12\r\nconst FONT_SIZE = 17\r\n\r\nconst defaultProps = () => ({\r\n\tdata: [],\r\n\tonChange: item => {},\r\n\tonModalOpen: () => {},\r\n\tonModalClose: () => {},\r\n\tkeyExtractor: (item) => item && item.key,\r\n\tlabelExtractor: (item) => item && item.label,\r\n\tcomponentExtractor: (item) => item && item.component,\r\n\tlistType: 'SCROLLVIEW',\r\n\tvisible: false,\r\n\tcloseOnChange: true,\r\n\tinitValue: txt('global.select'),\r\n\tanimationType: 'fade',\r\n\tstyle: {},\r\n\tselectStyle: {},\r\n\tselectTextStyle: {},\r\n\toptionStyle: {},\r\n\toptionTextStyle: {},\r\n\toptionContainerStyle: {},\r\n\tsectionStyle: {},\r\n\tchildrenContainerStyle: {},\r\n\ttouchableStyle: {},\r\n\ttouchableActiveOpacity: 0.2,\r\n\tsectionTextStyle: {},\r\n\tselectedItemTextStyle: {},\r\n\tcancelContainerStyle: {},\r\n\tcancelStyle: {},\r\n\tcancelTextStyle: {},\r\n\toverlayStyle: {},\r\n\tinitValueTextStyle: {},\r\n\tcancelText: txt('global.close'),\r\n\tdisabled: false,\r\n\tsupportedOrientations: ['portrait', 'landscape'],\r\n\tkeyboardShouldPersistTaps: 'always',\r\n\tbackdropPressToClose: true,\r\n\topenButtonContainerAccessible: false,\r\n\tlistItemAccessible: false,\r\n\tcancelButtonAccessible: false,\r\n\tscrollViewAccessible: false,\r\n\tscrollViewAccessibilityLabel: \"\",\r\n\tcancelButtonAccessibilityLabel: \"\",\r\n\tpassThruProps: {},\r\n\tselectTextPassThruProps: {},\r\n\toptionTextPassThruProps: {},\r\n\tcancelTextPassThruProps: {},\r\n\tscrollViewPassThruProps: {},\r\n\tmodalOpenerHitSlop: { top: 0, bottom: 0, left: 0, right: 0 },\r\n\tcustomSelector: undefined,\r\n\tselectedKey: '',\r\n\toptionsTestIDPrefix: 'default',\r\n\theader: undefined,\r\n\tonEndReached: undefined,\r\n\trightElement: undefined,\r\n\tresetTrigger: undefined,\r\n})\r\n\r\nexport default function ModalSelectorCustom(props) {\r\n\r\n\tconst importedProps = {...defaultProps(), ...props}\r\n\r\n\tconst selectedItem = validateSelectedKey(importedProps.selectedKey)\r\n\tconst [modalVisible, setModalVisible] = useState(false) // Initialize as false\r\n\tconst [selected, setSelected] = useState(selectedItem.label)\r\n\tconst [changedItem, setChangedItem] = useState(selectedItem.key)\r\n\tconst [hasInitialized, setHasInitialized] = useState(false) // Track initial render\r\n\r\n\tuseEffect(() => {\r\n\t\t// Only set `modalVisible` after the first render\r\n\t\tif (!hasInitialized) {\r\n\t\t\tsetHasInitialized(true)\r\n\t\t\tsetModalVisible(importedProps.visible) // Set only once initially\r\n\t\t} else {\r\n\t\t\tsetModalVisible(importedProps.visible)\r\n\t\t}\r\n\t}, [importedProps.visible])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (importedProps.resetTrigger) {\r\n\t\t\tsetSelected(importedProps.initValue)\r\n\t\t\tsetChangedItem(undefined)\r\n\t\t}\r\n\t}, [importedProps.resetTrigger])\r\n\r\n\tuseEffect(() => {\r\n\t\tlet newState = {}\r\n\t\tlet doUpdate = false\r\n\t\tif (importedProps.initValue !== selected) {\r\n\t\t\tnewState.selected = importedProps.initValue\r\n\t\t\tdoUpdate = true\r\n\t\t}\r\n\t\tif (importedProps.selectedKey !== changedItem) {\r\n\t\t\tlet selectedItem = validateSelectedKey(importedProps.selectedKey)\r\n\t\t\tnewState.selected = selectedItem.label\r\n\t\t\tnewState.changedItem = selectedItem.key\r\n\t\t\tdoUpdate = true\r\n\t\t}\r\n\t\tif (doUpdate) {\r\n\t\t\tsetSelected(newState.selected)\r\n\t\t\tsetChangedItem(newState.changedItem)\r\n\t\t}\r\n\t}, [importedProps.initValue, importedProps.selectedKey, importedProps.data])\r\n\r\n\tfunction validateSelectedKey(key) {\r\n\t\tlet selectedItem = importedProps.data.filter((item) => importedProps.keyExtractor(item) === key)\r\n\t\tlet selectedLabel = selectedItem.length > 0 ? importedProps.labelExtractor(selectedItem[0]) : importedProps.initValue\r\n\t\tlet selectedKey = selectedItem.length > 0 ? key : undefined\r\n\t\treturn {label: selectedLabel, key: selectedKey}\r\n\t}\r\n\r\n\tconst handleOnChange = (item) => {\r\n\t\tconst key = importedProps.keyExtractor(item)\r\n\t\tif (!item || key == null) { // == coercion\r\n\t\t\treturn\r\n\t\t}\r\n\t\timportedProps.onChange(item)\r\n\t\tsetSelected(importedProps.labelExtractor(item))\r\n\t\tsetChangedItem(key)\r\n\t\tif (importedProps.closeOnChange) {\r\n\t\t\tclose()\r\n\t\t}\r\n\t}\r\n\r\n\tconst close = (item) => {\r\n\t\timportedProps.onModalClose(item)\r\n\t\tsetModalVisible(false)\r\n\t}\r\n\r\n\tconst open = (params = {}) => {\r\n\t\timportedProps.onModalOpen(params)\r\n\t\tsetModalVisible(true)\r\n\t\tsetChangedItem(undefined)\r\n\t}\r\n\r\n\tconst renderSection = (section) => {\r\n\t\tconst optionComponent = importedProps.componentExtractor(section)\r\n\t\tlet component = optionComponent || (\r\n\t\t\t{importedProps.labelExtractor(section)}\r\n\t\t)\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{component}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tconst renderOption = (option, isLastItem, isFirstItem) => {\r\n\t\tconst optionComponent = importedProps.componentExtractor(option)\r\n\t\tconst optionLabel = importedProps.labelExtractor(option)\r\n\t\tconst isSelectedItem = optionLabel === selected\r\n\r\n\t\tlet component = optionComponent || (\r\n\t\t\t\r\n\t\t\t\t{optionLabel}\r\n\t\t\t\r\n\t\t)\r\n\r\n\t\treturn (\r\n\t\t\t handleOnChange(option)}\r\n\t\t\t\tactiveOpacity={importedProps.touchableActiveOpacity}\r\n\t\t\t\taccessible={importedProps.listItemAccessible}\r\n\t\t\t\taccessibilityLabel={option.accessibilityLabel || undefined}\r\n\t\t\t\timportantForAccessibility={isFirstItem ? 'yes' : 'no'}\r\n\t\t\t\t{...importedProps.passThruProps}\r\n\t\t\t>\r\n\t\t\t\t\r\n\t\t\t\t\t{component}\r\n\t\t\t\t\r\n\t\t\t)\r\n\t}\r\n\r\n\tconst renderFlatlistOption = ({ item, index }) => {\r\n\t\tif (item.section) {\r\n\t\t\treturn renderSection(item)\r\n\t\t}\r\n\t\tconst numItems = importedProps.data.length\r\n\t\treturn renderOption(item, index === (numItems - 1), index === 0)\r\n\t}\r\n\r\n\t// Data Picker\r\n\tconst dataPicker = () => {\r\n\t\tlet options = importedProps.data.map((item, index) => {\r\n\t\t\tif (item.section) {\r\n\t\t\t\treturn renderSection(item)\r\n\t\t\t}\r\n\t\t\treturn renderOption(item, index === importedProps.data.length - 1, index === 0)\r\n\t\t})\r\n\r\n\t\tconst optionsContainerStyle = {paddingHorizontal: 10}\r\n\t\tif (importedProps.scrollViewPassThruProps && importedProps.scrollViewPassThruProps.horizontal) {\r\n\t\t\toptionsContainerStyle.flexDirection = 'row'\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t changedItem && importedProps.onChange(changedItem)}\r\n\t\t\t>\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{importedProps.header}\r\n\t\t\t\t\t\t\t{importedProps.listType === 'FLATLIST'?\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{options}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{importedProps.cancelText}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{dataPicker()}\r\n\t\t\t{importedProps.customSelector ? (\r\n\t\t\t\timportedProps.customSelector\r\n\t\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{selected}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{importedProps.rightElement && (\r\n\t\t\t\t\t\t\t\timportedProps.rightElement.onPress ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{importedProps.rightElement()}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{importedProps.rightElement()}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\toverlayStyle: {\r\n\t\tflex: 1,\r\n\t\tpadding: Layout.small ? '10%' : '25%',\r\n\t\tpaddingVertical: '15%',\r\n\t\tjustifyContent: 'center',\r\n\t\tbackgroundColor: Colors.blackTransparent82,\r\n\t},\r\n\r\n\toptionContainer: {\r\n\t\tborderRadius: BORDER_RADIUS,\r\n\t\tflexShrink: 1,\r\n\t\tmarginBottom: 8,\r\n\t\tpadding: PADDING,\r\n\t\tbackgroundColor: Colors.whiteTransparent85,\r\n\t},\r\n\r\n\tcancelContainer: {\r\n\t\talignSelf: 'stretch',\r\n\t},\r\n\r\n\tselectStyle: {\r\n\t\tpadding: PADDING,\r\n\t\tborderRadius: BORDER_RADIUS,\r\n\t\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between'\r\n\t},\r\n\r\n\tselectTextStyle: {\r\n\t\ttextAlign: 'left',\r\n\t\tcolor: Colors.text,\r\n\t\tfontSize: FONT_SIZE,\r\n\t},\r\n\r\n\tcancelStyle: {\r\n\t\tborderRadius: BORDER_RADIUS,\r\n\t\tbackgroundColor: Colors.whiteTransparent85,\r\n\t\tpadding: PADDING,\r\n\t},\r\n\r\n\tcancelTextStyle: {\r\n\t\ttextAlign: 'center',\r\n\t\tcolor: Colors.text,\r\n\t\tfontSize: FONT_SIZE,\r\n\t},\r\n\r\n\toptionStyle: {\r\n\t\tpadding: PADDING,\r\n\t\tborderBottomWidth: 1,\r\n\t\tborderBottomColor: '#ccc',\r\n\t},\r\n\r\n\toptionTextStyle: {\r\n\t\ttextAlign: 'center',\r\n\t\tfontSize: FONT_SIZE,\r\n\t\tcolor: Colors.blueAzure,\r\n\t},\r\n\r\n\tsectionStyle: {\r\n\t\tpadding: PADDING * 2,\r\n\t\tborderBottomWidth: 1,\r\n\t\tborderBottomColor: '#ccc',\r\n\t},\r\n\r\n\tsectionTextStyle: {\r\n\t\ttextAlign: 'left',\r\n\t\tfontSize: FONT_SIZE,\r\n\t},\r\n\r\n\ttouchableStyle: {\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tborderRadius: BORDER_RADIUS,\r\n\t\t...ShadowStyles.shadowInputs,\r\n\t},\r\n\r\n\tinitValueTextStyle: {\r\n\t\ttextAlign: 'left',\r\n\t\tfontSize: FONT_SIZE,\r\n\t\tcolor: Colors.text,\r\n\t},\r\n})","import React, { useEffect, useState } from 'react'\r\nimport { ActivityIndicator, StyleSheet } from 'react-native'\r\nimport * as AuthSession from 'expo-auth-session'\r\nimport * as Linking from 'expo-linking'\r\n\r\nimport { CustomText } from '../../text/StyledText'\r\nimport CustomPressable from '../../pressables/CustomPressable'\r\n\r\nimport NormalIcon from '../../icons/NormalIcon'\r\n\r\nimport Colors from '../../../constants/Colors'\r\nimport Paths from '../../../constants/Paths'\r\nimport { txt } from '../../../locales/i18n'\r\n\r\nimport * as Localization from '../../../services/localization'\r\nimport { storeAccessToken } from '../../../services/authActions'\r\nimport { setUserToken } from '../../../redux/actions'\r\nimport store from '../../../redux/store'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\n\r\nexport const PasswordChanger = () => {\r\n\t// idle | pending | success | error\r\n\tconst [authState, setAuthState] = useState('idle')\r\n\r\n\tuseEffect(() => {\r\n\t\tconst urlSubscriber = Linking.addEventListener('url', authLinkHandler)\r\n\t\treturn () => urlSubscriber.remove()\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (authState !== 'success') return\r\n\r\n\t\tconst successTimeout = setTimeout(() => setAuthState('idle'), 4000)\r\n\t\treturn () => clearTimeout(successTimeout)\r\n\t}, [authState])\r\n\r\n\tconst authLinkHandler = async ({ url }) => {\r\n\t\tconst { queryParams = null } = Linking.parse(url)\r\n\t\tif (queryParams === null) return\r\n\r\n\t\tconst { event = null, status = null, token = null } = queryParams\r\n\t\tif (event !== 'password' || status === null) return\r\n\r\n\t\tif (status === 'cancel') return setAuthState('idle')\r\n\t\tif (status === 'success' && token) return updateToken(token)\r\n\r\n\t\treturn setAuthState('error')\r\n\t}\r\n\r\n\tconst passwordNativeHandler = async () => {\r\n\t\tsetAuthState('pending')\r\n\r\n\t\tconst queries = []\r\n\t\tconst url = Paths.getBaseUrl() + 'auth/update'\r\n\r\n\t\tconst appDeeplink = AuthSession.makeRedirectUri()\r\n\t\tqueries.push('appDeeplink=' + encodeURIComponent(appDeeplink))\r\n\r\n\t\tconst lang = await Localization.getLanguage()\r\n\t\tif (lang) queries.push('lang=' + lang)\r\n\r\n\t\tawait Linking.openURL(url + '?' + queries.join('&'))\r\n\t}\r\n\r\n\tconst updateToken = async (token) => {\r\n\t\tsetAuthState('success')\r\n\t\tstore.dispatch(setUserToken(token))\r\n\t\tstoreAccessToken(token)\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{txt('profile.changePassword')}\r\n\t\t\t\t{authState === 'pending' && }\r\n\t\t\t\t{authState === 'success' && }\r\n\t\t\t\r\n\r\n\t\t\t{authState === 'error' && {txt('changePassword.error')}}\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: {\r\n\t\tflexDirection: 'row',\r\n\t},\r\n\r\n\tbuttonText: {\r\n\t\tflex: 1,\r\n\t},\r\n\r\n\terrorText: {\r\n\t\tcolor: Colors.errorBackground,\r\n\t\tfontSize: Fontsizes.s,\r\n\t},\r\n})\r\n","import { useSelector } from 'react-redux'\r\nimport React, { useEffect, useRef, useState } from 'react'\r\nimport { View, Platform, TextInput, StyleSheet, TouchableOpacity, Keyboard } from 'react-native'\r\nimport * as Updates from 'expo-updates'\r\nimport Colors from '../../../constants/Colors'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ButtonPrimary, RoundSquareBtn } from '../../buttons/StyledButtons'\r\nimport KeyboardSpacer from 'react-native-keyboard-spacer'\r\nimport {\r\n\tchangePassword,\r\n\tcreatePasswordToken,\r\n\tgetSubscription,\r\n\tgetUserImage,\r\n\tupdateUser,\r\n} from '../../../services/api/User'\r\nimport { getActiveMunicipalities } from '../../../services/api/Municipalities'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { CustomSnackbar } from '../../snackbars/Snackbar'\r\nimport { TypographyStyles, SpacingStyles, ShadowStyles } from '../../../styles'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport { FormInput } from '../../text/StyledTextinputs'\r\nimport { InvalidInputNoticeCentered } from '../../notices/InvalidInputNotices'\r\nimport { MunicipalityInfoDialog, ReloadDialog } from './ProfileDialog'\r\nimport RegexPatterns from '../../../constants/RegexPatterns'\r\nimport { scaleImage } from '../../../utils/ImageHelper'\r\nimport ImagePicker from '../../ImagePicker/ImagePicker'\r\nimport { PhoneNumberInput } from '../../formElements/PhoneNumberInput'\r\nimport { countries } from '../../../services/localization'\r\nimport { handlePaymentClick } from '../../../utils/handlePaymentClick'\r\nimport { PasswordChanger } from './PasswordChanger'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport ModalSelectorCustom from \"../../modalSelectors/ModalSelectorCustom\"\r\n\r\nfunction getDefaultCountryCode(countryName) {\r\n\tconst country = countries.find((country) => country.name === countryName)\r\n\treturn country?.region.toUpperCase() ?? 'DK'\r\n}\r\n\r\nexport default function Profile(props) {\r\n\tconst phoneInputRef = useRef(null)\r\n\tconst userInfo = useSelector((state) => state.user)\r\n\tconst municipalities = useSelector((state) => state.municipalities)\r\n\tconst genderList = txt('genders')\r\n\r\n\tconst [loading, setLoading] = useState(true)\r\n\tconst [feedback, setFeedback] = useState({\r\n\t\tprofileSaved: false,\r\n\t\tprofileDidNotSave: false,\r\n\t\tshowBackupLogOutBtn: false,\r\n\t\tpasswordDidChange: false,\r\n\t\texpanded: false,\r\n\t\tusernameTooShort: false,\r\n\t\temailNotValid: false,\r\n\t\tphoneNotValid: false,\r\n\t\tresetSend: false,\r\n\t\tactiveMunicipality: false,\r\n\t\tshowMunicipalityInfo: false,\r\n\t\tshowMunicipalityChanged: false,\r\n\t\tisButtonDisabled: false,\r\n\t\tmodalVisible: false,\r\n\t})\r\n\tconst [passwordStatus, setPasswordStatus] = useState({\r\n\t\tpasswordOld: '',\r\n\t\tpasswordNew: '',\r\n\t\tpasswordNewConfirm: '',\r\n\t\tpasswordHiddenOld: true,\r\n\t\tpasswordHiddenNew: true,\r\n\t\tpasswordHiddenNewConfirm: true,\r\n\t\tnewPasswordError: false,\r\n\t\tnewPasswordErrorCode: 0,\r\n\t})\r\n\tconst [newUserInfo, setNewUserInfo] = useState({ ...userInfo, phone: `${userInfo.phone ?? ''}` })\r\n\tconst [birthyearList, setBirthyearList] = useState([])\r\n\tconst [activeMunicipalities, setActiveMunicipalities] = useState([])\r\n\tconst [imageInfo, setImageInfo] = useState({})\r\n\tconst defaultCountryCode = getDefaultCountryCode(userInfo.country)\r\n\tconst [image, setImage] = useState(null)\r\n\tconst [subscription, setSubscription] = useState(null)\r\n\tconst [invalidUsernameSymbolsVisible, setInvalidUsernameSymbolsVisible] = useState(false)\r\n\tconst [reloadDialogVissible, setReloadDialogVissible] = useState(false)\r\n\r\n\tconst active =\r\n\t\tsubscription?.state === 'active' && subscription?.pending_invoices === 0 && subscription?.dunning_invoices === 0\r\n\tconst newyearUniverses = ['nytaarsvenner', 'nyarsvanner']\r\n\r\n\tuseEffect(() => {\r\n\t\tif (phoneInputRef.current !== null) {\r\n\t\t\tupdateFeedback({\r\n\t\t\t\tphoneNotValid: !phoneInputRef.current.isValid(),\r\n\t\t\t\tisButtonDisabled: false,\r\n\t\t\t})\r\n\t\t}\r\n\t}, [newUserInfo.phone, newUserInfo.phone_prefix])\r\n\r\n\tuseEffect(() => {\r\n\t\tgetProfileImage()\r\n\t\tgetYearList()\r\n\t\tgetActiveMunicipalities().then(setActiveMunicipalities)\r\n\t\tgetSubscription().then(setSubscription)\r\n\r\n\t\t// failsafe for people to logout even if profile isnt loaded\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (loading) updateFeedback({ showBackupLogOutBtn: true })\r\n\t\t}, 2000)\r\n\r\n\t\tsetLoading(false)\r\n\t}, [userInfo])\r\n\r\n\tconst getProfileImage = async () => {\r\n\t\tconst image = await getUserImage(userInfo.id)\r\n\t\tif (image !== undefined) {\r\n\t\t\tsetImageInfo((prev) => ({\r\n\t\t\t\t...prev,\r\n\t\t\t\tfilename: image.filename,\r\n\t\t\t\tbase64: image.base64,\r\n\t\t\t}))\r\n\t\t}\r\n\t}\r\n\r\n\tfunction updateFeedback(values) {\r\n\t\tsetFeedback((preFeedback) => ({\r\n\t\t\t...preFeedback,\r\n\t\t\t...values,\r\n\t\t}))\r\n\t}\r\n\r\n\tfunction updatePasswordStatus(values) {\r\n\t\tsetPasswordStatus((preStatus) => ({\r\n\t\t\t...preStatus,\r\n\t\t\t...values,\r\n\t\t}))\r\n\t}\r\n\r\n\tfunction updateNewUserInfo(values) {\r\n\t\tsetNewUserInfo((preInfo) => ({\r\n\t\t\t...preInfo,\r\n\t\t\t...values,\r\n\t\t}))\r\n\t}\r\n\r\n\tfunction getYearList() {\r\n\t\tlet yearStart = 1900\r\n\t\tlet yearEnd = new Date().getFullYear() - 15\r\n\t\tlet years = Array(yearEnd - yearStart + 1)\r\n\t\t\t.fill()\r\n\t\t\t.map(() => yearStart++)\r\n\t\tyears.reverse()\r\n\t\tsetBirthyearList(years)\r\n\t}\r\n\r\n\tfunction validEmail(email) {\r\n\t\tconst pattern = RegexPatterns.email\r\n\t\tconst conditions = pattern.map((rule) => new RegExp(rule, 'g'))\r\n\t\tconst results = conditions.map((condition) => condition.test(email))\r\n\t\treturn !results.includes(false)\r\n\t}\r\n\r\n\tfunction insertMunicipality() {\r\n\r\n\t\tconst handleInitValue = () => {\r\n\t\t\tconst initValue = municipalities.find((m) => m.id === parseInt(newUserInfo.municipality_id)) || 'København'\r\n\t\t\treturn initValue.name\r\n\t\t}\r\n\r\n\t\tconst disableMunicipalitySelection = () => {\r\n\t\t\tif (userInfo.country !== 'Denmark') return false\r\n\t\t\tif (active) return false\r\n\t\t\tconst activeMunicipality = activeMunicipalities.some((m) => m.id === parseInt(newUserInfo.municipality_id))\r\n\t\t\treturn !activeMunicipality;\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t data.id?.toString()}\r\n\t\t\t\tlabelExtractor={(data) => data.name}\r\n\t\t\t\tinitValue={handleInitValue}\r\n\t\t\t\tonChange={(value) => updateNewUserInfo({ municipality_id: value.id })}\r\n\t\t\t\tdisabled={disableMunicipalitySelection()}\r\n\t\t\t\trightElement={() => (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t)\r\n\t}\r\n\r\n\tfunction checkForActiveMunicipality() {\r\n\t\tif (userInfo.country !== 'Denmark') return true\r\n\r\n\t\treturn activeMunicipalities.some((m) => m.id === parseInt(newUserInfo.municipality_id))\r\n\t}\r\n\r\n\tfunction insertEyeIcon(target, event) {\r\n\t\treturn (\r\n\t\t\t updatePasswordStatus(event)}\r\n\t\t\t>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tasync function prepareProfileData() {\r\n\t\tKeyboard.dismiss()\r\n\t\tif (image?.uri) {\r\n\t\t\tconst scaledImage = await scaleImage(image)\r\n\t\t\tif (scaledImage) return await saveProfile(scaledImage)\r\n\t\t}\r\n\r\n\t\tif (imageInfo?.base64) return await saveProfile(false)\r\n\t\treturn await saveProfile()\r\n\t}\r\n\r\n\tasync function saveProfile(image) {\r\n\t\tconst data = {\r\n\t\t\tusername: newUserInfo.username,\r\n\t\t\temail: newUserInfo.email,\r\n\t\t\tbirth_year: newUserInfo.birth_year,\r\n\t\t\tgender_id: newUserInfo.gender_id,\r\n\t\t\tmunicipality_id: newUserInfo.municipality_id,\r\n\t\t\tphone: newUserInfo.phone,\r\n\t\t\tphone_prefix: newUserInfo.phone_prefix,\r\n\t\t\timage: null,\r\n\t\t}\r\n\r\n\t\tif (image) data.image = image\r\n\t\tif (image === false) data.image = false\r\n\r\n\t\tconst inValidPhone = !phoneInputRef.current.isValid()\r\n\t\tif (data.username.length < 2 || data.email.length < 5 || !data.email.includes('@') || inValidPhone) {\r\n\t\t\tupdateFeedback({\r\n\t\t\t\tisButtonDisabled: true,\r\n\t\t\t\tprofileDidNotSave: !feedback.profileDidNotSave,\r\n\t\t\t\tphoneNotValid: inValidPhone,\r\n\t\t\t})\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tif (data.username.includes('@')) {\r\n\t\t\treturn setInvalidUsernameSymbolsVisible(true)\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\tconst didUpdate = await updateUser(data)\r\n\t\t\tif (!didUpdate) return updateFeedback({ profileDidNotSave: true })\r\n\t\t\tupdateFeedback({ profileSaved: true })\r\n\r\n\t\t\tif (userInfo.municipality_id !== newUserInfo.municipality_id) {\r\n\t\t\t\tsetReloadDialogVissible(true)\r\n\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tPlatform.OS === 'web' ? window.location.reload() : Updates.reloadAsync()\r\n\t\t\t\t}, 20000)\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tif (__DEV__) console.log('updating profile failed ' + error)\r\n\t\t\tupdateFeedback({ profileDidNotSave: true })\r\n\t\t}\r\n\t}\r\n\r\n\tfunction showPasswordErrorMessage() {\r\n\t\tswitch (passwordStatus.newPasswordErrorCode) {\r\n\t\t\tcase 0:\r\n\t\t\t\treturn txt('profile.passwordErrors.code0')\r\n\t\t\tcase 1:\r\n\t\t\t\treturn txt('profile.passwordErrors.code1')\r\n\t\t\tcase 2:\r\n\t\t\t\treturn txt('profile.passwordErrors.code2')\r\n\t\t\tcase 3:\r\n\t\t\t\treturn txt('profile.passwordErrors.code3')\r\n\t\t\tdefault:\r\n\t\t\t\treturn txt('profile.passwordErrors.code0')\r\n\t\t}\r\n\t}\r\n\r\n\tfunction keyboardSpacerShow() {\r\n\t\tif (Platform.OS === 'ios') {\r\n\t\t\treturn \r\n\t\t}\r\n\t}\r\n\r\n\tconst handleOpenSubscription = async () => {\r\n\t\tawait handlePaymentClick({ origin: 'profile-banner', profile: true })\r\n\t}\r\n\r\n\tfunction subscriptionStatus() {\r\n\t\tif (subscription?.is_cancelled) return txt('subscription.cancelled')\r\n\t\tif (subscription?.pending_invoices > 0 || subscription?.dunning_invoices > 0) return txt('subscription.missingPayment')\r\n\t\tif (subscription?.state === 'expired') return txt('subscription.expired')\r\n\t\tif (subscription?.state === 'active' && !subscription?.is_cancelled) return txt('subscription.active')\r\n\t\treturn\r\n\t}\r\n\r\n\tfunction subscriptionIsActive() {\r\n\t\tif (\r\n\t\t\tsubscription?.state === 'active' &&\r\n\t\t\tsubscription?.is_cancelled === false &&\r\n\t\t\tsubscription?.pending_invoices === 0 &&\r\n\t\t\tsubscription?.dunning_invoices === 0\r\n\t\t) {\r\n\t\t\treturn true\r\n\t\t}\r\n\t\treturn false\r\n\t}\r\n\r\n\tfunction SubscriptionBanner() {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{subscriptionStatus()}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{!loading && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t setImageInfo((imageInfo) => ({ ...imageInfo, base64: null }))}\r\n\t\t\t\t\t\t\tplaceholder={{ uri: 'https://filer.boblberg.dk/Assets/Img/avatar.jpg' }}\r\n\t\t\t\t\t\t\tplaceholderText={false}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('profile.instructions')}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{subscription?.handle && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{/* Username */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('profile.username')}\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tif (text.length < 2) {\r\n\t\t\t\t\t\t\t\t\t\t\tupdateNewUserInfo({ username: text })\r\n\t\t\t\t\t\t\t\t\t\t\tupdateFeedback({\r\n\t\t\t\t\t\t\t\t\t\t\t\tusernameTooShort: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\tisButtonDisabled: true,\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\tsetInvalidUsernameSymbolsVisible(false)\r\n\t\t\t\t\t\t\t\t\t\t\tupdateNewUserInfo({ username: text })\r\n\t\t\t\t\t\t\t\t\t\t\tupdateFeedback({\r\n\t\t\t\t\t\t\t\t\t\t\t\tusernameTooShort: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\tisButtonDisabled: false,\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t{feedback.usernameTooShort ? (\r\n\t\t\t\t\t\t\t\t\t{txt('profile.usernameTooShort')}\r\n\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t{invalidUsernameSymbolsVisible && (\r\n\t\t\t\t\t\t\t\t\t{txt('profile.usernameInvalidSymbol')}\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Email new */}\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('profile.email')}\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tconst valid = validEmail(email)\r\n\t\t\t\t\t\t\t\t\t\tupdateNewUserInfo({ email })\r\n\t\t\t\t\t\t\t\t\t\tupdateFeedback({\r\n\t\t\t\t\t\t\t\t\t\t\temailNotValid: !valid,\r\n\t\t\t\t\t\t\t\t\t\t\tisButtonDisabled: !valid,\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t{feedback.emailNotValid ? (\r\n\t\t\t\t\t\t\t\t\t{txt('profile.emailNotValid')}\r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Birthyear */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('profile.birthYear')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t data}\r\n\t\t\t\t\t\t\t\tlabelExtractor={(data) => data}\r\n\t\t\t\t\t\t\t\tinitValue={newUserInfo.birth_year.toString() || '1970'}\r\n\t\t\t\t\t\t\t\tonChange={(birth_year) => updateNewUserInfo({ birth_year })}\r\n\t\t\t\t\t\t\t\trightElement={() => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Gender new */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('profile.gender')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t data}\r\n\t\t\t\t\t\t\t\tlabelExtractor={(data) => data}\r\n\t\t\t\t\t\t\t\tinitValue={genderList[newUserInfo.gender_id] || genderList[0]}\r\n\t\t\t\t\t\t\t\tonChange={(gender_id) => updateNewUserInfo({ gender_id: genderList.indexOf(gender_id) })}\r\n\t\t\t\t\t\t\t\trightElement={() => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Municipality new */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('profile.municipality')}\r\n\t\t\t\t\t\t{checkForActiveMunicipality() || active ? (\r\n\t\t\t\t\t\t\t{insertMunicipality()}\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t updateFeedback({ showMunicipalityInfo: !feedback.showMunicipalityInfo })}\r\n\t\t\t\t\t\t\t\t\tstyle={!feedback.activeMunicipality ? styles.disabled : ''}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{insertMunicipality()}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Phone new */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('profile.phone')}\r\n\t\t\t\t\t\t updateNewUserInfo({ phone })}\r\n\t\t\t\t\t\t\tcallCode={newUserInfo.phone_prefix}\r\n\t\t\t\t\t\t\tsetCallCode={(phone_prefix) => updateNewUserInfo({ phone_prefix })}\r\n\t\t\t\t\t\t\tstyle={{ shadowColor: Colors.transparent, elevation: 0, paddingHorizontal: 0 }}\r\n\t\t\t\t\t\t\tplaceholder={txt('profile.noPhone')}\r\n\t\t\t\t\t\t\taccessibilityLabel={txt('profile.phone')}\r\n\t\t\t\t\t\t\taccessibilityHint={txt('profile.phoneHint')}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t{feedback.phoneNotValid && (\r\n\t\t\t\t\t\t\t{txt('invalidNotice.invalidPhone')}\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Password */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{Platform.OS !== 'web' && }\r\n\r\n\t\t\t\t\t\t{Platform.OS === 'web' && (\r\n\t\t\t\t\t\t\t updateFeedback({ expanded: !feedback.expanded })}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{txt('profile.changePassword')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{feedback.expanded ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{txt('profile.password')}\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tupdatePasswordStatus({\r\n\t\t\t\t\t\t\t\t\t\t\t\tpasswordOld: text,\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\tsecureTextEntry={passwordStatus.passwordHiddenOld}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{insertEyeIcon(passwordStatus.passwordHiddenOld, {\r\n\t\t\t\t\t\t\t\t\t\t\tpasswordHiddenOld: !passwordStatus.passwordHiddenOld,\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{txt('profile.passwordNew')}\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tupdatePasswordStatus({\r\n\t\t\t\t\t\t\t\t\t\t\t\tpasswordNew: text,\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\tsecureTextEntry={passwordStatus.passwordHiddenNew}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{insertEyeIcon(passwordStatus.passwordHiddenNew, {\r\n\t\t\t\t\t\t\t\t\t\t\tpasswordHiddenNew: !passwordStatus.passwordHiddenNew,\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{txt('profile.passwordNewConfirm')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tupdatePasswordStatus({\r\n\t\t\t\t\t\t\t\t\t\t\t\tpasswordNewConfirm: text,\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\tsecureTextEntry={passwordStatus.passwordHiddenNewConfirm}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{insertEyeIcon(passwordStatus.passwordHiddenNewConfirm, {\r\n\t\t\t\t\t\t\t\t\t\t\tpasswordHiddenNewConfirm: !passwordStatus.passwordHiddenNewConfirm,\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\tpasswordStatus.passwordNew.trim().length === 0 ||\r\n\t\t\t\t\t\t\t\t\t\t\t\tpasswordStatus.passwordNewConfirm.trim().length === 0\r\n\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tupdatePasswordStatus({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordError: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordErrorCode: 1,\r\n\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tif (passwordStatus.passwordNew === passwordStatus.passwordNewConfirm) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tconst didChangePassword = await changePassword(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tpasswordStatus.passwordOld,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tpasswordStatus.passwordNew\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (didChangePassword.status_code === 200) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdatePasswordStatus({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpasswordOld: '',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpasswordNew: '',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpasswordNewConfirm: '',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordError: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordErrorCode: 0,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpasswordDidChange: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t} else if (didChangePassword.status_msg === 'Invalid password') {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdatePasswordStatus({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordError: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordErrorCode: 2,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdatePasswordStatus({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordError: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordErrorCode: 3,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\tupdatePasswordStatus({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordError: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordErrorCode: 0,\r\n\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{!feedback.resetSend ? txt('profile.forgottenPassword') : txt('profile.forgottenPasswordSend')}\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tcreatePasswordToken(newUserInfo.email)\r\n\t\t\t\t\t\t\t\t\t\t\tupdateFeedback({ resetSend: true })\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{txt('profile.forgottenPasswordReset')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t{passwordStatus.newPasswordError ? (\r\n\t\t\t\t\t\t\t\t\t\t{showPasswordErrorMessage()}\r\n\t\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Save changes */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Reload dialog */}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* MunicipalityInfo */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tupdateFeedback({\r\n\t\t\t\t\t\t\t\tshowMunicipalityInfo: !feedback.showMunicipalityInfo,\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t updateFeedback({ profileSaved: false })}\r\n\t\t\t\t\t\ttext={txt('post.savePostSnackBar')}\r\n\t\t\t\t\t\tduration={3000}\r\n\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t updateFeedback({ profileDidNotSave: false })}\r\n\t\t\t\t\t\ttext={txt('post.savePostSnackBarFailed')}\r\n\t\t\t\t\t\tduration={3000}\r\n\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t updateFeedback({ passwordDidChange: false })}\r\n\t\t\t\t\t\ttext={txt('profile.passwordDidChange')}\r\n\t\t\t\t\t\tduration={3000}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{keyboardSpacerShow()}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcolumn: { flexDirection: 'column' },\r\n\tcornerBottom: {\r\n\t\tborderBottomLeftRadius: 10,\r\n\t\tborderBottomRightRadius: 10,\r\n\t\tmarginBottom: 2,\r\n\t},\r\n\tcornersTop: { borderTopLeftRadius: 10, borderTopRightRadius: 10 },\r\n\tdisabled: { opacity: 0.7 },\r\n\terror: {\r\n\t\t...TypographyStyles.textSmall,\r\n\t\tcolor: Colors.errorBackground,\r\n\t\tmarginBottom: 5,\r\n\t\tmarginLeft: 10,\r\n\t},\r\n\tinputContainer: {\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tflexDirection: 'column',\r\n\t\tjustifyContent: 'space-between',\r\n\t\tmarginTop: 1,\r\n\t\tpadding: 12,\r\n\t},\r\n\tinstructionText: {\r\n\t\tcolor: Colors.inactive,\r\n\t\tmarginBottom: 12,\r\n\t\tmarginTop: 12,\r\n\t\ttextAlign: 'center',\r\n\t},\r\n\tmarginBottom5: { marginBottom: 5 },\r\n\tmarginTop: { marginTop: 12 },\r\n\tpasswordContainer: {\r\n\t\talignSelf: 'center',\r\n\t\tmarginBottom: 20,\r\n\t\tmarginRight: 10,\r\n\t\tmarginTop: 20,\r\n\t},\r\n\tpasswordTitleContainer: {\r\n\t\talignItems: 'center',\r\n\t\tflexDirection: 'row',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tsmallTitle: {\r\n\t\t...TypographyStyles.textSmall,\r\n\t\tcolor: Colors.inactive,\r\n\t},\r\n\tspaceBetween: { justifyContent: 'space-between' },\r\n\ttext: { ...TypographyStyles.text },\r\n\twidthHeight: {\r\n\t\tflex: 1,\r\n\t\t...SpacingStyles.widthAndHeight,\r\n\t\tpadding: 12,\r\n\t},\r\n\timagePickerContainer: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tsubscription: {\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tpadding: 12,\r\n\t\tborderRadius: 10,\r\n\t\tmarginBottom: 12,\r\n\t\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tandroidContainer: {\r\n\t\tmarginLeft: -6,\r\n\t\toverflow: 'hidden',\r\n\t\theight: 40,\r\n\t\tjustifyContent: 'center',\r\n\t},\r\n})\r\n","import React from 'react'\r\nimport Profile from '../../components/views/Profile/Profile'\r\nimport TxtTMD from '../../constants/TxtTMD'\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { useNavigation } from '@react-navigation/core'\r\n\r\nexport default function ProfileScreen() {\r\n const navigation = useNavigation()\r\n\r\n function navigateToProfileView() {\r\n navigation.navigate('ProfileView')\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","import React, { useState } from 'react'\r\nimport { View, StyleSheet, ScrollView } from 'react-native'\r\n\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ImageHighlight } from '../../images/ImageHighlight'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport CustomDialog, { ContentContainer } from '../../dialogs/CustomDialog'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\n\r\nimport { txt } from '../../../locales/i18n'\r\nimport Paths from '../../../constants/Paths'\r\nimport Colors from '../../../constants/Colors'\r\nimport { SpacingStyles, TypographyStyles } from '../../../styles'\r\n\r\nimport * as groupService from '../../../services/api/Groups'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function GroupInfo(props) {\r\n const [notifications, setNotifications] = useState(props.group.notifications)\r\n const [showNotificationDialog, setShowNotificationDialog] = useState(false)\r\n const [showErrorDialog, setShowErrorDialog] = useState(false)\r\n const [loading, setLoading] = useState(false)\r\n\r\n async function handleToggleNotifications() {\r\n if (notifications) {\r\n return setShowNotificationDialog(true)\r\n }\r\n\r\n await updateNotificationSetting(true)\r\n }\r\n\r\n async function removeNotifications() {\r\n await updateNotificationSetting(false)\r\n setShowNotificationDialog(false)\r\n }\r\n\r\n async function updateNotificationSetting(notificationSetting) {\r\n setLoading(true)\r\n\r\n const notifications = await groupService.updateNotificationSetting(props.group.id, notificationSetting)\r\n notifications === null ? setShowErrorDialog(true) : setNotifications(notifications)\r\n\r\n setLoading(false)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {txt('groups.info.title')}\r\n \r\n \r\n {props.group.name}\r\n \r\n \r\n \r\n \r\n {txt('groups.info.description')}\r\n \r\n \r\n {props.group.description}\r\n \r\n \r\n \r\n \r\n \r\n\r\n setShowNotificationDialog(false)}>\r\n \r\n setShowNotificationDialog(false)}\r\n >\r\n \r\n \r\n\r\n {txt('groups.info.notificationLabel')}\r\n {txt('groups.info.notificationDialogDescription')}\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n setShowErrorDialog(false)}>\r\n \r\n setShowErrorDialog(false)}\r\n >\r\n \r\n \r\n\r\n {txt('groups.info.errorLabel')}\r\n {txt('groups.info.errorDialogDescription')}\r\n \r\n \r\n setShowErrorDialog(false)}\r\n style={{ backgroundColor: Colors.blueAzure }}\r\n title={txt('global.ok')}\r\n titleStyle={styles.dialogAcceptButton}\r\n />\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n margin: { marginTop: 20 },\r\n marginBottom: { marginBottom: 10 },\r\n text: { ...TypographyStyles.text, textAlign: 'center' },\r\n textContainer: { margin: 10 },\r\n title: { ...TypographyStyles.titleBold, textAlign: 'center' },\r\n\r\n notificationButton: {\r\n position: 'absolute',\r\n top: 0,\r\n right: 10,\r\n margin: 12,\r\n },\r\n\r\n dialogDismissButton: {\r\n alignSelf: 'flex-end',\r\n position: 'absolute',\r\n paddingLeft: 24,\r\n zIndex: 1,\r\n },\r\n\r\n dialogHeader: {\r\n fontSize: 26,\r\n fontFamily: 'raleway-semibold',\r\n },\r\n\r\n dialogBody: {\r\n marginTop: 12,\r\n },\r\n\r\n dialogAcceptButton: {\r\n paddingHorizontal: 12,\r\n },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\n\r\nimport { txt } from '../../locales/i18n'\r\nimport { CustomText } from '../text/StyledText'\r\nimport CustomDialog, { ActionButton, ContentContainer, ScrollableDialog } from './CustomDialog'\r\n\r\nimport { getScreeningConsent, updateScreeningConsent } from '../../services/api/Inbox'\r\nimport Colors from '../../constants/Colors'\r\n\r\nexport default function ScreeningConsentDialog({ visible, handleHideDialog }) {\r\n const [consentGiven, setConsentGiven] = useState(false)\r\n const [message, setMessage] = useState(null)\r\n\r\n useEffect(() => {\r\n if (visible == true) {\r\n getCurrentConsent()\r\n }\r\n }, [visible])\r\n\r\n const handleScreeningConsent = async () => {\r\n const res = await updateScreeningConsent(consentGiven)\r\n if (res) {\r\n const consentRemoved = !!res.data\r\n if (!consentRemoved) setMessage(txt('conversations.consentRemoved'))\r\n else setMessage(txt('conversations.consentGiven'))\r\n setTimeout(() => {\r\n handleHideDialog()\r\n setMessage(null)\r\n setConsentGiven(consentRemoved)\r\n }, 1500)\r\n }\r\n }\r\n\r\n const getCurrentConsent = async () => {\r\n const consent = await getScreeningConsent()\r\n setConsentGiven(!!consent)\r\n }\r\n\r\n if (consentGiven) {\r\n return (\r\n \r\n {message ? (\r\n \r\n {message}\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n {txt('conversations.removeScreeningConsent')}\r\n \r\n {txt('conversations.removeConsentBody1')}{txt('conversations.removeConsentBody2')}\r\n {txt('conversations.removeConsentBody3')}\r\n \r\n \r\n \r\n \r\n {txt('conversations.removeScreeningConsent')}\r\n \r\n \r\n {txt('conversations.screeningCancel')}\r\n \r\n \r\n )}\r\n \r\n )\r\n } else {\r\n return (\r\n \r\n {message ? (\r\n \r\n {message}\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n {txt('conversations.screeningHeader')}\r\n \r\n {txt('conversations.screeningBody')}\r\n \r\n \r\n {txt('conversations.screeningConsent')}\r\n \r\n \r\n {txt('conversations.screeningCancel')}\r\n \r\n \r\n )}\r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n dialogButton: { padding: 10 },\r\n marginTop: { marginTop: 10 },\r\n})\r\n","export function getHexColor(userId) {\r\n const userIdString = userId.toString()\r\n let hash = 0\r\n for (let i = 0; i < userIdString.length; i++) {\r\n hash = userIdString.charCodeAt(i) + ((hash << 5) - hash)\r\n }\r\n let color = '#'\r\n for (let i = 0; i < 3; i++) {\r\n let value = (hash >> (i * 8)) & 0xff\r\n color += ('00' + value.toString(16)).substr(-2)\r\n }\r\n return color\r\n}\r\n","import { Keyboard, StyleSheet, TouchableWithoutFeedback, View } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport React, { useState } from 'react'\r\nimport CustomDialog, { ContentContainer } from '../../dialogs/CustomDialog'\r\nimport NormalIcon, { BoblbergIcon } from '../../icons/NormalIcon'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport Colors from '../../../constants/Colors'\r\nimport { getHexColor } from '../../../utils/getHexColor'\r\nimport { whoLiked } from '../../../services/api/Groups'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function Likes({ hasLiked, likes, groupId, msgId, toggleLike }) {\r\n const [showLikedList, setShowLikedList] = useState(false)\r\n const [listOfLikes, setListOfLikes] = useState([])\r\n\r\n async function toggleModal() {\r\n Keyboard.dismiss()\r\n setShowLikedList((prev) => !prev)\r\n const whoHasLiked = await whoLiked(groupId, msgId)\r\n setListOfLikes(whoHasLiked)\r\n }\r\n\r\n function renderAllLikes() {\r\n return (\r\n \r\n \r\n {txt('groups.likes.header')}\r\n \r\n \r\n {listOfLikes.map((user) => (\r\n \r\n \r\n \r\n \r\n \r\n {user.username}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {`${txt('groups.likes.like')}`}\r\n \r\n \r\n {likes > 0 && (\r\n \r\n \r\n \r\n {`${likes}`}\r\n \r\n \r\n )}\r\n \r\n\r\n {renderAllLikes()}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n customDialogStyles: {\r\n flexDirection: 'column',\r\n maxHeight: '60%',\r\n justifyContent: 'space-between',\r\n width: '80%',\r\n },\r\n likeContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n width: '100%',\r\n marginBottom: 12,\r\n },\r\n listOfHasLikedStyles: {\r\n flexDirection: 'row',\r\n marginVertical: 4,\r\n alignItems: 'center'\r\n },\r\n textStyles: {\r\n marginLeft: 6,\r\n },\r\n avatar: {\r\n borderRadius: 100,\r\n marginRight: 6,\r\n opacity: 0.4,\r\n padding: 4,\r\n },\r\n})\r\n","import React, { useState } from 'react'\r\nimport { editMessage } from '../../../../services/api/Groups'\r\nimport CustomDialog, { ActionButton, ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { Keyboard, View } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomGroupInput } from '../../../text/StyledTextinputs'\r\n\r\nexport default function EditPostDialog({ groupId, post, updatePost, visible, dismiss }) {\r\n const [text, setText] = useState(post.body)\r\n\r\n async function saveChanges() {\r\n const wasEdited = await editMessage(groupId, post.id, text)\r\n if (wasEdited && wasEdited.status_code >= 200 && wasEdited.status_code <= 299) {\r\n updatePost(text)\r\n } else {\r\n updatePost(null)\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n {!post.parent_message_id ? (\r\n {txt('groups.bulletin.editParentMessageText')}\r\n ) : (\r\n {txt('groups.bulletin.editChildMessageText')}\r\n )}\r\n \r\n \r\n setText(value)}\r\n height={120}\r\n noShadow\r\n />\r\n \r\n \r\n \r\n {txt('groups.bulletin.saveChanges')}\r\n \r\n \r\n {txt('groups.members.cancel')}\r\n \r\n \r\n )\r\n}","import { CustomText } from '../components/text/StyledText'\r\nimport Colors from '../constants/Colors'\r\nimport React from 'react'\r\nimport { URLOpener } from './URLOpener'\r\nimport { Linking } from 'react-native'\r\nimport RegexPatterns from '../constants/RegexPatterns'\r\n\r\nexport function addLinkToText(text) {\r\n const emailPattern = RegexPatterns.email[1].substring(1, RegexPatterns.email[1].length - 1)\r\n const linkPattern = '([H,h]ttps?:|[W,w]ww\\\\.)\\\\S*'\r\n const regexPattern = `(${emailPattern})|(${linkPattern})`\r\n const regex = new RegExp(regexPattern, 'g')\r\n let match\r\n const links = []\r\n\r\n while ((match = regex.exec(text)) !== null) {\r\n links.push(match[0])\r\n }\r\n\r\n let textWithLinks = [text]\r\n for (let i = 0; i < links.length; i++) {\r\n const textIndex = i * 2\r\n const currentText = textWithLinks[textIndex]\r\n const linkStartIndex = currentText.indexOf(links[i])\r\n const linkEndIndex = linkStartIndex + links[i].length\r\n\r\n const clickableLink = (\r\n openUrl(links[i])}>\r\n {links[i]}\r\n \r\n )\r\n const start = currentText.slice(0, linkStartIndex)\r\n const end = currentText.slice(linkEndIndex)\r\n textWithLinks = [...textWithLinks.slice(0, textIndex), start, clickableLink, end]\r\n }\r\n return textWithLinks\r\n}\r\n\r\nconst openUrl = (url) => {\r\n if (url.includes('@')) {\r\n return Linking.openURL(`mailto:${url}`)\r\n }\r\n if (!url.startsWith('http')) {\r\n url = 'http://' + url\r\n }\r\n URLOpener(url)\r\n}","import React from 'react'\r\nimport CustomDialog, { ActionButton, ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\n\r\nexport default function DeletePostDialog({visible, parentId, dismiss, deletePost}) {\r\n return (\r\n \r\n \r\n {parentId === null ? (\r\n {txt('groups.bulletin.removeParentMessageText')}\r\n ) : (\r\n {txt('groups.bulletin.removeChildMessageText')}\r\n )}\r\n \r\n \r\n {txt('groups.members.yes')}\r\n \r\n \r\n {txt('groups.members.cancel')}\r\n \r\n \r\n )\r\n}","import React, { useState } from 'react'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport Colors from '../../../constants/Colors'\r\nimport { txt } from '../../../locales/i18n'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport Layout from '../../../constants/Layout'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function PostPin({isAdmin, isChildPost, isPinned, togglePin}) {\r\n const [isHovering, setIsHovering] = useState(false)\r\n const helpText = isPinned\r\n ? txt('groups.bulletin.unpinPostHelpText')\r\n : txt('groups.bulletin.pinPostHelpText')\r\n return (\r\n <>\r\n {isAdmin && !isChildPost && (\r\n \r\n {isHovering && !Layout.isSmallDevice && (\r\n \r\n \r\n {helpText}\r\n \r\n \r\n \r\n )}\r\n \r\n setIsHovering(true)}\r\n onMouseLeave={() => setIsHovering(false)}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n {!isAdmin && isPinned && !isChildPost && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n tooltip: {\r\n backgroundColor: Colors.blackTransparent82,\r\n borderRadius: 8,\r\n bottom: 28,\r\n position: 'absolute',\r\n width: 160,\r\n paddingVertical: 4,\r\n paddingHorizontal: 8,\r\n alignSelf: 'center',\r\n alignItems: 'center',\r\n marginRight: 48,\r\n textAlign: 'center',\r\n },\r\n tooltipArrow: {\r\n width: 0,\r\n height: 0,\r\n backgroundColor: Colors.transparent,\r\n borderStyle: 'solid',\r\n borderLeftWidth: 8,\r\n borderRightWidth: 8,\r\n borderBottomWidth: 8,\r\n borderLeftColor: Colors.transparent,\r\n borderRightColor: Colors.transparent,\r\n borderBottomColor: Colors.blackTransparent82,\r\n transform: [{rotate: \"180deg\"}],\r\n position: 'absolute',\r\n right: 52,\r\n top: 28\r\n }\r\n})","import React, { useState } from 'react'\r\nimport { Platform, StyleSheet, TextInput, View } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport Colors from '../../../constants/Colors'\r\nimport LoadingSpinner from '../../activityIndicators/LoadingSpinner'\r\nimport { CornerStyles, TypographyStyles } from '../../../styles'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function GroupCommentInput({ sendComment, group, onChange, onFocus, onBlur }) {\r\n const [text, setText] = useState('')\r\n const [commentHeight, setCommentHeight] = useState(40)\r\n const [loading, setLoading] = useState(false)\r\n\r\n const handleCommentChange = (text) => {\r\n if (text === '') setCommentHeight(40)\r\n setText(text)\r\n onChange?.()\r\n }\r\n\r\n const handleContentHeight = (e) => {\r\n setCommentHeight(e.nativeEvent.contentSize.height)\r\n }\r\n\r\n const handleSendComment = () => {\r\n setLoading(true)\r\n sendComment(text)\r\n setCommentHeight(40)\r\n setText('')\r\n setLoading(false)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {loading ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n inputContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n paddingRight: 10,\r\n },\r\n marginLeft: { marginLeft: 10 },\r\n loadingSpinner: { marginBottom: 0, marginTop: 0, marginLeft: 10 },\r\n comment: {\r\n ...TypographyStyles.text,\r\n ...CornerStyles.borderRadiusM,\r\n flex: 1,\r\n marginLeft: 15,\r\n maxHeight: 300,\r\n minHeight: 40,\r\n borderWidth: 1,\r\n borderColor: Colors.shadow,\r\n backgroundColor: Colors.white,\r\n paddingHorizontal: 18,\r\n paddingTop: 9, // If higher than 9, padding will make text overflow and scroll\r\n paddingBottom: 9, // If higher than 9, padding will make text overflow and scroll\r\n },\r\n})\r\n","import React, { useState } from 'react'\r\nimport { StyleSheet } from 'react-native'\r\nimport * as WebBrowser from 'expo-web-browser'\r\n\r\nimport { CustomText } from '../../text/StyledText'\r\nimport Colors from '../../../constants/Colors'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { ScrollableDialog, ActionButton, ContentContainer } from '../../dialogs/CustomDialog'\r\n\r\nimport FontSizes from '../../../constants/Fontsizes'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { getTempFileLink } from '../../../services/api/Groups'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport function GroupPostFileLink({ id, name, groupId }) {\r\n const [showErrorDialog, setShowErrorDialog] = useState(false)\r\n\r\n async function openFile() {\r\n const fileLink = await getTempFileLink(groupId, id)\r\n\r\n if (fileLink === null) {\r\n return setShowErrorDialog(true)\r\n }\r\n\r\n await WebBrowser.openBrowserAsync(fileLink)\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n\r\n \r\n {name}\r\n \r\n \r\n\r\n \r\n \r\n {txt('groups.fileLink.errorHeader')}\r\n\r\n {txt('groups.fileLink.errorBody')}\r\n \r\n\r\n setShowErrorDialog(false)}>{txt('global.ok')}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n marginTop: 6,\r\n flexDirection: 'row',\r\n alignSelf: 'flex-start',\r\n maxWidth: '100%',\r\n },\r\n\r\n icon: {\r\n marginRight: 6,\r\n },\r\n\r\n text: {\r\n color: Colors.blue,\r\n },\r\n})\r\n","import { FlatList, Image, Modal, Platform, StyleSheet, useWindowDimensions, View } from 'react-native'\r\nimport React, { useEffect, useRef, useState } from 'react'\r\nimport Colors from '../../../constants/Colors'\r\nimport Layout from '../../../constants/Layout'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { ReactNativeZoomableView } from '@openspacelabs/react-native-zoomable-view'\r\nimport { useSafeAreaInsets } from 'react-native-safe-area-context'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nfunction Arrow({ direction, onPress }) {\r\n const [hover, setHover] = useState(false)\r\n const dimensions = useWindowDimensions()\r\n\r\n const icons = {\r\n left: \"chevron-left\",\r\n right: \"chevron-right\",\r\n }\r\n\r\n return (\r\n setHover(true)}\r\n onMouseLeave={() => setHover(false)}\r\n onPress={onPress}\r\n >\r\n \r\n \r\n )\r\n}\r\n\r\nexport default function ImageSlider({ visible, images, startIndex, dismiss }) {\r\n const [imageIndex, setImageIndex] = useState()\r\n const [isZooming, setIsZooming] = useState(false)\r\n const [isSliding, setIsSliding] = useState(false)\r\n const dimensions = useWindowDimensions()\r\n const listRef = useRef()\r\n const insets = useSafeAreaInsets()\r\n\r\n useEffect(() => {\r\n setImageIndex(startIndex)\r\n }, [startIndex])\r\n\r\n useEffect(() => {\r\n if (imageIndex !== undefined) {\r\n setTimeout(scrollToImage, 0)\r\n }\r\n }, [imageIndex])\r\n\r\n function scrollToImage() {\r\n const offset = imageIndex * dimensions.width\r\n listRef.current.scrollToOffset({\r\n offset,\r\n animated: false,\r\n })\r\n }\r\n\r\n function handleWebPreviousImage() {\r\n if (imageIndex > 0) {\r\n setImageIndex((prev) => prev - 1)\r\n }\r\n }\r\n\r\n function handleWebNextImage() {\r\n if (imageIndex < images.length - 1) {\r\n setImageIndex((prev) => prev + 1)\r\n }\r\n }\r\n\r\n function renderImage({ item }) {\r\n return (\r\n \r\n isSliding}\r\n onShiftingBefore={(_, state, event) => event.zoomLevel <= 1}\r\n onTransform={(event) => setIsZooming(event.zoomLevel > 1)}\r\n >\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n {Platform.OS === 'web' && !Layout.isSmallDevice && (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n index.toString()}\r\n renderItem={renderImage}\r\n pagingEnabled\r\n scrollEnabled={!isZooming}\r\n horizontal\r\n onScrollBeginDrag={() => setIsSliding(true)}\r\n onScrollEndDrag={() => setIsSliding(false)}\r\n showsHorizontalScrollIndicator={false}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n imageDialogClose: {\r\n position: 'absolute',\r\n right: 20,\r\n zIndex: 10,\r\n backgroundColor: Colors.blackTransparent54,\r\n borderRadius: 16,\r\n },\r\n imageDialogArrows: {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n right: 0,\r\n bottom: 0,\r\n zIndex: 2,\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n flexDirection: 'row',\r\n },\r\n imageArrow: {\r\n justifyContent: 'center',\r\n paddingHorizontal: 12,\r\n },\r\n arrowBackground: {\r\n backgroundColor: Colors.blackTransparent2,\r\n },\r\n})\r\n","import React, { useEffect, useRef } from 'react'\r\nimport { Animated, StyleSheet } from 'react-native'\r\n\r\nimport Colors from '../../constants/Colors'\r\n\r\nexport const Skeleton = (props) => {\r\n\tconst opacity = useRef(new Animated.Value(1)).current\r\n\r\n\tuseEffect(() => {\r\n\t\tconst options = { duration: 1000, useNativeDriver: true }\r\n\t\tconst from = Animated.timing(opacity, { ...options, toValue: 0.4 })\r\n\t\tconst to = Animated.timing(opacity, { ...options, toValue: 1 })\r\n\r\n\t\tconst animation = Animated.loop(Animated.sequence([from, to]))\r\n\t\tanimation.start()\r\n\r\n\t\treturn () => animation.stop()\r\n\t}, [opacity])\r\n\r\n\treturn \r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tskeleton: {\r\n\t\tbackgroundColor: Colors.greyLightLight,\r\n\t\tborderRadius: 4,\r\n\t\theight: 20,\r\n\t\twidth: 20,\r\n\t},\r\n})\r\n","import React, { useState } from 'react'\r\nimport { Image, StyleSheet, View } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Layout from '../../../constants/Layout'\r\nimport ImageSlider from './ImageSlider'\r\nimport CustomPressable from '../../pressables/CustomPressable'\r\nimport { Skeleton } from '../../activityIndicators/Skeleton'\r\n\r\nexport default function GroupPostImages({ images, imageCount }) {\r\n\tconst [startIndex, setStartIndex] = useState(undefined)\r\n\r\n\tif (images.length !== imageCount) {\r\n\t\tconst style = imageCount === 1 ? styles.imageSingleWrapper : styles.imageMultipleWrapper\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{Array.from({ length: imageCount }).map((_, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{images.map((image, index) => (\r\n\t\t\t\t setStartIndex(index)}\r\n\t\t\t\t>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\t setStartIndex(undefined)}\r\n\t\t\t\timages={images}\r\n\t\t\t\tstartIndex={startIndex}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: {\r\n\t\tflex: 1,\r\n\t\tflexDirection: 'row',\r\n\t\tflexWrap: 'wrap',\r\n\t\tjustifyContent: 'center',\r\n\t\tpaddingTop: 12,\r\n\t\twidth: '100%',\r\n\t\tgap: 1,\r\n\t},\r\n\r\n\timageMultipleWrapper: {\r\n\t\tflex: 1,\r\n\t\tflexGrow: 1,\r\n\t\tflexShrink: 1,\r\n\t\tflexBasis: Layout.isSmallDevice ? 135 : 200,\r\n\t\theight: Layout.isSmallDevice ? 135 : 200,\r\n\t},\r\n\r\n\timageSingleWrapper: {\r\n\t\tflex: 1,\r\n\t\theight: 400,\r\n\t\twidth: '100%',\r\n\t},\r\n\r\n\timage: {\r\n\t\twidth: '100%',\r\n\t\theight: '100%',\r\n\t},\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { StyleSheet, View, ActivityIndicator } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { CornerStyles, TypographyStyles } from '../../../styles'\r\nimport { txt } from '../../../locales/i18n'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport {\r\n createMessage,\r\n deleteMessage,\r\n getGroupMessageComments,\r\n getGroupMessageDocuments,\r\n getGroupMessageImages,\r\n pinGroupPost,\r\n unpinGroupPost,\r\n like,\r\n removeLike,\r\n} from '../../../services/api/Groups'\r\nimport moment from 'moment'\r\n\r\nimport ScreeningConsentDialog from '../../dialogs/ScreeningConsentDialog'\r\nimport { getConversationId, getScreeningConsent } from '../../../services/api/Inbox'\r\nimport OptionButton from '../../buttons/OptionButton'\r\nimport OptionDialog from '../../dialogs/OptionsDialog'\r\nimport Likes from './Likes'\r\nimport { getHexColor } from '../../../utils/getHexColor'\r\nimport EditPostDialog from './dialogs/EditPostDialog'\r\nimport { addLinkToText } from '../../../utils/addLinkToText'\r\nimport DeletePostDialog from './dialogs/DeletePostDialog'\r\nimport PostPin from './PostPin'\r\nimport GroupCommentInput from './GroupCommentInput'\r\nimport { GroupPostFileLink } from './GroupPostFileLink'\r\nimport GroupPostImages from './GroupPostImages'\r\nimport Card from '../../Card'\r\nimport store from '../../../redux/store'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function GroupPost({\r\n post,\r\n group,\r\n onInputFocus,\r\n refreshMessages,\r\n child,\r\n createPostComment,\r\n navigateToConversation,\r\n navigateToNewConversation,\r\n onInputChange,\r\n onInputBlur,\r\n}) {\r\n\tmoment.locale(txt('videoChat.locale'))\r\n\tconst isAdmin = group?.own_user_rank === 1\r\n\tconst isOwnPost = store.getState().user?.id === post.user_id\r\n\r\n\tconst [body, setBody] = useState(post.body)\r\n\tconst [liked, setLiked] = useState(post.hasLiked)\r\n\tconst [pinned, setPinned] = useState(post.pinned)\r\n\tconst [likeCount, setLikeCount] = useState(post.likes ?? 0)\r\n\r\n\tconst [images, setImages] = useState([])\r\n\tconst [comments, setComments] = useState([])\r\n\tconst [documents, setDocuments] = useState([])\r\n\r\n\tconst [hasMoreComments, setHasMoreComments] = useState(true)\r\n\tconst [fetchingComments, setFetchingComments] = useState(false)\r\n\r\n\tconst [options, setOptions] = useState([])\r\n\tconst [optionsDialogTitle, setOptionsDialogTitle] = useState(undefined)\r\n\r\n\tconst [showScreeningDialog, setShowScreeningDialog] = useState(false)\r\n\tconst [showOptionsDialog, setShowOptionsDialog] = useState(false)\r\n\tconst [showRemoveDialog, setShowRemoveDialog] = useState(false)\r\n\tconst [showEditDialog, setShowEditDialog] = useState(false)\r\n\r\n\tuseEffect(() => {\r\n\t\tconst getResources = async () => {\r\n\t\t\tsetFetchingComments(true)\r\n\r\n\t\t\tconst commentsResponse = await getGroupMessageComments(group.id, post.id, 0)\r\n\t\t\tif (commentsResponse.comments.length === commentsResponse.totalComments) {\r\n\t\t\t\tsetHasMoreComments(false)\r\n\t\t\t}\r\n\r\n\t\t\tcommentsResponse.comments.reverse()\r\n\t\t\tsetComments(commentsResponse.comments)\r\n\t\t\tsetFetchingComments(false)\r\n\r\n\t\t\tif (!post.child) {\r\n\t\t\t\tconst documents = await getGroupMessageDocuments(group.id, post.id)\r\n\t\t\t\tconst images = await getGroupMessageImages(group.id, post.id)\r\n\r\n\t\t\t\tsetDocuments(documents)\r\n\t\t\t\tsetImages(images)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tgetResources()\r\n\t}, [group, post])\r\n\r\n\tfunction updatePost(text) {\r\n\t\tif (text) setBody(text)\r\n\t\ttoggleEditMessageDialog()\r\n\t}\r\n\r\n\tfunction toggleRemoveMessageDialog() {\r\n\t\tsetShowRemoveDialog(!showRemoveDialog)\r\n\t\tsetShowOptionsDialog(false)\r\n\t}\r\n\r\n\tfunction toggleEditMessageDialog() {\r\n\t\tsetShowEditDialog(!showEditDialog)\r\n\t\tsetShowOptionsDialog(false)\r\n\t}\r\n\r\n const editOption = {\r\n label: txt('groups.bulletin.edit'),\r\n hint: txt('groups.bulletin.editHint'),\r\n icon: \"edit\",\r\n action: toggleEditMessageDialog,\r\n }\r\n const removeOption = {\r\n label: txt('groups.bulletin.delete'),\r\n hint: txt('groups.bulletin.deleteHint'),\r\n icon: \"trash\",\r\n action: toggleRemoveMessageDialog,\r\n type: 'danger',\r\n }\r\n const sendMessageOption = {\r\n label: txt('groups.bulletin.sendMessage'),\r\n icon: \"comment-lines\",\r\n action: async () => {\r\n if (!post.user_id) return\r\n const conversationId = await getConversationId({\r\n groupId: group.id,\r\n receiverId: post.user_id,\r\n })\r\n if (conversationId) navigateToConversation(conversationId)\r\n else navigateToNewConversation(post.user_id)\r\n setShowOptionsDialog(false)\r\n },\r\n }\r\n\r\n\tfunction handleUserClick() {\r\n\t\tif (isOwnPost) return\r\n\t\tconst options = [sendMessageOption]\r\n\r\n\t\tsetOptions(options)\r\n\t\tsetShowOptionsDialog(true)\r\n\t\tsetOptionsDialogTitle(post.username)\r\n\t}\r\n\r\n\tfunction handleOptionButtonClick() {\r\n\t\tconst options = []\r\n\t\tif (isOwnPost === false) options.push(sendMessageOption)\r\n\t\tif (isOwnPost || isAdmin) options.push(editOption, removeOption)\r\n\r\n\t\tsetOptions(options)\r\n\t\tsetShowOptionsDialog(true)\r\n\t\tsetOptionsDialogTitle(undefined)\r\n\t}\r\n\r\n\tasync function changePinnedPost() {\r\n\t\tpinned ? await unpinGroupPost(group.id, post.id) : await pinGroupPost(group.id, post.id)\r\n\t\tsetPinned(!pinned)\r\n\t\tawait refreshMessages()\r\n\t}\r\n\r\n\tasync function sendComment(comment) {\r\n\t\tif (!comment) return\r\n\t\tconst consentGiven = await getScreeningConsent()\r\n\t\tif (consentGiven === 0) return setShowScreeningDialog(true)\r\n\r\n\t\tconst postData = {\r\n\t\t\tgroupId: group.id,\r\n\t\t\tbody: comment,\r\n\t\t\timages: null,\r\n\t\t\tparentId: post.id,\r\n\t\t}\r\n\r\n\t\tconst message = await createMessage(postData)\r\n\t\tif (message !== undefined) setComments((comments) => [...comments, message])\r\n\t}\r\n\r\n\tasync function handleDeletePost() {\r\n\t\tconst wasDeleted = await deleteMessage(group.id, post.id)\r\n\t\tif (wasDeleted === false) return\r\n\t\ttoggleRemoveMessageDialog()\r\n\t\tawait refreshMessages()\r\n\t}\r\n\r\n\tasync function getMoreComments() {\r\n\t\tsetFetchingComments(true)\r\n\t\tconst skip = comments.length\r\n\r\n\t\tif (hasMoreComments) {\r\n\t\t\tconst res = await getGroupMessageComments(group.id, post.id, skip)\r\n\t\t\tif (res.comments.length + comments.length === res.totalComments) {\r\n\t\t\t\tsetHasMoreComments(false)\r\n\t\t\t}\r\n\r\n\t\t\tres.comments.reverse()\r\n\t\t\tsetComments((current) => [...res.comments, ...current])\r\n\t\t}\r\n\r\n\t\tsetFetchingComments(false)\r\n\t}\r\n\r\n\tasync function toggleLike() {\r\n\t\tliked ? await removeLike(group.id, post.id) : await like(group.id, post.id)\r\n\t\tsetLikeCount(likeCount => likeCount + (liked ? -1 : 1))\r\n\t\tsetLiked(!liked)\r\n\t}\r\n\r\n function ParentPost() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {post.username}\r\n \r\n \r\n {moment(post.created).format('DD-MM-YYYY HH:mm')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {addLinkToText(body)}\r\n {post.images > 0 && }\r\n\r\n {documents.length !== 0 && (\r\n \r\n {documents.map(({ id, name }) => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n const renderMoreCommentButton = () => {\r\n const totalComments = post.totalComments ?? 0\r\n if (totalComments === 0 || child || hasMoreComments === false) return null\r\n\r\n return (\r\n \r\n {fetchingComments === false && (\r\n \r\n {txt('groups.bulletin.showMoreComments')}\r\n \r\n )}\r\n {fetchingComments === true && }\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n {ParentPost()}\r\n {renderMoreCommentButton()}\r\n {comments.map((comment) => (\r\n \r\n ))}\r\n\r\n {!child &&\r\n \r\n }\r\n\r\n setShowScreeningDialog(false)}\r\n />\r\n\r\n setShowOptionsDialog(false)}\r\n options={options}\r\n title={optionsDialogTitle}\r\n />\r\n\r\n \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n avatar: {\r\n alignSelf: 'center',\r\n },\r\n avatarContainer: {\r\n borderRadius: 100,\r\n opacity: 0.4,\r\n width: 31,\r\n height: 31,\r\n justifyContent: 'center',\r\n marginRight: 6,\r\n },\r\n commentSectionLine: {\r\n borderBottomColor: Colors.blackTransparent,\r\n borderBottomWidth: 1,\r\n marginBottom: 10,\r\n opacity: 0.9,\r\n },\r\n lightText: {\r\n color: Colors.inactive,\r\n },\r\n postBody: {\r\n marginVertical: 12,\r\n },\r\n postContainer: {\r\n ...CornerStyles.borderRadiusS,\r\n flexDirection: 'column',\r\n marginBottom: 12,\r\n padding: 10,\r\n\tmarginHorizontal: 10,\r\n },\r\n postHeader: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n },\r\n moreCommentsButton: {\r\n paddingTop: 10,\r\n paddingBottom: 14,\r\n paddingLeft: 20,\r\n display: 'flex',\r\n alignItems: 'flex-start',\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View } from 'react-native'\r\nimport Webcam from 'react-webcam'\r\nimport Layout from '../../constants/Layout'\r\nimport { txt } from '../../locales/i18n'\r\nimport { RoundBtn } from '../buttons/StyledButtons'\r\n\r\nexport const WebcamCapture = (props) => {\r\n const webcamRef = React.useRef(null)\r\n\r\n const capture = React.useCallback(() => {\r\n const imageSrc = webcamRef.current.getScreenshot()\r\n props.captureImage(imageSrc)\r\n }, [webcamRef])\r\n\r\n const isSmall = Layout.isSmallDevice\r\n\r\n const size = {\r\n width: isSmall ? 250 : 500,\r\n height: isSmall ? 250 : 500,\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","import React, { useState } from 'react'\r\nimport { View, StyleSheet, Platform } from 'react-native'\r\n\r\nimport * as ImagePicker from 'expo-image-picker'\r\nimport { useCameraPermissions } from \"expo-camera\"\r\n\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\n\r\nimport { openSystemSettings } from \"../../utils/getPermissions\"\r\n\r\nimport { WebcamCapture } from './WebcamCapture'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport CustomDialog, { ActionButton, ContentContainer } from '../dialogs/CustomDialog'\r\nimport { CustomText } from '../text/StyledText'\r\n\r\nexport default function ImagePickerPrivate(props) {\r\n const [webcamOn, setWebcamOn] = useState(false)\r\n const [showDialog, setShowDialog] = useState(false)\r\n const [, requestPermission] = useCameraPermissions()\r\n\r\n const pickImages = async (type) => {\r\n const permission = await getPermissionAsync(type)\r\n if (!permission) return\r\n\r\n const mediaTypes = ImagePicker.MediaTypeOptions.Images\r\n\r\n if (type === 'library') {\r\n // quality: 1 is necessary for it to work on android\r\n const options = { mediaTypes, allowsMultipleSelection: true, base64: true, quality: 1 }\r\n const result = await ImagePicker.launchImageLibraryAsync(options)\r\n\r\n if (result.canceled || result.assets.length === 0) return\r\n props.addImages(filterImages(result.assets))\r\n }\r\n\r\n if (type === 'camera') {\r\n const options = { mediaTypes, allowsEditing: true, aspect: [1, 1], base64: true }\r\n const result = await ImagePicker.launchCameraAsync(options)\r\n\r\n if (result.canceled || result.assets.length === 0) return\r\n props.addImages(result.assets)\r\n }\r\n }\r\n\r\n const getPermissionAsync = async (type) => {\r\n if (Platform.OS !== 'web') {\r\n const { granted, canAskAgain } = await requestPermission()\r\n if (granted === false) {\r\n if (canAskAgain === false) {\r\n return await openSystemSettings()\r\n }\r\n }\r\n return granted\r\n } else {\r\n if (type === 'camera') {\r\n setWebcamOn(true)\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n\r\n const filterImages = (images) => {\r\n return images.filter((image) => {\r\n const isImage = /^data:image/.test(image.uri)\r\n if (isImage || image.type === 'image') {\r\n setShowDialog(false)\r\n return true\r\n } else if (!image.cancelled && image.type !== 'image') {\r\n setShowDialog(true)\r\n return false\r\n }\r\n })\r\n }\r\n\r\n const handleCaptureImage = (captureImage) => {\r\n setWebcamOn(false)\r\n const image = { uri: captureImage }\r\n props.addImages([image])\r\n }\r\n\r\n return (\r\n \r\n {webcamOn ? (\r\n handleCaptureImage(captureImage)}\r\n />\r\n ) : (\r\n props.multiple ? (\r\n pickImages('library')}\r\n style={{ backgroundColor: props.backgroundColor || Colors.tintColor }}\r\n titleStyle={{ color: props.buttonText || Colors.white }}\r\n />\r\n ) : (\r\n \r\n pickImages('library')}\r\n />\r\n pickImages('camera')}\r\n />\r\n \r\n )\r\n )}\r\n setShowDialog(false)}>\r\n \r\n {txt('groups.bulletin.formatError')}\r\n \r\n setShowDialog(false)}>\r\n {txt('groups.bulletin.ok')}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n buttonContainer: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'space-evenly',\r\n marginBottom: 12,\r\n },\r\n})","export const acceptedMimeTypes = [\r\n { extension: 'pdf', mime: 'application/pdf' },\r\n // { extension: 'rtf', mime: 'application/rtf' },\r\n { extension: 'txt', mime: 'text/plain' },\r\n { extension: 'csv', mime: 'text/csv' },\r\n\r\n // // google formats\r\n { extension: 'gdoc', mime: 'application/vnd.google-apps.document' },\r\n { extension: 'gslides', mime: 'application/vnd.google-apps.spreadsheet' },\r\n { extension: 'gsheet', mime: 'application/vnd.google-apps.presentation' },\r\n\r\n // // apple formats\r\n { extension: 'pages', mime: 'application/vnd.apple.pages' },\r\n { extension: 'numbers', mime: 'application/vnd.apple.numbers' },\r\n { extension: 'key', mime: 'application/vnd.apple.keynote' },\r\n\r\n // office formats\r\n { extension: 'docx', mime: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' },\r\n { extension: 'pptx', mime: 'application/vnd.openxmlformats-officedocument.presentationml.presentation' },\r\n { extension: 'xlsx', mime: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' },\r\n\r\n // office formats legacy\r\n { extension: 'doc', mime: 'application/msword' },\r\n { extension: 'ppt', mime: 'application/vnd.ms-powerpoint' },\r\n { extension: 'xls', mime: 'application/vnd.ms-excel' },\r\n { extension: 'dot', mime: 'application/application/msword' },\r\n { extension: 'pot', mime: 'application/application/vnd.ms-powerpoint' },\r\n { extension: 'pps', mime: 'application/application/vnd.ms-powerpoint' },\r\n { extension: 'xlt', mime: 'application/application/vnd.ms-excel' },\r\n]\r\n\r\nexport const acceptedImageMimeTypes = [\r\n { extension: 'jpg', mime: 'image/jpeg' },\r\n { extension: 'png', mime: 'image/png' },\r\n]\r\n\r\nexport const maximumDocumentSize = 100000000 // 100 megabytes\r\n","// libraries\r\nimport React, { useRef, useState } from 'react'\r\nimport { View, StyleSheet, Image, Platform, FlatList } from 'react-native'\r\nimport * as ImageManipulator from 'expo-image-manipulator'\r\nimport * as FileSystem from 'expo-file-system'\r\n\r\n// components\r\nimport { CustomGroupInput } from '../../text/StyledTextinputs'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { ButtonPrimary, RotateLeftBtn, RotateRightBtn } from '../../buttons/StyledButtons'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Colors from '../../../constants/Colors'\r\nimport CustomDialog, { ActionButton, ContentContainer } from '../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport ImagePickerPrivate from '../../ImagePicker/ImagePickerPrivate'\r\nimport * as DocumentPicker from 'expo-document-picker'\r\nimport { maximumDocumentSize, acceptedMimeTypes } from '../../../constants/FilesConfig'\r\nimport { CameraModal } from '../../camera-modal/camera-modal'\r\n\r\n// api\r\nimport { scaleImages } from '../../../utils/ImageHelper'\r\nimport { createMessage } from '../../../services/api/Groups'\r\nimport { getScreeningConsent } from '../../../services/api/Inbox'\r\nimport ScreeningConsentDialog from '../../dialogs/ScreeningConsentDialog'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function GroupInput(props) {\r\n const [text, setText] = useState('')\r\n const [height, setHeight] = useState(null)\r\n const [images, setImages] = useState([])\r\n const [documents, setDocuments] = useState([])\r\n const [uploadErrorMessage, setUploadErrorMessage] = useState('')\r\n const [showScreeningDialog, setShowScreeningDialog] = useState(false)\r\n const [isLoading, setIsLoading] = useState(false)\r\n const cameraRef = useRef(null)\r\n\r\n const sendMessage = async () => {\r\n setIsLoading(true)\r\n let scaledImages = null\r\n if (images.length > 0) {\r\n scaledImages = await scaleImages(images) || null\r\n if (scaledImages === null) {\r\n setUploadErrorMessage(txt('groups.bulletin.uploadFailed'))\r\n return setIsLoading(false)\r\n }\r\n }\r\n\r\n const consentGiven = await getScreeningConsent()\r\n if (consentGiven === 0) {\r\n setShowScreeningDialog(true)\r\n return setIsLoading(false)\r\n }\r\n\r\n const messageData = {\r\n groupId: props.group.id,\r\n body: text,\r\n images: scaledImages,\r\n documents,\r\n }\r\n\r\n const message = await createMessage(messageData)\r\n setIsLoading(false)\r\n\r\n if (message === undefined) {\r\n return setUploadErrorMessage(txt('groups.bulletin.uploadFailed'))\r\n }\r\n\r\n if (message?.errCode) {\r\n return setUploadErrorMessage(txt('groups.bulletin.uploadFailed'))\r\n }\r\n\r\n setText('')\r\n setImages([])\r\n setDocuments([])\r\n props.onMessageCreated(message)\r\n }\r\n\r\n const addImages = (images) => {\r\n if (images) {\r\n setImages((prevState) => [...images, ...prevState])\r\n }\r\n }\r\n\r\n const removeImage = async (imgIndex) => {\r\n const filteredImages = images.filter((img, index) => {\r\n if (index !== imgIndex) {\r\n return img\r\n }\r\n })\r\n setImages(filteredImages)\r\n }\r\n\r\n const rotateImage = async (direction, index) => {\r\n if (!images) return\r\n\r\n const manipResult = await ImageManipulator.manipulateAsync(images[index].uri, [{ rotate: direction * 90 }], {\r\n format: ImageManipulator.SaveFormat.JPEG,\r\n })\r\n\r\n const copyOfImages = images.slice()\r\n copyOfImages[index] = manipResult\r\n setImages(copyOfImages)\r\n }\r\n\r\n const handleSetText = (text) => {\r\n if (text === '') {\r\n setHeight(null)\r\n }\r\n setText(text)\r\n }\r\n\r\n const renderImageItem = ({ item, index }, removeImage) => {\r\n return (\r\n \r\n {renderImagePreview(item)}\r\n \r\n {\r\n // Web goes opposite direction\r\n rotateImage(Platform.OS === 'web' ? 1 : -1, index)\r\n }}\r\n style={{ paddingHorizontal: 12 }}\r\n />\r\n removeImage(index)}>\r\n \r\n \r\n {\r\n rotateImage(Platform.OS === 'web' ? -1 : 1, index)\r\n }}\r\n style={{ paddingHorizontal: 12 }}\r\n />\r\n \r\n \r\n )\r\n }\r\n\r\n const renderImagePreview = (item) => {\r\n return \r\n }\r\n\r\n const removeDocument = (index) => {\r\n setDocuments((previous) => previous.filter((e, i) => i !== index))\r\n }\r\n\r\n const renderDocuments = () => {\r\n return documents.map((document, index) => (\r\n \r\n \r\n {document.name}\r\n \r\n\r\n {/* remove button */}\r\n removeDocument(index)}\r\n accessibilityRole=\"button\"\r\n accessibilityLabel={txt('groups.input.removeDocument')}\r\n accessibilityHint={txt('groups.input.removeDocumentHint')}\r\n >\r\n \r\n \r\n \r\n ))\r\n }\r\n\r\n const pickDocument = async () => {\r\n const { assets, canceled } = await DocumentPicker.getDocumentAsync({})\r\n if (canceled) return // cancelled by user\r\n\r\n const [file] = assets\r\n const { name, size, uri } = file\r\n\r\n let base64\r\n\r\n if (Platform.OS === 'web') {\r\n const regex = /;base64,(?.+)$/g.exec(uri)\r\n base64 = regex.groups.data\r\n } else {\r\n base64 = await FileSystem.readAsStringAsync(uri, { encoding: 'base64' })\r\n }\r\n\r\n // validate file format\r\n const { extension } = /.(?\\w+)$/g.exec(name).groups\r\n const documentType = acceptedMimeTypes.find((e) => {\r\n return e.extension === extension.toLowerCase()\r\n })\r\n\r\n if (!documentType) {\r\n const errorMessage = txt('groups.bulletin.unsupportedDocument')\r\n return setUploadErrorMessage(errorMessage)\r\n }\r\n\r\n // validate size\r\n if (size > maximumDocumentSize) {\r\n const errorMessage = txt('groups.bulletin.documentToLarge')\r\n const supportedSize = `${maximumDocumentSize * 10 ** -6} megabytes`\r\n return setUploadErrorMessage(`${errorMessage} ${supportedSize}`)\r\n }\r\n\r\n const document = { base64, name, size, ...documentType }\r\n setDocuments((previous) => [document, ...previous])\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n setHeight(e.nativeEvent.contentSize.height)}\r\n height={height}\r\n value={text}\r\n //style={{ backgroundColor: props.group.theme?.secondary || Colors.white }}\r\n />\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n cameraRef.current?.open?.()}\r\n style={{ backgroundColor: props.group?.theme?.primary || Colors.tintColor, marginLeft: 10 }}\r\n titleStyle={{ color: props.group?.theme?.buttonText || Colors.white }}\r\n color={props.group.theme?.buttonText || Colors.white}\r\n accessibilityLabel={txt('groups.input.openCamera')}\r\n />\r\n\r\n \r\n \r\n \r\n\r\n {images.length !== 0 && (\r\n \r\n renderImageItem(item, removeImage)}\r\n />\r\n \r\n )}\r\n\r\n {/* document container */}\r\n {documents.length !== 0 && {renderDocuments()}}\r\n\r\n setImages((images) => [image, ...images])}\r\n />\r\n\r\n setUploadErrorMessage('')}\r\n >\r\n \r\n {uploadErrorMessage}\r\n \r\n setUploadErrorMessage('')}>\r\n {txt('groups.bulletin.ok')}\r\n \r\n \r\n\r\n setShowScreeningDialog(false)} />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n document: {\r\n alignItems: 'center',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n },\r\n documentContainer: {\r\n margin: 10,\r\n },\r\n documentLink: {\r\n flex: 1,\r\n },\r\n imageContainer: {\r\n flex: 1,\r\n flexDirection: 'row',\r\n justifyContent: 'center',\r\n marginBottom: 10,\r\n marginTop: 10,\r\n },\r\n images: {\r\n alignItems: 'center',\r\n borderRadius: Fontsizes.cornerRounding,\r\n display: 'flex',\r\n height: 200,\r\n justifyContent: 'center',\r\n width: 200,\r\n },\r\n inputContainer: {\r\n flex: 1,\r\n flexGrow: 5,\r\n maxHeight: 300,\r\n minHeight: 100,\r\n width: '100%',\r\n },\r\n inputOptions: {\r\n marginVertical: 12,\r\n width: '100%',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'center'\r\n },\r\n margin10: { margin: 10 },\r\n pickedImageContainer: {\r\n marginTop: 10,\r\n paddingRight: 10,\r\n },\r\n postContainer: {\r\n width: '100%',\r\n },\r\n rotateBtnContainer: {\r\n flexDirection: 'row',\r\n justifyContent: 'space-around',\r\n marginBottom: 5,\r\n marginTop: 5,\r\n },\r\n})\r\n","import React, { useEffect, useState, useRef, useCallback } from 'react'\r\nimport { FlatList, StyleSheet, Platform, AppState, ActivityIndicator } from 'react-native'\r\nimport { useBottomTabBarHeight } from '@react-navigation/bottom-tabs'\r\nimport { useFocusEffect, useNavigation } from '@react-navigation/core'\r\nimport { useSelector } from 'react-redux'\r\n\r\nimport * as GroupService from '../../../services/api/Groups'\r\nimport GroupPost from './GroupPost'\r\nimport GroupInput from './GroupInput'\r\n\r\nimport { useKeyboardHeight } from '../../../utils/hooks'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport Colors from '../../../constants/Colors'\r\n\r\nexport default function GroupBulletin(props) {\r\n\tconst group = props.group ?? null\r\n\tconst groupId = group?.id\r\n\tconst navigation = useNavigation()\r\n\tconst themeColor = group?.theme?.primary ?? Colors.tintColor\r\n\r\n\tconst [posts, setPosts] = useState([])\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [refreshing, setRefreshing] = useState(false)\r\n\tconst [endReached, setEndReached] = useState(false)\r\n\r\n\tconst listRef = useRef(null)\r\n\tconst [activePostIndex, setActivePostIndex] = useState(null)\r\n\tconst keyboardHeight = useKeyboardHeight()\r\n\tconst bottomTabBarHeight = useBottomTabBarHeight()\r\n\r\n\tconst groupRedux = useSelector((state) => state.groups?.find((g) => g.id === props.group.id))\r\n\r\n\tuseEffect(() => {\r\n\t\tconst subscription = AppState.addEventListener('change', (state) => {\r\n\t\t\tif (state === 'active' && Platform.OS !== 'web') refresh()\r\n\t\t})\r\n\r\n\t\treturn () => subscription?.remove()\r\n\t}, [groupId, navigation])\r\n\r\n\tuseFocusEffect(\r\n\t\tuseCallback(() => {\r\n\t\t\tGroupService.readAllGroupMessages({ id: props.group.id })\r\n\t\t}, [groupRedux?.unread])\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tscrollUpdate()\r\n\t}, [activePostIndex, keyboardHeight])\r\n\r\n\tconst scrollUpdate = () => {\r\n\t\tif (Platform.OS !== 'ios') return\r\n\t\tif (activePostIndex === null || keyboardHeight === 0) return\r\n\r\n\t\tconst list = listRef.current\r\n\t\tconst viewOffset = (keyboardHeight - bottomTabBarHeight) * -1\r\n\t\tlist.scrollToIndex({ index: activePostIndex, animated: true, viewPosition: 1, viewOffset })\r\n\t}\r\n\r\n\tconst getPosts = async (skip = 0) => {\r\n\t\tconst paginationCount = 10\r\n\t\tconst posts = await GroupService.getGroupMessages(groupId, skip, paginationCount)\r\n\t\tskip === 0 ? setPosts(posts) : setPosts((current) => [...current, ...posts])\r\n\r\n\t\tsetEndReached(posts.length < paginationCount)\r\n\t}\r\n\r\n\tconst paginate = useCallback(async () => {\r\n\t\tif (loading || refreshing || endReached) return\r\n\r\n\t\tsetLoading(true)\r\n\t\tawait getPosts(posts.length)\r\n\t\tsetLoading(false)\r\n\t}, [loading, refreshing, endReached])\r\n\r\n\tconst refresh = async () => {\r\n\t\tif (refreshing || loading) return\r\n\r\n\t\tsetPosts([])\r\n\t\tsetRefreshing(true)\r\n\t\tawait getPosts(0)\r\n\t\tsetRefreshing(false)\r\n\t}\r\n\r\n\tconst renderPost = ({ item, index }) => (\r\n\t\t setActivePostIndex(index)}\r\n\t\t\tonInputBlur={() => setActivePostIndex(null)}\r\n\t\t/>\r\n\t)\r\n\r\n\tconst ListHeader = \r\n\tconst ListFooter = (loading || refreshing) && \r\n\r\n\treturn (\r\n\t\t id.toString()}\r\n\t\t\t// components\r\n\t\t\trenderItem={renderPost}\r\n\t\t\tListHeaderComponent={ListHeader}\r\n\t\t\tListFooterComponent={ListFooter}\r\n\t\t\t// handlers\r\n\t\t\tonRefresh={refresh}\r\n\t\t\tonEndReached={paginate}\r\n\t\t\t// options\r\n\t\t\tonEndReachedThreshold={0.5}\r\n\t\t\tkeyboardDismissMode=\"on-drag\"\r\n\t\t\tonMomentumScrollBegin={() => setActivePostIndex(null)}\r\n\t\t/>\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tlist: {\r\n\t\tflex: 1,\r\n\t\t...SpacingStyles.widthAndHeight,\r\n\t},\r\n\r\n\tloader: {\r\n\t\tmargin: 12,\r\n\t\ttextAlign: 'center',\r\n\t},\r\n})\r\n","import { useEffect, useState } from 'react'\r\nimport { Keyboard } from 'react-native'\r\n\r\nexport function useKeyboardHeight() {\r\n const [keyboardHeight, setKeyboardHeight] = useState(0)\r\n let keyboardDidShow, keyboardDidHide\r\n\r\n function onKeyboardDidShow(e) {\r\n setKeyboardHeight(e.endCoordinates.height)\r\n }\r\n\r\n function onKeyboardDidHide() {\r\n setKeyboardHeight(0)\r\n }\r\n\r\n useEffect(() => {\r\n keyboardDidShow = Keyboard.addListener('keyboardDidShow', onKeyboardDidShow)\r\n keyboardDidHide = Keyboard.addListener('keyboardDidHide', onKeyboardDidHide)\r\n return () => {\r\n keyboardDidShow.remove()\r\n keyboardDidHide.remove()\r\n }\r\n }, [])\r\n\r\n return keyboardHeight\r\n}","import React from 'react'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport CustomDialog, {\r\n ActionButton,\r\n ContentContainer,\r\n} from '../../../dialogs/CustomDialog'\r\n\r\nconst LeaveGroupDialog = (props) => (\r\n \r\n \r\n {txt('groups.members.leaveGroupText')}\r\n \r\n \r\n {txt('groups.members.yes')}\r\n \r\n \r\n {txt('groups.members.no')}\r\n \r\n \r\n)\r\n\r\nexport default LeaveGroupDialog\r\n","// libraries\r\nimport React, { useState } from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport { useSelector } from 'react-redux'\r\n\r\n// api\r\nimport { getConversationId } from '../../../services/api/Inbox'\r\n\r\n// components\r\nimport { CustomText } from '../../text/StyledText'\r\nimport OptionButton from '../../buttons/OptionButton'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Colors from '../../../constants/Colors'\r\nimport OptionsDialog from '../../dialogs/OptionsDialog'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport { getHexColor } from '../../../utils/getHexColor'\r\nimport Card from '../../Card'\r\n\r\nexport default function GroupMemberItem({ item, ownUserRank, ...props }) {\r\n const [showOptionsDialog, setShowOptionsDialog] = useState(false)\r\n \r\n const user = useSelector((state) => state.user)\r\n\r\n const renderText = () => {\r\n const now = new Date()\r\n let text = item[item.rank_id && item.rank_id !== 6 ? 'username' : 'email']\r\n //Second check is for K7 group to show age of invites to group 287\r\n text = item.rank_id === 1 ? `${text} (Admin)` : item.rank_id === 4 && item.birth_year && props.group.id === 287 ? `${text + ' (' + (now.getFullYear() - item.birth_year) + ')'}` : text\r\n return text\r\n }\r\n\r\n const leaveGroupOption = {\r\n label: txt('groups.members.leave'),\r\n icon: \"user-check\",\r\n action: async () => {\r\n await props.leaveGroup(props.group.id)\r\n setShowOptionsDialog(false)\r\n },\r\n }\r\n\r\n const sendMessageOption = {\r\n label: txt('groups.members.sendMessage'),\r\n icon: \"comment-lines\",\r\n action: async () => {\r\n if (!item.user_id) return\r\n const conversationId = await getConversationId({\r\n groupId: props.group.id,\r\n receiverId: item.user_id,\r\n })\r\n if (conversationId) await props.navigateToConversation(conversationId)\r\n else await props.navigateToNewConversation(item.user_id)\r\n setShowOptionsDialog(false)\r\n },\r\n }\r\n\r\n const makeAdminOption = {\r\n label: txt('groups.members.makeAdmin'),\r\n icon: \"user-check\",\r\n action: async () => {\r\n await props.makeAdmin(item)\r\n setShowOptionsDialog(false)\r\n },\r\n }\r\n\r\n const removeMemberOption = {\r\n label: txt('groups.members.removeMember'),\r\n icon: \"times-circle\",\r\n action: async () => {\r\n await props.removeMember(item)\r\n setShowOptionsDialog(false)\r\n },\r\n type: 'danger',\r\n }\r\n\r\n const approveRequestOption = {\r\n label: txt('groups.members.approve'),\r\n icon: \"check\",\r\n action: async () => {\r\n await props.approveRequest(item)\r\n setShowOptionsDialog(false)\r\n },\r\n }\r\n\r\n const declineRequestOption = {\r\n label: txt('groups.members.decline'),\r\n icon: \"times\",\r\n action: async () => {\r\n await props.declineRequest(item)\r\n setShowOptionsDialog(false)\r\n },\r\n type: 'danger',\r\n }\r\n\r\n const unbanUserOption = {\r\n label: txt('groups.members.unbanUser'),\r\n icon: \"lock-open-alt\",\r\n action: async () => {\r\n await props.unbanUser(item)\r\n setShowOptionsDialog(false)\r\n },\r\n }\r\n\r\n const deleteInviteOption = {\r\n label: txt('groups.members.deleteInvitation'),\r\n icon: \"trash\",\r\n type: 'danger',\r\n action: async () => {\r\n await props.deleteInvitation(item)\r\n setShowOptionsDialog(false)\r\n },\r\n }\r\n\r\n const options = []\r\n\r\n if (item.rank_id > 0 && item.rank_id < 4 && user.id != item.user_id) {\r\n options.push(sendMessageOption)\r\n }\r\n\r\n if (ownUserRank === 1 && (item.rank_id === 1 || item.rank_id === 2 || item.rank_id === 3) && (user.id !== item.user_id)) {\r\n options.push(removeMemberOption)\r\n }\r\n\r\n if (ownUserRank === 1 && (item.rank_id === 2 || item.rank_id === 3)) {\r\n options.push(makeAdminOption)\r\n }\r\n\r\n if (ownUserRank === 1 && item.rank_id === 4) {\r\n options.push(approveRequestOption, declineRequestOption, sendMessageOption)\r\n }\r\n\r\n if (ownUserRank === 1 && item.rank_id === 8) {\r\n options.push(unbanUserOption)\r\n }\r\n\r\n if (ownUserRank === 1 && !item.rank_id) {\r\n options.push(deleteInviteOption)\r\n }\r\n\r\n if (user.id === item.user_id) {\r\n options.push(leaveGroupOption)\r\n }\r\n\r\n return (\r\n setShowOptionsDialog(!showOptionsDialog)}\r\n style={[styles.container, { backgroundColor: props.group.theme?.secondary || Colors.white }]}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {renderText()}\r\n \r\n \r\n\r\n \r\n setShowOptionsDialog(true)}\r\n />\r\n \r\n setShowOptionsDialog(false)}\r\n options={options}\r\n title={renderText()}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n alignItems: 'center',\r\n flex: 1,\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n marginLeft: 12,\r\n marginRight: 12,\r\n marginBottom: 10,\r\n padding: 5,\r\n },\r\n textContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n flex: 7,\r\n padding: 5,\r\n },\r\n avatar: {\r\n borderRadius: 100,\r\n marginRight: 8,\r\n opacity: 0.4,\r\n padding: 5,\r\n },\r\n})","import React from 'react'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport CustomDialog, {\r\n ActionButton,\r\n ContentContainer,\r\n} from '../../../dialogs/CustomDialog'\r\n\r\nconst OnlyAdminInGroup = (props) => (\r\n \r\n \r\n {txt('groups.members.onlyAdminTitle')}\r\n {txt('groups.members.onlyAdminText')}\r\n \r\n \r\n {txt('groups.members.ok')}\r\n \r\n \r\n)\r\n\r\nexport default OnlyAdminInGroup\r\n","import CustomDialog, { ActionButton, ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport React from 'react'\r\n\r\nconst GroupDialog = ({ visible, title, description, accept, acceptText, cancel }) => (\r\n \r\n \r\n \r\n {title}\r\n \r\n {description && ({description})}\r\n \r\n \r\n {acceptText || txt('groups.members.yes')}\r\n \r\n \r\n {txt('groups.members.cancel')}\r\n \r\n \r\n)\r\n\r\nexport default GroupDialog","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet, ScrollView, FlatList } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport { txt } from '../../../locales/i18n'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport {\r\n getGroupMembers,\r\n leaveGroupByID,\r\n removeGroupMember,\r\n getJoinRequests,\r\n getBannedMembers,\r\n unbanGroupMember,\r\n approveJoinRequest,\r\n sendInvite,\r\n makeUserAdmin,\r\n getInvitedMembers,\r\n deleteInvite,\r\n banGroupMember,\r\n} from '../../../services/api/Groups'\r\nimport CustomDialog, { ActionButton, ContentContainer } from '../../dialogs/CustomDialog'\r\nimport { CustomInputs } from '../../text/StyledTextinputs'\r\nimport RegexPatterns from '../../../constants/RegexPatterns'\r\nimport { InvalidInputNoticeCentered } from '../../notices/InvalidInputNotices'\r\nimport LeaveGroupDialog from './dialogs/LeaveGroupDialog'\r\nimport GroupMemberItem from './GroupMemberItem'\r\nimport store from '../../../redux/store'\r\nimport OnlyAdminInGroup from './dialogs/OnlyAdminInGroup'\r\nimport Colors from '../../../constants/Colors'\r\nimport GroupDialog from './dialogs/GroupDialog'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport { CustomSnackbar } from \"../../snackbars/Snackbar\"\r\n\r\nexport default function GroupMembers(props) {\r\n const [groupMembersState, setGroupMembersState] = useState({\r\n visibleOnlyAdmin: false,\r\n visibleLeaveGroup: false,\r\n visibleRemoveMember: false,\r\n visibleAddMember: false,\r\n visibleRemoveMemberConfirmation: false,\r\n visibleUnbanUser: false,\r\n visibleMakeAdmin: false,\r\n visibleDeleteInvite: false,\r\n ownUserRank: props.group.own_user_rank,\r\n userToBeRemoved: null,\r\n userToBeAdmin: null,\r\n removeId: null,\r\n userToDecline: null,\r\n userToUnban: null,\r\n userInviteToDelete: null,\r\n expanded: false,\r\n addMemberName: '',\r\n addMemberEmail: '',\r\n isAddMemberEmailValid: true,\r\n visibleDeclineRequest: false,\r\n })\r\n const [memberList, setMemberList] = useState([])\r\n const [joinRequests, setJoinRequests] = useState([])\r\n const [invitedList, setInvitedList] = useState([])\r\n const [bannedUsers, setBannedUsers] = useState([])\r\n const [bannedUsersFetched, setBannedUsersFetched] = useState(false)\r\n const [snackbarMessage, setSnackbarMessage] = useState(null)\r\n\r\n function updateState(update) {\r\n setGroupMembersState((prev) => ({ ...prev, ...update }))\r\n }\r\n\r\n useEffect(() => {\r\n getGroupMembers(props.group.id).then(setMemberList)\r\n if (props.group.own_user_rank === 1) {\r\n getJoinRequests(props.group.id).then(setJoinRequests)\r\n getInvitedMembers(props.group.id).then(setInvitedList)\r\n getBannedMembers(props.group.id).then((res) => {\r\n setBannedUsers(res)\r\n setBannedUsersFetched(true)\r\n })\r\n }\r\n }, [])\r\n\r\n const leaveGroup = async () => {\r\n const didLeaveGroup = await leaveGroupByID(props.group.id)\r\n if (didLeaveGroup.status_msg === 'User left group.') {\r\n props.navigateToGroups()\r\n }\r\n }\r\n\r\n async function togglePanel() {\r\n updateState({ expanded: !groupMembersState.expanded })\r\n if (bannedUsersFetched === false) {\r\n getBannedMembers(props.group.id).then((res) => {\r\n setBannedUsers(res)\r\n setBannedUsersFetched(true)\r\n })\r\n }\r\n }\r\n\r\n const handleLeaveGroup = () => {\r\n const oneAdmin = memberList.filter(m => m.rank_id === 1).length === 1\r\n const isAdmin = memberList.filter(m => m.user_id === store.getState().user.id && m.rank_id === 1).length === 1\r\n if (oneAdmin && isAdmin) updateState({ visibleOnlyAdmin: true })\r\n else updateState({ visibleLeaveGroup: true })\r\n }\r\n\r\n const showDialogMakeAdmin = (user) => {\r\n updateState({ visibleMakeAdmin: true, userToBeAdmin: user })\r\n }\r\n\r\n const showDialogRemoveMember = (user) => {\r\n updateState({ visibleRemoveMember: true, userToBeRemoved: user })\r\n }\r\n\r\n const hideDialogAddMember = () => {\r\n updateState({\r\n visibleAddMember: false,\r\n addMemberEmail: '',\r\n addMemberName: '',\r\n isAddMemberEmailValid: true,\r\n })\r\n }\r\n\r\n // kick = 0, ban = 1\r\n const showDialogRemoveMemberConfirmation = (removeId) => {\r\n updateState({\r\n visibleRemoveMemberConfirmation: true,\r\n removeId,\r\n visibleRemoveMember: false,\r\n })\r\n }\r\n\r\n const hideDialogRemoveMemberConfirmation = () => {\r\n updateState({\r\n visibleRemoveMemberConfirmation: false,\r\n removeId: null,\r\n userToBeRemoved: null,\r\n })\r\n }\r\n\r\n const handleRemoveMemberFromGroup = async () => {\r\n if (!groupMembersState.userToBeRemoved) return\r\n const memberRemoved = await removeGroupMember(props.group.id, groupMembersState.userToBeRemoved.user_id)\r\n await reloadMemberList()\r\n hideDialogRemoveMemberConfirmation()\r\n if (memberRemoved === false) {\r\n setSnackbarMessage(txt('groups.members.removeMemberError'))\r\n }\r\n }\r\n const handleBanMemberFromGroup = async () => {\r\n if (!groupMembersState.userToBeRemoved) return\r\n const memberBanned = await banGroupMember(props.group.id, groupMembersState.userToBeRemoved.user_id)\r\n await reloadMemberList()\r\n hideDialogRemoveMemberConfirmation()\r\n if (memberBanned === false) {\r\n setSnackbarMessage(txt('groups.members.banMemberError'))\r\n }\r\n }\r\n\r\n const reloadMemberList = async () => {\r\n getGroupMembers(props.group.id).then(setMemberList)\r\n getBannedMembers(props.group.id).then((res) => {\r\n setBannedUsers(res)\r\n setBannedUsersFetched(true)\r\n })\r\n }\r\n\r\n const handleDeleteInvite = async () => {\r\n if (!groupMembersState.userInviteToDelete) return\r\n const wasDeleted = await deleteInvite(props.group.id, groupMembersState.userInviteToDelete.email)\r\n if (wasDeleted.status === 200) {\r\n getInvitedMembers(props.group.id).then(setInvitedList)\r\n }\r\n updateState({ visibleDeleteInvite: false, userInviteToDelete: null })\r\n }\r\n\r\n const handleDeclineJoinRequest = async () => {\r\n if (!groupMembersState.userToDecline) return\r\n const joinRequestDeclined = await removeGroupMember(props.group.id, groupMembersState.userToDecline.user_id)\r\n getJoinRequests(props.group.id).then(setJoinRequests)\r\n updateState({ visibleDeclineRequest: false, userToDecline: null })\r\n if (joinRequestDeclined === false) {\r\n setSnackbarMessage(txt('groups.members.declineInviteError'))\r\n }\r\n }\r\n\r\n const handleUnbanUser = async () => {\r\n if (!groupMembersState.userToUnban) return\r\n const wasUnbanned = await unbanGroupMember(props.group.id, groupMembersState.userToUnban.user_id)\r\n await reloadMemberList()\r\n updateState({ visibleUnbanUser: false })\r\n if (wasUnbanned === false) {\r\n setSnackbarMessage(txt('groups.members.unbanMemberError'))\r\n }\r\n }\r\n\r\n const handleMakeAdmin = async () => {\r\n const didBecomeAdmin = await makeUserAdmin(props.group.id, groupMembersState.userToBeAdmin.user_id)\r\n if (didBecomeAdmin && didBecomeAdmin.status_msg === 'User was made admin') {\r\n getGroupMembers(props.group.id).then(setMemberList)\r\n }\r\n updateState({ visibleMakeAdmin: false, userToBeAdmin: null })\r\n }\r\n\r\n const showDialogDeleteInvite = (item) => {\r\n updateState({ visibleDeleteInvite: true, userInviteToDelete: item })\r\n }\r\n\r\n const showDialogDeclineRequest = (item) => {\r\n updateState({ visibleDeclineRequest: true, userToDecline: item })\r\n }\r\n\r\n const showDialogUnbanUser = (item) => {\r\n updateState({ visibleUnbanUser: true, userToUnban: item })\r\n }\r\n\r\n const handleApproveJoinRequest = async (item) => {\r\n if (!item) return\r\n const didJoin = await approveJoinRequest(props.group.id, item.user_id)\r\n if (didJoin.status_code >= 200 && didJoin.status_code <= 299) {\r\n getJoinRequests(props.group.id).then(setJoinRequests)\r\n getGroupMembers(props.group.id).then(setMemberList)\r\n }\r\n }\r\n\r\n const handleSendInvite = async () => {\r\n const conditions = RegexPatterns.email.map((rule) => new RegExp(rule, 'g'))\r\n const isEmailValid = conditions.map((condition) => condition.test(groupMembersState.addMemberEmail))\r\n if (isEmailValid.includes(false)) {\r\n updateState({ isAddMemberEmailValid: false })\r\n } else {\r\n updateState({ isAddMemberEmailValid: true })\r\n // send invite\r\n const res = await sendInvite(props.group.id, groupMembersState.addMemberEmail.trim(), groupMembersState.addMemberName)\r\n if (res?.wasInvited) {\r\n getInvitedMembers(props.group.id).then(setInvitedList)\r\n }\r\n hideDialogAddMember()\r\n }\r\n }\r\n\r\n const renderMembers = ({ item }) => (\r\n \r\n )\r\n\r\n const renderJoinRequests = ({ item }) => (\r\n \r\n )\r\n\r\n const renderInvitedList = ({ item }) => (\r\n \r\n )\r\n\r\n const renderBannedMembers = ({ item }) => (\r\n \r\n )\r\n\r\n return (\r\n <>\r\n \r\n \r\n {groupMembersState.ownUserRank === 1 && (\r\n \r\n updateState({ visibleAddMember: true })}\r\n style={{ backgroundColor: props.group.theme?.primary || Colors.tintColor }}\r\n titleStyle={{ color: props.group.theme?.buttonText || Colors.white }}\r\n title={txt('groups.members.addMember')}\r\n />\r\n \r\n )}\r\n \r\n\r\n\r\n {(groupMembersState.ownUserRank === 1 || groupMembersState.ownUserRank === 0) && (\r\n \r\n {/** Join requests */}\r\n {joinRequests?.length !== 0 && (\r\n \r\n \r\n {txt('groups.members.requests')}\r\n \r\n \r\n item.user_id?.toString()}\r\n />\r\n \r\n \r\n )}\r\n\r\n {/** Invitations */}\r\n {invitedList.length !== 0 && (\r\n \r\n \r\n {txt('groups.members.invitations')}\r\n \r\n \r\n item.email}\r\n />\r\n \r\n \r\n )}\r\n \r\n )}\r\n\r\n {/** Members */}\r\n \r\n \r\n {txt('groups.members.members')}\r\n \r\n \r\n item.user_id?.toString()}\r\n />\r\n \r\n \r\n\r\n {(groupMembersState.ownUserRank === 1 || groupMembersState.ownUserRank === 0) && (\r\n \r\n {/** Banned users */}\r\n {bannedUsers.length !== 0 && (\r\n \r\n \r\n \r\n {txt('groups.members.bannedUsers')}\r\n \r\n \r\n \r\n {groupMembersState.expanded ? (\r\n \r\n item.user_id?.toString()}\r\n />\r\n \r\n ) : null}\r\n \r\n )}\r\n \r\n )}\r\n \r\n\r\n {/* Dialog for leaving group */}\r\n updateState({ visibleLeaveGroup: false })}\r\n accept={leaveGroup}\r\n />\r\n\r\n {/* Dialog for trying to leave when only admin left */}\r\n updateState({ visibleOnlyAdmin: false })}\r\n />\r\n\r\n {/* Dialog for making group member admin */}\r\n updateState({ visibleMakeAdmin: false, userToBeAdmin: null })}\r\n />\r\n\r\n {/* Dialog for removing group member */}\r\n \r\n \r\n \r\n {txt('groups.members.removeMemberText')}\r\n {groupMembersState.userToBeRemoved ? groupMembersState.userToBeRemoved.username + '?' : '?'}\r\n \r\n {txt('groups.members.removeMemberDescription')}\r\n \r\n showDialogRemoveMemberConfirmation(0)}>\r\n {txt('groups.members.kick')}\r\n \r\n showDialogRemoveMemberConfirmation(1)}>\r\n {txt('groups.members.ban')}\r\n \r\n updateState({ visibleRemoveMember: false })}>\r\n {txt('groups.members.cancel')}\r\n \r\n \r\n\r\n {/* Dialog for removing group member confirmation */}\r\n \r\n\r\n {/* Dialog for adding group member */}\r\n \r\n \r\n \r\n \r\n {txt('groups.members.addMemberText')}\r\n \r\n\r\n \r\n updateState({ addMemberName: value })}\r\n />\r\n \r\n \r\n updateState({ addMemberEmail: value })}\r\n />\r\n {/* Invalid email prompt */}\r\n {!groupMembersState.isAddMemberEmailValid && (\r\n {txt('invalidNotice.invalidEmail')}\r\n )}\r\n \r\n \r\n \r\n {txt('groups.members.addMemberText')}\r\n {txt('groups.close')}\r\n \r\n\r\n {/* Dialog for deleting invites */}\r\n updateState({ visibleDeleteInvite: false, userInviteToDelete: null })}\r\n />\r\n\r\n {/* Dialog for declining join request */}\r\n updateState({ visibleDeclineRequest: false, userToDecline: null })}\r\n />\r\n\r\n {/* Dialog for unbanning user */}\r\n updateState({ visibleUnbanUser: false })}\r\n />\r\n\r\n \r\n \r\n setSnackbarMessage(null)}\r\n text={snackbarMessage}\r\n icon=\"circle-exclamation\"\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n dialogTextContainer: { alignSelf: 'center', marginBottom: 10 },\r\n flexRow: { flexDirection: 'row', justifyContent: 'space-evenly' },\r\n input: { minWidth: 300 },\r\n marginBottom: { marginBottom: 15 },\r\n marginTop: { marginTop: 10 },\r\n row: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n },\r\n titleContainer: { ...SpacingStyles.marginRightLeft10, marginBottom: 10 },\r\n})\r\n","export const groupThemes = [\r\n {\r\n id: 0,\r\n primary: '#2a6592',\r\n // secondary: '#ffffff',\r\n background: '#EDF7F9FF',\r\n },\r\n {\r\n id: 1,\r\n primary: '#FEC71E',\r\n // secondary: '#FFF3D7',\r\n background: '#fffbee',\r\n buttonText: '#333333',\r\n },\r\n {\r\n id: 2,\r\n primary: '#EE7602',\r\n // secondary: '#FFF0E1',\r\n background: '#fff7ee',\r\n },\r\n {\r\n id: 3,\r\n primary: '#d72d39',\r\n // secondary: '#FEE3E4',\r\n background: '#FEF5F5',\r\n },\r\n {\r\n id: 4,\r\n primary: '#DD166B',\r\n // secondary: '#FEE3EE',\r\n background: '#fff3f8',\r\n },\r\n {\r\n id: 5,\r\n primary: '#5a1158',\r\n // secondary: '#F1E0FF',\r\n background: '#f8f5ff',\r\n },\r\n {\r\n id: 6,\r\n primary: '#002920',\r\n // secondary: '#DEF9F2',\r\n background: '#f1fff1',\r\n },\r\n]","import { View } from 'react-native'\r\nimport Colors from '../../../../constants/Colors'\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport React from 'react'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nexport default function ThemeRadioButton({ onPress, checked, border, color, size, text }) {\r\n return (\r\n \r\n \r\n \r\n \r\n {text}\r\n \r\n )\r\n}","// libraries\r\nimport React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet, ScrollView } from 'react-native'\r\nimport { useNavigation } from '@react-navigation/core'\r\n\r\n// api\r\nimport { closeGroup, getJoinedGroupsList, updateGroup } from '../../../services/api/Groups'\r\nimport { UploadImage } from '../../../services/api/UploadImage'\r\n\r\n// components\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ShadowStyles, TypographyStyles } from '../../../styles'\r\nimport { CustomInputs, CustomMultilineInputs } from '../../text/StyledTextinputs'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport { CustomSnackbar } from '../../snackbars/Snackbar'\r\nimport { RadioButton } from '../../formElements/formElements'\r\nimport { groupThemes } from './themes/GroupThemes'\r\nimport GroupDialog from './dialogs/GroupDialog'\r\nimport ImagePicker from '../../ImagePicker/ImagePicker'\r\nimport ThemeRadioButton from './themes/ThemeRadioButton'\r\nimport LoadingSpinner from '../../activityIndicators/LoadingSpinner'\r\n\r\nimport { txt } from '../../../locales/i18n'\r\nimport Paths from '../../../constants/Paths'\r\nimport Colors from '../../../constants/Colors'\r\nimport Layout from '../../../constants/Layout'\r\nimport imageBobl from '../../../assets/images/bobl.png'\r\n\r\nexport default function GroupSettings(props) {\r\n const [groupSettingsState, setGroupSettingsState] = useState({\r\n group: {\r\n id: null,\r\n name: '',\r\n description: '',\r\n img_id: null,\r\n status_id: null,\r\n type: null,\r\n password: '',\r\n },\r\n })\r\n const [loading, setLoading] = useState(true)\r\n const [settingsSaved, setSettingsSaved] = useState(false)\r\n const [settingsDidNotSave, setSettingsDidNotSave] = useState(false)\r\n const [groupPasswordMissing, setGroupPasswordMissing] = useState(false)\r\n const [theme, setTheme] = useState({})\r\n const [image, setImage] = useState(null)\r\n const [closeDialogVisible, setCloseDialogVisible] = useState(false)\r\n const navigation = useNavigation()\r\n\r\n function updateState(update) {\r\n setGroupSettingsState((prev) => ({\r\n ...prev,\r\n ...update,\r\n }))\r\n }\r\n\r\n useEffect(() => {\r\n if (props.group) {\r\n setGroup(props.group)\r\n setTheme(props.group.theme)\r\n setLoading(false)\r\n }\r\n }, [props])\r\n\r\n function setGroup(update) {\r\n updateState({\r\n group: { ...groupSettingsState.group, ...update },\r\n })\r\n }\r\n\r\n const uploadImg = () => {\r\n if (image) {\r\n return UploadImage(image, 0, 'Groups').catch(\r\n (err) => {\r\n if (__DEV__) console.log('IMAGE UPLOAD FAIL ', err)\r\n }\r\n )\r\n }\r\n }\r\n\r\n function validateGroup() {\r\n if (!groupSettingsState.group.type === 2) {\r\n setGroup({ password: '' })\r\n }\r\n\r\n if (groupSettingsState.group.type === 2 && groupSettingsState.group.password < 1) {\r\n setGroupPasswordMissing(true)\r\n return false\r\n }\r\n return true\r\n }\r\n\r\n const saveGroup = async () => {\r\n if (validateGroup()) {\r\n const img_id = await uploadImg()\r\n\r\n const data = {\r\n id: groupSettingsState.group.id,\r\n name: groupSettingsState.group.name,\r\n description: groupSettingsState.group.description,\r\n img_id: img_id || groupSettingsState?.group?.img_id,\r\n status_id: groupSettingsState.group.status_id,\r\n type: groupSettingsState.group.type,\r\n password: groupSettingsState.group.type === 2 ? groupSettingsState.group.password : '',\r\n }\r\n data.theme = JSON.stringify(theme)\r\n const res = await updateGroup(data)\r\n\r\n if (res.data) {\r\n setSettingsSaved(true)\r\n setGroupPasswordMissing(false)\r\n props.setTheme(res.data.theme)\r\n\r\n const group = {\r\n name: res.data.name,\r\n img_id: res.data.img_id,\r\n status_id: res.data.status_id,\r\n description: res.data.description,\r\n img_filename: res.data.img_filename,\r\n type: groupSettingsState.group.type,\r\n password: groupSettingsState.group.password\r\n }\r\n\r\n setGroup(group)\r\n props.setGroup((previous) => ({ ...previous, ...group }))\r\n } else setSettingsDidNotSave(true)\r\n }\r\n }\r\n\r\n if (loading || !groupSettingsState.group) return \r\n\r\n const changeTheme = (themeId) => {\r\n const theme = groupThemes.find((theme) => theme.id === themeId)\r\n setTheme(theme || null)\r\n }\r\n\r\n async function handleCloseGroup() {\r\n const res = await closeGroup(props.group.id)\r\n await getJoinedGroupsList()\r\n if (res.ok) navigation.replace('Groups')\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {txt('groups.settings.groupImage')}\r\n \r\n\r\n \r\n setGroup({ img_id: null, img_filename: null })}\r\n placeholder={imageBobl}\r\n hideDelete\r\n />\r\n \r\n\r\n \r\n {txt('groups.settings.groupName')}\r\n \r\n \r\n \r\n setGroup({ name: value })}\r\n style={{ backgroundColor: props.group.theme?.secondary || Colors.white }}\r\n />\r\n \r\n \r\n \r\n {txt('groups.settings.groupDescription')}\r\n \r\n \r\n \r\n setGroup({ description: value })}\r\n style={{ backgroundColor: props.group.theme?.secondary || Colors.white }}\r\n />\r\n \r\n \r\n\r\n \r\n {txt('groups.settings.groupType')}\r\n \r\n\r\n {/* Public group */}\r\n \r\n setGroup({ type: 4 })}\r\n text={txt('groups.addGroup.openGroupOption')}\r\n color={props.group.theme?.primary || Colors.tintColor}\r\n />\r\n \r\n \r\n {/* Request group */}\r\n \r\n setGroup({ type: 3 })}\r\n text={txt('groups.addGroup.requestGroupOption')}\r\n color={props.group.theme?.primary || Colors.tintColor}\r\n />\r\n \r\n \r\n \r\n {/* Password group */}\r\n \r\n setGroup({ type: 2 })}\r\n text={txt('groups.addGroup.passwordGroupOption')}\r\n color={props.group.theme?.primary || Colors.tintColor}\r\n />\r\n \r\n {groupSettingsState.group.type === 2 && groupPasswordMissing && (\r\n \r\n {txt('groups.addGroup.missingGroupPassword')}\r\n \r\n )}\r\n {groupSettingsState.group.type === 2 && (\r\n \r\n setGroup({ password: value })}\r\n style={{ backgroundColor: props.group.theme?.secondary || Colors.white }}\r\n />\r\n \r\n )}\r\n \r\n \r\n {/* Hidden group */}\r\n \r\n setGroup({ type: 1 })}\r\n text={txt('groups.settings.hidden')}\r\n color={props.group.theme?.primary || Colors.tintColor}\r\n />\r\n \r\n \r\n {txt('groups.settings.hiddenText')}\r\n \r\n \r\n\r\n \r\n {txt('groups.settings.chooseTheme')}\r\n\r\n \r\n changeTheme(0)}\r\n color={groupThemes[0].primary}\r\n />\r\n changeTheme(1)}\r\n color={groupThemes[1].primary}\r\n />\r\n changeTheme(2)}\r\n color={groupThemes[2].primary}\r\n />\r\n changeTheme(3)}\r\n color={groupThemes[3].primary}\r\n />\r\n changeTheme(4)}\r\n color={groupThemes[4].primary}\r\n />\r\n changeTheme(5)}\r\n color={groupThemes[5].primary}\r\n />\r\n changeTheme(6)}\r\n color={groupThemes[6].primary}\r\n />\r\n \r\n \r\n\r\n \r\n setCloseDialogVisible(true)}\r\n style={{ backgroundColor: Colors.red }}\r\n titleStyle={{ color: Colors.white }}\r\n color={Colors.white}\r\n icon=\"trash\"\r\n stroke={'fal'}\r\n title={txt('groups.settings.close')}\r\n />\r\n \r\n \r\n \r\n\r\n setSettingsSaved(false)}\r\n text={txt('post.savePostSnackBar')}\r\n />\r\n\r\n setSettingsDidNotSave(false)}\r\n text={txt('post.savePostSnackBarFailed')}\r\n />\r\n\r\n setCloseDialogVisible(false)}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n alignSelf: 'center',\r\n marginBottom: 30,\r\n maxWidth: Layout.maxFeedWidth,\r\n width: '100%',\r\n paddingHorizontal: 10,\r\n },\r\n imagePickerContainer: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: 12,\r\n },\r\n marginBottom: { marginBottom: 10 },\r\n marginInput: { marginBottom: 10 },\r\n row: { alignItems: 'center', flexDirection: 'row' },\r\n smallText: { ...TypographyStyles.textSmallBold, color: Colors.inactive },\r\n title: { ...TypographyStyles.textBold },\r\n errorMessage: {\r\n color: Colors.errorBackground,\r\n ...TypographyStyles.textSmallBold,\r\n marginBottom: 5,\r\n },\r\n themeContainer: {\r\n padding: 12,\r\n marginVertical: 12,\r\n borderRadius: 10,\r\n ...ShadowStyles.cardShadow,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'space-evenly',\r\n },\r\n})\r\n","import React from 'react'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport { useEffect, useState } from 'react'\r\nimport { getGroupByID } from '../../../services/api/Groups'\r\nimport GroupInfo from './GroupInfo'\r\nimport GroupBulletin from './GroupBulletin'\r\nimport GroupMembers from './GroupMembers'\r\nimport { setAnnouncement, setDataResponsible } from '../../../redux/actions'\r\nimport store from '../../../redux/store'\r\nimport GroupSettings from './GroupSettings'\r\nimport { CustomChip } from '../../chips/Chip'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport Colors from '../../../constants/Colors'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Layout from '../../../constants/Layout'\r\nimport { useNavigation, useRoute } from '@react-navigation/native'\r\nimport LoadingSpinner from '../../activityIndicators/LoadingSpinner'\r\nimport { blogHeader } from '../../../styles/typography'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport function Group(props) {\r\n const [loading, setLoading] = useState(true)\r\n const [group, setGroup] = useState(null)\r\n const [selectedMenuItem, setSelectedMenuItem] = useState(1)\r\n const route = useRoute()\r\n const navigation = useNavigation()\r\n\r\n useEffect(() => {\r\n if (group) {\r\n navigation.setOptions({\r\n headerStyle: {\r\n backgroundColor: group.theme?.background || Colors.background,\r\n elevation: 0,\r\n shadowOpacity: 0,\r\n borderBottomWidth: 0,\r\n },\r\n headerTitle: group.name,\r\n headerTitleStyle: { maxWidth: 300, ...blogHeader },\r\n headerBackTitleVisible: false,\r\n headerBackImage: () => (\r\n \r\n \r\n \r\n ),\r\n })\r\n }\r\n }, [group])\r\n\r\n useEffect(() => {\r\n getGroupByID(route.params?.id).then(setGroupData)\r\n }, [route.params?.id])\r\n\r\n useEffect(() => {\r\n const { refresh, id } = route.params\r\n if (refresh) {\r\n setLoading(true)\r\n getGroupByID(id).then(setGroupData)\r\n navigation.setParams({ id, refresh: false })\r\n }\r\n }, [route.params?.refresh])\r\n\r\n function setTheme(theme) {\r\n if (!group) return\r\n setGroup((prev) => ({ ...prev, theme }))\r\n }\r\n\r\n function showDataResponsibility(dataResponsible) {\r\n if (dataResponsible) {\r\n const boblbergText = txt('groups.boblbergResponsibility')\r\n const groupOwnerText =\r\n txt('groups.groupOwnerResponsibility') + dataResponsible\r\n store.dispatch(setDataResponsible(dataResponsible))\r\n store.dispatch(setAnnouncement(groupOwnerText))\r\n navigation.addListener('blur', async () => {\r\n store.dispatch(setAnnouncement(boblbergText))\r\n store.dispatch(setDataResponsible(''))\r\n })\r\n navigation.addListener('focus', async () => {\r\n store.dispatch(setDataResponsible(dataResponsible))\r\n store.dispatch(setAnnouncement(groupOwnerText))\r\n })\r\n }\r\n }\r\n\r\n function setGroupData(group) {\r\n // Redirect if unauthorized\r\n if (!group || group?.status_code >= 400 || group?.status_code <= 499) return props.navigateToGroups()\r\n showDataResponsibility(group.data_responsible)\r\n setGroup(group)\r\n setLoading(false)\r\n }\r\n\r\n if (loading) return \r\n\r\n return (\r\n \r\n {/* Info */}\r\n \r\n \r\n setSelectedMenuItem(0)}\r\n accessibility={txt('groups.menu.infoTitle')}\r\n text={txt('groups.menu.infoTitle')}\r\n />\r\n \r\n\r\n {/* Bulletins */}\r\n \r\n setSelectedMenuItem(1)}\r\n accessibilityLabel={txt('groups.menu.bulletinTitle')}\r\n text={txt('groups.menu.bulletinTitle')}\r\n />\r\n \r\n\r\n {/* Members */}\r\n \r\n setSelectedMenuItem(2)}\r\n accessibilityLabel={txt('groups.menu.membersTitle')}\r\n text={!Layout.isSmallDevice && txt('groups.menu.membersTitle')}\r\n />\r\n \r\n\r\n {/* Settings */}\r\n {group.own_user_rank === 1 && (\r\n \r\n setSelectedMenuItem(3)}\r\n accessibilityLabel={txt('groups.menu.settingsTitle')}\r\n text={!Layout.isSmallDevice && txt('groups.menu.settingsTitle')}\r\n />\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n chip: {\r\n marginBottom: 10,\r\n marginLeft: 5,\r\n marginRight: 5,\r\n },\r\n chipContainer: {\r\n alignSelf: 'center',\r\n flexDirection: 'row',\r\n },\r\n})\r\n","import React from 'react'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { Group } from '../../components/views/Groups/Group'\r\n\r\nexport default function GroupScreen(props) {\r\n function navigateToConversation(conversationId) {\r\n props.navigation.navigate('InboxStack', {\r\n screen: 'Conversation',\r\n initial: false,\r\n params: {\r\n id: conversationId,\r\n },\r\n })\r\n }\r\n\r\n const navigateToNewConversation = (userId) => {\r\n props.navigation.navigate('InboxStack', {\r\n screen: 'Conversation',\r\n initial: false,\r\n params: {\r\n id: 'new',\r\n receiverId: userId,\r\n groupId: props.route.params.id,\r\n },\r\n })\r\n }\r\n\r\n function navigateToGroups() {\r\n props.navigation.replace('Groups')\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { View, StyleSheet, Image } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\nimport { CustomText } from '../../components/text/StyledText'\r\nimport { RoundSquareBtn } from '../../components/buttons/StyledButtons'\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport TxtTMD from '../../constants/TxtTMD'\r\nimport Layout from '../../constants/Layout'\r\nimport { ScrollView } from 'react-native'\r\nimport store from '../../redux/store'\r\n\r\nexport default class GroupsIntroScreen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {}\r\n }\r\n\r\n async componentDidMount() {\r\n const userToken = store.getState().userToken\r\n this.setState({ userToken })\r\n }\r\n\r\n handleGetStartedClick = () => {\r\n if (this.state.userToken) {\r\n this.props.navigation.navigate('Groups')\r\n } else {\r\n this.props.navigation.navigate('GroupsSignup')\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n box: {\r\n alignSelf: 'center',\r\n marginBottom: 30,\r\n maxWidth: 400,\r\n textAlign: 'center',\r\n width: '100%',\r\n },\r\n boxContainer: {\r\n marginBottom: 20,\r\n marginTop: 20,\r\n },\r\n boxHeader: {\r\n color: Colors.text,\r\n marginBottom: 5,\r\n textAlign: 'center',\r\n },\r\n boxTitle: {\r\n color: Colors.text,\r\n marginTop: 20,\r\n textAlign: 'center',\r\n },\r\n btnMargin: {\r\n alignSelf: 'center',\r\n marginVertical: 20,\r\n maxWidth: 400,\r\n },\r\n container: {\r\n alignSelf: 'center',\r\n maxWidth: Layout.maxFeedWidth,\r\n },\r\n image: {\r\n alignSelf: 'center',\r\n height: 80,\r\n marginBottom: 5,\r\n width: 80,\r\n },\r\n listHeader: {\r\n color: Colors.text,\r\n marginBottom: 10,\r\n textAlign: 'center',\r\n },\r\n listItem: {\r\n color: Colors.text,\r\n marginBottom: 5,\r\n textAlign: 'center',\r\n },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.text,\r\n marginBottom: 10,\r\n textAlign: 'center',\r\n },\r\n})\r\n","import React, { useState } from 'react'\r\nimport { StyleSheet } from 'react-native'\r\nimport CustomDialog, {\r\n ActionButton,\r\n ContentContainer,\r\n} from '../../../dialogs/CustomDialog'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\nimport NormalIcon from \"../../../icons/NormalIcon\"\r\n\r\nconst DataConsentDialog = (props) => {\r\n const [error, setError] = useState('')\r\n\r\n const handleSend = () => {\r\n if (props.consent) {\r\n props.send()\r\n setError('')\r\n } else {\r\n setError(txt('groups.dataResponsibilityConsentRequired'))\r\n }\r\n }\r\n\r\n const handleCheckPress = () => {\r\n setError('')\r\n props.toggleConsent()\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {txt('groups.dataResponsibilityConsent') +\r\n props.dataResponsible || ''}\r\n \r\n \r\n \r\n \r\n {txt('groups.dataResponsibilityAccept') +\r\n props.dataResponsible || ''}\r\n \r\n \r\n {!!error && (\r\n {error}\r\n )}\r\n \r\n \r\n {txt('groups.cancel')}\r\n \r\n \r\n {txt('groups.accessText.access')}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n checkBoxContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'space-evenly',\r\n marginTop: 12,\r\n },\r\n})\r\n\r\nexport default DataConsentDialog\r\n","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Colors from '../../../constants/Colors'\r\nimport Layout from '../../../constants/Layout'\r\nimport { cancelJoinRequest, getJoinedGroupsList, joinGroupByID } from '../../../services/api/Groups'\r\nimport { CornerStyles, TypographyStyles } from '../../../styles'\r\nimport { ImageHighlight } from '../../images/ImageHighlight'\r\nimport { RoundBtn } from '../../buttons/StyledButtons'\r\nimport { FormInput } from '../../text/StyledTextinputs'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport { InvalidInputNoticeCentered } from '../../notices/InvalidInputNotices'\r\nimport Paths from '../../../constants/Paths'\r\nimport DataConsentDialog from './dialogs/DataConsentDialog'\r\nimport { NotificationBadge } from '../../icons/NotificationBadge'\r\nimport { useSelector } from 'react-redux'\r\nimport Card from '../../Card'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\n/* groups users ranks\r\n 1 - Admin\r\n 2 - Moderator\r\n 3 - Member\r\n 4 - Awaiting approval\r\n 5 - Disapproved\r\n 6 - Invited\r\n 7 - Declined invite\r\n 8 - Banned\r\n */\r\n\r\nexport default function GroupItem(props) {\r\n const [password, setPassword] = useState('')\r\n const [showPasswordPrompt, setShowPasswordPrompt] = useState(false)\r\n const [passwordHidden, setPasswordHidden] = useState(true)\r\n const [passwordError, setPasswordError] = useState(false)\r\n const [dataConsentGiven, setDataConsentGiven] = useState(false)\r\n const [dataDialogOpen, setDataDialogOpen] = useState(false)\r\n const [userRank, setUserRank] = useState(props.group.user_rank)\r\n const navigation = useNavigation()\r\n\r\n let badge = useSelector(\r\n state => (\r\n state.groups?.find(g => g.id === props.group.id)?.unread\r\n ),\r\n )\r\n\r\n useEffect(() => {\r\n //Updates badge if notification is read on another active device.\r\n const unsubscribe = navigation.addListener('focus', async () => {\r\n if (badge === 0) return\r\n const groups = await getJoinedGroupsList()\r\n const group = groups?.find((group) => group.id === props.group.id)\r\n if (group?.unread === props.group?.unread) return\r\n badge = group?.unread\r\n })\r\n return () => unsubscribe()\r\n }, [navigation])\r\n\r\n const accessButtonTitle = () => {\r\n const { type } = props.group\r\n if (userRank <= 3 && userRank !== null) return txt('groups.accessText.goTo')\r\n if (userRank === 4) return txt('groups.accessText.cancelApproval')\r\n if (userRank === 6) return txt('groups.accessText.invited')\r\n if (userRank === 8) return txt('groups.accessText.banned')\r\n if (type === 2) return txt('groups.accessText.password')\r\n if (type === 3) return txt('groups.accessText.requestAccess')\r\n if (type === 4) return txt('groups.accessText.join')\r\n }\r\n\r\n const handleCardClick = () => {\r\n if (props.group.type === 2 && userRank === null) handleAccessClick()\r\n else if (userRank === null) return\r\n else if (userRank >= 0 && userRank <= 3) props.navigateToGroup(props.group.id)\r\n }\r\n\r\n const askForDataConsent = async () => {\r\n setDataDialogOpen(true)\r\n }\r\n\r\n const handleCloseDataConsent = async () => {\r\n setDataDialogOpen(false)\r\n if (dataConsentGiven) {\r\n await joinGroup()\r\n }\r\n }\r\n\r\n async function joinGroup() {\r\n const { id } = props.group\r\n const responseMessage = await joinGroupByID(id, password, dataConsentGiven)\r\n\r\n if (responseMessage === 'INVITE ACCEPTED') {\r\n setUserRank(3)\r\n return props.navigateToGroup(id)\r\n }\r\n\r\n if (responseMessage === 'ACCESS REQUESTED') {\r\n return setUserRank(4)\r\n }\r\n\r\n if (responseMessage === 'WRONG PASSWORD') {\r\n return setPasswordError(true)\r\n }\r\n\r\n if (responseMessage === 'GROUP JOINED') {\r\n setUserRank(3)\r\n setPassword('')\r\n setShowPasswordPrompt(false)\r\n setPasswordHidden(true)\r\n setPasswordError(false)\r\n return props.navigateToGroup(id)\r\n }\r\n }\r\n\r\n const handleAccessClick = async () => {\r\n const { data_responsible, type } = props.group\r\n if (type === 2 && !userRank && userRank !== 0) {\r\n setShowPasswordPrompt(true)\r\n return\r\n }\r\n switch (userRank) {\r\n case 0:\r\n case 1:\r\n case 2:\r\n case 3:\r\n props.navigateToGroup(props.group.id)\r\n break\r\n case 4:\r\n await cancelApproval(props.group.id)\r\n break\r\n case 8:\r\n break\r\n case 5:\r\n case 6:\r\n case 7:\r\n default:\r\n if (data_responsible && !dataConsentGiven) {\r\n await askForDataConsent()\r\n } else {\r\n await joinGroup()\r\n }\r\n }\r\n }\r\n\r\n const cancelApproval = async (groupId) => {\r\n const res = await cancelJoinRequest(groupId)\r\n if (res === true) {\r\n setUserRank(null)\r\n setDataConsentGiven(false)\r\n await getJoinedGroupsList()\r\n }\r\n }\r\n\r\n const toggleDataConsent = () => {\r\n setDataConsentGiven(!dataConsentGiven)\r\n }\r\n\r\n const handleSendPassword = () => {\r\n if (props.group.data_responsible) {\r\n askForDataConsent()\r\n } else {\r\n joinGroup()\r\n }\r\n }\r\n\r\n const hidePasswordDialog = () => {\r\n setPasswordError(false)\r\n setShowPasswordPrompt(false)\r\n setPassword('')\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!badge && }\r\n \r\n \r\n \r\n {props.group.name}\r\n \r\n\r\n \r\n \r\n {props.group.description}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {showPasswordPrompt ? (\r\n \r\n {/* password form */}\r\n \r\n \r\n \r\n {txt('groups.passwordDialog')}\r\n \r\n {/* Wrong password prompt */}\r\n {passwordError && (\r\n \r\n {txt('groups.wrongPassword')}\r\n \r\n )}\r\n setPasswordHidden(!passwordHidden)}\r\n accessibilityRole=\"button\"\r\n accessibilityLabel={passwordHidden ? txt('loginField.passwordHide') : txt('loginField.passwordShow')}\r\n >\r\n \r\n \r\n }\r\n />\r\n \r\n {/* Send passworded join request btn */}\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n\r\n setDataDialogOpen(false)}\r\n send={handleCloseDataConsent}\r\n consent={dataConsentGiven}\r\n dataResponsible={props.group.data_responsible}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n alignRight: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n gap: 24,\r\n },\r\n btnContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'space-evenly',\r\n marginTop: 10,\r\n },\r\n cardContainer: {\r\n backgroundColor: Colors.white,\r\n margin: 12,\r\n marginVertical: 6,\r\n minHeight: 170,\r\n },\r\n container: {\r\n alignItems: 'flex-end',\r\n margin: 12,\r\n },\r\n inputText: { ...TypographyStyles.text },\r\n marginTop: { marginTop: 12 },\r\n passwordContainer: {\r\n padding: 12,\r\n ...CornerStyles.borderRadiusS,\r\n },\r\n smallBold: { ...TypographyStyles.textSmallBold },\r\n textContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n margin: 12,\r\n },\r\n textContainerCard: { flexGrow: 1, flex: 1, marginLeft: 12, alignItems: 'flex-start' },\r\n textSmall: { ...TypographyStyles.textSmall },\r\n badge: {\r\n position: 'absolute',\r\n top: -2,\r\n right: -2,\r\n },\r\n})\r\n","import React, { useRef } from 'react'\r\nimport { View, Platform } from 'react-native'\r\nimport { useRoute } from '@react-navigation/core'\r\nimport KeyboardSpacer from 'react-native-keyboard-spacer'\r\n\r\nimport GroupItem from './GroupItem'\r\nimport SearchList from '../../lists/SearchList'\r\nimport { getUniverseConfig } from '../../../universe/universeController'\r\n\r\nexport default function GroupsAll(props) {\r\n\tconst route = useRoute()\r\n\tconst universeObjectRef = useRef(getUniverseConfig(route?.params?.universe))\r\n\r\n\tconst renderGroupItem = ({ item }) => (\r\n\t\t\r\n\t)\r\n\t\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t{Platform.OS === 'ios' && }\r\n\t\t\r\n\t)\r\n}\r\n","import React from 'react'\r\nimport { View, StyleSheet, FlatList } from 'react-native'\r\nimport GroupItem from './GroupItem'\r\nimport Colors from '../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\n\r\nexport default function GroupsJoined(props) {\r\n if (props.groups?.length > 0) {\r\n return (\r\n \r\n }\r\n keyExtractor={(item) => item.id.toString()}\r\n />\r\n \r\n )\r\n } else\r\n return (\r\n \r\n \r\n {txt('groups.noMyGroups')}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n text: {\r\n color: Colors.inactive,\r\n paddingTop: 20,\r\n textAlign: 'center',\r\n },\r\n})\r\n","import React, { useState } from 'react'\r\nimport { View, StyleSheet, ScrollView, Platform } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { SpacingStyles, TypographyStyles } from '../../../styles'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { CustomInputs, CustomMultilineInputs } from '../../text/StyledTextinputs'\r\nimport { RoundSquareBtn } from '../../buttons/StyledButtons'\r\nimport Colors from '../../../constants/Colors'\r\nimport KeyboardSpacer from 'react-native-keyboard-spacer'\r\nimport { createGroup } from '../../../services/api/Groups'\r\nimport ImagePicker from '../../ImagePicker/ImagePicker'\r\nimport { UploadImage } from '../../../services/api/UploadImage'\r\nimport { RadioButton } from '../../formElements/formElements'\r\nimport imageBobl from '../../../assets/images/bobl.png'\r\n\r\nexport default function GroupCreate(props) {\r\n const [group, setGroup] = useState({\r\n name: '',\r\n description: '',\r\n password: '',\r\n image: {},\r\n groupType: null,\r\n })\r\n const [image, setImage] = useState(null)\r\n\r\n const [groupValidation, setGroupValidation] = useState({\r\n nameTooShort: false,\r\n descriptionTooShort: false,\r\n imageMissing: false,\r\n groupTypeMissing: false,\r\n groupPasswordMissing: false,\r\n })\r\n\r\n function updateGroupState(update) {\r\n setGroup((prev) => ({\r\n ...prev,\r\n ...update,\r\n }))\r\n }\r\n\r\n function updateGroupValidationState(update) {\r\n setGroupValidation((prev) => ({\r\n ...prev,\r\n ...update,\r\n }))\r\n }\r\n\r\n const keyboardSpacerShow = () => {\r\n if (Platform.OS === 'ios') {\r\n return \r\n }\r\n }\r\n\r\n function validateGroup() {\r\n if (group.name.length >= 1) {\r\n updateGroupValidationState({ nameTooShort: false })\r\n }\r\n\r\n if (group.description.length >= 1) {\r\n updateGroupValidationState({ descriptionTooShort: false })\r\n }\r\n if (group.image.image) {\r\n updateGroupValidationState({ imageMissing: false })\r\n }\r\n\r\n if (!group.groupType === 2) {\r\n updateGroupState({ password: '' })\r\n }\r\n\r\n if (group.groupType) {\r\n updateGroupValidationState({ groupTypeMissing: false })\r\n }\r\n\r\n if (group.name.length < 1) {\r\n updateGroupValidationState({ nameTooShort: true })\r\n return false\r\n } else if (!image) {\r\n updateGroupValidationState({ imageMissing: true })\r\n return false\r\n } else if (group.description.length < 1) {\r\n updateGroupValidationState({ descriptionTooShort: true })\r\n return false\r\n } else if (!group.groupType) {\r\n updateGroupValidationState({ groupTypeMissing: true })\r\n return false\r\n } else if (group.groupType === 2 && group.password < 1) {\r\n updateGroupValidationState({ groupPasswordMissing: true })\r\n return false\r\n }\r\n\r\n return true\r\n }\r\n\r\n function uploadImg() {\r\n if (image) {\r\n return UploadImage(image, 0, 'Groups').catch((err) => {\r\n if (__DEV__) console.log('IMAGE UPLOAD FAIL ', err)\r\n })\r\n }\r\n }\r\n\r\n function clearInputs() {\r\n setImage(null, null)\r\n updateGroupState({\r\n name: '',\r\n description: '',\r\n password: '',\r\n image: {},\r\n groupType: null,\r\n })\r\n }\r\n\r\n async function createNewGroup() {\r\n if (validateGroup()) {\r\n const img_id = await uploadImg()\r\n\r\n const data = {\r\n name: group.name,\r\n description: group.description,\r\n password: group.groupType === 2 ? group.password : '',\r\n groupType: group.groupType,\r\n img_id: img_id,\r\n }\r\n\r\n if (props.universeId) data.universeId = props.universeId\r\n\r\n const created = await createGroup(data)\r\n\r\n if (created) {\r\n clearInputs()\r\n props.navigateToGroup(created)\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {txt('groups.settings.groupImage')}\r\n \r\n \r\n \r\n {}}\r\n placeholder={imageBobl}\r\n hideDelete\r\n />\r\n \r\n\r\n {/* \r\n \r\n */}\r\n\r\n {groupValidation.imageMissing && (\r\n \r\n {txt('groups.addGroup.missingImage')}\r\n \r\n )}\r\n \r\n \r\n {txt('groups.settings.groupName')}\r\n \r\n \r\n \r\n {\r\n updateGroupState({\r\n name: value,\r\n })\r\n }}\r\n />\r\n \r\n\r\n {groupValidation.nameTooShort && (\r\n \r\n {txt('groups.addGroup.invalidName')}\r\n \r\n )}\r\n \r\n \r\n {txt('groups.settings.groupDescription')}\r\n \r\n \r\n \r\n {\r\n updateGroupState({\r\n description: value,\r\n })\r\n }}\r\n />\r\n \r\n {groupValidation.descriptionTooShort && (\r\n \r\n {txt('groups.addGroup.invalidDescription')}\r\n \r\n )}\r\n \r\n\r\n \r\n {txt('groups.settings.groupType')}\r\n \r\n \r\n {groupValidation.groupTypeMissing && (\r\n \r\n {txt('groups.addGroup.missingGroupType')}\r\n \r\n )}\r\n {/* Public group */}\r\n \r\n updateGroupState({ groupType: 4 })}\r\n text={txt('groups.addGroup.openGroupOption')}\r\n />\r\n \r\n \r\n \r\n {/* Request group */}\r\n \r\n updateGroupState({ groupType: 3 })}\r\n text={txt('groups.addGroup.requestGroupOption')}\r\n />\r\n \r\n \r\n \r\n {/* Password group */}\r\n \r\n updateGroupState({ groupType: 2 })}\r\n text={txt('groups.addGroup.passwordGroupOption')}\r\n />\r\n \r\n {group.groupType === 2 && groupValidation.groupPasswordMissing && (\r\n \r\n {txt('groups.addGroup.missingGroupPassword')}\r\n \r\n )}\r\n {group.groupType === 2 && (\r\n \r\n {\r\n updateGroupState({\r\n password: value,\r\n })\r\n }}\r\n />\r\n \r\n )}\r\n \r\n \r\n {/* Hidden group */}\r\n \r\n updateGroupState({ groupType: 1 })}\r\n text={txt('groups.settings.hidden')}\r\n />\r\n \r\n \r\n \r\n {txt('groups.settings.hiddenText')}\r\n \r\n \r\n createNewGroup()} />\r\n \r\n \r\n {keyboardSpacerShow()}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n errorMessage: {\r\n color: Colors.errorBackground,\r\n ...TypographyStyles.textSmallBold,\r\n marginBottom: 5,\r\n },\r\n imagePickerContainer: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: 12,\r\n },\r\n marginBottom: { marginBottom: 10 },\r\n row: { alignItems: 'center', flexDirection: 'row' },\r\n settingsContainer: { ...SpacingStyles.marginRightLeft10, marginBottom: 30 },\r\n smallText: { ...TypographyStyles.textSmallBold, color: Colors.inactive },\r\n title: { ...TypographyStyles.textBold },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport GroupsAll from '../../components/views/Groups/GroupsAll'\r\nimport GroupsJoined from '../../components/views/Groups/GroupsJoined'\r\nimport { txt } from '../../locales/i18n'\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport TxtTMD from '../../constants/TxtTMD'\r\nimport { CustomChip } from '../../components/chips/Chip'\r\nimport { useSelector } from 'react-redux'\r\nimport { useRoute } from '@react-navigation/native'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport GroupCreate from '../../components/views/Groups/GroupCreate'\r\nimport { URLOpener } from '../../utils/URLOpener'\r\n\r\nexport default function GroupsOverviewScreen(props) {\r\n const all = txt('groups.chipParams.all')\r\n const mine = txt('groups.chipParams.mine')\r\n const create = txt('groups.chipParams.create')\r\n\r\n const joinedGroups = useSelector((state) => state.groups)\r\n const userFeatures = useSelector((state) => state.user?.features)\r\n const [chipSelected, setChipSelected] = useState(all)\r\n const navigation = useNavigation()\r\n const route = useRoute()\r\n\r\n useEffect(() => {\r\n let chip = route.params?.chip\r\n if (Number(chip)) {\r\n navigation.navigate('Group', {\r\n id: chip,\r\n })\r\n } else if (!chip) {\r\n chip = joinedGroups?.length ? mine : all\r\n setChipParam(chip)\r\n }\r\n }, [])\r\n\r\n const setChipParam = (chip) => {\r\n setChipSelected(chip)\r\n navigation.setParams({ chip })\r\n }\r\n\r\n function renderChips(chip) {\r\n return (\r\n \r\n\r\n {/* All Groups */}\r\n \r\n setChipParam(all)}\r\n accessibilityLabel={txt('groups.allGroupsTitle')}\r\n text={txt('groups.allGroupsTitle')}\r\n />\r\n \r\n\r\n {/* My Groups */}\r\n \r\n setChipParam(mine)}\r\n accessibilityLabel={txt('groups.myGroupsTitle')}\r\n text={txt('groups.myGroupsTitle')}\r\n />\r\n \r\n\r\n {/* Create Group */}\r\n {userFeatures.includes(5) && (\r\n \r\n setChipParam(create)}\r\n accessibilityLabel={txt('groups.createGroupsTitle')}\r\n text={txt('groups.createGroupsTitle')}\r\n />\r\n \r\n )}\r\n\r\n \r\n URLOpener('https://filer.boblberg.dk/Files/Guides/Guide_Grupper.pdf')}\r\n accessibilityLabel={txt('groups.guideGroupsTitle')}\r\n text={txt('groups.guideGroupsTitle')}\r\n />\r\n \r\n \r\n )\r\n }\r\n\r\n switch (chipSelected) {\r\n case mine:\r\n return (\r\n <>\r\n \r\n {renderChips(chipSelected)}\r\n \r\n \r\n )\r\n case create:\r\n return (\r\n <>\r\n \r\n {renderChips(chipSelected)}\r\n \r\n \r\n )\r\n case all:\r\n return (\r\n <>\r\n \r\n renderChips(chipSelected)}\r\n />\r\n \r\n )\r\n default:\r\n return (\r\n <>\r\n \r\n renderChips(chipSelected)}\r\n />\r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n chip: {\r\n marginBottom: 5,\r\n marginLeft: 5,\r\n marginRight: 5,\r\n },\r\n chipContainer: {\r\n alignSelf: 'center',\r\n flexDirection: 'row',\r\n },\r\n})\r\n","import React from 'react'\r\nimport GroupsIntroScreen from './GroupsIntro'\r\nimport GroupsOverviewScreen from './GroupsOverviewScreen'\r\nimport { searchGroups } from '../../services/api/Groups'\r\nimport { useSelector } from 'react-redux'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\n\r\nexport default function GroupsScreen(props) {\r\n const userToken = useSelector((state) => state.userToken)\r\n\r\n const getGroups = async ({search, skip, amount}) => {\r\n return searchGroups({search, skip, amount})\r\n }\r\n\r\n const navigateToGroup = (groupId) => {\r\n props.navigation.navigate( 'GroupsStack', {\r\n screen: 'Group',\r\n initial: false,\r\n params: { id: groupId },\r\n })\r\n }\r\n\r\n return (\r\n \r\n {userToken ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )\r\n}\r\n","/*global L*/\r\nimport React, { useCallback, useEffect, useRef } from 'react'\r\nimport { StyleSheet, View } from 'react-native'\r\n\r\nimport { borderRadiusS } from '../../styles/corners'\r\nconst initialRegion = { lat: 56.2386833, lng: 10.2219608, zoom: 8 }\r\n\r\nexport const Map = (props) => {\r\n const mapRef = useRef(null)\r\n const markersRef = useRef(null)\r\n\r\n const renderMap = useCallback(() => {\r\n const mapOptions = {\r\n center: [initialRegion.lat, initialRegion.lng],\r\n zoom: initialRegion.zoom,\r\n }\r\n\r\n const map = new L.map('map', mapOptions)\r\n map.on('click', () => props.onMapPress?.())\r\n\r\n const attribution = '© OpenStreetMap contributors'\r\n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution }).addTo(map)\r\n\r\n const iconCreateFunction = (cluster) => {\r\n const html = '
' + cluster.getChildCount() + '
'\r\n const iconSize = new L.Point(40, 40)\r\n return new L.DivIcon({ html, iconSize, className: 'marker-cluster' })\r\n }\r\n\r\n markersRef.current = L.markerClusterGroup({ iconCreateFunction, maxClusterRadius: props.noCluster ? 0 : undefined })\r\n mapRef.current = map\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (mapRef.current !== null) return\r\n\r\n try {\r\n setTimeout(renderMap, 0)\r\n } catch (error) {\r\n window.location.reload()\r\n }\r\n }, [renderMap])\r\n\r\n useEffect(() => {\r\n const map = mapRef.current\r\n const markers = markersRef.current\r\n if (map === null || markers === null) return\r\n\r\n markers.clearLayers()\r\n const bounds = []\r\n\r\n for (const location of props.locations) {\r\n if (location.lat === null || location.lng === null) continue\r\n\r\n const marker = new L.marker([location.lat, location.lng])\r\n marker.on('click', () => props.onMarkerPress?.(location))\r\n marker.addTo(markers)\r\n bounds.push([location.lat, location.lng])\r\n }\r\n\r\n markers.addTo(map)\r\n if (bounds.length === 0) return\r\n\r\n setTimeout(() => {\r\n window.dispatchEvent(new Event('resize'))\r\n setTimeout(() => map.fitBounds(bounds, { padding: [24, 24] }), 100)\r\n }, 0)\r\n }, [props.locations])\r\n\r\n return \r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n map: {\r\n height: '100%',\r\n width: '100%',\r\n ...borderRadiusS,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport Paths from '../../../constants/Paths'\r\nimport Layout from '../../../constants/Layout'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ImageHighlight } from '../../images/ImageHighlight'\r\nimport { TypographyStyles } from '../../../styles'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Logo from '../../../assets/images/icon.png'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nexport default class UnionListItem extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n shouldComponentUpdate() {\r\n return false\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.props.item.img_filename ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n {this.props.item.title}\r\n \r\n \r\n {this.props.item.body}\r\n \r\n \r\n {/* rightElement is used for myPosts */}\r\n {this.props.rightElement ?? null}\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flexDirection: 'row',\r\n height: 100,\r\n justifyContent: 'space-between',\r\n marginBottom: 25,\r\n marginLeft: 10,\r\n marginRight: 10,\r\n },\r\n postContainer: {\r\n alignSelf: 'center',\r\n flex: 1,\r\n maxHeight: 100,\r\n overflow: 'hidden',\r\n },\r\n textSmall: {\r\n flexWrap: 'nowrap',\r\n paddingLeft: 10,\r\n width: '100%',\r\n ...TypographyStyles.textSmall,\r\n color: Colors.text,\r\n },\r\n textSmallBold: {\r\n flexWrap: 'wrap',\r\n paddingLeft: 10,\r\n },\r\n})\r\n","import { apiPost, apiGet, apiDelete, apiPut } from './ApiRequest'\r\n\r\nexport async function searchUnions({ search, skip, amount, universeId, faculties, municipality }) {\r\n const urlQueryParams = {}\r\n\r\n if (search !== undefined) urlQueryParams.search = search\r\n if (amount !== undefined) urlQueryParams.amount = amount\r\n if (skip !== undefined) urlQueryParams.skip = skip\r\n if (universeId !== undefined) urlQueryParams.universeId = universeId\r\n if (faculties !== undefined && faculties?.length !== 0) urlQueryParams.faculties = faculties.join(',')\r\n if (municipality && municipality !== 'all') urlQueryParams.municipalityId = municipality\r\n\r\n const urlQuery = Object.entries(urlQueryParams).map(([key, value]) => {\r\n return key + '=' + value\r\n })\r\n\r\n const unions = await apiGet('unions/search?' + urlQuery.join('&'))\r\n return unions ?? { unions: [], locations: [] }\r\n}\r\n\r\nexport async function getFullUnion(unionId) {\r\n const res = await apiGet(`unions/${unionId}`)\r\n return res.union\r\n}\r\n\r\nexport async function createUnion(data) {\r\n const res = await apiPost(data, 'unions/')\r\n const resJson = await res.json()\r\n return resJson.union\r\n}\r\n\r\nexport async function updateUnion(data) {\r\n const res = await apiPut(data, `unions/${data.id}`)\r\n const resJson = await res.json()\r\n return resJson.union\r\n}\r\n\r\nexport async function getOwnUnions() {\r\n const res = await apiGet(`unions/own`)\r\n return res.unions\r\n}\r\n\r\nexport async function deleteUnion(unionId) {\r\n const res = await apiDelete({}, `unions/${unionId}`)\r\n const resJson = await res.json()\r\n return resJson.data\r\n}\r\n\r\nexport async function getHasAccessToUnions() {\r\n const res = await apiGet('unions/hasAccessToUnions')\r\n return res.data\r\n}\r\n\r\nexport async function setUnionFavorite(unionId, favorite) {\r\n let res\r\n if (favorite) {\r\n res = await apiDelete({}, `unions/${unionId}/favorite`)\r\n } else {\r\n res = await apiPost({}, `unions/${unionId}/favorite`)\r\n }\r\n const result = await res.json()\r\n return result.union\r\n}\r\n\r\nexport async function getFavoriteUnions() {\r\n const res = await apiGet(`unions/favorites`)\r\n return res.unions\r\n}\r\n\r\nexport async function getFacilties() {\r\n return await apiGet('unions/faculties')\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport { StyleSheet, View, Image } from 'react-native'\r\nimport { useNavigation } from '@react-navigation/core'\r\n\r\nimport { CustomText } from '../../text/StyledText'\r\n\r\nimport { getFullUnion } from '../../../services/api/Unions'\r\nimport Logo from '../../../assets/images/icon.png'\r\nimport { borderRadiusS } from '../../../styles/corners'\r\nimport { dropShadow } from '../../../styles/shadows'\r\nimport Colors from '../../../constants/Colors'\r\nimport Paths from '../../../constants/Paths'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport const UnionLocationModal = ({ location }) => {\r\n const navigation = useNavigation()\r\n const [union, setUnion] = useState(null)\r\n\r\n useEffect(() => {\r\n getFullUnion(location.id).then(setUnion)\r\n }, [location])\r\n\r\n const renderAddress = () => {\r\n const addressInfo = [union.address, union.city, union.postal_code]\r\n\r\n if (addressInfo.every(value => value !== null)) {\r\n return union.address + ', ' + union.postal_code + ' ' + union.city\r\n } else {\r\n return '...'\r\n }\r\n }\r\n\r\n if (union === null) return null\r\n\r\n return (\r\n \r\n navigation.push('Union', { id: union.id })}>\r\n \r\n\r\n \r\n {union.title}\r\n\r\n \r\n {union.body}\r\n \r\n\r\n \r\n\r\n \r\n {renderAddress()}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n width: '100%',\r\n display: 'flex',\r\n alignItems: 'center',\r\n position: 'absolute',\r\n bottom: 0,\r\n },\r\n\r\n mapDialog: {\r\n flexDirection: 'row',\r\n backgroundColor: Colors.white,\r\n alignSelf: 'center',\r\n justifyContent: 'center',\r\n padding: 12,\r\n width: '90%',\r\n borderRadius: 12,\r\n maxWidth: 400,\r\n position: 'absolute',\r\n bottom: 12,\r\n ...borderRadiusS,\r\n ...dropShadow,\r\n },\r\n\r\n image: {\r\n borderRadius: 50,\r\n borderWidth: 1,\r\n height: 80,\r\n width: 80,\r\n alignSelf: 'center',\r\n },\r\n\r\n textContainer: {\r\n flex: 1,\r\n marginLeft: 12,\r\n overflow: 'hidden',\r\n },\r\n\r\n separator: {\r\n height: 1,\r\n margin: 10,\r\n backgroundColor: Colors.bluePale,\r\n },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport Colors from '../../constants/Colors'\r\nimport { FlatList, StyleSheet, View } from 'react-native'\r\nimport { getMunicipalityList } from '../../services/api/Municipalities'\r\nimport { txt } from '../../locales/i18n'\r\n\r\nimport CustomDialog from '../dialogs/CustomDialog'\r\nimport { CustomText } from '../text/StyledText'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport default function MunicipalityFilter({ onChange, municipalityId, focus, setFocus, feature, ...props }) {\r\n const [municipalities, setMunicipalities] = useState([])\r\n\r\n useEffect(() => {\r\n getMunicipalityList({ feature, countryId: 1 }).then((data) => {\r\n const municipalities = data.map(({ id, name }) => ({ value: String(id), name }))\r\n const municipality = municipalities.find(({ value }) => value === municipalityId)\r\n\r\n if (municipality === undefined) {\r\n setFocus(true)\r\n onChange('all')\r\n }\r\n\r\n municipalities.unshift({ value: 'all', name: txt('activities.allMunicipalities') })\r\n setMunicipalities(municipalities)\r\n })\r\n }, [])\r\n\r\n function handleSelect(value) {\r\n onChange(value)\r\n setFocus(false)\r\n }\r\n\r\n function getMunicipalityName(value) {\r\n return municipalities.find((item) => item.value === value)?.name\r\n }\r\n\r\n return (\r\n \r\n setFocus(true)} style={styles.button}>\r\n \r\n {getMunicipalityName(municipalityId)}\r\n \r\n\r\n setFocus(false)} visible={focus} style={{ padding: 24 }}>\r\n \r\n {props.description}\r\n\r\n item.value}\r\n ItemSeparatorComponent={() => }\r\n initialNumToRender={20}\r\n style={{}}\r\n renderItem={({ item }) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nfunction ListItem({ item, onSelect, selected }) {\r\n const backgroundColor = selected ? Colors.greyLightLight : Colors.transparent\r\n return (\r\n onSelect(item.value)}>\r\n {selected && }\r\n {item.name}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n paddingHorizontal: 6,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n button: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n },\r\n selectItem: {\r\n paddingVertical: 6,\r\n paddingHorizontal: 30,\r\n },\r\n separator: {\r\n width: '100%',\r\n height: 1,\r\n backgroundColor: Colors.greyLightLight,\r\n },\r\n checkIcon: {\r\n position: 'absolute',\r\n left: 8,\r\n top: 7,\r\n },\r\n})\r\n","import React, { useEffect, useRef, useState } from 'react'\r\nimport { StyleSheet, View } from 'react-native'\r\n\r\nimport { Map } from '../../maps/map'\r\nimport UnionListItem from './UnionListItem'\r\nimport { UnionLocationModal } from './UnionLocationModal'\r\nimport MunicipalityFilter from '../../shared/MunicipalityFilter'\r\n\r\nimport PageTitle from '../../../components/tags/PageTitle'\r\nimport SearchList, { ListSeparator } from '../../../components/lists/SearchList'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\n\r\nimport Colors from '../../../constants/Colors'\r\nimport TxtTMD from '../../../constants/TxtTMD'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Layout from '../../../constants/Layout'\r\nimport { dropShadow } from '../../../styles/shadows'\r\n\r\nimport { useRoute } from '@react-navigation/core'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function UnionFeed(props) {\r\n const [location, setLocation] = useState(null)\r\n const [showMap, setShowMap] = useState(false)\r\n const [municipalityFocus, setMunicipalityFocus] = useState(false)\r\n\r\n const municipalityRef = useRef(null)\r\n const route = useRoute()\r\n\r\n useEffect(() => {\r\n municipalityRef.current = props.municipality\r\n }, [props.municipality])\r\n\r\n const renderItem = ({ item }, index) => {\r\n if (item.isSeparator) {\r\n return \r\n }\r\n\r\n return props.navigateToUnion(item.id)} />\r\n }\r\n\r\n const toggleMap = () => {\r\n setLocation(null)\r\n setShowMap((prev) => !prev)\r\n }\r\n\r\n const getListVisibility = () => {\r\n const isLargeDevice = Layout.isSmallDevice === false\r\n const hideMap = showMap === false\r\n return isLargeDevice || hideMap\r\n }\r\n\r\n const getMapVisibility = () => {\r\n const isLargeDevice = Layout.isSmallDevice === false\r\n return isLargeDevice || showMap\r\n }\r\n\r\n const renderFilterBelow = () => {\r\n if (props?.filterBelow) return props.filterBelow()\r\n\r\n const isUniverse = Boolean(route.params?.universe)\r\n if (isUniverse) return null\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n municipalityRef.current !== props.municipality}\r\n center={true}\r\n />\r\n \r\n\r\n {getMapVisibility() && (\r\n \r\n setLocation(null)} />\r\n {location && }\r\n \r\n )}\r\n\r\n {Layout.isSmallDevice && (\r\n \r\n \r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n flexDirection: 'row',\r\n justifyContent: 'center',\r\n marginHorizontal: Layout.isSmallDevice ? 0 : 12,\r\n },\r\n\r\n listContainer: {\r\n flex: 1,\r\n },\r\n\r\n mapContainer: {\r\n flex: 1,\r\n marginBottom: 12,\r\n maxWidth: 800,\r\n },\r\n\r\n mapButton: {\r\n alignItems: 'center',\r\n backgroundColor: Colors.blue,\r\n borderRadius: 100,\r\n height: 64,\r\n justifyContent: 'center',\r\n position: 'absolute',\r\n right: 16,\r\n width: 64,\r\n ...dropShadow,\r\n },\r\n\r\n municipalityFilter: {\r\n alignSelf: 'center',\r\n marginVertical: 5,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, FlatList, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Colors from '../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport UnionListItem from './UnionListItem'\r\nimport { CustomText } from '../../text/StyledText'\r\n\r\nexport default class MyUnions extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n unions: [],\r\n }\r\n }\r\n\r\n async componentDidMount() {\r\n const unions = await this.props.getOwnUnions()\r\n this.setState({ unions })\r\n\r\n this.unsubscribe = this.props.navigation.addListener('focus', async () => {\r\n this.setState({ unions: [] })\r\n const unions = await this.props.getOwnUnions()\r\n this.setState({ unions })\r\n })\r\n }\r\n\r\n componentWillUnmount() {\r\n this.unsubscribe?.()\r\n }\r\n\r\n keyExtractor = (item, index) => index.toString()\r\n\r\n _renderItem = ({ item }) => (\r\n {\r\n this.props.navigateToUnion(item.id)\r\n }}\r\n />\r\n )\r\n\r\n noUnions = () => {\r\n return (\r\n \r\n \r\n {txt('unions.edit.noOwnUnionsTitle')}\r\n \r\n \r\n {txt('unions.edit.noOwnUnionsText')}\r\n \r\n \r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.renderChips()}\r\n \r\n \r\n )\r\n }\r\n}\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n noMessage: {\r\n color: Colors.inactive,\r\n margin: 5,\r\n marginTop: 20,\r\n textAlign: 'center',\r\n },\r\n})\r\n","import React from 'react'\r\nimport { FlatList, View, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport UnionListItem from './UnionListItem'\r\nimport { SpacingStyles } from '../../../styles'\r\n\r\nexport default class FavoriteUnions extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n unions: [],\r\n }\r\n }\r\n\r\n async componentDidMount() {\r\n let unions = await this.props.getFavoriteUnions()\r\n this.setState({ unions })\r\n\r\n this.unsubscribe = this.props.navigation.addListener('focus', async () => {\r\n unions = await this.props.getFavoriteUnions()\r\n this.setState({ unions })\r\n })\r\n }\r\n\r\n componentWillUnmount() {\r\n this.unsubscribe?.()\r\n }\r\n\r\n renderItem = ({ item }) => (\r\n {\r\n this.props.navigateToUnion(item.id)\r\n }}\r\n />\r\n )\r\n\r\n noUnions = () => (\r\n \r\n \r\n {txt('unions.favorites.noUnionsTitle')}\r\n \r\n \r\n {txt('unions.favorites.noUnionsText')}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.renderChips()}\r\n item.id?.toString()}\r\n data={this.state.unions}\r\n renderItem={this.renderItem}\r\n keyboardDismissMode=\"on-drag\"\r\n ListEmptyComponent={this.noUnions}\r\n />\r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n alignSelfCenter: { alignSelf: 'center', margin: 10 },\r\n container: { flex: 1, ...SpacingStyles.widthAndHeight },\r\n text: {\r\n color: Colors.inactive,\r\n margin: 5,\r\n marginTop: 20,\r\n textAlign: 'center',\r\n },\r\n})\r\n","import { apiGet } from './ApiRequest'\r\n\r\nexport const getAddress = async (search, postalCode) => {\r\n const url = `addresses?search=${search}&postalCode=${postalCode}`\r\n const address = await apiGet(url)\r\n return address ?? null\r\n}\r\n\r\nexport const getSuggestions = async (search, count = 4) => {\r\n const url = `addresses/suggestions?search=${search}&count=${count}`\r\n const suggestions = await apiGet(url)\r\n return suggestions ?? []\r\n}\r\n\r\nexport const getCityFromPostalCode = async (postalCode) => {\r\n const url = 'https://services.datafordeler.dk/DAR/DAR/1/REST/postnummer?Postnr=' + postalCode\r\n const response = await fetch(url)\r\n\r\n if (response.ok === false) {\r\n return null\r\n }\r\n\r\n const [city] = await response.json()\r\n return city?.navn ?? null\r\n}\r\n","export const municipalities = [\r\n { id: 1, name: 'Aabenraa', lat: 54.979245, lng: 9.318688 },\r\n { id: 2, name: 'Aalborg', lat: 57.026147, lng: 9.928661 },\r\n { id: 3, name: 'Aarhus', lat: 56.161364, lng: 10.125875 },\r\n { id: 5, name: 'Albertslund', lat: 55.677059, lng: 12.351181 },\r\n { id: 6, name: 'Allerød', lat: 55.85496, lng: 12.320007 },\r\n { id: 7, name: 'Assens', lat: 55.298033, lng: 10.07149 },\r\n { id: 8, name: 'Ballerup', lat: 55.730843, lng: 12.368361 },\r\n { id: 9, name: 'Billund', lat: 55.734904, lng: 8.970712 },\r\n { id: 98, name: 'Bornholms', lat: 55.1424877, lng: 14.6388933 },\r\n { id: 10, name: 'Brøndby', lat: 55.643965, lng: 12.412267 },\r\n { id: 11, name: 'Brønderslev', lat: 57.237307, lng: 10.128541 },\r\n { id: 12, name: 'Dragør', lat: 55.580556, lng: 12.629148 },\r\n { id: 13, name: 'Egedal', lat: 55.76908, lng: 12.234093 },\r\n { id: 14, name: 'Esbjerg', lat: 55.422277, lng: 8.718652 },\r\n { id: 15, name: 'Faaborg-Midtfyn', lat: 55.199447, lng: 10.383724 },\r\n { id: 16, name: 'Fanø', lat: 55.404996, lng: 8.420189 },\r\n { id: 17, name: 'Favrskov', lat: 56.304948, lng: 9.947562 },\r\n { id: 18, name: 'Faxe', lat: 55.287502, lng: 12.072312 },\r\n { id: 19, name: 'Fredensborg', lat: 55.945561, lng: 12.452792 },\r\n { id: 20, name: 'Fredericia', lat: 55.571463, lng: 9.679837 },\r\n { id: 21, name: 'Frederiksberg', lat: 55.680954, lng: 12.525922 },\r\n { id: 22, name: 'Frederikshavn', lat: 57.41122, lng: 10.442963 },\r\n { id: 23, name: 'Frederikssund', lat: 55.814881, lng: 12.034435 },\r\n { id: 24, name: 'Furesø', lat: 55.796976, lng: 12.368718 },\r\n { id: 25, name: 'Gentofte', lat: 55.749543, lng: 12.553114 },\r\n { id: 26, name: 'Gladsaxe', lat: 55.746481, lng: 12.477068 },\r\n { id: 27, name: 'Glostrup', lat: 55.677155, lng: 12.408927 },\r\n { id: 28, name: 'Greve', lat: 55.587009, lng: 12.25787 },\r\n { id: 29, name: 'Gribskov', lat: 56.055903, lng: 12.249454 },\r\n { id: 30, name: 'Guldborgsund', lat: 54.790965, lng: 11.866098 },\r\n { id: 31, name: 'Haderslev', lat: 55.23866, lng: 9.378435 },\r\n { id: 32, name: 'Halsnæs', lat: 55.954565, lng: 12.002069 },\r\n { id: 33, name: 'Hedensted', lat: 55.782167, lng: 9.739428 },\r\n { id: 34, name: 'Helsingør', lat: 56.037258, lng: 12.508053 },\r\n { id: 35, name: 'Herlev', lat: 55.733792, lng: 12.43171 },\r\n { id: 36, name: 'Herning', lat: 56.139785, lng: 8.921954 },\r\n { id: 37, name: 'Hillerød', lat: 55.926992, lng: 12.275105 },\r\n { id: 38, name: 'Hjørring', lat: 57.455039, lng: 9.998041 },\r\n { id: 39, name: 'Høje-Taastrup', lat: 55.661428, lng: 12.245176 },\r\n { id: 40, name: 'Holbæk', lat: 55.660479, lng: 11.610549 },\r\n { id: 41, name: 'Holstebro', lat: 56.352867, lng: 8.662293 },\r\n { id: 42, name: 'Horsens', lat: 55.924699, lng: 9.79425 },\r\n { id: 43, name: 'Hørsholm', lat: 55.887556, lng: 12.494405 },\r\n { id: 44, name: 'Hvidovre', lat: 55.631563, lng: 12.473143 },\r\n { id: 45, name: 'Ikast-Brande', lat: 56.047199, lng: 9.255805 },\r\n { id: 46, name: 'Ishøj', lat: 55.62271, lng: 12.321494 },\r\n { id: 47, name: 'Jammerbugt', lat: 57.128657, lng: 9.434677 },\r\n { id: 48, name: 'Kalundborg', lat: 55.614447, lng: 11.269268 },\r\n { id: 49, name: 'Kerteminde', lat: 55.439287, lng: 10.626548 },\r\n { id: 50, name: 'Københavns', lat: 55.673955, lng: 12.571786 },\r\n { id: 51, name: 'Køge', lat: 55.459106, lng: 12.075344 },\r\n { id: 52, name: 'Kolding', lat: 55.459633, lng: 9.47219 },\r\n { id: 53, name: 'Læsø', lat: 57.27667, lng: 10.992733 },\r\n { id: 54, name: 'Langeland', lat: 54.92319, lng: 10.781989 },\r\n { id: 55, name: 'Lejre', lat: 55.62123, lng: 11.922718 },\r\n { id: 56, name: 'Lemvig', lat: 56.48912, lng: 8.299065 },\r\n { id: 57, name: 'Lolland', lat: 54.799083, lng: 11.298027 },\r\n { id: 58, name: 'Lyngby-Taarbæk', lat: 55.786055, lng: 12.516836 },\r\n { id: 59, name: 'Mariagerfjord', lat: 56.68612, lng: 9.970863 },\r\n { id: 60, name: 'Middelfart', lat: 55.455512, lng: 9.908975 },\r\n { id: 61, name: 'Morsø', lat: 56.797419, lng: 8.742318 },\r\n { id: 62, name: 'Næstved', lat: 55.267327, lng: 11.754733 },\r\n { id: 63, name: 'Norddjurs', lat: 56.456752, lng: 10.712994 },\r\n { id: 64, name: 'Nordfyns', lat: 55.527256, lng: 10.26204 },\r\n { id: 65, name: 'Nyborg', lat: 55.289593, lng: 10.729612 },\r\n { id: 66, name: 'Odder', lat: 55.944271, lng: 10.151739 },\r\n { id: 67, name: 'Odense', lat: 55.39141, lng: 10.387144 },\r\n { id: 68, name: 'Odsherred', lat: 55.846707, lng: 11.59015 },\r\n { id: 69, name: 'Randers', lat: 56.492967, lng: 10.075268 },\r\n { id: 70, name: 'Rebild', lat: 56.837134, lng: 9.823429 },\r\n { id: 71, name: 'Ringkøbing-Skjern', lat: 56.021253, lng: 8.479293 },\r\n { id: 72, name: 'Ringsted', lat: 55.459325, lng: 11.815581 },\r\n { id: 73, name: 'Rødovre', lat: 55.688637, lng: 12.451921 },\r\n { id: 74, name: 'Roskilde', lat: 55.644917, lng: 12.112129 },\r\n { id: 75, name: 'Rudersdal', lat: 55.836219, lng: 12.494515 },\r\n { id: 76, name: 'Samsø', lat: 55.854441, lng: 10.613796 },\r\n { id: 77, name: 'Silkeborg', lat: 56.189976, lng: 9.545624 },\r\n { id: 78, name: 'Skanderborg', lat: 56.083577, lng: 9.890223 },\r\n { id: 79, name: 'Skive', lat: 56.646569, lng: 9.005593 },\r\n { id: 80, name: 'Slagelse', lat: 55.348736, lng: 11.365193 },\r\n { id: 81, name: 'Solrød', lat: 55.536458, lng: 12.182618 },\r\n { id: 82, name: 'Sønderborg', lat: 54.94778, lng: 9.802881 },\r\n { id: 83, name: 'Sorø', lat: 55.483009, lng: 11.57981 },\r\n { id: 84, name: 'Stevns', lat: 55.330427, lng: 12.326484 },\r\n { id: 85, name: 'Struer', lat: 56.523991, lng: 8.563381 },\r\n { id: 86, name: 'Svendborg', lat: 55.097964, lng: 10.624116 },\r\n { id: 87, name: 'Syddjurs', lat: 56.326726, lng: 10.569825 },\r\n { id: 88, name: 'Tårnby', lat: 55.61313, lng: 12.609487 },\r\n { id: 89, name: 'Thisted', lat: 56.994642, lng: 8.655882 },\r\n { id: 90, name: 'Tønder', lat: 55.073539, lng: 8.925966 },\r\n { id: 91, name: 'Vallensbæk', lat: 55.632538, lng: 12.373843 },\r\n { id: 92, name: 'Varde', lat: 55.680043, lng: 8.523893 },\r\n { id: 93, name: 'Vejen', lat: 55.461584, lng: 9.061884 },\r\n { id: 94, name: 'Vejle', lat: 55.732833, lng: 9.384391 },\r\n { id: 95, name: 'Vesthimmerlands', lat: 56.813946, lng: 9.416298 },\r\n { id: 96, name: 'Viborg', lat: 56.464233, lng: 9.432205 },\r\n { id: 97, name: 'Vordingborg', lat: 55.01956, lng: 12.101209 },\r\n { id: 4, name: 'Ærø', lat: 54.864438, lng: 10.386498 },\r\n]\r\n\r\nexport function getMunicipality(id) {\r\n return municipalities.find(m => m.id === id)\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { FlatList, StyleSheet } from 'react-native'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport CustomDialog from '../../dialogs/CustomDialog'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { txt } from '../../../locales/i18n'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function ChooseFacultyItem({ visible, close, faculties, onPress, required, defaultFaculties }) {\r\n const [selectedFaculties, setSelectedFaculties] = useState(new Set())\r\n\r\n useEffect(() => {\r\n if (defaultFaculties === undefined) return\r\n setSelectedFaculties(defaultFaculties)\r\n }, [defaultFaculties])\r\n\r\n function selectFaculty(faculty) {\r\n const updatedList = new Set(selectedFaculties)\r\n if (updatedList.has(faculty.id)) updatedList.delete(faculty.id)\r\n else updatedList.add(faculty.id)\r\n setSelectedFaculties(updatedList)\r\n }\r\n\r\n function renderFaculty({ item }) {\r\n return (\r\n selectFaculty(item)}\r\n key={item.id}\r\n style={{ flexDirection: 'row', justifyContent: 'space-between', padding: 6 }}\r\n >\r\n {item.name}\r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n {txt('unions.create.faculty.dialogTitle')}\r\n \r\n {txt('unions.create.faculty.select')}\r\n \r\n onPress(selectedFaculties)}\r\n disabled={required ? selectedFaculties.size < 1 : false}\r\n style={styles.submitButton}\r\n icon=\"check\"\r\n stroke={'far'}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n dialog: {\r\n padding: 12,\r\n paddingTop: 18,\r\n minWidth: 300,\r\n },\r\n header: {\r\n marginBottom: 12,\r\n textAlign: 'center',\r\n },\r\n list: {\r\n flexGrow: 0,\r\n },\r\n submitButton: {\r\n marginTop: 12,\r\n width: '100%',\r\n },\r\n})\r\n","import React, { useEffect, useRef, useState } from 'react'\r\nimport { View, ScrollView, Platform, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { RoundBtn } from '../../buttons/StyledButtons'\r\nimport { CustomInputs, CustomMultilineInputs } from '../../text/StyledTextinputs'\r\nimport KeyboardSpacer from 'react-native-keyboard-spacer'\r\nimport ImagePicker from '../../ImagePicker/ImagePicker'\r\nimport { ShadowStyles, SpacingStyles, TypographyStyles } from '../../../styles'\r\nimport { CustomSnackbar } from '../../snackbars/Snackbar'\r\nimport { UploadImage } from '../../../services/api/UploadImage'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { Picker } from '@react-native-picker/picker'\r\nimport { InvalidInputNoticeCentered } from '../../notices/InvalidInputNotices'\r\nimport Colors from '../../../constants/Colors'\r\nimport { useSelector } from 'react-redux'\r\nimport * as AddressService from '../../../services/api/Addresses'\r\nimport { getMunicipality, municipalities } from '../../../constants/Municipalities'\r\nimport { useRoute } from '@react-navigation/native'\r\nimport { getFacilties } from '../../../services/api/Unions'\r\nimport ChooseFacultyItem from './ChooseFacultyItem'\r\nimport store from '../../../redux/store'\r\nimport imageBobl from '../../../assets/images/bobl.png'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport ModalSelectorCustom from \"../../modalSelectors/ModalSelectorCustom\"\r\n\r\nexport default function CreateUnion(props) {\r\n const user = useSelector((state) => state?.user)\r\n const [union, setUnion] = useState({\r\n title: '',\r\n body: '',\r\n url: '',\r\n imgId: null,\r\n municipalityId: user.municipality_id || 0,\r\n municipalityName: '',\r\n image: {},\r\n address: '',\r\n city: '',\r\n postalCode: null,\r\n latlng: null,\r\n })\r\n const [unionWasNotCreated, setUnionWasNotCreated] = useState(false)\r\n const [isAddressValid, setIsAddressValid] = useState(true)\r\n const [isPostalValid, setIsPostalValid] = useState(true)\r\n const [isMissingPostalCode, setIsMissingPostalCode] = useState(false)\r\n const [suggestions, setSuggestions] = useState([])\r\n const isUnionValid = true\r\n const uniqueValue = 1\r\n const SUGGESTIONS_PER_PAGE = 4\r\n const timeout = useRef(null)\r\n\r\n const [faculties, setFaculties] = useState([])\r\n const [facultiesVisible, setFacultiesVisible] = useState(false)\r\n const [selectedFaculties, setSelectedFaculties] = useState(new Set())\r\n const [isMissingFaculties, setIsMissingFaculties] = useState(false)\r\n\r\n const route = useRoute()\r\n const universeName = route.params?.universe?.toLowerCase()\r\n const universe = store.getState().user.universes.find((u) => u.name === universeName)\r\n\r\n useEffect(() => {\r\n getFacilties().then(setFaculties)\r\n const municipality = getMunicipality(user.municipality_id)\r\n updateUnion({ municipalityName: municipality.name })\r\n }, [route.params])\r\n\r\n const setImage = (image, rotation) => {\r\n setUnion((prev) => ({ ...prev, image: { image, rotation } }))\r\n }\r\n\r\n const updateUnion = (update) => {\r\n setUnion((prev) => ({ ...prev, ...update }))\r\n }\r\n\r\n const keyboardSpacerShow = () => {\r\n if (Platform.OS === 'ios') return \r\n }\r\n\r\n function checkURL(url) {\r\n if (url.startsWith('http') || url === '') return url\r\n else return 'http://' + url\r\n }\r\n\r\n const uploadImg = () => {\r\n if (union.image) {\r\n return UploadImage(union.image.image, union.image.rotation).catch((err) => {\r\n if (__DEV__) console.log('IMAGE UPLOAD FAIL ', err)\r\n })\r\n }\r\n }\r\n\r\n function validateUnion() {\r\n const { title, body } = union\r\n if (title.length > 0) updateUnion({ titleTooShort: false })\r\n if (body.length > 0) updateUnion({ descriptionTooShort: false })\r\n if (!isPostalValid) return false\r\n\r\n if (title.length < 1 && body.length < 1) {\r\n updateUnion({ titleTooShort: true, descriptionTooShort: true })\r\n return false\r\n } else if (title.length < 1) {\r\n updateUnion({ titleTooShort: true })\r\n return false\r\n } else if (body.length < 1) {\r\n updateUnion({ descriptionTooShort: true })\r\n return false\r\n } else if (selectedFaculties.size < 1 && universe?.id === 12) {\r\n setIsMissingFaculties(true)\r\n return false\r\n }\r\n return true\r\n }\r\n\r\n const createUnionFull = async () => {\r\n const isAddressVaild = await validateAddress()\r\n if (validateUnion() && isAddressVaild) {\r\n const imgId = await uploadImg()\r\n const data = {\r\n title: union.title,\r\n body: union.body,\r\n url: checkURL(union.url),\r\n municipality_id: parseInt(union.municipalityId, 10),\r\n img_id: imgId,\r\n address: union.address,\r\n city: union.city,\r\n postal_code: union.postalCode,\r\n lat: union.latlng?.lat,\r\n lng: union.latlng?.lng,\r\n }\r\n if (universe?.id === 12) {\r\n data.faculties = Array.from(selectedFaculties)\r\n }\r\n const unionCreated = await props.createUnion(data)\r\n if (unionCreated) props.navigateToMyUnions()\r\n }\r\n }\r\n\r\n function pickMunicipality() {\r\n return (\r\n data.id?.toString()}\r\n labelExtractor={(data) => data.name}\r\n key={(data) => data.id}\r\n initValue={union.municipalityName || txt('signupField.municipalityPlaceholder')}\r\n onChange={(value) => updateUnion({ municipalityId: value.id })}\r\n />\r\n )\r\n }\r\n\r\n const validateAddress = async () => {\r\n const { address, postalCode } = union\r\n if (address?.length > 0) {\r\n if (!postalCode) {\r\n setIsMissingPostalCode(true)\r\n return false\r\n } else setIsMissingPostalCode(false)\r\n\r\n const data = await AddressService.getAddress(address, postalCode)\r\n if (data) {\r\n setIsAddressValid(true)\r\n return true\r\n }\r\n return false\r\n } else {\r\n // empty address is valid\r\n updateUnion({ latlng: { lat: null, lng: null } })\r\n setIsAddressValid(true)\r\n setIsMissingPostalCode(false)\r\n return true\r\n }\r\n }\r\n\r\n const handleAddressChange = async (value) => {\r\n clearTimeout(timeout.current)\r\n updateUnion({ address: value })\r\n timeout.current = setTimeout(async () => {\r\n const suggestions = await AddressService.getSuggestions(value)\r\n if (suggestions.length === 0 && value) setIsAddressValid(false)\r\n else setIsAddressValid(true)\r\n setSuggestions(suggestions)\r\n }, 800)\r\n }\r\n\r\n async function handleSuggestionClick(suggestion) {\r\n const address = suggestion.tekst.split(',')[0]\r\n const otherInfo = suggestion.adgangsadresse\r\n const data = await AddressService.getAddress(address, otherInfo.postnr)\r\n const latlng = data.adgangsadresse.adgangspunkt.koordinater\r\n updateUnion({\r\n address: address,\r\n postalCode: otherInfo.postnr,\r\n city: otherInfo.postnrnavn,\r\n latlng: { lat: latlng[1], lng: latlng[0] },\r\n })\r\n setSuggestions([])\r\n }\r\n\r\n const renderSuggestions = () => (\r\n \r\n {suggestions.map((suggestion, index) => {\r\n const borderWidth = index !== suggestions.length - 1 ? 1 : 0\r\n return (\r\n handleSuggestionClick(suggestion)}\r\n >\r\n {suggestion.tekst}\r\n \r\n )\r\n })}\r\n \r\n )\r\n\r\n const handlePostalCodeChange = async (postalCode) => {\r\n clearTimeout(timeout.current)\r\n postalCode = postalCode.replace(/[^0-9]/g, '')\r\n if (postalCode.length === 0) setIsPostalValid(true)\r\n if (postalCode.length > 0) {\r\n timeout.current = setTimeout(async () => {\r\n const city = await AddressService.getCityFromPostalCode(postalCode)\r\n updateUnion({ city: city ?? '' })\r\n setIsPostalValid(city !== null)\r\n }, 400)\r\n }\r\n updateUnion({ postalCode: postalCode })\r\n }\r\n\r\n const handleFaculties = (faculties) => {\r\n setSelectedFaculties(faculties)\r\n setFacultiesVisible(false)\r\n }\r\n\r\n return (\r\n \r\n \r\n {props.renderChips()}\r\n \r\n \r\n {}}\r\n placeholder={imageBobl}\r\n />\r\n \r\n\r\n \r\n updateUnion({ title })}\r\n />\r\n {union.titleTooShort && (\r\n {txt('unions.create.titleTooShort')}\r\n )}\r\n \r\n \r\n updateUnion({ body: value })}\r\n />\r\n {union.descriptionTooShort && (\r\n {txt('unions.create.descriptionTooShort')}\r\n )}\r\n \r\n \r\n \r\n {!isAddressValid && (\r\n \r\n {txt('unions.create.invalidAddress')}\r\n \r\n )}\r\n {suggestions.length > 0 && union.address !== '' && renderSuggestions()}\r\n \r\n\r\n \r\n \r\n \r\n {!isPostalValid && (\r\n \r\n {txt('unions.create.invalidPostalCode')}\r\n \r\n )}\r\n {isMissingPostalCode && (\r\n \r\n {txt('unions.create.postalCodeRequired')}\r\n \r\n )}\r\n \r\n \r\n updateUnion({ city: value })}\r\n />\r\n \r\n \r\n \r\n updateUnion({ url: value })}\r\n />\r\n \r\n {!universe && (\r\n \r\n \r\n \r\n {pickMunicipality()}\r\n \r\n )}\r\n\r\n {universe?.id === 12 && faculties.length > 0 && (\r\n \r\n setFacultiesVisible(true)}\r\n style={{\r\n backgroundColor: Colors.white,\r\n borderRadius: 10,\r\n ...ShadowStyles.shadowInputs,\r\n padding: 10,\r\n marginHorizontal: 10,\r\n marginBottom: 12,\r\n }}>\r\n 1\r\n ? selectedFaculties.size + txt('unions.create.faculty.multipleSelected')\r\n : txt('unions.create.faculty.select')} />\r\n \r\n setFacultiesVisible(false)}\r\n faculties={faculties}\r\n onPress={handleFaculties}\r\n required\r\n />\r\n {isMissingFaculties && (\r\n \r\n {txt('unions.create.faculty.invalid')}\r\n \r\n )}\r\n \r\n )}\r\n\r\n {((union.titleTooShort && union.descriptionTooShort) || union.titleTooShort || union.descriptionTooShort) && (\r\n \r\n {txt('unions.create.unionNotCreated')}\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n {!isUnionValid ? (\r\n {txt('invalidNotice.invalidBooking')}\r\n ) : null}\r\n \r\n \r\n setUnionWasNotCreated(false)}\r\n text={txt('createPost.error')}\r\n style={{ marginBottom: 60 }}\r\n />\r\n {keyboardSpacerShow()}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: {\r\n alignSelf: 'center',\r\n },\r\n container: {\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n errorMessage: {\r\n color: Colors.errorBackground,\r\n ...TypographyStyles.textSmallBold,\r\n marginBottom: 5,\r\n },\r\n imagePickerContainer: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginVertical: 12,\r\n },\r\n inputRow: {\r\n flex: 1,\r\n flexDirection: 'row',\r\n marginHorizontal: 5,\r\n zIndex: -1,\r\n },\r\n margin: {\r\n marginBottom: 20,\r\n },\r\n marginBottom: { marginBottom: 5 },\r\n marginInput: {\r\n ...SpacingStyles.marginRightLeft10,\r\n marginBottom: 15,\r\n },\r\n marginInputSplit: {\r\n flex: 1,\r\n marginBottom: 15,\r\n marginHorizontal: 5,\r\n },\r\n marginLeftRight: { marginHorizontal: 12 },\r\n picker: {\r\n backgroundColor: Colors.white,\r\n padding: Platform.OS === 'android' ? 0 : 10,\r\n borderRadius: 12,\r\n marginTop: 6,\r\n ...ShadowStyles.shadowInputs,\r\n },\r\n suggestion: {\r\n borderBottomColor: Colors.blackTransparent,\r\n padding: 10,\r\n },\r\n suggestionsContainer: {\r\n ...ShadowStyles.shadowInputs,\r\n backgroundColor: Colors.white,\r\n borderRadius: 12,\r\n position: 'absolute',\r\n top: 48,\r\n width: '100%',\r\n zIndex: 1,\r\n },\r\n textCenter: { textAlign: 'center' },\r\n})\r\n","import React from 'react'\r\nimport { Platform, View } from 'react-native'\r\nimport { Helmet } from 'react-helmet'\r\n\r\nexport default class FacebookPixel extends React.PureComponent {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n consentGiven: !!(\r\n window.CookieInformation && window.CookieInformation.getConsentGivenFor('cookie_cat_marketing') === true\r\n ),\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n if (Platform.OS === 'web') {\r\n this.unsubscribeFromCookieInformation = window.addEventListener(\r\n 'CookieInformationConsentGiven',\r\n (e) => {\r\n if (CookieInformation.getConsentGivenFor('cookie_cat_marketing')) {\r\n this.setState({ consentGiven: true })\r\n } else {\r\n this.setState({ consentGiven: false })\r\n }\r\n },\r\n false\r\n )\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n // unsubscribe from cookieInfo on unmount\r\n if (this.unsubscribeFromCookieInformation) this.unsubscribeFromCookieInformation()\r\n }\r\n\r\n render() {\r\n if (__DEV__) console.log('consentGiven to Facebook =', this.state.consentGiven)\r\n if (Platform.OS === 'web' && this.state.consentGiven === true) {\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n } else {\r\n return \r\n }\r\n }\r\n}\r\n","import React from 'react'\r\nimport { Platform, View } from 'react-native'\r\nimport { Helmet } from 'react-helmet'\r\n\r\nexport default class FacebookPixelSignup extends React.PureComponent {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n if (Platform.OS === 'web') {\r\n return (\r\n \r\n \r\n \r\n )\r\n } else {\r\n return \r\n }\r\n }\r\n}\r\n","import React from 'react'\r\nimport { View, Platform, StyleSheet } from 'react-native'\r\nimport { connect } from 'react-redux'\r\nimport { setOrigin, setShowMakeInfluence } from '../../../redux/actions'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport Colors from '../../../constants/Colors'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { CustomInputWithValidationNoShadow } from '../../text/StyledTextinputs'\r\nimport RegexPatterns from '../../../constants/RegexPatterns'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport KeyboardSpacer from 'react-native-keyboard-spacer'\r\nimport { InvalidInputNoticeCentered, InvalidInputNoticeSimple } from '../../notices/InvalidInputNotices'\r\nimport { signup, login } from '../../../services/api/User'\r\nimport { CornerStyles, TypographyStyles } from '../../../styles'\r\nimport { URLOpener } from '../../../utils/URLOpener'\r\n\r\nimport FacebookPixel from '../../Integrations/FacebookPixel'\r\nimport FacebookPixelSignup from '../../Integrations/FacebookPixelSignup'\r\nimport { getInvitedUser } from '../../../services/api/User'\r\nimport { Picker } from '@react-native-picker/picker'\r\nimport store from '../../../redux/store'\r\nimport { joinUniverseById } from '../../../services/api/Universe'\r\nimport { getCountryMunicipalities } from '../../../services/api/Municipalities'\r\nimport { getRegion, getLanguage, countries } from '../../../services/localization'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport ModalSelectorCustom from \"../../modalSelectors/ModalSelectorCustom\"\r\n\r\nclass SignupField extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n loading: false,\r\n birthYearList: [],\r\n municipality: '',\r\n municipalityId: 0,\r\n token: '',\r\n name: '',\r\n birthYear: props.defaultBirthYear ?? '',\r\n email: '',\r\n password: '',\r\n checkBoxChecked: false,\r\n passwordHidden: true,\r\n isUsernameValid: true,\r\n isEmailValid: true,\r\n isMunicipalityValid: true,\r\n isBirthYearValid: true,\r\n isPasswordValid: true,\r\n signUpError: false,\r\n signUpResponse: '',\r\n municipalities: [],\r\n region: getRegion(),\r\n missingFields: {\r\n municipalityId: false,\r\n username: false,\r\n birthYear: false,\r\n email: false,\r\n password: false,\r\n },\r\n }\r\n }\r\n\r\n async componentDidMount() {\r\n this.getUserInfoViaToken()\r\n this.setDefaultMunicipality()\r\n this.setBirthdayYearList()\r\n this.setMunicipalities()\r\n }\r\n\r\n componentDidUpdate() {\r\n const universe = this.props.route.params?.universe?.toLowerCase()\r\n let { originScreen, originStack, originRootStack, originParams } = this.props\r\n if (originScreen || originStack || originRootStack) {\r\n const payload = { rootStack: originRootStack || 'app' }\r\n if (originScreen) payload.screen = originScreen\r\n if (originStack) payload.stack = originStack\r\n if (originParams) payload.params = originParams\r\n if (universe) payload.universe = universe\r\n store.dispatch(setOrigin(payload))\r\n }\r\n if (this.state.municipalityId === 35 && !universe) {\r\n // only if municipality = Herlev and universe is undefined\r\n store.dispatch(setOrigin({ rootStack: 'universe', universe: 'herlev' }))\r\n }\r\n }\r\n\r\n async setMunicipalities() {\r\n const region = getRegion()\r\n const country = countries.find((country) => country.region === region)\r\n const municipalities = await getCountryMunicipalities(country?.name)\r\n this.setState({ region, municipalities })\r\n }\r\n\r\n async getUserInfoViaToken() {\r\n // TODO: find alternative for mobile\r\n if (Platform.OS === 'web') {\r\n const urlParams = new URLSearchParams(window.location.search)\r\n const token = urlParams.get('token')\r\n if (token) {\r\n const result = await getInvitedUser(token)\r\n if (result) {\r\n const { username, email } = result\r\n this.setState({\r\n name: username,\r\n email,\r\n token,\r\n })\r\n }\r\n }\r\n }\r\n }\r\n\r\n setDefaultMunicipality() {\r\n let isValid = false\r\n const defaultMunicipality = this.props.selectedMunicipality\r\n if (defaultMunicipality) {\r\n const selectedItem = this.state.municipalities.find((e) => {\r\n return e.name === defaultMunicipality\r\n })\r\n isValid = selectedItem?.id !== 0 ? true : false\r\n this.setState({\r\n municipality: defaultMunicipality,\r\n municipalityId: selectedItem?.id,\r\n isMunicipalityValid: isValid,\r\n })\r\n }\r\n }\r\n\r\n setBirthdayYearList() {\r\n let yearStart = 1900\r\n let yearEnd = new Date().getFullYear() - 15\r\n let years = Array(yearEnd - yearStart + 1)\r\n .fill()\r\n .map(() => yearStart++)\r\n years.reverse()\r\n this.setState({ birthYearList: years })\r\n }\r\n\r\n signup = async () => {\r\n this.setState({ signUpError: false, signUpResponse: '', loading: true })\r\n const { name, email, password, birthYear, municipalityId, checkBoxChecked, token } = this.state\r\n if (!this.formIsValid() || !checkBoxChecked) {\r\n this.setMissingFields()\r\n this.setState({ signUpError: true, password: '', loading: false })\r\n return\r\n }\r\n\r\n const region = this.state?.region\r\n const country = countries.find((country) => country.region === region)\r\n const language = await getLanguage()\r\n\r\n const result = await signup({\r\n name,\r\n email,\r\n password,\r\n birthYear,\r\n municipalityId,\r\n language: language,\r\n token,\r\n origin: this.props.originScreen || 'Boblberg',\r\n country: country?.name ?? 'Denmark',\r\n })\r\n\r\n if (result.error) {\r\n const errorText =\r\n result.error === 'EMAIL_ALREADY_TAKEN' ? txt('signupField.invalidEmail') : txt('signupField.signUpError')\r\n this.setState({\r\n signUpResponse: errorText,\r\n signUpError: true,\r\n loading: false,\r\n })\r\n return\r\n }\r\n\r\n //Fires CompleteRegistration Pixel - Should work...\r\n const showSignUpPixel = Platform.OS === 'web'\r\n this.setState({ showSignUpPixel, loading: false })\r\n this.props.setShowMakeInfluence(true)\r\n if (Platform.OS === 'web') {\r\n window.plausible('Signup', {\r\n props: { origin: this.props.originScreen || 'Home' },\r\n })\r\n }\r\n await login(email, password)\r\n if (this.props.onSignupSuccess) return this.props.onSignupSuccess()\r\n else {\r\n //add all users from Herlev municipality to herlevbobler\r\n if (municipalityId === 35) await joinUniverseById(9)\r\n }\r\n }\r\n\r\n formIsValid = () => {\r\n let everythingValid = false\r\n if (\r\n this.state.isBirthYearValid &&\r\n this.state.isUsernameValid &&\r\n this.state.isEmailValid &&\r\n this.state.isMunicipalityValid &&\r\n this.state.isPasswordValid\r\n )\r\n everythingValid = true\r\n\r\n let empty = false\r\n if (\r\n this.state.birthYear.length === 0 ||\r\n this.state.name.length === 0 ||\r\n this.state.email.length === 0 ||\r\n this.state.municipalityId === 0 ||\r\n this.state.password.length === 0\r\n )\r\n empty = true\r\n\r\n return !empty && everythingValid\r\n }\r\n\r\n setMissingFields() {\r\n // true = missing correct data, false = data is correct\r\n const missingFields = {\r\n municipality: !(this.state.municipalityId >= 1 && this.state.municipalityId <= 98),\r\n username: checkForMissingValue(this.state.name, RegexPatterns.username),\r\n birthYear: !(this.state.birthYear >= 1900 && this.state.birthYear <= new Date().getFullYear() - 15),\r\n email: checkForMissingValue(this.state.email, RegexPatterns.email),\r\n password: checkForMissingValue(this.state.password, RegexPatterns.password),\r\n checkBoxChecked: !this.state.checkBoxChecked,\r\n }\r\n\r\n // for later if we want to show errors under each info after failure\r\n // this.setState({\r\n // isMunicipalityValid: !missingFields.municipality,\r\n // isUsernameValid: !missingFields.username,\r\n // isBirthYearValid: !missingFields.birthYear,\r\n // isEmailValid: !missingFields.email,\r\n // isPasswordValid: !missingFields.password\r\n // })\r\n\r\n // check if value is incorrect and therefor missing\r\n function checkForMissingValue(value, pattern) {\r\n if (!pattern) return true\r\n let isValid = false\r\n // string pattern, one validation rule\r\n if (typeof pattern === 'string') {\r\n const condition = new RegExp(pattern, 'g')\r\n isValid = condition.test(value)\r\n }\r\n // array patterns, multiple validation rules\r\n if (typeof pattern === 'object') {\r\n const conditions = pattern.map((rule) => new RegExp(rule, 'g'))\r\n isValid = conditions.map((condition) => condition.test(value))\r\n }\r\n\r\n // return boolean indicating if value is missing\r\n if (typeof isValid === 'boolean' && isValid) {\r\n return false\r\n } else if (typeof isValid === 'object' && !isValid.includes(false)) {\r\n return false\r\n } else {\r\n return true\r\n }\r\n }\r\n this.setState({ signUpResponse: '' })\r\n this.setState({ missingFields })\r\n }\r\n\r\n showMissingFields() {\r\n const missingFields = this.state.missingFields\r\n\r\n if (this.state.signUpResponse !== '') {\r\n return this.state.signUpResponse\r\n }\r\n\r\n // removes fields that are filled out\r\n const removeFalsy = (obj) => {\r\n let newObj = {}\r\n Object.keys(obj).forEach((prop) => {\r\n if (obj[prop]) {\r\n newObj[prop] = obj[prop]\r\n }\r\n })\r\n return newObj\r\n }\r\n\r\n // translate and create list of missing fields\r\n var str = ''\r\n Object.keys(removeFalsy(missingFields)).forEach((element) => {\r\n if (element === 'checkBoxChecked') str += '\\n* ' + txt('signupField.InvalidcheckBoxTermsAndPrivacy')\r\n else str += '\\n* ' + txt(`profile.${element}`)\r\n })\r\n return str.length === 0 ? txt('signupField.signUpError') : txt('signupField.invalidSignUpInfo') + str\r\n }\r\n\r\n // Picker used if os === web, else modalselectorcustom\r\n _pickDropdownFromPlatformForMunicipalities() {\r\n let isValid = false\r\n return (\r\n \r\n data.id}\r\n labelExtractor={(data) => data.name}\r\n key={(data) => data.id}\r\n initValue={this.defaultMunicipality ?? txt('signupField.municipalityPlaceholder')}\r\n style={{ shadowColor: Colors.transparent }}\r\n onChange={(value) => {\r\n isValid = value.id !== 0\r\n this.setState({\r\n municipality: value.name,\r\n municipalityId: value.id,\r\n isMunicipalityValid: isValid,\r\n })\r\n }}\r\n rightElement={() => }\r\n />\r\n {!this.state.isMunicipalityValid && !isValid ? (\r\n {txt('invalidNotice.invalidMunicipality')}\r\n ) : null}\r\n \r\n )\r\n }\r\n\r\n // Picker used if os === web, else modalselectorcustom\r\n _pickDropdownFromPlatformForBirthYears() {\r\n let isValid = false\r\n return (\r\n \r\n data}\r\n labelExtractor={(data) => data}\r\n key={(data) => data.id}\r\n initValue={txt('signupField.birthYearPlaceHolder')}\r\n rightElement={() => }\r\n onChange={(value) => {\r\n isValid = value.toString().length === 4\r\n this.setState({\r\n birthYear: value,\r\n isBirthYearValid: isValid\r\n })\r\n }}\r\n />\r\n {!this.state.isBirthYearValid && !isValid ? (\r\n {txt('invalidNotice.invalidBirthYear')}\r\n ) : null}\r\n \r\n )\r\n }\r\n\r\n keyboardSpacerShow = () => {\r\n if (Platform.OS === 'ios') {\r\n return \r\n }\r\n }\r\n\r\n navigateToLogin() {\r\n if (this.props.originStack === 'ChristmasTypeSelection') {\r\n this.props.navigation.navigate('ChristmasLoginScreen')\r\n } else {\r\n this.props.navigation.navigate('Login')\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this.state.showSignUpPixel ? : null}\r\n\r\n \r\n \r\n \r\n \r\n {txt('frontPage.signupText')}\r\n \r\n\r\n {Platform.OS === 'web' && (\r\n location.assign('https://app.boblberg.' + region)}\r\n style={styles.regionPicker}\r\n value={this.state?.region}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n\r\n {this._pickDropdownFromPlatformForMunicipalities()}\r\n \r\n {\r\n this.setState({ isUsernameValid: isValid })\r\n }}\r\n onChangeText={(name) => {\r\n this.setState({ name })\r\n }}\r\n value={this.state.name}\r\n />\r\n \r\n {this._pickDropdownFromPlatformForBirthYears()}\r\n \r\n {\r\n this.setState({ isEmailValid: isValid })\r\n }}\r\n onChangeText={(email) => {\r\n this.setState({ email })\r\n }}\r\n value={this.state.email}\r\n />\r\n \r\n \r\n {\r\n this.setState({ isPasswordValid: isValid })\r\n }}\r\n onChangeText={(password) => {\r\n this.setState({ password })\r\n }}\r\n >\r\n this.setState({ passwordHidden: !this.state.passwordHidden })}\r\n accessibilityRole=\"button\"\r\n accessibilityLabel={\r\n this.state.passwordHidden ? txt('loginField.passwordHide') : txt('loginField.passwordShow')\r\n }\r\n accessibilityHint={txt('loginField.passwordShow')}\r\n accessibilityLiveRegion=\"polite\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setState({ checkBoxChecked: !this.state.checkBoxChecked })}>\r\n \r\n \r\n \r\n \r\n {txt('signupField.termsAndPrivacyPolicy1')}\r\n {\r\n this.props.navigation.navigate('Conditions')\r\n }}\r\n >\r\n {txt('signupField.termsAndPrivacyPolicy2')}\r\n \r\n {txt('signupField.termsAndPrivacyPolicy3')}\r\n {\r\n URLOpener(`https://filer.boblberg.dk/Files/Privacy_Policy/boblberg_privacy_policy_${this.state.region}.pdf`)\r\n }}\r\n >\r\n {txt('signupField.termsAndPrivacyPolicy4')}\r\n \r\n {txt('signupField.termsAndPrivacyPolicy5')}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {this.state.signUpError === true ? (\r\n {this.showMissingFields()}\r\n ) : null}\r\n \r\n \r\n this.navigateToLogin()}\r\n accessibilityLabel={txt('signupField.alreadyAUser') + txt('signupField.loginHere')}\r\n >\r\n \r\n {txt('signupField.alreadyAUser')}\r\n \r\n \r\n \r\n {txt('signupField.loginHere')}\r\n \r\n \r\n \r\n \r\n \r\n {this.keyboardSpacerShow()}\r\n \r\n )\r\n }\r\n}\r\nexport default connect(null, { setShowMakeInfluence })(SignupField)\r\n\r\nconst styles = StyleSheet.create({\r\n alignSelfCenter: { alignSelf: 'center' },\r\n alreadyUser: {\r\n alignSelf: 'center',\r\n marginTop: 18,\r\n },\r\n container: {\r\n backgroundColor: Colors.black,\r\n margin: 10,\r\n marginTop: 10,\r\n padding: 18,\r\n paddingVertical: 24,\r\n ...CornerStyles.borderRadiusS,\r\n },\r\n icon: {\r\n alignItems: 'center',\r\n height: 40,\r\n justifyContent: 'center',\r\n width: 40,\r\n ...CornerStyles.borderRadiusS,\r\n },\r\n marginRight10: { marginRight: 10 },\r\n marginTop: { marginTop: 10 },\r\n picker: {\r\n ...CornerStyles.borderRadiusS,\r\n height: 40,\r\n paddingLeft: 5,\r\n ...TypographyStyles.text,\r\n backgroundColor: Colors.white,\r\n borderColor: Colors.transparent,\r\n color: Colors.text,\r\n },\r\n regionPicker: {\r\n width: 48,\r\n backgroundColor: 'transparent',\r\n border: 'none',\r\n fontSize: 18,\r\n color: Colors.white,\r\n },\r\n signUpButton: {\r\n alignItems: 'center',\r\n marginTop: 18,\r\n },\r\n termsContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n marginTop: 10,\r\n },\r\n termsTextContainer: { flexGrow: 1, flex: 1 },\r\n text: { ...TypographyStyles.text },\r\n title: {\r\n color: Colors.white,\r\n marginBottom: 10,\r\n textAlign: 'center',\r\n },\r\n white: { color: Colors.white },\r\n widthHeight: {\r\n alignSelf: 'center',\r\n flex: 1,\r\n maxWidth: 500,\r\n width: '100%',\r\n },\r\n})\r\n","// libraries\r\nimport React from 'react'\r\nimport { View, Platform, StyleSheet } from 'react-native'\r\nimport { useNavigation, useRoute } from '@react-navigation/core'\r\nimport KeyboardSpacer from 'react-native-keyboard-spacer'\r\n\r\n// components\r\nimport MainContainer from '../../MainContainer/MainContainer'\r\nimport SignupField from '../../views/Auth/SignupField'\r\nimport { CustomText } from '../../text/StyledText'\r\n\r\n// resources\r\nimport { txt } from '../../../locales/i18n'\r\nimport { SpacingStyles } from '../../../styles'\r\n\r\nexport const UnionsSignup = () => {\r\n const navigation = useNavigation()\r\n const route = useRoute()\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('activities.signup.text1')}\r\n \r\n\r\n {txt('activities.signup.text2')}\r\n \r\n\r\n \r\n \r\n\r\n {Platform.OS === 'ios' && }\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n text: {\r\n marginBottom: 10,\r\n },\r\n\r\n textContainer: {\r\n textAlign: 'center',\r\n },\r\n\r\n widthHeight: {\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n})\r\n","// libraries\r\nimport React, { useEffect, useState } from 'react'\r\nimport { Dimensions, StyleSheet, View } from 'react-native'\r\nimport { useNavigation, useRoute, CommonActions } from '@react-navigation/core'\r\nimport { useSelector } from 'react-redux'\r\n\r\n// components\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport { CustomChip } from '../../components/chips/Chip'\r\n\r\n// views\r\nimport UnionFeed from '../../components/views/Union/UnionFeed'\r\nimport MyUnions from '../../components/views/Union/MyUnions'\r\nimport FavoriteUnions from '../../components/views/Union/FavoriteUnions'\r\nimport CreateUnion from '../../components/views/Union/CreateUnion'\r\nimport { UnionsSignup } from '../../components/views/Union/UnionsSignup'\r\n\r\n// resources\r\nimport * as unionService from '../../services/api/Unions'\r\nimport TxtTMD from '../../constants/TxtTMD'\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\n\r\nexport const UnionFeedScreen = () => {\r\n const isSmallDevice = Dimensions.get('window').width < 375\r\n const user = useSelector((state) => state.user ?? null)\r\n const navigation = useNavigation()\r\n const route = useRoute()\r\n\r\n const [locations, setLocations] = useState([])\r\n const [selectedChip, setSelectedChip] = useState(route.params?.chip ?? '')\r\n const [municipality, setMunicipality] = useState(String(user?.municipality_id ?? route.params?.municipality ?? 'all'))\r\n\r\n useEffect(() => {\r\n const action = CommonActions.setParams({ chip: selectedChip })\r\n navigation.dispatch(action)\r\n }, [selectedChip])\r\n\r\n useEffect(() => {\r\n if (user === null) {\r\n const action = CommonActions.setParams({ municipality })\r\n navigation.dispatch(action)\r\n return\r\n }\r\n\r\n const action = CommonActions.setParams({ municipality: String(user.municipality_id) })\r\n navigation.dispatch(action)\r\n }, [municipality])\r\n\r\n const searchUnions = async ({ search, skip, amount }) => {\r\n const { unions, locations } = await unionService.searchUnions({ search, skip, amount, municipality })\r\n setLocations(locations)\r\n return unions\r\n }\r\n\r\n const renderChips = () => (\r\n \r\n {/* search unions */}\r\n \r\n setSelectedChip('')}\r\n accessibilityLabel={txt('unions.menu.all')}\r\n icon=\"users-class\"\r\n text={txt('unions.menu.all')}\r\n />\r\n \r\n\r\n {/* my unions */}\r\n {user !== null && (\r\n \r\n setSelectedChip(txt('unions.chipParams.mine'))}\r\n accessibilityLabel={txt('unions.menu.mine')}\r\n icon=\"user\"\r\n text={txt('unions.menu.mine')}\r\n />\r\n \r\n )}\r\n\r\n {/* favorite unions */}\r\n {user !== null && (\r\n \r\n setSelectedChip(txt('unions.chipParams.favorites'))}\r\n accessibilityLabel={txt('activities.menu.favoriteActivities')}\r\n icon=\"star\"\r\n text={isSmallDevice === false && txt('activities.menu.favoriteActivities')}\r\n />\r\n \r\n )}\r\n\r\n {/* create Union */}\r\n {user !== null && (\r\n \r\n setSelectedChip(txt('unions.chipParams.create'))}\r\n accessibilityLabel={txt('unions.menu.create')}\r\n icon=\"plus-circle\"\r\n text={txt('unions.menu.create')}\r\n />\r\n \r\n )}\r\n\r\n {/* user signup */}\r\n {user === null && (\r\n \r\n setSelectedChip(txt('global.signup'))}\r\n accessibilityLabel={txt('global.signup')}\r\n icon=\"user\"\r\n text={txt('global.signup')}\r\n />\r\n \r\n )}\r\n \r\n )\r\n\r\n const renderView = () => {\r\n if (selectedChip === '') {\r\n return (\r\n navigation.push('Union', { id })}\r\n searchUnions={searchUnions}\r\n renderChips={renderChips}\r\n setMunicipality={setMunicipality}\r\n municipality={municipality}\r\n locations={locations}\r\n />\r\n )\r\n }\r\n\r\n if (user !== null && selectedChip === txt('unions.chipParams.mine')) {\r\n return (\r\n navigation.push('Union', { id })}\r\n getOwnUnions={unionService.getOwnUnions}\r\n renderChips={renderChips}\r\n />\r\n )\r\n }\r\n\r\n if (selectedChip === txt('unions.chipParams.favorites')) {\r\n return (\r\n navigation.push('Union', { id })}\r\n getFavoriteUnions={unionService.getFavoriteUnions}\r\n renderChips={renderChips}\r\n />\r\n )\r\n }\r\n\r\n if (user !== null && selectedChip === txt('unions.chipParams.create')) {\r\n return (\r\n navigation.replace('Unions', { chip: txt('unions.chipParams.mine') })}\r\n createUnion={unionService.createUnion}\r\n renderChips={renderChips}\r\n />\r\n )\r\n }\r\n\r\n if (user === null && selectedChip === txt('global.signup')) {\r\n return \r\n }\r\n\r\n return null\r\n }\r\n\r\n return (\r\n \r\n \r\n {renderView()}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: Colors.background,\r\n },\r\n\r\n chipContainer: {\r\n marginTop: 5,\r\n alignSelf: 'center',\r\n flexDirection: 'row',\r\n },\r\n\r\n chip: {\r\n marginBottom: 5,\r\n marginHorizontal: 3,\r\n },\r\n\r\n iconStyle: {\r\n marginRight: -12,\r\n },\r\n})\r\n","import React, { useEffect, useState, useCallback } from 'react'\r\nimport { View, StyleSheet, Dimensions } from 'react-native'\r\nimport Paths from '../../../constants/Paths'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ImageHighlight } from '../../images/ImageHighlight'\r\nimport { getFullUnion, setUnionFavorite } from '../../../services/api/Unions'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport { formatForMetaTitle } from '../../text/TextFormatter'\r\nimport PageTitle from '../../tags/PageTitle'\r\nimport { URLOpener, formatURL } from '../../../utils/URLOpener'\r\nimport { RoundBtn } from '../../buttons/StyledButtons'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport FavoriteIndicator from '../../headers/FavoriteIndicator'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Logo from '../../../assets/images/icon.png'\r\nimport { useSelector } from 'react-redux'\r\nimport { useFocusEffect } from '@react-navigation/native'\r\nimport { openMap } from '../../../utils/openMap'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport Card from '../../Card'\r\nimport ReportContent from '../../callToActions/reportContent'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport Colors from \"../../../constants/Colors\"\r\n\r\nconst small = Dimensions.get('window').width < 500\r\n\r\nexport default function Union(props) {\r\n const [loading, setLoading] = useState(true)\r\n const [union, setUnion] = useState({\r\n id: 0,\r\n municipality_id: 0,\r\n is_favorite: 0,\r\n groupId: 0,\r\n title: '',\r\n body: '',\r\n username: '',\r\n user_id: null,\r\n img_filename: '',\r\n url: '',\r\n address: '',\r\n postal_code: 0,\r\n city: '',\r\n lat: 0,\r\n lng: 0,\r\n })\r\n\r\n const navigation = useNavigation()\r\n const ownId = useSelector((state) => state.user?.id)\r\n\r\n useEffect(() => {\r\n getFullUnion(props.route.params.id).then((unionRes) => {\r\n if (!unionRes) return props.navigation.popToTop()\r\n setUnion(unionRes)\r\n setLoading(false)\r\n unionRes.user_id !== ownId && navigation.setOptions({\r\n headerRight: () => ,\r\n })\r\n })\r\n }, [props.route.params.id])\r\n\r\n useFocusEffect(useCallback(fetchUnion, []))\r\n\r\n function fetchUnion() {\r\n getFullUnion(props.route.params.id).then(setUnion)\r\n }\r\n\r\n async function toggleFavorite() {\r\n const { is_favorite } = await setUnionFavorite(union.id, union.is_favorite)\r\n setUnion((union) => ({ ...union, is_favorite }))\r\n }\r\n\r\n function showEditBtn() {\r\n return union.user_id === ownId\r\n }\r\n\r\n function showFavoriteBtn() {\r\n return ownId && ownId !== union.user_id\r\n }\r\n\r\n if (!loading) {\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n {union.img_filename ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {showEditBtn() && (\r\n props.navigateToUnion(union.id)}\r\n style={styles.marg}\r\n accessibilityRole=\"button\"\r\n accessibilityLabel={txt('unions.edit.title')}\r\n >\r\n \r\n \r\n )}\r\n {showFavoriteBtn() && (\r\n \r\n )}\r\n \r\n \r\n \r\n {union.title}\r\n \r\n {union.body.trim()}\r\n\r\n {!!union.address || !!union.city ? (\r\n openMap(union.address, union.postal_code)}\r\n style={styles.address}\r\n >\r\n \r\n \r\n\r\n \r\n {union.address}\r\n {!!union.postal_code && `, ${union.postal_code}`}\r\n {!!union.city && union.city !== '' && ` ${union.city}`}\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n {!!union.url && (\r\n URLOpener(formatURL(union.url))}\r\n />\r\n )}\r\n \r\n \r\n )\r\n }\r\n return \r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n actionContainer: {\r\n position: 'absolute',\r\n right: 0,\r\n top: 0,\r\n },\r\n container: {\r\n margin: 12,\r\n padding: small ? 18 : 36,\r\n },\r\n address: {\r\n marginTop: 12\r\n },\r\n flexCenter: { alignItems: 'center', flexDirection: 'row' },\r\n iconMargin: { marginRight: 6 },\r\n button: { marginTop: 12 },\r\n body: { marginTop: 12 },\r\n title: { marginTop: 12, textAlign: 'center' },\r\n widthHeight: { flex: 1, ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport Union from '../../components/views/Union/Union'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\n\r\nexport default class UnionScreen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n navigateToUnion = (unionId) => {\r\n this.props.navigation.push('EditUnion', {\r\n id: unionId,\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","import React, { useEffect, useMemo, useState } from 'react'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport ReactDatePicker, { registerLocale } from 'react-datepicker'\r\nimport da from 'date-fns/locale/da'\r\nregisterLocale('da', da)\r\nimport 'react-datepicker/dist/react-datepicker.css'\r\nimport Colors from '../../constants/Colors'\r\nimport { TypographyStyles, ShadowStyles } from '../../styles'\r\nimport { CustomText } from '../text/StyledText'\r\nimport CustomDialog from '../dialogs/CustomDialog'\r\nimport moment from 'moment'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport { txt } from '../../locales/i18n'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport default function WebDatePicker({\r\n date,\r\n handleDateChange,\r\n minTime,\r\n maxTime,\r\n minDate,\r\n maxDate,\r\n minuteInterval,\r\n CustomInput,\r\n dateFormat,\r\n popperPlacement,\r\n showTimeSelectOnly,\r\n placeholder,\r\n ...props\r\n}) {\r\n const [showModal, setShowModal] = useState(false)\r\n const POPPER_HEIGHT = 245\r\n\r\n const DefaultInput = ({ value, onClick, isButton }) => {\r\n useEffect(() => {\r\n if (!isButton) {\r\n onClick()\r\n }\r\n }, [])\r\n\r\n return (\r\n \r\n \r\n {value || placeholder}\r\n \r\n {props.children}\r\n \r\n )\r\n }\r\n\r\n const WrappedCustomInput = ({ value, onClick, isButton }) => {\r\n useEffect(() => {\r\n if (!isButton) {\r\n onClick()\r\n }\r\n }, [])\r\n\r\n if (!isButton) {\r\n return DefaultInput({ value, onClick })\r\n }\r\n\r\n return CustomInput({ value, onClick })\r\n }\r\n\r\n const selectedDate = useMemo(() => {\r\n if (!date) return new Date()\r\n if (date < minDate) return minDate\r\n return date\r\n }, [date, minDate])\r\n\r\n const getMinTime = () => {\r\n const dateNow = moment()\r\n const dateSelected = date ? moment(date) : null\r\n const timeMinimum = minTime ? moment(minTime) : null\r\n\r\n const isToday = dateSelected?.format('l') === dateNow.format('l')\r\n const beforeMinimumTime = dateNow.format('LTS') < timeMinimum?.format('LTS')\r\n\r\n if (isToday && beforeMinimumTime) return timeMinimum.toDate()\r\n if (isToday && beforeMinimumTime === false) return dateNow.toDate()\r\n if (timeMinimum && isToday === false) return timeMinimum.toDate()\r\n\r\n return moment().startOf('day').toDate()\r\n }\r\n\r\n const formatDate = (date) => {\r\n if (showTimeSelectOnly) return moment(date).format('LT')\r\n if (minuteInterval) return moment(date).format('lll')\r\n return moment(date).format('ll')\r\n }\r\n\r\n return (\r\n <>\r\n setShowModal(false)}\r\n >\r\n \r\n handleDateChange(date)}\r\n showTimeSelect={!!minuteInterval}\r\n timeIntervals={minuteInterval}\r\n timeCaption=\"Tid\"\r\n minTime={getMinTime()}\r\n maxTime={maxTime ? new Date(maxTime) : moment().endOf('day').toDate()}\r\n minDate={minDate}\r\n maxDate={maxDate}\r\n dateFormat={dateFormat || 'dd/MM/yyyy HH:mm'}\r\n timeFormat={'HH:mm'}\r\n locale=\"da\"\r\n customInput={CustomInput ? : }\r\n popperPlacement={popperPlacement || 'top'}\r\n showTimeSelectOnly={showTimeSelectOnly}\r\n placeholderText={'Date'}\r\n {...props}\r\n />\r\n \r\n setShowModal(false)}\r\n />\r\n \r\n {CustomInput\r\n ? WrappedCustomInput({ value: date ? formatDate(date) : null, onClick: () => setShowModal(true), isButton: true })\r\n : DefaultInput({ value: date ? formatDate(date) : null, onClick: () => setShowModal(true), isButton: true })}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n pickerStyle: {\r\n justifyContent: 'center',\r\n ...ShadowStyles.shadowInputs,\r\n backgroundColor: Colors.white,\r\n borderRadius: 10,\r\n height: 40,\r\n },\r\n text: {\r\n paddingLeft: 10,\r\n paddingRight: 10,\r\n color: Colors.redCross.text\r\n },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet, Image, ScrollView } from 'react-native'\r\nimport Layout from '../../constants/Layout'\r\nimport { txt } from '../../locales/i18n'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport CustomDialog from '../../components/dialogs/CustomDialog'\r\nimport { CustomText } from '../text/StyledText'\r\nimport Colors from '../../constants/Colors'\r\nimport { getCategories } from '../../services/api/Activities'\r\nimport { ShadowStyles, TypographyStyles } from '../../styles'\r\nimport { useRoute } from '@react-navigation/native'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport default function CategoryDialog(props) {\r\n const [showCategories, setShowCategories] = useState(false)\r\n const [selectedCategories, setSelectedCategories] = useState([])\r\n const [categoryList, setCategoryList] = useState([]) \r\n const params = useRoute()\r\n\r\n useEffect(() => {\r\n const universe = params.params?.universe\r\n getCategories(universe).then(setCategoryList)\r\n }, [])\r\n\r\n useEffect(() => {\r\n setSelectedCategories(props.selectedCategories)\r\n }, [props.selectedCategories])\r\n\r\n const toggleCategories = () => {\r\n setShowCategories((prevState) => !prevState)\r\n }\r\n\r\n const addOrRemoveCategory = (categoryId) => {\r\n const category = selectedCategories.find((id) => id === categoryId)\r\n if (category !== undefined) {\r\n const categoriesLeft = selectedCategories.filter((id) => {\r\n return id !== categoryId\r\n })\r\n setSelectedCategories(categoriesLeft)\r\n } else {\r\n setSelectedCategories((prev) => [...prev, categoryId])\r\n }\r\n }\r\n\r\n const submitCategories = () => {\r\n props.setCategories(selectedCategories)\r\n setShowCategories(false)\r\n }\r\n\r\n const getSelectedStyle = (categoryId) => {\r\n const category = selectedCategories.find((id) => id === categoryId)\r\n if (category !== undefined) {\r\n return { opacity: 1 }\r\n }\r\n }\r\n\r\n const renderInputButton = () => {\r\n if (props.normalInput) {\r\n return (\r\n \r\n {selectedCategories.length > 0 ? (\r\n {`${selectedCategories.length} ${txt(\r\n 'activities.categories'\r\n )}`}\r\n ) : (\r\n {txt('activities.categories')}\r\n )}\r\n \r\n )\r\n }\r\n return (\r\n \r\n \r\n {txt('activities.categories')}\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n {renderInputButton()}\r\n \r\n \r\n {txt('activities.categories')}\r\n \r\n {txt('activities.selectCategories')}\r\n\r\n \r\n setSelectedCategories([])}>\r\n \r\n {txt('activities.reset')}\r\n \r\n \r\n \r\n \r\n \r\n {categoryList.map((item) => (\r\n addOrRemoveCategory(item.id)} style={styles.category}>\r\n \r\n \r\n {item.name}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n category: {\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginBottom: 12,\r\n width: Layout.isSmallDevice ? 74 : 140,\r\n },\r\n categoryButton: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'center',\r\n marginHorizontal: 8,\r\n },\r\n categoryContainer: {\r\n alignItems: 'flex-start',\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n justifyContent: 'center',\r\n marginTop: 24,\r\n paddingHorizontal: 12,\r\n },\r\n dialog: {\r\n maxWidth: Layout.isSmallDevice ? 400 : 600,\r\n paddingBottom: 24,\r\n },\r\n image: {\r\n borderRadius: 35,\r\n height: 50,\r\n opacity: 0.25,\r\n width: 50,\r\n },\r\n input: {\r\n borderRadius: 10,\r\n height: 40,\r\n justifyContent: 'center',\r\n paddingLeft: 12,\r\n ...TypographyStyles.text,\r\n backgroundColor: Colors.white,\r\n borderColor: Colors.transparent,\r\n color: Colors.text,\r\n ...ShadowStyles.shadowInputs,\r\n },\r\n resetButton: {\r\n left: 18,\r\n position: 'absolute',\r\n top: 18,\r\n zIndex: 10,\r\n },\r\n})\r\n","import React, { useState, useEffect, useRef } from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport DatePicker from '../dates/DatePicker'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { ButtonPrimary, ButtonSecondary } from '../buttons/StyledButtons'\r\nimport { txt } from '../../locales/i18n'\r\nimport Colors from '../../constants/Colors'\r\nimport Layout from '../../constants/Layout'\r\nimport moment from 'moment'\r\nimport LoadingSpinner from '../activityIndicators/LoadingSpinner'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport { ShadowStyles } from '../../styles'\r\nimport CustomDialog, { ContentContainer } from '../dialogs/CustomDialog'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport default function RecurringDateForm(props) {\r\n const [dates, setDates] = useState()\r\n const [startDate, setStartDate] = useState(new Date())\r\n const [endDate, setEndDate] = useState(new Date())\r\n const [startTime, setStartTime] = useState(new Date())\r\n const [endTime, setEndTime] = useState(new Date())\r\n const [maximumDate, setMaximumDate] = useState()\r\n const [errorMsg, setErrorMsg] = useState('')\r\n const [showRemoveDialog, setShowRemoveDialog] = useState(false)\r\n const [showCreatedDates, setShowCreatedDates] = useState(props.editing)\r\n const [loading, setLoading] = useState(true)\r\n const selectedDate = useRef()\r\n\r\n const [days, setDays] = useState({\r\n mon: { value: 1, selected: false },\r\n tue: { value: 2, selected: false },\r\n wed: { value: 3, selected: false },\r\n thu: { value: 4, selected: false },\r\n fri: { value: 5, selected: false },\r\n sat: { value: 6, selected: false },\r\n sun: { value: 0, selected: false },\r\n })\r\n\r\n useEffect(() => {\r\n const date = new Date()\r\n date.setYear(date.getFullYear() + 6)\r\n setMaximumDate(date)\r\n moment.locale([txt('activities.locale')])\r\n setStartDate(props.date.start)\r\n setStartTime(roundUpTime(props.date.start))\r\n setEndTime(roundUpTime(props.date.end))\r\n setEndDate(new Date(props.dates[props.dates.length - 1].end))\r\n if (props.editing) {\r\n setDates(props.dates)\r\n setSelectedDays()\r\n } else {\r\n setDates([])\r\n }\r\n setLoading(false)\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (props.isVisible && dates?.length > 0) props.setDates(dates)\r\n }, [props.isVisible, dates])\r\n\r\n function setSelectedDays() {\r\n const weekdays = props.dates.map((date) => new Date(date.start).getDay())\r\n const selectedDays = Object.entries(days).reduce((acc, [key, _]) => {\r\n acc[key].selected = weekdays.includes(_.value)\r\n return acc\r\n }, days)\r\n setDays(selectedDays)\r\n }\r\n\r\n const roundUpTime = (date) => {\r\n if (props.editing) return date\r\n const coeff = 1000 * 60 * 5\r\n const roundedDate = Math.ceil(date / coeff) * coeff\r\n return new Date(roundedDate)\r\n }\r\n\r\n const handleStartDateChange = (date) => {\r\n if (isSameDay(date)) {\r\n setStartDate(new Date())\r\n setStartTime(roundUpTime(new Date()))\r\n setEndTime(roundUpTime(new Date()))\r\n } else {\r\n const newDate = new Date(date)\r\n newDate.setHours(0, 0)\r\n setStartDate(newDate)\r\n }\r\n }\r\n\r\n const handleStartTimeChange = (date) => {\r\n setStartTime(date)\r\n if (endTime < date) {\r\n setEndTime(date)\r\n }\r\n }\r\n\r\n const handleEndDateChange = (date) => {\r\n setEndDate(date)\r\n }\r\n\r\n const handleEndTimeChange = (date) => {\r\n setEndTime(date)\r\n }\r\n\r\n const isSameDay = (date) => {\r\n const newDate = new Date()\r\n return (\r\n newDate.getDate() === new Date(date).getDate() &&\r\n newDate.getMonth() === new Date(date).getMonth() &&\r\n newDate.getFullYear() === new Date(date).getFullYear()\r\n )\r\n }\r\n\r\n const updateDay = (key) => {\r\n setDays((previous) => {\r\n const previousDays = { ...previous }\r\n previousDays[key].selected = !previousDays[key].selected\r\n return previousDays\r\n })\r\n }\r\n\r\n async function validateInputs() {\r\n const hasSelectedDays = Object.entries(days).some(([_, day]) => day.selected)\r\n if (startTime.getHours() === endTime.getHours() && startTime.getMinutes() === endTime.getMinutes()) {\r\n setErrorMsg(txt('activities.create.recurringForm.timesAreEqual'))\r\n return false\r\n }\r\n if (!hasSelectedDays) {\r\n setErrorMsg(txt('activities.create.recurringForm.noDaysSelected'))\r\n return false\r\n }\r\n setErrorMsg('')\r\n return true\r\n }\r\n\r\n async function createDates() {\r\n const createdDates = []\r\n const isValid = await validateInputs()\r\n if (!isValid) return\r\n\r\n const selectedDays = Object.values(days).reduce((acc, target) => {\r\n if (target.selected) acc.push(target.value)\r\n return acc\r\n }, [])\r\n\r\n for (const target = new Date(startDate); target <= endDate; target.setDate(target.getDate() + 1)) {\r\n if (selectedDays.includes(target.getDay())) {\r\n const start = new Date(target)\r\n start.setHours(startTime.getHours(), startTime.getMinutes(), 0)\r\n\r\n const end = new Date(target)\r\n end.setHours(endTime.getHours(), endTime.getMinutes(), 0)\r\n createdDates.push({ start, end })\r\n }\r\n }\r\n if (createdDates.length === 0) {\r\n setErrorMsg(txt('activities.create.recurringForm.noDatesCreated'))\r\n return\r\n }\r\n setErrorMsg('')\r\n\r\n props.setDates(createdDates)\r\n setDates(createdDates)\r\n }\r\n\r\n function removeDate() {\r\n const filteredDates = dates.filter((date, i) => i !== selectedDate.current)\r\n if (filteredDates.length === 0) {\r\n props.setDates([{ start: new Date(), end: new Date() }])\r\n } else {\r\n props.setDates(filteredDates)\r\n }\r\n setDates(filteredDates)\r\n setShowRemoveDialog(false)\r\n }\r\n\r\n function renderDaySelector() {\r\n return Object.entries(days).map(([key, value]) => (\r\n updateDay(key)}\r\n >\r\n \r\n {txt(`activities.create.recurringForm.weekdays.${key}`)}\r\n \r\n \r\n ))\r\n }\r\n\r\n function getDateString(date) {\r\n return `${formatDate(date.start, false)} - ${formatDate(date.end, true)}`\r\n }\r\n\r\n function formatDate(date, isEndDate) {\r\n if (isEndDate) return moment(new Date(date)).format('LT')\r\n return moment(new Date(date)).format('llll')\r\n }\r\n\r\n function renderDates() {\r\n return dates.map((date, index) => {\r\n const dateItem = getDateString(date)\r\n return (\r\n \r\n {dateItem}\r\n toggleShowRemoveDialog(index)}>\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n\r\n function toggleShowRemoveDialog(index) {\r\n selectedDate.current = index\r\n setShowRemoveDialog((prev) => !prev)\r\n }\r\n\r\n function toggleShowCreatedDates() {\r\n setShowCreatedDates((prev) => !prev)\r\n }\r\n\r\n function getRecurringText() {\r\n let text = txt('activities.create.recurringForm.recurring')\r\n let selectedDays = 0\r\n let index = 0\r\n Object.entries(days).forEach(([key, value]) => {\r\n if (value.selected) {\r\n selectedDays += 1\r\n if (index > 0) text += ','\r\n text += ` ${txt(`activities.create.recurringForm.weekdays.${key.toString()}`)}`\r\n index += 1\r\n }\r\n })\r\n if (selectedDays === 0) return txt('activities.create.recurringForm.selectDays')\r\n const lastIndex = text.lastIndexOf(', ')\r\n if (selectedDays >= 2) {\r\n return text.substr(0, lastIndex) + ` ${txt('activities.create.recurringForm.and')}` + text.substr(lastIndex + 1)\r\n }\r\n return text\r\n }\r\n\r\n function getDatesString() {\r\n if (showCreatedDates) {\r\n if (dates.length === 1) return txt('activities.create.hideDate')\r\n return txt('activities.create.hideDates', { dates: dates.length })\r\n } else {\r\n if (dates.length === 1) return txt('activities.create.showDate')\r\n return txt('activities.create.showDates', { dates: dates.length })\r\n }\r\n }\r\n\r\n if (loading) {\r\n return \r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('activities.create.startDate')}\r\n \r\n \r\n \r\n \r\n \r\n {txt('activities.create.recurringForm.startTime')}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {txt('activities.create.recurringForm.endTime')}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {getRecurringText()}\r\n \r\n {renderDaySelector()}\r\n \r\n\r\n \r\n \r\n {txt('activities.create.endDate')}\r\n \r\n \r\n \r\n\r\n {!!errorMsg && (\r\n \r\n {errorMsg}\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n {dates.length > 0 && (\r\n \r\n {getDatesString()}\r\n \r\n \r\n )}\r\n {showCreatedDates && {renderDates()}}\r\n \r\n \r\n {txt('activities.create.recurringForm.removeDialog')}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n dateListItem: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n marginTop: 12,\r\n backgroundColor: Colors.white,\r\n borderRadius: 12,\r\n ...ShadowStyles.shadowInputs,\r\n },\r\n daySelector: {\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n justifyContent: 'center',\r\n },\r\n selectorDay: {\r\n alignItems: 'center',\r\n borderRadius: 12,\r\n padding: 8,\r\n paddingHorizontal: 18,\r\n margin: 6,\r\n },\r\n elementContainer: {\r\n marginHorizontal: 10,\r\n marginTop: 12,\r\n },\r\n errorMsg: {\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginTop: 12,\r\n },\r\n title: {\r\n marginBottom: 6,\r\n },\r\n removeDateBtn: {\r\n backgroundColor: Colors.redLight,\r\n width: '100%',\r\n marginTop: 24,\r\n },\r\n cancelRemoveBtn: { width: '100%', marginTop: 12 },\r\n showDatesBtn: {\r\n flexDirection: 'row',\r\n marginVertical: 12,\r\n marginHorizontal: 12,\r\n },\r\n})\r\n","import React, { useState, useEffect, useRef } from 'react'\r\nimport { View, ScrollView, Platform, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { ButtonPrimary, ButtonSecondary } from '../../buttons/StyledButtons'\r\nimport { CustomInputs, CustomMultilineInputs } from '../../text/StyledTextinputs'\r\nimport ImagePicker from '../../ImagePicker/ImagePicker'\r\nimport { ShadowStyles, SpacingStyles, TypographyStyles } from '../../../styles'\r\nimport { UploadImage } from '../../../services/api/UploadImage'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { Picker } from '@react-native-picker/picker'\r\nimport Colors from '../../../constants/Colors'\r\nimport Layout from '../../../constants/Layout'\r\nimport DatePicker from '../../dates/DatePicker'\r\nimport CategoryDialog from '../../dialogs/CategoryDialog'\r\nimport * as AddressService from '../../../services/api/Addresses'\r\nimport RecurringDateForm from '../../formElements/RecurringDateForm'\r\nimport { useSelector } from 'react-redux'\r\nimport { deleteActivity, getFullActivity, updateActivity } from '../../../services/api/Activities'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport CustomDialog, { ContentContainer } from '../../dialogs/CustomDialog'\r\nimport LoadingSpinner from '../../activityIndicators/LoadingSpinner'\r\nimport store from '../../../redux/store'\r\nimport Paths from '../../../constants/Paths'\r\nimport { getMunicipality, municipalities } from '../../../constants/Municipalities'\r\nimport imageBobl from '../../../assets/images/bobl.png'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport ModalSelectorCustom from \"../../modalSelectors/ModalSelectorCustom\"\r\n\r\nexport default function CreateActivity(props) {\r\n const user = useSelector((state) => state.user)\r\n const [activity, setActivity] = useState({\r\n title: '',\r\n body: '',\r\n organizer: '',\r\n location: '',\r\n address: '',\r\n ticket_price: '',\r\n url: '',\r\n img_id: null,\r\n image: {},\r\n municipality_id: user.municipality_id || 0,\r\n municipality_name: '',\r\n city: '',\r\n postal_code: null,\r\n categories: [],\r\n latlng: null,\r\n })\r\n const [dates, setDates] = useState([{ start: roundUpDate(new Date()), end: roundUpDate(new Date()) }])\r\n const [suggestions, setSuggestions] = useState([])\r\n const [showRecurringForm, setShowRecurringForm] = useState(false)\r\n const [showDeleteDialog, setShowDeleteDialog] = useState(false)\r\n const [image, setImage] = useState(null)\r\n const [loading, setLoading] = useState({\r\n save: false,\r\n delete: false,\r\n })\r\n const [isMounting, setIsMounting] = useState(true)\r\n const [errors, setErrors] = useState({\r\n postNotCreated: false,\r\n titleTooShort: false,\r\n descriptionTooShort: false,\r\n noCategories: false,\r\n showDateError: false,\r\n showErrorSnackbar: false,\r\n showAddressError: false,\r\n showPostalCodeError: false,\r\n })\r\n const municipalityId = store.getState().user.municipality_id\r\n const navigation = useNavigation()\r\n const timeout = useRef(null)\r\n const SUGGESTIONS_PER_PAGE = 4\r\n\r\n useEffect(() => {\r\n async function setMunicipalityList() {\r\n const municipality = getMunicipality(municipalityId)\r\n _setActivity({ municipality_name: municipality.name })\r\n if (!props.id) setIsMounting(false)\r\n }\r\n setMunicipalityList()\r\n }, [])\r\n\r\n useEffect(() => {\r\n loadActivity()\r\n }, [props.id])\r\n\r\n async function loadActivity() {\r\n const activity = await getFullActivity(props.id)\r\n if (activity) {\r\n activity.latlng = { lat: activity.lat, lng: activity.lng }\r\n setDates(activity.dates)\r\n setActivity(activity)\r\n if (activity.dates.length > 1) setShowRecurringForm(true)\r\n }\r\n setIsMounting(false)\r\n }\r\n\r\n function _setActivity(property) {\r\n setActivity((prev) => ({ ...prev, ...property }))\r\n }\r\n\r\n function _setErrors(error) {\r\n setErrors((prev) => ({ ...prev, ...error }))\r\n }\r\n\r\n function roundUpDate(date) {\r\n if (props.id) return date\r\n const coeff = 1000 * 60 * 5\r\n const roundedDate = Math.ceil(date / coeff) * coeff\r\n return new Date(roundedDate)\r\n }\r\n\r\n function uploadImg() {\r\n if (image) {\r\n return UploadImage(image, 0, 'Activities').catch((err) => {\r\n if (__DEV__) console.log('IMAGE UPLOAD FAIL ', err)\r\n })\r\n }\r\n }\r\n\r\n\r\n async function validateAddress() {\r\n const { address, postal_code } = activity\r\n if (address.length > 0) {\r\n if (!postal_code) {\r\n _setErrors({ showPostalCodeError: true })\r\n return false\r\n } else _setErrors({ showPostalCodeError: false })\r\n const data = await AddressService.getAddress(address, postal_code)\r\n if (data) {\r\n _setErrors({ showAddressError: false })\r\n return true\r\n }\r\n return false\r\n } else {\r\n _setActivity({ latlng: { lat: null, lng: null } })\r\n _setErrors({ showAddressError: false, showPostalCodeError: false })\r\n return true\r\n }\r\n }\r\n\r\n async function createActivityFull() {\r\n setLoading({ save: true, delete: false })\r\n const isDateValid = await validateDate()\r\n const isActivityValid = await validateActivity()\r\n const isAddressValid = await validateAddress()\r\n if (isDateValid && isActivityValid && isAddressValid) {\r\n const img_id = await uploadImg()\r\n const data = {\r\n id: Number(props.id),\r\n title: activity.title,\r\n body: activity.body,\r\n organizer: activity.organizer,\r\n location: activity.location,\r\n address: activity.address,\r\n ticket_price: activity.ticket_price === '' ? 0 : activity.ticket_price,\r\n url: checkURL(),\r\n dates: dates,\r\n municipality_id: parseInt(activity.municipality_id, 10),\r\n img_id: img_id || activity.img_id,\r\n city: activity.city,\r\n postal_code: activity.postal_code === '' ? null : activity.postal_code,\r\n categories: activity.categories,\r\n lat: activity.latlng?.lat,\r\n lng: activity.latlng?.lng,\r\n universeId: props.universeId,\r\n }\r\n const activityCreated = props.id ? await updateActivity(data) : await props.createActivity(data)\r\n setLoading({ save: false, delete: false })\r\n if (activityCreated) {\r\n props.navigateToMyActivities()\r\n }\r\n } else {\r\n setLoading({ save: false, delete: false })\r\n }\r\n }\r\n\r\n async function removeActivity() {\r\n setLoading({ save: false, delete: true })\r\n toggleDeleteDialog()\r\n const success = await deleteActivity(activity.id, props?.universeId)\r\n setLoading({ save: false, delete: false })\r\n if (success) {\r\n navigation.navigate('Activities')\r\n }\r\n }\r\n\r\n async function validateDate() {\r\n if (dates.length === 0) {\r\n _setErrors({ showDateError: true })\r\n return false\r\n }\r\n const date = dates[0]\r\n\r\n if (date.start < new Date() || date.start >= date.end) {\r\n _setErrors({ showDateError: true })\r\n return false\r\n }\r\n _setErrors({ showDateError: false })\r\n return true\r\n }\r\n\r\n async function validateActivity() {\r\n const { title, body, categories } = activity\r\n if (title.length === 0) {\r\n _setErrors({ titleTooShort: true })\r\n } else {\r\n _setErrors({ titleTooShort: false })\r\n }\r\n if (body.length === 0) {\r\n _setErrors({ descriptionTooShort: true })\r\n } else {\r\n _setErrors({ descriptionTooShort: false })\r\n }\r\n if (categories.length === 0) {\r\n _setErrors({ noCategories: true })\r\n } else {\r\n _setErrors({ noCategories: false })\r\n }\r\n return title.length > 0 && body.length > 0 && categories.length > 0\r\n }\r\n\r\n function getMaximumDate() {\r\n const date = new Date()\r\n date.setYear(date.getFullYear() + 6)\r\n return date\r\n }\r\n\r\n function handleStartDateChange(date, isTime) {\r\n const startDate = dates[0]\r\n if (isTime) {\r\n const newDate = new Date(startDate.start)\r\n newDate.setHours(date.getHours(), date.getMinutes())\r\n startDate.start = newDate\r\n setDates([startDate])\r\n return\r\n }\r\n startDate.start = date\r\n setDates([startDate])\r\n }\r\n\r\n function handleEndDateChange(date, isTime) {\r\n const endDate = dates[0]\r\n if (isTime) {\r\n const newDate = new Date(endDate.end)\r\n newDate.setHours(date.getHours(), date.getMinutes())\r\n endDate.end = newDate\r\n setDates([endDate])\r\n return\r\n }\r\n endDate.end = date\r\n setDates([endDate])\r\n }\r\n\r\n function pickMunicipality() {\r\n\r\n return (\r\n data.id?.toString()}\r\n labelExtractor={(data) => data.name}\r\n key={(data) => data.id}\r\n initValue={activity.municipality_name || txt('signupField.municipalityPlaceholder')}\r\n style={{ ...ShadowStyles.shadowInputs,}}\r\n onChange={(value) => _setActivity({ municipality_id: value.id })}\r\n />\r\n )\r\n }\r\n\r\n function checkURL() {\r\n if (activity.url.startsWith('http') || activity.url === '') {\r\n return activity.url\r\n } else {\r\n return 'http://' + activity.url\r\n }\r\n }\r\n\r\n function showDateForm() {\r\n setShowRecurringForm(true)\r\n _setErrors({ showDateError: false })\r\n }\r\n\r\n function hideDateForm() {\r\n setShowRecurringForm(false)\r\n _setErrors({ showDateError: false })\r\n if (activity) {\r\n setDates([\r\n {\r\n start: roundUpDate(new Date(dates[0].start)),\r\n end: roundUpDate(new Date(dates[0].end)),\r\n },\r\n ])\r\n } else {\r\n setDates([{ start: roundUpDate(new Date()), end: roundUpDate(new Date()) }])\r\n }\r\n }\r\n\r\n function toggleDeleteDialog() {\r\n setShowDeleteDialog((prev) => !prev)\r\n }\r\n\r\n async function handleAddressChange(value) {\r\n clearTimeout(timeout.current)\r\n _setActivity({ address: value })\r\n timeout.current = setTimeout(async () => {\r\n const suggestions = await AddressService.getSuggestions(value)\r\n if (suggestions.length === 0 && value) {\r\n _setErrors({ showAddressError: true })\r\n } else {\r\n _setErrors({ showAddressError: false })\r\n }\r\n setSuggestions(suggestions)\r\n }, 800)\r\n }\r\n\r\n async function handleSuggestionClick(suggestion) {\r\n const address = suggestion.tekst.split(',')[0]\r\n const otherInfo = suggestion.adgangsadresse\r\n const data = await AddressService.getAddress(address, otherInfo.postnr)\r\n const latlng = data.adgangsadresse.adgangspunkt.koordinater\r\n _setActivity({})\r\n _setActivity({\r\n address: address,\r\n postal_code: otherInfo.postnr,\r\n city: otherInfo.postnrnavn,\r\n latlng: { lat: latlng[1], lng: latlng[0] },\r\n })\r\n setSuggestions([])\r\n }\r\n\r\n function renderSuggestions() {\r\n return (\r\n \r\n {suggestions.map((suggestion, index) => {\r\n const borderWidth = index !== suggestions.length - 1 ? 1 : 0\r\n return (\r\n handleSuggestionClick(suggestion)}\r\n >\r\n {suggestion.tekst}\r\n \r\n )\r\n })}\r\n \r\n )\r\n }\r\n\r\n function handlePriceChange(price) {\r\n price = price.replace(/[^0-9]/g, '')\r\n _setActivity({ ticket_price: price })\r\n }\r\n\r\n async function handlePostalCodeChange(postalCode) {\r\n postalCode = postalCode.replace(/[^0-9]/g, '')\r\n if (postalCode.length === 4) {\r\n const city = await AddressService.getCityFromPostalCode(postalCode)\r\n _setActivity({ city })\r\n }\r\n _setActivity({\r\n postal_code: postalCode,\r\n })\r\n }\r\n\r\n function getStartDate() {\r\n if (dates.length > 0) {\r\n return {\r\n start: new Date(dates[0].start),\r\n end: new Date(dates[0].end),\r\n }\r\n }\r\n return { start: new Date(), end: new Date() }\r\n }\r\n\r\n if (isMounting) {\r\n return \r\n }\r\n\r\n return (\r\n \r\n {props.renderChips?.()}\r\n \r\n \r\n _setActivity({ img_filename: null, img_id: null })}\r\n placeholder={imageBobl}\r\n />\r\n \r\n\r\n \r\n {\r\n _setActivity({\r\n title: value,\r\n })\r\n }}\r\n />\r\n {errors.titleTooShort && (\r\n {txt('activities.create.titleTooShort')}\r\n )}\r\n \r\n \r\n {\r\n _setActivity({\r\n body: value,\r\n })\r\n }}\r\n />\r\n {errors.descriptionTooShort && (\r\n {txt('activities.create.descriptionTooShort')}\r\n )}\r\n \r\n \r\n {\r\n _setActivity({\r\n organizer: value,\r\n })\r\n }}\r\n />\r\n \r\n \r\n {\r\n _setActivity({\r\n location: value,\r\n })\r\n }}\r\n />\r\n \r\n \r\n \r\n {errors.showAddressError && (\r\n \r\n {txt('activities.create.invalidAddress')}\r\n \r\n )}\r\n {suggestions.length > 0 && activity.address !== '' && renderSuggestions()}\r\n \r\n\r\n \r\n \r\n \r\n {errors.showPostalCodeError && (\r\n \r\n {txt('activities.create.postalCodeRequired')}\r\n \r\n )}\r\n \r\n \r\n {\r\n _setActivity({\r\n city: value,\r\n })\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n _setActivity({ url: text })\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {txt('activities.create.startDate')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('activities.create.endDate')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.showDateError && (\r\n {txt('activities.create.dateError')}\r\n )}\r\n \r\n \r\n \r\n {pickMunicipality()}\r\n \r\n \r\n \r\n \r\n _setActivity({ categories })}\r\n />\r\n \r\n {errors.noCategories && (\r\n \r\n {txt('activities.create.noCategories')}\r\n \r\n )}\r\n {(errors.titleTooShort || errors.descriptionTooShort || errors.showDateError || errors.showAddressError) && (\r\n \r\n {txt('invalidNotice.invalidBooking')}\r\n \r\n )}\r\n \r\n {activity?.id && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {txt('activities.edit.deleteText')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n actionButtons: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginVertical: 16,\r\n },\r\n container: {\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n dateButtonsContainer: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n justifyContent: 'space-evenly',\r\n },\r\n datepickerContainer: {\r\n flexDirection: Layout.isSmallDevice ? 'column' : 'row',\r\n justifyContent: 'space-evenly',\r\n margin: 10,\r\n },\r\n errorMessage: {\r\n color: Colors.errorBackground,\r\n marginVertical: 4,\r\n },\r\n inputRow: {\r\n flex: 1,\r\n flexDirection: 'row',\r\n marginHorizontal: 5,\r\n zIndex: -1,\r\n },\r\n marginInput: {\r\n ...SpacingStyles.marginRightLeft10,\r\n marginBottom: 15,\r\n },\r\n marginInputSplit: {\r\n flex: 1,\r\n marginBottom: 15,\r\n marginHorizontal: 5,\r\n },\r\n marginLeftRight: { margin: 10 },\r\n pickDateContainer: {\r\n alignItems: 'center',\r\n flex: 1,\r\n marginBottom: 10,\r\n marginTop: 5,\r\n },\r\n picker: {\r\n backgroundColor: Colors.white,\r\n padding: Platform.OS === 'android' ? 0 : 10,\r\n borderRadius: 12,\r\n marginTop: 6,\r\n ...ShadowStyles.shadowInputs,\r\n },\r\n suggestion: {\r\n borderBottomColor: Colors.blackTransparent,\r\n padding: 10,\r\n },\r\n suggestionsContainer: {\r\n ...ShadowStyles.shadowInputs,\r\n backgroundColor: Colors.white,\r\n borderRadius: 12,\r\n position: 'absolute',\r\n top: 48,\r\n width: '100%',\r\n zIndex: 1,\r\n },\r\n imagePickerContainer: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: 12,\r\n },\r\n textCenter: { textAlign: 'center' },\r\n removeActivityBtn: {\r\n backgroundColor: Colors.redLight,\r\n width: '100%',\r\n marginTop: 24,\r\n },\r\n cancelRemoveBtn: { width: '100%', marginTop: 12 },\r\n})\r\n","import React from 'react'\r\nimport CreateActivity from '../../components/views/Activities/CreateActivity'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { txt } from '../../locales/i18n'\r\n\r\nexport default function EditActivityScreen(props) {\r\n function navigateToMyActivities() {\r\n props.navigation.navigate('Activities', {\r\n chip: txt('activities.chipParams.mine'),\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n","import React, { useEffect, useRef, useState } from 'react'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\nimport { TypographyStyles } from '../../styles'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { PhoneNumberInput } from './PhoneNumberInput'\r\nimport { useSelector } from 'react-redux'\r\nimport { updateUser } from '../../services/api/User'\r\n\r\nexport default function PhoneInputForm(props) {\r\n\r\n const user = useSelector(state => state.user)\r\n const [phone, setPhone] = useState(`${user.phone ?? ''}`)\r\n const [callCode, setCallCode] = useState(user.phone_prefix)\r\n const [success, setSuccess] = useState(false)\r\n const [loading, setLoading] = useState(false)\r\n const [error, setError] = useState(false)\r\n const [invalidPhone, setInvalidPhone] = useState(false)\r\n const phoneInputRef = useRef(null)\r\n\r\n useEffect(() => {\r\n setInvalidPhone(!phoneInputRef.current.isValid())\r\n }, [phone, callCode])\r\n\r\n async function submit() {\r\n setLoading(true)\r\n const success = await updateUser({\r\n phone: phone,\r\n phone_prefix: callCode,\r\n })\r\n setLoading(false)\r\n if (success) {\r\n setSuccess(true)\r\n setTimeout(() => {\r\n setSuccess(false)\r\n }, 1500)\r\n } else {\r\n setError(true)\r\n }\r\n }\r\n\r\n function handlePhoneChange(phone) {\r\n setError(false)\r\n setPhone(phone)\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {txt('videoChat.phone')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n buttonContainer: { flexGrow: 1 },\r\n inputContainer: { flexGrow: 1 },\r\n margin: { marginLeft: 10, marginRight: 10, marginTop: 5 },\r\n margin5: { marginBottom: 5, marginTop: 5 },\r\n marginLeft: { marginLeft: 10 },\r\n postContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n },\r\n textSmall: {\r\n ...TypographyStyles.textSmall,\r\n color: Colors.text,\r\n textAlign: 'center',\r\n },\r\n})\r\n","import { apiGet, apiPost } from './ApiRequest'\r\n\r\nexport const surveyIds = {\r\n sproglandVolunteer: 'sproglandVolunteer',\r\n sproglandUser: 'sproglandUser',\r\n snaksammenVolunteer: 'snaksammenVolunteer',\r\n snaksammenUser: 'snaksammenUser',\r\n}\r\n\r\nexport async function logSurveyPrompt(participated, surveyId) {\r\n const body = {\r\n participated: participated ? 1 : 0,\r\n surveyId: surveyId,\r\n }\r\n const res = await apiPost(body, 'surveyPrompts/')\r\n return res.json()\r\n}\r\n\r\nexport async function getLatestSurveyPrompt(surveyId) {\r\n const res = await apiGet(`surveyPrompts/?surveyId=${surveyId}`)\r\n return res?.[0] || false\r\n}\r\n\r\nexport async function getPreviousSLSurvey() {\r\n return await apiGet(`surveyPrompts/sl`)\r\n}\r\n\r\nexport async function createSLSurvey(body) {\r\n await apiPost(body, 'surveyPrompts/sl')\r\n}\r\n","import React from 'react'\r\nimport { Image, StyleSheet, View } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\nimport { TypographyStyles } from '../../styles'\r\nimport { URLOpener } from '../../utils/URLOpener'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport CustomDialog, { ContentContainer } from './CustomDialog'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { getLatestSurveyPrompt, logSurveyPrompt } from '../../services/api/Surveys'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport const platforms = {\r\n SnakSammen: 'SnakSammen',\r\n Sprogland: 'Sprogland',\r\n}\r\n\r\nexport default function SurveyPromptDialog({ visible, surveyId, surveyLink, onDismiss, volunteer, platform }) {\r\n let logo\r\n if (platform === platforms.SnakSammen) logo = require('../../assets/images/snaksammen-logo.png')\r\n if (platform === platforms.Sprogland) logo = require('../../assets/images/sprogland_dk.png')\r\n\r\n function close() {\r\n logSurveyPrompt(false, surveyId)\r\n onDismiss()\r\n }\r\n\r\n function submit() {\r\n logSurveyPrompt(true, surveyId)\r\n URLOpener(surveyLink)\r\n onDismiss()\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt(`surveyPrompt.${volunteer ? 'volunteer' : platform + 'User'}.header`, { platform })}\r\n \r\n {txt(`surveyPrompt.${volunteer ? 'volunteer' : platform + 'User'}.body`, { platform })}\r\n\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport async function shouldShowSurveyPrompt(surveyId) {\r\n const lastSurveyPrompt = await getLatestSurveyPrompt(surveyId)\r\n if (!lastSurveyPrompt) return true\r\n const lastTime = Date.parse(lastSurveyPrompt.created)\r\n const DAY = 1000 * 60 * 60 * 24\r\n if (surveyId === 'snaksammenUser') {\r\n return lastTime < Date.now() - DAY\r\n } else {\r\n return lastTime < Date.now() - DAY * 3\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n heading: {\r\n ...TypographyStyles.blogHeader,\r\n marginTop: 24,\r\n marginBottom: 8,\r\n },\r\n dialog: {\r\n maxWidth: 400,\r\n },\r\n imageContainer: {\r\n width: 200,\r\n height: 32,\r\n alignSelf: 'center',\r\n },\r\n headerContainer: {\r\n alignSelf: 'flex-end',\r\n },\r\n})\r\n","import { apiDelete, apiGet, apiPost } from './ApiRequest'\r\nimport { updateUser } from \"./User\"\r\n\r\nconst stopLoadingFunc = (success) => {\r\n //if (__DEV__) console.log(\"No stopLoadingFunc passed, success: \" + success);\r\n}\r\n\r\n// VideoSessionBook\r\nexport async function bookSession(video_session_id) {\r\n const body = { video_session_id }\r\n const response = await apiPost(body, 'videochat/book')\r\n return response.json()\r\n}\r\n\r\n// VideoSessionCancelBooking\r\nexport async function cancelBooking(id) {\r\n const body = { video_session_id: id }\r\n await apiPost(body, 'videochat/cancelBooking')\r\n}\r\n\r\nexport async function createBooking(booking) {\r\n const response = await apiPost(booking, 'videochat/create')\r\n if (response.ok === false) return await response.text()\r\n return await response.json()\r\n}\r\n\r\nexport async function deleteBooking(id) {\r\n await apiPost({ video_session_id: id }, 'videochat/delete')\r\n}\r\n\r\nexport async function getAvailableSessions(start_date, end_date) {\r\n const body = { start_date, end_date }\r\n const response = await apiPost(body, 'videochat/getAvailable')\r\n if (response.ok === false) return []\r\n\r\n const { data: availableSessions } = await response.json()\r\n return availableSessions\r\n}\r\n\r\nexport async function getAvailableDates() {\r\n const response = await apiGet('videochat/getAvailableDates')\r\n return response?.data ?? []\r\n}\r\n\r\nexport async function getBookedSessions() {\r\n const response = await apiGet('videochat/getBooked')\r\n return response.data ?? []\r\n}\r\n\r\nexport async function getOwnBooked() {\r\n const response = await apiGet('videochat/getOwnBooked')\r\n return response?.data ?? []\r\n}\r\n\r\nexport async function getOwnNotBooked() {\r\n const response = await apiGet('videochat/getOwnNotBooked')\r\n return response?.data ?? []\r\n}\r\n\r\nexport async function getAllSessions() {\r\n const response = await apiGet('videochat/getAllSessions')\r\n return response?.data ?? []\r\n}\r\n\r\n// VideoSessionVolunteerHasAccess\r\nexport async function volunteerHasAccess(organization_name, password, stopLoading = stopLoadingFunc) {\r\n if (organization_name == null || password == null) {\r\n if (__DEV__)\r\n console.log('No organization_name or password was passed to check if volunteer has access function, returning.')\r\n stopLoading(false)\r\n return\r\n }\r\n const data = {\r\n organization_name,\r\n password,\r\n }\r\n\r\n return apiPost(data, `videochat/volunteerHasAccess`)\r\n .then((response) => response.json())\r\n .then((responseJson) => {\r\n if (!responseJson.data) {\r\n stopLoading(false)\r\n return\r\n }\r\n\r\n stopLoading(true)\r\n return responseJson.data[0]\r\n })\r\n .catch((error) => {\r\n if (__DEV__) console.error(error)\r\n stopLoading(false)\r\n })\r\n}\r\n\r\nexport async function getPreviousBookedSessions() {\r\n const previousBookedSessions = await apiGet('videochat/previous')\r\n return previousBookedSessions ?? []\r\n}\r\n\r\nexport async function getPreviousBookers(sorting) {\r\n\tconst sortingQueryParam = sorting ? `?sorting=${sorting}` : '';\r\n\r\n\tconst res = await apiGet(`videochat/previousBookers${sortingQueryParam}`);\r\n\tif (!res.data) return;\r\n\treturn res.data;\r\n}\r\n\r\nexport async function getWaitlist() {\r\n let res = await apiGet('videochat/waitlist')\r\n if (!res || res.status === 403) return\r\n return res.data\r\n}\r\n\r\nexport async function addToWaitlist(category = null) {\r\n let res = await apiPost({ category }, 'videochat/waitlist')\r\n return res?.ok\r\n}\r\n\r\nexport async function removeFromWaitlist(userId) {\r\n let res = await apiDelete({ userId }, `videochat/waitlist/${userId}`)\r\n return res?.ok\r\n}\r\n\r\nexport async function getWaitlistUser(userId) {\r\n let res = await apiGet(`videochat/waitlist/${userId}`)\r\n if (!res) return null\r\n return res.data\r\n}\r\n\r\nexport async function waitlistAccess() {\r\n let res = await apiGet('videochat/waitlist/access')\r\n if (!res) return\r\n return res.hasAccess\r\n}\r\n\r\nexport async function getSnakSammenProfile() {\r\n const res = await apiGet('videochat/profile')\r\n if (!res?.data) return null\r\n return res.data\r\n}\r\n\r\nexport async function updateSnakSammenProfile({ description = null, askAgain = null, data = {} }) {\r\n\t// save profile\r\n\tconst body = {}\r\n\tif (description !== null) body.description = description\r\n\tif (askAgain !== null) body.askAgain = askAgain\r\n\r\n\tlet res = await apiPost(body, 'videochat/profile')\r\n\tif (!res.ok) return false\r\n\r\n\t// save user info\r\n\tif (Object.keys(data).length === 0) return\r\n\treturn await updateUser(data)\r\n}\r\n\r\nexport async function getVolunteerProfile(userId) {\r\n const res = await apiGet(`videochat/volunteerProfile/${userId}`)\r\n if (!res?.data) return null\r\n return res.data\r\n}\r\n\r\nexport async function getSessionCounters(userId) {\r\n let res = await apiGet(`videochat/sessionCounters/${userId}`)\r\n if (!res?.data) return null\r\n return res.data\r\n}\r\n\r\nexport async function getSessionsLast30Days() {\r\n let res = await apiGet(`videochat/sessionsLast30Days/`)\r\n if (!res) return\r\n return res?.sessionCount\r\n}\r\n\r\nexport async function reportUser(userId) {\r\n\tconst res = await apiPost({ userId }, 'videochat/reportUser')\r\n\t// TODO: If status is 409 (conflict) the user has already been reported, show it in the UI\r\n\tif (res.status === 200 || res.status === 409) return true\r\n\treturn false\r\n}\r\n","import { URLOpener } from './URLOpener'\r\nimport store from '../redux/store'\r\n\r\nexport default async function startVideoSession(roomKey, vonageSessionId, type) {\r\n const userId = store.getState().user?.id\r\n if (!vonageSessionId) {\r\n if (type === 'snaksammen') return URLOpener('https://video.boblberg.dk/video/room/0/' + roomKey)\r\n else return URLOpener('https://video.boblberg.dk/video/room/1/' + roomKey)\r\n } else return URLOpener(`https://v.boblberg.dk/${type}/${vonageSessionId}/${userId}`)\r\n}\r\n","import CustomDialog, { ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { View } from 'react-native'\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { ButtonPrimary } from '../../../buttons/StyledButtons'\r\nimport React from 'react'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nexport function CancelWithMessageDialog({ visible, onDismiss, sendMessage }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt(`videoChat.cancelMessageTitle`)}\r\n \r\n {txt(`videoChat.cancelMessageText`)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function CannotCancelDialog({ visible, onDismiss, sendMessage }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt(`videoChat.cannotCancelTitle`)}\r\n {txt(`videoChat.cannotCancelText`)}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import moment from \"moment/moment\"\r\nimport { txt } from \"../../../../locales/i18n\"\r\n\r\nexport function formatDate(startDate, endDate) {\r\n\tconst mStart = moment(startDate)\r\n\tconst mEnd = moment(endDate)\r\n\tconst today = moment().startOf('day');\r\n\tconst tomorrow = moment().add(1, 'days').startOf('day');\r\n\r\n\tif (mStart.isSame(today, 'day')) {\r\n\t\treturn `${txt('videoChat.volunteer.create.dateToday') + mStart.format('HH.mm')} - ${mEnd.format('HH:mm')}`;\r\n\t} else if (mStart.isSame(tomorrow, 'day')) {\r\n\t\treturn `${txt('videoChat.volunteer.create.dateTomorrow') + mStart.format('HH:mm')} - ${mEnd.format('HH:mm')}`;\r\n\t} else {\r\n\t\tconst str = `${mStart.format(txt('videoChat.volunteer.create.time'))} - ${mEnd.format('HH:mm')}`\r\n\t\treturn `${str[0].toUpperCase()}${str.slice(1)}`\r\n\t}\r\n}\r\n","import React, { useState } from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport { useNavigation } from '@react-navigation/native'\r\n\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport SurveyPromptDialog, { platforms, shouldShowSurveyPrompt } from '../../dialogs/SurveyPromptDialog'\r\n\r\nimport { getConversationId } from '../../../services/api/Inbox'\r\nimport { cancelBooking, getVolunteerProfile } from '../../../services/api/snakSammen'\r\nimport startVideoSession from '../../../utils/startVideoSession'\r\nimport { surveyIds } from '../../../services/api/Surveys'\r\nimport { txt } from '../../../locales/i18n'\r\n\r\nimport Layout from '../../../constants/Layout'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CancelWithMessageDialog, CannotCancelDialog } from './dialogs/CancelDialogs'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport CustomDialog, { ContentContainer } from \"../../dialogs/CustomDialog\"\r\nimport NormalIcon from \"../../icons/NormalIcon\"\r\nimport { formatDate } from \"./utils/helperFunctions\"\r\n\r\nexport function BookedSessions(props) {\r\n const [showSurveyPrompt, setShowSurveyPrompt] = useState(false)\r\n const [cannotCancelDialogVisible, setCannotCancelDialogVisible] = useState(false)\r\n const [cancelMessageDialogVisible, setCancelMessageDialogVisible] = useState(false)\r\n const [volunteerProfile, setVolunteerProfile] = useState(null)\r\n const [volunteerProfileVisible, setVolunteerProfileVisible] = useState(false)\r\n const [loading, setLoading] = useState(false)\r\n\r\n const navigation = useNavigation()\r\n\r\n async function handlePressVolunteer(userId, username) {\r\n if (userId) {\r\n const profileRes = await getVolunteerProfile(userId)\r\n setVolunteerProfile({ description: profileRes?.description, username })\r\n setVolunteerProfileVisible(true)\r\n }\r\n }\r\n\r\n async function handleSendMessage(receiverId, vsSessionId) {\r\n if (receiverId === undefined || vsSessionId === undefined) return\r\n const conversationId = await getConversationId({ vsSessionId, receiverId })\r\n const params = { id: conversationId ?? 'new' }\r\n\r\n if (conversationId === null) {\r\n params.receiverId = receiverId\r\n params.vsSessionId = vsSessionId\r\n }\r\n\r\n const options = { screen: 'Conversation', initial: false, params }\r\n navigation.navigate('InboxStack', options)\r\n }\r\n\r\n async function handleStartSession(roomKey, vonageSessionId) {\r\n await startVideoSession(roomKey, vonageSessionId, 'snaksammen')\r\n // const showSurveyPrompt = await shouldShowSurveyPrompt(surveyIds.snaksammenUser)\r\n // setShowSurveyPrompt(showSurveyPrompt)\r\n }\r\n\r\n async function handleCancelBooking(session) {\r\n setLoading(true)\r\n const now = new Date()\r\n const startDate = new Date(session.start_date)\r\n const tenMinutesBeforeStartDate = new Date(new Date(session.start_date).setMinutes(startDate.getMinutes() - 10))\r\n\r\n if (now >= startDate && now >= tenMinutesBeforeStartDate) {\r\n setCannotCancelDialogVisible(true)\r\n setLoading(false)\r\n } else if (now < startDate && now > tenMinutesBeforeStartDate) {\r\n setCancelMessageDialogVisible(true)\r\n } else {\r\n await cancelBooking(session.id)\r\n props.handleRefresh()\r\n setLoading(false)\r\n }\r\n }\r\n\r\n async function handleCancel(session) {\r\n setLoading(true)\r\n await cancelBooking(session.id)\r\n props.handleRefresh()\r\n setCancelMessageDialogVisible(false)\r\n setLoading(false)\r\n }\r\n\r\n async function handleSendMessageAndCancel(session) {\r\n await handleCancel(session)\r\n await handleSendMessage(session.volunteer_id, session.id)\r\n }\r\n\r\n async function handleCancelMessage(session) {\r\n setCannotCancelDialogVisible(false)\r\n await handleSendMessage(session.volunteer_id, session.id)\r\n }\r\n\r\n return (\r\n \r\n \r\n {txt('videoChat.bookedSessions')}\r\n {props.bookedSessions.length === 0 && (\r\n {txt('videoChat.noBookedSessions')}\r\n )}\r\n \r\n\r\n {props.bookedSessions.map((session) => {\r\n const formattedDate = formatDate(session.start_date, session.end_date)\r\n return (\r\n \r\n \r\n {formattedDate}\r\n\r\n handlePressVolunteer(session.volunteer_id, session.username)}>\r\n \r\n {txt('videoChat.volunteer.title') + ': '}\r\n {session.username}\r\n \r\n \r\n \r\n\r\n \r\n \r\n handleStartSession(session.room_key, session.vonage_session_id)}\r\n style={[styles.button, {backgroundColor: Colors.redCross.base}]}\r\n titleStyle={[styles.buttonTitle, {color: Colors.white}]}\r\n />\r\n \r\n\r\n \r\n handleSendMessage(session.volunteer_id, session.id)}\r\n style={[styles.button, !Layout.small && { paddingHorizontal: 12 }]}\r\n titleStyle={styles.buttonTitle}\r\n />\r\n \r\n\r\n \r\n handleCancelBooking(session)}\r\n style={styles.button}\r\n titleStyle={styles.buttonTitle}\r\n loading={loading}\r\n />\r\n \r\n \r\n await handleCancel(session)}\r\n sendMessage={() => handleSendMessageAndCancel(session)}\r\n />\r\n setCannotCancelDialogVisible(false)}\r\n sendMessage={() => handleCancelMessage(session)}\r\n />\r\n \r\n )\r\n })}\r\n setShowSurveyPrompt(false)}\r\n />\r\n\r\n setVolunteerProfileVisible(false)}>\r\n setVolunteerProfileVisible(false)} style={styles.iconContainer}>\r\n \r\n \r\n\r\n \r\n \r\n {volunteerProfile?.username}\r\n {volunteerProfile?.description ? (\r\n {volunteerProfile?.description}\r\n ) : (\r\n {txt('videoChat.user.noVolunteerProfile')}\r\n )}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n buttonStartContainer: {\r\n flex: 1,\r\n justifyContent: 'center',\r\n paddingRight: 2,\r\n },\r\n buttonsContainer: {\r\n flexDirection: 'row',\r\n justifyContent: 'flex-end',\r\n marginTop: Layout.small ? 12 : 0\r\n },\r\n container: {\r\n margin: 10,\r\n },\r\n card: {\r\n backgroundColor: Colors.white,\r\n borderRadius: 10,\r\n flexDirection: Layout.small ? 'column' : 'row',\r\n alignItems: Layout.small ? 'flex-start' : 'center',\r\n marginTop: 10,\r\n paddingVertical: Layout.small ? 18 : 12,\r\n paddingHorizontal: Layout.small ? 24 : 18,\r\n },\r\n noSession: {\r\n color: Colors.inactive,\r\n marginTop: 10,\r\n },\r\n button: {\r\n borderRadius: 10,\r\n backgroundColor: Colors.redCross.background,\r\n paddingVertical: 13,\r\n paddingHorizontal: Layout.small ? 24 : 32,\r\n marginLeft: 12,\r\n minWidth: Layout.small ? 75 : 115,\r\n },\r\n buttonTitle: {\r\n color: Colors.redCross.text,\r\n fontSize: 14,\r\n fontFamily: 'gotham-bold'\r\n },\r\n\r\n iconContainer: {\r\n backgroundColor: Colors.greyLightLight,\r\n borderRadius: 12,\r\n padding: 8,\r\n position: 'absolute',\r\n top: 12,\r\n right: 12,\r\n zIndex: 10\r\n }\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport moment from 'moment'\r\nimport { useSelector } from 'react-redux'\r\n\r\nimport { addToWaitlist, bookSession, getAvailableSessions, getVolunteerProfile, getWaitlistUser, waitlistAccess } from '../../../services/api/snakSammen'\r\n\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\n\r\nimport Colors from '../../../constants/Colors'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { formatDate } from \"./utils/helperFunctions\"\r\nimport Layout from \"../../../constants/Layout\"\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport NormalIcon from \"../../icons/NormalIcon\"\r\nimport CustomDialog, { ContentContainer } from \"../../dialogs/CustomDialog\"\r\n\r\n\r\nexport function AvailableSessions({ availableDates, handleRefresh, setErrorMessage }) {\r\n\tconst [sessionDates, setSessionDates] = useState([])\r\n\tconst [sessions, setSessions] = useState([])\r\n\tconst [volunteerProfile, setVolunteerProfile] = useState(null)\r\n\tconst [volunteerProfileVisible, setVolunteerProfileVisible] = useState(false)\r\n\tconst [showWaitlistButton, setShowWaitlistButton] = useState(false)\r\n\tconst [showWaitlistSuccess, setShowWaitlistSuccess] = useState(false)\r\n\r\n\tconst userId = useSelector((state) => state.user.id)\r\n\r\n\tuseEffect(() => {\r\n\t\tmoment.locale([txt('global.locale')])\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tasync function getSessionDates() {\r\n\t\t\tconst sessionDatesTasks = availableDates.map(async (availableDate) => {\r\n\t\t\t\tconst startDate = moment(availableDate.date).valueOf()\r\n\t\t\t\tconst endDate = moment(availableDate.date).add(1, 'days').valueOf()\r\n\t\t\t\tconst dates = await getAvailableSessions(startDate, endDate)\r\n\t\t\t\treturn { ...availableDate, dates }\r\n\t\t\t})\r\n\r\n\t\t\tconst sessionDates = await Promise.all(sessionDatesTasks)\r\n\t\t\tsetSessionDates(sessionDates)\r\n\t\t\tflattenSessionDates(sessionDates);\r\n\t\t}\r\n\r\n\t\tgetSessionDates()\r\n\t}, [availableDates])\r\n\r\n\tuseEffect(() => {\r\n\t\twaitlistButtonVisibility()\r\n\t}, [sessions])\r\n\r\n\tfunction flattenSessionDates(sessionDates) {\r\n\t\tconst allSessions = sessionDates.reduce((acc, session) => {\r\n\t\t\treturn acc.concat(session.dates);\r\n\t\t}, []);\r\n\t\tsetSessions(allSessions);\r\n\t}\r\n\r\n\tasync function handleBookSession(sessionId) {\r\n\t\tconst { bookingErrors } = txt('videoChat')\r\n\r\n\t\tconst ERR_ENUMS = {\r\n\t\t\tLIMIT_REACHED: bookingErrors.limitReached,\r\n\t\t\tMAXIMUM_LIMIT_REACHED: bookingErrors.maximumLimitReached,\r\n\t\t\tSESSION_NOT_FOUND: bookingErrors.SessionNotFound,\r\n\t\t\tSESSION_ALREADY_BOOKED: bookingErrors.alreadyBooked,\r\n\t\t\tOWN_BOOKING: bookingErrors.ownBooking,\r\n\t\t\tDOUBLE_BOOKING: bookingErrors.doubleBook,\r\n\t\t\tDATE_EXPIRED: bookingErrors.dateExpired,\r\n\t\t\tTIMEFRAME_OCCUPIED: bookingErrors.timeframeOccupied,\r\n\t\t\tVOLUNTEER_IS_ALREADY_IN_TIMEFRAME: bookingErrors.volunteerInTimeframe,\r\n\t\t}\r\n\r\n\t\tconst { err_code } = await bookSession(sessionId)\r\n\r\n\t\tif (err_code !== undefined) {\r\n\t\t\tconst errorMessage = ERR_ENUMS[err_code] ?? bookingErrors.unknown\r\n\t\t\treturn setErrorMessage(errorMessage)\r\n\t\t}\r\n\r\n\t\tawait handleRefresh()\r\n\t}\r\n\r\n\tasync function handlePressVolunteer(userId, username) {\r\n\t\tif (userId) {\r\n\t\t\tconst profileRes = await getVolunteerProfile(userId)\r\n\t\t\tsetVolunteerProfile({ description: profileRes?.description, username })\r\n\t\t\tsetVolunteerProfileVisible(true)\r\n\t\t}\r\n\t}\r\n\r\n\tasync function handleAddToWaitlist() {\r\n\t\tconst added = await addToWaitlist()\r\n\t\tif (!added) return setErrorMessage(txt('videoChat.user.getStartedDialog.waitlistError'))\r\n\t\t\r\n\t\tsetShowWaitlistSuccess(true)\r\n\t\tsetShowWaitlistButton(false)\r\n\t}\r\n\t\r\n\tasync function waitlistButtonVisibility() {\r\n\t\tconst hasWaitlistAccess = await waitlistAccess()\r\n\t\tif (!hasWaitlistAccess) return setShowWaitlistButton(false)\r\n\r\n\t\tconst alreadySignedUp = await getWaitlistUser(userId)\r\n\t\tif (alreadySignedUp) return setShowWaitlistButton(false)\r\n\r\n\t\tif (sessions.length > 3) return setShowWaitlistButton(false)\r\n\t\t\r\n\t\tsetShowWaitlistButton(true)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{txt('videoChat.availableSessions')}\r\n\t\t\t\t\r\n\t\t\t\t{sessionDates.length === 0 && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('videoChat.noAvailableSessions')}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\r\n\t\t\t{sessions.map((session, index) => {\r\n\t\t\t\tconst formattedDate = formatDate(session.start_date, session.end_date);\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{formattedDate}\r\n\r\n\t\t\t\t\t\t\t handlePressVolunteer(session.volunteer_id, session.username)}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{txt('videoChat.volunteer.title') + ': '}\r\n\t\t\t\t\t\t\t\t\t{session.username}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t handleBookSession(session.id)}\r\n\t\t\t\t\t\t\tstyle={styles.button}\r\n\t\t\t\t\t\t\ttitleStyle={styles.buttonTitle}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t})}\r\n\r\n\t\t\t{showWaitlistButton && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\r\n\t\t\t setShowWaitlistSuccess(false)}>\r\n\t\t\t\t setShowWaitlistSuccess(false)} style={styles.iconContainer}>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('videoChat.user.waitlist.successTitle')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('videoChat.user.waitlist.successBody')}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t setVolunteerProfileVisible(false)}>\r\n\t\t\t\t setVolunteerProfileVisible(false)} style={styles.iconContainer}>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{volunteerProfile?.username}\r\n\t\t\t\t\t\t{volunteerProfile?.description ? (\r\n\t\t\t\t\t\t\t{volunteerProfile?.description}\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t{txt('videoChat.user.noVolunteerProfile')}\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: {\r\n\t\tmargin: 10,\r\n\t},\r\n\tcard: {\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tborderRadius: 10,\r\n\t\tflexDirection: Layout.small ? 'column' : 'row',\r\n\t\talignItems: Layout.small ? 'flex-start' : 'center',\r\n\t\tmarginTop: 10,\r\n\t\tpaddingVertical: Layout.small ? 18 : 12,\r\n\t\tpaddingHorizontal: Layout.small ? 24 : 18,\r\n\t},\r\n\ttext: {\r\n\t\tcolor: Colors.inactive,\r\n\t\tmarginTop: 10,\r\n\t},\r\n\tnoSession: {\r\n\t\tmarginBottom: 60,\r\n\t},\r\n\tbutton: {\r\n\t\tborderRadius: 10,\r\n\t\tbackgroundColor: Colors.redCross.background,\r\n\t\tpaddingVertical: 13,\r\n\t\tpaddingHorizontal: 32,\r\n\t\tmarginLeft: 12,\r\n\t\tminWidth: 115,\r\n\t\tmarginTop: Layout.small ? 12 : 0,\r\n\t},\r\n\tbuttonTitle: {\r\n\t\tcolor: Colors.redCross.text,\r\n\t\tfontSize: 14,\r\n\t\tfontFamily: 'gotham-bold'\r\n\t},\r\n\ticonContainer: {\r\n\t\tbackgroundColor: Colors.greyLightLight,\r\n\t\tborderRadius: 12,\r\n\t\tpadding: 8,\r\n\t\tposition: 'absolute',\r\n\t\ttop: 12,\r\n\t\tright: 12,\r\n\t\tzIndex: 10\r\n\t},\r\n\twaitlistButton: {\r\n\t\tborderRadius: 10,\r\n\t\tbackgroundColor: Colors.redCross.base,\r\n\t\tpaddingVertical: 13,\r\n\t\tpaddingHorizontal: 32,\r\n\t\tmarginLeft: 12,\r\n\t\tminWidth: 115,\r\n\t\tmarginTop: 24,\r\n\t},\r\n\twaitlistButtonTitle: {\r\n\t\tcolor: Colors.white,\r\n\t\tfontSize: 14,\r\n\t\tfontFamily: 'gotham-bold'\r\n\t},\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport CustomDialog from \"../../../dialogs/CustomDialog\"\r\nimport { CustomText } from \"../../../text/StyledText\"\r\nimport { Linking, Pressable, ScrollView, StyleSheet, View } from \"react-native\"\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\nimport Colors from \"../../../../constants/Colors\"\r\nimport NormalIcon from \"../../../icons/NormalIcon\"\r\nimport { txt } from \"../../../../locales/i18n\"\r\nimport { ButtonSecondary } from \"../../../buttons/StyledButtons\"\r\nimport { addToWaitlist, getWaitlistUser, waitlistAccess } from \"../../../../services/api/snakSammen\"\r\nimport { useSelector } from \"react-redux\"\r\n\r\nexport default function GetStartedDialog({ visible, close }) {\r\n\tconst user = useSelector((state) => state.user)\r\n\r\n\tconst [showWaitlist, setShowWaitlist] = useState(false)\r\n\tconst [errorMessage, setErrorMessage] = useState(null)\r\n\tconst [successMessage, setSuccessMessage] = useState(null)\r\n\r\n\r\n\tuseEffect(() => {\r\n\t\thandleShowWaitlist()\r\n\t}, [])\r\n\r\n\tasync function handleShowWaitlist() {\r\n\t\tconst hasWaitlistAccess = await waitlistAccess()\r\n\t\tif (!hasWaitlistAccess) return setShowWaitlist(false)\r\n\r\n\t\tconst alreadySignedUp = await getWaitlistUser(user.id)\r\n\t\tif (alreadySignedUp) return setShowWaitlist(false)\r\n\t\t\r\n\t\tsetShowWaitlist(true)\r\n\t}\r\n\r\n\tasync function handleWaitlistSignup() {\r\n\t\tconst added = await addToWaitlist()\r\n\t\tif (!added) return setErrorMessage(txt('videoChat.user.getStartedDialog.waitlistError'))\r\n\r\n\t\tsetSuccessMessage(txt('videoChat.user.getStartedDialog.waitlistSuccess'))\r\n\t\tsetTimeout(() => {\r\n\t\t\tclose()\r\n\t\t\tsetSuccessMessage(null)\r\n\t\t\tsetShowWaitlist(false)\r\n\t\t}, 2000)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\t\t{/* Using a pressable as a wrapper for all content to make the dialog scrollable */}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\t{txt('videoChat.user.getStartedDialog.title')}\r\n\t\t\t\t\t{txt('videoChat.user.getStartedDialog.subTitle1')}\r\n\t\t\t\t\t{txt('videoChat.user.getStartedDialog.body1')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('videoChat.user.getStartedDialog.body2')}\r\n\t\t\t\t\t\t Linking.openURL('mailto:support@snaksammen.dk')}>\r\n\t\t\t\t\t\t\t{'support@snaksammen.dk'}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{txt('videoChat.user.getStartedDialog.subTitle2')}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t{txt('videoChat.user.getStartedDialog.body3')}\r\n\t\t\t\t\t\t Linking.openURL('mailto:snaksammen@rodekors.dk')}>\r\n\t\t\t\t\t\t\t{'snaksammen@rodekors.dk'}\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t{txt('videoChat.user.getStartedDialog.body4')}\r\n\t\t\t\t\t\t Linking.openURL('tel:29350521')}>\r\n\t\t\t\t\t\t\t{'29 35 05 21'}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{txt('videoChat.user.getStartedDialog.subTitle5')}\r\n\t\t\t\t\t Linking.openURL('https://boblberg.dk/snaksammen/rammer-for-brug-af-snaksammen')}>\r\n\t\t\t\t\t\t{txt('videoChat.user.getStartedDialog.guidelinesButton')}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{showWaitlist && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{txt('videoChat.user.getStartedDialog.subTitle3')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('videoChat.user.getStartedDialog.body5')}\r\n\r\n\t\t\t\t\t\t\t{successMessage ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{successMessage}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{errorMessage && (\r\n\t\t\t\t\t\t\t\t\t\t{errorMessage}\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tdialog: {\r\n\t\tmaxWidth: 500\r\n\t},\r\n\tcloseIcon: {\r\n\t\tbackgroundColor: Colors.greyLightLight,\r\n\t\tborderRadius: 12,\r\n\t\tpadding: 8,\r\n\t\tposition: 'absolute',\r\n\t\ttop: 12,\r\n\t\tright: 12,\r\n\t\tzIndex: 10\r\n\t},\r\n\tcontentAlignment: {\r\n\t\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t\tflexWrap: 'wrap'\r\n\t},\r\n\tbutton: {\r\n\t\tborderRadius: 3,\r\n\t\tmarginTop: 24,\r\n\t\tborderColor: Colors.grey,\r\n\t\tborderWidth: 1,\r\n\t},\r\n\tbuttonTitle: {\r\n\t\tcolor: Colors.grey,\r\n\t\tpadding: 6,\r\n\t\tfontSize: 14,\r\n\t\tfontFamily: 'gotham-book',\r\n\t}\r\n})","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet, Image } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport { ShadowStyles } from '../../../styles'\r\nimport MainContainer from '../../MainContainer/MainContainer'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport PhoneInputForm from '../../formElements/PhoneInputForm'\r\nimport { BookedSessions } from './BookedSessions'\r\nimport { AvailableSessions } from './AvailableSessions'\r\nimport { getAvailableDates, getBookedSessions } from '../../../services/api/snakSammen'\r\nimport Layout from '../../../constants/Layout'\r\nimport { CustomText } from \"../../text/StyledText\"\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport GetStartedDialog from \"./dialogs/GetStartedDialog\"\r\nimport { txt } from \"../../../locales/i18n\"\r\nimport NormalIcon from \"../../icons/NormalIcon\"\r\nimport { useSelector } from \"react-redux\"\r\nimport CustomDialog, { ContentContainer } from \"../../dialogs/CustomDialog\"\r\nimport { ButtonPrimary } from \"../../buttons/StyledButtons\"\r\n\r\nexport default function SnakSammenOversigt() {\r\n const navigation = useNavigation()\r\n\r\n const [errorMessage, setErrorMessage] = useState(null)\r\n const [getStartedDialogVisible, setGetStartedDialogVisible] = useState(false)\r\n const [availableDates, setAvailableDates] = useState([])\r\n const [bookedSessions, setBookedSessions] = useState([])\r\n const phoneNumber = useSelector((state) => state.user?.phone)\r\n\r\n useEffect(() => {\r\n getAvailableDates().then(setAvailableDates)\r\n getBookedSessions().then(setBookedSessions)\r\n }, [])\r\n\r\n useEffect(() => {\r\n const interval = setInterval(async () => {\r\n await handleRefresh()\r\n }, 60000)\r\n return () => clearInterval(interval)\r\n })\r\n\r\n async function handleRefresh() {\r\n await getBookedSessions().then(setBookedSessions)\r\n await getAvailableDates().then(setAvailableDates)\r\n }\r\n\r\n useEffect(() => {\r\n navigation.setOptions({\r\n title: 'SnakSammen | Boblberg',\r\n headerBackTitle: ' ',\r\n headerStyle: {\r\n height: Layout.isSmallDevice ? 115 : 100,\r\n elevation: 0,\r\n shadowOpacity: 0,\r\n borderBottomWidth: 0,\r\n backgroundColor: Colors.white,\r\n borderBottomColor: Colors.redCross.border,\r\n },\r\n headerTitle: () => (\r\n \r\n ),\r\n headerRight: () => (\r\n setGetStartedDialogVisible(true)}\r\n style={styles.helpButton}\r\n >\r\n \r\n \r\n {Layout.small ? txt('videoChat.user.help') : txt('videoChat.user.getStarted')}\r\n \r\n \r\n ),\r\n\r\n })\r\n }, [])\r\n\r\n return (\r\n \r\n \r\n\r\n {(phoneNumber === 0 || !phoneNumber) && (\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n\r\n \r\n\r\n setGetStartedDialogVisible(false)}\r\n />\r\n\r\n setErrorMessage(null)}>\r\n \r\n {txt('videoChat.bookingErrors.header')}\r\n {errorMessage}\r\n setErrorMessage(null)}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n widthHeight: {\r\n flex: 1,\r\n maxWidth: 1000,\r\n width: '100%',\r\n alignSelf: 'center',\r\n marginBottom: 50\r\n },\r\n helpButton: {\r\n paddingHorizontal: 12,\r\n paddingVertical: 8,\r\n borderRadius: 25,\r\n borderWidth: 1,\r\n borderColor: Colors.redCross.baseSecondary,\r\n backgroundColor: Colors.redCross.baseSecondary,\r\n marginHorizontal: 12,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n alignSelf: 'flex-end',\r\n },\r\n dialogText: {\r\n margin: 10,\r\n textAlign: 'center',\r\n },\r\n dialogButton: {\r\n borderRadius: 10,\r\n backgroundColor: Colors.blueAzure,\r\n marginTop: 12,\r\n paddingHorizontal: 20,\r\n paddingVertical: 10\r\n },\r\n logo: {\r\n width: Layout.small ? 125 : 150,\r\n height: Layout.isSmallDevice ? 40 : 70\r\n },\r\n})\r\n","import React from 'react'\r\nimport {\r\n View,\r\n ScrollView,\r\n StyleSheet,\r\n Dimensions,\r\n Image,\r\n Linking,\r\n} from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport { SpacingStyles, TypographyStyles } from '../../../styles'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport PageTitle from '../../tags/PageTitle'\r\nimport TxtTMD from '../../../constants/TxtTMD'\r\nimport Layout from '../../../constants/Layout'\r\n\r\nconst { width, height } = Dimensions.get('window')\r\n\r\nexport default class VolunteerSignup extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n imageWidth: 0,\r\n imageHeight: 0,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.getImageSize()\r\n }\r\n\r\n getImageSize() {\r\n Image.getSize(\r\n 'https://filer.boblberg.dk/Assets/Img/snaksammen/snaksammen-banner-2.png',\r\n (imageWidth, imageHeight) => {\r\n this.setState({ imageWidth, imageHeight })\r\n },\r\n (error) => {\r\n this.setState({ imageWidth: width, imageHeight: height * 0.2 })\r\n }\r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('videoChat.volunteerSignup.title')}\r\n \r\n \r\n\r\n \r\n \r\n {txt('videoChat.volunteerSignup.body')}\r\n \r\n \r\n\r\n \r\n \r\n {txt('videoChat.volunteerSignup.email')}\r\n \r\n Linking.openURL(\r\n 'mailto:' +\r\n txt('videoChat.volunteerSignup.contactEmail')\r\n )\r\n }\r\n >\r\n {txt('videoChat.volunteerSignup.contactEmail')}\r\n \r\n \r\n \r\n {txt('videoChat.volunteerSignup.phone')}\r\n \r\n Linking.openURL(\r\n `tel:${\r\n +45 + txt('videoChat.volunteerSignup.contactPhone')\r\n }`\r\n )\r\n }\r\n style={styles.link}\r\n >\r\n {txt('videoChat.volunteerSignup.contactPhone')}\r\n \r\n \r\n \r\n \r\n \r\n {txt('videoChat.volunteerSignup.outro')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n backgroundColor: Colors.background,\r\n flex: 1,\r\n },\r\n image: {\r\n height: Layout.isSmallDevice ? width * 0.4 : Layout.maxFeedWidth * 0.3,\r\n width: Layout.isSmallDevice ? width * 0.4 : Layout.maxFeedWidth * 0.3,\r\n },\r\n imageContainer: { flexDirection: 'row', justifyContent: 'space-evenly' },\r\n imageSimple: {\r\n alignSelf: 'center',\r\n height: Layout.isSmallDevice ? height * 0.21 : height * 0.25,\r\n width: Layout.isSmallDevice ? width : Layout.maxFeedWidth,\r\n },\r\n italic: { ...TypographyStyles.textSmallItalic },\r\n link: { ...TypographyStyles.text, color: Colors.tintColor },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n ...TypographyStyles.text,\r\n color: Colors.text,\r\n },\r\n textContainer: { marginTop: 10 },\r\n title: { ...TypographyStyles.titleBold, color: Colors.text },\r\n widthHeight: {\r\n backgroundColor: Colors.background,\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n})\r\n","import { apiDelete, apiGet, apiPost, apiPut } from './ApiRequest'\r\nimport { updateUser } from \"./User\"\r\n\r\nconst stopLoadingFunc = (success) => {\r\n // if (__DEV__) console.log('No stopLoadingFunc passed, success: ' + success)\r\n}\r\n\r\n// SLBook\r\nexport async function bookSession(session_id, juniorId) {\r\n const body = { video_session_id: session_id }\r\n if (juniorId) body.juniorId = juniorId\r\n try {\r\n const response = await apiPost(body, 'sl/book')\r\n const responseJson = await response.json()\r\n const statusCode = response.status\r\n return { statusCode, ...responseJson }\r\n } catch (error) {\r\n if (__DEV__) console.log(error)\r\n return { err_code: 'SERVER_ERROR' }\r\n }\r\n}\r\n\r\n// SLCancelBooking\r\nexport async function cancelBooking(id, juniorSession, stopLoading = stopLoadingFunc) {\r\n const jsonData = { video_session_id: id }\r\n let url = 'sl/cancelBooking'\r\n if (juniorSession) url += `?junior=${true}`\r\n\r\n const response = await apiPost(jsonData, url)\r\n if (!response) stopLoading(false)\r\n else stopLoading(true)\r\n}\r\n\r\n// SLCreate\r\nexport async function createBooking({startDate, endDate, emailToInvite, junior = false, juniorId, categories}) {\r\n let body = {\r\n start_date: startDate,\r\n end_date: endDate,\r\n junior: junior,\r\n juniorId,\r\n categories,\r\n }\r\n if (emailToInvite) {\r\n body.email_to_invite = emailToInvite\r\n }\r\n\r\n // Wait for response then parse to json\r\n return await apiPost(body, 'sl/create')\r\n .then((response) => response.json())\r\n .then((responseJson) => {\r\n if (!responseJson.data) {\r\n return\r\n }\r\n return responseJson.data[0]\r\n })\r\n .catch((error) => {\r\n if (__DEV__) console.error(\"Couldn't create booking.\")\r\n if (__DEV__) console.error(error)\r\n })\r\n}\r\n\r\nexport async function preCreateBooking(emailToInvite) {\r\n\tconst res = await apiGet(`sl/preCreateCheck?email=${emailToInvite}`)\r\n\treturn res\r\n}\r\n\r\n// SLDelete\r\nexport async function deleteBooking(id, juniorSession) {\r\n const jsonData = { video_session_id: id, junior: !!juniorSession }\r\n const response = await apiPost(jsonData, 'sl/delete')\r\n if (!response) return false\r\n else return true\r\n}\r\n\r\n// SLGetAvailable\r\nexport async function getAvailable(start_date, end_date, juniorSessions) {\r\n\tif (!start_date || !end_date) {\r\n\t\tif (__DEV__) console.error('Start- or end-date missing.')\r\n\t\treturn\r\n\t}\r\n\r\n\tconst body = { start_date, end_date }\r\n\tlet url = 'sl/getAvailable'\r\n\tif (juniorSessions) url += `?junior=${true}`\r\n\r\n\ttry {\r\n\t\t// TODO: rewrite to use apiGet\r\n\t\tconst response = await apiPost(body, url)\r\n\t\tif (!response) return []\r\n\t\tconst responseJson = await response.json()\r\n\t\t\r\n\t\textractCategories(responseJson.data)\r\n\t\treturn responseJson.data\r\n\t} catch (error) {\r\n\t\tif (__DEV__) console.error('Failed to fetch sessions.')\r\n\t\tconsole.error(error)\r\n\t}\r\n}\r\n\r\n// SLGetAvailableDates\r\nexport async function getAvailableDates(juniorSession) {\r\n let url = 'sl/getAvailableDates'\r\n if (juniorSession) url += `?junior=${true}`\r\n const res = await apiGet(url)\r\n if (res?.data) {\r\n return res.data.map((val, index) => ({ key: index, ...val }))\r\n }\r\n return []\r\n}\r\n\r\n// SLGetBooked\r\nexport async function getBookedSessions(juniorId) {\r\n let url = 'sl/getBooked'\r\n if (juniorId) url += `?juniorId=${juniorId}`\r\n const res = await apiGet(url)\r\n if (res?.data) {\r\n extractCategories(res.data)\r\n return res.data.map((val, index) => ({ key: index, ...val }))\r\n }\r\n return []\r\n}\r\n\r\nexport async function getOwnBooked() {\r\n const res = await apiGet('sl/getOwnBooked')\r\n if (!res?.data) return []\r\n res.data = res.data.map((val, index) => ({ key: index, ...val }))\r\n extractCategories(res.data)\r\n return res.data\r\n}\r\n\r\nexport async function getOwnNotBooked() {\r\n const res = await apiGet('sl/getOwnNotBooked')\r\n if (!res?.data) return []\r\n res.data = res.data.map((val, index) => ({ key: index, ...val }))\r\n extractCategories(res.data)\r\n return res.data\r\n}\r\n\r\n// SLGetAllSessions\r\nexport async function getAllSessions() {\r\n const res = await apiGet('sl/getAllSessions')\r\n if (!res?.data) return []\r\n extractCategories(res.data)\r\n return res.data\r\n}\r\n\r\n// SLVolunteerHasAccess\r\nexport async function volunteerHasAccess(\r\n organization_name,\r\n password,\r\n stopLoading = stopLoadingFunc\r\n) {\r\n if (organization_name == null || password == null) {\r\n if (__DEV__)\r\n console.log(\r\n 'No organization_name or password was passed to check if volunteer has access function, returning.'\r\n )\r\n stopLoading(false)\r\n return\r\n }\r\n const data = {\r\n organization_name,\r\n password,\r\n }\r\n\r\n return apiPost(data, `sl/volunteerHasAccess`)\r\n .then((response) => response.json())\r\n .then((responseJson) => {\r\n if (!responseJson.data) {\r\n stopLoading(false)\r\n return\r\n }\r\n\r\n stopLoading(true)\r\n return responseJson.data[0]\r\n })\r\n .catch((error) => {\r\n if (__DEV__) console.error(error)\r\n stopLoading(false)\r\n })\r\n}\r\n\r\nexport async function addToJuniorWaitList() {\r\n const res = await apiPost({}, 'sl/junior/waitList')\r\n const resJson = await res.json()\r\n return Boolean(resJson?.status)\r\n}\r\n\r\nexport async function getJuniorWaitListStatus() {\r\n const res = await apiGet('sl/junior/waitList')\r\n return Boolean(res?.status)\r\n}\r\n\r\nexport async function getJuniorProfileList(email) {\r\n const res = await apiGet(`sl/juniors?email=${email}`)\r\n return res.data\r\n}\r\n\r\nfunction extractCategories(sessions) {\r\n for (let session of sessions) {\r\n if (session.categories) {\r\n session.categories = JSON\r\n .parse(session.categories)\r\n .map(category => category.categoryId)\r\n }\r\n }\r\n}\r\n\r\nexport async function getPreviousBookedSessions() {\r\n const res = await apiGet('sl/previous')\r\n if (!res?.data) return []\r\n res.data = res.data.map((val, index) => ({ key: index, ...val }))\r\n extractCategories(res.data)\r\n return res.data\r\n}\r\n\r\nexport async function getPreviousBookers() {\r\n const res = await apiGet('sl/previousBookers')\r\n if (!res?.data) return []\r\n return res.data\r\n}\r\n\r\nexport async function getPreviousJuniorBookers() {\r\n const res = await apiGet('sl/previousJuniorBookers')\r\n return res?.data ?? []\r\n}\r\n\r\nexport async function getSessionCount() {\r\n const res = await apiGet('sl/count')\r\n if (res?.data === undefined) return\r\n return res.data\r\n}\r\n\r\nexport async function addToWaitList() {\r\n const res = await apiPost({}, 'sl/waitList')\r\n const resJson = await res.json()\r\n return Boolean(resJson?.status)\r\n}\r\n\r\nexport async function getWaitListStatus() {\r\n const res = await apiGet('sl/waitList')\r\n return Boolean(res?.status)\r\n}\r\n\r\nexport async function getJuniorConsent() {\r\n const response = await apiGet('sl/junior-consent')\r\n return response?.consentGiven\r\n}\r\n\r\nexport async function updateJuniorConsent(sproglandJuniorConsent) {\r\n const response = await apiPut({ sproglandJuniorConsent }, 'sl/junior-consent')\r\n if (response.ok === false) throw new Error(\"Could'n get junior consent.\")\r\n}\r\n\r\nexport async function getCountriesList() {\r\n const response = await apiGet('sl/countries')\r\n return response?.data\r\n}\r\n\r\nexport async function getUserCountry() {\r\n const response = await apiGet('sl/user-country')\r\n return response?.data\r\n}\r\n\r\nexport async function setUserCountry(countryCode) {\r\n const response = await apiPost({countryCode}, 'sl/user-country')\r\n return response?.ok\r\n}\r\n\r\nexport async function getVolunteerProfile(userId) {\r\n\tconst res = await apiGet(`sl/volunteerProfile/${userId}`)\r\n\tif (!res?.data) return null\r\n\treturn res.data\r\n}\r\n\r\nexport async function getSproglandProfile() {\r\n\tconst res = await apiGet('sl/profile')\r\n\tif (!res?.data) return null\r\n\treturn res.data\r\n}\r\n\r\nexport async function updateSproglandProfile({ description = null, askAgain = null, data = {} }) {\r\n\t// save profile\r\n\tconst body = {}\r\n\tif (description !== null) body.description = description\r\n\tif (askAgain !== null) body.askAgain = askAgain\r\n\r\n\tlet res = await apiPost(body, 'sl/profile')\r\n\tif (!res.ok) return false\r\n\r\n\t// save user info\r\n\tif (Object.keys(data).length === 0) return\r\n\treturn await updateUser(data)\r\n}\r\n","import Colors from '../../../constants/Colors'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport React from 'react'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\n\r\nexport default function TextLabel({ style, junior = false, first = false, text, showInfoIcon = false }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{junior ? txt('learnDanish.junior.juniorLabel') : first ? txt('learnDanish.volunteer.firstSession') : text}\r\n\t\t\t\r\n\t\t\t{showInfoIcon && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: {\r\n\t\tdisplay: 'flex',\r\n\t\tflexDirection: 'row',\r\n\t\talignSelf: 'flex-start',\r\n\t\talignItems: 'center',\r\n\t\tpaddingHorizontal: 6,\r\n\t\tpaddingVertical: 4,\r\n\t\tborderRadius: 4,\r\n\t},\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { StyleSheet } from 'react-native'\r\n\r\nimport { CustomText } from '../text/StyledText'\r\nimport { ActionButton, ContentContainer, ScrollableDialog } from './CustomDialog'\r\n\r\nimport { txt } from '../../locales/i18n'\r\nimport Colors from '../../constants/Colors'\r\n\r\nimport { getJuniorConsent, updateJuniorConsent } from '../../services/api/LearnDanish'\r\n\r\nexport function SproglandJuniorConsentDialog({ visible, setVisible, onCancel, acceptOnly }) {\r\n const [consentGiven, setConsentGiven] = useState(null)\r\n const [notification, setNotification] = useState(null)\r\n const [showUpdateErrorDialog, setShowUpdateErrorDialog] = useState(false)\r\n\r\n useEffect(() => {\r\n if (visible === false) return\r\n\r\n if (acceptOnly) {\r\n return setConsentGiven(false)\r\n }\r\n\r\n getJuniorConsent().then((consentGiven) => {\r\n setConsentGiven(consentGiven)\r\n })\r\n }, [visible])\r\n\r\n async function handleUpdateConsent() {\r\n try {\r\n if (acceptOnly) {\r\n await updateJuniorConsent(true)\r\n setNotification(txt('learnDanish.junior.consentGiven'))\r\n } else { \r\n await updateJuniorConsent(!consentGiven)\r\n setNotification(consentGiven ? txt('learnDanish.junior.consentRemove') : txt('learnDanish.junior.consentGiven'))\r\n }\r\n } catch (error) {\r\n return setShowUpdateErrorDialog(true)\r\n }\r\n\r\n setTimeout(() => {\r\n setVisible(false)\r\n setNotification(null)\r\n setConsentGiven(null)\r\n }, 1500)\r\n }\r\n\r\n async function handleDismiss() {\r\n setVisible(false)\r\n setNotification(null)\r\n setConsentGiven(null)\r\n onCancel()\r\n }\r\n\r\n if (consentGiven === null) return null\r\n\r\n if (showUpdateErrorDialog) {\r\n return (\r\n \r\n \r\n \r\n {txt('learnDanish.junior.updateErrorHeader')}\r\n \r\n\r\n {txt('learnDanish.junior.updateErrorMessage')}\r\n \r\n\r\n setShowUpdateErrorDialog(false)} style={styles.dialogButton}>\r\n {txt('global.ok')}\r\n \r\n \r\n )\r\n }\r\n\r\n if (notification === null) {\r\n return (\r\n \r\n \r\n {txt('learnDanish.junior.consentHeader')}\r\n\r\n \r\n {consentGiven ? txt('learnDanish.junior.removeConsentBody') : txt('learnDanish.junior.consentBody')}\r\n \r\n \r\n\r\n \r\n {consentGiven ? txt('learnDanish.junior.removeConsent') : txt('learnDanish.junior.approveConsent')}\r\n \r\n\r\n \r\n {txt('learnDanish.junior.cancelConsent')}\r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {notification}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n dialogButton: { padding: 10 },\r\n marginTop: { marginTop: 10 },\r\n})\r\n","import CustomDialog, { ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { View } from 'react-native'\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { ButtonPrimary } from '../../../buttons/StyledButtons'\r\nimport React from 'react'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nexport function CancelWithMessageDialog({ visible, onDismiss, sendMessage }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt(`learnDanish.cancelMessageTitle`)}\r\n \r\n {txt(`learnDanish.cancelMessageText`)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function CannotCancelDialog({ visible, onDismiss, sendMessage }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt(`learnDanish.cannotCancelTitle`)}\r\n {txt(`learnDanish.cannotCancelText`)}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import React from \"react\"\r\nimport { StyleSheet } from \"react-native\"\r\n\r\nimport { txt } from \"../../../../locales/i18n\"\r\n\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\nimport CustomDialog, { ContentContainer } from \"../../../dialogs/CustomDialog\"\r\nimport { CustomText } from \"../../../text/StyledText\"\r\n\r\nimport NormalIcon from \"../../../icons/NormalIcon\"\r\nimport Colors from \"../../../../constants/Colors\"\r\n\r\n\r\nexport default function SessionCategoryDialog({ visible, onDismiss, categoryId }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{txt(`learnDanish.categories.${categoryId}`)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{txt(`learnDanish.categories.descriptions.${categoryId}`)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcloseIcon: {\r\n\t\tbackgroundColor: Colors.greyLightLight,\r\n\t\tborderRadius: 12,\r\n\t\tpadding: 8,\r\n\t\tposition: 'absolute',\r\n\t\ttop: 12,\r\n\t\tright: 12,\r\n\t\tzIndex: 10\r\n\t},\r\n})\r\n","import React from 'react'\r\nimport { StyleSheet } from \"react-native\"\r\n\r\nimport CustomDialog, { ContentContainer } from \"../../../dialogs/CustomDialog\"\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\nimport { CustomText } from \"../../../text/StyledText\"\r\nimport NormalIcon from \"../../../icons/NormalIcon\"\r\nimport Colors from \"../../../../constants/Colors\"\r\nimport { txt } from '../../../../locales/i18n'\r\n\r\nexport function VolunteerProfileDialog({ visible, onDismiss, username, description }) {\r\n\treturn (\r\n\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\t\t{username}\r\n\t\t\t\t\r\n\t\t\t\t\t{description ? description : txt('learnDanish.volunteer.profile.dialog.noVolunteerProfile')}\r\n\t\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tdialog: {\r\n\t\tborderRadius: 6,\r\n\t\tmaxWidth: 500,\r\n\t\tminWidth: 300,\r\n\t},\r\n\ticonContainer: {\r\n\t\tbackgroundColor: Colors.greyLightLight,\r\n\t\tborderRadius: 12,\r\n\t\tpadding: 8,\r\n\t\tposition: 'absolute',\r\n\t\ttop: 12,\r\n\t\tright: 12,\r\n\t\tzIndex: 10\r\n\t}\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet, Platform } from 'react-native'\r\nimport { cancelBooking, getVolunteerProfile } from '../../../services/api/LearnDanish'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Colors from '../../../constants/Colors'\r\nimport { ButtonPrimary, ButtonSecondary } from '../../buttons/StyledButtons'\r\nimport { ShadowStyles, TypographyStyles } from '../../../styles'\r\nimport moment from 'moment'\r\nimport { getConversationId } from '../../../services/api/Inbox'\r\nimport TextLabel from './TextLabel'\r\nimport startVideoSession from '../../../utils/startVideoSession'\r\nimport { getPreviousSLSurvey } from '../../../services/api/Surveys'\r\n// import SproglandSurveyDialog from './SproglandSurveyDialog'\r\n// import { WebBrowserResultType } from 'expo-web-browser'\r\nimport { getJuniorConsent } from '../../../services/api/LearnDanish'\r\nimport { SproglandJuniorConsentDialog } from '../../dialogs/SproglandJuniorConsentDialog'\r\nimport { CancelWithMessageDialog, CannotCancelDialog } from './dialogs/CancelDialogs'\r\nimport CustomPressable from '../../pressables/CustomPressable'\r\nimport SessionCategoryDialog from './dialogs/sessionCategoryDialog'\r\nimport { VolunteerProfileDialog } from './dialogs/VolunteerProfileDialog'\r\n\r\nexport default function AvailableSessions(props) {\r\n\t// const [dialogVisible, setDialogVisible] = useState(false)\r\n\tconst [showConsentDialog, setShowConsentDialog] = useState(false)\r\n\tconst [cannotCancelDialogVisible, setCannotCancelDialogVisible] = useState(false)\r\n\tconst [cancelMessageDialogVisible, setCancelMessageDialogVisible] = useState(false)\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [sessionCategoryDialogVisible, setSessionCategoryDialogVisible] = useState(false)\r\n\tconst [clickedCategoryId, setClickedCategoryId] = useState(null)\r\n\tconst [volunteerProfile, setVolunteerProfile] = useState(null)\r\n\tconst [volunteerProfileVisible, setVolunteerProfileVisible] = useState(false)\r\n\r\n\t//sets locale to danish time\r\n\tmoment.locale([txt('videoChat.locale')])\r\n\r\n\tuseEffect(() => {\r\n\t\tprops.loadSessions()\r\n\t}, [])\r\n\r\n\tfunction formatUnixDate(date) {\r\n\t\tconst d = moment(date).format('dddd [d.] DD/MM [kl.] HH:mm')\r\n\t\treturn d.charAt(0).toUpperCase() + d.substr(1)\r\n\t}\r\n\r\n\tasync function handleSendMessage(item) {\r\n\t\tconst { volunteer_id, id } = item\r\n\t\tif (!volunteer_id || !id) return\r\n\t\tconst conversationId = await getConversationId({\r\n\t\t\tslSessionId: id,\r\n\t\t\treceiverId: volunteer_id,\r\n\t\t})\r\n\t\tif (conversationId) props.navigateToConversation(conversationId)\r\n\t\telse props.navigateToNewConversation(volunteer_id, id)\r\n\t}\r\n\r\n\tasync function handleStartPress(item) {\r\n\t\tlet junior = !!props.juniorId\r\n\t\tif (junior) {\r\n\t\t\tconst consentGiven = await getJuniorConsent()\r\n\t\t\tif (consentGiven === false) {\r\n\t\t\t\treturn setShowConsentDialog(!consentGiven)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst browser = await startVideoSession(item.room_key, item.vonage_session_id, junior ? 'sproglandJunior' : 'sprogland')\r\n\t\tconst bookings = await getPreviousSLSurvey()\r\n\t\t// if (bookings.previouslyCompletedBookings === 0 && bookings.completedBookings > 0 || bookings.completedBookings - bookings.previouslyCompletedBookings >= 4) {\r\n\t\t// \tif (Platform.OS !== 'ios') setDialogVisible(true)\r\n\t\t// \telse if (browser.type === WebBrowserResultType.CANCEL) setDialogVisible(true)\r\n\t\t// }\r\n\t}\r\n\r\n\tasync function handleCancelBooking(item) {\r\n\t\tconst now = new Date()\r\n\t\tconst startDate = new Date(item.start_date)\r\n\t\tconst tenMinutesBeforeStartDate = new Date(new Date(item.start_date).setMinutes(startDate.getMinutes() - 10))\r\n\r\n\t\tif (now >= startDate && now >= tenMinutesBeforeStartDate) {\r\n\t\t\tsetCannotCancelDialogVisible(true)\r\n\t\t} else if (now < startDate && now > tenMinutesBeforeStartDate) {\r\n\t\t\tsetCancelMessageDialogVisible(true)\r\n\t\t} else {\r\n\t\t\tawait handleCancel(item)\r\n\t\t}\r\n\t}\r\n\r\n\tasync function handleCancel(item) {\r\n\t\tsetLoading(true)\r\n\t\tawait cancelBooking(item.id, !!props.juniorId)\r\n\t\tprops.loadSessions()\r\n\t\tprops.reloadAvailable()\r\n\t\tsetCancelMessageDialogVisible(false)\r\n\t\tsetLoading(false)\r\n\t}\r\n\r\n\tasync function handleSendMessageAndCancel(item) {\r\n\t\tawait handleCancel(item)\r\n\t\tawait handleSendMessage(item)\r\n\t}\r\n\r\n\tasync function handleCancelMessage(item) {\r\n\t\tsetCannotCancelDialogVisible(false)\r\n\t\tawait handleSendMessage(item)\r\n\t}\r\n\r\n\tfunction handleCategoryPress(categoryId) {\r\n\t\tsetClickedCategoryId(categoryId)\r\n\t\tsetSessionCategoryDialogVisible(true)\r\n\t}\r\n\r\n\tasync function handlePressVolunteer(volunteerId, volunteerName) {\r\n\t\tif (!volunteerId) return\r\n\t\tconst volunteerProfile = await getVolunteerProfile(volunteerId)\r\n\t\tsetVolunteerProfile({ description: volunteerProfile?.description, volunteerName })\r\n\t\tsetVolunteerProfileVisible(true)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{props.sessions.length === 0 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('videoChat.bookedSessions')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{txt('videoChat.noBookedSessions')}\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t{txt('videoChat.bookedSessions')}\r\n\t\t\t)}\r\n\t\t\t{props.sessions.map((item, key) => {\r\n\t\t\t\tconst date = formatUnixDate(item.start_date)\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{date}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t handlePressVolunteer(item.volunteer_id, item.username)}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{item.categories?.map((id, key) => (\r\n\t\t\t\t\t\t\t\t\t handleCategoryPress(id)}\r\n\t\t\t\t\t\t\t\t\t\taccessibilityRole=\"button\"\r\n\t\t\t\t\t\t\t\t\t\tkey={key}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t handleStartPress(item)}\r\n\t\t\t\t\t\t\t\t\ttitleStyle={{ ...TypographyStyles.textSmallBold }}\r\n\t\t\t\t\t\t\t\t\tstyle={styles.button}\r\n\t\t\t\t\t\t\t\t\ticon=\"video\"\r\n\t\t\t\t\t\t\t\t\ticonSize={16}\r\n\t\t\t\t\t\t\t\t\tstroke={'fal'}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{props.startConversation && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t handleSendMessage(item)}\r\n\t\t\t\t\t\t\t\t\t\ttitleStyle={{ ...TypographyStyles.textSmallBold }}\r\n\t\t\t\t\t\t\t\t\t\tstyle={[styles.button, { borderWidth: 1 }]}\r\n\t\t\t\t\t\t\t\t\t\ticon=\"paper-plane\"\r\n\t\t\t\t\t\t\t\t\t\ticonSize={16}\r\n\t\t\t\t\t\t\t\t\t\tstroke={'fal'}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t handleCancelBooking(item)}\r\n\t\t\t\t\t\t\t\t\ticon=\"times\"\r\n\t\t\t\t\t\t\t\t\ticonSize={16}\r\n\t\t\t\t\t\t\t\t\tcolor={Colors.redCrossRed}\r\n\t\t\t\t\t\t\t\t\tstroke={'fal'}\r\n\t\t\t\t\t\t\t\t\tloading={loading}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t await handleCancel(item)}\r\n\t\t\t\t\t\t\tsendMessage={() => handleSendMessageAndCancel(item)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t setCannotCancelDialogVisible(false)}\r\n\t\t\t\t\t\t\tsendMessage={() => handleCancelMessage(item)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t})}\r\n\t\t\t{/* setDialogVisible(false)}\r\n\t\t\t/> */}\r\n\r\n\t\t\t setShowConsentDialog(showConsentDialog)}\r\n\t\t\t\tonCancel={() => setShowConsentDialog(false)}\r\n\t\t\t\tacceptOnly\r\n\t\t\t/>\r\n\t\t\t setSessionCategoryDialogVisible(false)}\r\n\t\t\t\tcategoryId={clickedCategoryId}\r\n\t\t\t/>\r\n\t\t\t setVolunteerProfileVisible(false)}\r\n\t\t\t\tusername={volunteerProfile?.volunteerName}\r\n\t\t\t\tdescription={volunteerProfile?.description}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tbuttonCancelContainer: {\r\n\t\tflex: 1,\r\n\t\tjustifyContent: 'center',\r\n\t},\r\n\tbuttonConversationContainer: {\r\n\t\tflex: 1,\r\n\t\tjustifyContent: 'center',\r\n\t\tpaddingBottom: 10,\r\n\t\tpaddingRight: 2,\r\n\t},\r\n\tbuttonStartContainer: {\r\n\t\tflex: 1,\r\n\t\tjustifyContent: 'center',\r\n\t\tpaddingBottom: 10,\r\n\t\tpaddingRight: 2,\r\n\t},\r\n\tbuttonsContainer: {\r\n\t\tflexDirection: 'column',\r\n\t\tjustifyContent: 'space-evenly',\r\n\t},\r\n\tbutton: {\r\n\t\twidth: 150,\r\n\t\tpaddingHorizontal: 0,\r\n\t},\r\n\tcontainer: {\r\n\t\tmargin: 10,\r\n\t},\r\n\tsessionContainer: {\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tborderRadius: 2,\r\n\t\tflexDirection: 'row',\r\n\t\tmarginTop: 10,\r\n\t\tpadding: 10,\r\n\t\t...ShadowStyles.liftedShadow,\r\n\t},\r\n\tnoSession: {\r\n\t\tcolor: Colors.inactive,\r\n\t\tmarginTop: 10,\r\n\t\ttextAlign: 'center',\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tpadding: 12,\r\n\t\tborderRadius: 2,\r\n\t\t...ShadowStyles.liftedShadow,\r\n\t},\r\n\ttextContainer: {\r\n\t\tflex: 2,\r\n\t\tjustifyContent: 'center',\r\n\t\tpaddingRight: 12\r\n\t},\r\n\ttitleBold: {\r\n\t\ttextAlign: 'center',\r\n\t},\r\n})\r\n","import CustomDialog, { ContentContainer } from '../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { View } from 'react-native'\r\nimport { ButtonPrimary, ButtonSecondary } from '../../buttons/StyledButtons'\r\nimport React from 'react'\r\nimport { txt } from '../../../locales/i18n'\r\n\r\nexport default function SproglandJuniorWaitListDialog({ visible, onDismiss, submit }) {\r\n return (\r\n \r\n \r\n \r\n {txt('learnDanish.junior.waitlist.dialogText')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function SproglandWaitListDialog({ visible, onDismiss, submit }) {\r\n return (\r\n \r\n \r\n \r\n {txt('learnDanish.waitlist.dialogText')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport moment from 'moment'\r\n\r\nimport {\r\n\taddToJuniorWaitList,\r\n\taddToWaitList,\r\n\tgetAvailable,\r\n\tgetJuniorWaitListStatus,\r\n\tgetSessionCount,\r\n\tgetVolunteerProfile,\r\n\tgetWaitListStatus,\r\n} from '../../../services/api/LearnDanish'\r\nimport { surveyIds } from '../../../services/api/Surveys'\r\n\r\nimport SproglandJuniorWaitListDialog, { SproglandWaitListDialog } from './SproglandWaitListDialog'\r\nimport SessionCategoryDialog from './dialogs/sessionCategoryDialog'\r\nimport SurveyPromptDialog, { platforms } from '../../dialogs/SurveyPromptDialog'\r\nimport { ButtonPrimary, ButtonSecondary } from '../../buttons/StyledButtons'\r\nimport { ShadowStyles, TypographyStyles } from '../../../styles'\r\nimport { CustomSnackbar } from '../../snackbars/Snackbar'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport TextLabel from './TextLabel'\r\nimport Colors from '../../../constants/Colors'\r\nimport { VolunteerProfileDialog } from './dialogs/VolunteerProfileDialog'\r\n\r\nexport function AvailableSessions({ availableDates, getAvailableDates, bookSession, getBookedSessions, juniorId }) {\r\n\tconst [sessionCount, setSessionCount] = useState(0)\r\n\tconst [isOnWaitlist, setIsOnWaitlist] = useState(false)\r\n\tconst [waitlistVisible, setWaitlistVisible] = useState(false)\r\n\tconst [isOnJuniorWaitlist, setIsOnJuniorWaitlist] = useState(false)\r\n\tconst [juniorWaitlistVisible, setJuniorWaitlistVisible] = useState(false)\r\n\tconst [surveyPromptVisible, setSurveyPromptVisible] = useState(false)\r\n\tconst [showSnackbar, setShowSnackbar] = useState(false)\r\n\tconst [errorMessage, setErrorMessage] = useState('')\r\n\tconst [data, setData] = useState([])\r\n\tconst [sessionCategoryDialogVisible, setSessionCategoryDialogVisible] = useState(false)\r\n\tconst [clickedCategoryId, setClickedCategoryId] = useState(null)\r\n\tconst [volunteerProfile, setVolunteerProfile] = useState(null)\r\n\tconst [volunteerProfileVisible, setVolunteerProfileVisible] = useState(false)\r\n\r\n\tuseEffect(() => {\r\n\t\tmoment.locale([txt('global.locale')])\r\n\r\n\t\tgetWaitListStatus().then(setIsOnWaitlist)\r\n\t\tgetJuniorWaitListStatus().then(setIsOnJuniorWaitlist)\r\n\t\tgetSessionCount().then(setSessionCount)\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tsetData(availableDates)\r\n\t}, [availableDates])\r\n\r\n\tasync function toggleDropDown(key) {\r\n\t\tconst newData = [...data]\r\n\r\n\t\t// Update dropdownactive toggle state\r\n\t\tnewData[key].dropdownActive = !newData[key].dropdownActive\r\n\t\tif (newData[key].dropdownActive === false) return setData(newData)\r\n\r\n\t\t// Fetch available sessions for the selected date\r\n\t\tconst startDate = new Date(newData[key].date)\r\n\t\tconst endDate = new Date(startDate.getTime() + 60 * 60 * 24 * 1000)\r\n\r\n\t\tconst availableSessions = await getAvailable(startDate.getTime(), endDate.getTime(), Boolean(juniorId))\r\n\t\tnewData[key].availableSessions = availableSessions\r\n\r\n\t\tsetData(newData)\r\n\t}\r\n\r\n\tfunction formatDate(date, formatString) {\r\n\t\tconst formattedDate = moment(date).format(formatString)\r\n\t\treturn formattedDate.charAt(0).toUpperCase() + formattedDate.slice(1)\r\n\t}\r\n\r\n\tasync function handleBookSession(sessionId) {\r\n\t\tconst { bookingErrors } = txt('learnDanish')\r\n\r\n\t\tconst ERR_ENUMS = {\r\n\t\t\tLIMIT_REACHED: txt('learnDanish.bookingErrors.limitReached'),\r\n\t\t\tSESSION_NOT_FOUND: txt('learnDanish.bookingErrors.SessionNotFound'),\r\n\t\t\tSESSION_ALREADY_BOOKED: txt('learnDanish.bookingErrors.alreadyBooked'),\r\n\t\t\tOWN_BOOKING: txt('learnDanish.bookingErrors.ownBooking'),\r\n\t\t\tDOUBLE_BOOKING: txt('learnDanish.bookingErrors.doubleBook'),\r\n\t\t\tDATE_EXPIRED: txt('learnDanish.bookingErrors.dateExpired'),\r\n\t\t\tTIMEFRAME_OCCUPIED: txt('learnDanish.bookingErrors.timeframeOccupied'),\r\n\t\t\tVOLUNTEER_IS_ALREADY_IN_TIMEFRAME: txt('learnDanish.bookingErrors.volunteerInTimeframe'),\r\n\t\t\tVOLUNTEER_LIMIT_REACHED: txt('learnDanish.bookingErrors.volunteerLimitReached'),\r\n\t\t}\r\n\r\n\t\tconst { err_code } = await bookSession(sessionId)\r\n\r\n\t\tif (err_code !== undefined) {\r\n\t\t\tconst errorMessageText = ERR_ENUMS[err_code] ?? bookingErrors.unknown\r\n\t\t\tsetShowSnackbar(true)\r\n\t\t\treturn setErrorMessage(errorMessageText)\r\n\t\t}\r\n\r\n\t\tgetBookedSessions()\r\n\t\tgetAvailableDates()\r\n\t}\r\n\r\n\tasync function onJuniorWaitlistPress() {\r\n\t\tconst didUpdate = await addToJuniorWaitList()\r\n\t\tif (didUpdate) {\r\n\t\t\tsetJuniorWaitlistVisible(false)\r\n\t\t\tsetIsOnJuniorWaitlist(true)\r\n\t\t}\r\n\t}\r\n\r\n\tasync function onWaitlistPress() {\r\n\t\tconst didUpdate = await addToWaitList()\r\n\t\tif (didUpdate) {\r\n\t\t\tsetWaitlistVisible(false)\r\n\t\t\tsetIsOnWaitlist(true)\r\n\t\t}\r\n\t}\r\n\r\n\tfunction handleCategoryPress(categoryId) {\r\n\t\tsetClickedCategoryId(categoryId)\r\n\t\tsetSessionCategoryDialogVisible(true)\r\n\t}\r\n\r\n\tasync function handlePressVolunteer(volunteerId, volunteerName) {\r\n\t\tif (!volunteerId) return\r\n\t\tconst volunteerProfile = await getVolunteerProfile(volunteerId)\r\n\t\tsetVolunteerProfile({ description: volunteerProfile?.description, volunteerName })\r\n\t\tsetVolunteerProfileVisible(true)\r\n\t}\r\n\r\n\tfunction noSessionsText() {\r\n\t\tif ((isOnWaitlist && !juniorId) || (isOnJuniorWaitlist && juniorId)) return txt('learnDanish.waitlist.alreadyOnWaitlist')\r\n\t\tif (juniorId) return txt('learnDanish.noAvailableJuniorSessions')\r\n\t\treturn txt('learnDanish.noAvailableSessions')\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{availableDates.length === 0 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{juniorId ?\r\n\t\t\t\t\t\t\ttxt('learnDanish.waitlist.title') :\r\n\t\t\t\t\t\t\ttxt('videoChat.availableSessions')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{noSessionsText()}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{juniorId && !isOnJuniorWaitlist && (\r\n\t\t\t\t\t\t setJuniorWaitlistVisible(true)}\r\n\t\t\t\t\t\t\ttitleStyle={{ ...TypographyStyles.textSmallBold }}\r\n\t\t\t\t\t\t\tstyle={[styles.button, { marginTop: 24 }]}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{/* {sessionCount < 1 && !juniorId && !isOnWaitList && (\r\n\t\t\t\t\t\t setWaitlistVisible(true)}\r\n\t\t\t\t\t\t\ttitleStyle={{ ...TypographyStyles.textSmallBold }}\r\n\t\t\t\t\t\t\tstyle={[styles.button, { marginTop: 24 }]}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)} */}\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('videoChat.availableSessions')}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{data.map((item, key) => {\r\n\t\t\t\tif (item.dropdownActive) {\r\n\t\t\t\t\tlet itemArray\r\n\t\t\t\t\tif (item.availableSessions.length !== 0) {\r\n\t\t\t\t\t\t// Render each date\r\n\t\t\t\t\t\titemArray = item.availableSessions.map((session, index) => {\r\n\t\t\t\t\t\t\t// Create smaller marginTop on (index == 0), and borderTop on (index > 0) (for visual purposes)\r\n\t\t\t\t\t\t\tconst sessionBoxProps = index === 0 ? { marginTop: 10 } : styles.sessionBoxProps\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{formatDate(session.start_date, 'dddd [d.] DD/MM [kl.] HH:mm')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handlePressVolunteer(session.volunteerId, session.username)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{session.categories?.map((id, key) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t handleCategoryPress(id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\taccessibilityRole=\"button\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={key}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t handleBookSession(session.id)}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t setShowSnackbar(false)}\r\n\t\t\t\t\t\t\t\t\t\ttext={errorMessage}\r\n\t\t\t\t\t\t\t\t\t\tduration={5000}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t// Expanded view\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t toggleDropDown(key)}\r\n\t\t\t\t\t\t\t\tactiveOpacity={0.8}\r\n\t\t\t\t\t\t\t\taccessibilityRole=\"button\"\r\n\t\t\t\t\t\t\t\taccessibilityLabel={txt('videoChat.availableSessionsHideLabel')}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{formatDate(item.date, 'dddd[,] DD[.] MMMM YYYY')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{itemArray}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t// Collapsed view\r\n\t\t\t\t\t toggleDropDown(key)}\r\n\t\t\t\t\t\tactiveOpacity={0.8}\r\n\t\t\t\t\t\tstyle={styles.dropdownContainer}\r\n\t\t\t\t\t\taccessibilityRole=\"button\"\r\n\t\t\t\t\t\taccessibilityLabel={txt('videoChat.availableSessionsLabel')}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{formatDate(item.date, 'dddd[,] DD[.] MMMM YYYY')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t})}\r\n\t\t\t setSurveyPromptVisible(false)}\r\n\t\t\t/>\r\n\t\t\t setJuniorWaitlistVisible(false)}\r\n\t\t\t\tsubmit={() => onJuniorWaitlistPress()}\r\n\t\t\t/>\r\n\t\t\t setWaitlistVisible(false)}\r\n\t\t\t\tsubmit={() => onWaitlistPress()}\r\n\t\t\t/>\r\n\t\t\t setSessionCategoryDialogVisible(false)}\r\n\t\t\t\tcategoryId={clickedCategoryId}\r\n\t\t\t/>\r\n\t\t\t setVolunteerProfileVisible(false)}\r\n\t\t\t\tusername={volunteerProfile?.volunteerName}\r\n\t\t\t\tdescription={volunteerProfile?.description}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tbutton: {\r\n\t\twidth: 150,\r\n\t\tpaddingHorizontal: 8,\r\n\t},\r\n\tcontainer: {\r\n\t\tmargin: 10,\r\n\t},\r\n\tdropdownContainer: {\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tborderRadius: 2,\r\n\t\tmarginTop: 10,\r\n\t\tpadding: 10,\r\n\t\t...ShadowStyles.liftedShadow,\r\n\t},\r\n\tflexRow: {\r\n\t\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\ticon: {\r\n\t\talignSelf: 'center',\r\n\t\tmarginLeft: 'auto'\r\n\t},\r\n\tnoSession: {\r\n\t\tcolor: Colors.inactive,\r\n\t\tmarginTop: 10,\r\n\t\ttextAlign: 'center',\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tpadding: 10,\r\n\t\tborderRadius: 2,\r\n\t\t...ShadowStyles.liftedShadow,\r\n\t},\r\n\ttitleBold: {\r\n\t\ttextAlign: 'center',\r\n\t},\r\n\tsessionBoxProps: {\r\n\t\tborderTopWidth: 1,\r\n\t\tborderColor: Colors.shadow,\r\n\t\tmarginTop: 10,\r\n\t\tpaddingTop: 10,\r\n\t},\r\n})\r\n","import React from 'react'\r\nimport { View, StyleSheet, Linking } from 'react-native'\r\nimport { ContentContainer, ScrollableDialog } from '../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport Colors from '../../../constants/Colors'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function BehaviorDialog({ visible, close }) {\r\n return (\r\n \r\n \r\n \r\n {txt('learnDanish.help.label')}\r\n \r\n \r\n {txt('learnDanish.help.description1')}\r\n Linking.openURL('mailto:nyren@rodekors.dk')}>\r\n {txt('learnDanish.help.supportMail')}\r\n \r\n Linking.openURL(`tel:${+4524912771}`)}>\r\n {'/ \\u200B24\\u00A091\\u00A027\\u00A071'}\r\n \r\n {txt('learnDanish.help.description2')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n // \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n linkText: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import { Keyboard, ScrollView, StyleSheet, TextInput, View } from \"react-native\"\r\nimport CustomDialog, { ContentContainer } from \"./CustomDialog\"\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\nimport NormalIcon from \"../icons/NormalIcon\"\r\nimport { CustomText } from \"../text/StyledText\"\r\nimport { txt } from \"../../locales/i18n\"\r\nimport { ButtonPrimary } from \"../buttons/StyledButtons\"\r\nimport React, { useEffect, useRef, useState } from \"react\"\r\nimport { getCountriesList, setUserCountry } from \"../../services/api/LearnDanish\"\r\nimport Colors from \"../../constants/Colors\"\r\nimport { TypographyStyles } from \"../../styles\"\r\n\r\nexport const SproglandCountryDialog = ({ countryDialogVisible, setCountryDialogVisible }) => {\r\n\tconst [countries, setCountries] = useState([])\r\n\tconst [suggestions, setSuggestions] = useState([])\r\n\tconst [selectedCountry, setSelectedCountry] = useState('')\r\n\tconst [selectedCountryCode, setSelectedCountryCode] = useState('')\r\n\r\n\tconst timeout = useRef(null)\r\n\r\n\tuseEffect(() => {\r\n\t\tgetCountriesList().then(setCountries)\r\n\t}, []);\r\n\r\n\tfunction getCountrySuggestions(value) {\r\n\t\tif (value === '') return countries\r\n\t\treturn countries.filter((country) => {\r\n\t\t\treturn country?.countryName?.toLowerCase().includes(value.toLowerCase()) || country?.countryCode?.toLowerCase().includes(value.toLowerCase())\r\n\t\t})\r\n\t}\r\n\r\n\tasync function handleSelectedCountryChange(value) {\r\n\t\tclearTimeout(timeout.current)\r\n\t\tsetSelectedCountry(value)\r\n\t\ttimeout.current = setTimeout(async () => {\r\n\t\t\tconst suggestionList = getCountrySuggestions(value)\r\n\t\t\tsetSuggestions(suggestionList)\r\n\t\t}, 800)\r\n\t}\r\n\r\n\tasync function handleSuggestionClick(suggestion) {\r\n\t\tsetSelectedCountry(suggestion.countryName)\r\n\t\tsetSelectedCountryCode(suggestion.countryCode)\r\n\t\tsetSuggestions([])\r\n\t\tKeyboard.dismiss()\r\n\t}\r\n\r\n\tasync function handleClearSuggestion() {\r\n\t\tsetSelectedCountry('')\r\n\t\tsetSelectedCountryCode('')\r\n\t\tsetSuggestions(countries)\r\n\t}\r\n\r\n\tfunction renderSuggestions() {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{suggestions?.map((suggestion, index) => {\r\n\t\t\t\t\tconst borderWidth = index !== suggestions.length - 1 ? 1 : 0\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t handleSuggestionClick(suggestion)}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{suggestion?.countryName}\r\n\t\t\t\t\t\t\t{suggestion?.countryCode}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tasync function handleSubmitCountry() {\r\n\t\tawait setUserCountry(selectedCountryCode)\r\n\t\tsetCountryDialogVisible(false)\r\n\t}\r\n\r\n\treturn (\r\n\t\t Keyboard.dismiss()}>\r\n\t\t\t setCountryDialogVisible(false)} style={styles.icon}>\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{txt('learnDanish.user.countryDialog.title')}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t handleSelectedCountryChange(item)}\r\n\t\t\t\t\t\tonFocus={() => {\r\n\t\t\t\t\t\t\tif (selectedCountry === '') setSuggestions(countries)\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{selectedCountry !== '' && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t{suggestions?.length > 0 && renderSuggestions()}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t{txt('learnDanish.user.countryDialog.submit')}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\ttitle: {\r\n\t\tpaddingVertical: 12,\r\n\t\tmarginVertical: 18,\r\n\t\ttextAlign: 'center',\r\n\t},\r\n\tinputContainer: {\r\n\t\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t\tborderWidth: 1,\r\n\t\tborderColor: Colors.blackTransparent,\r\n\t\tborderRadius: 6,\r\n\t},\r\n\tinput: {\r\n\t\t...TypographyStyles.text,\r\n\t\tpadding: 10,\r\n\t\tflex: 1,\r\n\t},\r\n\tsuggestion: {\r\n\t\tborderBottomColor: Colors.blackTransparent,\r\n\t\tpaddingVertical: 12,\r\n\t\tpaddingHorizontal: 6,\r\n\t\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tsuggestionsContainer: {\r\n\t\twidth: '100%',\r\n\t\tmaxHeight: 150,\r\n\t},\r\n\ticon: {\r\n\t\tposition: 'absolute',\r\n\t\tright: 16,\r\n\t\ttop: 14,\r\n\t\tpadding: 6,\r\n\t\tbackgroundColor: Colors.greyLightLight,\r\n\t\tborderRadius: 8,\r\n\t\tzIndex: 10,\r\n\t},\r\n\tbutton: {\r\n\t\tmarginBottom: 24,\r\n\t\tborderRadius: 6,\r\n\t\tbackgroundColor: Colors.blueAzure,\r\n\t\tpaddingHorizontal: 24,\r\n\t}\r\n})","import React, { useEffect, useState } from 'react'\r\nimport { Pressable, StyleSheet, View } from 'react-native'\r\nimport * as Linking from 'expo-linking'\r\n\r\nimport { Map } from '../../maps/map'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { CornerStyles } from '../../../styles'\r\nimport { txt } from '../../../locales/i18n'\r\n\r\nconst getCafeLocations = () => [\r\n\t{\r\n\t\tlat: 56.7239828600836, \r\n\t\tlng: 10.13485626898360,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Hadsund',\r\n\t\t\taddress: 'Hadsund skole, Stadionvej 5, 9560 Hadsund',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.71877312238853,\r\n\t\tlng: 10.117750053332717,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Hadsund',\r\n\t\t\taddress: 'Mariagerfjord Frivilligcenter, Kirkegade 4, 9560 Hadsund',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.95353738648944,\r\n\t\tlng: 8.685675455188836,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Thisted',\r\n\t\t\taddress: 'Kongensgade 10, 7700 Thisted',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 57.32127006315328,\r\n\t\tlng: 10.511834646252893,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Sæby',\r\n\t\t\taddress: 'Sæby Skole',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.students at Saeby School'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 57.588827934222394,\r\n\t\tlng: 9.965265679102211,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Hirtshals',\r\n\t\t\taddress: 'Hirtshals Skole',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.students at Hirtshals School'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 57.26944594519252,\r\n\t\tlng: 9.94894259141664,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Brønderslev',\r\n\t\t\taddress: 'Aktivitetscenter Grønningen / Bien, Bredgade 55, 9700 Brønderslev',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adult ukrainians'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.09037401149546,\r\n\t\tlng: 8.247055853300655,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Ringkøbing',\r\n\t\t\taddress: 'Østergade 22, 6950 Ringkøbing',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.46139359922162,\r\n\t\tlng: 10.028851370503231,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Randers',\r\n\t\t\taddress: 'Sprogcenter Randers, Vestergade 34, 8900 Randers C',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.3744110220317,\r\n\t\tlng: 9.658061010984843,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Bjerringbro',\r\n\t\t\taddress: 'Byens Hus, Banegårdspladsen, 8850 Bjerringbro',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.452617392827584,\r\n\t\tlng: 9.408335055163231,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Viborg',\r\n\t\t\taddress: 'De Frivilliges Hus, Ll. Sankt Hans Gade 7, 8800 Viborg',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.142131476388435,\r\n\t\tlng: 9.153291655147475,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Ikast',\r\n\t\t\taddress: 'Ikast Bibliotek, Grønnegade 25, 7430 Ikast',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.413994859100534,\r\n\t\tlng: 10.889036055161258,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Nørre-Djurs',\r\n\t\t\taddress: 'Østerbrogade 24, 8500 Grenaa',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.26343415133499,\r\n\t\tlng: 10.061290897483898,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Hinnerup',\r\n\t\t\taddress: 'Jernbanegade 1, 1. sal, 8382 Hinnerup',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\t\r\n\t{\r\n\t\tlat: 56.24930071254426,\r\n\t\tlng: 9.86584522663215,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Hammel',\r\n\t\t\taddress: 'Søndervangsvej 3, 8450 Hammel',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.165805656803215, \r\n\t\tlng: 10.13280629983559,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Aarhus',\r\n\t\t\taddress: 'Edwin Rahrs Vej 32P, 8220 Brabrand',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.97089852934103,\r\n\t\tlng: 10.15392755329458,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Odder',\r\n\t\t\taddress: 'Vita Park 61-65, I spisestuen, 8300 Odder',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.223441043324215,\r\n\t\tlng: 10.126601583935953,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Haarby',\r\n\t\t\taddress: 'Algade 16, 5683 Haarby',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and women'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.45965120150974,\r\n\t\tlng: 9.875865326278083,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Nørre Aaby',\r\n\t\t\taddress: 'Østergade 16, 5580 Nørre Åby',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.045514491905735, \r\n\t\tlng: 9.416282497738562,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Aabenraa',\r\n\t\t\taddress: 'NygadeHuset, Nygade 23a, 6200 Aabenraa',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 54.91243181239918,\r\n\t\tlng: 9.79280006858089,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Sønderborg',\r\n\t\t\taddress: 'Perlegade 50, 6400 Sønderborg',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.05302875784226,\r\n\t\tlng: 9.74538616636997,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Sønderborg',\r\n\t\t\taddress: '6430 Nordborg - For adresse kontakt Røde Kors',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.76464931280692,\r\n\t\tlng: 8.918599041632955,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Grindsted',\r\n\t\t\taddress: 'Nymarksvej 10, 7200 Grindsted',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.59888451595822,\r\n\t\tlng: 8.806603392591711,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Helle',\r\n\t\t\taddress: 'Kærbjervej 7, 6753 Agerbæk',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.27455662202527,\r\n\t\tlng: 9.903384595589765,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Assens',\r\n\t\t\taddress: 'Peter Willemoesskolen Skelvej 29, 5610 Assens',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 54.93649458963163,\r\n\t\tlng: 10.719108410912387,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Langeland',\r\n\t\t\taddress: 'Fredensvej 1, 5900 Rudkøbing',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.70437499801564,\r\n\t\tlng: 9.53026083978576,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Vejle',\r\n\t\t\taddress: 'Damhaven 3A, 7100 Vejle',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.40128530982247,\r\n\t\tlng: 10.385301739770567,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Odense',\r\n\t\t\taddress: 'Røde Kors Netværkshuset, Østre Stationsvej 33, 5000 Odense C',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.41321439789164,\r\n\t\tlng: 10.438576510936247,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Odense',\r\n\t\t\taddress: 'Bøgeparken 78, 5240 Odense NØ',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.34714627338616, \r\n\t\tlng: 10.181120197752971,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Vissenbjerg',\r\n\t\t\taddress: 'Tallerupvej 22, 5690 Tommerup',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.677923559932026,\r\n\t\tlng: 11.089005941628546,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Kalundborg',\r\n\t\t\taddress: 'Banegårdspladsen 2, 4400 Kalundborg',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.40572626730304,\r\n\t\tlng: 11.352583268605636,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Slagelse',\r\n\t\t\taddress: 'Jernbanegade 7, 4200 Slagelse',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.65532924842255,\r\n\t\tlng: 12.050009855122786,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Roskilde',\r\n\t\t\taddress: 'Villa d’Este, Bistrup Alle 49, 4000 Roskilde',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children at Sankt Hans'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 54.77501379150119,\r\n\t\tlng: 11.4980487109043,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Midtlolland',\r\n\t\t\taddress: 'Suhrsgade 4, 4930 Maribo',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.31271219387127,\r\n\t\tlng: 12.389573522582431,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Stevns',\r\n\t\t\taddress: 'Kirketorvet 2, 4660 Store Heddinge',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 54.8318208257182,\r\n\t\tlng: 11.14173035508154,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Vestlolland',\r\n\t\t\taddress: 'Øster Boulevard 1, 4900 Nakskov',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.01108144807274,\r\n\t\tlng: 11.90581597141818,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Vordingborg',\r\n\t\t\taddress: 'Algade 43, 4760 Vordingborg',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.255828390586835,\r\n\t\tlng: 12.118233655102753,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Faxe',\r\n\t\t\taddress: 'Rønnedevej 4, 4640 Faxe',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.120510202598595,\r\n\t\tlng: 12.03859686859129,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Præstø',\r\n\t\t\taddress: 'Priesesstræde 7, 4720 Præstø',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.21142047844547,\r\n\t\tlng: 11.766127509081912,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Næstved-Fuglebjerg',\r\n\t\t\taddress: 'Parkvej 101, 4700 Næstved',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.17911532016813,\r\n\t\tlng: 11.975332066750079,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Næstved-Fuglebjerg',\r\n\t\t\taddress: 'Korskildevej 2A, 4733 Tappernøje',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 54.77000285366457,\r\n\t\tlng: 11.869997999252874,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Nykøbing Falster/Sydfalster',\r\n\t\t\taddress: 'Kongensgade 43, 4800 Nykøbing Falster',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.72969440095002,\r\n\t\tlng: 12.359547812796324,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Ballerup',\r\n\t\t\taddress: 'Banegårdspladsen 1, 2750 Ballerup',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.67005033482582,\r\n\t\tlng: 12.450712824444546,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Rødovre',\r\n\t\t\taddress: 'Cafébiblioteket, Nørrekær 8, 2610 Rødovre',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.6139879401707,\r\n\t\tlng: 12.355971953276581,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Ishøj-Vallensbæk',\r\n\t\t\taddress: 'Ishøj Store Torv, 2. sal lok. 23, 2635 Ishøj',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.456391912568456,\r\n\t\tlng: 12.179696366764018,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Køge',\r\n\t\t\taddress: 'Vestergade 3C, 4600 Køge',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.48039732252041,\r\n\t\tlng: 12.17644441278378,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Køge',\r\n\t\t\taddress: 'CID, Ølbycenter 53, 4600 Køge',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.868780251033165,\r\n\t\tlng: 12.346821041638204,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Allerød',\r\n\t\t\taddress: 'Gl Lyngevej 18 A C, 3450 Lillerød',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.816167961233525,\r\n\t\tlng: 12.378602239791402,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Furesø',\r\n\t\t\taddress: 'Paltholmterrasserne 1, 3520 Farum',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.9738465336253,\r\n\t\tlng: 12.018139083973741,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Halsnæs',\r\n\t\t\taddress: 'Valseværksstræde 5, 3300 Frederiksværk',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.72547309919318,\r\n\t\tlng: 12.435558726606866,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Herlev',\r\n\t\t\taddress: 'Herlev Bibliotek, Herlev Bygade 70, 2730 Herlev',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.82728458773198,\r\n\t\tlng: 12.531455057392776,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Søllerød',\r\n\t\t\taddress: 'Egebækvej 80, 2850 Nærum',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n]\r\n\r\nexport const CafeMap = () => {\r\n\tconst [location, setLocation] = useState(null)\r\n\tconst [locations, setLocations] = useState([])\r\n\r\n\tuseEffect(() => {\r\n\t\tconst locations = getCafeLocations().map((location, index) => ({ ...location, id: index }))\r\n\t\tconst timeout = setTimeout(() => setLocations(locations), 100)\r\n\t\treturn () => clearTimeout(timeout)\r\n\t}, [])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{txt('learnDanish.cafe.title')}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t setLocation(null)} noCluster />\r\n\r\n\t\t\t\t{location && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('learnDanish.cafe.department')}: {location?.details?.department}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{location?.details?.address}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('learnDanish.cafe.audience')}: {location?.details?.audience}\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t{location?.details?.contact && (\r\n\t\t\t\t\t\t\t Linking.openURL('mailto:' + location?.details?.contact)}\r\n\t\t\t\t\t\t\t\taccessibilityRole=\"link\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{location?.details?.contact}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: {\r\n\t\tflex: 1,\r\n\t\tmargin: 10,\r\n\t\tminHeight: 420,\r\n\t},\r\n\r\n\ttitle: {\r\n\t\tmarginTop: 12,\r\n\t\ttextAlign: 'center',\r\n\t},\r\n\r\n\tlocation: {\r\n\t\tposition: 'absolute',\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tpadding: 16,\r\n\t\tmargin: 16,\r\n\t\tbottom: 0,\r\n\t\tleft: 0,\r\n\t\tright: 0,\r\n\t\t...CornerStyles.borderRadiusS,\r\n\t},\r\n\r\n\tcontact: {\r\n\t\tcolor: Colors.blueAzure,\r\n\t},\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { Image, Linking, StyleSheet, View } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport { getAvailableDates, getUserCountry } from '../../../services/api/LearnDanish'\r\nimport BookedSessions from '../LearnDanish/BookedSessions'\r\nimport { AvailableSessions } from '../LearnDanish/AvailableSessions'\r\nimport { useNavigation } from '@react-navigation/native'\r\nimport { URLOpener } from '../../../utils/URLOpener'\r\nimport BehaviorDialog from './BehaviorDialog'\r\nimport PhoneInputForm from '../../formElements/PhoneInputForm'\r\nimport OptionsDialog from '../../dialogs/OptionsDialog'\r\nimport { ShadowStyles, TypographyStyles } from '../../../styles'\r\nimport { useSelector } from 'react-redux'\r\nimport Layout from '../../../constants/Layout'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Colors from '../../../constants/Colors'\r\nimport { dropShadow } from '../../../styles/shadows'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport { SproglandCountryDialog } from \"../../dialogs/SproglandCountryDialog\"\r\nimport { CafeMap } from './CafeMap'\r\n\r\nexport default function SproglandUserView({ getBookedSessions, bookedSessions, bookSession, juniorId }) {\r\n const navigation = useNavigation()\r\n const [availableDates, setAvailableDates] = useState([])\r\n const [showHelpPopup, setShowHelpPopup] = useState(false)\r\n const [optionsVisible, setOptionsVisible] = useState(false)\r\n const phoneNumber = useSelector((state) => state.user?.phone)\r\n const [countryDialogVisible, setCountryDialogVisible] = useState(false)\r\n\r\n useEffect(() => {\r\n fetchAvailableDates()\r\n getUserCountry().then((country) => {\r\n if (!country) setCountryDialogVisible(true)\r\n })\r\n }, []);\r\n\r\n function navigateToConversation(conversationId) {\r\n navigation.navigate('InboxStack', {\r\n screen: 'Conversation',\r\n initial: false,\r\n params: { id: conversationId },\r\n })\r\n }\r\n\r\n function navigateToNewConversation(userId, sessionId) {\r\n navigation.navigate('InboxStack', {\r\n screen: 'Conversation',\r\n initial: false,\r\n params: {\r\n id: 'new',\r\n receiverId: userId,\r\n slSessionId: sessionId,\r\n },\r\n })\r\n }\r\n\r\n async function fetchAvailableDates() {\r\n const dates = await getAvailableDates(juniorId);\r\n const updatedArray = dates.map(item => ({ ...item, dates: [], dropdownActive: false }));\r\n setAvailableDates(updatedArray);\r\n }\r\n\r\n function toggleModal() {\r\n setShowHelpPopup((prev) => !prev)\r\n }\r\n\r\n const junior = {\r\n label: txt(`learnDanish.guide.linkTextJunior`),\r\n icon: \"info-circle\",\r\n action: async () => {\r\n await URLOpener(`https://filer.boblberg.dk/Files/Guides/guide_sprogland_junior_dansk.pdf`)\r\n setOptionsVisible(false)\r\n },\r\n }\r\n\r\n const guideEnglish = {\r\n label: txt(`learnDanish.guide.linkTextEnglish`),\r\n icon: \"info-circle\",\r\n action: async () => {\r\n await URLOpener(`https://filer.boblberg.dk/Files/Guides/guide_sprogland_english.pdf`)\r\n setOptionsVisible(false)\r\n },\r\n }\r\n\r\n const guideDanish = {\r\n label: txt(`learnDanish.guide.linkTextDanish`),\r\n icon: \"info-circle\",\r\n action: async () => {\r\n await URLOpener(`https://filer.boblberg.dk/Files/Guides/guide_sprogland_dansk.pdf`)\r\n setOptionsVisible(false)\r\n },\r\n }\r\n\r\n const dictionary = {\r\n label: txt('learnDanish.volunteer.materials.dictionary'),\r\n icon: \"book\",\r\n action: async () => {\r\n await URLOpener('https://filer.boblberg.dk/Files/Sprogland/Ukrainian-Danish-English-dictionary.pdf')\r\n setOptionsVisible(false)\r\n },\r\n }\r\n\r\n const behavior = {\r\n label: txt('learnDanish.help.label'),\r\n icon: \"shield\",\r\n action: async () => {\r\n toggleModal()\r\n setOptionsVisible(false)\r\n },\r\n }\r\n\r\n const options = [\r\n {\r\n label: txt('learnDanish.guide.faq'),\r\n icon: \"question-circle\",\r\n action: async () => {\r\n await URLOpener(`https://boblberg.dk/sprogland/faq`)\r\n setOptionsVisible(false)\r\n },\r\n },\r\n ]\r\n\r\n if (juniorId) options.push(junior)\r\n if (!juniorId) options.push(guideEnglish, guideDanish)\r\n options.push(dictionary)\r\n options.push(behavior)\r\n\r\n return (\r\n \r\n {(phoneNumber === 0 || !phoneNumber) && (\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('learnDanish.user.help')}\r\n \r\n \r\n \r\n \r\n {txt('learnDanish.user.helpText')}\r\n Linking.openURL(juniorId ? 'mailto:sproglandjunior@rodekors.dk' : 'mailto:sprogland@rodekors.dk')}>\r\n \r\n {juniorId ? 'sproglandjunior@rodekors.dk' : 'sprogland@rodekors.dk'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('learnDanish.user.reference')}\r\n \r\n \r\n \r\n \r\n {txt('learnDanish.user.referenceText')}\r\n URLOpener('https://www.rodekors.dk/sprogunivers/vidensbank')}>\r\n \r\n {txt('learnDanish.user.referenceLink')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\t\t\t\r\n\r\n \r\n \r\n \r\n setOptionsVisible(true)}\r\n titleStyle={{ ...TypographyStyles.textSmall }}\r\n style={[styles.button, { marginTop: 12 }]}\r\n />\r\n setOptionsVisible(false)}\r\n options={options}\r\n font=\"smallBold\"\r\n />\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n sessionContainer: {\r\n alignSelf: 'stretch',\r\n marginBottom: 20,\r\n },\r\n button: {\r\n width: 150,\r\n paddingHorizontal: 8,\r\n },\r\n layout: {\r\n flexDirection: 'row',\r\n justifyContent: 'space-around',\r\n },\r\n element: {\r\n width: '100%',\r\n minWidth: 500,\r\n maxWidth: 900,\r\n },\r\n item: {\r\n backgroundColor: Colors.white,\r\n borderRadius: 2,\r\n marginTop: 10,\r\n padding: 10,\r\n ...ShadowStyles.liftedShadow,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n badge: {\r\n borderRadius: 70,\r\n backgroundColor: Colors.redCrossRed,\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n alignSelf: 'flex-end',\r\n ...dropShadow,\r\n position: 'absolute',\r\n right: 10,\r\n zIndex: 10,\r\n },\r\n badgeBig: {\r\n width: Layout.isSmallDevice ? 120 : 140,\r\n height: Layout.isSmallDevice ? 120 : 140,\r\n top: -170,\r\n },\r\n badgeText: {\r\n color: Colors.white,\r\n textAlign: 'center',\r\n lineHeight: 24,\r\n marginTop: Layout.isSmallDevice ? 6 : 12\r\n },\r\n})\r\n","import Colors from '../../constants/Colors'\r\nimport { Dimensions, Image, StyleSheet } from 'react-native'\r\nimport NormalIcon from '../../components/icons/NormalIcon'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport React from 'react'\r\nimport CustomPressable from \"../../components/pressables/CustomPressable\"\r\n\r\nconst logoNoCross = 'https://filer.boblberg.dk/Assets/Img/sprogland/sprogland-logo-i-samarbejde-med-no-cross.png'\r\nconst logo = 'https://filer.boblberg.dk/Assets/Img/sprogland/sprogland-logo-i-samarbejde-med.png'\r\nconst juniorLogo = 'https://filer.boblberg.dk/Assets/Img/sprogland/sprogland-junior-logo.png'\r\n\r\nconst { width } = Dimensions.get('window')\r\nconst small = width < 800\r\n\r\nexport const sproglandHeaderBackImage = (navigation) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport const sproglandHeaderTitle = (cross) => (\r\n \r\n)\r\n\r\nexport const sproglandJuniorHeaderTitle = () => (\r\n \r\n)\r\n\r\nexport const sproglandHeaderStyle = {\r\n backgroundColor: Colors.redCrossBackground,\r\n elevation: 0,\r\n shadowOpacity: 0,\r\n borderBottomWidth: 0,\r\n height: small ? 140 : 120,\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n logo: {\r\n height: 70,\r\n width: 200,\r\n },\r\n logoNoCross: {\r\n height: 40,\r\n width: 200,\r\n },\r\n logoBig: {\r\n height: 80,\r\n width: 200,\r\n },\r\n logoBigNoCross: {\r\n height: 50,\r\n width: 200,\r\n },\r\n juniorLogo: {\r\n height: 70,\r\n width: 225,\r\n },\r\n juniorLogoBig: {\r\n height: 80,\r\n width: 250,\r\n },\r\n})","import React, { useEffect, useState } from 'react'\r\nimport { Image, View, StyleSheet, Dimensions } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport { bookSession, getBookedSessions } from '../../../services/api/LearnDanish'\r\nimport TxtTMD from '../../../constants/TxtTMD'\r\nimport PageTitle from '../../../components/tags/PageTitle'\r\nimport MainContainer from '../../MainContainer/MainContainer'\r\nimport SproglandUserView from '../Sprogland/SproglandUserView'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport {\r\n sproglandHeaderBackImage,\r\n sproglandHeaderStyle,\r\n sproglandHeaderTitle,\r\n} from '../../../screens/LearnDanish/SproglandOptions'\r\n\r\nconst { width } = Dimensions.get('window')\r\nconst small = width < 800\r\n\r\nexport default function SproglandOversigt() {\r\n const [bookedSessions, setBookedSessions] = useState([])\r\n const navigation = useNavigation()\r\n\r\n useEffect(() => {\r\n navigation.setOptions({\r\n headerBackTitle: small && ' ',\r\n headerBackTitleStyle: { color: Colors.text, fontFamily: 'raleway-regular' },\r\n headerBackImage: () => sproglandHeaderBackImage(navigation),\r\n headerTitle: () => sproglandHeaderTitle(true),\r\n headerStyle: sproglandHeaderStyle,\r\n })\r\n }, [])\r\n\r\n const book = (sessionId) => {\r\n return bookSession(sessionId)\r\n }\r\n\r\n const loadBookedSessions = async () => {\r\n const bookedSessions = await getBookedSessions()\r\n setBookedSessions(bookedSessions)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n sessionContainer: { alignSelf: 'stretch', marginBottom: 20 },\r\n widthHeight: {\r\n flex: 1,\r\n width: '100%',\r\n alignSelf: 'center',\r\n },\r\n bannerImage: {\r\n alignSelf: 'center',\r\n width: width,\r\n height: 125,\r\n marginVertical: 24,\r\n },\r\n})\r\n","import React from 'react'\r\nimport CreateEditPost from '../../components/views/Post/CreateEditPost'\r\nimport TxtTMD from '../../constants/TxtTMD'\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { createPost } from '../../services/api/Posts'\r\n\r\nexport default function CreatePostScreen() {\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","import { CustomText } from '../../text/StyledText'\r\nimport CustomDialog, {\r\n ActionButton,\r\n ContentContainer,\r\n} from '../../dialogs/CustomDialog'\r\nimport React from 'react'\r\nimport { txt } from '../../../locales/i18n'\r\n\r\nconst ConfirmLeaveDialog = (props) => (\r\n \r\n \r\n {txt('conversations.Leave.body')}\r\n \r\n \r\n {txt('conversations.Leave.confirm')}\r\n \r\n \r\n {txt('conversations.Leave.cancel')}\r\n \r\n \r\n)\r\n\r\nexport default ConfirmLeaveDialog\r\n","import { Image, StyleSheet, View } from 'react-native'\r\nimport Paths from '../../constants/Paths'\r\nimport React from 'react'\r\n\r\n// size = ['small'|'large']\r\n\r\nexport default function ImgHighlightChristmas({ type, imgFilename, size = ''}) {\r\n let borderSource\r\n if (type === 'host') borderSource = require('../../assets/images/Julevenner/Julehus_sign.png')\r\n else if (type === 'guest') borderSource = require('../../assets/images/Julevenner/Julekrans_sign.png')\r\n else borderSource = require('../../assets/images/Julevenner/Julekrans.png')\r\n\r\n const imgBaseUrl = type === 'group' ? Paths.groupUrlBase : Paths.imageUrlBaseJV\r\n \r\n const imgSource = imgFilename\r\n ? { uri: imgBaseUrl + imgFilename }\r\n : require('../../assets/images/Julevenner/Julevenner_logo.png')\r\n\r\n if (type === 'group') type = 'guest'\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n imageContainer: {\r\n width: 100,\r\n height: 100,\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n imageContainerlarge: {\r\n width: 200,\r\n height: 200,\r\n },\r\n imageContainersmall: {\r\n width: 33,\r\n height: 33,\r\n },\r\n imageContainermedium: {\r\n width: 66,\r\n height: 66,\r\n },\r\n hostImage: {\r\n marginTop: 3,\r\n width: 67,\r\n height: 67,\r\n borderTopRightRadius: 20,\r\n borderTopLeftRadius: 20,\r\n },\r\n hostImagelarge: {\r\n marginTop: 6,\r\n width: 134,\r\n height: 134,\r\n borderTopRightRadius: 40,\r\n borderTopLeftRadius: 40,\r\n },\r\n hostImagesmall: {\r\n marginTop: 1,\r\n width: 22,\r\n height: 22,\r\n borderTopRightRadius: 3,\r\n borderTopLeftRadius: 3,\r\n },\r\n hostImagemedium: {\r\n marginTop: 2,\r\n width: 44,\r\n height: 44,\r\n borderTopRightRadius: 6,\r\n borderTopLeftRadius: 6,\r\n },\r\n guestImage: {\r\n width: 75,\r\n height: 75,\r\n borderRadius: 35,\r\n },\r\n guestImagelarge: {\r\n width: 150,\r\n height: 150,\r\n borderRadius: 70,\r\n },\r\n guestImagesmall: {\r\n width: 25,\r\n height: 25,\r\n borderRadius: 12,\r\n },\r\n guestImagemedium: {\r\n width: 50,\r\n height: 50,\r\n borderRadius: 25,\r\n },\r\n imageBorder: {\r\n zIndex: 1,\r\n position: 'absolute',\r\n width: 100,\r\n height: 100,\r\n },\r\n imageBorderlarge: {\r\n width: 200,\r\n height: 200,\r\n },\r\n imageBordersmall: {\r\n width: 33,\r\n height: 33,\r\n },\r\n imageBordermedium: {\r\n width: 66,\r\n height: 66,\r\n }\r\n})\r\n","import React, { useEffect, useState, useRef } from \"react\";\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Paths from '../../../constants/Paths'\r\nimport OptionsDialog from '../../dialogs/OptionsDialog'\r\nimport { leaveConversation as leaveConversationApi } from '../../../services/api/Inbox'\r\nimport ConfirmLeaveDialog from './ConfirmLeaveDialog'\r\nimport store from '../../../redux/store'\r\nimport { removeConversation } from '../../../redux/actions'\r\nimport { NotificationBadge } from '../../icons/NotificationBadge'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport OptionButton from '../../buttons/OptionButton'\r\nimport ImgHighlightChristmas from '../../../christmasFriends/components/ImgHighlightChristmas'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function ConversationListItem(props) {\r\n const [showOptions, setShowOptions] = useState(false)\r\n const [showLeaveConfirm, setShowLeaveConfirm] = useState(false)\r\n const options = useRef([])\r\n\r\n useEffect(() => {\r\n setOptions()\r\n }, [props])\r\n\r\n function setOptions() {\r\n options.current = [\r\n {\r\n label: txt('conversations.options.see'),\r\n icon: \"info-circle\",\r\n action: () => {\r\n props.goToInformation()\r\n toggleShowOptions()\r\n },\r\n },\r\n {\r\n label: txt('conversations.options.leave'),\r\n icon: \"sign-out\",\r\n action: handleLeavePress,\r\n type: 'danger',\r\n },\r\n ]\r\n\r\n if (props.post_id || props.christmas_post_id) {\r\n options.current.unshift({\r\n label: txt('conversations.options.goto'),\r\n icon: \"chevron-right\",\r\n action: () => {\r\n props.post_id ? props.goToPost() : props.goToChristmasPost(props.christmas_post_id)\r\n toggleShowOptions()\r\n },\r\n })\r\n }\r\n if (props.group_id) {\r\n options.current.unshift({\r\n label: txt('conversations.options.gotoGroup'),\r\n icon: \"chevron-right\",\r\n action: () => {\r\n props.goToGroup(props.group_id)\r\n toggleShowOptions()\r\n },\r\n })\r\n }\r\n }\r\n\r\n const toggleShowOptions = () => {\r\n setShowOptions((prev) => !prev)\r\n }\r\n\r\n const leaveConversation = async () => {\r\n await leaveConversationApi(props.conversation_id)\r\n toggleShowLeaveConfirm()\r\n store.dispatch(removeConversation(props.conversation_id))\r\n }\r\n\r\n const toggleShowLeaveConfirm = () => {\r\n setShowLeaveConfirm((prev) => !prev)\r\n }\r\n\r\n const handleLeavePress = async () => {\r\n toggleShowOptions()\r\n toggleShowLeaveConfirm()\r\n }\r\n\r\n const announcementCheck = () => {\r\n const latestMsg = props.messages[0]\r\n if (latestMsg.user_id === props.user.id) {\r\n return txt(`conversations.ownAnnouncement.${latestMsg.announcement_id}`)\r\n } else {\r\n return `${latestMsg.username} ${txt(`conversations.announcement.${latestMsg.announcement_id}`)}`\r\n }\r\n }\r\n\r\n let imgSource\r\n if (props.post_id) {\r\n imgSource = { uri: Paths.imageUrlBase + props.image }\r\n } else if (props.group_id) {\r\n imgSource = { uri: Paths.groupUrlBase + props.image }\r\n } else if (props.sl_session_id) {\r\n imgSource = { uri: 'https://filer.boblberg.dk/Assets/Img/sprogland/sprogland_logo.jpg' }\r\n } else if (props.vs_session_id) {\r\n imgSource = { uri: 'https://filer.boblberg.dk/Assets/Img/snaksammen/snaksammen_logo.jpg' }\r\n } else {\r\n imgSource = require('../../../assets/images/bobl.png')\r\n }\r\n\r\n return (\r\n \r\n \r\n {props.christmas_post_id ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {props.unread_messages > 0 && (\r\n \r\n )}\r\n \r\n\r\n \r\n \r\n {props.title}\r\n \r\n \r\n {props.messages?.[0]?.announcement_id ? announcementCheck() : props.body}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n badge: {\r\n position: 'absolute',\r\n right: -2,\r\n top: -2,\r\n },\r\n container: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n paddingHorizontal: 12,\r\n paddingVertical: 6,\r\n },\r\n image: {\r\n borderRadius: 40,\r\n height: 66,\r\n width: 66,\r\n },\r\n text: {\r\n color: Colors.inactive,\r\n width: '100%',\r\n lineHeight: 24,\r\n },\r\n textBold: {\r\n color: Colors.text,\r\n },\r\n textContainer: {\r\n marginLeft: 12,\r\n alignSelf: 'center',\r\n flex: 1,\r\n maxHeight: 100,\r\n overflow: 'hidden',\r\n },\r\n})\r\n","import React from 'react'\r\nimport { StyleSheet } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function CreateGroupConversationItem({ onPress }) {\r\n return (\r\n \r\n \r\n {txt('conversations.create.cardTitle')}\r\n \r\n \r\n {txt('conversations.create.cardBody1')}\r\n \r\n {txt('conversations.create.cardBody2')}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n backgroundColor: Colors.whiteTransparent,\r\n marginHorizontal: 12,\r\n marginVertical: 6,\r\n padding: 12,\r\n borderRadius: 12,\r\n borderWidth: .5,\r\n borderColor: Colors.blackTransparent,\r\n },\r\n text: {\r\n color: Colors.inactive,\r\n paddingTop: 3,\r\n },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { selectUsersFromConversations } from '../../../redux/selectors'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { FlatList, StyleSheet, ScrollView, Platform } from 'react-native'\r\nimport { useSelector } from 'react-redux'\r\nimport CustomDialog from '../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { useRoute } from '@react-navigation/native'\r\nimport CreateGroupConversationItem from './CreateGroupConversationItem'\r\nimport { LogBox } from 'react-native'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function ConversationCreate(props) {\r\n const navigation = useNavigation()\r\n const route = useRoute()\r\n const users = useSelector(selectUsersFromConversations)\r\n const [showUserList, setShowUserList] = useState(false)\r\n const [selectedUsers, setSelectedUsers] = useState(new Set())\r\n const [error, setError] = useState(false)\r\n\r\n useEffect(() => {\r\n // Because we use wrap a FlatList with a ScrollView\r\n LogBox.ignoreLogs(['VirtualizedLists should never be nested'])\r\n })\r\n\r\n function selectUser(user) {\r\n setError(false)\r\n const updatedList = new Set(selectedUsers)\r\n if (updatedList.has(user.id)) {\r\n updatedList.delete(user.id)\r\n } else {\r\n updatedList.add(user.id)\r\n }\r\n setSelectedUsers(updatedList)\r\n }\r\n\r\n async function goToConversation() {\r\n const universe = route.params?.universe\r\n close()\r\n navigation.navigate('Conversation', {\r\n id: 'new',\r\n receiverIds: selectedUsers,\r\n universe: universe || null,\r\n })\r\n }\r\n\r\n function close() {\r\n setShowUserList(false)\r\n setSelectedUsers(new Set())\r\n setError(false)\r\n }\r\n\r\n function renderUser({ item }) {\r\n return (\r\n selectUser(item)}\r\n key={item.id}\r\n style={{ flexDirection: 'row', justifyContent: 'space-between', padding: 6 }}>\r\n \r\n {item.username}\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n const handleOnPress = () => {\r\n if (Platform.OS === 'web') {\r\n window.plausible('createGroupConversation', {\r\n props: { source: props.card ? 'card' : 'icon' },\r\n })\r\n }\r\n setShowUserList(true)\r\n }\r\n\r\n return (\r\n <>\r\n {props.card ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {txt('conversations.create.title')}\r\n \r\n {/* The ScrollView needs to be there for the FlatList to behave correctly */}\r\n {Platform.OS === 'web' ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n button: {\r\n padding: 6,\r\n marginHorizontal: 6,\r\n },\r\n dialog: {\r\n padding: 12,\r\n paddingTop: 18,\r\n minWidth: 300,\r\n },\r\n header: {\r\n marginBottom: 12,\r\n textAlign: 'center',\r\n },\r\n list: {\r\n flexGrow: 0,\r\n },\r\n selectIcon: {\r\n marginLeft: 24,\r\n },\r\n submitButton: {\r\n marginTop: 12,\r\n width: '100%',\r\n },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { View, Text, FlatList, Platform, StyleSheet, Pressable, Image } from 'react-native'\r\nimport ConversationListItem from './ConversationListItem'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Colors from '../../../constants/Colors'\r\nimport { SpacingStyles, TypographyStyles } from '../../../styles'\r\nimport { useSelector } from 'react-redux'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport ConversationCreate from './ConversationCreate'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { isUserVolunteer } from '../../../services/api/volunteerApi'\r\nimport { handlePaymentClick } from '../../../utils/handlePaymentClick'\r\n\r\nexport default function InboxOverview(props) {\r\n\tconst conversations = useSelector((state) => state.conversations)\r\n\tconst user = useSelector((state) => state.user)\r\n\tconst [isVolunteer, setIsVolunteer] = useState(false)\r\n\tconst navigation = useNavigation()\r\n\tconst [showSubscriptionCard, setShowSubscriptionCard] = useState(false)\r\n\r\n\tuseEffect(() => {\r\n\t\tconst newYearUniverses = ['nytaarsvenner', 'nyarsvanner']\r\n\t\tconst hideSubscriptionCard = props.hideSubscriptionCard || newYearUniverses.includes(props.universe)\r\n\t\tconst hasFeatureOne = user?.features?.includes(1)\r\n\t\tsetShowSubscriptionCard((hasFeatureOne || hideSubscriptionCard || isVolunteer) === false)\r\n\t}, [user, isVolunteer])\r\n\r\n\tuseEffect(() => {\r\n\t\tisUserVolunteer().then(setIsVolunteer)\r\n\t\tnavigation.setOptions({\r\n\t\t\theaderRight: () => user?.features?.includes(1) && ,\r\n\t\t})\r\n\t}, [])\r\n\r\n\tconst renderConversationListItem = ({ item }) => (\r\n\t\t props.navigateToConversation(item.conversation_id)}\r\n\t\t\tgoToPost={() => props.goToPost(item.post_id)}\r\n\t\t\tgoToChristmasPost={props.goToChristmasPost}\r\n\t\t\tgoToGroup={props.goToGroup}\r\n\t\t\tgoToInformation={() => props.goToInformation(item.conversation_id)}\r\n\t\t/>\r\n\t)\r\n\r\n\tconst SubscriptionCard = () => {\r\n\t\tasync function openSubscriptionPage() {\r\n\t\t\tconst origin = 'inbox-card'\r\n\t\t\tif (Platform.OS === 'web') window.plausible('SubscriptionClick', { props: { origin } })\r\n\t\t\tawait handlePaymentClick({ origin })\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t openSubscriptionPage()}\r\n\t\t\t\tstyle={styles.subscriptionCardContainer}\r\n\t\t\t>\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{txt('subscription.inboxCard.title')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('subscription.inboxCard.text')}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\t// no conversations view\r\n\t\r\n\tif (conversations?.length === 0) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{showSubscriptionCard && }\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('conversations.noConversationsTitle')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('conversations.noConversationsText')}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t index.toString()}\r\n\t\t\t\textraData={props}\r\n\t\t\t\tListHeaderComponent={() => (showSubscriptionCard ? : user?.features?.includes(1) && )}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: { ...SpacingStyles.widthAndHeight },\r\n\tconversationContainer: {\r\n\t\tflex: 2,\r\n\t\tjustifyContent: Platform.OS === 'web' ? 'flex-start' : 'center',\r\n\t\tmargin: 20,\r\n\t},\r\n\tflex: { flex: 1 },\r\n\tmargin10: { margin: 10 },\r\n\ttext: {\r\n\t\t...TypographyStyles.title,\r\n\t\tcolor: Colors.inactive,\r\n\t\tlineHeight: 35,\r\n\t\ttextAlign: 'center',\r\n\t},\r\n\tsubscriptionCardContainer: {\r\n\t\tpadding: 6,\r\n\t\tmarginHorizontal: 6,\r\n\t\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t\tborderWidth: 1,\r\n\t\tborderColor: Colors.greenLight,\r\n\t\tborderRadius: 10,\r\n\t},\r\n\ttextRegular: {\r\n\t\tcolor: Colors.inactive,\r\n\t\tlineHeight: 22,\r\n\t},\r\n\timage: {\r\n\t\tborderRadius: 40,\r\n\t\theight: 66,\r\n\t\twidth: 66,\r\n\t},\r\n})\r\n","import React from 'react'\r\nimport InboxOverview from '../../components/views/Conversations/InboxOverview'\r\nimport TxtTMD from '../../constants/TxtTMD'\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { useSelector } from 'react-redux'\r\nimport { useNavigation } from \"@react-navigation/core\"\r\n\r\nexport default function InboxScreen(props) {\r\n const groups = useSelector(state => state.groups)\r\n const navigation = useNavigation()\r\n const navigateToConversation = (conversationId) => {\r\n navigation.push('Conversation', {\r\n id: conversationId,\r\n })\r\n }\r\n\r\n const goToPost = (postId) => {\r\n navigation.navigate('HomeStack', {\r\n screen: 'Post',\r\n initial: false,\r\n params: { id: postId },\r\n })\r\n }\r\n\r\n const goToInformation = (conversationId) => {\r\n navigation.navigate('ConversationInfo', {\r\n id: conversationId,\r\n })\r\n }\r\n\r\n const goToChristmasPost = (id) => {\r\n navigation.navigate('christmasFriends', {\r\n screen: 'PostFeedStack',\r\n initial: false,\r\n params: {\r\n screen: 'ChristmasPost',\r\n params: { id },\r\n },\r\n })\r\n }\r\n\r\n const goToGroup = (id) => {\r\n navigation.navigate('app', {\r\n screen: groups?.length > 0 ? 'GroupsStack' : 'MenuStack',\r\n initial: false,\r\n params: {\r\n screen: 'Group',\r\n params: { id },\r\n },\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\n// export default function(props) {\r\n// const groups = useSelector(state => state.groups)\r\n// return \r\n// }\r\n","import React from 'react'\r\nimport { Platform, StyleSheet, View } from 'react-native'\r\nimport { Bubble } from 'react-native-gifted-chat'\r\nimport * as WebBrowser from 'expo-web-browser'\r\n\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { getUniverseConfig } from '../../../../universe/universeController'\r\nimport { getAttachmentTempLink } from '../../../../services/api/Inbox'\r\n\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\nimport Fontsizes from '../../../../constants/Fontsizes'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nexport const ChatBubble = (props) => {\r\n const universeObject = getUniverseConfig(props.route.params.universe?.toLowerCase())\r\n const colorLeft = universeObject?.leftChatBubbleBackground\r\n const colorRight = universeObject?.rightChatBubbleBackground\r\n const isOwnMessage = props.user._id === props.currentMessage.user_id\r\n\r\n if (props.currentMessage.removed) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n const handleOpenAttachment = async (attachmentId) => {\r\n const conversationId = props.route.params.id\r\n const attachmentLink = await getAttachmentTempLink(conversationId, attachmentId)\r\n if (attachmentLink === null) return\r\n await WebBrowser.openBrowserAsync(attachmentLink)\r\n }\r\n\r\n const renderFileAttachment = (attachment) => {\r\n return (\r\n \r\n handleOpenAttachment(attachment.id)}\r\n style={styles.attachmentButton}\r\n >\r\n \r\n\r\n \r\n {attachment.name === 'image' ? txt('conversation.image') : attachment.name}.{attachment.extension}\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n {props.currentMessage?.attachments?.map(renderFileAttachment)}\r\n \r\n\r\n (props.showOptionsButton ? props.renderOptionsButton(props) : null)}\r\n wrapperStyle={{\r\n right: [styles.rightWrapper, { backgroundColor: colorRight || Colors.blue }],\r\n left: [styles.leftWrapper, { backgroundColor: colorLeft || Colors.white }],\r\n }}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n deletedWrapper: {\r\n backgroundColor: Colors.transparent,\r\n borderColor: Colors.blackTransparent,\r\n borderWidth: 1,\r\n paddingBottom: 2,\r\n },\r\n\r\n leftWrapper: {\r\n flex: Platform.OS === 'web' ? 1 : 0,\r\n },\r\n\r\n rightWrapper: {\r\n flex: Platform.OS === 'web' ? 1 : 0,\r\n minWidth: 60,\r\n margin: 0,\r\n },\r\n\r\n deletedText: {\r\n color: Colors.grey,\r\n },\r\n\r\n attachmentButton: {\r\n flexDirection: 'row',\r\n alignContent: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 'auto',\r\n marginBottom: 6,\r\n padding: 8,\r\n borderRadius: 24,\r\n borderWidth: 1,\r\n borderColor: Colors.blueAzure,\r\n backgroundColor: Colors.blueAzurePale,\r\n },\r\n})\r\n","// libraries\r\nimport React, { useState } from 'react'\r\nimport { StyleSheet, Platform } from 'react-native'\r\nimport { View, FlatList, Image } from 'react-native'\r\nimport * as DocumentPicker from 'expo-document-picker'\r\nimport * as ExpoImagePicker from 'expo-image-picker'\r\nimport * as FileSystem from 'expo-file-system'\r\n\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\nimport Fontsizes from '../../../../constants/Fontsizes'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport CustomDialog from '../../../dialogs/CustomDialog'\r\nimport { ButtonPrimary } from '../../../buttons/StyledButtons'\r\n\r\nimport { getLibraryPermission } from '../../../../utils/getPermissions'\r\nimport { maximumDocumentSize, acceptedMimeTypes, acceptedImageMimeTypes } from '../../../../constants/FilesConfig'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nexport const ChatAttachmentToolbar = (props) => {\r\n const [uploadErrorMessage, setUploadErrorMessage] = useState(null)\r\n\r\n const removeAttachment = async (targetIndex) => {\r\n props.setAttachments((attachments) => {\r\n return attachments.filter((attachment, index) => index !== targetIndex)\r\n })\r\n }\r\n\r\n const renderAttachment = ({ item, index }) => {\r\n const imageUri = 'data:' + item.mimeType + ';base64,' + item.base64\r\n\r\n const renderPreview = () => {\r\n if (item.mimeType.includes('image')) {\r\n return \r\n }\r\n\r\n if (item.mimeType.includes('video')) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n {renderPreview()}\r\n\r\n removeAttachment(index)}\r\n style={styles.removeAttachmentButton}\r\n accessibilityRole=\"button\"\r\n accessibilityLabel={txt('conversation.attachmentToolbar.removeAttachment')}\r\n accessibilityHint={txt('conversation.attachmentToolbar.removeAttachmentHint')}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n {item.name}\r\n \r\n \r\n )\r\n }\r\n\r\n if (props.visible === false) {\r\n return null\r\n }\r\n\r\n const handleSelectImages = async () => {\r\n if (Platform.OS !== 'web') {\r\n const permission = await getLibraryPermission()\r\n\r\n if (permission.granted === false) {\r\n const errorMessage = txt('conversation.attachmentToolbar.errors.missingPermission')\r\n return setUploadErrorMessage(errorMessage)\r\n }\r\n }\r\n\r\n const mediaTypes = ExpoImagePicker.MediaTypeOptions.Images\r\n const options = { mediaTypes, allowsMultipleSelection: true, base64: true, quality: 1 }\r\n const imageResult = await ExpoImagePicker.launchImageLibraryAsync(options)\r\n\r\n if (imageResult.canceled) return // cancelled by user\r\n const images = imageResult.assets\r\n\r\n const createAttachments = (image) => {\r\n const attachment = {\r\n mimeType: 'image/jpeg',\r\n size: image.fileSize,\r\n base64: image.base64,\r\n }\r\n\r\n if (Platform.OS !== 'web') {\r\n const filenamePattern = /([\\w-]+)\\.(\\w+)$/\r\n const [name, filename, extension] = filenamePattern.exec(image.uri)\r\n\r\n attachment.name = name\r\n attachment.filename = filename\r\n attachment.extension = extension\r\n\r\n return attachment\r\n }\r\n\r\n const mimeTypePattern = /data:(?.+);base64,/\r\n const mimeTypeResult = mimeTypePattern.exec(image.uri)\r\n const mimeType = mimeTypeResult.groups?.mimeType ?? null\r\n attachment.mimeType = mimeType\r\n\r\n const acceptedImageMimeType = acceptedImageMimeTypes.find((acceptedMimeType) => {\r\n return acceptedMimeType.mime === mimeType\r\n })\r\n\r\n if (!acceptedImageMimeType) {\r\n const errorMessage = txt('conversation.attachmentToolbar.errors.unsupportedImageFormat')\r\n throw errorMessage\r\n }\r\n\r\n attachment.filename = 'image'\r\n attachment.name = 'image.' + acceptedImageMimeType.extension\r\n attachment.extension = acceptedImageMimeType.extension\r\n\r\n return attachment\r\n }\r\n\r\n try {\r\n const attachments = images.map(createAttachments)\r\n props.setAttachments((currentAttachment) => [...currentAttachment, ...attachments])\r\n } catch (errorMessage) {\r\n if (typeof errorMessage === 'string') {\r\n return setUploadErrorMessage(errorMessage)\r\n }\r\n\r\n const unknownErrorMessage = txt('conversation.attachmentToolbar.errors.unknown')\r\n setUploadErrorMessage(unknownErrorMessage)\r\n }\r\n }\r\n\r\n const handleSelectDocument = async () => {\r\n if (Platform.OS !== 'web') {\r\n const permission = await getLibraryPermission()\r\n\r\n if (permission.granted === false) {\r\n const errorMessage = txt('conversation.attachmentToolbar.errors.missingPermission')\r\n return setUploadErrorMessage(errorMessage)\r\n }\r\n }\r\n\r\n const { assets, canceled } = await DocumentPicker.getDocumentAsync()\r\n if (canceled) return // cancelled by user\r\n\r\n const [file] = assets\r\n const { name, size, uri, mimeType } = file\r\n\r\n const { extension, filename } = /(?.+)\\.(?\\w+)$/g.exec(name).groups\r\n\r\n const attachmentMimeType = acceptedMimeTypes.find((mimeType) => {\r\n return mimeType.extension === extension.toLowerCase()\r\n })\r\n\r\n if (!attachmentMimeType) {\r\n const errorMessage = txt('conversation.attachmentToolbar.errors.unsupportedDocumentFormat')\r\n return setUploadErrorMessage(errorMessage)\r\n }\r\n\r\n if (size > maximumDocumentSize) {\r\n const errorMessage = txt('conversation.attachmentToolbar.errors.unsupportedDocumentSize')\r\n const supportedSize = `${maximumDocumentSize * 10 ** -6} megabytes`\r\n return setUploadErrorMessage(`${errorMessage} ${supportedSize}`)\r\n }\r\n\r\n const attachment = { mimeType, name, size, filename, extension }\r\n\r\n if (Platform.OS === 'web') {\r\n const regex = /;base64,(?.+)$/g.exec(uri)\r\n attachment.base64 = regex.groups.data\r\n props.setAttachments((attachments) => [...attachments, attachment])\r\n return\r\n }\r\n\r\n const options = { encoding: 'base64' }\r\n attachment.base64 = await FileSystem.readAsStringAsync(uri, options)\r\n\r\n props.setAttachments((attachments) => [...attachments, attachment])\r\n }\r\n\r\n const ListEmptyComponent = (\r\n \r\n \r\n {txt('conversation.attachmentToolbar.emptyTitle')}\r\n \r\n\r\n \r\n \r\n \r\n {txt('conversation.attachmentToolbar.emptyDescription')}\r\n \r\n \r\n \r\n )\r\n\r\n const ActionContainer = (\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n {txt('conversation.attachmentToolbar.errors.title')}\r\n {uploadErrorMessage}\r\n\r\n setUploadErrorMessage(null)}\r\n style={{ backgroundColor: Colors.blueAzure }}\r\n title={txt('global.ok')}\r\n titleStyle={{ paddingHorizontal: 12 }}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n list: {\r\n backgroundColor: Colors.white,\r\n borderRadius: 6,\r\n },\r\n\r\n removeAttachmentButton: {\r\n position: 'absolute',\r\n right: -6,\r\n top: -6,\r\n backgroundColor: Colors.greyLight,\r\n borderRadius: 12,\r\n padding: 3,\r\n },\r\n\r\n attachmentName: {\r\n width: 72,\r\n textAlign: 'center',\r\n fontSize: Fontsizes.xs,\r\n },\r\n\r\n previewContainer: {\r\n height: 64,\r\n width: 64,\r\n margin: 6,\r\n backgroundColor: Colors.greyLightLight,\r\n borderRadius: 6,\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n display: 'flex',\r\n },\r\n\r\n imagePreview: {\r\n height: 64,\r\n width: 64,\r\n resizeMode: 'cover',\r\n borderRadius: 6,\r\n borderColor: Colors.greyLightLight,\r\n borderWidth: 1,\r\n },\r\n\r\n attachmentContainer: {\r\n position: 'relative',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n margin: 6,\r\n flex: 1,\r\n },\r\n\r\n actionContainer: {\r\n backgroundColor: Colors.white,\r\n flexDirection: 'row',\r\n alignContent: 'center',\r\n justifyContent: 'center',\r\n },\r\n\r\n actionButtonsContainer: {\r\n borderRightColor: Colors.greyLightLight,\r\n borderRightWidth: 1,\r\n margin: 9,\r\n paddingHorizontal: 6,\r\n justifyContent: 'center',\r\n },\r\n\r\n actionButton: {\r\n padding: 12,\r\n margin: 6,\r\n backgroundColor: Colors.greyLightLight,\r\n borderRadius: 12,\r\n },\r\n\r\n errorDialog: {\r\n padding: 24,\r\n },\r\n\r\n emptyListContainer: {\r\n flex: 1,\r\n justifyContent: 'space-evenly',\r\n margin: 12,\r\n },\r\n})\r\n","import React, { useEffect, useRef, useState } from 'react'\r\nimport { StyleSheet, Platform, View } from 'react-native'\r\nimport { GiftedChat } from 'react-native-gifted-chat'\r\n\r\nimport moment from 'moment'\r\nimport 'moment/min/locales' //needs to be there to update locale to another countrycode.\r\n\r\nimport { ChatBubble } from './ChatBubble'\r\nimport { ChatAttachmentToolbar } from './ChatAttachmentToolbar'\r\nimport { CustomSnackbar } from '../../../snackbars/Snackbar'\r\n\r\nimport { TypographyStyles } from '../../../../styles'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { txt } from '../../../../locales/i18n'\r\n\r\nimport { MessageTextInput } from '../../../text/StyledTextinputs'\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\nimport Fontsizes from '../../../../constants/Fontsizes'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\nimport { CustomText } from \"../../../text/StyledText\"\r\nimport store from \"../../../../redux/store\"\r\n\r\nconst deletedStatuses = [\r\n -3, // deletedByUser\r\n -4, // deletedByAdmin\r\n]\r\n\r\nexport const Chat = (props) => {\r\n const [messages, setMessages] = useState(null)\r\n const hasFeature1 = store.getState().user?.features?.includes(1)\r\n\r\n useEffect(() => {\r\n const messages = props.messages.map((message) => {\r\n message._id = message.id\r\n message.text = message.body\r\n message.createdAt = message.created\r\n message.user = { _id: message.user_id, name: message.username }\r\n message.removed = false\r\n\r\n if (deletedStatuses.includes(message.status_id)) {\r\n message.removed = true\r\n message.createdAt = undefined\r\n message.text = txt('conversation.messageHasBeenDeleted')\r\n return message\r\n }\r\n\r\n if (!message.announcement_id) return message\r\n message.system = true\r\n\r\n if (props.user.id === message.user_id) {\r\n message.text = txt(`conversations.ownAnnouncement.${message.announcement_id}`)\r\n return message\r\n }\r\n\r\n message.text = `${message.username} ${txt(`conversations.announcement.${message.announcement_id}`)}`\r\n return message\r\n })\r\n\r\n setMessages(messages)\r\n }, [props.messages])\r\n\r\n const renderBubble = (post) => {\r\n return (\r\n \r\n )\r\n }\r\n\r\n const renderBubbleWithRead = (post) => {\r\n const { lastRead, lastUnread, user_id } = post.currentMessage\r\n\r\n const Label = ({ text, stroke }) => (\r\n \r\n {text}\r\n \r\n \r\n )\r\n\r\n return (\r\n \r\n {renderBubble(post)}\r\n {lastRead && user_id === post.user._id ? (\r\n \r\n )\r\n }\r\n\r\n if (messages === null) return null\r\n\r\n return (\r\n <>\r\n null}\r\n renderBubble={hasFeature1 ? renderBubbleWithRead : renderBubble}\r\n />\r\n\r\n \r\n \r\n )\r\n}\r\n\r\nconst InputToolbar = (props) => {\r\n const [message, setMessage] = useState('')\r\n const [attachments, setAttachments] = useState([])\r\n const [sendErrorMessage, setSendErrorMessage] = useState(null)\r\n const [showToolbar, setShowToolbar] = useState(false)\r\n const [isSendingMessage, setIsSendingMessage] = useState(false)\r\n const [inputHeight, setInputHeight] = useState(30)\r\n const validateInputTimeoutRef = useRef(null)\r\n\r\n const handleMessageChange = (message) => {\r\n setMessage(message)\r\n if (message === '') return setInputHeight(30)\r\n\r\n if (props.isInitialMessage) {\r\n if (validateInputTimeoutRef.current !== null) clearTimeout(validateInputTimeoutRef.current)\r\n validateInputTimeoutRef.current = setTimeout(() => props?.validateText(message), 400)\r\n }\r\n }\r\n\r\n const handleSendMessage = async () => {\r\n setIsSendingMessage(true)\r\n\r\n try {\r\n const success = await props.handleSendMessage(message, attachments)\r\n\r\n if (success) {\r\n setInputHeight(30)\r\n setMessage('')\r\n setAttachments([])\r\n setShowToolbar(false)\r\n }\r\n } catch (error) {\r\n if (__DEV__) console.error(error)\r\n setSendErrorMessage(txt('apiError.UNKNOWN'))\r\n }\r\n\r\n setIsSendingMessage(false)\r\n }\r\n\r\n return (\r\n <>\r\n \r\n\r\n \r\n \r\n setInputHeight(nativeEvent.contentSize.height)}\r\n height={Platform.OS === 'web' ? inputHeight : null}\r\n value={message}\r\n />\r\n \r\n\r\n {props.showAttachmentButton && (\r\n setShowToolbar((showToolbar) => !showToolbar)}\r\n style={{ padding: 10 }}\r\n >\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n\r\n setSendErrorMessage(null)}\r\n text={sendErrorMessage}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n messageText: {\r\n color: Colors.text,\r\n ...TypographyStyles.textSmallBold,\r\n },\r\n\r\n input: {\r\n flex: 1,\r\n marginLeft: 10,\r\n maxHeight: 130,\r\n minHeight: 40,\r\n },\r\n\r\n inputContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n paddingVertical: 12,\r\n },\r\n\r\n label: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n marginTop: 3,\r\n alignSelf: 'flex-end',\r\n },\r\n\r\n labelText: {\r\n paddingRight: 6,\r\n fontSize: 11,\r\n color: Colors.grey,\r\n }\r\n})\r\n","import { CustomText } from '../../text/StyledText'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { StyleSheet } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { useSelector } from 'react-redux'\r\nimport { useRoute } from '@react-navigation/native'\r\nimport { getUsername } from '../../../services/api/User'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function ConversationHeader({ newConversation, conversation, navigateToInfo }) {\r\n const title = useSelector((state) => state.conversations.filter((c) => c.conversation_id === conversation?.conversation_id)[0]?.title)\r\n const [receiver, setReceiver] = useState(null)\r\n const route = useRoute()\r\n\r\n useEffect(() => {\r\n if (route.params?.receiverId) getUsername(route.params?.receiverId).then(setReceiver)\r\n }, [route.params])\r\n\r\n if (newConversation) {\r\n return (\r\n \r\n {receiver?.username ?? txt('conversation.newTitle')}\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n {title}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n headerContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'center',\r\n },\r\n})\r\n","import { apiDelete, apiGet, apiPost } from './ApiRequest'\r\n\r\nexport async function createConnection(connectionId) {\r\n let res = await apiPost({}, `connections/${connectionId}`)\r\n if (!res.ok) return\r\n return res.json()\r\n}\r\n\r\nexport async function getConnections() {\r\n const res = await apiGet(`connections`)\r\n if (!res) return\r\n return res.data\r\n}\r\n\r\nexport async function getConnection(connectionId) {\r\n const res = await apiGet(`connections/${connectionId}`)\r\n if (!res) return\r\n return res.data\r\n}\r\n\r\nexport async function isConnected(connectionId) {\r\n const res = await apiGet(`connections/connection/${connectionId}`)\r\n if (!res) return\r\n return res.data\r\n}\r\n\r\nexport async function removeConnection(connectionId) {\r\n const res = await apiDelete({}, `connections/${connectionId}`)\r\n if (!res.ok) return\r\n return res.json()\r\n}","import { CustomText } from '../../text/StyledText'\r\nimport { ContentContainer, ScrollableDialog } from '../../dialogs/CustomDialog'\r\nimport React, { useState } from 'react'\r\nimport { CustomSwitch } from '../../switches/StyledSwitches'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport { createConnection, getConnection, removeConnection } from '../../../services/api/ConnectionApi'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport Colors from '../../../constants/Colors'\r\n\r\n\r\nexport function RenderUser({ user }) {\r\n const [connection, setConnection] = useState(false)\r\n getConnection(user.id).then(setConnection)\r\n\r\n async function handleShareProfile(connectionId) {\r\n if (connection) {\r\n const connectionRemoved = await removeConnection(connectionId)\r\n if (connectionRemoved) setConnection(false)\r\n } else {\r\n const connectionCreated = await createConnection(connectionId)\r\n if (connectionCreated) setConnection(true)\r\n }\r\n }\r\n\r\n return (\r\n \r\n {user.username}\r\n await handleShareProfile(user.id)}\r\n label={connection ? txt('connections.connectionOnLabel') : txt('connections.connectionOffLabel')}\r\n />\r\n \r\n )\r\n}\r\n\r\nexport default function ConnectionDialog({ visible, users, onDismiss }) {\r\n return (\r\n \r\n \r\n {txt('connections.title')}\r\n {txt('connections.allowDialog')}\r\n {users.map((user, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n paddingVertical: 3,\r\n marginHorizontal: 2,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n },\r\n})\r\n","import { CustomText } from '../../text/StyledText'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport { CustomSwitch } from '../../switches/StyledSwitches'\r\nimport { createConnection, removeConnection } from '../../../services/api/ConnectionApi'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { getUsername } from '../../../services/api/User'\r\nimport { cardShadow } from '../../../styles/shadows'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport ConnectionDialog from './ConnectionDialog'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Layout from '../../../constants/Layout'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function Connection({ users, connection, setConnection }) {\r\n const [connectionUser, setConnectionUser] = useState(null)\r\n const [connectionDialogVisible, setConnectionDialogVisible] = useState(false)\r\n const connectionId = users[0]?.id\r\n\r\n useEffect(() => {\r\n getUsername(connectionId).then(setConnectionUser)\r\n }, [])\r\n\r\n async function handleShareProfile() {\r\n if (connection) {\r\n const connectionRemoved = await removeConnection(connectionId)\r\n if (connectionRemoved) setConnection(false)\r\n } else {\r\n const connectionCreated = await createConnection(connectionId)\r\n if (connectionCreated) setConnection(true)\r\n }\r\n }\r\n\r\n return (\r\n \r\n {users.length > 1 ? (\r\n setConnectionDialogVisible(true)}\r\n >\r\n \r\n {txt('connections.allowMembers')}\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n {txt('connections.allow', {name: connectionUser?.username})}\r\n \r\n \r\n \r\n )}\r\n setConnectionDialogVisible(false)}\r\n users={users}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n paddingLeft: 12,\r\n paddingRight: 6,\r\n paddingBottom: 6,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n minHeight: 37,\r\n marginHorizontal: 'auto',\r\n width: '100%',\r\n maxWidth: Layout.maxFeedWidth,\r\n },\r\n})","import { useState, useEffect } from 'react'\r\nimport { Keyboard } from 'react-native'\r\n\r\nexport const useKeyboardHeight = () => {\r\n\tconst [height, setHeight] = useState(0)\r\n\r\n\tuseEffect(() => {\r\n\t\tconst handler = (event) => setHeight(event.endCoordinates.height)\r\n\t\tconst showKeyboardSubscription = Keyboard.addListener('keyboardDidShow', handler)\r\n\t\tconst hideKeyboardSubscription = Keyboard.addListener('keyboardDidHide', () => setHeight(0))\r\n\r\n\t\treturn () => {\r\n\t\t\tshowKeyboardSubscription.remove()\r\n\t\t\thideKeyboardSubscription.remove()\r\n\t\t}\r\n\t}, [])\r\n\r\n\treturn height\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport { View, Platform, StyleSheet, Keyboard, Modal, TouchableWithoutFeedback, AppState } from 'react-native'\r\nimport { useBottomTabBarHeight } from '@react-navigation/bottom-tabs';\r\n\r\nimport {\r\n getConversationMessages,\r\n deleteConversationMessage,\r\n readAllMessages,\r\n createGroupConversation,\r\n getScreeningConsent,\r\n getConversationFeature,\r\n} from '../../../services/api/Inbox'\r\n\r\nimport * as InboxService from '../../../services/api/Inbox'\r\n\r\nimport { Chat } from './chat/Chat'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Colors from '../../../constants/Colors'\r\nimport { unacceptedConversationText } from '../../../constants/BadWords'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport moment from 'moment'\r\nimport 'moment/min/locales' //needs to be there to update locale to another countrycode.\r\nimport { SpacingStyles } from '../../../styles'\r\nimport OptionsDialog from '../../dialogs/OptionsDialog'\r\nimport OptionButton from '../../buttons/OptionButton'\r\nimport ScreeningConsentDialog from '../../dialogs/ScreeningConsentDialog'\r\nimport { useSelector } from 'react-redux'\r\nimport { conversationMessages } from '../../../redux/selectors'\r\nimport ConversationHeader from './ConversationHeader'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport CustomDialog, { ContentContainer, ActionButton } from '../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport { getConnection, isConnected } from '../../../services/api/ConnectionApi'\r\nimport Connection from './Connection'\r\nimport { Features } from '../../../constants/Features'\r\nimport * as Clipboard from 'expo-clipboard'\r\nimport CustomPressable from '../../pressables/CustomPressable'\r\nimport ContactUnavailableDialog from '../../dialogs/ContactUnavailableDialog'\r\nimport { handlePaymentClick } from \"../../../utils/handlePaymentClick\"\r\nimport { useKeyboardHeight } from '../../../hooks/KeyboardHeight'\r\nimport { getSuspension } from '../../../services/api/User';\r\nimport { useNavigation } from '@react-navigation/core';\r\nimport { updateConversation } from \"../../../redux/actions\"\r\nimport store from \"../../../redux/store\"\r\nimport SubscriptionBenefits from \"../../shared/SubscriptionBenefits\"\r\n\r\nexport default function Conversation(props) {\r\n moment.locale(txt('conversations.locale')) //Sets locale to chosen language code from Txt\r\n const [showConsentDialog, setShowConsentDialog] = useState(false)\r\n const [showMessageOptions, setShowMessageOptions] = useState(false)\r\n const [showCopyOption, setShowCopyOption] = useState(false)\r\n const [showConfirmDeletion, setShowConfirmDeletion] = useState(false)\r\n const [showTooManyConvDialog, setShowTooManyConvDialog] = useState(false)\r\n const [selectedMessage, setSelectedMessage] = useState('')\r\n const [showNoAccessDialog, setShowNoAccessDialog] = useState(false)\r\n const [textCopied, setTextCopied] = useState(false)\r\n const [messageSuspendedDialogVisible, setMessageSuspendedDialogVisible] = useState(false)\r\n const [messageSuspendedDialogText, setMessageSuspendedDialogText] = useState('')\r\n\r\n const [showTextValidateDialog, setShowTextValidateDialog] = useState(false)\r\n const [unacceptedText, setUnacceptedText] = useState('')\r\n\r\n const bottomTabBarHeight = useBottomTabBarHeight();\r\n const keyboardHeight = useKeyboardHeight()\r\n\r\n const [connection, setConnection] = useState(false)\r\n const [hasFeature, setHasFeature] = useState(true)\r\n const [remainingSuspensionDays, setRemainingSuspensionDays] = useState(null)\t\r\n\r\n let keyboardDidHide\r\n\r\n const navigation = useNavigation()\r\n const user = useSelector((state) => state.user)\r\n const conversation = useSelector((state) =>\r\n state.conversations.find((c) => c.conversation_id === parseInt(props.route.params.id))\r\n )\r\n const messages = useSelector((state) => conversationMessages(state, parseInt(props.route.params.id)))\r\n\r\n\tuseEffect(() => {\r\n\t\tconst subscription = AppState.addEventListener('change', async (appState) => {\r\n\t\t\tif (appState !== 'active') return\r\n\t\t\tconst conversationId = parseInt(props.route.params.id)\r\n\t\t\tawait getConversationMessages(conversationId)\r\n\t\t})\r\n\r\n\t\treturn () => subscription.remove()\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tconst fetchSuspension = async () => {\r\n\t\t\tconst remainingDays = await getSuspension()\r\n\t\t\tsetRemainingSuspensionDays(remainingDays)\r\n\t\t}\r\n\r\n\t\tnavigation.addListener('focus', fetchSuspension)\r\n\r\n\t\tconst subscription = AppState.addEventListener('change', async (appState) => {\r\n\t\t\tif (appState === 'active') fetchSuspension()\r\n\t\t})\r\n\r\n\t\treturn () => {\r\n\t\t\tsubscription.remove()\r\n\t\t\tnavigation.removeListener('focus', fetchSuspension)\r\n\t\t}\r\n\t}, [])\r\n\r\n useEffect(() => {\r\n getConversationFeature(conversation?.conversation_id).then(setHasFeature)\r\n setShowNoAccessDialog(sendMessageNotAllowed())\r\n }, [user, props.route.params.id])\r\n\r\n useEffect(() => {\r\n if (props.route.params.id !== 'new') {\r\n getConversationMessages(parseInt(props.route.params.id))\r\n readAllMessages(parseInt(props.route.params.id))\r\n }\r\n }, [props.route.params.id, conversation?.messages?.length])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (conversation?.reloadConversation === true) {\r\n\t\t\tstore.dispatch(updateConversation({ conversation_id: conversation.conversation_id, reloadConversation: false }))\r\n\t\t\tgetConversationMessages(parseInt(props.route.params.id))\r\n\t\t}\r\n\t}, [conversation?.reloadConversation])\r\n\r\n useEffect(() => {\r\n props.navigation.setOptions({\r\n headerBackTitleVisible: false,\r\n headerTitle: () => (\r\n \r\n ),\r\n headerRight: () => (\r\n \r\n \r\n \r\n ),\r\n headerTitleContainerStyle: styles.title,\r\n })\r\n }, [props.route.params.id])\r\n\r\n useEffect(() => {\r\n function handleKeyboardDidHide() {\r\n if (unacceptedText !== '') {\r\n setShowTextValidateDialog(true)\r\n }\r\n }\r\n\r\n if (Platform.OS !== 'web') {\r\n keyboardDidHide = Keyboard.addListener('keyboardDidHide', handleKeyboardDidHide)\r\n return () => keyboardDidHide.remove()\r\n }\r\n }, [unacceptedText])\r\n\r\n useEffect(() => {\r\n if (conversation?.otherUsers?.length > 0) getConnection(conversation?.otherUsers[0].id).then(setConnection)\r\n }, [])\r\n\r\n const handleOnPressAvatar = async (item) => {\r\n const hasConnection = await isConnected(item._id)\r\n if (hasConnection) props.navigateToProfile(item._id)\r\n }\r\n\r\n const copyOption = {\r\n label: txt('conversations.messageOptionsCopy'),\r\n icon: \"copy\",\r\n action: async () => {\r\n setShowCopyOption(false)\r\n setShowMessageOptions(false)\r\n await copyText()\r\n },\r\n }\r\n\r\n const copyOptions = [copyOption]\r\n\r\n const options = [\r\n copyOption,\r\n {\r\n label: txt('conversations.messageDeleteConfirmDelete'),\r\n icon: \"trash\",\r\n action: () => {\r\n setShowMessageOptions(false)\r\n setShowConfirmDeletion(true)\r\n },\r\n type: 'danger',\r\n },\r\n ]\r\n\r\n const optionsConfirmDelete = [\r\n {\r\n label: txt('conversations.messageDeleteConfirmDelete'),\r\n icon: \"trash\",\r\n action: () => deleteMessage(selectedMessage),\r\n type: 'danger',\r\n },\r\n {\r\n label: txt('conversations.messageDeleteConfirmReturn'),\r\n action: () => setShowConfirmDeletion(false),\r\n },\r\n ]\r\n\r\n const onMessageLongPress = (context, message) => {\r\n if (message.status_id !== 1) return\r\n if (user.id === message.user_id && message.status_id === 1) {\r\n setShowMessageOptions(true)\r\n } else {\r\n setShowCopyOption(true)\r\n }\r\n setSelectedMessage(message)\r\n }\r\n\r\n const deleteMessage = async () => {\r\n setShowConfirmDeletion(false)\r\n if (selectedMessage.status_id === 1) {\r\n await deleteConversationMessage(parseInt(props.route.params.id), selectedMessage.id)\r\n getConversationMessages(parseInt(props.route.params.id))\r\n }\r\n }\r\n\r\n function setError() {\r\n setShowTooManyConvDialog(true)\r\n return null\r\n }\r\n\r\n async function createNewConversation() {\r\n let conversation\r\n const receiverIds = props.route.params.receiverIds\r\n if (receiverIds) conversation = await createGroupConversation([...receiverIds])\r\n else conversation = await props.createNewConversation()\r\n if (!conversation || conversation.error) return setError()\r\n props.navigation.setParams({ id: conversation.conversation_id })\r\n return conversation.conversation_id\r\n }\r\n\r\n const sendMessage = async (body, attachments) => {\r\n\t\tconst hasConversationFeature = user?.features?.includes(Features.START_CONVERSATION) ?? false\r\n\r\n\t\tconst isSprogland = Boolean(conversation?.sl_session_id || props.route.params.slSessionId)\r\n\t\tconst isSnakSammen = Boolean(conversation?.vs_session_id || props.route.params.vsSessionId)\r\n\t\tconst isPartner = isSprogland || isSnakSammen\r\n\r\n\t\tif (remainingSuspensionDays !== null && remainingSuspensionDays >= 0 && hasConversationFeature === false && isPartner === false) {\r\n\t\t\tsetMessageSuspendedDialogText(() => {\r\n\t\t\t\tif (remainingSuspensionDays === 0) return txt('conversation.messageSuspensionToday')\r\n\t\t\t\tif (remainingSuspensionDays === 1) return txt('conversation.messageSuspensionTomorrow')\r\n\t\t\t\tif (remainingSuspensionDays > 1) return txt('conversation.messageSuspensionInXDays', { days: remainingSuspensionDays })\r\n\t\t\t})\r\n\t\t\tsetMessageSuspendedDialogVisible(true)\r\n\t\t\treturn false\r\n\t\t}\r\n\r\n if (body.trim() === '') return false\r\n\r\n if (sendMessageNotAllowed()) {\r\n setShowNoAccessDialog(true)\r\n return false\r\n }\r\n\r\n const consent = await getScreeningConsent()\r\n\r\n if (consent === 0) {\r\n setShowConsentDialog(true)\r\n return false\r\n }\r\n\r\n let conversationId = props.route.params.id\r\n\r\n if (conversationId === 'new') {\r\n conversationId = await createNewConversation()\r\n }\r\n\r\n if (!conversationId) return false\r\n\r\n const message = { body, attachments }\r\n const response = await InboxService.createMessage(message, conversationId)\r\n\r\n if (response.error === 'ACCEPT_SCREENING') {\r\n setShowConsentDialog(true)\r\n return false\r\n }\r\n\r\n return true\r\n }\r\n\r\n function sendMessageNotAllowed() {\r\n if (user.country !== 'Denmark') return false\r\n const isPostConversation = !!conversation?.post_id\r\n const noConversationFeature = !user.features.includes(Features.START_CONVERSATION)\r\n const sameMunicipality = user.municipality_id === conversation?.otherUsers[0]?.municipalityId\r\n return isPostConversation && sameMunicipality && noConversationFeature && !hasFeature\r\n }\r\n\r\n const handleOptionPress = (currentMessage) => {\r\n setShowMessageOptions(true)\r\n setSelectedMessage(currentMessage)\r\n }\r\n\r\n function validateText(text) {\r\n const unacceptedTextMatcher = new RegExp(unacceptedConversationText.join('|'), 'gim')\r\n const matchResult = unacceptedTextMatcher.exec(text)\r\n\r\n if (matchResult === null) {\r\n return setUnacceptedText('')\r\n }\r\n\r\n setUnacceptedText(matchResult[0])\r\n Keyboard.dismiss()\r\n\r\n if (Platform.OS === 'web') {\r\n setShowTextValidateDialog(true)\r\n }\r\n }\r\n\r\n async function copyText() {\r\n const copied = await Clipboard.setStringAsync(selectedMessage.text);\r\n if (copied) {\r\n setTextCopied(true)\r\n setTimeout(() => setTextCopied(false), 1500)\r\n }\r\n }\r\n\r\n const getShowAttachmentButton = () => {\r\n\tif (conversation?.sl_session_id) return true\r\n\tif (conversation?.groupAdminConversation) return true\r\n\treturn false\r\n }\r\n\r\n\tconst openSubscription = async () => {\r\n\t\tawait handlePaymentClick({ origin: 'conversation-message-suspension' })\r\n\t\tsetMessageSuspendedDialogVisible(false)\r\n\t}\r\n\r\n return (\r\n\t\t<>\r\n\t\t\t{conversation && conversation.otherUsers.length > 0 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t onMessageLongPress(context, message)}\r\n\t\t\t\t\toptionsButton={(props) => (\r\n\t\t\t\t\t\t handleOptionPress(props.currentMessage)} size={Fontsizes.l} vertical />\r\n\t\t\t\t\t)}\r\n\t\t\t\t\tonPressAvatar={(item) => handleOnPressAvatar(item)}\r\n\t\t\t\t\tonSendMessage={sendMessage}\r\n\t\t\t\t\tvalidateText={validateText}\r\n\t\t\t\t\tshowAttachmentButton={getShowAttachmentButton()}\r\n\t\t\t\t/>\r\n\r\n\t\t\t\t setShowMessageOptions(false)}\r\n\t\t\t\t\toptions={options}\r\n\t\t\t\t/>\r\n\t\t\t\t setShowCopyOption(false)} options={copyOptions} />\r\n\t\t\t\t setShowConfirmDeletion(false)}\r\n\t\t\t\t\toptions={optionsConfirmDelete}\r\n\t\t\t\t/>\r\n\t\t\t\t setShowConsentDialog(false)} />\r\n\t\t\t\t setShowTooManyConvDialog(false)}>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('conversations.tooMany')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t setShowTooManyConvDialog(false)}\r\n\t\t\t\t\t\t\tstyle={{ backgroundColor: Colors.blueAzure }}\r\n\t\t\t\t\t\t\ttitle={txt('global.ok')}\r\n\t\t\t\t\t\t\ttitleStyle={{ paddingHorizontal: 12 }}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t{Platform.OS === 'ios' && }\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{unacceptedText}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t setShowTextValidateDialog(false)}>{txt('dialog.ok')}\r\n\t\t\t\t\r\n\r\n\t\t\t\t setMessageSuspendedDialogVisible(false)}\r\n\t\t\t\t>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t setMessageSuspendedDialogVisible(false)}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('conversation.messageSuspensionTitle')}\r\n\t\t\t\t\t\t{messageSuspendedDialogText}\r\n\t\t\t\t\t\t{txt('conversation.messageSuspensionSubscriptionInfomation')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t{conversation && (\r\n\t\t\t\t\t setShowNoAccessDialog(false)}\r\n\t\t\t\t\t\tusername={conversation?.otherUsers?.[0]?.username}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\t\t\t\t setTextCopied(false)}>\r\n\t\t\t\t\t setTextCopied(false)}\r\n\t\t\t\t\t\tstyle={styles.confirmationContainer}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{txt('conversations.messageOptionsCopyConfirmed')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainerStyle: {\r\n\t\tmarginLeft: 10,\r\n\t\tmarginRight: 10,\r\n\t\t...SpacingStyles.widthAndHeight,\r\n\t\tflex: 1,\r\n\t},\r\n\ttitle: { textAlign: 'center', width: '75%' },\r\n\ttextCenter: { textAlign: 'center' },\r\n\ttextRed: { color: Colors.errorBackground },\r\n\ttextMargin: { marginVertical: 6 },\r\n\tconfirmationContainer: {\r\n\t\tflex: 1,\r\n\t\twidth: '100%',\r\n\t\tjustifyContent: 'center',\r\n\t\talignItems: 'center',\r\n\t\tbackgroundColor: Colors.blackTransparent54,\r\n\t},\r\n\tconfirmation: {\r\n\t\tbackgroundColor: Colors.whiteTransparent,\r\n\t\tpadding: 24,\r\n\t\tborderRadius: 10,\r\n\t\talignItems: 'center',\r\n\t},\r\n\r\n\tcloseIcon: {\r\n\t\talignSelf: 'flex-end',\r\n\t\tposition: 'absolute',\r\n\t\tpaddingLeft: 24,\r\n\t\tzIndex: 1,\r\n\t},\r\n})\r\n","import React from 'react'\r\nimport Conversation from '../../components/views/Conversations/Conversation'\r\nimport { createConversation } from '../../services/api/Inbox'\r\nimport { useSelector } from 'react-redux'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\n\r\nexport default function ConversationScreen(props) {\r\n const conversation = useSelector((state) =>\r\n state.conversations.find((c) => c.conversation_id === parseInt(props.route.params.id))\r\n )\r\n\r\n async function createNewConversation() {\r\n const { boblId, groupId, slSessionId, vsSessionId, receiverId } = props.route.params\r\n return createConversation({\r\n postId: parseInt(boblId),\r\n groupId: parseInt(groupId),\r\n slSessionId: parseInt(slSessionId),\r\n vsSessionId: parseInt(vsSessionId),\r\n receiverId: parseInt(receiverId),\r\n })\r\n }\r\n\r\n function navigateToInfo() {\r\n props.navigation.navigate('ConversationInfo', {\r\n id: props.route.params.id,\r\n christmasPostId: conversation?.christmas_post_id,\r\n })\r\n }\r\n\r\n function navigateToProfile(userId) {\r\n props.navigation.navigate('ProfileView', {\r\n id: userId,\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\n","import React from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport Paths from '../../../constants/Paths'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ImageHighlight } from '../../images/ImageHighlight'\r\nimport { txt } from '../../../locales/i18n'\r\nimport ImgHighlightChristmas from '../../../christmasFriends/components/ImgHighlightChristmas'\r\nimport Card from '../../Card'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default class PostItemSmall extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {this.props.item.type ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n box: {\r\n marginBottom: 12,\r\n padding: 12,\r\n },\r\n img: { marginRight: 12 },\r\n itemContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n },\r\n itemText: {\r\n alignSelf: 'center',\r\n flex: 1,\r\n overflow: 'hidden',\r\n },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport NormalIcon from '../../components/icons/NormalIcon'\r\nimport { CustomText } from '../../components/text/StyledText'\r\nimport PostItemSmall from '../../components/views/Conversations/PostItemSmall'\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\nimport { getChristmasPost } from '../../services/api/ChristmasFriends'\r\n\r\nexport default function ChristmasInfoOverview({\r\n christmasPostId,\r\n navigateToPost,\r\n}) {\r\n const [post, setPost] = useState(null)\r\n\r\n useEffect(() => {\r\n getChristmasPost(christmasPostId).then(setPost)\r\n }, [])\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('conversations.info.christmasPost').toUpperCase()}\r\n \r\n \r\n {post ? (\r\n navigateToPost(christmasPostId)}\r\n />\r\n ) : (\r\n \r\n {txt('conversations.info.christmasNoPost')}\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n icon: { alignItems: 'center', flexDirection: 'row', marginRight: 6 },\r\n postContainer: { marginBottom: 24 },\r\n spacing: { marginRight: 6 },\r\n textContainer: { marginBottom: 12, marginTop: 12 },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet, FlatList, Keyboard, Image } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport PostItemSmall from './PostItemSmall'\r\nimport { getPostsByUserId } from '../../../services/api/Posts'\r\nimport Layout from '../../../constants/Layout'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { ActivityIndicator } from 'react-native'\r\nimport { useSelector } from 'react-redux'\r\nimport NormalIcon, { BoblbergIcon } from '../../icons/NormalIcon'\r\nimport ChristmasInfoOverview from '../../../christmasFriends/components/ChristmasInfoOverview'\r\nimport { InputPrimary } from '../../text/StyledTextinputs'\r\nimport { editConversationTitle } from '../../../services/api/Inbox'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport ReportContent from '../../callToActions/reportContent'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport { isConnected } from '../../../services/api/ConnectionApi'\r\nimport { getUserImage } from '../../../services/api/User'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function InfoOverview(props) {\r\n const conversationId = parseInt(props.route.params.id, 10)\r\n const [users, setUsers] = useState([])\r\n const [postsCollected, setPostsCollected] = useState(false)\r\n const [title, setTitle] = useState(null)\r\n const [successUpdate, setSuccessUpdate] = useState(false)\r\n const [disabled, setDisabled] = useState(true)\r\n const conversations = useSelector((state) => state.conversations)\r\n const ownUser = useSelector((state) => state.user)\r\n const navigation = useNavigation()\r\n\r\n useEffect(() => {\r\n const conversation = conversations.find((c) => c.conversation_id === conversationId)\r\n setUsers(conversation?.otherUsers)\r\n setTitle(conversation?.title)\r\n }, [])\r\n\r\n useEffect(() => {\r\n async function getAllPosts() {\r\n const users = conversations.find((c) => c.conversation_id === conversationId)?.otherUsers ?? []\r\n\r\n const usersWithPostsPromises = users.map(async (user) => {\r\n const posts = await getPostsByUserId(user.id)\r\n return { id: user.id, username: user.username, posts }\r\n })\r\n\r\n const usersWithPosts = await Promise.all(usersWithPostsPromises)\r\n setUsers(usersWithPosts)\r\n setPostsCollected(true)\r\n }\r\n\r\n if (!postsCollected && conversations.length > 0) {\r\n getAllPosts()\r\n }\r\n }, [users])\r\n\r\n const handleUpdateTitle = async () => {\r\n const res = await editConversationTitle(title, conversationId)\r\n if (res) {\r\n Keyboard.dismiss()\r\n setSuccessUpdate(true)\r\n setDisabled(true)\r\n }\r\n }\r\n\r\n const renderItem = ({ item }) => {\r\n return (\r\n props.navigateToPost(item.id)}\r\n backgroundColor={props.backgroundColor}\r\n />\r\n )\r\n }\r\n\r\n const handleChangeText = (text) => {\r\n setDisabled(false)\r\n setSuccessUpdate(false)\r\n setTitle(text)\r\n }\r\n\r\n function RenderUser({ user }) {\r\n const [isInConnection, setIsInConnection] = useState(false)\r\n const [image, setImage] = useState(null)\r\n useEffect(() => {\r\n isConnected(user.id).then((connected) => {\r\n setIsInConnection(connected)\r\n if (connected) getUserImage(user.id).then((img) => {\r\n if (img.filename) setImage({\r\n filename: img.filename,\r\n base64: img.base64,\r\n })\r\n })\r\n })\r\n return () => setImage(null)\r\n }, [])\r\n\r\n return (\r\n props.navigateToProfile(user.id)}\r\n >\r\n \r\n {image ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {user.username}\r\n \r\n \r\n {isInConnection && (\r\n )}\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n {/* conversation members */}\r\n \r\n \r\n \r\n \r\n {txt('conversations.info.members').toUpperCase()}\r\n \r\n \r\n \r\n \r\n \r\n {ownUser.username}\r\n \r\n \r\n {users?.map((user) => (\r\n \r\n ))}\r\n \r\n\r\n \r\n \r\n \r\n {txt('conversations.info.title').toUpperCase()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* Momber's christimas posts */}\r\n {props.route.params.christmasPostId && (\r\n \r\n )}\r\n\r\n {/* Member's posts */}\r\n \r\n {!postsCollected ? (\r\n \r\n ) : (\r\n \r\n {users?.map((user) => {\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('conversations.info.posts').toUpperCase() + user.username.toUpperCase()}\r\n \r\n \r\n {user.posts?.length > 0 ? (\r\n \r\n ) : (\r\n \r\n {user.username + txt('conversations.info.noPosts')}\r\n \r\n )}\r\n \r\n )\r\n })}\r\n \r\n )}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n alignSelf: 'center',\r\n maxWidth: Layout.maxFeedWidth,\r\n paddingLeft: 12,\r\n paddingRight: 12,\r\n width: '100%',\r\n },\r\n icon: { alignItems: 'center', flexDirection: 'row', marginRight: 6 },\r\n margin30: { marginBottom: 24 },\r\n members: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n marginVertical: 6,\r\n backgroundColor: Colors.white,\r\n borderRadius: 10,\r\n padding: 12,\r\n },\r\n postContainer: { marginBottom: 24 },\r\n spacing: { marginRight: 6 },\r\n textContainer: { marginBottom: 12, marginTop: 12 },\r\n image: { width: 25, height: 25, borderRadius: 12.5 },\r\n})\r\n","import React from 'react'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport InfoOverview from '../../components/views/Conversations/InfoOverview'\r\nexport default class ConversationInfoScreen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n navigateToPost = (postId) => {\r\n this.props.navigation.navigate('Post', {\r\n id: postId,\r\n })\r\n }\r\n\r\n navigateToChristmasPost = (postId) => {\r\n this.props.navigation.navigate('christmasFriends', {\r\n screen: 'ChristmasConversationStack',\r\n initial: false,\r\n params: {\r\n screen: 'ChristmasPost',\r\n params: { id: postId },\r\n },\r\n })\r\n }\r\n\r\n navigateToProfile = (userId) => {\r\n this.props.navigation.navigate('ProfileView', {\r\n id: userId,\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","import React, { useEffect, useRef, useState } from 'react'\r\nimport { View, ScrollView, Platform, StyleSheet } from 'react-native'\r\nimport Paths from '../../../constants/Paths'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { CustomInputs, CustomMultilineInputs } from '../../text/StyledTextinputs'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Colors from '../../../constants/Colors'\r\nimport { RoundBtn, DeleteBtn } from '../../buttons/StyledButtons'\r\nimport KeyboardSpacer from 'react-native-keyboard-spacer'\r\nimport ImagePicker from '../../ImagePicker/ImagePicker'\r\nimport { ShadowStyles, SpacingStyles, TypographyStyles } from '../../../styles'\r\nimport { UploadImage } from '../../../services/api/UploadImage'\r\nimport { Picker } from '@react-native-picker/picker'\r\nimport CustomDialog, { ActionButton, ContentContainer } from '../../dialogs/CustomDialog'\r\nimport * as AddressService from '../../../services/api/Addresses'\r\nimport { useRoute } from '@react-navigation/native'\r\nimport ChooseFacultyItem from './ChooseFacultyItem'\r\nimport store from '../../../redux/store'\r\nimport { getFacilties } from '../../../services/api/Unions'\r\nimport imageBobl from '../../../assets/images/bobl.png'\r\nimport { useSelector } from 'react-redux'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport ModalSelectorCustom from \"../../modalSelectors/ModalSelectorCustom\"\r\n\r\nexport default function EditUnion(props) {\r\n const [loading, setLoading] = useState(true)\r\n const [union, setUnion] = useState({\r\n title: '',\r\n body: '',\r\n url: '',\r\n municipality_id: '',\r\n municipality_name: '',\r\n img_id: null,\r\n address: '',\r\n city: '',\r\n postal_code: '',\r\n latlng: null,\r\n faculties: [],\r\n })\r\n const [visible, setVisible] = useState(false)\r\n const [isAddressValid, setIsAddressValid] = useState(true)\r\n const [isPostalValid, setIsPostalValid] = useState(true)\r\n const [isMissingPostalCode, setIsMissingPostalCode] = useState(false)\r\n const [titleTooShort, setTitleTooShort] = useState(false)\r\n const [descriptionTooShort, setDescriptionTooShort] = useState(false)\r\n const [image, setImage] = useState(null)\r\n const [suggestions, setSuggestions] = useState([])\r\n const SUGGESTIONS_PER_PAGE = 4\r\n const timeout = useRef()\r\n\r\n const [faculties, setFaculties] = useState([])\r\n const [facultiesVisible, setFacultiesVisible] = useState(false)\r\n const [selectedFaculties, setSelectedFaculties] = useState(new Set())\r\n const [isMissingFaculties, setIsMissingFaculties] = useState(false)\r\n const municipalities = useSelector(({ municipalities }) => municipalities)\r\n\r\n const route = useRoute()\r\n const universeName = route.params?.universe?.toLowerCase()\r\n const universe = store.getState().user.universes.find((u) => u.name === universeName)\r\n\r\n useEffect(() => {\r\n getFacilties().then(setFaculties)\r\n }, [route.params])\r\n\r\n useEffect(() => {\r\n if (loading) {\r\n props.getFullUnion(props.id).then((u) => {\r\n\t\tconst uri = u.img_filename ? Paths.imageUrlBase + u.img_filename : null\r\n setUnion({ ...u , image: { uri }})\r\n setSelectedFaculties(new Set(u.faculties.map((f) => f.id)))\r\n })\r\n setLoading(false)\r\n }\r\n }, [])\r\n\r\n function updateUnion(update) {\r\n setUnion((prev) => ({ ...prev, ...update }))\r\n }\r\n\r\n const uploadImg = () => {\r\n if (image) {\r\n return UploadImage(image).catch((err) => {\r\n if (__DEV__) console.log('IMAGE UPLOAD FAIL ', err)\r\n })\r\n }\r\n }\r\n\r\n const saveUnion = async () => {\r\n const isAddressValid = await validateAddress()\r\n if (validateUnion() && isAddressValid) {\r\n const img_id = await uploadImg()\r\n const data = {\r\n id: union.id,\r\n title: union.title,\r\n body: union.body,\r\n url: union.url,\r\n municipality_id: parseInt(union.municipality_id, 10),\r\n img_id: img_id || union.img_id,\r\n address: union.address === '' ? null : union.address,\r\n city: union.city,\r\n postal_code: union.postal_code === '' ? null : union.postal_code,\r\n lat: union.latlng === undefined ? null : union.latlng.lat,\r\n lng: union.latlng === undefined ? null : union.latlng.lng,\r\n }\r\n\r\n if (universe?.id === 12) {\r\n data.faculties = Array.from(selectedFaculties)\r\n }\r\n const unionUpdated = await props.updateUnion(data)\r\n if (unionUpdated) {\r\n updateUnion(unionUpdated)\r\n props.navigation.goBack()\r\n }\r\n }\r\n }\r\n\r\n const validateAddress = async () => {\r\n const { address, postal_code } = union\r\n if (address?.length > 0) {\r\n if (!postal_code) {\r\n setIsMissingPostalCode(true)\r\n return false\r\n } else setIsMissingPostalCode(false)\r\n\r\n const data = await AddressService.getAddress(address, postal_code)\r\n if (data) {\r\n setIsAddressValid(true)\r\n return true\r\n }\r\n return false\r\n } else {\r\n // empty address is valid\r\n updateUnion({ latlng: { lat: null, lng: null } })\r\n setIsAddressValid(true)\r\n setIsMissingPostalCode(false)\r\n return true\r\n }\r\n }\r\n\r\n function validateUnion() {\r\n // TODO: write validations\r\n const { title, body } = union\r\n if (title.length > 0) setTitleTooShort(false)\r\n if (body.length > 0) setDescriptionTooShort(false)\r\n if (!isPostalValid) return false\r\n if (selectedFaculties.size < 1 && universe?.id === 12) {\r\n setIsMissingFaculties(true)\r\n return false\r\n }\r\n return true\r\n }\r\n\r\n const removeUnion = async () => {\r\n const success = await props.deleteUnion(union.id)\r\n if (success) {\r\n setVisible(false)\r\n props.navigation.pop(2)\r\n }\r\n }\r\n\r\n const keyboardSpacerShow = () => {\r\n if (Platform.OS === 'ios') {\r\n return \r\n }\r\n }\r\n\r\n function pickMunicipality() {\r\n return (\r\n data.id?.toString()}\r\n labelExtractor={(data) => data.name}\r\n key={(data) => data.id}\r\n initValue={union.municipality_name}\r\n onChange={(value) => updateUnion({ municipality_id: value.id })}\r\n />\r\n )\r\n }\r\n\r\n const handleAddressChange = async (value) => {\r\n clearTimeout(timeout.current)\r\n updateUnion({ address: value })\r\n\r\n timeout.current = setTimeout(async () => {\r\n const suggestions = await AddressService.getSuggestions(value)\r\n if (suggestions.length === 0) setIsAddressValid(false)\r\n else setIsAddressValid(true)\r\n setSuggestions(suggestions)\r\n }, 800)\r\n }\r\n\r\n async function handleSuggestionClick(suggestion) {\r\n const address = suggestion.tekst.split(',')[0]\r\n const otherInfo = suggestion.adgangsadresse\r\n const data = await AddressService.getAddress(address, otherInfo.postnr)\r\n const latlng = data.adgangsadresse.adgangspunkt.koordinater\r\n updateUnion({\r\n address: address,\r\n postal_code: otherInfo.postnr,\r\n city: otherInfo.postnrnavn,\r\n latlng: { lat: latlng[1], lng: latlng[0] },\r\n })\r\n setSuggestions([])\r\n }\r\n\r\n const renderSuggestions = () => (\r\n \r\n {suggestions.map((suggestion, index) => {\r\n const borderWidth = index !== suggestions.length - 1 ? 1 : 0\r\n return (\r\n handleSuggestionClick(suggestion)}\r\n >\r\n {suggestion.tekst}\r\n \r\n )\r\n })}\r\n \r\n )\r\n\r\n const handlePostalCodeChange = async (postalCode) => {\r\n clearTimeout(timeout.current)\r\n postalCode = postalCode.replace(/[^0-9]/g, '')\r\n if (postalCode.length === 0) setIsPostalValid(true)\r\n if (postalCode.length > 0) {\r\n timeout.current = setTimeout(async () => {\r\n const city = await AddressService.getCityFromPostalCode(postalCode)\r\n updateUnion({ city: city ?? '' })\r\n setIsPostalValid(city !== null)\r\n }, 400)\r\n }\r\n updateUnion({ postal_code: postalCode })\r\n }\r\n\r\n const handleFaculties = (faculties) => {\r\n setSelectedFaculties(faculties)\r\n setFacultiesVisible(false)\r\n }\r\n\r\n if (!loading && union) {\r\n return (\r\n \r\n \r\n \r\n \r\n updateUnion({ img_id: null, img_filename: null })}\r\n placeholder={imageBobl}\r\n />\r\n \r\n\r\n \r\n \r\n updateUnion({ title: text })} />\r\n \r\n \r\n \r\n updateUnion({ body: value })} />\r\n \r\n \r\n \r\n \r\n {!isAddressValid && (\r\n \r\n {txt('unions.create.invalidAddress')}\r\n \r\n )}\r\n {suggestions.length > 0 && union.address !== '' && renderSuggestions()}\r\n \r\n\r\n \r\n \r\n \r\n \r\n {!isPostalValid && (\r\n \r\n {txt('unions.create.invalidPostalCode')}\r\n \r\n )}\r\n {isMissingPostalCode && (\r\n \r\n {txt('unions.create.postalCodeRequired')}\r\n \r\n )}\r\n \r\n \r\n \r\n updateUnion({ city: value })}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n updateUnion({ url: text })} />\r\n \r\n\r\n {!universe && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pickMunicipality()}\r\n \r\n )}\r\n\r\n {union.universe_id === 12 && universe?.id === 12 && faculties.length > 0 && (\r\n \r\n \r\n setFacultiesVisible(true)}\r\n style={{\r\n backgroundColor: Colors.white,\r\n borderRadius: 10,\r\n ...ShadowStyles.shadowInputs,\r\n padding: 10,\r\n marginBottom: 12,\r\n }}\r\n >\r\n 1\r\n ? selectedFaculties.size + txt('unions.create.faculty.multipleSelected')\r\n : txt('unions.create.faculty.select')\r\n }\r\n />\r\n \r\n setFacultiesVisible(false)}\r\n faculties={faculties}\r\n onPress={handleFaculties}\r\n defaultFaculties={selectedFaculties}\r\n required\r\n />\r\n {isMissingFaculties && (\r\n \r\n {txt('unions.create.faculty.invalid')}\r\n \r\n )}\r\n \r\n )}\r\n\r\n \r\n setVisible(true)}\r\n />\r\n \r\n \r\n {txt('unions.edit.deleteText')}\r\n \r\n {txt('post.deletePostYes')}\r\n setVisible(false)}>{txt('post.deletePostNo')}\r\n \r\n \r\n \r\n \r\n \r\n {keyboardSpacerShow()}\r\n \r\n )\r\n }\r\n return \r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n buttonsContainer: {\r\n alignSelf: 'stretch',\r\n flexDirection: 'row',\r\n justifyContent: 'space-evenly',\r\n marginVertical: 10,\r\n },\r\n container: { flex: 1, ...SpacingStyles.widthAndHeight },\r\n errorMessage: {\r\n color: Colors.errorBackground,\r\n ...TypographyStyles.textSmallBold,\r\n marginBottom: 5,\r\n },\r\n imagePickerContainer: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: 12,\r\n },\r\n inputRow: {\r\n flex: 1,\r\n flexDirection: 'row',\r\n zIndex: -1,\r\n },\r\n margin10: { margin: 10 },\r\n marginBottom: { marginBottom: 5 },\r\n marginInput: { marginBottom: 15 },\r\n marginInputSplitCity: {\r\n flex: 1,\r\n marginBottom: 15,\r\n },\r\n marginInputSplitPostalCode: {\r\n flex: 1,\r\n marginBottom: 15,\r\n marginRight: 5,\r\n },\r\n picker: {\r\n backgroundColor: Colors.white,\r\n padding: Platform.OS === 'android' ? 0 : 10,\r\n paddingLeft: Platform.OS === 'android' ? 6 : 10,\r\n borderRadius: 12,\r\n marginTop: 6,\r\n borderRight: 24,\r\n ...ShadowStyles.shadowInputs,\r\n },\r\n suggestion: {\r\n borderBottomColor: Colors.blackTransparent,\r\n padding: 10,\r\n },\r\n suggestionsContainer: {\r\n ...ShadowStyles.shadowInputs,\r\n backgroundColor: Colors.white,\r\n borderRadius: 12,\r\n marginTop: 20,\r\n position: 'absolute',\r\n top: 48,\r\n width: '100%',\r\n zIndex: 1,\r\n },\r\n textCenter: { textAlign: 'center' },\r\n})\r\n","import React from 'react'\r\nimport EditUnion from '../../components/views/Union/EditUnion'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport {\r\n deleteUnion,\r\n getFullUnion,\r\n updateUnion,\r\n} from '../../services/api/Unions'\r\nimport {\r\n deleteUnion as deleteUnionApi,\r\n getFullUnion as getFullUnionApi,\r\n updateUnion as updateUnionApi,\r\n} from '../../services/api/Unions'\r\n\r\nexport default class EditUnionScreen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n async getFullUnion(id) {\r\n return await getFullUnionApi(id)\r\n }\r\n\r\n async deleteUnion(unionId) {\r\n return await deleteUnionApi(unionId)\r\n }\r\n\r\n async updateUnion(data) {\r\n return await updateUnionApi(data)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","import React from 'react'\r\nimport { TextInput, View, StyleSheet } from 'react-native'\r\n\r\nimport { txt } from '../../locales/i18n'\r\nimport Colors from '../../constants/Colors'\r\nimport { ShadowStyles, TypographyStyles } from '../../styles'\r\n\r\nimport NormalIcon from '../../components/icons/NormalIcon'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport const SearchBar = (props) => (\r\n \r\n \r\n\r\n \r\n\r\n {props.value !== '' && (\r\n \r\n \r\n \r\n )}\r\n \r\n)\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: Colors.white,\r\n paddingHorizontal: 12,\r\n paddingVertical: 10,\r\n borderRadius: 10,\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n ...ShadowStyles.shadowInputs,\r\n marginTop: 6,\r\n },\r\n\r\n input: {\r\n flex: 1,\r\n marginLeft: 6,\r\n ...TypographyStyles.text,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { Image, Platform, StyleSheet, View } from 'react-native'\r\nimport moment from 'moment'\r\n\r\nimport { CustomText } from '../text/StyledText'\r\nimport NormalIcon from '../../components/icons/NormalIcon'\r\n\r\nimport Colors from '../../constants/Colors'\r\nimport { ShadowStyles } from '../../styles'\r\nimport { txt } from '../../locales/i18n'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\nimport * as Linking from \"expo-linking\"\r\nimport { generateUUID } from \"../../services/api/User\"\r\nimport Layout from \"../../constants/Layout\"\r\nimport Paths from \"../../constants/Paths\"\r\n\r\nexport const EventListItem = ({ event, navigateToEvent }) => {\r\n\tconst isPlusMemberEvent = event?.plusMembersOnly ?? false\r\n\r\n\tconst soldOut = event?.totalTickets && (Number(event?.soldTickets) === Number(event.totalTickets))\r\n\tconst fewTicketsLeft = event?.totalTickets && (Number(event.soldTickets) > (Number(event.totalTickets) / 2))\r\n\r\n\tconst now = moment()\r\n\tconst eventStart = moment(event.dateStart)\r\n\tconst diffInDays = eventStart?.diff(now, 'days')\r\n\tconst lastChance = soldOut === false && fewTicketsLeft === false && diffInDays && diffInDays <= 10\r\n\r\n\tconst handleOpenLink = async () => {\r\n\t\tconst uuid = await generateUUID()\r\n\r\n\t\tconst url = `${event.bookingLink}?plusMember=${uuid}`\r\n\r\n\t\tif (Platform.OS === 'web') {\r\n\t\t\twindow.open(url, '_blank')\r\n\t\t} else await Linking.openURL(url)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{soldOut === true ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{txt('event.soldOut')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : fewTicketsLeft === true ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{txt('event.fewTicketsLeft')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : lastChance === true ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{txt('event.lastChance')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t\r\n\r\n\t\t\t\t{isPlusMemberEvent ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('events.plusMember')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{moment(event.dateStart).format('ddd. LL')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t{event.title}\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{event.teaser ?? event.body.replace(/([\\uE000-\\uF8FF]|\\uD83C[\\uDF00-\\uDFFF]|\\uD83D[\\uDC00-\\uDDFF])/g, '')}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{isPlusMemberEvent ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('events.plusMemberPrice', { price: event.price })}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{event.postalCode}, {event.city}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcardContainer: {\r\n\t\twidth: Layout.small ? '100%' : '50%',\r\n\t\tpaddingHorizontal: 12,\r\n\t\tpaddingVertical: 8,\r\n\t},\r\n\r\n\teventCard: {\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tborderRadius: 12,\r\n\t\t...ShadowStyles.cardShadow,\r\n\t\tflex: 1,\r\n\t},\r\n\r\n\teventImage: {\r\n\t\tborderTopRightRadius: 6,\r\n\t\tborderTopLeftRadius: 6,\r\n\t\theight: 150,\r\n\t},\r\n\r\n\tticketStatusContainer: {\r\n\t\tposition: 'absolute',\r\n\t\tpaddingHorizontal: 10,\r\n\t\tpaddingVertical: 6,\r\n\t\tbottom: 6,\r\n\t\tleft: 6,\r\n\t\tborderRadius: 18\r\n\t},\r\n\r\n\tbannerContainer: {\r\n\t\tposition: 'absolute',\r\n\t\tbackgroundColor: Colors.whiteTransparent,\r\n\t\tpaddingHorizontal: 10,\r\n\t\tpaddingVertical: 6,\r\n\t\ttop: 6,\r\n\t\tright: 6,\r\n\t\tborderRadius: 18\r\n\t},\r\n\r\n\teventTextContainer: {\r\n\t\tpadding: 12,\r\n\t\tgap: 6,\r\n\t\tflex: 1,\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\r\n})\r\n","import { apiGet } from './ApiRequest'\r\n\r\nexport async function searchEvents({ search, sorting, plusMember = false }) {\r\n const urlQueryParams = {}\r\n\r\n if (search !== '') urlQueryParams.search = search\r\n if (sorting !== null) urlQueryParams.sorting = sorting\r\n if (plusMember === true) urlQueryParams.plusMember = true\r\n\r\n const urlQueryEntries = Object.entries(urlQueryParams)\r\n const urlQuery = urlQueryEntries.map(([key, value]) => key + '=' + value).join('&')\r\n\r\n const events = await apiGet('events?' + urlQuery)\r\n return events ?? []\r\n}\r\n\r\nexport async function getEvent(eventId) {\r\n const event = await apiGet('events/' + eventId)\r\n return event ?? null\r\n}\r\n","import React, { useCallback, useEffect, useRef, useState } from 'react'\r\nimport { FlatList, Image, StyleSheet, View } from 'react-native'\r\nimport { useSelector } from 'react-redux'\r\nimport moment from 'moment'\r\n\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport { CustomText } from '../../components/text/StyledText'\r\nimport { SearchBar } from '../../components/events/SearchBar'\r\nimport { EventListItem } from '../../components/events/EventListItem'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport LoadingSpinner from '../../components/activityIndicators/LoadingSpinner'\r\nimport CustomDialog, { ContentContainer, ScrollableDialog } from '../../components/dialogs/CustomDialog'\r\nimport { ButtonPrimary } from '../../components/buttons/StyledButtons'\r\n\r\nimport NormalIcon from '../../components/icons/NormalIcon'\r\n\r\nimport { txt } from '../../locales/i18n'\r\nimport TxtTMD from '../../constants/TxtTMD'\r\nimport Layout from '../../constants/Layout'\r\nimport Colors from '../../constants/Colors'\r\nimport * as EventService from '../../services/api/Events'\r\nimport CustomPressable from \"../../components/pressables/CustomPressable\"\r\nimport { URLOpener } from \"../../utils/URLOpener\"\r\nimport Paths from \"../../constants/Paths\"\r\nimport { useNavigation, useRoute } from \"@react-navigation/core\"\r\nimport { getUniverseConfig, getUniverseId } from \"../../universe/universeController\"\r\nimport { getSubscription } from \"../../services/api/User\"\r\nimport { ShadowStyles } from \"../../styles\"\r\n\r\nexport const EventFeedScreen = () => {\r\n const user = useSelector(({ user }) => user)\r\n const navigation = useNavigation()\r\n const userToken = useSelector((state) => state.userToken)\r\n moment.locale(user?.language ?? 'da')\r\n\r\n const [events, setEvents] = useState([])\r\n const [plusMemberEvents, setPlusMemberEvents] = useState([])\r\n const [combinedEvents, setCombinedEvents] = useState([])\r\n const [isLoading, setIsLoading] = useState(true)\r\n const [sorting, setSorting] = useState('date')\r\n const [search, setSearch] = useState('')\r\n const [showSortDialog, setShowSortDialog] = useState(false)\r\n const [activeSubscription, setActiveSubscription] = useState(false)\r\n const [showPlusMemberInfoDialog, setShowPlusMemberInfoDialog] = useState(false)\r\n const searchTimeout = useRef(null)\r\n\r\n const [universe, setUniverse] = useState(null)\r\n const [universeObject, setUniverseObject] = useState(null)\r\n const route = useRoute()\r\n\r\n useEffect(() => {\r\n getSubscription().then((sub) => {\r\n setActiveSubscription(sub?.state === 'active' || sub?.state === 'cancelled')\r\n })\r\n\r\n let universeName = route.params?.universe?.toLowerCase()\r\n if (!universeName) return\r\n\r\n const universeId = getUniverseId(universeName)\r\n setUniverse({ id: universeId, name: universeName })\r\n setUniverseObject(getUniverseConfig(universeName))\r\n\r\n }, [navigation, route.params])\r\n\r\n const getEvents = useCallback(async () => {\r\n setIsLoading(true)\r\n\r\n const events = await EventService.searchEvents({ search, sorting })\r\n setEvents(events)\r\n\r\n const plusMemberEvents = await EventService.searchEvents({ search, sorting, plusMember: true })\r\n setPlusMemberEvents(plusMemberEvents)\r\n\r\n setIsLoading(false)\r\n }, [search, sorting, setIsLoading, setEvents, setPlusMemberEvents])\r\n\r\n useEffect(() => {\r\n if (searchTimeout.current !== null) {\r\n clearTimeout(searchTimeout.current)\r\n }\r\n\r\n searchTimeout.current = setTimeout(getEvents, 350)\r\n }, [search, sorting])\r\n\r\n const weave = (arr1, arr2) => {\r\n const weaved = [...arr1]\r\n const steps = 3\r\n\r\n for (let index = 0; index < arr2.length; index++) {\r\n const element = arr2[index]\r\n const position = (index + 1) * steps - 1\r\n weaved.splice(position, 0, element)\r\n }\r\n\r\n return weaved\r\n }\r\n\r\n useEffect(() => {\r\n if (events && plusMemberEvents) {\r\n const combined = weave(events, plusMemberEvents)\r\n setCombinedEvents(combined)\r\n }\r\n }, [events, plusMemberEvents])\r\n\r\n const navigateToEvent = async (eventId) => {\r\n if (userToken) {\r\n const params = { eventId }\r\n if (universe?.name) params.universe = universe.name\r\n navigation.navigate('Event', params)\r\n }\r\n else await URLOpener(Paths.getBaseUrl() + `events/${eventId}`)\r\n }\r\n\r\n const renderEvent = ({ item: event }) => {\r\n return navigateToEvent(event.id)} />\r\n }\r\n\r\n const renderSearchBar = () => (\r\n \r\n setSearch('')} />\r\n\r\n setShowSortDialog(true)}\r\n style={styles.searchBarSortButton}\r\n >\r\n \r\n \r\n \r\n )\r\n\r\n const renderListFooter = () => {\r\n if (isLoading) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n if (events.length === 0) return null\r\n\r\n return (\r\n \r\n {txt('events.listFooter')}\r\n \r\n )\r\n }\r\n\r\n const renderListEmpty = () => (\r\n \r\n {txt('events.listEmpty')}\r\n \r\n )\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {renderSearchBar()}\r\n\r\n {activeSubscription && (\r\n setShowPlusMemberInfoDialog(true)} style={styles.plusMemberBanner}>\r\n {txt('events.plusMemberCard1')}\r\n {txt('events.plusMemberCard2')}\r\n {txt('events.plusMemberCard3')}\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n\r\n setShowSortDialog(false)} style={styles.sortDialog}>\r\n \r\n {txt('events.sortDialog.title')}\r\n\r\n \r\n setSorting('date')}\r\n style={styles.sortDialogSelectionContainer}\r\n >\r\n \r\n {txt('events.sortDialog.date')}\r\n\r\n \r\n \r\n\r\n setSorting('distance')}\r\n style={styles.sortDialogSelectionContainer}\r\n >\r\n \r\n {txt('events.sortDialog.distance')}\r\n\r\n \r\n \r\n \r\n\r\n setShowSortDialog(false)}\r\n />\r\n \r\n \r\n\r\n setShowPlusMemberInfoDialog(false)}\r\n >\r\n \r\n \r\n \r\n {'OplevAlt'}\r\n \r\n \r\n {txt('events.plusMemberInfoDialog')}\r\n \r\n \r\n setShowPlusMemberInfoDialog(false)}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n width: '100%',\r\n alignSelf: 'center',\r\n maxWidth: Layout.maxFeedWidth,\r\n },\r\n\r\n searchBarContainer: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n marginHorizontal: 12,\r\n },\r\n\r\n searchBarSortButton: {\r\n padding: 6,\r\n },\r\n\r\n eventList: {\r\n flex: 1,\r\n },\r\n\r\n textAlignCenter: {\r\n textAlign: 'center',\r\n },\r\n\r\n footerContainer: {\r\n padding: 12,\r\n margin: 12,\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n\r\n sortDialog: {\r\n maxWidth: 280,\r\n width: '100%',\r\n },\r\n\r\n sortDialogContent: {\r\n margin: 24,\r\n },\r\n\r\n sortDialogSelectionsContainer: {\r\n marginVertical: 12,\r\n },\r\n\r\n sortDialogSelectionContainer: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n marginVertical: 6,\r\n },\r\n\r\n sortDialogSelectionText: {\r\n marginLeft: 6,\r\n marginRight: 'auto',\r\n },\r\n\r\n sortDialogButton: {\r\n backgroundColor: Colors.blueAzure,\r\n },\r\n\r\n sortDialogButtonTitle: {\r\n paddingHorizontal: 12,\r\n },\r\n plusMemberBanner: {\r\n backgroundColor: Colors.white,\r\n margin: 12,\r\n padding: 12,\r\n borderRadius: 6,\r\n ...ShadowStyles.cardShadow,\r\n borderLeftWidth: 6,\r\n borderLeftColor: Colors.orange,\r\n flexDirection: 'row',\r\n flexWrap: 'wrap'\r\n }\r\n})\r\n","import { useState, useEffect } from 'react'\r\nimport { Platform } from 'react-native'\r\nimport * as Linking from 'expo-linking'\r\nimport AsyncStorage from '@react-native-async-storage/async-storage'\r\nimport { useAtom, useSetAtom } from 'jotai'\r\n\r\nimport { deepLinkingStatusAtom, forceReloadAtom } from '../atoms'\r\nimport { postLoginAction, getToken } from '../services/authActions'\r\nimport * as Updates from \"expo-updates\"\r\n\r\nexport const useDeepLinkingStatus = () => {\r\n\tconst [deepLinkingStatus, setDeepLinkingStatus] = useAtom(deepLinkingStatusAtom)\r\n\tconst setForceReloadAtom = useSetAtom(forceReloadAtom)\r\n\tconst [queryParams, setQueryParams] = useState(null)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (Platform.OS === 'web') return\r\n\r\n\t\tconst urlSubscriber = Linking.addEventListener('url', async ({ url }) => {\r\n\t\t\tconst { queryParams = null } = Linking.parse(url)\r\n\t\t\tif (queryParams === null) return setDeepLinkingStatus('error')\r\n\t\t\tsetQueryParams(queryParams)\r\n\r\n\t\t\tconst { status = null, action = null } = queryParams\r\n\r\n\t\t\tif (action === 'reload') return await Updates.reloadAsync()\r\n\r\n\t\t\tif (status === 'cancel') return setDeepLinkingStatus('idle')\r\n\t\t\tif (status === 'error') return setDeepLinkingStatus('error')\r\n\r\n\t\t\tif (status === 'success') {\r\n\t\t\t\tsetDeepLinkingStatus('success')\r\n\t\t\t\tconst token = Platform.OS === 'web' ? getToken() : await AsyncStorage.getItem('userToken')\r\n\t\t\t\tif (token) await postLoginAction(token)\r\n\t\t\t\tsetForceReloadAtom(Date.now())\r\n\t\t\t\treturn setDeepLinkingStatus('idle')\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\treturn () => urlSubscriber.remove()\r\n\t}, [])\r\n\r\n\treturn { status: deepLinkingStatus, set: setDeepLinkingStatus, queryParams }\r\n}\r\n","import React, { useCallback, useEffect, useState } from 'react'\r\nimport { Image, StyleSheet, TouchableOpacity, View, Platform } from 'react-native'\r\nimport { useSelector } from 'react-redux'\r\nimport { useRoute } from '@react-navigation/core'\r\nimport * as AuthSession from 'expo-auth-session'\r\nimport * as Linking from 'expo-linking'\r\nimport moment from 'moment'\r\n\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { formatForMetaTitle } from '../../components/text/TextFormatter'\r\nimport LoadingSpinner from '../../components/activityIndicators/LoadingSpinner'\r\nimport { CustomText } from '../../components/text/StyledText'\r\nimport { ButtonPrimary } from '../../components/buttons/StyledButtons'\r\n\r\nimport NormalIcon from '../../components/icons/NormalIcon'\r\n\r\nimport Paths from '../../constants/Paths'\r\nimport Layout from '../../constants/Layout'\r\nimport Colors from '../../constants/Colors'\r\n\r\nimport * as EventService from '../../services/api/Events'\r\nimport { openMap } from '../../utils/openMap'\r\nimport { txt } from '../../locales/i18n'\r\nimport { URLOpener } from '../../utils/URLOpener'\r\nimport { addLinkToText } from '../../utils/addLinkToText.js'\r\nimport { getUniverseConfig } from '../../universe/universeController'\r\nimport { useDeepLinkingStatus } from '../../hooks/DeepLinkingStatus'\r\n\r\nexport const EventScreen = () => {\r\n\tconst deeplinkStatus = useDeepLinkingStatus()\r\n\tconst user = useSelector(({ user }) => user)\r\n\tmoment.locale(user.language)\r\n\r\n\tconst route = useRoute()\r\n\tconst { eventId, universe } = route.params\r\n\r\n\tconst universeObject = getUniverseConfig(universe?.toLowerCase())\r\n\tconst [event, setEvent] = useState(null)\r\n\tconst [isLoading, setIsLoading] = useState(true)\r\n\tconst imageSource = Paths.imageEventUrlBase + event?.imageSource\r\n\r\n\tconst soldOut = event?.totalTickets && (Number(event?.soldTickets) === Number(event.totalTickets))\r\n\tconst fewTicketsLeft = event?.totalTickets && (Number(event.soldTickets) > (Number(event.totalTickets) / 2))\r\n\r\n\tconst now = moment()\r\n\tconst eventStart = moment(event?.dateStart)\r\n\tconst diffInDays = eventStart?.diff(now, 'days')\r\n\tconst lastChance = soldOut === false && fewTicketsLeft === false && diffInDays && diffInDays <= 10\r\n\r\n\tconst handleOpenMap = () => {\r\n\t\topenMap(event.address, event.postalCode)\r\n\t}\r\n\r\n\tconst getEvent = useCallback(async () => {\r\n\t\tsetIsLoading(true)\r\n\r\n\t\tconst event = await EventService.getEvent(eventId)\r\n\t\tsetEvent(event)\r\n\r\n\t\tsetIsLoading(false)\r\n\t}, [eventId])\r\n\r\n\tuseEffect(() => {\r\n\t\tgetEvent()\r\n\t}, [getEvent])\r\n\r\n\tconst handleOpenEvent = async () => {\r\n\t\tconst totalTickets = event?.totalTickets ?? null\r\n\t\tif (totalTickets === null) return URLOpener(event.bookingLink)\r\n\r\n\t\tconst url = Paths.getBaseUrl() + '/oplev/' + eventId + '/checkout'\r\n\t\tif (Platform.OS === 'web') return window.open(url, '_blank')\r\n\r\n\t\tdeeplinkStatus.set('pending')\r\n\r\n\t\tconst appDeeplink = AuthSession.makeRedirectUri()\r\n\t\tconst urlQuery = '?appDeeplink=' + encodeURIComponent(appDeeplink)\r\n\t\tawait Linking.openURL(url + urlQuery)\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{event && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t{soldOut === true ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{txt('event.soldOut')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : fewTicketsLeft === true ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{txt('event.fewTicketsLeft')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : lastChance === true ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{txt('event.lastChance')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\t: null}\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t{event.title}\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{moment(event.dateStart).format('dddd lll')} - {moment(event.dateEnd).format('LT')}\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{txt('event.description')}\r\n\t\t\t\t\t\t\t\t\t{addLinkToText(event.body)}\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{txt('event.organizer')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{event.organizer}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{txt('event.address')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{event.address}, {event.postalCode} {event.city}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{txt('event.showMap')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{isLoading && }\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t{txt('event.ticketPrice')}\r\n\t\t\t\t\t{event?.price}{txt('event.currency')}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tticketStatus: {\r\n\t\tposition: 'absolute',\r\n\t\tpaddingHorizontal: 10,\r\n\t\tpaddingVertical: 6,\r\n\t\tbottom: 6,\r\n\t\tleft: 6,\r\n\t\tborderRadius: 18\r\n\t},\r\n\r\n\teventCardItem: {\r\n\t\tpadding: 12,\r\n\t\talignSelf: 'center',\r\n\t\tmaxWidth: Layout.maxFeedWidth,\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tborderTopRightRadius: 10,\r\n\t\tborderTopLeftRadius: 10,\r\n\t},\r\n\r\n\teventImage: {\r\n\t\theight: Layout.small ? 200 : 350,\r\n\t\tborderRadius: 10,\r\n\t},\r\n\r\n\teventTextContentContainer: {\r\n\t\tmarginBottom: 75,\r\n\t\tpadding: 12,\r\n\t\tgap: 24,\r\n\t},\r\n\r\n\tgap: {\r\n\t\tgap: 10,\r\n\t},\r\n\r\n\tstickyBottomTab: {\r\n\t\tpadding: 12,\r\n\t\talignSelf: 'center',\r\n\t\twidth: '100%',\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tposition: 'absolute',\r\n\t\tbottom: 0,\r\n\t\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-evenly',\r\n\t\tshadowColor: Colors.darkGrey, // IOS\r\n\t\tshadowOffset: { height: 1, width: 0 }, // IOS\r\n\t\tshadowOpacity: 0.15, // IOS\r\n\t\tshadowRadius: 15, //IOS\r\n\t\televation: 15, //Android\r\n\t},\r\n\r\n\teventPriceButton: {\r\n\t\tminWidth: 200,\r\n\t\tbackgroundColor: Colors.greenBtn,\r\n\t\tpaddingVertical: 13,\r\n\t\tpaddingHorizontal: 24,\r\n\t\tborderRadius: 10,\r\n\t},\r\n})\r\n","import Colors from '../constants/Colors'\r\nimport React from 'react'\r\nimport Fontsizes from '../constants/Fontsizes'\r\nimport { txt } from '../locales/i18n'\r\nimport NormalIcon, { BoblbergIcon } from '../components/icons/NormalIcon'\r\nimport { Dimensions, TouchableOpacity } from 'react-native'\r\nimport * as RootNavigation from './RootNavigation'\r\nimport { CustomText } from '../components/text/StyledText'\r\nimport store from '../redux/store'\r\nimport { getExtraTabs } from './MenuConfig'\r\n\r\nexport function RightElement(props) {\r\n\tconst { width } = Dimensions.get('window')\r\n\tconst country = store.getState()?.user?.country ?? null\r\n\r\n\tconst now = new Date()\r\n\tconst currentYear = new Date().getFullYear()\r\n\tconst christmasStart = new Date(currentYear, 10, 1) // 1st of November\r\n\tconst newYearStartDk = new Date(currentYear, 11, 16) // 16th of December\r\n\tconst newYearStartSe = new Date(currentYear, 11, 1) // 1st of December\r\n\tconst newYearEnd = new Date(currentYear + 1, 0, 1, 6) // 1st of January 6am\r\n\tconst renderChristmas = country === 'Denmark' && (now > christmasStart && now < newYearStartDk) && props.type !== 'Boblberg'\r\n\tconst renderNewYearDk = country === 'Denmark' && (now > newYearStartDk && now < newYearEnd) && props.type !== 'Boblberg'\r\n\tconst renderNewYearSe = country === 'Sweden' && (now > newYearStartSe && now < newYearEnd) && props.type !== 'Boblberg'\r\n\r\n\tif (country === 'Germany') return null\r\n\tif (country !== 'Denmark' && renderChristmas) return null\r\n\r\n\tconst buttonText = () => {\r\n\t\tif (renderChristmas) return txt('christmasFriends.title')\r\n\t\tif (renderNewYearDk) return txt('stackMenu.nytaarsvenner')\r\n\t\tif (renderNewYearSe) return txt('stackMenu.nytaarsvenner')\r\n\t\tif (props.type === 'Boblberg') return 'Boblberg'\r\n\t\treturn null\r\n\t}\r\n\r\n\tconst buttonIcon = () => {\r\n\t\tif (renderChristmas) {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t)\r\n\t\t}\r\n\t\tif (renderNewYearDk) {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t)\r\n\t\t}\r\n\t\tif (renderNewYearSe) {\r\n\t\t\treturn (\r\n\t\t\t\r\n\t\t\t)\r\n\t\t}\r\n\t\tif (props.type === 'Boblberg') {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t)\r\n\t\t}\r\n\t\treturn null\r\n\t}\r\n\r\n\tif (renderChristmas || renderNewYearDk || renderNewYearSe || props.type === 'Boblberg') return (\r\n\t\t {\r\n\t\t\t\tif (renderChristmas) return RootNavigation.navigate('christmasFriends')\r\n\t\t\t\tif (renderNewYearDk) return RootNavigation.navigate('universe', { universe: 'nytaarsvenner' })\r\n\t\t\t\tif (renderNewYearSe) return RootNavigation.navigate('universe', { universe: 'nyarsvanner' })\r\n\t\t\t\treturn RootNavigation.navigate('app')\r\n\t\t\t}}\r\n\t\t\tstyle={{ padding: 12, flexDirection: 'row', alignItems: 'center' }}\r\n\t\t\taccessibilityRole='button'\r\n\t\t>\r\n\t\t\t{buttonIcon()}\r\n\r\n\t\t\t{width > 800 && (\r\n\t\t\t\t\r\n\t\t\t\t\t{buttonText()}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport const stackConfig = ({ universeConfig, rightElement }) => {\r\n return {\r\n headerStyle: {\r\n backgroundColor: universeConfig?.backgroundColor || Colors.background,\r\n borderBottomColor: 'transparent',\r\n elevation: 0, // remove shadow on Android\r\n shadowOpacity: 0,\r\n },\r\n headerTitleStyle: {\r\n color: Colors.text,\r\n fontFamily: 'raleway-bold',\r\n fontSize: Fontsizes.l,\r\n },\r\n headerTitleAlign: 'center',\r\n headerBackImage: () => (\r\n \r\n ),\r\n headerRight: () => {\r\n // Dont show rightElement in 'nytaarsvenner' universe\r\n if (universeConfig?.name !== 'nytaarsvenner' && universeConfig?.name !== 'nyarsvanner') return \r\n },\r\n headerBackTitleVisible: true,\r\n headerTruncatedBackTitle: txt('mainTabNavigator.backTitle'),\r\n headerBackAccessibilityLabel: txt('mainTabNavigator.backTitle'),\r\n headerBackTitleStyle: {\r\n color: Colors.tintColor,\r\n fontFamily: 'raleway-regular',\r\n },\r\n animationEnabled: true,\r\n }\r\n}\r\n\r\nconst sharedScreens = {\r\n About: 'om-boblberg',\r\n Contact: 'kontakt',\r\n Stories: 'historier',\r\n Story: 'historier/:id',\r\n Conditions: 'betingelser',\r\n BlogsMenu: 'blogs',\r\n Blogs: 'blogs/:id',\r\n ProjectsMenu: 'projekter',\r\n Projects: 'projekter/:id',\r\n MunicipalityInfo: 'kommuneinfo',\r\n Press: 'presse',\r\n PartnersMenu: 'partnere',\r\n Partners: 'partnere/:id',\r\n AboutUs: 'om-os',\r\n Arrangements: 'arrangementer',\r\n Arrangement: 'arrangementer/:id',\r\n Faellesskabsprisen: 'faellesskabsprisen',\r\n LearnDanish: 'sprogland',\r\n SnakSammen: 'snaksammen',\r\n NeighborIntro: 'nabobobler',\r\n ChangePassword: 'nyt-password/:token',\r\n}\r\n\r\nconst getAppScreens = () => {\r\n const features = store.getState()?.user?.features\r\n const joinedGroups = store.getState()?.groups\r\n const extraTabs = getExtraTabs(features ?? [], joinedGroups?.length ?? 0)\r\n\r\n const screens = {\r\n HomeStack: {\r\n initialRouteName: 'Home',\r\n screens: {\r\n Home: 'bobler/:chip?',\r\n Post: 'bobl/:id',\r\n PostWithTitle: 'bobl/:id/:postTitle',\r\n EditPost: 'mine-bobler/rediger/:id',\r\n },\r\n },\r\n InboxStack: {\r\n initialRouteName: 'Inbox',\r\n screens: {\r\n Inbox: 'beskeder',\r\n Conversation: 'beskeder/:id',\r\n ConversationInfo: 'beskeder/:id/info',\r\n ProfileView: 'beskeder/profil/:id',\r\n },\r\n },\r\n CreatePostStack: {\r\n screens: {\r\n CreatePost: 'opret-bobl',\r\n },\r\n },\r\n GroupsStack: {\r\n screens: {},\r\n },\r\n ActivityStack: {\r\n initialRouteName: 'Activities',\r\n screens: {},\r\n },\r\n UnionStack: {\r\n initialRouteName: 'Unions',\r\n screens: {},\r\n },\r\n\r\n EventStack: {\r\n initialRouteName: 'Events',\r\n screens: {},\r\n },\r\n\r\n MenuStack: {\r\n initialRouteName: 'Menu',\r\n screens: {\r\n Menu: 'menu',\r\n Profile: 'profil',\r\n ProfileView: 'se-profil',\r\n SnakSammenOversigt: 'snaksammen-oversigt',\r\n VolunteerSignup: 'snaksammen-bliv-frivillig',\r\n SproglandOversigt: 'sprogland-oversigt',\r\n SproglandJunior: 'sprogland/junior',\r\n SproglandVolunteer: 'sprogland/frivillig/:chip',\r\n Conversation: 'sprogland/frivillig/beskeder/:id',\r\n ConversationInfo: 'sprogland/frivillig/beskeder/:id/info',\r\n SnakSammenVolunteer: 'snaksammen/frivillig/:chip',\r\n Settings: 'indstillinger',\r\n Notifications: 'notifikationer',\r\n WhatIsBoblberg: 'hvad-er-boblberg',\r\n ...sharedScreens,\r\n },\r\n },\r\n }\r\n const activityScreens = {\r\n Activities: 'aktiviteter/:chip?',\r\n Activity: 'aktivitet/:id',\r\n EditActivity: 'aktivitet/rediger/:id',\r\n }\r\n const unionScreens = {\r\n Unions: 'foreninger/:chip?',\r\n Union: 'forening/:id',\r\n EditUnion: 'forening/rediger/:id',\r\n }\r\n const groupScreens = {\r\n Groups: 'grupper/:chip?',\r\n Group: 'grupper/:id',\r\n }\r\n\r\n const eventScreens = {\r\n Events: 'oplev',\r\n Event: 'oplev/:eventId',\r\n }\r\n\r\n if (!features || !joinedGroups) return screens\r\n\r\n if (extraTabs.includes('groups')) {\r\n screens.GroupsStack.screens = groupScreens\r\n }\r\n\r\n if (extraTabs.includes('activities')) {\r\n screens.ActivityStack.screens = activityScreens\r\n }\r\n\r\n if (extraTabs.includes('events')) {\r\n screens.EventStack.screens = eventScreens\r\n }\r\n\r\n if (extraTabs.includes('unions')) {\r\n screens.UnionStack.screens = unionScreens\r\n }\r\n\r\n if (extraTabs.includes('groups') === false) {\r\n screens.MenuStack.screens = { ...screens.MenuStack.screens, ...groupScreens }\r\n }\r\n\r\n if (extraTabs.includes('activities') === false) {\r\n screens.MenuStack.screens = { ...screens.MenuStack.screens, ...activityScreens }\r\n }\r\n\r\n if (extraTabs.includes('events') === false) {\r\n screens.MenuStack.screens = { ...screens.MenuStack.screens, ...eventScreens }\r\n }\r\n\r\n if (extraTabs.includes('unions') === false) {\r\n screens.MenuStack.screens = { ...screens.MenuStack.screens, ...unionScreens }\r\n }\r\n\r\n return screens\r\n}\r\n\r\nconst universeScreens = {\r\n IntroUniverse: 'u/:universe',\r\n UniverseBoblStack: {\r\n initialRouteName: 'Bobls',\r\n screens: {\r\n Bobls: 'u/:universe/bobler/:chip?',\r\n Post: 'u/:universe/bobl/:id',\r\n EditPost: 'u/:universe/mine-bobler/rediger/:id',\r\n HerlevOffers: 'u/:universe/tilbud',\r\n },\r\n },\r\n UniverseConversationStack: {\r\n initialRouteName: 'Inbox',\r\n screens: {\r\n Inbox: 'u/:universe/beskeder',\r\n Conversation: 'u/:universe/beskeder/:id',\r\n ConversationInfo: 'u/:universe/beskeder/:id/info',\r\n ProfileView: 'u/:universe/beskeder/profil/:id',\r\n },\r\n },\r\n UniverseCreatePostStack: {\r\n screens: {\r\n UniverseCreatePost: 'u/:universe/opret-bobl',\r\n },\r\n },\r\n\tUniverseGroupsStack: {\r\n\t\tinitialRouteName: 'GroupsUniverse',\r\n\t\tscreens: {\r\n\t\t\tGroups: 'u/:universe/grupper/:chip?',\r\n\t\t\tGroup: 'u/:universe/grupper/:id',\r\n\t\t}\r\n\t},\r\n UniverseActivityStack: {\r\n initialRouteName: 'ActivitiesUniverse',\r\n screens: {\r\n Activities: 'u/:universe/aktiviteter/:chip?',\r\n Activity: 'u/:universe/aktivitet/:id',\r\n EditActivity: 'u/:universe/aktiviteter/rediger/:id',\r\n },\r\n },\r\n\tUniverseEventStack: {\r\n\t\tinitialRouteName: 'EventsUniverse',\r\n\t\tscreens: {\r\n\t\t\tEvents: 'u/:universe/oplev',\r\n\t\t\tEvent: 'u/:universe/oplev/:eventId',\r\n\t\t},\r\n\t},\r\n UniverseUnionStack: {\r\n initialRouteName: 'UnionsUniverse',\r\n screens: {\r\n Unions: 'u/:universe/foreninger/:chip?',\r\n Union: 'u/:universe/forening/:id',\r\n EditUnion: 'u/:universe/foreninger/rediger/:id',\r\n },\r\n },\r\n\tUniverseOfferStack: {\r\n\t\tscreens: {\r\n\t\t\tKrifaOffers: 'u/:universe/krifa-tilbud',\r\n\t\t},\r\n\t},\r\n UniverseMenuStack: {\r\n initialRouteName: 'Menu',\r\n screens: {\r\n Menu: 'u/:universe/menu',\r\n Profile: 'u/:universe/profil',\r\n ProfileView: 'u/:universe/se-profil',\r\n Settings: 'u/:universe/indstillinger',\r\n Notifications: 'u/:universe/notifikationer',\r\n Groups: 'u/:universe/menu/grupper/:chip?',\r\n Group: 'u/:universe/menu/grupper/:id',\r\n HerlevOffers: 'u/:universe/tilbud-til-dig',\r\n CovidScreenNewYear: 'u/:universe/covid19',\r\n\t\t\tStories: 'u/:universe/historier',\r\n\t\t\tStory: 'u/:universe/historier/:id',\r\n\t\t\tEvents: 'u/:universe/u/oplev',\r\n\t\t\tEvent: 'u/:universe/u/oplev/:eventId',\r\n },\r\n },\r\n}\r\n\r\nconst christmasFriendsScreens = {\r\n ChristmasIntro: 'julevenner',\r\n ChristmasTypeSelection: 'julevenner/type',\r\n ChristmasCreate: 'julevenner/opret',\r\n PostFeedStack: {\r\n initialRouteName: 'ChristmasFeed',\r\n screens: {\r\n ChristmasFeed: 'julevenner/bobler',\r\n ChristmasPost: 'julevenner/bobler/:id',\r\n },\r\n },\r\n MyPostStack: {\r\n initialRouteName: 'MyPostsChristmas',\r\n screens: {\r\n MyPostsChristmas: 'julevenner/mine',\r\n ChristmasPost: 'julevenner/mine/:id',\r\n ChristmasPostEdit: 'julevenner/mine/:id/rediger',\r\n },\r\n },\r\n ChristmasMenuStack: {\r\n initialRouteName: 'Menu',\r\n screens: {\r\n Menu: 'julevenner/menu',\r\n ChristmasFAQ: 'julevenner/faq',\r\n AfterSignupChristmas: 'julevenner/efter-opret',\r\n AfterMatchChristmas: 'julevenner/efter-match',\r\n Contact: 'julevenner/kontakt',\r\n Profile: 'julevenner/profil',\r\n ProfileView: 'julevenner/se-profil',\r\n Settings: 'julevenner/indstillinger',\r\n Groups: 'julevenner/grupper/:chip?',\r\n Group: 'julevenner/grupper/:id',\r\n },\r\n },\r\n ChristmasConversationStack: {\r\n initialRouteName: 'Inbox',\r\n screens: {\r\n Inbox: 'julevenner/beskeder',\r\n Conversation: 'julevenner/beskeder/:id',\r\n ConversationInfo: 'julevenner/beskeder/:id/info',\r\n ProfileView: 'julevenner/beskeder/profil/:id',\r\n },\r\n },\r\n}\r\n\r\nconst studieboblerScreens = {\r\n StudieboblerSelection: 'studiebobler',\r\n}\r\n\r\nexport const getAppConfig = () => {\r\n return {\r\n screens: {\r\n app: { screens: getAppScreens() },\r\n universe: { screens: universeScreens },\r\n christmasFriends: { screens: christmasFriendsScreens },\r\n studiebobler: { screens: studieboblerScreens },\r\n },\r\n }\r\n}\r\n\r\nexport const authConfig = {\r\n initialRouteName: 'Frontpage',\r\n screens: {\r\n Frontpage: '',\r\n Login: 'login',\r\n ResetPassword: 'reset-password',\r\n Menu: 'menu',\r\n SnakSammenSignup: 'snaksammen-opret',\r\n LearnDanishSignup: 'sprogland-opret',\r\n Groups: 'grupper',\r\n GroupsSignup: 'grupper/opret',\r\n Activities: 'aktiviteter/:chip?',\r\n Activity: 'aktivitet/:id',\r\n ActivitiesSignup: 'aktiviteter-opret',\r\n Events: 'oplev',\r\n IntroUniverse: 'u/:universe',\r\n SignupUniverse: 'u/:universe/opret',\r\n SignupChristmas: 'julevenner/opret',\r\n Post: 'bobl/:id',\r\n NeighborIntro: 'nabobobler',\r\n Unions: 'foreninger',\r\n Union: 'forening/:id',\r\n ChristmasIntro: 'julevenner',\r\n ChristmasLoginScreen: 'julevenner/login',\r\n ...sharedScreens,\r\n },\r\n}\r\n","import React from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport { txt } from '../../locales/i18n'\r\nimport OptionsList from '../../components/lists/OptionsList'\r\nimport TxtTMD from '../../constants/TxtTMD'\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport layout from '../../constants/Layout'\r\nimport { URLOpener } from '../../utils/URLOpener'\r\n\r\nexport default class AboutScreen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n searchText: '',\r\n data: [\r\n {\r\n body: txt('partners.title'),\r\n onPress: () => {\r\n this.props.navigation.navigate('PartnersMenu')\r\n },\r\n icon: {\r\n name: \"handshake-alt\",\r\n },\r\n },\r\n {\r\n body: txt('subjects.title'),\r\n onPress: () => URLOpener('https://boblberg.dk/inspiration'),\r\n icon: {\r\n name: \"list\",\r\n },\r\n },\r\n {\r\n body: txt('press.title'),\r\n onPress: () => {\r\n this.props.navigation.navigate('Press')\r\n },\r\n icon: {\r\n name: \"newspaper\",\r\n },\r\n },\r\n {\r\n body: txt('employment.title'),\r\n onPress: () => URLOpener('https://boblberg.dk/job'),\r\n icon: {\r\n name: \"suitcase\",\r\n },\r\n },\r\n {\r\n body: txt('blog.title'),\r\n onPress: () => {\r\n this.props.navigation.navigate('BlogsMenu')\r\n },\r\n icon: {\r\n name: \"edit\",\r\n },\r\n },\r\n {\r\n body: txt('projects.title'),\r\n onPress: () => {\r\n this.props.navigation.navigate('ProjectsMenu')\r\n },\r\n icon: {\r\n name: \"clipboard-check\",\r\n },\r\n },\r\n {\r\n body: txt('arrangements.title'),\r\n onPress: () => {\r\n this.props.navigation.navigate('Arrangements')\r\n },\r\n icon: {\r\n name: \"calendar-day\",\r\n },\r\n },\r\n {\r\n body: txt('faellesskabsprisen.title'),\r\n onPress: () => {\r\n this.props.navigation.navigate('Faellesskabsprisen')\r\n },\r\n icon: {\r\n name: \"award\",\r\n },\r\n },\r\n {\r\n body: txt('MunicipalityInfo.title'),\r\n onPress: () => {\r\n this.props.navigation.navigate('MunicipalityInfo')\r\n },\r\n icon: {\r\n name: \"info-circle\",\r\n },\r\n },\r\n {\r\n body: txt('aboutUs.title'),\r\n onPress: () => {\r\n this.props.navigation.navigate('AboutUs')\r\n },\r\n icon: {\r\n name: \"bobl\",\r\n boblbergIcon: true,\r\n },\r\n },\r\n ],\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n alignSelf: 'center',\r\n width: '100%',\r\n maxWidth: layout.maxFeedWidth,\r\n },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { View, Linking, StyleSheet } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\nimport { CustomText } from '../../components/text/StyledText'\r\nimport OptionsList from '../../components/lists/OptionsList'\r\nimport { URLOpener } from '../../utils/URLOpener'\r\nimport TxtTMD from '../../constants/TxtTMD'\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport { SpacingStyles, TypographyStyles } from '../../styles'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport { getSubscription } from '../../services/api/User'\r\nimport { getRegion } from '../../services/localization'\r\nimport CustomPressable from \"../../components/pressables/CustomPressable\"\r\n\r\nexport default function ContactScreen() {\r\n const navigation = useNavigation()\r\n const [data, setData] = useState([\r\n {\r\n body: txt('help.title'),\r\n onPress: () => URLOpener('https://boblberg.dk/hjaelp'),\r\n icon: { name: \"info-circle\" },\r\n },\r\n {\r\n body: txt('conditions.title'),\r\n onPress: () => navigation.navigate('Conditions'),\r\n icon: { name: \"file-check\" },\r\n },\r\n ])\r\n\r\n useEffect(() => {\r\n getSubscription().then(async (sub) => {\r\n const region = getRegion()\r\n\r\n const privacy = {\r\n body: txt('contact.privacypolicy'),\r\n onPress: () => URLOpener(`https://filer.boblberg.dk/Files/Privacy_Policy/boblberg_privacy_policy_${region}.pdf`),\r\n icon: { name: \"user-shield\" },\r\n }\r\n\r\n const cookie = {\r\n body: txt('contact.cookiepolicy'),\r\n onPress: () => URLOpener(`https://filer.boblberg.dk/Files/Cookie_Policy/boblberg_cookiepolicy_${region}.pdf`),\r\n icon: { name: \"cookie-bite\" },\r\n }\r\n\r\n if (!sub) return setData((prev) => [...prev, privacy, cookie])\r\n\r\n const subscription = {\r\n body: txt('conditions.subscription'),\r\n onPress: () => URLOpener(`https://filer.boblberg.dk/Files/Conditions/subscription_conditions_${region}.pdf`),\r\n icon: { name: \"file-check\" },\r\n }\r\n\r\n setData((prev) => [...prev, subscription, privacy, cookie])\r\n })\r\n }, [])\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n \r\n {txt('help.startText1')}\r\n \r\n {txt('help.title')}\r\n \r\n {txt('help.startText2')}\r\n \r\n Linking.openURL('mailto:support@boblberg.' + getRegion())}>\r\n \r\n {txt('supportMail')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n linkText: {\r\n color: Colors.tintColor,\r\n ...TypographyStyles.text,\r\n marginTop: 5,\r\n },\r\n textBold: { ...TypographyStyles.textBold },\r\n textContainer: {\r\n backgroundColor: Colors.white,\r\n borderRadius: 10,\r\n margin: 12,\r\n padding: 12,\r\n },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, StyleSheet, Image } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport Paths from '../../../constants/Paths'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ShadowStyles } from '../../../styles'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport Svg, { Path } from \"react-native-svg\"\r\n\r\nexport default function Story({ onPressAction, item }) {\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{item.title}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{item.teaser}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: {\r\n\t\tbackgroundColor: Colors.white,\r\n\t\t...ShadowStyles.cardShadow,\r\n\t\tborderRadius: 6,\r\n\t\tmargin: 10,\r\n\t},\r\n\tstoryContainer: {\r\n\t\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tstoryImage: {\r\n\t\tborderTopLeftRadius: 6,\r\n\t\tborderBottomLeftRadius: 6,\r\n\t\theight: 125,\r\n\t\twidth: 125,\r\n\t},\r\n\tsvgContainer: {\r\n\t\theight: 125,\r\n\t\twidth: 125,\r\n\t\tposition: 'absolute',\r\n\t\tright: -1\r\n\t},\r\n\ttextContainer: {\r\n\t\tflex: 1,\r\n\t\tpaddingHorizontal: 12\r\n\t},\r\n\tintroText: {\r\n\t\tpaddingTop: 6,\r\n\t\tfontSize: 14,\r\n\t\tcolor: Colors.textLight,\r\n\t},\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport Story from '../../components/views/Stories/Story'\r\nimport TxtTMD from '../../constants/TxtTMD'\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport { getStories } from '../../services/api/Stories'\r\nimport SearchList from '../../components/lists/SearchList'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport NormalIcon from '../../components/icons/NormalIcon'\r\nimport Colors from '../../constants/Colors'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport CustomPressable from \"../../components/pressables/CustomPressable\"\r\nimport { useNavigation, useRoute } from \"@react-navigation/core\"\r\nimport { getUniverseConfig, getUniverseId } from \"../../universe/universeController\"\r\n\r\nexport default function StoriesScreen(props) {\r\n const [universe, setUniverse] = useState(null)\r\n const [universeObject, setUniverseObject] = useState(null)\r\n const route = useRoute()\r\n const navigation = useNavigation()\r\n\r\n useEffect(() => {\r\n let universeName = route.params?.universe?.toLowerCase()\r\n if (!universeName) return\r\n\r\n const universeId = getUniverseId(universeName)\r\n setUniverse({ id: universeId, name: universeName })\r\n setUniverseObject(getUniverseConfig(universeName))\r\n\r\n }, [navigation, route.params])\r\n\r\n async function fetchStories(searchInput) {\r\n return await getStories(searchInput)\r\n }\r\n\r\n useEffect(() => {\r\n props.navigation.setOptions({\r\n headerBackTitleVisible: false,\r\n headerBackImage: () => (\r\n \r\n \r\n \r\n ),\r\n })\r\n }, [])\r\n\r\n async function navigateToPost(storyId) {\r\n const params = { id: storyId }\r\n if (universe?.name) params.universe = universe.name\r\n props.navigation.navigate('Story', params)\r\n }\r\n\r\n function renderItem({ item }) {\r\n return (\r\n {\r\n navigateToPost(item.id)\r\n }}\r\n />\r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n )\r\n}\r\n","import { apiGet } from './ApiRequest'\r\n\r\nexport async function getStories({ search, skip, amount }) {\r\n const stories = await apiGet(\r\n `stories?search=${search}&skip=${skip}&amount=${amount}`\r\n )\r\n return stories.stories\r\n}\r\n\r\nexport async function getStory(id) {\r\n const story = await apiGet(`stories/${id}`)\r\n return story.story\r\n}\r\n","import { View, StyleSheet, Image } from 'react-native'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport React from 'react'\r\nimport { txt } from '../../locales/i18n'\r\nimport { CustomText } from '../text/StyledText'\r\nimport Colors from '../../constants/Colors'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport function SignInCardCall(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('frontPage.card1Title')}\r\n \r\n \r\n {txt('frontPage.card1Text')}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n card: {\r\n backgroundColor: Colors.white,\r\n borderRadius: 12,\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n margin: 12,\r\n padding: 12,\r\n justifyContent: 'space-around',\r\n },\r\n cardImage: { alignSelf: 'center', height: 180, width: 180,},\r\n cardText: {\r\n textAlign: 'center',\r\n },\r\n cardTitle: {\r\n marginBottom: 24,\r\n textAlign: 'center',\r\n },\r\n textContainer: {\r\n position: 'relative',\r\n flex: 1,\r\n minWidth: 250,\r\n justifyContent: 'center',\r\n minHeight: 220,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, StyleSheet, Image, Platform } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport PageTitle from '../../tags/PageTitle'\r\nimport { formatForMetaTitle } from '../../text/TextFormatter'\r\nimport { ShadowStyles, SpacingStyles } from '../../../styles'\r\nimport { SignInCardCall } from '../../callToActions/signInCardCall'\r\nimport { useSelector } from 'react-redux'\r\nimport { getStory } from '../../../services/api/Stories'\r\nimport { useState, useEffect } from 'react'\r\nimport LoadingSpinner from '../../activityIndicators/LoadingSpinner'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Paths from '../../../constants/Paths'\r\nimport { URLOpener } from '../../../utils/URLOpener'\r\nimport Colors from \"../../../constants/Colors\"\r\n\r\nfunction styleQuotes(text) {\r\n return text.split('\\n').map((subText, index) => {\r\n const type =\r\n subText[0] === '”' || subText[0] === '“' || subText[0] === '\"'\r\n ? 'qoute'\r\n : subText[0] === '-' || subText[0] === '–'\r\n ? 'author'\r\n : 'text'\r\n\r\n if (!subText.length) return\r\n\r\n return (\r\n \r\n {subText}\r\n \r\n )\r\n })\r\n}\r\n\r\nexport default function StoryFull(props) {\r\n const [story, setStory] = useState(null)\r\n\r\n const userToken = useSelector((state) => state.userToken)\r\n const navigateToFrontpage = () => {\r\n return Platform.OS === 'web'\r\n ? props.navigation.navigate('Frontpage')\r\n : URLOpener('https://boblberg.dk')\r\n }\r\n function navigateToStories() {\r\n props.navigation.navigate('Stories')\r\n }\r\n\r\n useEffect(() => {\r\n getStory(props.id).then(setStory)\r\n }, [props.id])\r\n\r\n if (!story) return \r\n\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {story?.title}\r\n \r\n\r\n {styleQuotes(story?.body)}\r\n {!userToken && }\r\n\r\n {userToken && (\r\n \r\n )}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n author: {\r\n marginBottom: 24,\r\n marginTop: 12,\r\n textAlign: 'center',\r\n },\r\n marginLeftRight: {\r\n marginHorizontal: 12,\r\n ...ShadowStyles.cardShadow,\r\n borderRadius: 6,\r\n backgroundColor: Colors.white,\r\n padding: 24,\r\n paddingTop: 12,\r\n },\r\n qoute: {\r\n fontFamily: 'raleway-italic',\r\n lineHeight: 25,\r\n marginTop: 12,\r\n textAlign: 'center',\r\n maxWidth: 500,\r\n alignSelf: 'center',\r\n },\r\n storyImage: {\r\n alignSelf: 'center',\r\n borderRadius: 113,\r\n height: 225,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n width: 225,\r\n // ...BorderStyles.blueBorder,\r\n },\r\n text: {\r\n lineHeight: 25,\r\n marginBottom: 30,\r\n marginTop: 10,\r\n textAlign: 'left',\r\n },\r\n title: {\r\n marginBottom: 5,\r\n },\r\n widthHeight: {\r\n ...SpacingStyles.widthAndHeight,\r\n marginTop: 12,\r\n marginBottom: 12,\r\n },\r\n})\r\n","import React from 'react'\r\nimport StoryFull from '../../components/views/Stories/StoryFull'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { useRoute } from \"@react-navigation/core\"\r\nimport { getUniverseConfig } from \"../../universe/universeController\"\r\n\r\nexport default function StoryScreen(props) {\r\n\r\n const route = useRoute()\r\n const { universe } = route.params\r\n\r\n const universeObject = getUniverseConfig(universe?.toLowerCase())\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n ","import React from 'react'\r\nimport { View, ScrollView, StyleSheet, Linking } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { SpacingStyles, TypographyStyles } from '../../../styles'\r\nimport TxtTMD from '../../../constants/TxtTMD'\r\nimport PageTitle from '../../tags/PageTitle'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport { getRegion } from '../../../services/localization'\r\n\r\nclass Panel extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n // title: props.title,\r\n expanded: false,\r\n }\r\n }\r\n togglePanel(e) {\r\n this.setState({ expanded: !this.state.expanded })\r\n }\r\n\r\n \r\n\r\n render() {\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n {this.props.title}\r\n \r\n \r\n \r\n {this.state.expanded && this.props.title === txt('conditions.deletingMembershipTitle') ? (\r\n \r\n {txt('conditions.deletingMembership1')}\r\n Linking.openURL('mailto:support@boblberg.' + getRegion())}\r\n >\r\n {txt('aboutUs.supportMail')}\r\n \r\n\t\t\t\r\n {txt('conditions.deletingMembership2')}\r\n \r\n ) : this.state.expanded ? (\r\n {this.props.text}\r\n ) : null}\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nclass MappedData extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.data.map((subjectText, i) => {\r\n return (\r\n \r\n )\r\n })}\r\n \r\n )\r\n }\r\n}\r\n\r\nconst fillings = [\r\n ['aboutRKandBoblbergTitle', 'aboutRKandBoblberg'],\r\n ['generalTitle', 'general'],\r\n ['membersInfoTitle', 'membersInfo'],\r\n ['infoInPostsTitle', 'infoInPosts'],\r\n ['infoInMessagesTitle', 'infoInMessages'],\r\n ['consentToScreeningTitle', 'consentToScreening'],\r\n ['picturesTitle', 'pictures'],\r\n ['harassmentTitle', 'harassment'],\r\n ['logFilesTitle', 'logFiles'],\r\n ['deletingMembershipTitle', 'deletingMembership1'],\r\n ['otherConditionsTitle', 'otherConditions'],\r\n ['changesTitle', 'changes'],\r\n ['questionsTitle', 'questions'],\r\n]\r\n\r\nexport default class Conditions extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {txt('conditions.header')}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { backgroundColor: Colors.background },\r\n flex: { flex: 1 },\r\n listContainer: {\r\n backgroundColor: Colors.white,\r\n borderRadius: 10,\r\n margin: 10,\r\n padding: 10,\r\n },\r\n panelHeader: {\r\n color: Colors.text,\r\n padding: 10,\r\n ...TypographyStyles.textBold,\r\n },\r\n panelText: {\r\n padding: 10,\r\n ...TypographyStyles.text,\r\n },\r\n textContainer: {\r\n backgroundColor: Colors.white,\r\n borderRadius: 10,\r\n margin: 10,\r\n padding: 10,\r\n },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport Conditions from '../../components/views/Conversations/Conditions'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nexport default class ConditionsScreen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","import React from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport Colors from '../../../constants/Colors'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { ImageHighlight } from '../../images/ImageHighlight'\r\nimport TxtTMD from '../../../constants/TxtTMD'\r\nimport PageTitle from '../../tags/PageTitle'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport Layout from '../../../constants/Layout'\r\nimport MainContainer from '../../MainContainer/MainContainer'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nconst images = [\r\n {\r\n name: 'Line',\r\n title: 'blog.lineTitle',\r\n header: 'blog.lineHeader',\r\n\r\n uri: 'https://filer.boblberg.dk/Assets/Img/blog/line.png',\r\n },\r\n {\r\n name: 'Zuzan',\r\n title: 'blog.zuzanTitle',\r\n header: 'blog.zuzanHeader',\r\n\r\n uri: 'https://filer.boblberg.dk/Assets/Img/blog/zuzan.png',\r\n },\r\n {\r\n name: 'Morten',\r\n title: 'blog.mortenTitle',\r\n header: 'blog.mortenHeader',\r\n\r\n uri: 'https://filer.boblberg.dk/Assets/Img/blog/morten.jpeg',\r\n },\r\n {\r\n name: 'Thomas',\r\n title: 'blog.thomasTitle',\r\n header: 'blog.thomasHeader',\r\n\r\n uri: 'https://filer.boblberg.dk/Assets/Img/blog/thomas.jpg',\r\n },\r\n {\r\n name: 'Conny',\r\n title: 'blog.connyTitle',\r\n header: 'blog.connyHeader',\r\n\r\n uri: 'https://filer.boblberg.dk/Assets/Img/blog/conny.jpg',\r\n },\r\n {\r\n name: 'Emma',\r\n title: 'blog.emmaTitle',\r\n header: 'blog.emmaHeader',\r\n\r\n uri: 'https://filer.boblberg.dk/Assets/Img/blog/emma.jpg',\r\n },\r\n {\r\n name: 'Rikke',\r\n title: 'blog.rikkeTitle',\r\n header: 'blog.rikkeHeader',\r\n\r\n uri: 'https://filer.boblberg.dk/Assets/Img/blog/rikke.jpg',\r\n },\r\n {\r\n name: 'Anna',\r\n title: 'blog.annaTitle',\r\n header: 'blog.annaHeader',\r\n\r\n uri: 'https://filer.boblberg.dk/Assets/Img/blog/anna.jpg',\r\n },\r\n {\r\n name: 'Nicolaj1',\r\n title: 'blog.nicolajTitle1',\r\n header: 'blog.nicolajHeader',\r\n\r\n uri: 'https://filer.boblberg.dk/Assets/Img/blog/nicolaj.png',\r\n },\r\n {\r\n name: 'Nicolaj2',\r\n title: 'blog.nicolajTitle2',\r\n header: 'blog.nicolajHeader',\r\n\r\n uri: 'https://filer.boblberg.dk/Assets/Img/blog/nicolaj.png',\r\n },\r\n {\r\n name: 'Finn',\r\n title: 'blog.finnTitle',\r\n header: 'blog.finnHeader',\r\n\r\n uri: 'https://filer.boblberg.dk/Assets/Img/blog/finn.jpg',\r\n },\r\n]\r\n\r\nclass Panel extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n\r\n this.props.pressF(this.props.name)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt(this.props.title)}\r\n \r\n \r\n {txt(this.props.header)}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default class BlogsMenu extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n navigateToPost = (blog) => {\r\n this.props.navigation.push('Blogs', {\r\n id: blog,\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {txt('blog.helpText')}\r\n \r\n \r\n {images.map((image, i) => {\r\n return (\r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n backgroundColor: Colors.background,\r\n ...SpacingStyles.widthAndHeight,\r\n ...SpacingStyles.paddingRightLeft10,\r\n },\r\n helpText: { paddingBottom: 10 },\r\n padding25: { paddingBottom: 25 },\r\n storyContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n },\r\n\r\n textContainer: { flex: 1 },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, Dimensions, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\nimport { ImageHighlightMedium } from '../../../images/ImageHighlight'\r\nimport Colors from '../../../../constants/Colors'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nexport default class Line extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('blog.line.title')}\r\n \r\n \r\n \r\n \r\n\r\n {txt('blog.line.author')}\r\n \r\n \r\n {txt('blog.line.text1')}\r\n \r\n \r\n {txt('blog.line.question')}\r\n \r\n {txt('blog.line.text2')}\r\n \r\n \r\n \r\n {txt('blog.line.referencesTitle')}\r\n \r\n URLOpener('https://www.maryfonden.dk/files/files/Ensommidtilivet2014.pdf')}\r\n style={styles.marginTop}\r\n >\r\n \r\n {txt('blog.line.references1Title')}\r\n \r\n \r\n {txt('blog.line.references1')}\r\n \r\n \r\n URLOpener('https://www.sst.dk/-/media/Udgivelser/2014/Den-nationale-sundhedsprofil-2013/Danskernes-sundhed,-d-,-Den-nationale-sundhedsprofil-2013.ashx?la=da&hash=B1BF89ED1840977F703CBB9A60DF6FE36515896C')}\r\n style={styles.marginTop}\r\n >\r\n \r\n {txt('blog.line.references2Title')}\r\n \r\n \r\n {txt('blog.line.references2')}\r\n \r\n \r\n URLOpener('https://www.psykiatrifonden.dk/viden/gode-raad-og-temaer')}\r\n style={styles.marginTop}\r\n >\r\n \r\n {txt('blog.line.references3Title')}\r\n \r\n \r\n {txt('blog.line.references3')}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { textAlign: 'center' },\r\n image: { alignSelf: 'center', height: 200 },\r\n imageBig: { alignSelf: 'center', height: 300, width: width * 0.9 },\r\n linkText: { color: Colors.tintColor },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n marginTop: { marginTop: 10 },\r\n titleContainer: { alignItems: 'center', marginBottom: 10 },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\nimport { ImageHighlightMedium } from '../../../images/ImageHighlight'\r\nimport Colors from '../../../../constants/Colors'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nexport default class Zuzan extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n\r\n \r\n \r\n \r\n {txt('blog.zuzan.title')}\r\n \r\n \r\n \r\n \r\n\r\n {txt('blog.zuzan.author')}\r\n \r\n \r\n {txt('blog.zuzan.text1')}\r\n \r\n \r\n URLOpener('https://mentality.dk/blogs/')}\r\n style={styles.marginTop}\r\n >\r\n \r\n {txt('blog.zuzan.references1Title')}\r\n\r\n \r\n {txt('blog.zuzan.references1')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { textAlign: 'center' },\r\n image: { alignSelf: 'center', height: 200 },\r\n linkText: { color: Colors.tintColor },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n marginTop: { marginTop: 10 },\r\n titleContainer: { alignItems: 'center', marginBottom: 10 },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { ImageHighlightMedium } from '../../../images/ImageHighlight'\r\n\r\nexport default class Morten extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('blog.morten.title')}\r\n \r\n \r\n \r\n \r\n\r\n {txt('blog.morten.author')}\r\n \r\n \r\n {txt('blog.morten.text1')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { textAlign: 'center' },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n titleContainer: { alignItems: 'center', marginBottom: 10 },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, Dimensions, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { SpacingStyles, TypographyStyles } from '../../../../styles'\r\nimport { ImageHighlightMedium } from '../../../images/ImageHighlight'\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nexport default class Thomas extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('blog.thomas.title')}\r\n \r\n \r\n \r\n \r\n\r\n {txt('blog.thomas.author')}\r\n \r\n \r\n {txt('blog.thomas.text1')}\r\n \r\n {txt('blog.thomas.text2')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { textAlign: 'center' },\r\n imageBig: { alignSelf: 'center', height: 300, width: width * 0.9 },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n textBold: { ...TypographyStyles.textBold },\r\n titleContainer: { alignItems: 'center', marginBottom: 10 },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, Dimensions, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { ImageHighlightMedium } from '../../../images/ImageHighlight'\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nexport default class Conny extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('blog.conny.title')}\r\n \r\n \r\n \r\n \r\n\r\n {txt('blog.conny.author')}\r\n \r\n \r\n {txt('blog.conny.text1')}\r\n \r\n {txt('blog.conny.text2')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { textAlign: 'center' },\r\n imageBig: { alignSelf: 'center', height: 300, width: width * 0.9 },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n titleContainer: { alignItems: 'center', marginBottom: 10 },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, Dimensions, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { ImageHighlightMedium } from '../../../images/ImageHighlight'\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nexport default class Emma extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('blog.emma.title')}\r\n \r\n \r\n \r\n \r\n\r\n {txt('blog.emma.author')}\r\n \r\n \r\n {txt('blog.emma.text1')}\r\n \r\n \r\n {txt('blog.emma.headline')}\r\n \r\n {txt('blog.emma.text2')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { textAlign: 'center' },\r\n imageBig: { alignSelf: 'center', height: 300, width: width * 0.9 },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n titleContainer: { alignItems: 'center', marginBottom: 10 },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, Dimensions, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { ImageHighlightMedium } from '../../../images/ImageHighlight'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nexport default class Rikke extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('blog.rikke.title')}\r\n \r\n \r\n \r\n \r\n {txt('blog.rikke.author')}\r\n \r\n {txt('blog.rikke.text1')}\r\n \r\n \r\n {txt('blog.rikke.headline1')}\r\n \r\n \r\n {txt('blog.rikke.text2')}\r\n \r\n URLOpener(\r\n 'https://www.aeldresagen.dk/viden-og-raadgivning/hverdagsliv/boerneboern/gode-raad/derfor-er-bedsteforaeldre-vigtige'\r\n )\r\n }\r\n style={styles.marginTop}\r\n >\r\n \r\n {txt('blog.rikke.text2Note')}\r\n \r\n \r\n \r\n {txt('blog.rikke.text22')}\r\n \r\n {txt('blog.rikke.headline2')}\r\n \r\n \r\n {txt('blog.rikke.text3')}\r\n \r\n\r\n \r\n {txt('blog.rikke.text4')}\r\n\r\n \r\n {txt('blog.rikke.headline3')}\r\n \r\n\r\n {txt('blog.rikke.text5')}\r\n\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { textAlign: 'center' },\r\n imageBig: { alignSelf: 'center', height: 300, width: width * 0.9 },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n titleContainer: { alignItems: 'center', marginBottom: 10 },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, Dimensions, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\nimport { ImageHighlightMedium } from '../../../images/ImageHighlight'\r\nimport Colors from '../../../../constants/Colors'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nexport default class Nicolaj1 extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('blog.nicolaj1.title')}\r\n \r\n \r\n \r\n \r\n \r\n {txt('blog.nicolaj1.author')}\r\n \r\n \r\n \r\n \r\n {txt('blog.nicolaj1.text1')}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {txt('blog.nicolaj1.headline1')}\r\n \r\n {txt('blog.nicolaj1.text2')}\r\n \r\n {txt('blog.nicolaj1.headline2')}\r\n \r\n {txt('blog.nicolaj1.text3')}\r\n \r\n {txt('blog.nicolaj1.headline3')}\r\n \r\n {txt('blog.nicolaj1.text4')}\r\n \r\n {txt('blog.nicolaj1.headline4')}\r\n \r\n {txt('blog.nicolaj1.text5')}\r\n \r\n \r\n URLOpener('https://boblberg.dk/blogs/Nicolaj2')}\r\n style={styles.marginTop}\r\n >\r\n \r\n {txt('blog.nicolaj1.references1Title')}\r\n\r\n \r\n {txt('blog.nicolaj1.references1')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { textAlign: 'center' },\r\n imageBig: { alignSelf: 'center', height: 300, width: width * 0.9 },\r\n linkText: { color: Colors.tintColor },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n marginTop: { marginTop: 10 },\r\n titleContainer: { alignItems: 'center', marginBottom: 10 },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, Dimensions, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\nimport { ImageHighlightMedium } from '../../../images/ImageHighlight'\r\nimport Colors from '../../../../constants/Colors'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\nexport default class Nicolaj2 extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('blog.nicolaj2.title')}\r\n \r\n \r\n \r\n \r\n \r\n {txt('blog.nicolaj2.author')}\r\n \r\n \r\n \r\n \r\n {txt('blog.nicolaj2.text1')}\r\n \r\n URLOpener('https://boblberg.dk/blogs/Nicolaj1')}\r\n style={styles.marginTop}\r\n >\r\n \r\n {txt('blog.nicolaj2.references1Title')}\r\n\r\n \r\n {txt('blog.nicolaj2.references1')}\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n {txt('blog.nicolaj2.headline1')}\r\n \r\n {txt('blog.nicolaj2.text2')}\r\n \r\n {txt('blog.nicolaj2.headline2')}\r\n \r\n {txt('blog.nicolaj2.text3')}\r\n \r\n {txt('blog.nicolaj2.headline3')}\r\n \r\n {txt('blog.nicolaj2.text4')}\r\n \r\n {txt('blog.nicolaj2.headline4')}\r\n \r\n {txt('blog.nicolaj2.text5')}\r\n \r\n {txt('blog.nicolaj2.headline5')}\r\n \r\n {txt('blog.nicolaj2.text6')}\r\n \r\n {txt('blog.nicolaj2.sentance')}\r\n \r\n {txt('blog.nicolaj2.text7')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { textAlign: 'center' },\r\n imageBig: { alignSelf: 'center', height: 300, width: width * 0.9 },\r\n linkText: { color: Colors.tintColor },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n marginTop: { marginTop: 10 },\r\n titleContainer: { alignItems: 'center', marginBottom: 10 },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\nimport { ImageHighlightMedium } from '../../../images/ImageHighlight'\r\nimport Colors from '../../../../constants/Colors'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nexport default class Finn extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('blog.finn.title')}\r\n \r\n \r\n \r\n \r\n {txt('blog.finn.author')}\r\n \r\n \r\n {txt('blog.finn.text1')}\r\n \r\n \r\n \r\n \r\n {txt('blog.finn.highlight1')}\r\n \r\n \r\n {txt('blog.finn.highlight2')}\r\n \r\n {txt('blog.finn.text3')}\r\n \r\n \r\n \r\n \r\n {txt('blog.finn.headline')}\r\n \r\n \r\n URLOpener('https://pubmed.ncbi.nlm.nih.gov/23993280/')}\r\n style={styles.marginTop}\r\n >\r\n \r\n {txt('blog.finn.referanceHead1')}\r\n \r\n \r\n {txt('blog.finn.referance1')}\r\n\r\n \r\n {txt('blog.finn.referanceLink1')}\r\n \r\n \r\n \r\n \r\n \r\n URLOpener('https://www.cabiweb.dk/media/1634/hvidbog-mentalt-helbred.pdf')}\r\n style={styles.marginTop}\r\n >\r\n \r\n {txt('blog.finn.referanceHead2')}\r\n \r\n \r\n {txt('blog.finn.referance2')}\r\n\r\n \r\n {txt('blog.finn.referanceLink2')}\r\n \r\n \r\n \r\n \r\n \r\n URLOpener('https://pubmed.ncbi.nlm.nih.gov/25678606/')}\r\n style={styles.marginTop}\r\n >\r\n \r\n {txt('blog.finn.referanceHead3')}\r\n \r\n \r\n {txt('blog.finn.referance3')}\r\n\r\n \r\n {txt('blog.finn.referanceLink3')}\r\n \r\n \r\n \r\n \r\n \r\n URLOpener('https://www.altinget.dk/sundhed/artikel/groenbaek-mental-sundhed-kraever-nyt-fokus')}\r\n style={styles.marginTop}\r\n >\r\n \r\n {txt('blog.finn.referanceHead4')}\r\n \r\n \r\n {txt('blog.finn.referance4')}\r\n\r\n \r\n {txt('blog.finn.referanceLink4')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('blog.finn.referanceHead5')}\r\n \r\n {txt('blog.finn.referance5')}\r\n \r\n \r\n \r\n {txt('blog.finn.referanceHead6')}\r\n \r\n {txt('blog.finn.referance6')}\r\n \r\n \r\n \r\n {txt('blog.finn.referanceHead7')}\r\n \r\n {txt('blog.finn.referance7')}\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { textAlign: 'center' },\r\n linkText: { color: Colors.tintColor },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n marginTop: { marginTop: 10 },\r\n titleContainer: { alignItems: 'center', marginBottom: 10 },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, Dimensions, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { ImageHighlightMedium } from '../../../images/ImageHighlight'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\nexport default class Anna extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('blog.anna.title')}\r\n \r\n \r\n \r\n \r\n {txt('blog.anna.author')}\r\n \r\n {txt('blog.anna.text1')}\r\n \r\n \r\n {txt('blog.anna.headline1')}\r\n \r\n \r\n {txt('blog.anna.text2')}\r\n {txt('blog.anna.text22')}\r\n URLOpener('https://politiken.dk/forbrugogliv/sundhedogmotion/art6374965/Hver-femte-ung-er-ensom-is%C3%A6r-kvinder-f%C3%B8ler-sig-udenfor')}\r\n style={styles.marginTop}\r\n >\r\n \r\n {txt('blog.anna.footNote1')}\r\n \r\n \r\n \r\n {txt('blog.anna.text23')}\r\n URLOpener('https://www.information.dk/indland/2016/07/psykisk-saarbare-unge-staar-ingenmandsland')}\r\n style={styles.marginTop}\r\n >\r\n \r\n {txt('blog.anna.footNote2')}\r\n \r\n \r\n \r\n\r\n \r\n {txt('blog.anna.text24')}\r\n \r\n \r\n \r\n {txt('blog.anna.headline2')}\r\n \r\n \r\n {txt('blog.anna.text3')}\r\n \r\n\r\n \r\n \r\n {txt('blog.anna.headline3')}\r\n \r\n {txt('blog.anna.text4')}\r\n\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { textAlign: 'center' },\r\n imageBig: { alignSelf: 'center', height: 300, width: width * 0.9 },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n titleContainer: { alignItems: 'center', marginBottom: 10 },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport Line from '../../components/views/About/Blog/Line'\r\nimport Zuzan from '../../components/views/About/Blog/Zuzan'\r\nimport Morten from '../../components/views/About/Blog/Morten'\r\nimport Thomas from '../../components/views/About/Blog/Thomas'\r\nimport Conny from '../../components/views/About/Blog/Conny'\r\nimport Emma from '../../components/views/About/Blog/Emma'\r\nimport Rikke from '../../components/views/About/Blog/Rikke'\r\nimport Nicolaj1 from '../../components/views/About/Blog/Nicolaj-1'\r\nimport Nicolaj2 from '../../components/views/About/Blog/Nicolaj-2'\r\nimport Finn from '../../components/views/About/Blog/Finn'\r\nimport Anna from '../../components/views/About/Blog/Anna'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\n\r\nexport default class BlogScreen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n checkSwitch = (param) => {\r\n switch (param) {\r\n case 'Line':\r\n return this.Line()\r\n case 'Zuzan':\r\n return this.Zuzan()\r\n case 'Morten':\r\n return this.Morten()\r\n case 'Thomas':\r\n return this.Thomas()\r\n case 'Conny':\r\n return this.Conny()\r\n case 'Emma':\r\n return this.Emma()\r\n case 'Rikke':\r\n return this.Rikke()\r\n case 'Nicolaj1':\r\n return this.Nicolaj1()\r\n case 'Nicolaj2':\r\n return this.Nicolaj2()\r\n case 'Finn':\r\n return this.Finn()\r\n case 'Anna':\r\n return this.Anna()\r\n default:\r\n if (__DEV__) console.log('NUMBER NOT FOUND')\r\n }\r\n }\r\n\r\n Line = () => {\r\n return \r\n }\r\n Zuzan = () => {\r\n return \r\n }\r\n Morten = () => {\r\n return \r\n }\r\n Thomas = () => {\r\n return \r\n }\r\n Conny = () => {\r\n return \r\n }\r\n Emma = () => {\r\n return \r\n }\r\n Rikke = () => {\r\n return \r\n }\r\n Nicolaj1 = () => {\r\n return \r\n }\r\n Nicolaj2 = () => {\r\n return \r\n }\r\n Finn = () => {\r\n return \r\n }\r\n Anna = () => {\r\n return \r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.checkSwitch(this.props.route.params.id)}\r\n \r\n )\r\n }\r\n}\r\n","// [Danish, English]\r\nexport default {\r\n // Current language, TODO: make into function and get from AsyncStorage/DB\r\n\r\n lang: 0,\r\n\r\n demantec2: {\r\n title: ['Demantec 2.0'],\r\n text1: [\r\n 'Pårørende til mennesker med demens har en lang række opgaver og belastninger, som de skal håndtere. Kan nye teknologier aflaste dem i hverdagen og forbedre deres livskvalitet? Dette spørgsmål gennemgår det praksisorienterede forskningsprojekt Demantec i den nye finansieringsperiode fra marts 2019 til august 2020.',\r\n ],\r\n text2: [\r\n 'Boblberg bliver en del af Interreg-projektet Demantec – Projektets første del har været i gang siden 2016 og det viste sig, at det vigtigste ved anvendelse af tekniske hjælpemidler er at sætte mennesket i centrum. Netop dette skal Boblberg hjælpe projektet med så der tages udgangspunkt i behov og krav, og teknologierne skal tilpasses efter disse – ikke omvendt.',\r\n ],\r\n text3: ['Projektets fokus'],\r\n text4: [\r\n 'Demantec har sat fokus på at forbedre livskvaliteten for pårørende, der bor sammen med et familiemedlem der har fået en demensdiagnose. Her vil det være den pårørendes og dennes situation det drejer sig om, fordi de løfter en vigtig opgave i det daglige. Dette indebærer mange belastninger og en øget risiko for fysiske og psykiske sygdomme som f.eks. stress og depression. Dette skal opnås ved anvendelse af innovative teknologier. Demantec er et praksisorienteret forskningsprojekt, der kombinerer den tekniske ekspertise hos Boblberg og Life-Partners med forskningskompetencer fra det tyske Universitet i Flensburg og den danske Professionshøjskole Absalon.',\r\n ],\r\n text5: ['De pårørendes behov undersøges, og teknologier afprøves'],\r\n text6: [\r\n 'I starten af projektet gennemføres en undersøgelse og præsentation af, hvordan pårørende tager sig af deres demensramte partner og hvordan det er organiseret. I denne forbindelse er der fokus på de pårørendes rolle i Tyskland og Danmark. Desuden udarbejdes der en oversigt over, hvilke teknologiske hjælpemidler til pårørende som allerede står til rådighed. Forskningsaktiviteterne vil i særlig grad fokusere på behovene hos pårørende til mennesker med demens. Hvad har de brug for? Hvordan kan teknologien hjælpe? I den praktiske del af projektet anvendes systemet Boblberg.dk til at skabe pusterum i dagligdagen og støttende grupper til andre pårørende. I denne forbindelse forventes det at der gennemføres workshops med brugerne i Assens Kommune. På grundlag af tilbagemeldinger fra brugerne kan teknologierne i sidste ende videreudvikles, så de passer endnu bedre til behovene. Indflydelsen på livskvaliteten samt fordele og ulemper ved de anvendte systemer undersøges.',\r\n ],\r\n readMore: ['Læs mere her: '],\r\n demantecLink: ['demantec.eu'],\r\n involved: ['Involverede parter'],\r\n partner1: ['Boblberg'],\r\n partner2: ['Life-Partners.com'],\r\n partner3: ['Professionshøjskolen Absalon'],\r\n partner4: ['Hochschule Flensburg – University of Applied Sciences'],\r\n projectPeriod: ['Projektperiode'],\r\n period: ['01.03.2019 - 31.08.2020'],\r\n supporter: ['Støttegiver'],\r\n supporterText: [\r\n 'Demantec er finansieret af Interreg Deutschland-Danmark med midler fra Den Europæiske Fond for Regionaludvikling.',\r\n ],\r\n readMoreSupporter: ['Læs mere om Interreg Deutschland-Danmark på:'],\r\n supporterLink: ['www.interreg5a.eu'],\r\n },\r\n\r\n sbb: {\r\n title: ['Støttende Borger-Bobler (SBB)'],\r\n text1: [\r\n 'Virksomheden Boblberg skal i projektet teste og videreudvikle digitale fortrolige støtte- og kommunikationsgrupper kaldet Støttende Borger-Bobler. Dette sker via sikre fællesskabsgrupper i samarbejde med fagpersoner tilknyttet et kommunalt psykiatri-tilbud og en sygehusenhed med patienter i psykiatrisk og somatisk behandling.',\r\n ],\r\n text2: [\r\n 'Tjenesteydelsen Støttende Borger-Bobler er et simpelt digitalt værktøj. Tjenesten er uden reklamer, den har kun én enkelt funktion, som er at oprette fortrolige støtte- og kommunikationsgrupper, med fokus på beskyttelse af brugerne og sikker opbevaring af persondata. Målet er at bidrage til at inkludere borgere/patienter i sociale ligeværdige gruppefællesskaber, hvilket er vigtigt for menneskers trivsel, livskvalitet og mentale sundhed, ikke mindst for borgere, som netop har afsluttet et patientforløb.',\r\n ],\r\n text3: [\r\n 'Såfremt partnerkredsen gennem testprojektet bliver bekræftet i deres tese om, at løsningen kan bidrage til at støtte borgere/patienter via støtte- og kommunikationsgrupper, forventer virksomheden at omsætte det til en supplerende forretning med omsætnings- og jobvækst til følge.',\r\n ],\r\n involved: ['Involverede parter'],\r\n partner1: ['Boblberg v/ Shark Inc ApS'],\r\n partner2: ['Vejle Kommune, Velfærdsforvaltningen'],\r\n partner3: ['Colab/Recovery & Rehab / psykiatrien i Region Syddanmark'],\r\n partner4: ['Esbjerg Kommune, Videnscenter for demens'],\r\n partner5: ['SDU - Institut for Entreprenørskab og Relationsledelse'],\r\n projectPeriod: ['Projektperiode'],\r\n period: ['01.11.2018 - 31.08.2019'],\r\n supporter: ['Støttegiver'],\r\n supporterText: [\r\n 'Boblberg har gennem Syddansk OPI-pulje modtaget tilskud til OPI-projektet ”Støttende Borger-Bobler” fra Den Europæiske Regionalfond og Syddansk Vækstforum.',\r\n ],\r\n },\r\n\r\n phd: {\r\n title: [\r\n 'Ph.d.-projekt - Sociale fællesskabers betydning for mental sundhed',\r\n ],\r\n text1: [\r\n 'Boblberg vil i den kommende tid samarbejde med sociolog og ph.d. studerende, Lærke Mai Bonde Andersen. Lærke er ansat ved institut for Medicin og Sundhedsteknologi på Aalborg Universitet, hvor hun forsker i folkesundhed med særlig fokus på sociale fællesskabers betydning for mental sundhed.',\r\n ],\r\n text2: [\r\n 'I Lærkes ph.d.-projekt vil hun undersøge hvordan, for hvem og under hvilke betingelser online markedspladser for sociale kontakter, som eksempelvis Boblberg.dk, kan medvirke til at skabe meningsfulde sociale fællesskaber karakteriseret ved oplevelsen af socialt tilhørsforhold og mental sundhed.',\r\n ],\r\n text3: [\r\n 'Målet med ph.d. projektet er at styrke udviklingen af initiativer til fremme af meningsfulde sociale fællesskaber med positiv betydning for mental sundhed.',\r\n ],\r\n projectPeriod: ['Projektperiode'],\r\n period: ['01.12.2018 - 31.08.2020'],\r\n involved: ['Involverede parter'],\r\n partner1: ['Boblberg'],\r\n partner2: [\r\n 'Ph.d. studerende, Lærke Mai Bonde Andersen, Cand. Scient. Soc., Institut for Medicin og Sundhedsteknologi. Aalborg Universitet.',\r\n ],\r\n partner3: ['Aalborg Kommune, Center for Mental Sundhed.'],\r\n },\r\n\r\n chs: {\r\n title: ['Forskningsprojekt – Seniorers brug af Boblberg'],\r\n text1: [\r\n 'Boblberg samarbejder i øjeblikket med antropolog og videnskabelig assistent, Simone Anna Felding. Simone er videnskabelig assistent på Institut for Folkesundhedsvidenskab på Københavns Universitet, hvor hun forsker i sundhedsantropologi særligt med fokus på ældre i Center for Sund Aldring.',\r\n ],\r\n text2: [\r\n 'I projektet undersøger Simone seniorers brug af Boblberg i Hvidovre og Frederiksberg, de to kommuners organisering omkring Boblberg, samt Boblbergs egen organisering. Formålet med projektet er at skabe en bedre forståelse for den ældre gruppe af Boblberg-brugere og samspillet mellem Boblberg, kommuner og de ældre brugere.',\r\n ],\r\n text3: [\r\n 'Projektet er fundet af EU Regionalfonds projektet ’Copenhagen Healthtech Solutions (CHS)’.',\r\n ],\r\n projectPeriod: ['Projektperiode'],\r\n period: ['01.10.2018 - 31.05.2019'],\r\n involved: ['Involverede parter'],\r\n partner1: ['Boblberg'],\r\n partner2: [\r\n 'Videnskabelig Assistent, Simone Anna Felding, cand.scient.anth Afdeling for Sundhedstjenesteforskning, Institut for Folkesundhedsvidenskab, Københavns Universitet.',\r\n ],\r\n partner3: ['Hvidovre og Frederiksberg kommune'],\r\n },\r\n\r\n opildl: {\r\n title: ['OPI LDL - Det demensvenlige samfund'],\r\n text1: ['Digitalt værktøj til demensramte og deres pårørende'],\r\n text2: [\r\n 'OPI-samarbejdet skal teste og udvikle en løsning til mennesker med demens, deres pårørende og øvrige netværk. Projektet er adresseret på tværs af demens-, velfærdsteknologi-, ældreområdet samt byplanlægning i de tre kommuner; Haderslev, Billund og Kolding Kommune. OPI = Offentlig-Privat Innovation',\r\n ],\r\n text3: [\r\n 'Et centralt spørgsmål i projektet: Hvordan kan vi forebygge, at de nære pårørende til demensramte bliver overbebyrdet og stressede i hverdagen?',\r\n ],\r\n text4: [\r\n 'Den løsning, som det planlagte test- og udviklingsforløb, er centreret omkring, beror på en konceptidé som:',\r\n ],\r\n text5: ['Målet er en raffineret prototype.'],\r\n text6: [\r\n 'Det samarbejdende netværkskonsortium består af virksomhederne Tele Call (telecall.dk) og ARBEJDSMILJØEksperten (ameksperten.dk) og Boblberg. Virksomhederne bidrager med hver deres kompetencer og knowhow ind i netværkskonsortiet for at opfylde de krav og behov, de faglige ankerpersoner fra Haderslev, Billund og Kolding kommune foreløbigt har identificeret som væsentlige i forhold til udfordringerne ved Det Demensvenlige Samfund.',\r\n ],\r\n point1: ['Tager udgangspunkt i pårørendes behov for støtte og hjælp'],\r\n point2: [\r\n 'Hjælper pårørende til at fastholde relationer til omverdenen, der giver livskvalitet',\r\n ],\r\n point3: [\r\n 'Understøtter tidlig indsats overfor pårørende så fysisk og psykisk nedslidning undgås',\r\n ],\r\n projectPeriod: ['Projektperiode'],\r\n period: ['2018 - 2019'],\r\n moreInfo: ['Yderligere information om projektet:'],\r\n ldlLink: ['livingdesignlab.dk'],\r\n projectResults: ['Projektets resultater:'],\r\n projectResponsible: ['Projektansvarlig hos Boblberg'],\r\n },\r\n\r\n opifakto: {\r\n title: ['OPI FAKTO'],\r\n title1: ['Formål med projektet: '],\r\n text1: [\r\n 'Formålet med dette projekt er først og fremmest, at det skal være nemmere og lettere tilgængeligt for medarbejdere og borgere at finde aktuelle aktiviteter i kommunen via denne online aktivitetsoversigt på Boblberg. Odense Kommune ønsker et sundt, aktivt og selvstændigt liv for deres borgere. Odenses frivillige sociale foreningsliv, motions- og rådgivningstilbud m.m. er med til at sikre dette. Derfor er Odense Kommune gået sammen med Boblberg om at videreudvikle på prototypen for en forenings- og aktivitetsoversigt (FAKTO). ' +\r\n '\\nForskning' +\r\n '\\u00B9' +\r\n ' viser at man ved deltagelse i fællesskaber og aktiviteter kan bekæmpe ensomhed, fysisk inaktivitet og mental mistrivsel. Men mange borgere og medarbejdere i kommunen har svært ved at finde mulighederne i de lokale aktiviteter, foreninger og kommunale tilbud og en oversigt hvor de tilgængelige aktivitetsrum som f.eks. hjertestier er. ' +\r\n 'Sociale foreninger har mange gode tiltag og tilbud, men har svært ved at være synlige overfor kommunens medarbejdere og borgere, hvorfor aktiviteterne bør samles ét sted. Når aktiviteterne samles i en digital aktivitetsoversigt, skabes der større overblik over alle aktiviteter og foreningstilbud, og dette til både gavn for borgere, medarbejdere og foreningerne selv. Man vil ikke længere være nødsaget til at ringe eller søge på de enkelte foreningers hjemmesider for at blive informeret om deres aktiviteter. ' +\r\n 'Formålet med denne digitale aktivitetsoversigt er ligeledes, at aktiviteterne i kommunen altid vil være opdateret, så borgere og medarbejdere ikke bliver forvirrede og fejlinformeret om aktiviteterne. Det vil være muligt at opdatere i aktiviteterne undervejs, hvis der sker nogle ændringer, fx i tidspunkter, lokationer eller hvis de bliver forældede eller aflyste, så de ikke længere er relevante. Derved bliver borgerne og medarbejdere altid kun mødt af aktuelle tilbud, som passer til den enkeltes behov, ønsker og egne ressourcer. ' +\r\n 'Ydermere er formålet at mindske den stigende ensomhed og dårlige fysiske og mentale sundhed blandt borgerne. Ved hjælp af FAKTO bliver det nemmere for borgere og kommunale medarbejdere at finde relevante foreningstilbud, til styrkelse af et øget socialt liv og bedre fysisk og mental sundhed. ',\r\n ],\r\n title2: ['Produktet og dets funktion:'],\r\n text2: [\r\n 'Boblberg ønsker at tage den nuværende prototype på en forenings- og aktivitetsoversigt og videreudvikle, teste og tilpasse produktet, så det giver et samlet digitalt overblik over aktiviteter der passer til behovene i kommunerne og for borgerne. Dette med udgangspunktet i en høj grad af brugervenlighed. ' +\r\n 'I aktivitetsoversigten har borgere og medarbejdere i kommunen mulighed for at få et overblik over en lang række forskellige aktiviteter, som kommunen og dens sociale foreninger har oprettet. ' +\r\n 'Som bruger af tjenesten navigerer man rundt blandt aktiviteterne, og gøres på denne måde opmærksom på de gældende tilbud i kommunen. ' +\r\n 'Man kan også søge efter specifikke ord som: Sclerose, KOL, genoptræning eller foreninger som Kræftens Bekæmpelse eller lign. Når man som borger eller medarbejder finder interesse for en bestemt aktivitet, trykker man på den for at få flere informationer om fx tidspunkt, sted, tilmelding mm. ' +\r\n 'Aktivitetsoversigten kan i høj grad hjælpe på borgernes fysiske og mentale sundhed samt deres oplevede velfærd og livskvalitet, hvorfor det er vigtigt med en let tilgængelig samlet oversigt over de sociale aktiviteter i kommunen. ',\r\n ],\r\n imagetext: ['Aktivitetsmodulet.'],\r\n projectPeriod: ['Projektperiode'],\r\n period: ['1. oktober 2020 - 30. august 2021'],\r\n supportTitle: ['Støttergiver'],\r\n support: [\r\n 'Projektet er finansieret af Den Europæiske Fond for Regionaludvikling i regi af Welfare Tech.',\r\n ],\r\n partnerInfo: ['Involverede parter'],\r\n partners: [\r\n 'Boblberg, Røde Kors, Odense Kommune og SDU (Institut for Entreprenørskab og Relationsledelse).',\r\n ],\r\n referencesTitle: ['Referancer'],\r\n references: [\r\n '1. http://www.abcmentalsundhed.dk/media/1144/abc-brochure-om-at-vaere-aktiv.pdf',\r\n ],\r\n projectResponsible: ['Projektansvarlig hos Boblberg'],\r\n },\r\n OEUG: {\r\n title: ['Økonomer Uden Grænser'],\r\n text1: [\r\n 'Økonomer Uden Grænser har – på baggrund af en treårig prognose – udarbejdet en SROI-analyse, der værdisætter effekten af Boblbergs platform inden for områderne øget selvtillid, mindre ensomhed samt øget fysisk aktivitet. Undersøgelsen viser bl.a. at brugerne især (62 pct.) opsøger Boblberg på grund af ensomhed eller for at finde en ven, og at brugerne i høj grad (67 pct.) ender med at mødes fysisk med mennesker, de har mødt på Boblberg. Af brugerne, der søger motionsvenner, lykkes det langt størstedelen (74 pct.) at finde en at motionere med på Boblberg',\r\n ],\r\n text2: [\r\n 'Resultaterne viser derudover bl.a. at 40 pct. føler sig mindre ensomme efter at have oprettet en ‘boble’ på Boblberg og 33 pct. oplever højere selvværd efter at have mødtes med andre brugere af Boblberg.\\nI løbet af tre år genererer Boblberg en samfundsøkonomisk værdi på 14,7 mio. kr. Omkostningerne, der generer denne værdi, beløber sig til 2,6 mio. kr., og nettogevinsten er således godt 12 mio. kr. Dette giver en social cost benefit ratio (SCBR) på 5,6, hvilket betyder, at for hver krone investeret i Boblberg, får samfundet 5,6 kroner igen. Det svarer til et årligt afkast – det såkaldte social return on investment (SROI) – på 37 pct.\\n\\nDette betyder, at investeringen i Boblbergs indsats, er en særdeles fornuftig investering set fra et socialt og samfundsmæssigt perspektiv.',\r\n ],\r\n shortInfo: [\r\n 'Økonomer Uden Grænser har – på baggrund af en treårig prognose – udarbejdet en SROI-analyse, der værdisætter effekten af Boblbergs platform inden for områderne øget selvtillid, mindre ensomhed samt øget fysisk aktivitet.',\r\n ],\r\n shortInfo2: [\r\n 'Resultaterne viser at for hver krone investeret i Boblberg, får samfundet 5,6 kroner igen. Dette betyder, at investeringen i Boblbergs indsats, er en særdeles fornuftig investering set fra et socialt og samfundsmæssigt perspektiv.',\r\n ],\r\n readMoreBtn: ['Læs om flere projekter'],\r\n },\r\n}\r\n","import { StyleSheet } from 'react-native'\r\nimport { SpacingStyles, TypographyStyles } from '../../../../styles'\r\nimport Layout from '../../../../constants/Layout'\r\nimport Colors from '../../../../constants/Colors'\r\n\r\nexport const ProjectStyles = StyleSheet.create({\r\n blogHeader: { ...TypographyStyles.blogHeader, marginBottom: 12, marginTop: 12 },\r\n blogText: { ...TypographyStyles.blogText, marginBottom: 12 },\r\n blogTextBottom: { ...TypographyStyles.blogText },\r\n blogTitle: {\r\n ...TypographyStyles.blogTitle,\r\n marginBottom: 36,\r\n textAlign: 'center',\r\n marginTop: Layout.isSmallDevice ? 18 : 0,\r\n },\r\n bullit: { ...TypographyStyles.blogText, marginBottom: 8 },\r\n bullitLast: { ...TypographyStyles.blogText, marginBottom: 15 },\r\n container: {\r\n backgroundColor: Colors.white,\r\n ...SpacingStyles.marginRightLeft10,\r\n marginBottom: 20,\r\n borderRadius: 12,\r\n padding: Layout.isSmallDevice ? 18 : 36,\r\n },\r\n containerRow: { flex: 1, flexDirection: 'row' },\r\n employeeContainer: { alignItems: 'center', flexDirection: 'row', margin: 10 },\r\n employeeText: { flexGrow: 1, flex: 1, marginLeft: 10 },\r\n flex: { flex: 1 },\r\n link: {\r\n ...TypographyStyles.blogText,\r\n color: Colors.tintColor,\r\n marginBottom: 8,\r\n textDecorationLine: 'underline',\r\n },\r\n linkBottom: {\r\n ...TypographyStyles.blogText,\r\n color: Colors.tintColor,\r\n marginBottom: 15,\r\n },\r\n imageText: { ...TypographyStyles.textItalic, marginBottom: 15 },\r\n partners: { ...TypographyStyles.blogText, marginBottom: 8 },\r\n partnersLast: { ...TypographyStyles.blogText, marginBottom: 15 },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})","import React from 'react'\r\nimport { View, Text, Image, StyleSheet, Dimensions } from 'react-native'\r\nimport TxtProjects from '../../../../constants/TxtProjects'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\nimport PageTitle from '../../../tags/PageTitle'\r\nimport { ProjectStyles } from './ProjectStyles'\r\nimport Layout from '../../../../constants/Layout'\r\n\r\nconst { width } = Dimensions.get('window')\r\nexport default class Demantec2 extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n {TxtProjects.demantec2.title[TxtProjects.lang]}\r\n \r\n \r\n\r\n \r\n {TxtProjects.demantec2.text1[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.demantec2.text2[TxtProjects.lang]}\r\n \r\n\r\n \r\n {TxtProjects.demantec2.text3[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.demantec2.text4[TxtProjects.lang]}\r\n \r\n\r\n \r\n {TxtProjects.demantec2.text5[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.demantec2.text6[TxtProjects.lang]}\r\n \r\n URLOpener('http://demantec.eu/da/')}\r\n >\r\n {TxtProjects.demantec2.readMore[TxtProjects.lang]}\r\n {TxtProjects.demantec2.demantecLink[TxtProjects.lang]}\r\n \r\n \r\n\r\n \r\n {TxtProjects.demantec2.involved[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.demantec2.partner1[TxtProjects.lang]}\r\n \r\n URLOpener('https://da.life-partners.com/')}\r\n >\r\n {TxtProjects.demantec2.partner2[TxtProjects.lang]}\r\n \r\n URLOpener('https://phabsalon.dk/')}\r\n >\r\n {TxtProjects.demantec2.partner3[TxtProjects.lang]}\r\n \r\n URLOpener('https://hs-flensburg.de/en')}\r\n >\r\n {TxtProjects.demantec2.partner4[TxtProjects.lang]}\r\n \r\n\r\n \r\n {TxtProjects.demantec2.projectPeriod[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.demantec2.period[TxtProjects.lang]}\r\n \r\n\r\n \r\n {TxtProjects.demantec2.supporter[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.demantec2.supporterText[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.demantec2.readMoreSupporter[TxtProjects.lang]}\r\n \r\n URLOpener('https://www.interreg5a.eu/')}\r\n >\r\n {TxtProjects.demantec2.supporterLink[TxtProjects.lang]}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n imageDPP: {\r\n alignSelf: Layout.isSmallDevice ? 'center' : null,\r\n height: Layout.isSmallDevice ? width * 0.5 : 400,\r\n marginBottom: 8,\r\n width: Layout.isSmallDevice ? width * 0.9 : 700,\r\n },\r\n imageIR: {\r\n height: Layout.isSmallDevice ? width * 0.2 : 100,\r\n marginBottom: 8,\r\n width: Layout.isSmallDevice ? width * 0.9 : 550,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Text, Image, Dimensions, StyleSheet } from 'react-native'\r\nimport TxtProjects from '../../../../constants/TxtProjects'\r\nimport PageTitle from '../../../tags/PageTitle'\r\nimport Layout from '../../../../constants/Layout'\r\nimport { ProjectStyles } from './ProjectStyles'\r\nconst { width } = Dimensions.get('window')\r\nexport default class SBB extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n {TxtProjects.sbb.title[TxtProjects.lang]}\r\n \r\n \r\n\r\n \r\n {TxtProjects.sbb.text1[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.sbb.text2[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.sbb.text3[TxtProjects.lang]}\r\n \r\n\r\n \r\n {TxtProjects.sbb.involved[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.sbb.partner1[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.sbb.partner2[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.sbb.partner3[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.sbb.partner4[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.sbb.partner5[TxtProjects.lang]}\r\n \r\n\r\n \r\n {TxtProjects.sbb.projectPeriod[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.sbb.period[TxtProjects.lang]}\r\n \r\n\r\n \r\n {TxtProjects.sbb.supporter}\r\n \r\n \r\n {TxtProjects.sbb.supporterText[TxtProjects.lang]}\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n imageEU: {\r\n height: Layout.isSmallDevice ? width * 0.26 : 85,\r\n marginBottom: 8,\r\n width: Layout.isSmallDevice ? width * 0.75 : 240,\r\n },\r\n imageSD: {\r\n height: Layout.isSmallDevice ? width * 0.3 : 150,\r\n marginBottom: 8,\r\n width: Layout.isSmallDevice ? width * 0.51 : 250,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Text, StyleSheet, Image, Dimensions } from 'react-native'\r\nimport TxtProjects from '../../../../constants/TxtProjects'\r\nimport PageTitle from '../../../tags/PageTitle'\r\nimport Layout from '../../../../constants/Layout'\r\nimport { ProjectStyles } from './ProjectStyles'\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nexport default class PHD extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n {TxtProjects.phd.title[TxtProjects.lang]}\r\n \r\n \r\n \r\n {TxtProjects.phd.text1[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.phd.text2[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.phd.text3[TxtProjects.lang]}\r\n \r\n\r\n \r\n {TxtProjects.phd.projectPeriod[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.phd.period[TxtProjects.lang]}\r\n \r\n\r\n \r\n {TxtProjects.phd.involved[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.phd.partner1[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.phd.partner2[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.phd.partner3[TxtProjects.lang]}\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n imageAK: {\r\n height: Layout.isSmallDevice ? width * 0.15 : 75,\r\n marginBottom: 8,\r\n width: Layout.isSmallDevice ? width * 0.45 : 250,\r\n },\r\n imageAU: {\r\n height: Layout.isSmallDevice ? width * 0.25 : 125,\r\n marginBottom: 8,\r\n width: Layout.isSmallDevice ? width * 0.45 : 225,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Text, StyleSheet, Image, Dimensions } from 'react-native'\r\nimport TxtProjects from '../../../../constants/TxtProjects'\r\nimport PageTitle from '../../../tags/PageTitle'\r\nimport Layout from '../../../../constants/Layout'\r\nimport { ProjectStyles } from './ProjectStyles'\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nexport default class CHS extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n {TxtProjects.chs.title[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.chs.text1[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.chs.text2[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.chs.text3[TxtProjects.lang]}\r\n \r\n\r\n \r\n {TxtProjects.chs.projectPeriod[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.chs.period[TxtProjects.lang]}\r\n \r\n\r\n \r\n {TxtProjects.chs.involved[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.chs.partner1[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.chs.partner2[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.chs.partner3[TxtProjects.lang]}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n imageFK: {\r\n height: Layout.isSmallDevice ? width * 0.25 : 100,\r\n marginBottom: 8,\r\n width: Layout.isSmallDevice ? width : 400,\r\n },\r\n imageHK: {\r\n height: Layout.isSmallDevice ? width * 0.33 : 150,\r\n marginBottom: 8,\r\n width: Layout.isSmallDevice ? width * 0.9 : 400,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Linking, StyleSheet, Image, Dimensions } from 'react-native'\r\nimport TxtProjects from '../../../../constants/TxtProjects'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { ImageHighlight } from '../../../images/ImageHighlight'\r\nimport Fontsizes from '../../../../constants/Fontsizes'\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\nimport PageTitle from '../../../tags/PageTitle'\r\nimport Layout from '../../../../constants/Layout'\r\nimport { ProjectStyles } from './ProjectStyles'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nexport default class OPILDL extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n {TxtProjects.opildl.title[TxtProjects.lang]}\r\n \r\n \r\n \r\n {TxtProjects.opildl.text1[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.opildl.text2[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.opildl.text3[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.opildl.text4[TxtProjects.lang]}\r\n \r\n\r\n \r\n \r\n \r\n {'\\u25CF '}\r\n \r\n \r\n \r\n \r\n {TxtProjects.opildl.point1[TxtProjects.lang]}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {'\\u25CF '}\r\n \r\n \r\n \r\n \r\n {TxtProjects.opildl.point2[TxtProjects.lang]}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {'\\u25CF '}\r\n \r\n \r\n \r\n \r\n {TxtProjects.opildl.point3[TxtProjects.lang]}\r\n \r\n \r\n \r\n\r\n \r\n {TxtProjects.opildl.text5[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.opildl.text6[TxtProjects.lang]}\r\n \r\n\r\n \r\n {TxtProjects.opildl.projectPeriod[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.opildl.period[TxtProjects.lang]}\r\n \r\n\r\n \r\n {TxtProjects.opildl.moreInfo[TxtProjects.lang]}\r\n \r\n \r\n URLOpener(\r\n 'http://livingdesignlab.dk/4-innovationssamarbejder/demens/'\r\n )\r\n }\r\n >\r\n {TxtProjects.opildl.ldlLink[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.opildl.projectResults[TxtProjects.lang]}\r\n \r\n \r\n URLOpener(\r\n 'http://livingdesignlab.dk/4-innovationssamarbejder/demens/'\r\n )\r\n }\r\n >\r\n {TxtProjects.opildl.ldlLink[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.opildl.projectResponsible[TxtProjects.lang]}\r\n \r\n {/* Anders */}\r\n \r\n \r\n \r\n \r\n \r\n {txt('aboutUs.andersName')}\r\n\r\n Linking.openURL('mailto:as@boblberg.dk')}>\r\n \r\n \r\n {txt('aboutUs.andersMail')}\r\n \r\n \r\n\r\n Linking.openURL(`tel:${+4522250520}`)}>\r\n \r\n \r\n {txt('aboutUs.andersPhone')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n imageBK: {\r\n height: Layout.isSmallDevice ? width * 0.2 : 80,\r\n marginBottom: 8,\r\n width: Layout.isSmallDevice ? width * 0.51 : 202,\r\n },\r\n imageEU: {\r\n height: Layout.isSmallDevice ? width * 0.25 : 85,\r\n marginBottom: 8,\r\n width: Layout.isSmallDevice ? width * 0.75 : 250,\r\n },\r\n imageHK: {\r\n height: Layout.isSmallDevice ? width * 0.2 : 60,\r\n marginBottom: 8,\r\n width: Layout.isSmallDevice ? width * 0.75 : 230,\r\n },\r\n imageKK: {\r\n height: Layout.isSmallDevice ? width * 0.2 : 85,\r\n marginBottom: 8,\r\n width: Layout.isSmallDevice ? width * 0.5 : 210,\r\n },\r\n imageSDU: {\r\n height: Layout.isSmallDevice ? width * 0.2 : 60,\r\n marginBottom: 8,\r\n width: Layout.isSmallDevice ? width * 0.75 : 220,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Linking, StyleSheet, Image, Dimensions } from 'react-native'\r\nimport TxtProjects from '../../../../constants/TxtProjects'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { ImageHighlight } from '../../../images/ImageHighlight'\r\nimport Fontsizes from '../../../../constants/Fontsizes'\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\nimport PageTitle from '../../../tags/PageTitle'\r\nimport Layout from '../../../../constants/Layout'\r\nimport { ProjectStyles } from './ProjectStyles'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nexport default class OPILDL extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n {TxtProjects.opifakto.title[TxtProjects.lang]}\r\n \r\n \r\n \r\n {TxtProjects.opifakto.title1[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.opifakto.text1[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.opifakto.title2[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.opifakto.text2[TxtProjects.lang]}\r\n \r\n \r\n \r\n {TxtProjects.opifakto.imagetext}\r\n \r\n\r\n \r\n {TxtProjects.opifakto.projectPeriod[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.opifakto.period[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.opifakto.partnerInfo[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.opifakto.partners[TxtProjects.lang]}\r\n \r\n\r\n \r\n {TxtProjects.opifakto.supportTitle[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.opifakto.support[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.opifakto.referencesTitle[TxtProjects.lang]}\r\n \r\n \r\n URLOpener(\r\n 'http://www.abcmentalsundhed.dk/media/1144/abc-brochure-om-at-vaere-aktiv.pdf'\r\n )\r\n }\r\n >\r\n {TxtProjects.opifakto.references[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.opildl.projectResponsible[TxtProjects.lang]}\r\n \r\n {/* Anders */}\r\n \r\n \r\n \r\n \r\n \r\n {txt('aboutUs.andersName')}\r\n\r\n Linking.openURL('mailto:as@boblberg.dk')}>\r\n \r\n \r\n {txt('aboutUs.andersMail')}\r\n \r\n \r\n\r\n Linking.openURL(`tel:${+4522250520}`)}>\r\n \r\n \r\n {txt('aboutUs.andersPhone')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n image: {\r\n height: Layout.isSmallDevice ? width * 1.65 : 750,\r\n marginBottom: 8,\r\n width: Layout.isSmallDevice ? width * 0.9 : 400,\r\n },\r\n imageEU: {\r\n height: Layout.isSmallDevice ? width * 0.25 : 85,\r\n marginBottom: 8,\r\n width: Layout.isSmallDevice ? width * 0.75 : 250,\r\n },\r\n})\r\n","import React from 'react'\r\nimport {\r\n View,\r\n StyleSheet,\r\n Image,\r\n Dimensions,\r\n} from 'react-native'\r\nimport TxtProjects from '../../../../constants/TxtProjects'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { ProjectStyles } from './ProjectStyles'\r\nimport PageTitle from '../../../tags/PageTitle'\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nexport default function OEUG() {\r\n return (\r\n \r\n \r\n \r\n \r\n {TxtProjects.OEUG.title[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.OEUG.text1[TxtProjects.lang]}\r\n \r\n \r\n \r\n \r\n \r\n {TxtProjects.OEUG.text2[TxtProjects.lang]}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n image: {\r\n flex: 1,\r\n height: undefined,\r\n width: undefined,\r\n },\r\n imageContainer: {\r\n alignSelf: 'center',\r\n height: width * 0.9,\r\n marginBottom: 24,\r\n marginTop: 12,\r\n width: width * 0.9,\r\n maxWidth: 502,\r\n maxHeight: 500,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, StyleSheet, Image, Dimensions } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { ProjectStyles } from './ProjectStyles'\r\nimport PageTitle from '../../../tags/PageTitle'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\nimport Colors from '../../../../constants/Colors'\r\n\r\nconst { width } = Dimensions.get('window')\r\nconst small = width < 800\r\n\r\nexport default function AnalyseAfMentalMistrivsel() {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{'Analyse af mental mistrivsel blandt brugerne på Boblberg'}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{'Med støtte fra TrygFonden har Analyse & Tal undersøgt brugernes mentale sundhed på Boblberg, en netværksplatform skabt til at bekæmpe ensomhed og fremme mental sundhed.'}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{'Rapporten tager udgangspunkt i næsten 2 millioner bobler og beskeder som ved hjælp af en AI sprogmodel er blevet undersøgt for selvoplyst mentale udfordringer. Som grafikken nedenfor illustrerer, konkluderer rapporten, at 40% af brugerne oplever mental mistrivsel, mens 17% er uden for beskæftigelse, og at 11% lider af fysiske helbredsproblemer. Når man ser nærmere på de 40% af brugerne, der oplever mental mistrivsel, viser rapporten desuden, at 37% af disse føler sig ensomme, 11% er psykisk sårbare, og at 8% føler sig både ensomme og psykisk sårbare.'}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{'Rapporten understreger tydeligt, at Boblberg spiller en afgørende rolle ved at facilitere direkte borger-til-borger-kontakt blandt dem, der af forskellige årsager har udfordringer med at engagere sig i traditionelle fællesskaber. Dette gør platformen til et unikt alternativ og supplement til andre lokale organisationer.'}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{'Herunder finder du rapporten, der detaljeret beskriver resultaterne af analysen. Desuden er der en optagelse tilgængelig fra den konference, der blev afholdt ifm. lanceringen af analysen, hvor resultaterne blev præsenteret og drøftet i et panel bestående af ungdomsforsker Niels Ulrik Sørensen fra Aalborg Universitet, Morten Sodemann professor og overlæge ved Syddansk Universitet samt Geske Fischer-Hansen direktør i Ungdommens Røde Kors.'}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{'Boblberg, som har haft over en halv million oprettede profiler siden lanceringen i 2016, muliggør nye og trygge relationer gennem opslag (\"bobler\") og private beskeder. Dette har resulteret i næsten 2 millioner udvekslede beskeder i 2023, hvilket viser et stort behov for at etablere nye relationer. Mange brugere står uden for gængse fællesskaber pga. arbejdsløshed eller helbredsproblemer, og Boblberg fungerer netop som en tryg indgang til sociale netværk, der forbedrer deres mentale trivsel.'}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t{'Læs den fulde rapport '}\r\n\t\t\t\t\t URLOpener('https://filer.boblberg.dk/Files/Documents/Analyse-af-mental-mistrivsel-blandt-brugerne-paa-Boblberg.pdf')}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{'her'}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{'Se konferencen '}\r\n\t\t\t\t\t URLOpener('https://filer.boblberg.dk/video/konference/online-konference-analyse-af-mental-mistrivsel-blandt-brugerne-paa-boblberg.mp4')}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{'her'}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\timage: {\r\n\t\talignSelf: 'center',\r\n\t\twidth: '100%',\r\n\t\theight: small ? 200 : 480,\r\n\t\tmarginTop: 12,\r\n\t\tmarginBottom: 24,\r\n\t},\r\n\tlink: {\r\n\t\tfontSize: 16,\r\n\t\tcolor: Colors.tintColor,\r\n\t\ttextDecorationLine: 'underline',\r\n\t},\r\n})\r\n","import React from 'react'\r\n\r\nimport Demantec2 from '../../components/views/About/ProjectsViews/Demantec2'\r\nimport SBB from '../../components/views/About/ProjectsViews/SBB'\r\nimport PHD from '../../components/views/About/ProjectsViews/PHD'\r\nimport CHS from '../../components/views/About/ProjectsViews/CHS'\r\nimport OPILDL from '../../components/views/About/ProjectsViews/OPILDL'\r\nimport OPIFAKTO from '../../components/views/About/ProjectsViews/OPIFakto'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport OEUG from '../../components/views/About/ProjectsViews/OEUG'\r\nimport AnalyseAfMentalMistrivsel from '../../components/views/About/ProjectsViews/AnalyseAfMentalMistrivsel'\r\n\r\nexport default function ProjectsScreen(props) {\r\n\tfunction checkSwitch(param) {\r\n\t\tswitch (param) {\r\n\t\tcase 'OEUG':\r\n\t\t\treturn \r\n\r\n\t\tcase 'Demantec2':\r\n\t\t\treturn \r\n\r\n\t\tcase 'SBB':\r\n\t\t\treturn \r\n\r\n\t\tcase 'PHD':\r\n\t\t\treturn \r\n\r\n\t\tcase 'CHS':\r\n\t\t\treturn \r\n\r\n\t\tcase 'OPILDL':\r\n\t\t\treturn \r\n\r\n\t\tcase 'OPIFAKTO':\r\n\t\t\treturn \r\n\t\t\t\r\n\t\tcase 'analyse-af-mental-mistrivsel':\r\n\t\t\treturn \t\r\n\r\n\t\tdefault:\r\n\t\t\tif (__DEV__) console.log('DEFAULT SWITCH')\r\n\t\t}\r\n\t}\r\n\r\n\treturn {checkSwitch(props.route.params.id)}\r\n}\r\n","import React from 'react'\r\nimport { View, Text, StyleSheet } from 'react-native'\r\nimport { ImageHighlight } from '../../images/ImageHighlight'\r\nimport TxtTMD from '../../../constants/TxtTMD'\r\nimport PageTitle from '../../tags/PageTitle'\r\nimport { SpacingStyles, TypographyStyles } from '../../../styles'\r\nimport MainContainer from '../../MainContainer/MainContainer'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nconst projectsData = [\r\n {\r\n name: 'analyse-af-mental-mistrivsel',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/projects/analyse-af-mental-mistrivsel.jpg',\r\n title: 'Analyse af mental mistrivsel blandt brugerne på Boblberg',\r\n },\r\n {\r\n name: 'OEUG',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/projects/Project_OEUG.jpg',\r\n title: 'Økonomer Uden Grænser',\r\n },\r\n {\r\n name: 'Demantec2',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/projects/Project_Demantec.jpg',\r\n title: 'Demantec 2.0',\r\n },\r\n {\r\n name: 'SBB',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/projects/Project_SBB.jpg',\r\n title: 'Støttende Borger-Bobler (SBB)',\r\n },\r\n {\r\n name: 'PHD',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/projects/Project_PHD.jpg',\r\n title: 'Ph.d.-projekt - Sociale fællesskabers betydning for mental sundhed',\r\n },\r\n {\r\n name: 'CHS',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/projects/Project_CHS.jpg',\r\n title: 'Forskningsprojekt – Seniorers brug af Boblberg',\r\n },\r\n {\r\n name: 'OPILDL',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/projects/Project_OPI-LDL.jpg',\r\n title: 'OPI LDL - Det demensvenlige samfund',\r\n },\r\n {\r\n name: 'OPIFAKTO',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/projects/aktivitetsmodul2.jpg',\r\n title: 'OPI FAKTO',\r\n },\r\n]\r\n\r\nclass ProjectBox extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n this.props.pressF(this.props.name)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.title}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default class ProjectsMenu extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n navigateToPost = (project) => {\r\n this.props.navigation.push('Projects', {\r\n id: project,\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {projectsData.map((data, i) => {\r\n return (\r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n projectContainer: {\r\n flexDirection: 'row',\r\n height: 100,\r\n justifyContent: 'space-between',\r\n marginBottom: 25,\r\n marginLeft: 10,\r\n marginRight: 10,\r\n },\r\n textBold: { flexWrap: 'wrap', paddingLeft: 10, ...TypographyStyles.textBold },\r\n textContainer: {\r\n alignSelf: 'center',\r\n flex: 1,\r\n maxHeight: 100,\r\n overflow: 'hidden',\r\n },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, Dimensions, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Layout from '../../../constants/Layout'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport Carousel, { Pagination } from 'react-native-snap-carousel'\r\nimport { URLOpener } from '../../../utils/URLOpener'\r\nimport TxtTMD from '../../../constants/TxtTMD'\r\nimport TxtProjects from '../../../constants/TxtProjects'\r\nimport PageTitle from '../../tags/PageTitle'\r\nimport {\r\n SpacingStyles,\r\n CornerStyles,\r\n BorderStyles,\r\n TypographyStyles,\r\n} from '../../../styles'\r\nimport { ImageHighlightMedium } from '../../images/ImageHighlight'\r\nimport { RoundBtn } from '../../buttons/StyledButtons'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\nconst carouselWidth =\r\n width > Layout.maxFeedWidth ? Layout.maxFeedWidth - 36 : width - 18\r\n\r\nconst UserExperiences = [\r\n {\r\n name: 'MunicipalityInfo.michelle',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/municipalityInfo/angst-michelle.jpg',\r\n body: 'MunicipalityInfo.michelleBody',\r\n },\r\n {\r\n name: 'MunicipalityInfo.jan',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/municipalityInfo/jan-diemer.jpg',\r\n body: 'MunicipalityInfo.janBody',\r\n },\r\n {\r\n name: 'MunicipalityInfo.hasan',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/municipalityInfo/hasan1.jpg',\r\n body: 'MunicipalityInfo.hasanBody',\r\n },\r\n {\r\n name: 'MunicipalityInfo.ida',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/municipalityInfo/ida-moelgaard.jpg',\r\n body: 'MunicipalityInfo.idaBody',\r\n },\r\n]\r\n\r\nconst Municipalities = [\r\n {\r\n title: 'MunicipalityInfo.aalborgTitle',\r\n body: 'MunicipalityInfo.aalborgBody',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/municipalityInfo/aalborg-kommune.png',\r\n label: 'MunicipalityInfo.aalborgLogo',\r\n },\r\n {\r\n title: 'MunicipalityInfo.gribskovTitle',\r\n body: 'MunicipalityInfo.gribskovBody',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/municipalityInfo/gribskov-kommune.png',\r\n label: 'MunicipalityInfo.gribskovLogo',\r\n },\r\n {\r\n title: 'MunicipalityInfo.næstvedTitle',\r\n body: 'MunicipalityInfo.næstvedBody',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/municipalityInfo/naestved-kommune.png',\r\n label: 'MunicipalityInfo.næstvedLogo',\r\n },\r\n]\r\n\r\nconst FN = [\r\n {\r\n body: 'MunicipalityInfo.fnBody1',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/municipalityInfo/fn-verdensmaal-1.jpg',\r\n label: 'MunicipalityInfo.fnImage1',\r\n },\r\n {\r\n body: 'MunicipalityInfo.fnBody2',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/municipalityInfo/fn-verdensmaal-2.jpg',\r\n label: 'MunicipalityInfo.fnImage2',\r\n },\r\n]\r\n\r\nexport default class MunicipalityInfo extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n activeIndex: 0,\r\n activeIndexMunicipalities: 0,\r\n }\r\n }\r\n\r\n renderStories({ item }) {\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n \r\n {txt(item.body)}\r\n \r\n \r\n {txt(item.name)}\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n renderMunicipalities({ item }) {\r\n return (\r\n \r\n \r\n \r\n \r\n {txt(item.title)}\r\n \r\n \r\n {txt(item.body)}\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('MunicipalityInfo.header')}\r\n \r\n \r\n {txt('MunicipalityInfo.startText')}\r\n \r\n \r\n {txt('MunicipalityInfo.startText1')}\r\n\r\n \r\n {txt('MunicipalityInfo.experiencesTitle')}\r\n \r\n\r\n \r\n {\r\n if (!this.state.storiesRef) {\r\n this.setState({ storiesRef: ref })\r\n }\r\n }}\r\n data={UserExperiences}\r\n sliderWidth={carouselWidth}\r\n itemWidth={carouselWidth}\r\n renderItem={this.renderStories}\r\n onSnapToItem={(index) => this.setState({ activeIndex: index })}\r\n loop\r\n autoplay\r\n inactiveSlideOpacity={1} //makes web view show both items equally big\r\n inactiveSlideScale={1} //makes web view show both items equally big\r\n autoplayInterval={4000}\r\n enableSnap={true}\r\n />\r\n \r\n \r\n \r\n {txt('MunicipalityInfo.readMore')}\r\n URLOpener('https://filer.boblberg.dk/Files/Documents/Boblberg_Forvaltninger.pdf')}\r\n >\r\n \r\n {txt('MunicipalityInfo.readMoreLink')}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {txt('MunicipalityInfo.boblbergHealthTitle')}\r\n \r\n \r\n {txt('MunicipalityInfo.boblbergHealthBody1')}\r\n \r\n \r\n \r\n \r\n {txt('MunicipalityInfo.redCrossStatementTitle')}\r\n \r\n \r\n {txt('MunicipalityInfo.redCrossStatementBody')}\r\n \r\n \r\n \r\n {txt('MunicipalityInfo.boblbergHealthBody2')}\r\n \r\n \r\n \r\n this.props.navigation.navigate('Press')}>\r\n \r\n {txt('MunicipalityInfo.readPress')}\r\n \r\n \r\n \r\n \r\n {\r\n if (!this.state.storiesRef) {\r\n this.setState({ storiesRef: ref })\r\n }\r\n }}\r\n data={Municipalities}\r\n sliderWidth={carouselWidth}\r\n itemWidth={carouselWidth}\r\n renderItem={this.renderMunicipalities}\r\n onSnapToItem={(index) => this.setState({ activeIndex: index })}\r\n loop\r\n autoplay\r\n inactiveSlideOpacity={1} //makes web view show both items equally big\r\n inactiveSlideScale={1} //makes web view show both items equally big\r\n autoplayInterval={4000}\r\n enableSnap={true}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n {TxtProjects.OEUG.title[TxtProjects.lang]}\r\n \r\n \r\n {TxtProjects.OEUG.shortInfo[TxtProjects.lang]}\r\n \r\n \r\n \r\n \r\n \r\n {TxtProjects.OEUG.shortInfo2[TxtProjects.lang]}\r\n \r\n this.props.navigation.navigate('ProjectsMenu')}/>\r\n \r\n\r\n \r\n \r\n {txt('MunicipalityInfo.fnTitle')}\r\n \r\n \r\n {FN.map((image, i) => {\r\n return (\r\n \r\n \r\n \r\n {txt(image.body)}\r\n \r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n OEUGimage: {\r\n alignSelf: 'center',\r\n height: width * 0.9,\r\n marginBottom: 24,\r\n marginTop: 12,\r\n maxHeight: 400,\r\n maxWidth: 402,\r\n width: width * 0.9,\r\n },\r\n alignSelfCenter: { alignSelf: 'center' },\r\n blogHeader: {\r\n ...TypographyStyles.blogHeader,\r\n marginBottom: 12,\r\n marginTop: 24,\r\n },\r\n blogSubtitle: {\r\n ...TypographyStyles.blogSubtitle,\r\n marginBottom: 12,\r\n marginTop: 24,\r\n },\r\n blogText: { ...TypographyStyles.blogText, marginBottom: 12 },\r\n blogTitle: {\r\n ...TypographyStyles.blogTitle,\r\n marginBottom: 24,\r\n marginTop: Layout.isSmallDevice ? 18 : 0,\r\n textAlign: 'center',\r\n },\r\n carouselContainer: {\r\n alignSelf: 'center',\r\n flex: 1,\r\n },\r\n carouselTextContainer: { flex: 1, padding: 15 },\r\n container: {\r\n backgroundColor: Colors.white,\r\n ...SpacingStyles.marginRightLeft10,\r\n borderRadius: 12,\r\n marginBottom: 20,\r\n padding: Layout.isSmallDevice ? 18 : 36,\r\n },\r\n containerRow: {\r\n marginBottom: 24,\r\n },\r\n dkImage: {\r\n height: Layout.isSmallDevice ? 150 : 200,\r\n width: Layout.isSmallDevice ? 150 : 200,\r\n },\r\n fnBox: {\r\n flex: 1,\r\n flexDirection: Layout.isSmallDevice ? 'column' : 'row',\r\n },\r\n fnCard: {\r\n flex: 1,\r\n },\r\n fnFirstCard: {\r\n flex: 1,\r\n marginRight: Layout.isSmallDevice ? 0 : 24,\r\n },\r\n fnImages: {\r\n ...CornerStyles.borderRadiusS,\r\n alignSelf: 'center',\r\n height: 150,\r\n margin: 20,\r\n width: 150,\r\n },\r\n image: {\r\n flex: 1,\r\n height: undefined,\r\n width: undefined,\r\n },\r\n linkText: { color: Colors.tintColor },\r\n municipalityImage: { alignSelf: 'center', height: 300, width: 200 },\r\n padding5: { padding: 5 },\r\n pagination: { borderRadius: 10, height: 12, width: 12 },\r\n redCrossContainer: { paddingBottom: 30 },\r\n storiesContainer: { alignItems: 'center', ...SpacingStyles.widthAndHeight },\r\n storiesImage: { ...CornerStyles.roundImg, ...BorderStyles.blueBorder },\r\n textAlignCenter: { flex: 1, textAlign: 'center' },\r\n widthAndHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport MunicipalityInfo from '../../components/views/About/MunicipalityInfo'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nexport default class MunicipalityInfoScreen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","import React from 'react'\r\nimport Colors from '../../constants/Colors'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { StyleSheet } from 'react-native'\r\nimport { TypographyStyles } from '../../styles'\r\nimport { txt } from '../../locales/i18n'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport function FilterButton({\r\n selected,\r\n text,\r\n iconName,\r\n onPress,\r\n buttonSelectedStyle,\r\n buttonUnselectedStyle,\r\n activeColor,\r\n}) {\r\n return (\r\n \r\n \r\n {text && (\r\n \r\n {text}\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n buttonSelected: {\r\n borderColor: Colors.blue,\r\n },\r\n buttonUnselected: {\r\n borderColor: Colors.filterBackground,\r\n },\r\n filterButton: {\r\n alignItems: 'center',\r\n backgroundColor: Colors.filterBackground,\r\n borderRadius: 23,\r\n borderWidth: 2,\r\n flexDirection: 'row',\r\n justifyContent: 'center',\r\n paddingHorizontal: 9,\r\n paddingVertical: 3,\r\n },\r\n textSelected: { ...TypographyStyles.textSmallBold, color: Colors.text },\r\n textStyle: {\r\n marginLeft: 6,\r\n },\r\n textUnselected: { ...TypographyStyles.textSmall, color: Colors.text },\r\n})\r\n","import React from 'react'\r\nimport { Linking } from 'react-native'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { TypographyStyles } from '../../../styles'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { ImageHighlight } from '../../images/ImageHighlight'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function PressContact() {\r\n return (\r\n //Rasmus\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('aboutUs.rasmusName')}\r\n \r\n \r\n \r\n {txt('aboutUs.rasmusPosition')}\r\n \r\n\r\n Linking.openURL('mailto:rs@boblberg.dk')}>\r\n \r\n \r\n \r\n {txt('aboutUs.rasmusMail')}\r\n \r\n \r\n \r\n\r\n Linking.openURL(`tel:${+4520202078}`)}>\r\n \r\n \r\n \r\n {txt('aboutUs.rasmusPhone')}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n employeeContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'flex-end',\r\n marginHorizontal: 12,\r\n marginTop: 12,\r\n },\r\n employeeName: { ...TypographyStyles.textBold },\r\n employeeTextContainer: { flexGrow: 1, flex: 1, marginLeft: 12 },\r\n paddingLeft: {\r\n paddingLeft: 12,\r\n },\r\n})\r\n","import React, { useState, useRef } from 'react'\r\nimport { Dimensions, StyleSheet, View } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport Colors from '../../../constants/Colors'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { URLOpener } from '../../../utils/URLOpener'\r\nimport TxtTMD from '../../../constants/TxtTMD'\r\nimport PageTitle from '../../tags/PageTitle'\r\nimport { ShadowStyles, SpacingStyles } from '../../../styles'\r\nimport Layout from '../../../constants/Layout'\r\nimport { FilterButton } from '../../chips/FilterButton'\r\nimport SearchList from '../../lists/SearchList'\r\nimport { getPress } from '../../../services/api/Press'\r\nimport PressContact from './PressContact'\r\nimport moment from 'moment'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function Press(props) {\r\n const [filter, setFilter] = useState({\r\n article: false,\r\n radio: false,\r\n tv: false,\r\n })\r\n const prevFilters = useRef([])\r\n\r\n async function fetchPress({ search, skip, amount }) {\r\n let types = []\r\n\r\n const typeCheck = [\r\n filter.article ? 'article' : null,\r\n filter.radio ? 'radio' : null,\r\n filter.tv ? 'video' : null,\r\n ]\r\n\r\n types = typeCheck.filter((type) => type != null)\r\n\r\n const press = await getPress({\r\n search,\r\n types: types,\r\n skip,\r\n amount,\r\n })\r\n return press\r\n }\r\n\r\n const triggerUpdate = () => {\r\n const isTriggable = shouldUpdate()\r\n if (isTriggable) {\r\n prevFilters.current = filter\r\n\r\n return isTriggable\r\n }\r\n return isTriggable\r\n }\r\n\r\n const shouldUpdate = () => {\r\n if (prevFilters.current !== filter) return true\r\n return false\r\n }\r\n\r\n const updateFilter = (mediaType) => {\r\n const newFilter = { ...filter }\r\n newFilter[mediaType] = !filter[mediaType]\r\n setFilter(newFilter)\r\n }\r\n\r\n const isSmallDevice = Dimensions.get('window').width < 375\r\n\r\n const Icon = ({ iconName, mediaType, selected }) => {\r\n return (\r\n \r\n updateFilter(mediaType)}\r\n iconName={iconName}\r\n text={txt('pressChip.' + mediaType)}\r\n selected={selected}\r\n />\r\n \r\n )\r\n }\r\n\r\n const FilterIcons = () => {\r\n return (\r\n \r\n {/* Article */}\r\n \r\n {/* Video */}\r\n \r\n {/* Radio */}\r\n \r\n \r\n )\r\n }\r\n\r\n const pressItem = ({ item, index }) => {\r\n return (\r\n \r\n URLOpener(item.url)}>\r\n \r\n\r\n \r\n {item.media}\r\n {item.title}\r\n \r\n {moment(item.date).format('DD-MM-YYYY')}\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n return (\r\n \r\n \r\n \r\n }\r\n navigation={props.navigation}\r\n center\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n alignSelf: 'center',\r\n maxWidth: Layout.maxFeedWidth,\r\n },\r\n dateText: {\r\n alignSelf: 'flex-end',\r\n backgroundColor: Colors.skyBlue,\r\n borderColor: Colors.transparent,\r\n borderRadius: 15,\r\n overflow: 'hidden',\r\n padding: 6,\r\n paddingHorizontal: 12,\r\n textAlign: 'center',\r\n },\r\n iconContainer: {\r\n alignSelf: 'center',\r\n flexDirection: 'row',\r\n marginTop: 6,\r\n },\r\n iconStyle: { marginBottom: 12, marginLeft: 3, marginRight: 3 },\r\n itemContainer: {\r\n alignItems: 'center',\r\n ...ShadowStyles.shadowInputs,\r\n backgroundColor: Colors.white,\r\n borderRadius: 20,\r\n flexDirection: 'row',\r\n marginHorizontal: 12,\r\n marginTop: 12,\r\n padding: 12,\r\n },\r\n textContainer: {\r\n flex: 1,\r\n },\r\n})\r\n","import { apiGet } from './ApiRequest'\r\n\r\nexport async function getPress({ search, types, skip, amount }) {\r\n const press = await apiGet(\r\n `press?search=${search}&types=${types}&skip=${skip}&amount=${amount}`\r\n )\r\n return press.press\r\n}\r\n\r\nexport async function getPressById(id) {\r\n const press = await apiGet(`press/${id}`)\r\n return press.press\r\n}\r\n","import React from 'react'\r\nimport Press from '../../components/views/About/Press'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nexport default function PressScreen(props) {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { View, Image, Linking, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Colors from '../../../constants/Colors'\r\nimport TxtTMD from '../../../constants/TxtTMD'\r\nimport PageTitle from '../../tags/PageTitle'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport MainContainer from '../../MainContainer/MainContainer'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nconst partnersData = [\r\n\t{\r\n\t\tname: 'ABCMentalSundhed',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/ABCMentalSundhed.png',\r\n\t},\r\n\t{\r\n\t\tname: 'AdipositasForeningen',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/AdipositasForeningen.png',\r\n\t},\r\n\t{\r\n\t\tname: 'Arbejdermuseet',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/Arbejdermuseet.png',\r\n\t},\r\n\t{\r\n\t\tname: 'BørneBuddies',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/BørneBuddies.png',\r\n\t},\r\n\t{\r\n\t\tname: 'CHC',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/CHC.png',\r\n\t},\r\n\t{\r\n\t\tname: 'Copa',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/Copa.png',\r\n\t},\r\n\t{\r\n\t\tname: 'DaghøjskolenForSeniorer',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/DaghøjskolenForSeniorer.png',\r\n\t},\r\n\t{\r\n\t\tname: 'DLSC',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/dlsc.png',\r\n\t\t},\r\n\t{\r\n\t\tname: 'DrugRebels',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/DrugRebels.png',\r\n\t},\r\n\t{\r\n\t\tname: 'FamilieKlub',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/FamilieKlub.png',\r\n\t},\r\n\t{\r\n\t\tname: 'FrederiksbergMuseerne',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/FrederiksbergMuseerne.png',\r\n\t},\r\n\t{\r\n\t\tname: 'Fremdrift',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/Fremdrift.png',\r\n\t},\r\n\t{\r\n\t\tname: 'GirlTalk',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/GirlTalk.png',\r\n\t},\r\n\t{\r\n\t\tname: 'GivingTuesday',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/GivingTuesday.png',\r\n\t},\r\n\t{\r\n\t\tname: 'HivDanmark',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/HivDanmark.png',\r\n\t},\r\n\t{\r\n\t\tname: 'Hjerteforeningen',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/Hjerteforeningen.png',\r\n\t},\r\n\t{\r\n\t\tname: 'Idan',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/Idan.png',\r\n\t},\r\n\t{\r\n\t\tname: 'LandsforeningenLEV',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/LandsforeningenLEV.png',\r\n\t},\r\n\t{\r\n\t\tname: 'LærForLivet',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/LærForLivet.png',\r\n\t},\r\n\t{\r\n\t\tname: 'Misbrugsportalen',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/Misbrugsportalen.png',\r\n\t},\r\n\t{\r\n\t\tname: 'Modensomhed',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/Modensomhed.png',\r\n\t},\r\n\t{\r\n\t\tname: 'NSCC',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/NSCC.png',\r\n\t},\r\n\t{\r\n\t\tname: 'SindUngdom',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/SindUngdom.png',\r\n\t},\r\n\t{\r\n\t\tname: 'SOMS',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/SOMS.png',\r\n\t},\r\n\t{\r\n\t\tname: 'Startlinjen',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/Startlinjen.png',\r\n\t},\r\n\t{\r\n\t\tname: 'SUMH',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/SUMH.png',\r\n\t},\r\n\t{\r\n\t\tname: 'Veteran',\r\n\t\turi: 'https://filer.boblberg.dk/Assets/Img/partners/Veteran.png',\r\n\t},\r\n]\r\n\r\nclass Panel extends React.Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props)\r\n\t}\r\n\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t this.props.pressF(this.props.name)}\r\n\t\t\t\t>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n}\r\n\r\nexport default class PartnersMenu extends React.Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props)\r\n\t}\r\n\r\n\tnavigateToPost = (partner) => {\r\n\t\tif (['SOMS', 'DaghøjskolenForSeniorer'].includes(partner)) return\r\n\t\tthis.props.navigation.push('Partners', { id: partner })\r\n\t}\r\n\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('partners.introduction')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('partners.contact')}\r\n\t\t\t\t\t\t\t Linking.openURL('mailto:support@boblberg.dk')}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{txt('partners.infoMail')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('partners.readMore')}\r\n\t\t\t\t\t\t\t this.props.navigation.navigate('MunicipalityInfo')}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{txt('partners.clickHere')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('partners.currentPartners')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{partnersData.map((image, i) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tlinkText: { color: Colors.tintColor },\r\n\tlogo: { alignSelf: 'center', height: 150, width: 150 },\r\n\tpartnerContainer: {\r\n\t\talignItems: 'center',\r\n\t\tflex: 1,\r\n\t\tflexDirection: 'row',\r\n\t\tflexWrap: 'wrap',\r\n\t\tjustifyContent: 'center',\r\n\t\tpaddingBottom: 10,\r\n\t},\r\n\tpartnerImage: { height: 120, width: 150 },\r\n\twidthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Linking, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { ImageHighlight } from '../../../components/images/ImageHighlight'\r\nimport TxtTMD from '../../../constants/TxtTMD'\r\nimport PageTitle from '../../../components/tags/PageTitle'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport CustomPressable from '../../pressables/CustomPressable'\r\n\r\nexport default class AboutUs extends React.Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props)\r\n\t}\r\n\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('aboutUs.startText')}\r\n\t\t\t\t\t\t\t Linking.openURL('mailto:support@boblberg.dk')}>\r\n\t\t\t\t\t\t\t\t{txt('aboutUs.supportMail')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('aboutUs.team')}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Medstiftere */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('aboutUs.rasmusName')}\r\n\t\t\t\t\t\t\t{txt('aboutUs.coFounder')}\r\n\r\n\t\t\t\t\t\t\t Linking.openURL('mailto:rs@boblberg.dk')}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{txt('aboutUs.rasmusMail')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t Linking.openURL(`tel:${+4520202078}`)}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{txt('aboutUs.rasmusPhone')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('aboutUs.nikolajName')}\r\n\t\t\t\t\t\t\t{txt('aboutUs.coFounder')}\r\n\r\n\t\t\t\t\t\t\t Linking.openURL('mailto:ns@boblberg.dk')}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{txt('aboutUs.nikolajMail')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t Linking.openURL(`tel:${+4520202096}`)}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{txt('aboutUs.nikolajPhone')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('aboutUs.andersName')}\r\n\t\t\t\t\t\t\t{txt('aboutUs.coFounder')}\r\n\r\n\t\t\t\t\t\t\t Linking.openURL('mailto:as@boblberg.dk')}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{txt('aboutUs.andersMail')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t Linking.openURL(`tel:${+4522250520}`)}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{txt('aboutUs.andersPhone')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Administration */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('aboutUs.administration')}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('aboutUs.rosaName')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{txt('aboutUs.rosaPosition')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{txt('aboutUs.rosaMail')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('aboutUs.emmaName')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{txt('aboutUs.emmaPosition')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{txt('aboutUs.emmaMail')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('aboutUs.katjaName')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{txt('aboutUs.katjaPosition')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{txt('aboutUs.katjaMail')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* IT */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('aboutUs.it')}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tJacob\r\n\t\t\t\t\t\t\t{txt('aboutUs.jacobPosition')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tPernille\r\n\t\t\t\t\t\t\t{txt('aboutUs.softwareDeveloper')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tStephan\r\n\t\t\t\t\t\t\t{txt('aboutUs.softwareDeveloper')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Event medarbejdere */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('aboutUs.eventEmployees')}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tCamilla\r\n\t\t\t\t\t\t\t{txt('aboutUs.eventTitle')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tCecilie\r\n\t\t\t\t\t\t\t{txt('aboutUs.eventTitle')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tAlberte\r\n\t\t\t\t\t\t\t{txt('aboutUs.eventTitle')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tAmalie\r\n\t\t\t\t\t\t\t{txt('aboutUs.eventTitle')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Address */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('aboutUs.addressTitle')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('aboutUs.addressBody')}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Mission */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('aboutUs.missionTitle')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('aboutUs.missionBody')}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Vision */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('aboutUs.visionTitle')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('aboutUs.visionBody')}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Values */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('aboutUs.valuesTitle')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('aboutUs.valuesBody')}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\ticon: { marginRight: 6 },\r\n\tcontainerRow: { flexDirection: 'row', alignItems: 'center' },\r\n\temployeeContainer: { alignItems: 'center', flexDirection: 'row', margin: 10 },\r\n\temployeeTextContainer: { flexGrow: 1, flex: 1, marginLeft: 10 },\r\n\tlinkText: {\r\n\t\tcolor: Colors.tintColor,\r\n\t\tmarginTop: 5,\r\n\t},\r\n\tmargin10: { margin: 10 },\r\n\tmarginBottom10: { marginBottom: 10 },\r\n\tmarginBottom20: { marginBottom: 20 },\r\n\tmarginTop10: { marginTop: 10 },\r\n\tmarginTopBottom: { marginBottom: 10, marginTop: 20 },\r\n\tseparator: {\r\n\t\tborderBottomColor: Colors.inactive,\r\n\t\tborderBottomWidth: 1,\r\n\t\tmarginBottom: 10,\r\n\t\topacity: 0.3,\r\n\t},\r\n\twidthHeight: {\r\n\t\t...SpacingStyles.widthAndHeight,\r\n\t},\r\n})\r\n","import React from 'react'\r\nimport AboutUs from '../../components/views/About/AboutUs'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nexport default class AboutUsScreen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class ABCMentalSundhed extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.abcMentalSundhed')}\r\n URLOpener('http://www.abcmentalsundhed.dk/ ')}\r\n >\r\n {txt('partners.linkText')}{' '}\r\n {txt('partners.abcMentalSundhedName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class AdipositasForeningen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.adipositasforeningen')}\r\n URLOpener('http://adipositasforeningen.dk/')}\r\n >\r\n {txt('partners.linkText')}{' '}\r\n {txt('partners.adipositasforeningenName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class Arbejdermuseet extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.arbejdermuseet')}\r\n URLOpener('https://www.arbejdermuseet.dk/')}\r\n >\r\n {txt('partners.linkText')}{' '}\r\n {txt('partners.arbejdermuseetName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class BørneBuddies extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.børnebuddies')}\r\n URLOpener('https://www.kp.dk/boernebuddies/')}\r\n >\r\n {txt('partners.linkText')}{' '}\r\n {txt('partners.børnebuddiesName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class CHC extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.chc')}\r\n URLOpener('https://www.cphhealthtech.dk/')}\r\n >\r\n {txt('partners.linkText')} {txt('partners.chcName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n marginTop: { marginTop: 20 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class Copa extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.copa')}\r\n URLOpener('https://copa.dk/')}\r\n >\r\n {txt('partners.linkText')} {txt('partners.copaName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class DLSC extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.dlsc')}\r\n URLOpener('https://www.danishlifesciencecluster.dk/')}\r\n >\r\n {txt('partners.linkText')} {txt('partners.dlscName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class DrugRebels extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.drugrebels')}\r\n URLOpener('http://drugrebels.dk/')}\r\n >\r\n {txt('partners.linkText')} {txt('partners.drugrebelsName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class FamilieKlub extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.familieklub')}\r\n URLOpener('https://heledanmarksfamilieklub.dk/')}\r\n >\r\n {txt('partners.linkText')} {txt('partners.familieklubName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 250, width: 250 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n marginTop: { marginTop: 20 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class FrederiksbergMuseerne extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.frederiksbergmuseerne')}\r\n URLOpener('https://www.frederiksbergmuseerne.dk/')}\r\n >\r\n {txt('partners.linkText')}{' '}\r\n {txt('partners.frederiksbergmuseerneName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class Fremdrift extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.fremdrift')}\r\n URLOpener('http://fremdrift.aalborg.dk/')}\r\n >\r\n {txt('partners.linkText')} {txt('partners.fremdriftName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class GirlTalk extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.girltalk')}\r\n URLOpener('https://girltalk.dk/')}\r\n >\r\n {txt('partners.linkText')} {txt('partners.girltalkName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class GivingTuesday extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.givingtuesday')}\r\n URLOpener('https://www.givingtuesday.dk/')}\r\n >\r\n {txt('partners.linkText')}{' '}\r\n {txt('partners.givingtuesdayName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class HivDanmark extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.hivdanmark')}\r\n URLOpener('https://www.hiv-danmark.dk/')}\r\n >\r\n {txt('partners.hivdanmarkName')}\r\n \r\n URLOpener('http://aids-linjen.dk/')}\r\n >\r\n {txt('partners.aidsName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 250, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class Hjerteforeningen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.hjerteforeningen')}\r\n URLOpener('https://hjerteforeningen.dk/')}\r\n >\r\n {txt('partners.linkText')}{' '}\r\n {txt('partners.hjerteforeningenName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class Idan extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.idan')}\r\n URLOpener('https://www.idan.dk/')}\r\n >\r\n {txt('partners.linkText')} {txt('partners.idanName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class LandsforeningenLEV extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.landsforeningenlev')}\r\n URLOpener('https://www.lev.dk/')}\r\n >\r\n {txt('partners.linkText')}{' '}\r\n {txt('partners.landsforeningenlevName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class LærForLivet extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.lærforlivet')}\r\n URLOpener('https://laerforlivet.dk/')}\r\n >\r\n {txt('partners.linkText')} {txt('partners.lærforlivetName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 250, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class Misbrugsportalen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.misbrugsportalen')}\r\n URLOpener('https://www.misbrugsportalen.dk/')}\r\n >\r\n {txt('partners.linkText')}{' '}\r\n {txt('partners.misbrugsportalenName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class Modensomhed extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.modensomhed')}\r\n URLOpener('https://modensomhed.dk/')}\r\n >\r\n {txt('partners.linkText')} {txt('partners.modensomhedName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class NSCC extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.nscc')}\r\n URLOpener('https://www.smartcarecluster.no/')}\r\n >\r\n {txt('partners.linkText')} {txt('partners.nsccName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class SindUngdom extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.sindungdom')}\r\n URLOpener('https://sindungdom.dk/')}\r\n >\r\n {txt('partners.linkText')} {txt('partners.sindungdomName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class SOMS extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.soms')}\r\n URLOpener('https://mentalsundhed.dk/')}\r\n >\r\n {txt('partners.linkText')} {txt('partners.somsName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class Startlinjen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.startlinjen')}\r\n URLOpener('https://startlinjen.dk/')}\r\n >\r\n {txt('partners.linkText')} {txt('partners.startlinjenName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class SUMH extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.sumh')}\r\n URLOpener('http://sumh.dk/')}\r\n >\r\n {txt('partners.linkText')} {txt('partners.sumhName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../../styles'\r\nimport { URLOpener } from '../../../../utils/URLOpener'\r\n\r\nexport default class Veteran extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('partners.veteran')}\r\n URLOpener('https://danmarksveteraner.dk/')}\r\n >\r\n {txt('partners.linkText')} {txt('partners.veteranName')}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { ...SpacingStyles.widthAndHeight },\r\n image: { height: 200, width: 300 },\r\n imageContainer: { alignItems: 'center' },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import React from 'react'\r\n\r\nimport ABCMentalSundhed from '../../components/views/About/PartnersViews/ABCMentalSundhed'\r\nimport AdipositasForeningen from '../../components/views/About/PartnersViews/AdipositasForeningen'\r\nimport Arbejdermuseet from '../../components/views/About/PartnersViews/Arbejdermuseet'\r\nimport BørneBuddies from '../../components/views/About/PartnersViews/BørneBuddies'\r\nimport CHC from '../../components/views/About/PartnersViews/CHC'\r\nimport Copa from '../../components/views/About/PartnersViews/Copa'\r\nimport DLSC from '../../components/views/About/PartnersViews/DLSC'\r\nimport DrugRebels from '../../components/views/About/PartnersViews/DrugRebels'\r\nimport FamilieKlub from '../../components/views/About/PartnersViews/FamilieKlub'\r\nimport FrederiksbergMuseerne from '../../components/views/About/PartnersViews/FrederiksbergMuseerne'\r\nimport Fremdrift from '../../components/views/About/PartnersViews/Fremdrift'\r\nimport GirlTalk from '../../components/views/About/PartnersViews/GirlTalk'\r\nimport GivingTuesday from '../../components/views/About/PartnersViews/GivingTuesday'\r\nimport HivDanmark from '../../components/views/About/PartnersViews/HivDanmark'\r\nimport Hjerteforeningen from '../../components/views/About/PartnersViews/Hjerteforeningen'\r\nimport Idan from '../../components/views/About/PartnersViews/Idan'\r\nimport LandsforeningenLEV from '../../components/views/About/PartnersViews/LandsforeningenLEV'\r\nimport LærForLivet from '../../components/views/About/PartnersViews/LærForLivet'\r\nimport Misbrugsportalen from '../../components/views/About/PartnersViews/Misbrugsportalen'\r\nimport Modensomhed from '../../components/views/About/PartnersViews/Modensomhed'\r\nimport NSCC from '../../components/views/About/PartnersViews/NSCC'\r\nimport SindUngdom from '../../components/views/About/PartnersViews/SindUngdom'\r\nimport SOMS from '../../components/views/About/PartnersViews/SOMS'\r\nimport Startlinjen from '../../components/views/About/PartnersViews/Startlinjen'\r\nimport SUMH from '../../components/views/About/PartnersViews/SUMH'\r\nimport Veteran from '../../components/views/About/PartnersViews/Veteran'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\n\r\nexport default class PartnersScreen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n checkSwitch = (param) => {\r\n switch (param) {\r\n case 'ABCMentalSundhed':\r\n return this.ABCMentalSundhed()\r\n\r\n case 'AdipositasForeningen':\r\n return this.AdipositasForeningen()\r\n\r\n case 'Arbejdermuseet':\r\n return this.Arbejdermuseet()\r\n\r\n case 'BørneBuddies':\r\n return this.BørneBuddies()\r\n\r\n case 'CHC':\r\n return this.CHC()\r\n\r\n case 'Copa':\r\n return this.Copa()\r\n\r\n case 'DrugRebels':\r\n return this.DrugRebels()\r\n\r\n case 'FamilieKlub':\r\n return this.FamilieKlub()\r\n\r\n case 'FrederiksbergMuseerne':\r\n return this.FrederiksbergMuseerne()\r\n\r\n case 'Fremdrift':\r\n return this.Fremdrift()\r\n\r\n case 'GirlTalk':\r\n return this.GirlTalk()\r\n\r\n case 'GivingTuesday':\r\n return this.GivingTuesday()\r\n\r\n case 'HivDanmark':\r\n return this.HivDanmark()\r\n\r\n case 'Hjerteforeningen':\r\n return this.Hjerteforeningen()\r\n\r\n case 'Idan':\r\n return this.Idan()\r\n\r\n case 'LandsforeningenLEV':\r\n return this.LandsforeningenLEV()\r\n\r\n case 'LærForLivet':\r\n return this.LærForLivet()\r\n\r\n case 'Misbrugsportalen':\r\n return this.Misbrugsportalen()\r\n\r\n case 'Modensomhed':\r\n return this.Modensomhed()\r\n\r\n case 'NSCC':\r\n return this.NSCC()\r\n\r\n case 'SindUngdom':\r\n return this.SindUngdom()\r\n\r\n case 'SOMS':\r\n return this.SOMS()\r\n\r\n case 'Startlinjen':\r\n return this.Startlinjen()\r\n\r\n case 'SUMH':\r\n return this.SUMH()\r\n\r\n case 'Veteran':\r\n return this.Veteran()\r\n\r\n case 'DLSC':\r\n return this.DLSC()\r\n\r\n default:\r\n if (__DEV__) console.log('DEFAULT SWITCH')\r\n }\r\n }\r\n\r\n\tABCMentalSundhed = () => { return }\r\n\tAdipositasForeningen = () => { return }\r\n\tArbejdermuseet = () => { return }\r\n\tBørneBuddies = () => { return }\r\n\tCHC = () => { return }\r\n\tCopa = () => { return }\r\n\tDLSC = () => { return }\r\n\tDrugRebels = () => { return }\r\n\tFamilieKlub = () => { return }\r\n\tFrederiksbergMuseerne = () => { return }\r\n\tFremdrift = () => { return }\r\n\tGirlTalk = () => { return }\r\n\tGivingTuesday = () => { return }\r\n\tHivDanmark = () => { return }\r\n\tHjerteforeningen = () => { return }\r\n\tIdan = () => { return }\r\n\tLandsforeningenLEV = () => { return }\r\n\tLærForLivet = () => { return }\r\n\tMisbrugsportalen = () => { return }\r\n\tModensomhed = () => { return }\r\n\tNSCC = () => { return }\r\n\tSindUngdom = () => { return }\r\n\tSOMS = () => { }\r\n\tStartlinjen = () => { return }\r\n\tSUMH = () => { return }\r\n\tVeteran = () => { return }\r\n\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{this.checkSwitch(this.props.route.params.id)}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n}\r\n","import React from 'react'\r\nimport { View, Dimensions, Platform, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Layout from '../../../../constants/Layout'\r\nimport Carousel, { Pagination } from 'react-native-snap-carousel'\r\nimport { CornerStyles, SpacingStyles, BorderStyles } from '../../../../styles'\r\nimport { ImageHighlightPost } from '../../../images/ImageHighlight'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nconst libraries = [\r\n { uri: 'https://filer.boblberg.dk/Assets/Img/events/bibliotek/billede1.jpg' },\r\n { uri: 'https://filer.boblberg.dk/Assets/Img/events/bibliotek/billede2.jpg' },\r\n { uri: 'https://filer.boblberg.dk/Assets/Img/events/bibliotek/billede3.jpg' },\r\n]\r\n\r\nexport default class Biblioteker extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n title: props.title,\r\n expanded: false,\r\n activeIndex: 0,\r\n }\r\n }\r\n\r\n renderImage({ item }) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n togglePanel(e) {\r\n this.setState({ expanded: !this.state.expanded })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('libraries.title')}\r\n \r\n \r\n \r\n \r\n {txt('libraries.startText')}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n if (!this.state.pagRef) {\r\n this.setState({ pagRef: ref })\r\n }\r\n }}\r\n data={libraries}\r\n sliderWidth={Platform.OS === 'web' ? 400 : width}\r\n itemWidth={Platform.OS === 'web' ? 400 : width}\r\n renderItem={this.renderImage}\r\n onSnapToItem={(index) => this.setState({ activeIndex: index })}\r\n loop\r\n autoplay\r\n enableSnap={true}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {txt('libraries.seeList')}\r\n \r\n \r\n\r\n \r\n {this.state.expanded ? (\r\n \r\n {txt('libraries.list')}\r\n \r\n ) : null}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { justifyContent: 'center' },\r\n dotContainer: { padding: 5 },\r\n image: {\r\n height: Layout.isSmallDevice ? 200 : 300,\r\n width: Layout.isSmallDevice ? 200 : 300,\r\n ...CornerStyles.roundImg,\r\n ...BorderStyles.blueBorder,\r\n },\r\n imageContainer: {\r\n height: Layout.isSmallDevice ? 250 : 400,\r\n width: Layout.isSmallDevice ? width : 400,\r\n ...CornerStyles.borderRadiusM,\r\n alignItems: 'center',\r\n },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: {\r\n ...SpacingStyles.marginRightLeft10,\r\n },\r\n pagination: { borderRadius: 10, height: 12, width: 12 },\r\n row: { flexDirection: 'row' },\r\n textCenter: {\r\n alignSelf: 'center',\r\n textAlign: 'center',\r\n },\r\n widthAndHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Dimensions, Platform, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Layout from '../../../../constants/Layout'\r\nimport Carousel, { Pagination } from 'react-native-snap-carousel'\r\nimport { CornerStyles, SpacingStyles, BorderStyles } from '../../../../styles'\r\nimport { ImageHighlightPost } from '../../../images/ImageHighlight'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nconst townfairs = [\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/byfester/billede1.jpg',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/byfester/billede2.jpg',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/byfester/billede3.jpg',\r\n },\r\n]\r\n\r\nexport default class Byfester extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n title: props.title,\r\n expanded: false,\r\n activeIndex: 0,\r\n }\r\n }\r\n\r\n renderImage({ item }) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n togglePanel(e) {\r\n this.setState({ expanded: !this.state.expanded })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('townFair.title')}\r\n \r\n \r\n \r\n {txt('townFair.startText')}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n if (!this.state.pagRef) {\r\n this.setState({ pagRef: ref })\r\n }\r\n }}\r\n data={townfairs}\r\n sliderWidth={Platform.OS === 'web' ? 400 : width}\r\n itemWidth={Platform.OS === 'web' ? 400 : width}\r\n renderItem={this.renderImage}\r\n onSnapToItem={(index) => this.setState({ activeIndex: index })}\r\n loop\r\n autoplay\r\n enableSnap={true}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {txt('townFair.seeList')}\r\n \r\n \r\n\r\n \r\n {this.state.expanded ? (\r\n \r\n {txt('townFair.list')}\r\n \r\n ) : null}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { justifyContent: 'center' },\r\n dotContainer: { padding: 5 },\r\n image: {\r\n height: Layout.isSmallDevice ? 200 : 300,\r\n width: Layout.isSmallDevice ? 200 : 300,\r\n ...CornerStyles.roundImg,\r\n ...BorderStyles.blueBorder,\r\n },\r\n imageContainer: {\r\n height: Layout.isSmallDevice ? 250 : 400,\r\n width: Layout.isSmallDevice ? width : 400,\r\n ...CornerStyles.borderRadiusM,\r\n alignItems: 'center',\r\n },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n pagination: { borderRadius: 10, height: 12, width: 12 },\r\n row: { flexDirection: 'row' },\r\n textCenter: {\r\n alignSelf: 'center',\r\n textAlign: 'center',\r\n },\r\n widthAndHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Dimensions, Platform, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Fontsizes from '../../../../constants/Fontsizes'\r\nimport Layout from '../../../../constants/Layout'\r\nimport { ImageHighlight, ImageHighlightPost } from '../../../images/ImageHighlight'\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\nimport Colors from '../../../../constants/Colors'\r\nimport Carousel, { Pagination } from 'react-native-snap-carousel'\r\nimport { CornerStyles, BorderStyles, SpacingStyles } from '../../../../styles'\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nconst festivales = [\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/festival/billede1.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/festival/billede2.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/festival/billede3.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/festival/billede4.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/festival/billede5.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/festival/billede6.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/festival/billede7.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/festival/billede8.png',\r\n },\r\n]\r\n\r\nexport default class Festivaler extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n title: props.title,\r\n activeIndex: 0,\r\n }\r\n }\r\n\r\n renderImage({ item }) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('festivals.title')}\r\n \r\n \r\n \r\n {txt('festivals.startText')}\r\n \r\n \r\n {txt('festivals.startText1')}\r\n \r\n \r\n \r\n {txt('festivals.list')}\r\n \r\n \r\n \r\n \r\n {txt('festivals.statement')}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n if (!this.state.pagRef) {\r\n this.setState({ pagRef: ref })\r\n }\r\n }}\r\n data={festivales}\r\n sliderWidth={Platform.OS === 'web' ? 400 : width}\r\n itemWidth={Platform.OS === 'web' ? 400 : width}\r\n renderItem={this.renderImage}\r\n onSnapToItem={(index) => this.setState({ activeIndex: index })}\r\n loop\r\n autoplay\r\n enableSnap={true}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n {txt('festivals.contact')}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {txt('aboutUs.rasmusName')}\r\n \r\n \r\n {txt('aboutUs.rasmusPosition')}\r\n \r\n \r\n \r\n {txt('aboutUs.rasmusMail')}\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { justifyContent: 'center' },\r\n dotContainer: { padding: 5 },\r\n employeeContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n margin: 10,\r\n marginBottom: 20,\r\n },\r\n employeeTextContainer: {\r\n flexGrow: 1,\r\n flex: 1,\r\n marginLeft: 10,\r\n marginRight: 10,\r\n },\r\n image: {\r\n height: Layout.isSmallDevice ? 200 : 300,\r\n width: Layout.isSmallDevice ? 200 : 300,\r\n ...CornerStyles.roundImg,\r\n ...BorderStyles.blueBorder,\r\n },\r\n imageContainer: {\r\n height: Layout.isSmallDevice ? 250 : 400,\r\n width: Layout.isSmallDevice ? width : 400,\r\n ...CornerStyles.borderRadiusM,\r\n alignItems: 'center',\r\n },\r\n margin20: {\r\n marginBottom: 20,\r\n marginTop: 20,\r\n },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n pagination: { borderRadius: 10, height: 12, width: 12 },\r\n row: { flexDirection: 'row' },\r\n statement: {\r\n textAlign: 'center',\r\n },\r\n textCenter: {\r\n alignSelf: 'center',\r\n textAlign: 'center',\r\n },\r\n widthAndHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Dimensions, Platform, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Layout from '../../../../constants/Layout'\r\nimport Carousel, { Pagination } from 'react-native-snap-carousel'\r\nimport { CornerStyles, SpacingStyles, BorderStyles } from '../../../../styles'\r\nimport { ImageHighlightPost } from '../../../images/ImageHighlight'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nconst fairs = [\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/messer/billede1.jpg',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/messer/billede2.jpg',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/messer/billede3.jpg',\r\n },\r\n]\r\n\r\nexport default class Messer extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n title: props.title,\r\n expanded: false,\r\n activeIndex: 0,\r\n }\r\n }\r\n\r\n renderImage({ item }) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n togglePanel(e) {\r\n this.setState({ expanded: !this.state.expanded })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('fairs.title')}\r\n \r\n \r\n \r\n {txt('fairs.startText')}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n if (!this.state.pagRef) {\r\n this.setState({ pagRef: ref })\r\n }\r\n }}\r\n data={fairs}\r\n sliderWidth={Platform.OS === 'web' ? 400 : width}\r\n itemWidth={Platform.OS === 'web' ? 400 : width}\r\n renderItem={this.renderImage}\r\n onSnapToItem={(index) => this.setState({ activeIndex: index })}\r\n loop\r\n autoplay\r\n enableSnap={true}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {txt('fairs.seeList')}\r\n \r\n \r\n\r\n \r\n {this.state.expanded ? (\r\n \r\n {txt('fairs.list')}\r\n \r\n ) : null}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { justifyContent: 'center' },\r\n dotContainer: { padding: 5 },\r\n image: {\r\n height: Layout.isSmallDevice ? 200 : 300,\r\n width: Layout.isSmallDevice ? 200 : 300,\r\n ...CornerStyles.roundImg,\r\n ...BorderStyles.blueBorder,\r\n },\r\n imageContainer: {\r\n height: Layout.isSmallDevice ? 250 : 400,\r\n width: Layout.isSmallDevice ? width : 400,\r\n ...CornerStyles.borderRadiusM,\r\n alignItems: 'center',\r\n },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n pagination: { borderRadius: 10, height: 12, width: 12 },\r\n row: { flexDirection: 'row' },\r\n textCenter: {\r\n alignSelf: 'center',\r\n textAlign: 'center',\r\n },\r\n widthAndHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Dimensions, Platform, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Layout from '../../../../constants/Layout'\r\nimport Carousel, { Pagination } from 'react-native-snap-carousel'\r\nimport { CornerStyles, SpacingStyles, BorderStyles } from '../../../../styles'\r\nimport { ImageHighlightPost } from '../../../images/ImageHighlight'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nconst exercises = [\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/motion/billede1.jpg',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/motion/billede2.jpg',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/motion/billede3.jpg',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/motion/billede4.jpg',\r\n },\r\n]\r\n\r\nexport default class Motion extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n title: props.title,\r\n expanded: false,\r\n activeIndex: 0,\r\n }\r\n }\r\n\r\n renderImage({ item }) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n togglePanel(e) {\r\n this.setState({ expanded: !this.state.expanded })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('exercise.title')}\r\n \r\n \r\n \r\n {txt('exercise.startText')}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n if (!this.state.pagRef) {\r\n this.setState({ pagRef: ref })\r\n }\r\n }}\r\n data={exercises}\r\n sliderWidth={Platform.OS === 'web' ? 400 : width}\r\n itemWidth={Platform.OS === 'web' ? 400 : width}\r\n renderItem={this.renderImage}\r\n onSnapToItem={(index) => this.setState({ activeIndex: index })}\r\n loop\r\n autoplay\r\n enableSnap={true}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {txt('exercise.seeList')}\r\n \r\n \r\n\r\n \r\n {this.state.expanded ? (\r\n \r\n {txt('exercise.list')}\r\n \r\n ) : null}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { justifyContent: 'center' },\r\n dotContainer: { padding: 5 },\r\n image: {\r\n height: Layout.isSmallDevice ? 200 : 300,\r\n width: Layout.isSmallDevice ? 200 : 300,\r\n ...CornerStyles.roundImg,\r\n ...BorderStyles.blueBorder,\r\n },\r\n imageContainer: {\r\n height: Layout.isSmallDevice ? 250 : 400,\r\n width: Layout.isSmallDevice ? width : 400,\r\n ...CornerStyles.borderRadiusM,\r\n alignItems: 'center',\r\n },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n pagination: { borderRadius: 10, height: 12, width: 12 },\r\n row: { flexDirection: 'row' },\r\n textCenter: {\r\n alignSelf: 'center',\r\n textAlign: 'center',\r\n },\r\n widthAndHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Dimensions, Platform, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Layout from '../../../../constants/Layout'\r\nimport Carousel, { Pagination } from 'react-native-snap-carousel'\r\nimport { CornerStyles, SpacingStyles, BorderStyles } from '../../../../styles'\r\nimport { ImageHighlightPost } from '../../../images/ImageHighlight'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nconst careCenters = [\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/sundhedscentre/billede4.jpg',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/sundhedscentre/billede2.jpg',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/sundhedscentre/billede3.jpg',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/sundhedscentre/billede1.jpg',\r\n },\r\n]\r\n\r\nexport default class Plejecentre extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n title: props.title,\r\n expanded: false,\r\n activeIndex: 0,\r\n }\r\n }\r\n\r\n renderImage({ item }) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n togglePanel(e) {\r\n this.setState({ expanded: !this.state.expanded })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('careCenters.title')}\r\n \r\n \r\n \r\n {txt('careCenters.startText')}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n if (!this.state.pagRef) {\r\n this.setState({ pagRef: ref })\r\n }\r\n }}\r\n data={careCenters}\r\n sliderWidth={Platform.OS === 'web' ? 400 : width}\r\n itemWidth={Platform.OS === 'web' ? 400 : width}\r\n renderItem={this.renderImage}\r\n onSnapToItem={(index) => this.setState({ activeIndex: index })}\r\n loop\r\n autoplay\r\n enableSnap={true}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {txt('careCenters.seeList')}\r\n \r\n \r\n\r\n \r\n {this.state.expanded ? (\r\n \r\n {txt('careCenters.list')}\r\n \r\n ) : null}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { justifyContent: 'center' },\r\n dotContainer: { padding: 5 },\r\n image: {\r\n height: Layout.isSmallDevice ? 200 : 300,\r\n width: Layout.isSmallDevice ? 200 : 300,\r\n ...CornerStyles.roundImg,\r\n ...BorderStyles.blueBorder,\r\n },\r\n imageContainer: {\r\n height: Layout.isSmallDevice ? 250 : 400,\r\n width: Layout.isSmallDevice ? width : 400,\r\n ...CornerStyles.borderRadiusM,\r\n alignItems: 'center',\r\n },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n pagination: { borderRadius: 10, height: 12, width: 12 },\r\n row: { flexDirection: 'row' },\r\n textCenter: {\r\n alignSelf: 'center',\r\n textAlign: 'center',\r\n },\r\n widthAndHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Dimensions, Platform, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Layout from '../../../../constants/Layout'\r\nimport Colors from '../../../../constants/Colors'\r\nimport Carousel, { Pagination } from 'react-native-snap-carousel'\r\nimport { CornerStyles, SpacingStyles, BorderStyles } from '../../../../styles'\r\nimport { ImageHighlightPost } from '../../../images/ImageHighlight'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nconst highSchools = [\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/gymnasier/billede1.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/gymnasier/egedal.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/gymnasier/billede2.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/gymnasier/greve.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/gymnasier/billede3.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/gymnasier/hasseris.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/gymnasier/billede4.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/gymnasier/herning.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/gymnasier/billede5.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/gymnasier/hoeje-taastrup.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/gymnasier/billede6.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/gymnasier/marselisborg.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/gymnasier/billede7.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/gymnasier/next-kbh.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/gymnasier/oerestad.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/gymnasier/rybners.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/gymnasier/svendborg.png',\r\n },\r\n]\r\n\r\nexport default class Gymnasier extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n title: props.title,\r\n expanded: false,\r\n activeIndex: 0,\r\n }\r\n }\r\n\r\n renderImage({ item }) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n togglePanel(e) {\r\n this.setState({ expanded: !this.state.expanded })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('highSchools.title')}\r\n \r\n \r\n \r\n \r\n {txt('highSchools.startText')}\r\n \r\n \r\n \r\n {txt('highSchools.statement')}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n if (!this.state.pagRef) {\r\n this.setState({ pagRef: ref })\r\n }\r\n }}\r\n data={highSchools}\r\n sliderWidth={Platform.OS === 'web' ? 400 : width}\r\n itemWidth={Platform.OS === 'web' ? 400 : width}\r\n renderItem={this.renderImage}\r\n onSnapToItem={(index) => this.setState({ activeIndex: index })}\r\n loop\r\n autoplay\r\n enableSnap={true}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {txt('highSchools.seeList')}\r\n \r\n \r\n\r\n \r\n {this.state.expanded ? (\r\n \r\n {txt('highSchools.list')}\r\n \r\n ) : null}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { justifyContent: 'center' },\r\n dotContainer: { padding: Layout.isSmallDevice ? 0 : 5 },\r\n image: {\r\n height: Layout.isSmallDevice ? 200 : 300,\r\n width: Layout.isSmallDevice ? 200 : 300,\r\n ...CornerStyles.roundImg,\r\n ...BorderStyles.blueBorder,\r\n },\r\n imageContainer: {\r\n height: Layout.isSmallDevice ? 250 : 400,\r\n width: Layout.isSmallDevice ? width : 400,\r\n ...CornerStyles.borderRadiusM,\r\n alignItems: 'center',\r\n },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n pagination: { borderRadius: 10, height: 6, width: 6 },\r\n row: { flexDirection: 'row' },\r\n statement: {\r\n color: Colors.text,\r\n textAlign: 'center',\r\n },\r\n textCenter: {\r\n alignSelf: 'center',\r\n textAlign: 'center',\r\n },\r\n widthAndHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Dimensions, Platform, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Layout from '../../../../constants/Layout'\r\nimport Carousel, { Pagination } from 'react-native-snap-carousel'\r\nimport { CornerStyles, SpacingStyles, BorderStyles } from '../../../../styles'\r\nimport { ImageHighlightPost } from '../../../images/ImageHighlight'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nconst continuationSchools = [\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/efterskoler/billede1.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/efterskoler/goerlev.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/efterskoler/billede2.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/efterskoler/haarslev.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/efterskoler/billede3.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/efterskoler/hjembaek.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/efterskoler/billede4.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/efterskoler/karise.png',\r\n },\r\n]\r\n\r\nexport default class Efterskoler extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n title: props.title,\r\n expanded: false,\r\n activeIndex: 0,\r\n }\r\n }\r\n\r\n renderImage({ item }) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n togglePanel(e) {\r\n this.setState({ expanded: !this.state.expanded })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('continuationSchools.title')}\r\n \r\n \r\n \r\n {txt('continuationSchools.startText')}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n if (!this.state.pagRef) {\r\n this.setState({ pagRef: ref })\r\n }\r\n }}\r\n data={continuationSchools}\r\n sliderWidth={Platform.OS === 'web' ? 400 : width}\r\n itemWidth={Platform.OS === 'web' ? 400 : width}\r\n renderItem={this.renderImage}\r\n onSnapToItem={(index) => this.setState({ activeIndex: index })}\r\n loop\r\n autoplay\r\n enableSnap={true}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {txt('continuationSchools.seeList')}\r\n \r\n \r\n\r\n \r\n {this.state.expanded ? (\r\n \r\n {txt('continuationSchools.list')}\r\n \r\n ) : null}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { justifyContent: 'center' },\r\n dotContainer: {\r\n padding: 5,\r\n },\r\n image: {\r\n height: Layout.isSmallDevice ? 200 : 300,\r\n width: Layout.isSmallDevice ? 200 : 300,\r\n ...CornerStyles.roundImg,\r\n ...BorderStyles.blueBorder,\r\n },\r\n imageContainer: {\r\n height: Layout.isSmallDevice ? 250 : 400,\r\n width: Layout.isSmallDevice ? width : 400,\r\n ...CornerStyles.borderRadiusM,\r\n alignItems: 'center',\r\n },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n pagination: { borderRadius: 10, height: 12, width: 12 },\r\n row: { flexDirection: 'row' },\r\n textCenter: {\r\n alignSelf: 'center',\r\n textAlign: 'center',\r\n },\r\n widthAndHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Dimensions, Platform, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Layout from '../../../../constants/Layout'\r\nimport Colors from '../../../../constants/Colors'\r\nimport Carousel, { Pagination } from 'react-native-snap-carousel'\r\nimport { CornerStyles, SpacingStyles, BorderStyles } from '../../../../styles'\r\nimport { ImageHighlightPost } from '../../../images/ImageHighlight'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nconst folkHighSchools = [\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/hoejskoler/billede3.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/hoejskoler/nordfyns.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/hoejskoler/billede2.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/hoejskoler/obberup.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/hoejskoler/billede1.png',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/hoejskoler/ollerup.png',\r\n },\r\n]\r\n\r\nexport default class Hoejskoler extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n title: props.title,\r\n expanded: false,\r\n activeIndex: 0,\r\n }\r\n }\r\n\r\n renderImage({ item }) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n togglePanel(e) {\r\n this.setState({ expanded: !this.state.expanded })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('folkHighSchools.title')}\r\n \r\n \r\n \r\n \r\n {txt('folkHighSchools.startText')}\r\n \r\n \r\n \r\n {txt('folkHighSchools.statement')}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n if (!this.state.pagRef) {\r\n this.setState({ pagRef: ref })\r\n }\r\n }}\r\n data={folkHighSchools}\r\n sliderWidth={Platform.OS === 'web' ? 400 : width}\r\n itemWidth={Platform.OS === 'web' ? 400 : width}\r\n renderItem={this.renderImage}\r\n onSnapToItem={(index) => this.setState({ activeIndex: index })}\r\n loop\r\n autoplay\r\n enableSnap={true}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {txt('folkHighSchools.seeList')}\r\n \r\n \r\n\r\n \r\n {this.state.expanded ? (\r\n \r\n {txt('folkHighSchools.list')}\r\n \r\n ) : null}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { justifyContent: 'center' },\r\n dotContainer: { padding: 5 },\r\n image: {\r\n height: Layout.isSmallDevice ? 200 : 300,\r\n width: Layout.isSmallDevice ? 200 : 300,\r\n ...CornerStyles.roundImg,\r\n ...BorderStyles.blueBorder,\r\n },\r\n imageContainer: {\r\n height: Layout.isSmallDevice ? 250 : 400,\r\n width: Layout.isSmallDevice ? width : 400,\r\n ...CornerStyles.borderRadiusM,\r\n alignItems: 'center',\r\n },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n pagination: { borderRadius: 10, height: 12, width: 12 },\r\n row: { flexDirection: 'row' },\r\n statement: {\r\n color: Colors.text,\r\n textAlign: 'center',\r\n },\r\n textCenter: {\r\n alignSelf: 'center',\r\n textAlign: 'center',\r\n },\r\n widthAndHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Dimensions, Platform, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Layout from '../../../../constants/Layout'\r\nimport Carousel, { Pagination } from 'react-native-snap-carousel'\r\nimport { CornerStyles, SpacingStyles, BorderStyles } from '../../../../styles'\r\nimport { ImageHighlightPost } from '../../../images/ImageHighlight'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nconst languageSchools = [\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/sprogskoler/billede1.jpg',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/sprogskoler/billede3.jpg',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/sprogskoler/billede2.jpg',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/sprogskoler/billede4.jpg',\r\n },\r\n]\r\n\r\nexport default class Sprogskoler extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n title: props.title,\r\n expanded: false,\r\n activeIndex: 0,\r\n }\r\n }\r\n\r\n renderImage({ item }) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n togglePanel(e) {\r\n this.setState({ expanded: !this.state.expanded })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('languageSchools.title')}\r\n \r\n \r\n \r\n {txt('languageSchools.startText')}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n if (!this.state.pagRef) {\r\n this.setState({ pagRef: ref })\r\n }\r\n }}\r\n data={languageSchools}\r\n sliderWidth={Platform.OS === 'web' ? 400 : width}\r\n itemWidth={Platform.OS === 'web' ? 400 : width}\r\n renderItem={this.renderImage}\r\n onSnapToItem={(index) => this.setState({ activeIndex: index })}\r\n loop\r\n autoplay\r\n enableSnap={true}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {txt('languageSchools.seeList')}\r\n \r\n \r\n\r\n \r\n {this.state.expanded ? (\r\n \r\n {txt('languageSchools.list')}\r\n \r\n ) : null}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { justifyContent: 'center' },\r\n dotContainer: { padding: 5 },\r\n image: {\r\n height: Layout.isSmallDevice ? 200 : 300,\r\n width: Layout.isSmallDevice ? 200 : 300,\r\n ...CornerStyles.roundImg,\r\n ...BorderStyles.blueBorder,\r\n },\r\n imageContainer: {\r\n height: Layout.isSmallDevice ? 250 : 400,\r\n width: Layout.isSmallDevice ? width : 400,\r\n ...CornerStyles.borderRadiusM,\r\n alignItems: 'center',\r\n },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n pagination: { borderRadius: 10, height: 12, width: 12 },\r\n row: { flexDirection: 'row' },\r\n textCenter: {\r\n alignSelf: 'center',\r\n textAlign: 'center',\r\n },\r\n widthAndHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Dimensions, Platform, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Layout from '../../../../constants/Layout'\r\nimport Carousel, { Pagination } from 'react-native-snap-carousel'\r\nimport { CornerStyles, SpacingStyles, BorderStyles } from '../../../../styles'\r\nimport { ImageHighlightPost } from '../../../images/ImageHighlight'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nconst malls = [\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/storcentre/billede1.jpg',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/storcentre/billede2.jpg',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/storcentre/billede3.jpg',\r\n },\r\n]\r\n\r\nexport default class Storcentre extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n title: props.title,\r\n expanded: false,\r\n activeIndex: 0,\r\n }\r\n }\r\n\r\n renderImage({ item }) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n togglePanel(e) {\r\n this.setState({ expanded: !this.state.expanded })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('malls.title')}\r\n \r\n \r\n \r\n {txt('malls.startText')}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n if (!this.state.pagRef) {\r\n this.setState({ pagRef: ref })\r\n }\r\n }}\r\n data={malls}\r\n sliderWidth={Platform.OS === 'web' ? 400 : width}\r\n itemWidth={Platform.OS === 'web' ? 400 : width}\r\n renderItem={this.renderImage}\r\n onSnapToItem={(index) => this.setState({ activeIndex: index })}\r\n loop\r\n autoplay\r\n enableSnap={true}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {txt('malls.seeList')}\r\n \r\n \r\n\r\n \r\n {this.state.expanded ? (\r\n \r\n {txt('malls.list')}\r\n \r\n ) : null}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { justifyContent: 'center' },\r\n dotContainer: { padding: 5 },\r\n image: {\r\n height: Layout.isSmallDevice ? 200 : 300,\r\n width: Layout.isSmallDevice ? 200 : 300,\r\n ...CornerStyles.roundImg,\r\n ...BorderStyles.blueBorder,\r\n },\r\n imageContainer: {\r\n height: Layout.isSmallDevice ? 250 : 400,\r\n width: Layout.isSmallDevice ? width : 400,\r\n ...CornerStyles.borderRadiusM,\r\n alignItems: 'center',\r\n },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n pagination: { borderRadius: 10, height: 12, width: 12 },\r\n row: { flexDirection: 'row' },\r\n textCenter: {\r\n alignSelf: 'center',\r\n textAlign: 'center',\r\n },\r\n widthAndHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Dimensions, Platform, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Layout from '../../../../constants/Layout'\r\nimport Carousel, { Pagination } from 'react-native-snap-carousel'\r\nimport { CornerStyles, SpacingStyles, BorderStyles } from '../../../../styles'\r\nimport { ImageHighlightPost } from '../../../images/ImageHighlight'\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nconst newcomers = [\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/tilflyttere/billede1.jpg',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/tilflyttere/billede2.jpg',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/tilflyttere/billede3.jpg',\r\n },\r\n {\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/tilflyttere/billede4.jpg',\r\n },\r\n]\r\n\r\nexport default class Tilflyttere extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n title: props.title,\r\n expanded: false,\r\n activeIndex: 0,\r\n }\r\n }\r\n\r\n renderImage({ item }) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n togglePanel(e) {\r\n this.setState({ expanded: !this.state.expanded })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt('newcomers.title')}\r\n \r\n \r\n \r\n {txt('newcomers.startText')}\r\n \r\n \r\n {txt('newcomers.startText1')}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n if (!this.state.pagRef) {\r\n this.setState({ pagRef: ref })\r\n }\r\n }}\r\n data={newcomers}\r\n sliderWidth={Platform.OS === 'web' ? 400 : width}\r\n itemWidth={Platform.OS === 'web' ? 400 : width}\r\n renderItem={this.renderImage}\r\n onSnapToItem={(index) => this.setState({ activeIndex: index })}\r\n loop\r\n autoplay\r\n enableSnap={true}\r\n />\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { justifyContent: 'center' },\r\n dotContainer: { padding: 5 },\r\n image: {\r\n height: Layout.isSmallDevice ? 200 : 300,\r\n width: Layout.isSmallDevice ? 200 : 300,\r\n ...CornerStyles.roundImg,\r\n ...BorderStyles.blueBorder,\r\n },\r\n imageContainer: {\r\n height: Layout.isSmallDevice ? 250 : 400,\r\n width: Layout.isSmallDevice ? width : 400,\r\n ...CornerStyles.borderRadiusM,\r\n alignItems: 'center',\r\n },\r\n marginBottom: { marginBottom: 10 },\r\n marginLeftRight: { ...SpacingStyles.marginRightLeft10 },\r\n pagination: { borderRadius: 10, height: 12, width: 12 },\r\n row: { flexDirection: 'row' },\r\n textCenter: {\r\n alignSelf: 'center',\r\n textAlign: 'center',\r\n },\r\n widthAndHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport Biblioteker from '../../components/views/About/EventsViews/Biblioteker'\r\nimport Byfester from '../../components/views/About/EventsViews/Byfester'\r\nimport Festivaler from '../../components/views/About/EventsViews/Festivaler'\r\nimport Messer from '../../components/views/About/EventsViews/Messer'\r\nimport Motion from '../../components/views/About/EventsViews/Motion'\r\nimport Sundhedscentre from '../../components/views/About/EventsViews/Sundhedscentre'\r\nimport Gymnasier from '../../components/views/About/EventsViews/Gymnasier'\r\nimport Efterskoler from '../../components/views/About/EventsViews/Efterskoler'\r\nimport Hoejskoler from '../../components/views/About/EventsViews/Hoejskoler'\r\nimport Sprogskoler from '../../components/views/About/EventsViews/Sprogskoler'\r\nimport Storcentre from '../../components/views/About/EventsViews/Storcentre'\r\nimport Tilflyttere from '../../components/views/About/EventsViews/Tilflyttere'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\n\r\nexport default class ArrangementScreen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n checkSwitch = (param) => {\r\n switch (param) {\r\n case 'Biblioteker':\r\n return this.Biblioteker()\r\n\r\n case 'Byfester':\r\n return this.Byfester()\r\n\r\n case 'Festivaler':\r\n return this.Festivaler()\r\n\r\n case 'Messer':\r\n return this.Messer()\r\n\r\n case 'Motion':\r\n return this.Motion()\r\n\r\n case 'Sundhedscentre':\r\n return this.Sundhedscentre()\r\n\r\n case 'Gymnasier':\r\n return this.Gymnasier()\r\n\r\n case 'Efterskoler':\r\n return this.Efterskoler()\r\n\r\n case 'Højskoler':\r\n return this.Hoejskoler()\r\n\r\n case 'Sprogskoler':\r\n return this.Sprogskoler()\r\n\r\n case 'Storcentre':\r\n return this.Storcentre()\r\n\r\n case 'Tilflyttere':\r\n return this.Tilflyttere()\r\n\r\n default:\r\n if (__DEV__) console.log('NUMBER NOT FOUND')\r\n }\r\n }\r\n\r\n Biblioteker = () => {\r\n return \r\n }\r\n\r\n Byfester = () => {\r\n return \r\n }\r\n\r\n Festivaler = () => {\r\n return \r\n }\r\n\r\n Messer = () => {\r\n return \r\n }\r\n\r\n Motion = () => {\r\n return \r\n }\r\n\r\n Sundhedscentre = () => {\r\n return \r\n }\r\n\r\n Gymnasier = () => {\r\n return \r\n }\r\n\r\n Efterskoler = () => {\r\n return \r\n }\r\n\r\n Hoejskoler = () => {\r\n return \r\n }\r\n\r\n Sprogskoler = () => {\r\n return \r\n }\r\n\r\n Storcentre = () => {\r\n return \r\n }\r\n\r\n Tilflyttere = () => {\r\n return \r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.checkSwitch(this.props.route.params.id)}\r\n \r\n )\r\n }\r\n}\r\n","import React from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { ImageHighlightMedium } from '../../images/ImageHighlight'\r\nimport TxtTMD from '../../../constants/TxtTMD'\r\nimport PageTitle from '../../tags/PageTitle'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport MainContainer from '../../MainContainer/MainContainer'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nconst images = [\r\n {\r\n name: 'Biblioteker',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/bibliotek.jpg',\r\n },\r\n {\r\n name: 'Byfester',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/byfester.jpg',\r\n },\r\n {\r\n name: 'Festivaler',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/festival.jpg',\r\n },\r\n {\r\n name: 'Messer',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/messer.jpg',\r\n },\r\n {\r\n name: 'Motion',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/motion.jpg',\r\n },\r\n {\r\n name: 'Sundhedscentre',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/sundhedscentre.jpg',\r\n },\r\n {\r\n name: 'Gymnasier',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/gymnasium.jpg',\r\n },\r\n {\r\n name: 'Efterskoler',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/efterskole.jpg',\r\n },\r\n {\r\n name: 'Højskoler',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/hoejskole.jpg',\r\n },\r\n {\r\n name: 'Sprogskoler',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/sprogskole.jpg',\r\n },\r\n {\r\n name: 'Storcentre',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/storcentre.jpg',\r\n },\r\n {\r\n name: 'Tilflyttere',\r\n uri: 'https://filer.boblberg.dk/Assets/Img/events/tilflyttere.jpg',\r\n },\r\n]\r\n\r\nclass Panel extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n\r\n this.props.pressF(this.props.name)}\r\n >\r\n {this.props.name}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default class Arrangements extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n navigateToPost = (subject) => {\r\n this.props.navigation.push('Arrangement', {\r\n id: subject,\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {txt('arrangements.startText')}\r\n \r\n \r\n {images.map((image, i) => {\r\n return (\r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { textAlign: 'center' },\r\n eventContainer: {\r\n alignItems: 'center',\r\n flex: 1,\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n justifyContent: 'space-evenly',\r\n },\r\n margin10: { margin: 10 },\r\n padding5: { padding: 5 },\r\n textContainer: { alignItems: 'center', margin: 20 },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport { View, Image, Dimensions, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport Colors from '../../../constants/Colors'\r\nimport { URLOpener } from '../../../utils/URLOpener'\r\nimport TxtTMD from '../../../constants/TxtTMD'\r\nimport PageTitle from '../../tags/PageTitle'\r\nimport { SpacingStyles, CornerStyles } from '../../../styles'\r\nimport Layout from '../../../constants/Layout'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nconst { width } = Dimensions.get('window')\r\n\r\nexport default class Faellesskabsprisen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {txt('faellesskabsprisen.startTextTitle')}\r\n \r\n\r\n \r\n {txt('faellesskabsprisen.startTextBody')}\r\n \r\n URLOpener('https://www.tv2lorry.dk/lorryland/ildsjaele-med-samfundets-svage-oje-haedret-med-faellesskabsprisen')}\r\n >\r\n \r\n {txt('faellesskabsprisen.startTextReadMore')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('faellesskabsprisen.whatIsTitle')}\r\n \r\n \r\n {txt('faellesskabsprisen.whatIsBody1')}\r\n \r\n URLOpener('https://faellesskabsprisen.dk/om-f%C3%A6llesskabsprisen')}\r\n >\r\n \r\n {txt('faellesskabsprisen.whatIsLink')}\r\n \r\n \r\n \r\n {txt('faellesskabsprisen.whatIsBody2')}\r\n \r\n \r\n \r\n \r\n {txt('faellesskabsprisen.thankYou')}\r\n \r\n \r\n\r\n \r\n \r\n {txt('faellesskabsprisen.whatIsTitle')}\r\n \r\n {txt('faellesskabsprisen.whyBody')}\r\n \r\n \r\n \r\n \r\n {txt('faellesskabsprisen.image1Text')}\r\n \r\n \r\n \r\n \r\n {txt('faellesskabsprisen.image2Text')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: { textAlign: 'center' },\r\n container: {\r\n backgroundColor: Colors.background,\r\n flex: 1,\r\n ...SpacingStyles.marginRightLeft10,\r\n },\r\n gif: {\r\n alignSelf: 'center',\r\n borderRadius: 10,\r\n height: Layout.isSmallDevice ? 200 : 250,\r\n margin: 5,\r\n marginBottom: 20,\r\n marginTop: 10,\r\n padding: 10,\r\n width: width,\r\n },\r\n image: {\r\n alignSelf: 'center',\r\n height: Layout.isSmallDevice ? 250 : 400,\r\n marginBottom: 10,\r\n marginTop: 10,\r\n width: width * 0.95,\r\n ...CornerStyles.borderRadiusS,\r\n },\r\n linkText: { color: Colors.tintColor },\r\n marginBottom: { marginBottom: 10 },\r\n marginTop: { marginTop: 10 },\r\n roundImage: {\r\n ...CornerStyles.roundImg,\r\n alignSelf: 'center',\r\n height: 300,\r\n width: 300,\r\n },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport Faellesskabsprisen from '../../components/views/About/Faellesskabsprisen'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nexport default class FaellesskabsprisenScreen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport { useSelector } from 'react-redux'\r\nimport { Image, Platform, StyleSheet, View } from 'react-native'\r\nimport * as Updates from 'expo-updates'\r\nimport AsyncStorage from '@react-native-async-storage/async-storage'\r\n\r\nimport { txt } from '../../locales/i18n'\r\nimport Colors from '../../constants/Colors'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { ShadowStyles, TypographyStyles } from '../../styles'\r\nimport { updateUserPreferences } from '../../services/api/User'\r\nimport { getLanguage } from '../../services/localization'\r\nimport CustomDialog from '../dialogs/CustomDialog'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport ModalSelectorCustom from \"../modalSelectors/ModalSelectorCustom\"\r\n\r\nconst da = 'https://filer.boblberg.dk/Assets/Img/flags/da.png'\r\nconst en = 'https://filer.boblberg.dk/Assets/Img/flags/en.png'\r\nconst sv = 'https://filer.boblberg.dk/Assets/Img/flags/sv.png'\r\nconst fi = 'https://filer.boblberg.dk/Assets/Img/flags/fi.png'\r\nconst uk = 'https://filer.boblberg.dk/Assets/Img/flags/uk.png'\r\nconst de = 'https://filer.boblberg.dk/Assets/Img/flags/de.png'\r\nconst ar = 'https://filer.boblberg.dk/Assets/Img/flags/ar.png'\r\n\r\nconst Label = ({ img, label = null }) => (\r\n \r\n \r\n {label}\r\n \r\n)\r\n\r\nconst Img = ({ img }) => (\r\n \r\n)\r\n\r\nexport function LanguagePicker({ showSelectedLabel = false, style = null, onChangeStartScreen = null }) {\r\n const preferences = useSelector((state) => state?.preferences ?? null)\r\n const [initValue, setInitValue] = useState(null)\r\n const [updateError, setUpdateError] = useState(null)\r\n\r\n useEffect(() => {\r\n getInitValue().then(setInitValue)\r\n }, [])\r\n\r\n const languages = [\r\n {\r\n lang: 'da',\r\n accessibilityLabel: txt('languages.danish'),\r\n label: