{"version":3,"file":"static/js/main.1f7c2c04.js","mappings":"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,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,KAAM,GACN,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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","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 from 'react'\r\nimport { ProgressBar } from 'react-native-paper'\r\nimport Colors, { getColorFromPercent } from '../../constants/Colors'\r\nimport { StyleSheet } from 'react-native'\r\nimport { CornerStyles, ShadowStyles } from '../../styles'\r\n\r\nexport function Progress({progress, style}) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n progress: {\r\n backgroundColor: Colors.white,\r\n ...CornerStyles.borderRadiusM,\r\n ...ShadowStyles.shadowInputs,\r\n height: 10,\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 { Snackbar } from 'react-native-paper'\r\nimport Colors from '../../constants/Colors'\r\nimport Layout from '../../constants/Layout'\r\nimport { Animated, StyleSheet } from 'react-native'\r\nimport { CornerStyles, 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 }) {\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\nexport function NormalSnackbar(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function ErrorNormalSnackbar(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n errorSnackbar: {\r\n ...CornerStyles.borderRadiusM,\r\n alignSelf: 'center',\r\n backgroundColor: Colors.red,\r\n color: Colors.white,\r\n maxWidth: Layout.maxFeedWidth,\r\n },\r\n snackbar: {\r\n alignSelf: 'center',\r\n backgroundColor: Colors.text,\r\n ...CornerStyles.borderRadiusM,\r\n },\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 }\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 { Progress } 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 { NormalSnackbar } 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 {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 updateFeedback({ postWasNotCreated: false })}\r\n >\r\n {txt('createPost.error')}\r\n \r\n updateFeedback({ tooManyPosts: false })}>\r\n {txt('createPost.tooManyPosts')}\r\n \r\n updateFeedback({ postTooShort: false })}>\r\n {txt('createPost.postTooShort')}\r\n \r\n updateFeedback({ postSaved: false })}>\r\n {txt('post.savePostSnackBar')}\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 { NormalSnackbar } 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\t{txt('post.savePostSnackBar')}\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>\r\n\t\t\t\t\t\t{txt('post.savePostSnackBarFailed')}\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>\r\n\t\t\t\t\t\t{txt('profile.passwordDidChange')}\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 { NormalSnackbar } 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 >\r\n {txt('post.savePostSnackBar')}\r\n \r\n\r\n setSettingsDidNotSave(false)}\r\n >\r\n {txt('post.savePostSnackBarFailed')}\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 { Divider, Portal } from 'react-native-paper'\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 \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\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 { NormalSnackbar } 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 {txt('createPost.error')}\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 { Portal } from 'react-native-paper'\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\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\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\nimport { Portal } from 'react-native-paper'\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 { ErrorNormalSnackbar } 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\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t setShowSnackbar(false)}\r\n\t\t\t\t\t\t\t\t\t\t\tduration={5000}\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{errorMessage}\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}\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 { NormalSnackbar } from '../../snackbars/Snackbar'\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 [numberUpdated, setNumberUpdated] = useState(false)\r\n const [numberDidNotUpdate, setNumberDidNotUpdate] = useState(false)\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 setNumberUpdated(false)}>\r\n {txt('videoChat.phoneUpdated')}\r\n \r\n setNumberDidNotUpdate(false)}>\r\n {txt('videoChat.phoneNotUpdated')}\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 { Portal } from 'react-native-paper'\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\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 { Portal } from 'react-native-paper'\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\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 { ErrorNormalSnackbar } 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 {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: