{"version":3,"file":"static/js/main.562a7f9b.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,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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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/dialogs/ConversationLimitDialog.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\nimport { Platform } from \"react-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\r\nexport function getCurrentStackName() {\r\n if (Platform.OS !== 'web') {\r\n const navigation = navigationRef.current\r\n const routes = navigation?.getRootState()?.routes ?? null\r\n if (routes === null) return 'app'\r\n const stackName = routes[routes.length - 1]?.name\r\n return stackName ?? 'app'\r\n }\r\n const url = window.location.pathname\r\n if (url.includes('julevenner')) return 'christmasFriends'\r\n const universeNamePattern = /u\\/(?\\w+)/\r\n const matches = url.match(universeNamePattern)\r\n const universeName = matches?.groups?.universeName ?? null\r\n if (universeName !== null) return 'universe'\r\n return 'app'\r\n}\r\n","export function selectUnreadMessages(state) {\r\n if (state.conversations) {\r\n let unreadMessages = 0\r\n state.conversations.forEach((conv) => {\r\n unreadMessages += conv.unread_messages\r\n })\r\n return unreadMessages\r\n }\r\n return 0\r\n}\r\n\r\nexport function selectUnreadGroupMessages(state) {\r\n let unread = 0\r\n state.groups?.forEach(group => {\r\n unread += group.unread\r\n })\r\n return unread\r\n}\r\n\r\nexport function selectUnreadNotifications(state) {\r\n return selectUnreadMessages(state) + selectUnreadGroupMessages(state)\r\n}\r\n\r\nexport function conversationMessages(state, conversationID) {\r\n const conversation = state.conversations.find(\r\n (conv) => conv.conversation_id === conversationID\r\n )\r\n return conversation?.messages || []\r\n}\r\n\r\nexport function selectChristmasPostsFromConversations(state) {\r\n const conversations = state.conversations.filter(conv => conv.christmas_post_id)\r\n return conversations.map(conv => ({\r\n id: conv.christmas_post_id,\r\n title: conv.title,\r\n type: conv.type,\r\n imgFilename: conv.img_filename,\r\n }))\r\n}\r\n\r\nexport function selectUsersFromConversations(state) {\r\n\tconst conversations = state.conversations\r\n\tconst usersUnique = []\r\n\r\n\tfor (const conversation of conversations) {\r\n\t\tconst users = conversation.otherUsers\r\n\r\n\t\tfor (const user of users) {\r\n\t\t\tconst exists = usersUnique.some(({ id }) => id === user.id)\r\n\t\t\tif (exists === false) usersUnique.push(user)\r\n\t\t}\r\n\t}\r\n\r\n\treturn usersUnique\r\n}\r\n","export default {\r\n xxl: 28,\r\n xl: 25,\r\n l: 20,\r\n m: 17,\r\n s: 15,\r\n xs: 13,\r\n\r\n fontWeightBold: '500',\r\n\r\n roundImage: {\r\n xl: 400,\r\n },\r\n\r\n cornerRounding: 12,\r\n}\r\n","//const tintColor = '#007ACC'\r\n\r\nconst colors = {\r\n\twhite: '#fff',\r\n\twhiteTransparent: 'rgba(255,255,255,0.8)',\r\n\twhiteTransparent85: 'rgba(255,255,255,0.85)',\r\n\tred: '#E32020',\r\n\tredLight: '#ff6464',\r\n\tredMatte: '#cc614b',\r\n\tredChristmas: '#b11e31',\r\n\torangeRf: '#ee7203',\r\n\torange: '#f99746',\r\n\tdarkBlue: '#0000ff',\r\n\tblue: '#2a6592',\r\n\tbluePale: 'rgba(42,101,146,0.1)',\r\n\tblueAzure: '#0084ff',\r\n\tblueAzurePale: '#cbe4ff',\r\n\tblueBaby: '#34bdeb',\r\n\tlightBlue: '#87cefa',\r\n\tlightLightBlue: '#EAF5F8',\r\n\tskyBlue: 'rgb(237,247,249)',\r\n\tdarkerSkyBlue: '#A0CDDA',\r\n\tgreen: '#3b803a',\r\n\tgreenBtn: '#21C18C',\r\n\tgreenChristmas: '#096344',\r\n\tgreenLight: '#97E17D',\r\n\tgreenExtraLight: '#E7FCE9',\r\n\tgreenIcon: '#1DAF59',\r\n\tgreenText: '#084B00',\r\n\tblack: '#000000',\r\n\tblackTransparent: 'rgba(0,0,0,0.12)',\r\n\tblackTransparent2: 'rgba(0,0,0,0.2)',\r\n\tblackTransparent54: 'rgba(0,0,0,0.54)',\r\n\tblackTransparent82: 'rgba(0,0,0,0.82)',\r\n\tdark: '#0a0a0a',\r\n\tdarkDarkGrey: '#333333',\r\n\tdarkGrey: '#696969',\r\n\tgrey: '#808080',\r\n\tgreyLight: '#c0c0c0',\r\n\tgreyLightLight: '#f1f1f1',\r\n\tgold: '#c49c45',\r\n\tbronze: '#cd853f',\r\n\ttransparent: 'transparent',\r\n\tlabelText: '#045aff',\r\n\tlabelBackground: '#e3ecff',\r\n\tjuniorLabelText: '#197973',\r\n\tjuniorLabelBackground: '#cbfffc',\r\n\tredCrossEmber: '#fef5f5',\r\n\tredCrossRed: '#e30a0b',\r\n\tredCrossGrey: '#e7e5e7',\r\n\tredCrossBackground: '#f8f8f8',\r\n\tredSoft: '#ff6464',\r\n\tjulevenner: {\r\n\t\tyellow: '#EAEB5E',\r\n\t},\r\n\tredCross: {\r\n\t\tbackground: '#F4F4F2', // Secondary Sage 50\r\n\t\tbackgroundSecondary: '#FEF5F5',\r\n\t\ttext: '#473F3C', // Sage 900\r\n\t\ttextSecondary: '#514742', // Sage 800\r\n\t\tbackgroundTertiary: '#E4E3DD',\r\n\t\tbase: '#73665B', // Secondary/Sage/600 (base)\r\n\t\tbaseSecondary: '#CBC6BD', // Secondary/Sage/200\r\n\t\tred: '#E30A0B', // Red 600\r\n\t\tborder: '#e7e5e7',\r\n\t}\r\n}\r\n\r\nconst theme = {\r\n\tbackground: colors.skyBlue, // Also change in app.json for splash image\r\n\tbackgroundContent: colors.white,\r\n\ttintColor: colors.blue,\r\n\terrorBackground: colors.red,\r\n\terrorText: colors.white,\r\n\tnoticeBackground: colors.blue,\r\n\tnoticeText: colors.white,\r\n\tbadgeColor: colors.redMatte,\r\n\tdanger: colors.redLight,\r\n\ttitle: colors.darkBlue,\r\n\ttext: colors.darkDarkGrey,\r\n\ttextLight: colors.blackTransparent54,\r\n\ttextPlaceholder: colors.greyLight,\r\n\ttabBarActive: colors.blue,\r\n\ttabBarInActive: colors.blackTransparent54,\r\n\ttabBarBackground: colors.skyBlue,\r\n\ttabBarBackgroundActive: colors.skyBlue,\r\n\tpostBackground: colors.white,\r\n\tinactive: colors.darkGrey,\r\n\tshadow: colors.blackTransparent2,\r\n\tchipSelected: colors.white,\r\n\tchipUnselected: colors.blackTransparent,\r\n\tmodalBackground: colors.blackTransparent54,\r\n\tfilterBackground: colors.white,\r\n\tfilterBackgroundClicked: colors.blue,\r\n\tnewYearPrimary: colors.gold,\r\n}\r\n\r\nexport default { ...theme, ...colors }\r\n\r\n// Used for progress bars\r\nexport const getColorFromPercent = (percent) => {\r\n\tlet r = percent <= 50 ? 100 : 100 - percent + 50\r\n\tlet g = percent * 2 > 100 ? 100 : percent * 2\r\n\tlet b = 0\r\n\treturn `rgb(\r\n\t\t${parseInt((255 / 100) * r, 10)},\r\n\t\t${parseInt((255 / 100) * g, 10)}, \r\n\t\t${parseInt((255 / 100) * b, 10)})`\r\n}\r\n","import Fontsizes from '../constants/Fontsizes'\r\nimport Colors from '../constants/Colors'\r\n\r\n// Normal\r\nexport const text = {\r\n fontFamily: 'raleway-regular',\r\n fontSize: Fontsizes.m,\r\n}\r\n\r\nexport const textBold = {\r\n fontFamily: 'raleway-semibold',\r\n fontSize: Fontsizes.m,\r\n}\r\n\r\nexport const textItalic = {\r\n fontFamily: 'raleway-italic',\r\n fontSize: Fontsizes.m,\r\n}\r\n\r\n// XSmall\r\nexport const textXSmall = {\r\n fontFamily: 'raleway-regular',\r\n fontSize: Fontsizes.xs,\r\n}\r\n\r\nexport const textXSmallBold = {\r\n fontFamily: 'raleway-semibold',\r\n fontSize: Fontsizes.xs,\r\n}\r\n\r\nexport const textXSmallItalic = {\r\n fontFamily: 'raleway-italic',\r\n fontSize: Fontsizes.xs,\r\n}\r\n\r\n// Small\r\nexport const textSmall = {\r\n fontFamily: 'raleway-regular',\r\n fontSize: Fontsizes.s,\r\n}\r\n\r\nexport const textSmallBold = {\r\n fontFamily: 'raleway-semibold',\r\n fontSize: Fontsizes.s,\r\n}\r\n\r\nexport const textSmallBoldHeavy = {\r\n fontFamily: 'raleway-bold',\r\n fontSize: Fontsizes.s,\r\n}\r\n\r\nexport const textSmallItalic = {\r\n fontFamily: 'raleway-italic',\r\n fontSize: Fontsizes.s,\r\n}\r\n\r\n// Large\r\nexport const textLarge = {\r\n fontFamily: 'raleway-regular',\r\n fontSize: Fontsizes.l,\r\n}\r\n\r\nexport const textLargeBold = {\r\n fontFamily: 'raleway-semibold',\r\n fontSize: Fontsizes.l,\r\n}\r\n\r\nexport const textLargeItalic = {\r\n fontFamily: 'raleway-italic',\r\n fontSize: Fontsizes.l,\r\n}\r\n\r\n// X Large\r\nexport const textXLarge = {\r\n fontFamily: 'raleway-regular',\r\n fontSize: Fontsizes.xl,\r\n}\r\n\r\nexport const textXLargeBold = {\r\n fontFamily: 'raleway-semibold',\r\n fontSize: Fontsizes.xl,\r\n}\r\n\r\nexport const textXLargeItalic = {\r\n fontFamily: 'raleway-italic',\r\n fontSize: Fontsizes.xl,\r\n}\r\n\r\n// Title - Let's remove 'titles' at some point, since it's the same as 'large'\r\nexport const title = {\r\n fontFamily: 'raleway-regular',\r\n fontSize: Fontsizes.l,\r\n}\r\n\r\nexport const titleBold = {\r\n fontFamily: 'raleway-semibold',\r\n fontSize: Fontsizes.l,\r\n}\r\n\r\n// For large amounts of text, like a blog.\r\nexport const blogTitle = {\r\n fontSize: 25,\r\n fontFamily: 'raleway-bold',\r\n color: Colors.text,\r\n}\r\nexport const blogHeader = {\r\n fontSize: 20,\r\n fontFamily: 'raleway-bold',\r\n color: Colors.text,\r\n}\r\nexport const blogSubtitle = {\r\n fontSize: 18,\r\n fontFamily: 'raleway-semibold',\r\n color: Colors.text,\r\n}\r\nexport const blogText = {\r\n fontSize: 16,\r\n lineHeight: 22,\r\n fontFamily: 'raleway-regular',\r\n color: Colors.text,\r\n}\r\n\r\n//Heading styles (used in Julevenner)\r\nexport const heading1 = {\r\n fontFamily: 'oswald-semibold',\r\n fontSize: Fontsizes.xxl,\r\n paddingBottom: Fontsizes.xxl * 0.25,\r\n}\r\n\r\nexport const heading2 = {\r\n fontFamily: 'oswald-semibold',\r\n fontSize: Fontsizes.xl,\r\n paddingBottom: Fontsizes.xl * 0.25,\r\n}\r\n\r\nexport const heading3 = {\r\n fontFamily: 'oswald-semibold',\r\n fontSize: Fontsizes.l,\r\n paddingBottom: Fontsizes.l * 0.25,\r\n}\r\n\r\nexport const heading4 = {\r\n fontFamily: 'oswald-bold',\r\n fontSize: Fontsizes.m,\r\n paddingBottom: Fontsizes.m * 0.25,\r\n}\r\n","import { Dimensions } from 'react-native'\r\n\r\nconst width = Dimensions.get('window').width\r\nconst height = Dimensions.get('window').height\r\n\r\nexport default {\r\n window: {\r\n width,\r\n height,\r\n },\r\n isSmallDevice: width < 1000,\r\n small: width < 700,\r\n maxFeedWidth: 800,\r\n headerHeight: height > 800 ? 64 : 48,\r\n logoWidth: 150,\r\n}\r\n","import Layout from '../constants/Layout'\r\n\r\nexport const marginRightLeft10 = {\r\n marginLeft: 10,\r\n marginRight: 10,\r\n}\r\n\r\nexport const paddingRightLeft10 = {\r\n paddingLeft: 10,\r\n paddingRight: 10,\r\n}\r\n\r\nexport const widthAndHeight = {\r\n width: '100%',\r\n maxWidth: Layout.maxFeedWidth,\r\n alignSelf: 'center',\r\n}\r\n","import Colors from '../constants/Colors'\r\n\r\nexport const dropShadow = {\r\n shadowColor: Colors.black, // IOS\r\n shadowOffset: { height: 5, width: 0 }, // IOS\r\n shadowOpacity: 0.2, // IOS\r\n shadowRadius: 7, //IOS\r\n elevation: 5, //Android\r\n}\r\n\r\nexport const shadowInputs = {\r\n shadowColor: Colors.black, // IOS\r\n shadowOffset: { height: 1, width: 0 }, // IOS\r\n shadowOpacity: 0.2, // IOS\r\n shadowRadius: 3, //IOS\r\n elevation: 2, //Android\r\n}\r\n\r\nexport const cardShadow = {\r\n shadowColor: Colors.darkGrey, // IOS\r\n shadowOffset: { height: 3, width: 0 }, // IOS\r\n shadowOpacity: 0.15, // IOS\r\n shadowRadius: 5, //IOS\r\n elevation: 5, //Android\r\n}\r\n\r\nexport const liftedShadow = {\r\n shadowColor: Colors.black, // IOS\r\n shadowOffset: { height: 8, width: 8 }, // IOS\r\n shadowOpacity: 0.07, // IOS\r\n shadowRadius: 27, //IOS\r\n elevation: 5, //Android\r\n}\r\n\r\nexport const unsetShadows = {\r\n shadowColor: Colors.transparent, // IOS\r\n shadowOffset: { height: 0, width: 0 }, // IOS\r\n shadowOpacity: 0, // IOS\r\n shadowRadius: 0, //IOS\r\n elevation: 0, //Android\r\n}\r\n","export const borderRadiusS = {\r\n borderRadius: 12,\r\n}\r\n\r\nexport const borderRadiusM = {\r\n borderRadius: 24,\r\n}\r\n\r\nexport const borderRadiusL = {\r\n borderRadius: 36,\r\n}\r\n\r\nexport const roundImg = {\r\n borderRadius: 300,\r\n}\r\n","import Colors from '../constants/Colors'\r\n\r\nexport const blueBorder = {\r\n borderWidth: 2,\r\n borderColor: Colors.lightBlue,\r\n}\r\n","import React from 'react'\r\nimport { Text, StyleSheet } from 'react-native'\r\nimport { TypographyStyles } from '../../styles'\r\nimport Colors from '../../constants/Colors'\r\n\r\nexport function CustomText(props) {\r\n let textStyle\r\n\r\n switch (props.font) {\r\n // xsmall\r\n case 'xsmall':\r\n textStyle = styles.xsmall\r\n break\r\n case 'xsmallBold':\r\n textStyle = styles.xsmallBold\r\n break\r\n case 'xsmallItalic':\r\n textStyle = styles.xsmallItalic\r\n break\r\n // small\r\n case 'small':\r\n textStyle = styles.small\r\n break\r\n case 'smallBold':\r\n textStyle = styles.smallBold\r\n break\r\n case 'smallItalic':\r\n textStyle = styles.smallItalic\r\n break\r\n // normal\r\n case 'bold':\r\n textStyle = styles.bold\r\n break\r\n case 'italic':\r\n textStyle = styles.italic\r\n break\r\n // large\r\n case 'large':\r\n textStyle = styles.large\r\n break\r\n case 'largeBold':\r\n textStyle = styles.largeBold\r\n break\r\n case 'largeItalic':\r\n textStyle = styles.largeItalic\r\n break\r\n // xlarge\r\n case 'xlarge':\r\n textStyle = styles.xlarge\r\n break\r\n case 'xlargeBold':\r\n textStyle = styles.xlargeBold\r\n break\r\n case 'xlargeItalic':\r\n textStyle = styles.xlargeItalic\r\n break\r\n\r\n\r\n\r\n case 'gotham':\r\n textStyle = {\r\n fontFamily: 'gotham-book',\r\n fontSize: 16,\r\n lineHeight: 25.6,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n case 'gotham-xsmall':\r\n textStyle = {\r\n fontFamily: 'gotham-book',\r\n fontSize: 14,\r\n lineHeight: 22.4,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n case 'gotham-small':\r\n textStyle = {\r\n fontFamily: 'gotham-book',\r\n fontSize: 15,\r\n lineHeight: 24,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n case 'gotham-large':\r\n textStyle = {\r\n fontFamily: 'gotham-book',\r\n fontSize: 18,\r\n lineHeight: 28.8,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n case 'gotham-xlarge':\r\n textStyle = {\r\n fontFamily: 'gotham-book',\r\n fontSize: 21,\r\n lineHeight: 23.6,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n\r\n\r\n case 'gotham-bold':\r\n textStyle = {\r\n fontFamily: 'gotham-bold',\r\n fontSize: 16,\r\n lineHeight: 25.6,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n case 'gotham-bold-xsmall':\r\n textStyle = {\r\n fontFamily: 'gotham-bold',\r\n fontSize: 14,\r\n lineHeight: 22.4,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n case 'gotham-bold-small':\r\n textStyle = {\r\n fontFamily: 'gotham-bold',\r\n fontSize: 15,\r\n lineHeight: 24,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n case 'gotham-bold-large':\r\n textStyle = {\r\n fontFamily: 'gotham-bold',\r\n fontSize: 18,\r\n lineHeight: 28.8,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n case 'gotham-bold-xlarge':\r\n textStyle = {\r\n fontFamily: 'gotham-bold',\r\n fontSize: 21,\r\n lineHeight: 23.6,\r\n color: Colors.redCross.text,\r\n }\r\n break\r\n\r\n\r\n\r\n default:\r\n textStyle = styles.text\r\n break\r\n }\r\n\r\n return (\r\n \r\n {props.text || props.children}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n bold: {\r\n ...TypographyStyles.textBold,\r\n },\r\n italic: {\r\n ...TypographyStyles.textItalic,\r\n },\r\n large: {\r\n ...TypographyStyles.textLarge,\r\n },\r\n largeBold: {\r\n ...TypographyStyles.textLargeBold,\r\n },\r\n largeItalic: {\r\n ...TypographyStyles.textLargeItalic,\r\n },\r\n xlarge: {\r\n ...TypographyStyles.textXLarge,\r\n },\r\n xlargeBold: {\r\n ...TypographyStyles.textXLargeBold,\r\n },\r\n xlargeItalic: {\r\n ...TypographyStyles.textXLargeItalic,\r\n },\r\n small: {\r\n ...TypographyStyles.textSmall,\r\n },\r\n smallBold: {\r\n ...TypographyStyles.textSmallBold,\r\n },\r\n smallItalic: {\r\n ...TypographyStyles.textSmallItalic,\r\n },\r\n text: {\r\n ...TypographyStyles.text,\r\n },\r\n xsmall: {\r\n ...TypographyStyles.textXSmall,\r\n },\r\n xsmallBold: {\r\n ...TypographyStyles.textXSmallBold,\r\n },\r\n xsmallItalic: {\r\n ...TypographyStyles.textXSmallItalic,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { Pressable } from 'react-native'\r\n\r\nexport default function CustomPressable({ onPress, ...props }) {\r\n return (\r\n [ pressed ? { opacity: 0.5 } : {}, props.style]}\r\n >\r\n {props.children}\r\n \r\n )\r\n}","import React from 'react'\r\nimport { StyleSheet, TouchableWithoutFeedback, Modal } from 'react-native'\r\nimport { CustomText } from '../text/StyledText'\r\nimport Colors from '../../constants/Colors'\r\nimport { View } from 'react-native'\r\nimport { Platform } from 'react-native'\r\nimport { ScrollView } from 'react-native'\r\nimport { borderRadiusM } from '../../styles/corners'\r\nimport { cardShadow } from '../../styles/shadows'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport default function CustomDialog({ visible, onDismiss, children, style }) {\r\n return (\r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport const ScrollableDialog = (props) => {\r\n return (\r\n \r\n \r\n \r\n {props.children}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport const ContentContainer = (props) => {\r\n if (props.noScroll === true) return {props.children}\r\n else return {props.children}\r\n}\r\n\r\nexport const ActionButton = (props) => (\r\n \r\n \r\n {props.children}\r\n \r\n \r\n)\r\n\r\nconst styles = StyleSheet.create({\r\n button: {\r\n borderTopColor: Colors.blackTransparent,\r\n borderTopWidth: 1,\r\n paddingBottom: 12,\r\n paddingTop: 12,\r\n },\r\n contentContainer: { flexGrow: 0, margin: 24 },\r\n danger: {\r\n color: Colors.danger,\r\n },\r\n success: {\r\n color: Colors.green,\r\n },\r\n modal: {\r\n ...cardShadow,\r\n ...borderRadiusM,\r\n backgroundColor: Colors.white,\r\n marginLeft: 12,\r\n marginRight: 12,\r\n maxHeight: 600,\r\n maxWidth: 400,\r\n },\r\n modalBackground: {\r\n alignItems: 'center',\r\n backgroundColor: Colors.modalBackground,\r\n flex: 1,\r\n justifyContent: 'center',\r\n },\r\n buttonText: {\r\n textAlign: 'center',\r\n },\r\n})\r\n","import React from 'react'\r\nimport Svg, { Path, Circle } from 'react-native-svg'\r\nimport { View } from 'react-native'\r\n\r\nexport function BoblbergIconPathLight(props) {\r\n switch (props.name) {\r\n case 'bubbles':\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n case 'bobl':\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n default:\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport function BoblbergIconPathSolid(props) {\r\n switch (props.name) {\r\n case 'bubbles':\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n case 'bobl':\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n default:\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport function BoblbergIconPathDuo(props) {\r\n switch (props.name) {\r\n case 'bobl':\r\n return (\r\n \r\n \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n \r\n \r\n )\r\n default:\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","import React from 'react'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-native-fontawesome'\r\nimport { StyleSheet, Text, View } from 'react-native'\r\nimport { BoblbergIconPathDuo, BoblbergIconPathLight, BoblbergIconPathSolid } from './BoblbergIcons'\r\n\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport Colors from '../../constants/Colors'\r\n\r\n// Set name in props when using function. name={whatevericonname}\r\nexport default function NormalIcon(props) {\r\n const { name, stroke, color, size, style, ...other } = props\r\n let iconType = stroke ? stroke : 'fal'\r\n if (name !== undefined) {\r\n return (\r\n \r\n {!!props.badge &&\r\n \r\n {props.badge}\r\n \r\n }\r\n \r\n \r\n )\r\n } else {\r\n return \r\n }\r\n}\r\n\r\nexport function BoblbergIcon(props) {\r\n const { name, stroke, color, size, style, ...other } = props\r\n return (\r\n \r\n {stroke === 'fas' ? (\r\n \r\n\t\t\t) : stroke === 'fad' ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n \r\n )}\r\n \r\n )\r\n}\r\nconst styles = StyleSheet.create({\r\n badge: {\r\n zIndex: 1,\r\n position: 'absolute',\r\n minWidth: 16,\r\n height: 16,\r\n paddingHorizontal: 4,\r\n right: -8,\r\n top: -8,\r\n borderRadius: 35,\r\n backgroundColor: Colors.tintColor,\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n\r\n },\r\n badgeNumber: {\r\n color: Colors.white,\r\n fontSize: 12,\r\n },\r\n})","import React from 'react'\r\nimport { Button } from 'react-native-elements'\r\nimport { StyleSheet, ActivityIndicator, View } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport NormalIcon, { BoblbergIcon } from '../icons/NormalIcon'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { TypographyStyles, CornerStyles } from '../../styles'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport function RoundBtn(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function DeleteBtn(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function GreenBtn(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function RotateRightBtn(props) {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function RotateLeftBtn(props) {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function DialogBtn(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function RoundSquareBtn(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function RoundSquareDeleteBtn(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nfunction ButtonBase({\r\n title,\r\n loading,\r\n success,\r\n error,\r\n disabled,\r\n style,\r\n icon,\r\n iconRight,\r\n color,\r\n titleStyle,\r\n children,\r\n stroke,\r\n iconSize,\r\n label,\r\n boblbergIcon = false,\r\n ...props\r\n}) {\r\n let statusIcon\r\n if (error) statusIcon = \"times\"\r\n if (success) statusIcon = \"check\"\r\n const status = success || error\r\n const textStyle = [\r\n styles.buttonPrimaryText,\r\n titleStyle,\r\n { opacity: disabled ? 0.5 : 1 },\r\n ]\r\n const iconStyle = {\r\n marginRight: 6,\r\n opacity: disabled ? 0.5 : 1,\r\n }\r\n const iconRightStyle = {\r\n marginLeft: 6,\r\n opacity: disabled ? 0.5 : 1,\r\n }\r\n const contentContainerStyle = {\r\n flexDirection: 'row',\r\n height: (status || loading) ? 0.01 : 'auto', // height 0 removes element completely from iOS render\r\n opacity: (status || loading) ? 0 : 1,\r\n overflow: 'hidden',\r\n alignItems: 'center',\r\n }\r\n return (\r\n \r\n {loading && }\r\n {status && }\r\n \r\n {icon && boblbergIcon ? (\r\n \r\n ) : icon && !boblbergIcon && (\r\n \r\n )}\r\n \r\n {title}\r\n {children}\r\n \r\n {iconRight && boblbergIcon ? (\r\n \r\n ) : iconRight && !boblbergIcon && (\r\n \r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\nexport function ButtonPrimary({ style, titleStyle, color, ...props }) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function ButtonSecondary({ style, titleStyle, ...props }) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n btnColor: { backgroundColor: Colors.tintColor },\r\n btnColorGreen: { backgroundColor: Colors.green },\r\n btnColorRed: { backgroundColor: Colors.errorBackground },\r\n btnPic: {\r\n alignSelf: 'center',\r\n borderColor: Colors.tintColor,\r\n borderStyle: 'dashed',\r\n borderWidth: 1.5,\r\n height: 90,\r\n justifyContent: 'center',\r\n width: 180,\r\n },\r\n btnPicBottom: { borderBottomLeftRadius: 200, borderBottomRightRadius: 200 },\r\n btnPicText: {\r\n alignSelf: 'center',\r\n ...TypographyStyles.textBold,\r\n color: Colors.tintColor,\r\n },\r\n btnPicTop: { borderTopLeftRadius: 200, borderTopRightRadius: 200 },\r\n btnText: { ...TypographyStyles.textSmallBold, color: Colors.text },\r\n btnTextWhite: { ...TypographyStyles.textSmallBold, color: Colors.white },\r\n btnTitle: { ...TypographyStyles.textSmallBold, color: Colors.white },\r\n button: {\r\n alignSelf: 'center',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n borderRadius: 100,\r\n },\r\n buttonPrimary: {\r\n backgroundColor: Colors.blue,\r\n paddingVertical: 8,\r\n paddingHorizontal: 16,\r\n },\r\n buttonSecondary: {\r\n backgroundColor: Colors.transparent,\r\n borderColor: Colors.blue,\r\n borderWidth: 2,\r\n paddingVertical: 6,\r\n paddingHorizontal: 14,\r\n },\r\n buttonPrimaryText: { color: Colors.white, textAlign: 'center' },\r\n buttonSecondaryText: { color: Colors.blue, textAlign: 'center' },\r\n center: { alignSelf: 'center' },\r\n roundBtnStyle: {\r\n ...CornerStyles.borderRadiusL,\r\n minWidth: 100,\r\n alignSelf: 'center',\r\n paddingHorizontal: 18,\r\n },\r\n squareBtnStyle: {\r\n ...CornerStyles.borderRadiusL,\r\n backgroundColor: Colors.tintColor,\r\n paddingHorizontal: 18,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { Image, StyleSheet } from 'react-native'\r\nimport CustomDialog, { ContentContainer } from './CustomDialog'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport store from '../../redux/store'\r\nimport { resetGlobalDialogAction } from '../../redux/actions'\r\nimport { useSelector } from 'react-redux'\r\nimport * as RootNavigation from '../../navigation/RootNavigation'\r\nimport { txt } from '../../locales/i18n'\r\nimport Colors from '../../constants/Colors'\r\n\r\nexport const promptTypes = {\r\n CHRISTMAS: 'CHRISTMAS',\r\n NEW_YEAR: 'NEW_YEAR',\r\n NEW_YEAR_SE: 'NEW_YEAR_SE',\r\n POST: 'POST',\r\n UNIVERSE: 'UNIVERSE',\r\n UNIVERSE_POST: 'UNIVERSE_POST'\r\n}\r\n\r\nexport default function GlobalDialog() {\r\n const { type, text, title, visible, data } = useSelector(state => state.globalDialog)\r\n\r\n let icon\r\n let stroke = 'fas'\r\n let titleVisible = true\r\n let buttonTitle = txt('global.ok')\r\n let buttonColor = Colors.blue\r\n let handlePress = dismiss\r\n let boblbergIcon = false\r\n\r\n if (type === promptTypes.CHRISTMAS) {\r\n // icon = \"hat-santa\"\r\n titleVisible = true\r\n buttonColor = Colors.green\r\n buttonTitle = txt('global.readMore')\r\n handlePress = () => {\r\n RootNavigation.navigate('christmasFriends')\r\n dismiss()\r\n }\r\n }\r\n if (type === promptTypes.NEW_YEAR) {\r\n // icon = \"glass-cheers\"\r\n titleVisible = true\r\n buttonColor = Colors.newYearPrimary\r\n buttonTitle = txt('global.readMore')\r\n handlePress = () => {\r\n RootNavigation.navigate('universe', { universe: 'nytaarsvenner' })\r\n dismiss()\r\n }\r\n }\r\n if (type === promptTypes.NEW_YEAR_SE) {\r\n // icon = \"glass-cheers\"\r\n titleVisible = true\r\n buttonColor = Colors.newYearPrimary\r\n buttonTitle = txt('global.readMore')\r\n handlePress = () => {\r\n RootNavigation.navigate('universe', { universe: 'nyarsvanner' })\r\n dismiss()\r\n }\r\n }\r\n if (type === promptTypes.POST) {\r\n icon = \"bobl\"\r\n boblbergIcon = true\r\n buttonTitle = txt('global.goToBobl')\r\n handlePress = () => {\r\n RootNavigation.navigate('HomeStack', {\r\n screen: 'Post',\r\n initial: false,\r\n params: { id: Number(data?.postID) },\r\n })\r\n dismiss()\r\n }\r\n }\r\n if (type === promptTypes.UNIVERSE) {\r\n icon = \"chevron-right\"\r\n stroke = 'fal'\r\n buttonTitle = txt('global.goToUniverse')\r\n handlePress = () => {\r\n RootNavigation.navigate('universe', { universe: data?.universe })\r\n dismiss()\r\n }\r\n }\r\n if (type === promptTypes.UNIVERSE_POST) {\r\n icon = \"chevron-right\"\r\n stroke = 'fal'\r\n buttonTitle = txt('global.goToUniverse')\r\n handlePress = () => {\r\n RootNavigation.navigate('universe', {\r\n screen: 'UniverseBoblStack',\r\n params: {\r\n screen: 'Post',\r\n params: {\r\n universe: data?.universe,\r\n id: data?.postID\r\n },\r\n },\r\n })\r\n dismiss()\r\n }\r\n }\r\n\r\n\r\n function dismiss() {\r\n store.dispatch(resetGlobalDialogAction())\r\n }\r\n\r\n return (\r\n \r\n \r\n {data?.img && }\r\n {titleVisible && {title}}\r\n \r\n {text}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n button: {\r\n marginTop: 24,\r\n width: '100%',\r\n backgroundColor: Colors.green,\r\n },\r\n text: {\r\n textAlign: 'center',\r\n marginTop: 12,\r\n },\r\n img: {\r\n height: 200,\r\n width: '100%',\r\n alignSelf: 'center',\r\n borderRadius: 6\r\n }\r\n})\r\n","export const Features = {\r\n START_CONVERSATION: 1,\r\n SEARCH_ACTIVITIES: 2,\r\n CREATE_ACTIVITIES: 3,\r\n SEARCH_GROUPS: 4,\r\n CREATE_GROUPS: 5,\r\n}\r\n","import { Features } from '../constants/Features'\r\nimport Layout from '../constants/Layout'\r\n\r\nconst minWidth = 375\r\nconst extraTabCount = Layout.window.width >= minWidth ? 2 : 1\r\n\r\nexport const getExtraTabs = (features = [], joinedGroupCount = 0) => {\r\n\tconst extraTabs = []\r\n\r\n\tif (joinedGroupCount !== 0) extraTabs.push('groups')\r\n\r\n\tif (extraTabCount > extraTabs.length && features.includes(Features.SEARCH_ACTIVITIES)) {\r\n\t\textraTabs.push('activities')\r\n\t}\r\n\r\n\tif (extraTabCount > extraTabs.length) extraTabs.push('events')\r\n\tif (extraTabCount > extraTabs.length) extraTabs.push('unions')\r\n\r\n\treturn extraTabs\r\n}","import * as Notifications from 'expo-notifications'\r\nimport { apiDelete, apiPost } from './api/ApiRequest'\r\nimport { Platform } from 'react-native'\r\nimport * as RootNavigation from '../navigation/RootNavigation'\r\nimport { useSelector } from 'react-redux'\r\nimport { selectUnreadNotifications } from '../redux/selectors'\r\nimport { useEffect } from 'react'\r\nimport store from '../redux/store'\r\nimport { getConversations } from './api/Inbox'\r\nimport { setGlobalDialogAction, updateGroup } from '../redux/actions'\r\nimport { Audio } from 'expo-av'\r\nimport { promptTypes } from '../components/dialogs/GlobalDialog'\r\nimport { getExtraTabs } from \"../navigation/MenuConfig\"\r\nimport Constants from \"expo-constants\"\r\n\r\nlet registered = false\r\nlet subscriptions = []\r\n\r\nexport async function registerPushNotifications() {\r\n if (Platform.OS === 'web') return\r\n\r\n Notifications.setNotificationHandler({\r\n handleNotification: async () => {\r\n const notificationBehaviour = {\r\n shouldShowAlert: false,\r\n shouldPlaySound: false,\r\n shouldSetBadge: false,\r\n }\r\n return notificationBehaviour\r\n },\r\n })\r\n\r\n let permission = await Notifications.getPermissionsAsync()\r\n if (!permission.granted) {\r\n permission = await Notifications.requestPermissionsAsync()\r\n }\r\n if (!permission.granted) return\r\n\r\n let token = (await Notifications.getExpoPushTokenAsync({ projectId: Constants.expoConfig?.extra?.eas?.projectId })).data\r\n\r\n if (token) {\r\n await apiPost({ pushToken: token }, 'users/pushTokens')\r\n registered = true\r\n }\r\n\r\n // In app notifications\r\n const notificationReceived = Notifications.addNotificationReceivedListener(\r\n async (notification) => {\r\n await playNotificationSound()\r\n const { data, body, title } = notification.request.content\r\n\r\n // Group message\r\n if (data.groupID) {\r\n const id = Number(data.groupID)\r\n const group = store.getState().groups.find((g) => g.id === id)\r\n if (group) {\r\n store.dispatch(updateGroup({ id, unread: group.unread + 1 }))\r\n }\r\n }\r\n\r\n // Dialog prompt\r\n else if (data.prompt) {\r\n store.dispatch(setGlobalDialogAction({\r\n visible: true,\r\n text: body,\r\n title,\r\n type: data.type,\r\n data: data\r\n }))\r\n }\r\n }\r\n )\r\n\r\n // Open app via push notification\r\n const responseReceived =\r\n Notifications.addNotificationResponseReceivedListener(async (res) => {\r\n const { data } = res.notification.request.content\r\n\r\n // Message\r\n if (data.conversationId) {\r\n const id = Number(data.conversationId)\r\n const conversation = store.getState().conversations.find((c) => c.conversation_id === id)\r\n if (!conversation) {\r\n await getConversations()\r\n }\r\n RootNavigation.navigate('InboxStack', {\r\n screen: 'Conversation',\r\n initial: false,\r\n params: { id },\r\n })\r\n }\r\n\r\n // Group message\r\n else if (data.groupID) {\r\n const id = Number(data.groupID)\r\n RootNavigation.navigate('GroupsStack', {\r\n screen: 'Group',\r\n initial: false,\r\n params: { id, refresh: true },\r\n })\r\n }\r\n\r\n // Post\r\n else if (data.postID && !data.universe) {\r\n const id = Number(data.postID)\r\n RootNavigation.navigate('HomeStack', {\r\n screen: 'Post',\r\n initial: false,\r\n params: { id },\r\n })\r\n }\r\n\t\t\t// Events feed\r\n\t\t\telse if (data.screen === 'Events') {\r\n\t\t\t\tRootNavigation.navigate('EventStack', {\r\n\t\t\t\t\tscreen: 'Events',\r\n\t\t\t\t\tinitial: true,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n // Event\r\n else if (data.eventID) {\r\n const id = Number(data.eventID)\r\n const features = store.getState()?.user?.features\r\n const joinedGroups = store.getState()?.groups\r\n const extraTabs = getExtraTabs(features ?? [], joinedGroups?.length ?? 0)\r\n const stack = extraTabs.includes('events') ? 'EventStack' : 'MenuStack'\r\n\r\n RootNavigation.navigate(stack, {\r\n screen: 'Event',\r\n initial: false,\r\n params: { eventId: id },\r\n })\r\n }\r\n\r\n // Universe Post\r\n else if (data.universe && data.postID) {\r\n const id = Number(data.postID)\r\n RootNavigation.navigate('universe', {\r\n screen: 'UniverseBoblStack',\r\n params: {\r\n screen: 'Post',\r\n params: {\r\n universe: data.universe,\r\n id\r\n },\r\n },\r\n })\r\n }\r\n\r\n // Universe feed\r\n else if (data.universe && !data.postID) {\r\n RootNavigation.navigate('universe', { universe: data.universe })\r\n }\r\n\r\n else if (data.type === promptTypes.CHRISTMAS) {\r\n RootNavigation.navigate('christmasFriends')\r\n }\r\n else if (data.type === promptTypes.NEW_YEAR) {\r\n RootNavigation.navigate('universe', { universe: 'nytaarsvenner' })\r\n }\r\n else if (data.type === promptTypes.NEW_YEAR_SE) {\r\n RootNavigation.navigate('universe', { universe: 'nyarsvanner' })\r\n }\r\n })\r\n subscriptions.push(notificationReceived, responseReceived)\r\n}\r\n\r\nexport async function unregisterPushNotifications() {\r\n if (registered) {\r\n let token = (await Notifications.getExpoPushTokenAsync({ projectId: Constants.expoConfig?.extra?.eas?.projectId })).data\r\n if (token) {\r\n await apiDelete({ pushToken: token }, 'users/pushTokens')\r\n registered = false\r\n }\r\n subscriptions.forEach((subscription) => subscription.remove())\r\n subscriptions = []\r\n }\r\n}\r\n\r\nexport function NotificationsBadgeListener() {\r\n const badgeCount = useSelector(selectUnreadNotifications)\r\n\r\n useEffect(() => {\r\n Notifications.setBadgeCountAsync(badgeCount)\r\n }, [badgeCount])\r\n\r\n return null\r\n}\r\n\r\nexport async function playNotificationSound() {\r\n // try {\r\n // const { sound } = await Audio.Sound.createAsync(require('../assets/sounds/bobble.mp3'))\r\n // sound.playAsync().then(setTimeout(sound.unloadAsync), 1000).catch()\r\n // } catch (err) {\r\n // if (__DEV__) console.error(err)\r\n // }\r\n}\r\n","import { apiGet, apiPost, apiPut, apiGetFile, apiDelete } from './ApiRequest'\r\nimport { setGroups, updateGroup as updateGroupRedux, leaveGroup } from '../../redux/actions'\r\nimport store from '../../redux/store'\r\nimport Paths from '../../constants/Paths'\r\n\r\nexport async function getJoinedGroupsList() {\r\n const res = await apiGet('groups/joined')\r\n if (res.data) store.dispatch(setGroups(res.data))\r\n return res.data ?? []\r\n}\r\n\r\nexport async function getGroupByID(groupId) {\r\n if (!groupId) return\r\n const res = await apiGet('groups/group/' + groupId.toString())\r\n if (!res) return\r\n if (res.data[0]?.id) return res.data[0]\r\n else if (res.data.id) return res.data\r\n}\r\n\r\nexport async function updateGroup(data) {\r\n const result = await apiPut(data, 'groups/group/' + data.id.toString())\r\n if (!result) return\r\n else return result.json()\r\n}\r\n\r\nexport async function getGroupMessages(group_id, skip, amount) {\r\n\tconst params = new URLSearchParams({ skip, amount })\r\n\tconst messages = await apiGet(`groups/${group_id}/messages?${params.toString()}`)\r\n\treturn messages ?? []\r\n}\r\n\r\nexport async function getGroupMessageImages(groupId, msgId) {\r\n const res = await apiGet(`groups/group/${groupId}/messages/${msgId}/images`)\r\n if (!res.images) {\r\n return\r\n }\r\n return res.images\r\n}\r\n\r\nexport async function getGroupMessageDocuments(groupId, msgId) {\r\n const { documents } = await apiGet(`groups/group/${groupId}/messages/${msgId}/documents`)\r\n return documents\r\n}\r\n\r\nexport async function getGroupMessageComments(groupId, msgId, skip) {\r\n return await apiGet(`groups/group/${groupId}/messages/${msgId}/comments?skip=${skip}`)\r\n}\r\n\r\nexport async function getGroupMessageDocument(groupId, msgId, id, extension) {\r\n return await apiGetFile(`groups/group/${groupId}/messages/${msgId}/document?id=${id}&extension=${extension}`)\r\n}\r\n\r\nexport async function getGroupMembers(groupId) {\r\n const res = await apiGet(`groups/group/${groupId}/members`)\r\n if (!res) return []\r\n return res.data ?? []\r\n}\r\n\r\nexport async function getJoinRequests(groupId) {\r\n const res = await apiGet(`groups/group/${groupId}/joinRequests`)\r\n if (!res) return []\r\n return res.data ?? []\r\n}\r\n\r\nexport async function getInvitedMembers(groupId) {\r\n const res = await apiGet(`groups/group/${groupId}/invitesAll`)\r\n if (!res) return []\r\n return res.data ?? []\r\n}\r\n\r\nexport async function getBannedMembers(groupId) {\r\n const res = await apiGet(`groups/group/${groupId}/bannedMembers`)\r\n if (!res) return []\r\n return res ?? []\r\n}\r\n\r\nexport async function searchGroups({ search, universeId, skip, amount }) {\r\n\tconst params = new URLSearchParams()\r\n\r\n\tif (search !== undefined) params.append('search', search)\r\n\tif (universeId !== undefined) params.append('universeId', universeId)\r\n\tif (amount !== undefined) params.append('amount', amount)\r\n\tif (skip !== undefined) params.append('skip', skip)\r\n\r\n\tconst groups = await apiGet('groups?' + params.toString())\r\n\treturn groups ?? []\r\n}\r\n\r\nexport async function joinGroupByID(id, password, dataConsent = false) {\r\n const body = { password, dataConsent }\r\n const response = await apiPost(body, `groups/group/${id}`)\r\n\r\n const data = await response.json()\r\n\r\n if (data.group) {\r\n const groupsFiltered = store.getState().groups.filter((group) => {\r\n return group.id !== data.group.id\r\n })\r\n\r\n const groups = [...groupsFiltered, data.group].sort((a, b) => {\r\n return new Date(b.latestMsgDate) - new Date(a.latestMsgDate)\r\n })\r\n\r\n store.dispatch(setGroups(groups))\r\n }\r\n\r\n return data?.message ?? 'UNKNOWN ERROR'\r\n}\r\n\r\nexport async function cancelJoinRequest(groupId) {\r\n if (!groupId) return null\r\n let res = await apiPost({}, `groups/group/${groupId}/cancel`)\r\n return res.ok\r\n}\r\n\r\nexport async function leaveGroupByID(groupId) {\r\n if (!groupId) return null\r\n let res = await apiPost({}, `groups/group/${groupId}/leave`)\r\n if (!res.ok) return null\r\n res = await res.json()\r\n store.dispatch(leaveGroup(groupId))\r\n return res.data[0]\r\n}\r\n\r\nexport async function removeGroupMember(groupId, userId) {\r\n const data = { user_id: userId }\r\n let res = await apiPost(data, `groups/group/${groupId}/remove`)\r\n return res.ok ?? false\r\n}\r\n\r\nexport async function banGroupMember(groupId, userId) {\r\n const data = { user_id: userId }\r\n let res = await apiPost(data, `groups/group/${groupId}/ban`)\r\n return res.ok ?? false\r\n}\r\n\r\nexport async function unbanGroupMember(groupId, userId) {\r\n if (groupId === null || userId === null) return null\r\n let res = await apiPost({ user_id: userId }, `groups/group/${groupId}/unban`)\r\n return res.ok ?? false\r\n}\r\n\r\nexport async function approveJoinRequest(groupId, userId) {\r\n if (groupId === null || userId === null) return null\r\n let res = await apiPost({ user_id: userId }, `groups/group/${groupId}/approve`)\r\n if (!res.ok) return null\r\n res = await res.json()\r\n return res.data\r\n}\r\n\r\nexport async function sendInvite(groupId, email, username) {\r\n if (groupId === null || email === null || username === null) return null\r\n const data = { email, username }\r\n\r\n let res = await apiPost(data, `groups/group/${groupId}/invite`)\r\n if (!res.ok) return null\r\n res = await res.json()\r\n return res.data\r\n}\r\n\r\nexport async function deleteInvite(groupId, email) {\r\n\tif (!groupId || !email) return null\r\n\tlet res = await apiPost({ email }, `groups/group/${groupId}/deleteInvite`)\r\n\treturn res\r\n}\r\n\r\nexport async function makeUserAdmin(groupId, userId) {\r\n if (groupId === null || userId === null) return null\r\n let res = await apiPost({ user_id: userId }, `groups/group/${groupId}/makeAdmin`)\r\n if (!res.ok) return null\r\n res = await res.json()\r\n return res.data[0]\r\n}\r\n\r\nexport async function deleteMessage(groupId, msgId) {\r\n if (groupId === null || msgId === null) return null\r\n let res = await apiPost({ msg_id: msgId }, `groups/group/${groupId}/messages/delete`)\r\n if (!res.ok) return null\r\n res = await res.json()\r\n return res.data[0]\r\n}\r\n\r\nexport async function editMessage(groupId, msgId, body) {\r\n let data = { msg_id: msgId, body }\r\n let res = await apiPut(data, `groups/group/${groupId}/messages`)\r\n res = await res.json()\r\n return res.data ? res.data[0] : null\r\n}\r\n\r\nexport async function createMessage({ groupId, body, images, documents, parentId }) {\r\n if (groupId == null) return\r\n\r\n const data = { body }\r\n if (parentId) data.parentMessageId = parentId\r\n if (images) data.images = images\r\n if (documents) data.documents = documents\r\n\r\n const response = await apiPost(data, `groups/group/${groupId}/messages`)\r\n if (response.ok === false) return\r\n\r\n const message = await response.json()\r\n return message\r\n}\r\n\r\nexport async function readAllGroupMessages(group) {\r\n try {\r\n await store.dispatch(updateGroupRedux({ ...group, unread: 0 }))\r\n await apiPut({}, `groups/group/${group.id}/messages/readAll`)\r\n return true\r\n } catch (error) {\r\n if (__DEV__) console.error(error)\r\n return false\r\n }\r\n}\r\n\r\nexport async function like(groupId, groupMessageId) {\r\n const res = await apiPost({}, `groups/${groupId}/messages/${groupMessageId}/likes`)\r\n const resJson = await res.json()\r\n return resJson.msg\r\n}\r\n\r\nexport async function removeLike(groupId, groupMessageId) {\r\n const res = await apiDelete({}, `groups/${groupId}/messages/${groupMessageId}/likes`)\r\n return res.status\r\n}\r\n\r\nexport async function whoLiked(groupId, groupMessageId) {\r\n return await apiGet(`groups/${groupId}/messages/${groupMessageId}/likes`)\r\n}\r\n\r\nexport async function pinGroupPost(groupId, groupMessageId) {\r\n const res = await apiPost({}, `groups/${groupId}/pin/${groupMessageId}`)\r\n const resJson = await res.json()\r\n return resJson.msg\r\n}\r\n\r\nexport async function unpinGroupPost(groupId, groupMessageId) {\r\n const res = await apiDelete({}, `groups/${groupId}/pin/${groupMessageId}`)\r\n return res.status\r\n}\r\n\r\nexport async function createGroup(data) {\r\n const res = await apiPost(data, 'groups/create')\r\n const resJson = await res.json()\r\n return resJson.group\r\n}\r\n\r\nexport async function closeGroup(groupId) {\r\n const res = await apiPut({}, `groups/group/${groupId}/close`)\r\n if (!res) return\r\n return res\r\n}\r\n\r\nexport async function getTempFileLink(groupId, fileId) {\r\n const res = await apiGet(`groups/group/${groupId}/files/${fileId}`)\r\n if (!res) return null\r\n\r\n return Paths.apiBaseUrl + 'groups/group/files/' + res.tempFileId\r\n}\r\n\r\nexport async function updateNotificationSetting(groupId, notificationSetting) {\r\n const body = { notificationSetting }\r\n const res = await apiPut(body, `groups/group/${groupId}/notifications`)\r\n\r\n if (!res || res.ok === false) return null\r\n\r\n const data = await res.json()\r\n return data?.notificationSetting ?? null\r\n}","import { apiDelete, apiGet, apiPost, apiPut } from './ApiRequest'\r\nimport store from '../../redux/store'\r\nimport {\r\n deleteChristmasPostAction,\r\n setChristmasPost,\r\n updateChristmasPostAction,\r\n} from '../../redux/actions'\r\n\r\nexport async function createChristmasPost(post) {\r\n const res = await apiPost(post, 'christmas-friends/posts')\r\n const resJson = await res.json()\r\n if (resJson.post) {\r\n store.dispatch(setChristmasPost(resJson.post))\r\n }\r\n return resJson.post\r\n}\r\n\r\nexport async function getChristmasPost(christmasPostId) {\r\n const res = await apiGet(`christmas-friends/posts/${christmasPostId}`)\r\n return res.post\r\n}\r\n\r\nexport async function updateChristmasPost(postUpdate) {\r\n let post = store.getState().christmas.post\r\n const body = { ...post, ...postUpdate }\r\n const postRes = await apiPut(body, `christmas-friends/posts/${post.id}`)\r\n if (!postRes.ok) return null\r\n const updatedPost = await postRes.json()\r\n store.dispatch(updateChristmasPostAction(updatedPost))\r\n return updatedPost\r\n}\r\n\r\nexport async function getOwnChristmasPost() {\r\n const userId = store.getState().user.id\r\n const res = await apiGet(`christmas-friends/posts?userId=${userId}`)\r\n const post = res.posts[0]\r\n if (post) {\r\n store.dispatch(setChristmasPost(post))\r\n }\r\n if (post) return post\r\n}\r\n\r\nexport async function deleteChristmasPost(id) {\r\n const res = await apiDelete({}, `christmas-friends/posts/${id}`)\r\n if (res.status === 200) {\r\n store.dispatch(deleteChristmasPostAction(null))\r\n }\r\n}\r\n\r\nexport async function getChristmasPosts({\r\n amount,\r\n skip,\r\n search,\r\n distance,\r\n type,\r\n favorite,\r\n}) {\r\n let uri = `christmas-friends/posts?amount=${amount}&skip=${skip}`\r\n uri = search ? `${uri}&search=${search}` : uri\r\n uri = distance ? `${uri}&distance=${distance}` : uri\r\n uri = type ? `${uri}&type=${type}` : uri\r\n uri = favorite ? `${uri}&favorite=${favorite}` : uri\r\n\r\n const res = await apiGet(uri)\r\n return res.posts\r\n}\r\n\r\nexport async function getSamplePosts() {\r\n return await apiGet(`christmas-friends/posts/sample`)\r\n}\r\n\r\nexport async function getChristmasFavoritePosts() {\r\n const res = await apiGet(`christmas-firends/favorites`)\r\n if (!res.data) return []\r\n return res.data\r\n}\r\n\r\nexport async function setChristmasPostFavorite(postId, favorite) {\r\n let res\r\n if (favorite) {\r\n res = await apiDelete({}, `christmas-friends/posts/${postId}/favorite`)\r\n } else {\r\n res = await apiPost({}, `christmas-friends/posts/${postId}/favorite`)\r\n }\r\n return res\r\n}\r\n\r\nexport async function getConversationNudge(conversationId) {\r\n return apiGet(`christmas-friends/conversations/${conversationId}/nudge`)\r\n}\r\n\r\nexport async function registerConversationNudge(conversationId, messageCount) {\r\n const body = { messageCount }\r\n return apiPut(body, `christmas-friends/conversations/${conversationId}/nudge`)\r\n}\r\n\r\nexport async function confirmMatch(postIdReceiver) {\r\n const ownPost = store.getState().christmas.post\r\n if (ownPost.type === 'guest')\r\n store.dispatch(updateChristmasPostAction({ status: -1 }))\r\n const body = { postIdReceiver }\r\n await apiPost(body, `christmas-friends/posts/${ownPost.id}/matches`)\r\n}\r\n\r\nexport async function getMatchConfirmations() {\r\n const ownPostId = store.getState().christmas.post.id\r\n return apiGet(`christmas-friends/posts/${ownPostId}/matches`)\r\n}\r\n","import { apiGet } from './ApiRequest'\r\nimport store from '../../redux/store'\r\nimport { setMunicipalities } from '../../redux/actions'\r\n\r\nexport async function getMunicipalityList({ feature, countryId }) {\r\n const urlQueryParams = {}\r\n\r\n if (feature !== undefined) urlQueryParams.feature = feature\r\n if (countryId !== undefined) urlQueryParams.countryId = countryId\r\n\r\n const urlQuery = Object.entries(urlQueryParams).map(([key, value]) => {\r\n return key + '=' + value\r\n })\r\n\r\n const response = await apiGet('municipalities?' + urlQuery.join('&'))\r\n return response?.data ?? []\r\n}\r\n\r\nexport async function getActiveMunicipalities(setData) {\r\n return apiGet(`municipalities/active`).then((res) => {\r\n if (!res.data) return\r\n setData && setData(res.data)\r\n return res.data\r\n })\r\n}\r\n\r\nexport async function getMunicipalityById(municipalityId) {\r\n const res = await apiGet(`municipalities/${municipalityId}`)\r\n return res.municipality\r\n}\r\n\r\nexport async function getMunicipalityUserCountById(municipalityId) {\r\n if (!municipalityId) return 0\r\n const res = await apiGet(`municipalities/count/${municipalityId}`)\r\n return res?.users ?? 0\r\n}\r\n\r\nexport async function getCountryMunicipalities(countryName) {\r\n const municipalities = await apiGet('municipalities/country/' + countryName)\r\n return municipalities\r\n}\r\n\r\nexport async function getUserMunicipalities() {\r\n const municipalities = await apiGet('municipalities/user')\r\n store.dispatch(setMunicipalities(municipalities))\r\n}","import store from '../redux/store'\r\nimport { setUserPreferences, setUserToken, resetStateAction, setDeviceId, setUser } from '../redux/actions'\r\nimport { connectSocket, disconnectSocket } from './socketService'\r\nimport { getConversations } from './api/Inbox'\r\nimport AsyncStorage from '@react-native-async-storage/async-storage'\r\nimport { unregisterPushNotifications } from './notifications'\r\nimport i18n from '../locales/i18n'\r\nimport * as Notifications from 'expo-notifications'\r\nimport { AppState, Platform } from 'react-native'\r\nimport { selectUnreadNotifications } from '../redux/selectors'\r\nimport { getJoinedGroupsList } from './api/Groups'\r\nimport Cookies from 'js-cookie'\r\nimport { getOwnChristmasPost } from './api/ChristmasFriends'\r\nimport * as Device from 'expo-device'\r\nimport * as Crypto from 'expo-crypto'\r\n\r\nimport { getUserMunicipalities } from './api/Municipalities'\r\nimport { getRegion } from './localization'\r\nimport { apiGet, apiPost } from \"./api/ApiRequest\"\r\nimport Paths from \"../constants/Paths\"\r\n\r\nconst asyncNames = ['userToken', 'language', 'userId']\r\nlet appStateChangeSubscription = null\r\n\r\n// Gets all notifications every time the app is reopened from the background\r\nconst handleAppStateChange = async (newState) => {\r\n if (newState === 'active') {\r\n await getConversations()\r\n await getJoinedGroupsList()\r\n const badgeCount = selectUnreadNotifications(store.getState())\r\n await Notifications.setBadgeCountAsync(badgeCount)\r\n }\r\n}\r\n\r\nexport async function generateDeviceId(userId) {\r\n if (Platform.OS === 'web' || !userId) return\r\n const { deviceName, modelName, totalMemory } = Device\r\n const userInfo = deviceName.concat(modelName).concat(totalMemory.toString()).concat(userId)\r\n const deviceId = await Crypto.digestStringAsync(Crypto.CryptoDigestAlgorithm.SHA1, userInfo) //SHA1 because max length of id is 50\r\n if (deviceId) store.dispatch(setDeviceId(deviceId))\r\n}\r\n\r\nexport async function postLoginAction(token) {\r\n store.dispatch(setUserToken(token))\r\n const user = await getOwnAuthUser()\r\n if (!user) return await authLogout()\r\n await generateDeviceId(user.id)\r\n const preferences = await getAuthUserPreferences()\r\n i18n.locale = preferences.language\r\n store.dispatch(setUserPreferences(preferences))\r\n await getOwnChristmasPost()\r\n await connectSocket(token)\r\n await getConversations()\r\n await getJoinedGroupsList()\r\n await getUserMunicipalities()\r\n\r\n if (Platform.OS !== 'web') {\r\n appStateChangeSubscription = AppState.addEventListener('change', handleAppStateChange)\r\n }\r\n}\r\n\r\nexport async function postLogoutAction() {\r\n await unregisterPushNotifications()\r\n await AsyncStorage.multiRemove(asyncNames)\r\n\r\n if (Platform.OS === 'web') removeToken()\r\n store.dispatch(resetStateAction())\r\n await disconnectSocket()\r\n\r\n if (Platform.OS === 'web') {\r\n window.location.replace(Paths.getBaseUrl())\r\n }\r\n\r\n if (Platform.OS !== 'web') appStateChangeSubscription?.remove()\r\n}\r\n\r\nexport async function storeAccessToken(token) {\r\n if (Platform.OS === 'web') {\r\n const config = getTokenCookieConfig()\r\n Cookies.set('token', token, config)\r\n } else {\r\n // Only use AsyncStorage on native app\r\n await AsyncStorage.setItem('userToken', token)\r\n }\r\n}\r\n\r\nexport async function getOwnAuthUser() {\r\n const res = await apiGet('users/getOwn')\r\n const user = res?.data\r\n if (user) store.dispatch(setUser(user))\r\n return user\r\n}\r\n\r\nexport async function getAuthUserPreferences() {\r\n const res = await apiGet('users/user/preferences')\r\n return res?.data\r\n}\r\n\r\nexport async function authLogout() {\r\n await apiPost({},'users/logout')\r\n await postLogoutAction()\r\n}\r\n\r\nexport const getTokenCookieConfig = () => {\r\n\tconst config = { sameSite: 'strict', expires: 365 }\r\n\r\n\tif (__DEV__ === false) {\r\n\t\tconfig.domain = 'boblberg.' + getRegion()\r\n\t\tconfig.secure = true\r\n\t}\r\n\r\n\treturn config\r\n}\r\n\r\nexport const getToken = () => {\r\n\tconst config = getTokenCookieConfig()\r\n\tconst tokenLegacy = Cookies.get('token') ?? null\r\n\r\n\tif (tokenLegacy) {\r\n\t\tCookies.remove('token')\r\n\t\tCookies.set('token', tokenLegacy, config)\r\n\t}\r\n\t\r\n\tconst token = Cookies.get('token', config)\r\n\treturn token ?? null\r\n}\r\n\r\nconst removeToken = () => {\r\n\tconst config = getTokenCookieConfig()\r\n\tCookies.remove('token', config)\r\n\tCookies.remove('token') // legacy token\r\n}\r\n","import { apiGet, apiPost, apiPut } from './ApiRequest'\r\nimport { postLoginAction, postLogoutAction, storeAccessToken } from '../authActions'\r\nimport store from '../../redux/store'\r\nimport {\r\n setUser,\r\n setUserPreferences,\r\n setUserToken,\r\n updateUserPreferences as updateUserPreferencesRedux,\r\n} from '../../redux/actions'\r\n\r\n// Login user and save token from api\r\nexport async function login(email, password) {\r\n if (!email || !password) return false\r\n try {\r\n let res = await apiPost({ email, password }, 'users/login')\r\n res = await res.json()\r\n if (!res.token) return false\r\n await storeAccessToken(res.token)\r\n await postLoginAction(res.token)\r\n return true\r\n } catch (err) {\r\n return false\r\n }\r\n}\r\n\r\nexport async function signup({\r\n name,\r\n email,\r\n password,\r\n birthYear,\r\n municipalityId,\r\n language,\r\n token,\r\n origin,\r\n country,\r\n}) {\r\n const data = {\r\n username: name.trim(),\r\n email: email.trim(),\r\n password: password,\r\n birth_year: birthYear,\r\n municipality_id: municipalityId,\r\n language,\r\n token,\r\n origin,\r\n country,\r\n }\r\n let res = await apiPost(data, 'users/signup')\r\n res = await res.json()\r\n return res\r\n}\r\n\r\n// Logout user from device\r\nexport async function logout() {\r\n await apiPost({},'users/logout')\r\n await postLogoutAction()\r\n}\r\n\r\nexport async function getUserImage(userId) {\r\n const image = await apiGet(`users/image/${userId}`)\r\n if (!image) return\r\n return image\r\n}\r\n\r\nexport async function getInvitedUser(token) {\r\n const res = await apiGet(`users/invite/${token}`)\r\n if (res.data) return res.data\r\n return null\r\n}\r\n\r\nexport async function updateUser(userNew) {\r\n const userOld = store.getState().user\r\n const userUpdated = { ...userOld, ...userNew }\r\n\r\n if (userUpdated.image === null) {\r\n delete userUpdated.image\r\n }\r\n\r\n userUpdated.email = userUpdated.email.trim()\r\n userUpdated.username = userUpdated.username.trim()\r\n const res = await apiPut(userUpdated, 'users/update')\r\n if (!res || !res.ok || res.status >= 300) return false\r\n store.dispatch(setUser(userUpdated))\r\n return true\r\n}\r\n\r\nexport async function changePassword(passwordOld, passwordNew) {\r\n const data = {\r\n passwordOld,\r\n passwordNew,\r\n }\r\n return apiPut(data, 'users/changePassword')\r\n .then((response) => response.json())\r\n .then((responseJson) => {\r\n if (!responseJson.data) {\r\n return false\r\n }\r\n if (__DEV__) console.log('responseJson')\r\n if (__DEV__) console.log(responseJson.data[0])\r\n const { userToken } = responseJson\r\n if (userToken) {\r\n store.dispatch(setUserToken(userToken))\r\n storeAccessToken(userToken)\r\n }\r\n return responseJson.data[0]\r\n })\r\n .catch((error) => {\r\n if (__DEV__) console.error(error)\r\n return false\r\n })\r\n}\r\n\r\nexport async function changePasswordByToken(token, passwordNew) {\r\n const data = {\r\n token,\r\n passwordNew,\r\n }\r\n return apiPut(data, 'users/token/resetPassword')\r\n .then((response) => response.json())\r\n .then((responseJson) => {\r\n if (!responseJson.data) {\r\n return false\r\n }\r\n if (__DEV__) console.log('responseJson')\r\n if (__DEV__) console.log(responseJson.data[0])\r\n return responseJson.data[0]\r\n })\r\n .catch((error) => {\r\n if (__DEV__) console.error(error)\r\n return false\r\n })\r\n}\r\n\r\nexport async function createPasswordToken(email) {\r\n const data = {\r\n email,\r\n }\r\n apiPost(data, 'users/token/resetPassword')\r\n .then((response) => response.json())\r\n .then((responseJson) => {\r\n if (!responseJson.data) {\r\n return\r\n }\r\n })\r\n .catch((error) => {\r\n if (__DEV__) console.error(error)\r\n return\r\n })\r\n}\r\n\r\nexport async function getUser(user_id) {\r\n const res = await apiGet(`users/${user_id}`)\r\n return res.data\r\n}\r\n\r\nexport async function getUsername(user_id) {\r\n const res = await apiGet(`users/username/${user_id}`)\r\n return res.data\r\n}\r\n\r\nexport async function getOwnUser() {\r\n const res = await apiGet('users/getOwn')\r\n const user = res?.data\r\n if (user) store.dispatch(setUser(user))\r\n return user\r\n}\r\n\r\nexport async function getUserCount() {\r\n const res = await apiGet('users/count')\r\n return res.data\r\n}\r\n\r\nexport async function getUserPreferences() {\r\n const res = await apiGet('users/user/preferences')\r\n return res?.data\r\n}\r\n\r\nexport async function updateUserPreferences(newPreferences) {\r\n const oldPreferences = store.getState().preferences\r\n store.dispatch(updateUserPreferencesRedux(newPreferences))\r\n try {\r\n const res = await apiPut(\r\n store.getState().preferences,\r\n 'users/user/preferences'\r\n )\r\n const resJson = await res.json()\r\n return resJson?.data\r\n } catch (error) {\r\n store.dispatch(setUserPreferences(oldPreferences))\r\n return null\r\n }\r\n}\r\n\r\nexport async function getSubscription() {\r\n let res = await apiGet('subscriptions')\r\n if (!res) return null\r\n if (res.data?.id) return await getCustomerSubscription(res.data.id)\r\n return null\r\n}\r\n\r\nexport async function getCustomerSubscription(handle) {\r\n let res = await apiGet(`reepay/subscription/${handle}`)\r\n if (!res) return null\r\n return res\r\n}\r\n\r\nexport async function paymentClick() {\r\n const res = await apiPost({}, 'users/paymentClick')\r\n if (!res) return null\r\n return res\r\n}\r\n\r\nexport async function getHasFeatureOne(userId) {\r\n let res = await apiGet(`users/feature-one/${userId}`)\r\n if (!res) return false\r\n return res.hasFeatureOne\r\n}\r\n\r\nexport async function generateUUID() {\r\n const res = await apiPost({}, 'users/uuid')\r\n if (!res) return null\r\n return await res.json()\r\n}\r\n\r\nexport async function addFeature(featureId) {\r\n const res = await apiPost({ featureId }, `users/feature/${featureId}`)\r\n return res?.ok\r\n}\r\n\r\nexport async function getSuspension() {\r\n\tconst res = await apiGet('users/getSuspension')\r\n\treturn res?.remainingDays\r\n}\r\n","import { atom, createStore } from 'jotai'\r\nimport { atomWithStorage, createJSONStorage } from 'jotai/utils'\r\nimport AsyncStorage from '@react-native-async-storage/async-storage'\r\n\r\nexport const jotaiStore = createStore()\r\n\r\nconst storage = createJSONStorage(() => AsyncStorage)\r\nexport const SeClickedPostIdsAtom = atomWithStorage('seClickedPostIds', [], storage)\r\nexport const DkClickedPostIdsAtom = atomWithStorage('DkClickedPostIds', [], storage)\r\nexport const showSubscriptionDialogAtom = atom(false)\r\nexport const showTooManyActivePostsDialogAtom = atom(false)\r\nexport const deepLinkingStatusAtom = atom('idle')\r\nexport const forceReloadAtom = atom(Date.now())\r\nexport const initialUrlAtom = atom(null)","import { paymentClick, getHasFeatureOne } from '../services/api/User'\r\nimport { Platform } from 'react-native'\r\nimport Cookies from 'js-cookie'\r\nimport * as AuthSession from 'expo-auth-session'\r\nimport * as Linking from 'expo-linking'\r\n\r\nimport Paths from '../constants/Paths'\r\nimport store from '../redux/store'\r\n\r\nimport { jotaiStore, deepLinkingStatusAtom } from '../atoms'\r\nimport { getRegion } from '../services/localization'\r\nimport * as TrackingService from '../services/api/Tracking'\r\n\r\nexport const handlePaymentClick = async ({ origin, post = null, profile = false }) => {\r\n\tif (profile === false) paymentClick()\r\n\tconst url = new URL(Paths.getBaseUrl() + 'abonnement/oversigt')\r\n\r\n\tconst userId = store.getState().user?.id\r\n\tconst hasFeatureOne = await getHasFeatureOne(userId)\r\n\r\n\tif (hasFeatureOne === false) {\r\n\t\tconst tracking = await TrackingService.createSubscriptionTracking(origin)\r\n\t\tif (tracking.id) url.searchParams.append('tid', tracking.id)\r\n\t\tif (tracking.trackingSpan) url.searchParams.append('tspan', tracking.trackingSpan)\r\n\t}\r\n\r\n\tif (Platform.OS === 'web') {\r\n\t\tif (post) {\r\n\t\t\tconst config = { expires: 1 }\r\n\t\t\tif (!__DEV__) config.domain = 'boblberg.' + getRegion()\r\n\t\t\tCookies.set('subscription-bobl', post?.id, config)\r\n\t\t}\r\n\r\n\t\treturn window.open(url, '_self')\r\n\t}\r\n\r\n\tjotaiStore.set(deepLinkingStatusAtom, 'pending')\r\n\r\n\tconst appDeeplink = AuthSession.makeRedirectUri()\r\n\turl.searchParams.append('appDeeplink', appDeeplink)\r\n\tawait Linking.openURL(url.href)\r\n}\r\n","import { apiPost } from './ApiRequest'\r\n\r\nexport const createSubscriptionTracking = async (origin) => {\r\n\tconst response = await apiPost({ origin }, 'tracking/subscriptions')\r\n\tif (response?.ok !== true) return null\r\n\r\n\tconst tracking = await response.json()\r\n\treturn tracking\r\n}\r\n","import React from 'react'\r\nimport { View, ScrollView, StyleSheet } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\n\r\nexport default function MainContainer({\r\n children,\r\n noScroll,\r\n backgroundColor = Colors.background,\r\n}) {\r\n if (noScroll) {\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n }\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: { flex: 1 },\r\n contentContainer: { flexGrow: 1 },\r\n})\r\n","import React from 'react'\r\nimport { Image, View, StyleSheet } from 'react-native'\r\nimport { BorderStyles } from '../../styles'\r\nimport Colors from '../../constants/Colors'\r\n\r\nexport function ImageHighlight(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function ImageHighlightPost(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function ImageHighlightMedium(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n blackBorder: {\r\n borderColor: Colors.black,\r\n borderWidth: 2,\r\n },\r\n border: {\r\n borderColor: Colors.lightBlue,\r\n borderWidth: 2,\r\n },\r\n centerAlignItems: { alignItems: 'center' },\r\n container: { alignItems: 'center' },\r\n greenBorder: {\r\n borderColor: Colors.green,\r\n borderWidth: 2,\r\n },\r\n highlight: {\r\n borderRadius: 200,\r\n height: 100,\r\n width: 100,\r\n },\r\n imageContainer: { position: 'absolute' },\r\n imagelarge: {\r\n borderRadius: 200,\r\n height: 225,\r\n width: 225,\r\n },\r\n imagemedium: {\r\n borderRadius: 200,\r\n height: 200,\r\n width: 200,\r\n },\r\n imagesmall: {\r\n borderRadius: 100,\r\n height: 50,\r\n width: 50,\r\n },\r\n largeHighlight: {\r\n borderRadius: 200,\r\n height: 225,\r\n width: 225,\r\n },\r\n mediumHighlight: {\r\n borderRadius: 200,\r\n height: 150,\r\n width: 150,\r\n },\r\n smallHighlight: {\r\n borderRadius: 100,\r\n height: 50,\r\n width: 50,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport Paths from '../../../constants/Paths'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ImageHighlight } from '../../images/ImageHighlight'\r\nimport { txt } from '../../../locales/i18n'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function PostItem({ item, onPressAction, rightElement, universe = null, isFaded = false }) {\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {item.title}\r\n \r\n \r\n {item.body.replace('\\n\\n','\\n')}\r\n \r\n \r\n {/* rightElement is used for myPosts */}\r\n {rightElement ?? null}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n paddingHorizontal: 8,\r\n paddingVertical: 6,\r\n marginHorizontal: 4,\r\n },\r\n postContainer: {\r\n alignSelf: 'center',\r\n flex: 1,\r\n overflow: 'hidden',\r\n paddingLeft: 12,\r\n },\r\n body: {\r\n flexWrap: 'nowrap',\r\n width: '100%',\r\n color: Colors.darkGrey,\r\n lineHeight: 20,\r\n },\r\n title: {\r\n flexWrap: 'wrap',\r\n lineHeight: 20,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { Image, View, TouchableOpacity, StyleSheet } from 'react-native'\r\n\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Colors from '../../../constants/Colors'\r\nimport { ShadowStyles } from \"../../../styles\"\r\n\r\nconst newyearUniverses = ['nytaarsvenner', 'nyarsvanner']\r\n\r\nexport const CreatePostCard = (props) => (\r\n props.navigateToCreatePost('card')}\r\n style={[styles.container, props.universe && {...ShadowStyles.shadowInputs}]}\r\n activeOpacity={0.8}\r\n >\r\n {newyearUniverses.includes(props.universe?.name) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n \r\n \r\n {props.title ?? txt('frontPage.card3Title')}\r\n \r\n\r\n \r\n {props.text ?? txt('home.createBoblText')}\r\n \r\n \r\n \r\n)\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n marginHorizontal: 4,\r\n marginVertical: 8,\r\n padding: 8,\r\n borderRadius: 12,\r\n backgroundColor: Colors.white,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n\r\n textContainer: {\r\n marginLeft: 12,\r\n flex: 1,\r\n },\r\n\r\n title: {\r\n marginBottom: 6,\r\n color: Colors.blueAzure,\r\n },\r\n\r\n image: {\r\n width: 100,\r\n height: 100,\r\n borderRadius: 100,\r\n },\r\n})\r\n","import { StyleSheet, View } from \"react-native\"\r\nimport NormalIcon from \"../icons/NormalIcon\"\r\nimport Colors from \"../../constants/Colors\"\r\nimport { CustomText } from \"../text/StyledText\"\r\nimport { txt } from \"../../locales/i18n\"\r\nimport React from \"react\"\r\n\r\nexport default function SubscriptionBenefits() {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.point1')}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.point2')}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.point3')}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.point4')}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.point5')}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.point6')}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.point7')}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.point8')}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tpoints: {\r\n\t\tgap: 8,\r\n\t\tmarginLeft: 6,\r\n\t\tmarginTop: 18,\r\n\t},\r\n\r\n\tpoint: {\r\n\t\tflexDirection: 'row',\r\n\t\tgap: 8,\r\n\t},\r\n\r\n\tpointIcon: {\r\n\t\tpadding: 3,\r\n\t\tbackgroundColor: Colors.greenExtraLight,\r\n\t\tborderRadius: 10,\r\n\t},\r\n\r\n\tpointText: {\r\n\t\tcolor: Colors.darkGrey,\r\n\t\tfontSize: 15,\r\n\t},\r\n})","import React, { useState } from 'react'\r\nimport { Platform, StyleSheet, View } from 'react-native'\r\n\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport CustomDialog from '../../../dialogs/CustomDialog'\r\nimport { ButtonPrimary } from '../../../buttons/StyledButtons'\r\n\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\n\r\nimport { handlePaymentClick } from '../../../../utils/handlePaymentClick'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\nimport { useSetAtom } from \"jotai\"\r\nimport { showSubscriptionDialogAtom } from \"../../../../atoms\"\r\nimport SubscriptionBenefits from \"../../../shared/SubscriptionBenefits\"\r\n\r\nexport const PromoteSubscriptionDialog = ({ visible }) => {\r\n const [disabled, setDisabled] = useState(false)\r\n const setShowSubscription = useSetAtom(showSubscriptionDialogAtom)\r\n\r\n const handleOpenSubscription = async () => {\r\n setDisabled(true)\r\n if (Platform.OS === 'web') window.plausible('SubscriptionClick', { props: { origin: 'create-edit-post' }})\r\n handleDismiss()\r\n await handlePaymentClick()\r\n setDisabled(false)\r\n }\r\n\r\n const handleDismiss = () => {\r\n setShowSubscription(false)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('posts.promoteSubscriptionDialog.title')}\r\n \r\n\r\n \r\n {txt('subscription.dialogs.subscriptionDialog.intro')}\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n dialog: {\r\n padding: 24,\r\n },\r\n contentContainer: {\r\n marginBottom: 24,\r\n },\r\n title: {\r\n color: Colors.blueAzure,\r\n marginBottom: 12,\r\n fontSize: 20\r\n },\r\n button: {\r\n paddingHorizontal: 12,\r\n backgroundColor: Colors.greenBtn,\r\n },\r\n closeIcon: {\r\n alignSelf: 'flex-end',\r\n position: 'absolute',\r\n paddingLeft: 24,\r\n zIndex: 1\r\n },\r\n})\r\n","import React, { useState } from 'react'\r\nimport { TouchableOpacity, StyleSheet, Platform } from 'react-native'\r\n\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\n\r\nimport { txt } from '../../../locales/i18n'\r\nimport Colors from '../../../constants/Colors'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\n\r\nimport { handlePaymentClick } from '../../../utils/handlePaymentClick'\r\nimport { ShadowStyles } from '../../../styles'\r\n\r\nexport const SubscriptionPromoCard = ({ universe = null, title, description, origin }) => {\r\n\tconst [disabled, setDisabled] = useState(false)\r\n\r\n\tconst handleOpenSubScription = async () => {\r\n\t\tsetDisabled(true)\r\n\t\tif (Platform.OS === 'web') window.plausible('SubscriptionClick', { props: { origin: origin } })\r\n\t\tawait handlePaymentClick({ origin })\r\n\t\tsetDisabled(false)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{title}\r\n\t\t\t\r\n\r\n\t\t\t{description}\r\n\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: {\r\n\t\tmargin: 12,\r\n\t\tborderRadius: 12,\r\n\t\tpaddingVertical: 12,\r\n\t\tpaddingHorizontal: 24,\r\n\t\tbackgroundColor: Colors.white,\r\n\t},\r\n\r\n\ttitle: {\r\n\t\tmarginBottom: 6,\r\n\t\tcolor: Colors.blueAzure,\r\n\t},\r\n\r\n\tbutton: {\r\n\t\tmarginTop: 12,\r\n\t\tpaddingHorizontal: 12,\r\n\t\tbackgroundColor: Colors.greenBtn,\r\n\t},\r\n})\r\n","import React, { useState } from 'react'\r\nimport { Platform, StyleSheet, View } from 'react-native'\r\n\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport CustomDialog from '../../../dialogs/CustomDialog'\r\nimport { ButtonPrimary } from '../../../buttons/StyledButtons'\r\n\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\n\r\nimport { handlePaymentClick } from '../../../../utils/handlePaymentClick'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\nimport { useSetAtom } from \"jotai\"\r\nimport { showTooManyActivePostsDialogAtom } from \"../../../../atoms\"\r\nimport SubscriptionBenefits from \"../../../shared/SubscriptionBenefits\"\r\n\r\nexport const TooManyActivePostsDialog = ({ visible }) => {\r\n const [disabled, setDisabled] = useState(false)\r\n const setShowTooManyActivePosts = useSetAtom(showTooManyActivePostsDialogAtom)\r\n\r\n const handleOpenSubscription = async () => {\r\n setDisabled(true)\r\n\tconst origin = 'too-many-active-posts'\r\n if (Platform.OS === 'web') window.plausible('SubscriptionClick', { props: { origin }})\r\n handleDismiss()\r\n\r\n await handlePaymentClick({ origin })\r\n setDisabled(false)\r\n }\r\n\r\n const handleDismiss = () => {\r\n setShowTooManyActivePosts(false)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('subscription.dialogs.tooManyActivePosts.title')}\r\n \r\n\r\n \r\n {txt('subscription.dialogs.tooManyActivePosts.text')}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n dialog: {\r\n padding: 24,\r\n },\r\n contentContainer: {\r\n marginBottom: 24,\r\n },\r\n title: {\r\n color: Colors.blueAzure,\r\n marginBottom: 12,\r\n fontSize: 20,\r\n paddingRight: 20\r\n },\r\n button: {\r\n paddingHorizontal: 12,\r\n backgroundColor: Colors.greenBtn,\r\n },\r\n closeIcon: {\r\n alignSelf: 'flex-end',\r\n position: 'absolute',\r\n paddingLeft: 24,\r\n zIndex: 1\r\n },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { FlatList, StyleSheet, TouchableOpacity, View } from 'react-native'\r\nimport { useSelector } from 'react-redux'\r\n\r\nimport { useNavigation, useRoute } from '@react-navigation/core'\r\n\r\nimport PostItem from './PostItem'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { CreatePostCard } from './CreatePostCard'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Colors from '../../../constants/Colors'\r\nimport { Features } from '../../../constants/Features'\r\nimport { PromoteSubscriptionDialog } from './Dialogs/PromoteSubscriptionDialog'\r\nimport { SubscriptionPromoCard } from './SubscriptionPromoCard'\r\n\r\nimport { TooManyActivePostsDialog } from './Dialogs/TooManyActivePostsDialog'\r\nimport { useAtomValue } from 'jotai'\r\nimport { showSubscriptionDialogAtom, showTooManyActivePostsDialogAtom, forceReloadAtom } from '../../../atoms'\r\n\r\nexport default function MyPosts(props) {\r\n\tconst [posts, setPosts] = useState([])\r\n\tconst [showSubscriptionCard, setShowSubscriptionCard] = useState(false)\r\n\r\n\tconst navigation = useNavigation()\r\n\tconst userFeatures = useSelector((state) => state.user.features)\r\n\tconst { params } = useRoute()\r\n\tconst showSubscription = useAtomValue(showSubscriptionDialogAtom)\r\n\tconst tooManyActivePosts = useAtomValue(showTooManyActivePostsDialogAtom)\r\n\tconst forceReload = useAtomValue(forceReloadAtom)\r\n\r\n\tconst newyearUniverses = ['nytaarsvenner', 'nyarsvanner']\r\n\r\n\tuseEffect(() => {\r\n\t\tif (params?.chip !== txt('posts.chipParams.mine')) return\r\n\r\n\t\tgetOwnPosts()\r\n\t\tnavigation.addListener('focus', getOwnPosts)\r\n\t\treturn () => navigation.removeListener('focus', getOwnPosts)\r\n\t}, [params])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (userFeatures.includes(Features.START_CONVERSATION)) return\r\n\t\tif (newyearUniverses.includes(props?.universe?.name)) return\r\n\t\tsetShowSubscriptionCard(true)\r\n\t}, [params, forceReload])\r\n\r\n\tasync function getOwnPosts() {\r\n\t\tconst posts = await props.getOwnPosts()\r\n\t\tsetPosts(posts)\r\n\t}\r\n\r\n\tfunction renderItem({ item }) {\r\n\t\tconst isFaded = [-1, -2, -5].includes(item.status_id)\r\n\t\treturn (\r\n\t\t\t props.navigateToPost(item.id)}\r\n\t\t\t\trightElement={\r\n\t\t\t\t\t props.navigateToEditPost(item.id)}\r\n\t\t\t\t\t\taccessibilityRole=\"button\"\r\n\t\t\t\t\t\taccessibilityLabel={txt('post.editTitle')}\r\n\t\t\t\t\t\tstyle={styles.center}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t 0 ? \"eye\" : \"eye-slash\"} color={Colors.textLight} />\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{item.status_id > 0 ? txt('ownPosts.visible') : txt('ownPosts.hidden')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\tisFaded={isFaded}\r\n\t\t\t/>\r\n\t\t)\r\n\t}\r\n\r\n\tfunction noPosts() {\r\n\t\tif (newyearUniverses.includes(props?.universe?.name)) {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t)\r\n\t\t}\r\n\r\n\t\treturn \r\n\t}\r\n\r\n\tconst renderListHeaderComponent = () => {\r\n\t\tif (showSubscriptionCard === false || posts.length === 0) return null\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{props.renderChips()}\r\n\t\t\t item.id?.toString()}\r\n\t\t\t\tdata={posts}\r\n\t\t\t\trenderItem={renderItem}\r\n\t\t\t\tkeyboardDismissMode=\"on-drag\"\r\n\t\t\t\tListEmptyComponent={noPosts}\r\n\t\t\t/>\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\nconst styles = StyleSheet.create({\r\n\tcenter: { alignSelf: 'center', paddingLeft: 12, alignItems: 'center' },\r\n\tcontainer: { flex: 1, ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React, { useState } from 'react'\r\nimport { Platform, StyleSheet, View } from 'react-native'\r\n\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport CustomDialog from '../../../dialogs/CustomDialog'\r\nimport { ButtonPrimary } from '../../../buttons/StyledButtons'\r\n\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\n\r\nimport { handlePaymentClick } from '../../../../utils/handlePaymentClick'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\nimport SubscriptionBenefits from \"../../../shared/SubscriptionBenefits\"\r\n\r\nexport const PostFeedSubscriptionDialog = ({ visible, close }) => {\r\n const [disabled, setDisabled] = useState(false)\r\n\r\n const handleOpenSubScription = async () => {\r\n setDisabled(true)\r\n\tconst origin = 'post-feed'\r\n if (Platform.OS === 'web') window.plausible('SubscriptionClick', { props: { origin } })\r\n\r\n close()\r\n await handlePaymentClick({ origin })\r\n setDisabled(false)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('subscription.dialogs.subscriptionFeedDialog.title')}\r\n \r\n\r\n \r\n {txt('subscription.dialogs.subscriptionFeedDialog.intro')}\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n dialog: {\r\n padding: 24,\r\n },\r\n contentContainer: {\r\n marginBottom: 24,\r\n },\r\n title: {\r\n color: Colors.blueAzure,\r\n marginBottom: 12,\r\n fontSize: 20,\r\n },\r\n button: {\r\n paddingHorizontal: 12,\r\n backgroundColor: Colors.greenBtn,\r\n },\r\n closeIcon: {\r\n alignSelf: 'flex-end',\r\n position: 'absolute',\r\n paddingLeft: 24,\r\n zIndex: 1,\r\n },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { FlatList, StyleSheet, View } from 'react-native'\r\nimport { useRoute } from '@react-navigation/core'\r\nimport { useSelector } from 'react-redux'\r\n\r\nimport PostItem from './PostItem'\r\nimport { txt } from '../../../locales/i18n'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport { PostFeedSubscriptionDialog } from './Dialogs/PostFeedSubscriptionDialog'\r\nimport { Features } from '../../../constants/Features'\r\nimport { SubscriptionPromoCard } from './SubscriptionPromoCard'\r\n\r\nexport default function FavoritePosts(props) {\r\n\tconst { params } = useRoute()\r\n\r\n\tconst [posts, setPosts] = useState([])\r\n\tconst [showSubscriptionDialog, setShowSubscriptionDialog] = useState(false)\r\n\tconst [showSubscriptionCard, setShowSubscriptionCard] = useState(false)\r\n\tconst country = useSelector(state => state.user.country)\r\n\tconst userFeatures = useSelector(state => state.user.features)\r\n\tconst newYearUniverses = ['nytaarsvenner', 'nyarsvanner']\r\n\t\r\n\tuseEffect(() => {\r\n\t\tif (params?.chip !== txt('posts.chipParams.favorites')) return\r\n\r\n\t\tgetFavoritePosts()\r\n\r\n\t\tif (userFeatures.includes(Features.START_CONVERSATION)) return\r\n\t\tif (newYearUniverses.includes(props?.universe?.name)) return\r\n\t\tsetShowSubscriptionCard(true)\r\n\t}, [params])\r\n\r\n\tasync function getFavoritePosts() {\r\n\t\tconst posts = await props.getFavoritePosts()\r\n\t\tsetPosts(posts)\r\n\t}\r\n\r\n\tfunction handlePostClick(postId, postIndex) {\r\n\t\tif (country === 'Sweden' && !userFeatures.includes(Features.START_CONVERSATION)) {\r\n\t\t\tconst showDialog = postIndex % 3 === 2\r\n\t\t\tif (showDialog) {\r\n\t\t\t\treturn setShowSubscriptionDialog(true)\r\n\t\t\t}\r\n\t\t}\r\n\t\tprops.navigateToPost(postId)\r\n\t}\r\n\r\n\tfunction renderItem({ item, index }) {\r\n\t\treturn (\r\n\t\t\t handlePostClick(item.id, index)}\r\n\t\t\t/>\r\n\t\t)\r\n\t}\r\n\r\n\tconst renderListHeaderComponent = () => {\r\n\t\tif (showSubscriptionCard === false || posts.length === 0) return null\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tfunction noPosts() {\r\n\t\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{txt('favoritePosts.noPostsTitle')}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{txt('favoritePosts.noPostsText')}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{props?.renderChips()}\r\n\t\t\t item.id?.toString()}\r\n\t\t\t\tdata={posts}\r\n\t\t\t\trenderItem={renderItem}\r\n\t\t\t\tkeyboardDismissMode=\"on-drag\"\r\n\t\t\t\tListEmptyComponent={noPosts}\r\n\t\t\t/>\r\n\t\t\t setShowSubscriptionDialog(false)}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: { flex: 1, ...SpacingStyles.widthAndHeight },\r\n\talignSelfCenter: { alignSelf: 'center', margin: 12 },\r\n\ttext: {\r\n\t\tcolor: Colors.inactive,\r\n\t\ttextAlign: 'center',\r\n\t\tmarginBottom: 6\r\n\t},\r\n})\r\n","import React from 'react'\r\nimport { StyleSheet, ActivityIndicator } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\n\r\nexport default function LoadingSpinner({ style, ...props }) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n spinner: { marginBottom: 24, marginTop: 12 },\r\n})\r\n","import React from 'react'\r\nimport Colors from '../../constants/Colors'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../text/StyledText'\r\n\r\nexport function InvalidInputNoticeCentered(props) {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function InvalidInputNoticeSimple(props) {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n containerCentered: {\r\n alignSelf: 'center',\r\n marginTop: 12,\r\n },\r\n containerSimple: {\r\n marginTop: 12,\r\n },\r\n text: {\r\n color: Colors.redLight,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { SearchBar } from 'react-native-elements'\r\nimport { Platform, StyleSheet, TextInput, View } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\nimport { InvalidInputNoticeCentered } from '../notices/InvalidInputNotices'\r\nimport {\r\n CornerStyles,\r\n ShadowStyles,\r\n SpacingStyles,\r\n TypographyStyles,\r\n} from '../../styles'\r\nimport Layout from '../../constants/Layout'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\n\r\nexport function FormInput(props) {\r\n const { children, style, ...other } = props\r\n return (\r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport function MessageTextInput(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function CustomInputs(props) {\r\n const { children, ...other } = props\r\n return (\r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\n// use when input requires validation.\r\n// REQUIRES:pattern, onValidation, invalidMessage and isValid props or it will skip validation\r\n// pattern = regex expression, either string or array of strings\r\n// onValidation = function that expects a validation result (boolean) and should save the result to the state\r\n// invalidMessage = message that is shown when an input is invalid\r\n// isInputValid = takes validation state (boolean or boolean array) from the state as input, this boolean shows or hides the notice\r\nexport function CustomInputWithValidationNoShadow(props) {\r\n const { children, ...other } = props\r\n // run input through regex with given pattern\r\n // pattern can be string or array\r\n function handleValidation(value) {\r\n const { pattern } = props\r\n if (!pattern) return true\r\n // string pattern, one validation rule\r\n if (typeof pattern === 'string') {\r\n const condition = new RegExp(pattern, 'g')\r\n return condition.test(value)\r\n }\r\n // array patterns, multiple validation rules\r\n if (typeof pattern === 'object') {\r\n const conditions = pattern.map((rule) => new RegExp(rule, 'g'))\r\n return conditions.map((condition) => condition.test(value))\r\n }\r\n }\r\n\r\n // on text change validate and check if notice should show\r\n function onChange(value) {\r\n // make sure all required props are given\r\n const {\r\n onChangeText,\r\n onValidation,\r\n invalidMessage,\r\n pattern,\r\n isInputValid,\r\n } = props\r\n if (\r\n !onValidation ||\r\n !invalidMessage ||\r\n !pattern ||\r\n typeof isInputValid === 'undefined'\r\n ) {\r\n return\r\n }\r\n let isValid = handleValidation(value)\r\n if (typeof isValid === 'boolean' && !isValid) {\r\n isValid = false\r\n } else if (typeof isValid === 'object' && isValid.includes(false)) {\r\n isValid = false\r\n } else {\r\n isValid = true\r\n }\r\n onValidation && onValidation(isValid)\r\n onChangeText && onChangeText(value)\r\n }\r\n\r\n function showInvalidNotice(isValid) {\r\n if (typeof isValid === 'boolean' && !isValid) {\r\n // console.log('NOT VALID BOOLEAN')\r\n return false\r\n } else if (typeof isValid === 'object' && isValid.includes(false)) {\r\n return false\r\n } else {\r\n return true\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n onChange(value)}\r\n />\r\n \r\n {children}\r\n \r\n {showInvalidNotice(props.isInputValid) ? null : (\r\n \r\n {props.invalidMessage}\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\n//To be used whenever there is a multiline input\r\nexport function CustomMultilineInputs(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function CustomGroupInput(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport const SearchBarWeb = (props) => (\r\n \r\n \r\n \r\n {!!props.value && (\r\n \r\n \r\n \r\n )}\r\n \r\n)\r\n\r\nexport function SearchBarCustom(props) {\r\n /*\r\n example inputs:\r\n onChangeText={this.updateSearch}\r\n value={this.state.text}\r\n showLoading={this.state.loading}\r\n */\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function InputPrimary(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n customContainer: {\r\n paddingHorizontal: 0,\r\n },\r\n customInputContainer: {\r\n backgroundColor: Colors.white,\r\n borderBottomWidth: 0,\r\n ...CornerStyles.borderRadiusS,\r\n ...SpacingStyles.paddingRightLeft10,\r\n ...ShadowStyles.shadowInputs,\r\n flexDirection: 'row',\r\n },\r\n customInputContainerNoShadow: {\r\n backgroundColor: Colors.white,\r\n borderBottomWidth: 0,\r\n height: 40,\r\n ...CornerStyles.borderRadiusS,\r\n ...SpacingStyles.paddingRightLeft10,\r\n flexDirection: 'row',\r\n },\r\n form: {\r\n borderBottomColor: Colors.text,\r\n borderBottomWidth: 1,\r\n flex: 1,\r\n flexDirection: 'row',\r\n paddingBottom: 6,\r\n },\r\n groupInput: {\r\n maxHeight: 300,\r\n maxWidth: Layout.maxFeedWidth,\r\n minHeight: 100,\r\n minWidth: '80%',\r\n paddingTop: 10,\r\n verticalAlign: 'top',\r\n },\r\n groupInputNoShadow: {\r\n borderColor: Colors.shadow,\r\n borderWidth: 1,\r\n ...CornerStyles.borderRadiusS,\r\n ...SpacingStyles.paddingRightLeft10,\r\n },\r\n input: { ...TypographyStyles.text, height: 40 },\r\n inputPrimary: {\r\n backgroundColor: Colors.white,\r\n borderRadius: 10,\r\n marginTop: 6,\r\n padding: 10,\r\n ...ShadowStyles.shadowInputs,\r\n ...TypographyStyles.text,\r\n },\r\n messageTextInput: {\r\n ...TypographyStyles.text,\r\n ...CornerStyles.borderRadiusM,\r\n backgroundColor: Colors.white,\r\n minHeight: 40,\r\n paddingHorizontal: 18,\r\n paddingTop: 10,\r\n paddingVertical: 10,\r\n ...ShadowStyles.shadowInputs\r\n },\r\n multiline: { minHeight: 100 },\r\n multilineInput: {\r\n maxHeight: 120,\r\n minHeight: 120,\r\n paddingTop: 10,\r\n verticalAlign: 'top',\r\n ...TypographyStyles.text,\r\n },\r\n search: {\r\n backgroundColor: Colors.white,\r\n },\r\n searchContainer: {\r\n alignSelf: 'center',\r\n backgroundColor: Colors.white,\r\n borderRadius: 10,\r\n height: 40,\r\n justifyContent: 'center',\r\n flexGrow: 1,\r\n ...ShadowStyles.shadowInputs,\r\n },\r\n searchText: { ...TypographyStyles.text },\r\n searchWeContainer: {\r\n backgroundColor: Colors.white,\r\n borderRadius: 10,\r\n flex: 1,\r\n flexDirection: 'row',\r\n paddingHorizontal: 12,\r\n paddingVertical: 10,\r\n ...ShadowStyles.shadowInputs\r\n },\r\n searchWebInput: {\r\n ...TypographyStyles.text,\r\n marginLeft: 6,\r\n width: '100%',\r\n },\r\n text: {\r\n height: '100%',\r\n ...TypographyStyles.text,\r\n color: Colors.text,\r\n },\r\n})\r\n","export const badWords = [\r\n 'sex',\r\n 'sexpartner',\r\n 'kæreste',\r\n 'kaereste',\r\n 'knep',\r\n 'kneppe',\r\n 'bollven',\r\n 'bolleven',\r\n 'idiot',\r\n 'spasser',\r\n 'date',\r\n 'knalde',\r\n 'pik',\r\n 'fisse',\r\n 'blowjob',\r\n 'fvb',\r\n 'fwb',\r\n 'fetish',\r\n 'bolle',\r\n 'liderlig',\r\n 'tantra',\r\n 'yoni',\r\n 'nøgen',\r\n 'elskerinde',\r\n 'sxs',\r\n 'svans',\r\n 'numse',\r\n 'lort',\r\n 'dating',\r\n]\r\n\r\nexport const unacceptedConversationText = [\r\n 'du er lækker',\r\n 'du ser sød ud',\r\n 'hej smukke',\r\n 'hej søde',\r\n 'jeg søger en kæreste',\r\n 'sex',\r\n]\r\n","// libraries\r\nimport React, { useEffect, useState } from 'react'\r\nimport { Animated, FlatList, Keyboard, Platform, StyleSheet, View } from 'react-native'\r\nimport { useRoute, useNavigation } from '@react-navigation/native'\r\n\r\n// components\r\nimport LoadingSpinner from '../activityIndicators/LoadingSpinner'\r\nimport { SearchBarCustom, SearchBarWeb } from '../text/StyledTextinputs'\r\nimport { CustomText } from '../text/StyledText'\r\n\r\n// context\r\nimport { txt } from '../../locales/i18n'\r\nimport { SpacingStyles } from '../../styles'\r\nimport Colors from '../../constants/Colors'\r\nimport { badWords } from '../../constants/BadWords'\r\nimport store from '../../redux/store'\r\nimport { saveSearchString } from '../../services/api/Posts'\r\nimport CustomDialog, { ActionButton, ContentContainer } from '../../components/dialogs/CustomDialog'\r\n\r\nclass SearchList extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n // default paginate value if props.paginate isn't defined\r\n this.paginate = props.paginate ?? 20\r\n\r\n this.state = {\r\n data: [],\r\n searchText: props.route?.params?.search || '',\r\n isLoading: false,\r\n canFetchData: true,\r\n catchedWord: '',\r\n showWordModal: false,\r\n showHeader: true,\r\n refreshing: false,\r\n headerHeight: 100,\r\n }\r\n\r\n this.scrolling = this.props.isScrolling\r\n\r\n this.timeout = 0\r\n this.canFetchData = true\r\n\r\n this.headerY = new Animated.Value(0)\r\n this.offset = 0\r\n this.offSetTimeout = 0\r\n\r\n this.isScrolling = false\r\n this.isAnimating = false\r\n }\r\n\r\n getHeight(event) {\r\n const height = event.nativeEvent.layout.height\r\n this.setState({ headerHeight: height })\r\n }\r\n\r\n async componentDidMount() {\r\n // await this.getData()\r\n await this.getData()\r\n }\r\n\r\n async componentDidUpdate(prevProps) {\r\n if (this.props.isFocussed && prevProps.isFocussed === false) {\r\n await this.getData()\r\n }\r\n\r\n\tconst searchParam = this.props?.route?.params?.search ?? ''\r\n\tif (this.state.searchText !== searchParam) return await this.searchTextHandler(searchParam)\r\n\r\n if (this.state.showHeader) {\r\n Animated.timing(this.headerY, {\r\n toValue: 0,\r\n duration: 250,\r\n useNativeDriver: false,\r\n }).start()\r\n } else {\r\n Animated.timing(this.headerY, {\r\n toValue: -this.state.headerHeight - 6,\r\n duration: 250,\r\n useNativeDriver: false,\r\n }).start()\r\n }\r\n\r\n const state = this.props.triggerUpdate?.()\r\n if (state) {\r\n this.setState(\r\n {\r\n data: [],\r\n isLoading: true,\r\n canFetchData: true,\r\n },\r\n this.getData\r\n )\r\n }\r\n if (this.props.childFunc) this.props.childFunc.current = this.handleRefresh\r\n }\r\n\r\n getDataLength() {\r\n const filteredData = this.state.data.filter((item) => !item.noCount)\r\n return filteredData.length\r\n }\r\n\r\n\tasync searchTextHandler(searchText) {\r\n\t\tclearTimeout(this.timeout)\r\n\r\n const includesBadWord = !!badWords.includes(searchText.toLowerCase())\r\n\t\tthis.setState({\r\n data: [],\r\n isLoading: true,\r\n searchText,\r\n catchedWord: searchText,\r\n showWordModal: includesBadWord,\r\n })\r\n\t\tthis.canFetchData = true\r\n\r\n\t\tthis.timeout = setTimeout(async () => {\r\n\t\t\tconst dataResponse = await this.props.getData({\r\n\t\t\t\tsearch: searchText,\r\n\t\t\t\tskip: 0,\r\n\t\t\t\tamount: this.paginate,\r\n\t\t\t\tisSearch: true,\r\n\t\t\t})\r\n\r\n\t\t\tthis.setState({ data: dataResponse, isLoading: false })\r\n\t\t}, 800)\r\n\t}\r\n\r\n\thandleChangeText = async (input) => {\r\n\t\tthis.props.navigation.setParams({ search: input })\r\n\t}\r\n\r\n clearSearch = async () => {\r\n this.canFetchData = true\r\n this.setState({ data: [], isLoading: true, searchText: '' })\r\n this.props.navigation.setParams({ search: undefined })\r\n const dataResponse = await this.props.getData({\r\n search: '',\r\n skip: 0,\r\n amount: this.paginate,\r\n isSearch: true,\r\n })\r\n this.setState({ data: dataResponse, isLoading: false })\r\n }\r\n\r\n getData = async () => {\r\n this.setState({ isLoading: true })\r\n\r\n this.canFetchData = true\r\n const dataResponse = await this.props.getData({\r\n search: this.state.searchText,\r\n skip: this.getDataLength(),\r\n amount: this.paginate,\r\n isSearch: false,\r\n })\r\n\r\n if (!dataResponse) {\r\n return this.setState({\r\n isLoading: false,\r\n refreshing: false,\r\n })\r\n }\r\n\r\n this.setState({\r\n data: this.state.data.concat(dataResponse ?? []),\r\n isLoading: false,\r\n refreshing: false,\r\n })\r\n\r\n this.canFetchData = dataResponse?.length !== 0\r\n }\r\n\r\n handleEndReached = (event) => {\r\n const atScrollEnd = event.distanceFromEnd >= -500\r\n\r\n if (atScrollEnd && !this.state.isLoading && this.canFetchData) {\r\n this.getData()\r\n }\r\n }\r\n\r\n handleSearchBlur = () => {\r\n const searchString = this.state.searchText\r\n const userId = store.getState().user?.id\r\n if (searchString && userId) {\r\n if (this.props.saveSearch) {\r\n this.props.saveSearch()\r\n } else {\r\n saveSearchString({ searchString })\r\n }\r\n }\r\n }\r\n\r\n handleRefresh = async () => {\r\n this.setState({\r\n refreshing: true,\r\n data: [],\r\n isLoading: true,\r\n searchText: '',\r\n })\r\n await this.props.refresh?.()\r\n\r\n const dataResponse = await this.props.getData({\r\n search: '',\r\n skip: 0,\r\n amount: this.paginate,\r\n isSearch: false,\r\n })\r\n\r\n this.setState({\r\n data: dataResponse,\r\n isLoading: false,\r\n refreshing: false,\r\n })\r\n }\r\n\r\n renderSearchbar = () => {\r\n if (Platform.OS === 'web') {\r\n return (\r\n \r\n )\r\n } else {\r\n return (\r\n \r\n )\r\n }\r\n }\r\n\r\n handleOffset = (currentOffset) => {\r\n if (Platform.OS === 'web') {\r\n clearTimeout(this.offSetTimeout)\r\n\r\n if (currentOffset === 0) this.setState({ showHeader: true })\r\n\r\n if (currentOffset > this.offset && this.state.showHeader) {\r\n this.setState({ showHeader: false })\r\n }\r\n if (currentOffset < this.offset && !this.state.showHeader) {\r\n this.setState({ showHeader: true })\r\n }\r\n this.offSetTimeout = setTimeout(() => {\r\n this.offset = currentOffset\r\n }, 0)\r\n } else {\r\n if (currentOffset <= 0) this.setState({ showHeader: true })\r\n if (this.isScrolling) {\r\n if (currentOffset > this.offset && this.state.showHeader) {\r\n this.setState({ showHeader: false })\r\n }\r\n if (currentOffset < this.offset && !this.state.showHeader) {\r\n this.setState({ showHeader: true })\r\n }\r\n } else {\r\n this.offset = currentOffset\r\n }\r\n }\r\n }\r\n\r\n renderEmptySearchResult() {\r\n const notLoading = !this.state.isLoading\r\n const emptySearch = this.state.searchText === ''\r\n\r\n if (notLoading && emptySearch) {\r\n return (\r\n <>\r\n {txt('noResults.noSearchResults')}\r\n {!this.props.christmas && {txt('noResults.noAccess')}}\r\n \r\n )\r\n } else if (notLoading) {\r\n return (\r\n <>\r\n {txt('noResults.noSearchResults')}\r\n \r\n )\r\n }\r\n }\r\n\r\n render() {\r\n const { backgroundColor = Colors.skyBlue } = this.props\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.state.catchedWord}\r\n \r\n \r\n this.setState({ showWordModal: false })}>{txt('dialog.ok')}\r\n \r\n this.getHeight(event)}\r\n >\r\n {this.props.renderChips?.()}\r\n {this.props.filterAbove?.()}\r\n \r\n {this.renderSearchbar()}\r\n {this.props.filterRight?.()}\r\n \r\n {this.props.filterBelow?.()}\r\n \r\n {\r\n this.handleOffset(e.nativeEvent.contentOffset.y)\r\n if (Platform.OS !== 'web') return\r\n\r\n if (!this.state.isLoading) {\r\n Keyboard.dismiss()\r\n if (this.scrolling) this.scrolling(true)\r\n }\r\n }}\r\n onScrollBeginDrag={() => {\r\n this.isScrolling = true\r\n }}\r\n onScrollEndDrag={() => (this.isScrolling = false)}\r\n ListEmptyComponent={this.renderEmptySearchResult()}\r\n ListFooterComponent={this.state.isLoading && }\r\n maxToRenderPerBatch={this.paginate * 2}\r\n onEndReachedThreshold={2}\r\n keyExtractor={(item, index) => index.toString()}\r\n onRefresh={Platform.OS === 'web' ? undefined : this.handleRefresh}\r\n refreshing={this.state.refreshing}\r\n {...this.props}\r\n onMomentumScrollBegin={() => {\r\n if (!this.state.isLoading) {\r\n Keyboard.dismiss()\r\n if (this.scrolling) this.scrolling(true)\r\n }\r\n }}\r\n />\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default function (props) {\r\n const route = useRoute()\r\n const navigation = useNavigation()\r\n const [isFocussed, setIsFocussed] = useState(true)\r\n\r\n useEffect(() => {\r\n const unsubscribeFocus = navigation.addListener('focus', () => setIsFocussed(true))\r\n const unsubscribeBlur = navigation.addListener('blur', () => setIsFocussed(false))\r\n\r\n return () => {\r\n unsubscribeFocus()\r\n unsubscribeBlur()\r\n }\r\n }, [])\r\n\r\n return \r\n}\r\n\r\nexport function ListSeparator({ text, color = null }) {\r\n return (\r\n \r\n \r\n \r\n {text.toUpperCase()}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n animatedHeader: {\r\n position: 'absolute',\r\n top: 0,\r\n width: '100%',\r\n zIndex: 1,\r\n },\r\n container: {\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n noAccessText: {\r\n color: Colors.inactive,\r\n marginLeft: 12,\r\n marginTop: 12,\r\n paddingTop: 10,\r\n textAlign: 'center',\r\n },\r\n\r\n searchbarContainer: {\r\n marginHorizontal: 12,\r\n marginBottom: 6,\r\n marginTop: 6,\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n separator: {\r\n alignItems: 'center',\r\n borderRadius: 12,\r\n display: 'flex',\r\n flexDirection: 'row',\r\n justifyContent: 'space-evenly',\r\n marginBottom: 12,\r\n marginTop: 6,\r\n },\r\n separatorLine: {\r\n backgroundColor: Colors.inactive,\r\n flex: 1,\r\n height: 1,\r\n marginLeft: 12,\r\n marginRight: 12,\r\n },\r\n separatorText: {\r\n textAlign: 'center',\r\n },\r\n textCenter: { textAlign: 'center' },\r\n textRed: { color: Colors.errorBackground },\r\n})\r\n","import React from 'react'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport { CustomText } from '../text/StyledText'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport Layout from '../../constants/Layout'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport default function CategorySelectList({ categories, selectedCategories, selectCategory }) {\r\n return (\r\n \r\n {categories.map(({ value, name }, index) => (\r\n selectCategory(value)}\r\n style={[styles.category, selectedCategories.includes(value) ? styles.categorySelected : {}]}\r\n >\r\n {!Layout.isSmallDevice && selectedCategories.includes(value) && (\r\n \r\n )}\r\n \r\n {name}\r\n \r\n \r\n ))}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n category: {\r\n marginTop: 3,\r\n marginRight: 3,\r\n paddingHorizontal: 8,\r\n paddingVertical: 6,\r\n borderColor: Colors.greyLight,\r\n borderWidth: 2,\r\n borderRadius: 20,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n categorySelected: {\r\n borderWidth: 2,\r\n borderColor: Colors.blue,\r\n backgroundColor: Colors.bluePale,\r\n },\r\n})","import { Platform, StyleSheet, View } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport React, { useState } from 'react'\r\nimport CommunitySlider from '@react-native-community/slider'\r\nimport { CustomText } from \"../text/StyledText\"\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport default function Slider(props) {\r\n return (\r\n \r\n\r\n )\r\n}\r\n\r\nexport function CustomSlider(props) {\r\n const [value, setValue] = useState(props.option ?? 0)\r\n const [temporaryValue, setTemporaryValue] = useState(props.option ?? 0)\r\n\r\n const numberList = Array.from({ length: props.maxValue - props.minValue + 1 }, (_, index) => props.minValue + index);\r\n\r\n function changeValue(val) {\r\n setValue(val)\r\n props.setOption(val)\r\n }\r\n\r\n return (\r\n \r\n changeValue(val)}\r\n onValueChange={(item) => setTemporaryValue(item)}\r\n minimumValue={props.minValue ?? 0}\r\n maximumValue={props.maxValue ?? 0}\r\n tapToSeek={true}\r\n minimumTrackTintColor={Colors.blueAzure}\r\n maximumTrackTintColor={Colors.greyLight}\r\n {...props}\r\n />\r\n \r\n {numberList?.map((number) => (\r\n changeValue(number)}\r\n style={{ width: Platform.OS === 'web' ? 20 : 30, justifyContent: 'center' }}\r\n >\r\n \r\n {number}\r\n \r\n \r\n ))}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n alignItems: 'center',\r\n },\r\n normalText: {\r\n fontSize: 14,\r\n color: Colors.darkGrey,\r\n fontFamily: 'gotham-book',\r\n textAlign: 'center',\r\n },\r\n highlightedText: {\r\n fontSize: 14,\r\n color: Colors.blueAzure,\r\n fontFamily: 'gotham-bold',\r\n textAlign: 'center',\r\n },\r\n})","import React from 'react'\r\nimport CustomDialog from '../dialogs/CustomDialog'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { Platform, StyleSheet, TouchableOpacity, View } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport { txt } from \"../../locales/i18n\"\r\nimport { handlePaymentClick } from \"../../utils/handlePaymentClick\"\r\nimport SubscriptionBenefits from \"../shared/SubscriptionBenefits\"\r\n\r\nexport default function PostFilterSubscriptionDialog({visible, close}) {\r\n\r\n async function handleOpenUrl() {\r\n const origin = 'filter-popup'\r\n if (Platform.OS === 'web') window.plausible('SubscriptionClick', { props: { origin }})\r\n close()\r\n\r\n await handlePaymentClick({ origin })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('subscription.dialogs.subscriptionFilterDialog.title')}\r\n \r\n \r\n {txt('subscription.dialogs.subscriptionFilterDialog.intro')}\r\n \r\n \r\n {txt('subscription.dialogs.subscriptionFilterDialog.benefits')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n dialogContainer: {\r\n margin: 24\r\n },\r\n closeIcon: {\r\n alignSelf: 'flex-end',\r\n position: 'absolute',\r\n paddingLeft: 24,\r\n zIndex: 1\r\n },\r\n title: {\r\n fontSize: 24,\r\n fontFamily: 'raleway-semibold',\r\n paddingRight: 25\r\n },\r\n})","import React, { useEffect, useState } from 'react'\r\nimport { TouchableOpacity, StyleSheet, View } from 'react-native'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport CustomDialog, { ContentContainer } from '../../dialogs/CustomDialog'\r\nimport CategorySelectList from '../../formElements/CategorySelectList'\r\nimport { borderRadiusS } from '../../../styles/corners'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Slider from '../../formElements/Slider'\r\nimport PostFilterSubscriptionDialog from \"../../dialogs/PostFilterSubscriptionDialog\"\r\nimport { useSelector } from \"react-redux\"\r\nimport { useRoute } from \"@react-navigation/native\"\r\n\r\nexport default function PostFilter({\r\n\tfilterVisible,\r\n\tsetFilterVisible,\r\n\tselectedGenders,\r\n\tsetSelectedGenders,\r\n\tageLow,\r\n\tsetAgeLow,\r\n\tageHigh,\r\n\tsetAgeHigh,\r\n\tdistance,\r\n\tsetDistance,\r\n\tresetFilters,\r\n\tapplyFilter,\r\n\tnumFilters\r\n}) {\r\n const minAge = 15\r\n const maxAge = 95\r\n const genders = [\r\n {value: 1, name: txt('genders')[1]},\r\n {value: 2, name: txt('genders')[2]},\r\n {value: 3, name: txt('genders')[3]},\r\n ]\r\n\r\n const [ageLowDisplay, setAgeLowDisplay] = useState(ageLow)\r\n const [ageHighDisplay, setAgeHighDisplay] = useState(ageHigh)\r\n const [displayDistance, setDisplayDistance] = useState(distance)\r\n const [subscriptionDialogVisible, setSubscriptionDialogVisible] = useState(false)\r\n const features = useSelector((state) => state.user?.features)\r\n const router = useRoute()\r\n\r\n useEffect(() => {\r\n\tif (subscriptionDialogVisible === false) return\r\n\thandleSetFilterVisible()\r\n }, [features])\r\n\r\n useEffect(() => {\r\n const _minAge = ageLow + 10\r\n if (ageHigh < _minAge) {\r\n setAgeHighDisplay(_minAge)\r\n setAgeHigh(_minAge)\r\n }\r\n }, [ageHigh])\r\n\r\n useEffect(() => {\r\n const _maxAge = ageHigh - 10\r\n if (ageLow > _maxAge) {\r\n setAgeLowDisplay(_maxAge)\r\n setAgeLow(_maxAge)\r\n }\r\n }, [ageLow])\r\n\r\n function selectGender(selectedGender) {\r\n if (selectedGenders.includes(selectedGender)) {\r\n setSelectedGenders(selectedGenders.filter((id) => id !== selectedGender))\r\n return\r\n }\r\n setSelectedGenders([...selectedGenders, selectedGender])\r\n }\r\n\r\n function applyFilters() {\r\n setFilterVisible(false)\r\n applyFilter()\r\n }\r\n\r\n function handleSetFilterVisible() {\r\n const universe = router.params?.universe\r\n const newYearUniverses = ['nytaarsvenner', 'nyarsvanner']\r\n\r\n if (!features.includes(1) && !newYearUniverses.includes(universe)) setSubscriptionDialogVisible(true)\r\n else setFilterVisible(true)\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {txt('posts.filters.filter')}\r\n \r\n\r\n setFilterVisible(false)} style={{width: '95%'}}>\r\n \r\n \r\n {txt('global.reset')}\r\n \r\n\r\n {txt('posts.filters.age')}\r\n \r\n {`${txt('posts.filters.min')} `}\r\n \r\n {` ${ageLowDisplay} ${txt('posts.filters.years')}`}\r\n \r\n\r\n \r\n {`${txt('posts.filters.max')} `}\r\n \r\n {` ${ageHighDisplay}${ageHighDisplay === maxAge ? '+':''} ${txt('posts.filters.years')}`}\r\n \r\n\r\n {txt('posts.filters.distance')}\r\n {txt('posts.filters.distanceDescription')}\r\n \r\n \r\n {` ca. ${displayDistance} km`}\r\n \r\n\r\n {txt('posts.filters.gender')}\r\n \r\n\r\n \r\n \r\n \r\n\r\n setSubscriptionDialogVisible(false)} />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n filterButton: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n ...borderRadiusS,\r\n padding: 10,\r\n },\r\n label: {\r\n marginTop: 12,\r\n },\r\n applyButton: {\r\n marginTop: 24,\r\n width: '100%'\r\n },\r\n sliderWrapper: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n age: {\r\n minWidth: 45,\r\n textAlign: 'right'\r\n },\r\n reset: {\r\n alignSelf: 'flex-end',\r\n paddingVertical: 6\r\n }\r\n})\r\n","import { apiGet } from './ApiRequest'\r\nimport * as Localization from '../localization'\r\n\r\nexport const getAdvertisements = async (query = {}) => {\r\n const region = Localization.getRegion()\r\n const country = Localization.countries.find((country) => country.region === region)\r\n\r\n const queryString = Object.entries(query).reduce((queryString, [key, value]) => {\r\n return queryString + '&' + key + '=' + value\r\n }, 'region=' + country.name ?? 'Denmark')\r\n\r\n const advertisements = await apiGet('advertisements?' + queryString)\r\n return advertisements ?? []\r\n}\r\n","import React, { useRef } from 'react'\r\nimport { Dimensions, Platform, Image, StyleSheet, View, TouchableWithoutFeedback } from 'react-native'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport * as Linking from 'expo-linking'\r\n\r\nimport { txt } from '../locales/i18n'\r\nimport { CustomText } from './text/StyledText'\r\nimport Fontsizes from '../constants/Fontsizes'\r\n\r\nconst imageSizeThreshold = 620\r\n\r\nconst imageSizes = {\r\n\tsmall: { height: 100, width: 400 },\r\n\tlarge: { height: 100, width: 800 },\r\n}\r\n\r\nexport const Advertisement = ({ advertisements }) => {\r\n\tconst navigation = useNavigation()\r\n\tconst advertisementIndex = useRef(Math.floor(Math.random() * advertisements.length))\r\n\tconst advertisement = advertisements[advertisementIndex.current] ?? null\r\n\tif (advertisement === null) return null\r\n\r\n\tconst windowWidth = Dimensions.get('window').width\r\n\tconst smallDevice = windowWidth <= imageSizeThreshold\r\n\r\n\tconst getImageDimenstion = () => {\r\n\t\tconst imageSize = smallDevice ? imageSizes.small : imageSizes.large\r\n\t\tconst aspectRatio = imageSize.width / imageSize.height\r\n\r\n\t\treturn {\r\n\t\t\twidth: Platform.OS === 'web' ? 'calc(100% - 2 * 12px)' : Dimensions.get('window').width - 2 * 12,\r\n\t\t\taspectRatio,\r\n\t\t}\r\n\t}\r\n\r\n\tconst getImageUri = () => {\r\n\t\treturn smallDevice ? advertisement.imageSmall : advertisement.imageLarge\r\n\t}\r\n\r\n\tconst openLink = () => {\r\n\t\tif (advertisement.isEvent) {\r\n\t\t\tconst eventId = advertisement.linkTracking || null\r\n\t\t\tif (eventId === null) return navigation.navigate('EventStack', { screen: 'Events' })\r\n\t\t\treturn navigation.navigate('EventStack', { screen: 'Event', params: { eventId } })\r\n\t\t}\r\n\r\n\t\tif (Platform.OS === 'web') {\r\n\t\t\treturn window.open(advertisement.linkTracking, '_blank')\r\n\t\t}\r\n\r\n\t\tLinking.openURL(advertisement.linkTracking)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t{advertisement.adLabel && (\r\n\t\t\t\t\t{txt('global.advertisement')}\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: {\r\n\t\tmargin: 12,\r\n\t\tborderRadius: 12,\r\n\t\tposition: 'relative',\r\n\t\toverflow: 'hidden',\r\n\t\tcursor: 'pointer',\r\n\t},\r\n\r\n\timage: {\r\n\t\twidth: '100%',\r\n\t\theight: '100%',\r\n\t},\r\n\r\n\tadvertisementInfo: {\r\n\t\ttextAlign: 'center',\r\n\t\tfontSize: Fontsizes.xs,\r\n\t},\r\n})\r\n","import React, { useCallback, useEffect, useRef, useState } from 'react'\r\nimport SearchList, { ListSeparator } from '../../lists/SearchList'\r\nimport PostItem from './PostItem'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { CreatePostCard } from './CreatePostCard'\r\nimport PostFilter from './PostFilter'\r\nimport { useSelector } from 'react-redux'\r\nimport { useRoute } from '@react-navigation/core'\r\nimport LoadingSpinner from '../../activityIndicators/LoadingSpinner'\r\nimport { saveSearchString } from '../../../services/api/Posts'\r\nimport { Features } from '../../../constants/Features'\r\n\r\nimport { useSetAtom } from 'jotai'\r\nimport { SeClickedPostIdsAtom, DkClickedPostIdsAtom } from '../../../atoms'\r\n\r\nimport * as AdvertisementService from '../../../services/api/Advertisement'\r\nimport { Advertisement } from '../../advertisement'\r\n\r\nconst thisYear = new Date().getFullYear()\r\n\r\nexport default function PostFeed(props) {\r\n const route = useRoute()\r\n const setSePostFeedIds = useSetAtom(SeClickedPostIdsAtom)\r\n const setDkPostFeedIds = useSetAtom(DkClickedPostIdsAtom)\r\n\r\n const birthYear = useSelector((state) => state.user.birth_year)\r\n const country = useSelector((state) => state.user.country)\r\n const userFeatures = useSelector((state) => state.user.features)\r\n\r\n const defaultMaxDistance = 750\r\n let defaultAgeLow\r\n let defaultAgeHigh\r\n\r\n if (props.universe /*&& props.universe?.name !== 'nytaarsvenner'*/ || country === 'Germany') {\r\n defaultAgeLow = 15\r\n defaultAgeHigh = 99\r\n } else {\r\n defaultAgeLow = Math.max(Math.round((thisYear - birthYear - 20) / 5) * 5, 15)\r\n defaultAgeHigh = Math.min(Math.round((thisYear - birthYear + 20) / 5) * 5, 99)\r\n }\r\n\r\n const [filterVisible, setFilterVisible] = useState(false)\r\n const [selectedGenders, setSelectedGenders] = useState([])\r\n const [ageLow, setAgeLow] = useState(defaultAgeLow)\r\n const [ageHigh, setAgeHigh] = useState(defaultAgeHigh)\r\n const [distance, setDistance] = useState(defaultMaxDistance)\r\n const [isLoading, setIsLoading] = useState(true)\r\n const [updateToggle, setUpdateToggle] = useState(false)\r\n const [numFilters, setNumFilters] = useState(0)\r\n const [advertisements, setAdvertisements] = useState([])\r\n const postIds = useRef([])\r\n const hasNewFilters = useRef(false)\r\n const prevSearch = useRef(route?.params?.search || '')\r\n\r\n useEffect(() => {\r\n getMorePostIds().then(() => {\r\n setIsLoading(false)\r\n })\r\n }, [])\r\n\r\n useEffect(() => {\r\n const query = {}\r\n if ('universe' in props) query.universeId = props.universe.id\r\n AdvertisementService.getAdvertisements(query).then(setAdvertisements)\r\n }, [])\r\n\r\n useEffect(() => {\r\n let filterCount = selectedGenders.length\r\n if (ageLow !== defaultAgeLow) filterCount++\r\n if (ageHigh !== defaultAgeHigh) filterCount++\r\n if (distance !== defaultMaxDistance) filterCount++\r\n setNumFilters(filterCount)\r\n }, [ageLow, ageHigh, distance, selectedGenders])\r\n\r\n function resetFilters() {\r\n setSelectedGenders([])\r\n setAgeLow(defaultAgeLow)\r\n setAgeHigh(defaultAgeHigh)\r\n setDistance(defaultMaxDistance)\r\n setNumFilters(0)\r\n }\r\n\r\n async function resetPostIds() {\r\n postIds.current = await getPostIds(0)\r\n }\r\n\r\n async function getMorePostIds() {\r\n const ids = await getPostIds(postIds.current.length)\r\n postIds.current = [...postIds.current, ...ids]\r\n }\r\n\r\n async function getPostIds(offset) {\r\n return props.getNewPostIds({\r\n search: prevSearch.current,\r\n birthYearLow: thisYear - ageHigh,\r\n birthYearHigh: thisYear - ageLow,\r\n genders: selectedGenders,\r\n maxDistance: distance,\r\n offset,\r\n })\r\n }\r\n\r\n async function getData({ search, skip, amount }) {\r\n const isNewSearch = prevSearch.current !== search\r\n if (isNewSearch) {\r\n prevSearch.current = search\r\n await resetPostIds()\r\n }\r\n let nextPostIds = postIds.current.slice(skip, skip + amount)\r\n if (nextPostIds.length < 1) {\r\n await getMorePostIds()\r\n nextPostIds = postIds.current.slice(skip, skip + amount)\r\n }\r\n return props.getPosts(nextPostIds)\r\n }\r\n\r\n function triggerUpdate() {\r\n if (hasNewFilters.current) {\r\n hasNewFilters.current = false\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n async function applyFilter() {\r\n await resetPostIds()\r\n hasNewFilters.current = true\r\n trackFilter()\r\n setUpdateToggle((prev) => !prev)\r\n }\r\n\r\n function trackFilter() {\r\n saveSearchString({\r\n searchString: prevSearch.current,\r\n birthYearLow: thisYear - ageLow,\r\n birthYearHigh: thisYear - ageHigh,\r\n genders: selectedGenders.join(),\r\n maxDistance: distance,\r\n })\r\n }\r\n\r\n\tfunction handlePostClick(postId, universeId) {\r\n\t\tif (country === 'Sweden' && !userFeatures.includes(Features.START_CONVERSATION)) {\r\n\t\t\tsetSePostFeedIds(async (sePostFeedIdsPromise) => {\r\n\t\t\t\tconst sePostFeedIds = await sePostFeedIdsPromise\r\n\t\t\t\r\n\t\t\t\t// universeId 14 = nyarsvanner\r\n\t\t\t\tif (universeId === 14) return sePostFeedIds\r\n\r\n\t\t\t\tif (sePostFeedIds.includes(postId)) return sePostFeedIds\r\n\r\n\t\t\t\t// incremental steps for display of subscription dialog \r\n\t\t\t\tconst contactIncrement = 3\r\n\r\n\t\t\t\t// max length of stored list\r\n\t\t\t\tconst maxListLength = 100\r\n\r\n\t\t\t\tif (sePostFeedIds.length > maxListLength) {\r\n\t\t\t\t\tconst sePostFeedIdsSliced = sePostFeedIds.slice(contactIncrement, sePostFeedIds.length)\r\n\t\t\t\t\treturn [...sePostFeedIdsSliced, postId]\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn [...sePostFeedIds, postId]\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tif (country === 'Denmark' && !userFeatures.includes(Features.START_CONVERSATION)) {\r\n\t\t\tsetDkPostFeedIds(async (dkPostFeedIdsPromise) => {\r\n\t\t\t\tconst dkPostFeedIds = await dkPostFeedIdsPromise\r\n\r\n\t\t\t\t// universeId 10 = nytårsvenner\r\n\t\t\t\tif (universeId === 10) return dkPostFeedIds\r\n\r\n\t\t\t\tif (dkPostFeedIds.includes(postId)) return dkPostFeedIds\r\n\r\n\t\t\t\t// incremental steps for display of subscription dialog \r\n\t\t\t\tconst contactIncrement = 3\r\n\r\n\t\t\t\t// max length of stored list\r\n\t\t\t\tconst maxListLength = 100\r\n\r\n\t\t\t\tif (dkPostFeedIds.length > maxListLength) {\r\n\t\t\t\t\tconst dkPostFeedIdsSliced = dkPostFeedIds.slice(contactIncrement, dkPostFeedIds.length)\r\n\t\t\t\t\treturn [...dkPostFeedIdsSliced, postId]\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn [...dkPostFeedIds, postId]\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tprops.navigateToPost(postId)\r\n\t}\r\n\r\n const renderItem = ({ item, index }) => {\r\n if (item === 'advertisement') return \r\n\r\n if (item.isSeparator) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n if (item.isCreatePostItem) {\r\n const newyearUniverses = ['nytaarsvenner', 'nyarsvanner']\r\n if (newyearUniverses.includes(props?.universe?.name)) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n return \r\n }\r\n\r\n return (\r\n handlePostClick(item.id, item.universe_id, index)}\r\n universe={props.universe}\r\n />\r\n )\r\n }\r\n\r\n const ListHeaderText = useCallback(() => {\r\n return (\r\n <>\r\n \r\n {!props.universe?.name && }\r\n \r\n )\r\n }, [])\r\n\r\n const applyAdvertisements = (listItems) => {\r\n if (advertisements.length === 0) return listItems\r\n\r\n const steps = 20\r\n const offset = 15\r\n\r\n const listContent = listItems.reduce((listContent, listItem, index) => {\r\n if (index % steps === offset) listContent.push('advertisement')\r\n listContent.push(listItem)\r\n return listContent\r\n }, [])\r\n\r\n return listContent\r\n }\r\n\r\n function filter() {\r\n return (\r\n \r\n )\r\n }\r\n\r\n if (isLoading) {\r\n return \r\n }\r\n\r\n return (\r\n \r\n )\r\n}","import React, { useEffect, useRef } from 'react'\r\nimport Colors, { getColorFromPercent } from '../../constants/Colors'\r\nimport { Animated, StyleSheet, View } from 'react-native'\r\nimport { ShadowStyles } from '../../styles'\r\n\r\nexport const CustomProgressBar = ({ progress, style }) => {\r\n const animatedWidth = useRef(new Animated.Value(0)).current\r\n\r\n useEffect(() => {\r\n const progressWidth = Math.min(Math.max(progress, 0), 1) * 100\r\n Animated.timing(animatedWidth, {\r\n toValue: progressWidth,\r\n duration: 500,\r\n useNativeDriver: false\r\n }).start()\r\n }, [progress])\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n height: 10,\r\n width: '100%',\r\n backgroundColor: Colors.white,\r\n borderRadius: 5,\r\n overflow: 'hidden',\r\n ...ShadowStyles.shadowInputs,\r\n },\r\n progressBar: {\r\n height: '100%',\r\n borderRadius: 5\r\n },\r\n})\r\n","import React, { useRef, useState } from 'react'\r\nimport AvatarEditor from 'react-avatar-editor'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport Slider from '@react-native-community/slider'\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\nimport { CustomText } from '../text/StyledText'\r\n\r\nexport default function ImageCropper({ image, saveCroppedImage }) {\r\n const [zoom, setZoom] = useState(1)\r\n const [rotate, setRotate] = useState(0)\r\n const width = 225\r\n const editor = useRef()\r\n\r\n function cropImage() {\r\n if (editor.current) {\r\n const image = editor.current.getImageScaledToCanvas()\r\n const url = image.toDataURL()\r\n saveCroppedImage(url)\r\n }\r\n }\r\n\r\n function resetValues() {\r\n setZoom(1)\r\n setRotate(0)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {txt('imagePicker.zoom')}\r\n setZoom(value)}\r\n style={{ width: 300, height: 40 }}\r\n minimumValue={1}\r\n maximumValue={5}\r\n minimumTrackTintColor={Colors.blue}\r\n maximumTrackTintColor=\"#000000\"\r\n thumbTintColor={Colors.blue}\r\n step={0.25}\r\n />\r\n \r\n \r\n {txt('imagePicker.rotate')}\r\n setRotate(value)}\r\n style={{ width: 300, height: 40 }}\r\n minimumValue={-180}\r\n maximumValue={180}\r\n minimumTrackTintColor={Colors.blue}\r\n maximumTrackTintColor=\"#000000\"\r\n thumbTintColor={Colors.blue}\r\n step={1}\r\n />\r\n \r\n \r\n {txt('imagePicker.reset')}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n sliderContainer: { flexDirection: 'row', alignItems: 'center' },\r\n resetBtn: { color: Colors.blue, fontSize: 14 },\r\n})\r\n","import * as MediaLibrary from 'expo-media-library'\r\nimport { Linking, Platform } from 'react-native'\r\nimport Constants from 'expo-constants'\r\nimport * as IntentLauncher from 'expo-intent-launcher'\r\n\r\nexport const getLibraryPermission = async () => {\r\n const permission = await MediaLibrary.getPermissionsAsync()\r\n if (permission.granted) return permission\r\n\r\n if (permission.canAskAgain) {\r\n return await MediaLibrary.requestPermissionsAsync()\r\n }\r\n\r\n await openSystemSettings()\r\n\r\n return await MediaLibrary.requestPermissionsAsync()\r\n}\r\n\r\nexport async function openSystemSettings() {\r\n if (Platform.OS === 'ios') {\r\n await Linking.openSettings()\r\n } else if (Platform.OS === 'android') {\r\n const pkg = __DEV__ ? 'host.exp.exponent' : Constants.expoConfig.android.package\r\n const activityAction = IntentLauncher.ActivityAction.APPLICATION_DETAILS_SETTINGS\r\n await IntentLauncher.startActivityAsync(activityAction, { data: 'package:' + pkg })\r\n }\r\n}","import React, { forwardRef, useEffect, useRef, useState } from 'react'\r\nimport { ActivityIndicator, Modal, SafeAreaView, View } from 'react-native'\r\nimport { Dimensions, Platform, StyleSheet } from 'react-native'\r\n\r\nimport * as ImagePicker from 'expo-image-picker'\r\nimport { ImageEditor } from 'expo-image-editor'\r\nimport * as FileSystem from 'expo-file-system'\r\nimport * as Device from 'expo-device'\r\nimport { useCameraPermissions, CameraView } from \"expo-camera\"\r\n\r\nimport { txt } from '../../locales/i18n'\r\nimport Colors from '../../constants/Colors'\r\n\r\nimport { CustomText } from '../text/StyledText'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport CustomDialog, { ActionButton, ContentContainer } from '../dialogs/CustomDialog'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\nimport { openSystemSettings } from \"../../utils/getPermissions\"\r\n\r\nconst mobilePlatforms = ['Android', 'iOS', 'iPadOS']\r\n\r\nfunction isMobileDevice() {\r\n return Platform.OS !== 'web' || mobilePlatforms.includes(Device.osName)\r\n}\r\n\r\nfunction isMobileWebDevice() {\r\n return Platform.OS === 'web' && mobilePlatforms.includes(Device.osName)\r\n}\r\n\r\nexport const CameraModal = forwardRef(({ onConfirm, aspectRatio }, ref) => {\r\n const [showModal, setShowModal] = useState(false)\r\n const [permissionDialogVisible, setPermissionDialogVisible] = useState(false)\r\n const [image, setImage] = useState(null)\r\n\r\n const [permission, requestPermission] = useCameraPermissions()\r\n const cameraRef = useRef(null)\r\n\r\n useEffect(() => {\r\n if (ref === null) return\r\n ref.current = { open: openCamera }\r\n }, [])\r\n\r\n async function openCamera() {\r\n if (isMobileWebDevice() === false) {\r\n const { granted, canAskAgain } = await requestPermission()\r\n if (granted === false) {\r\n if (canAskAgain === false) {\r\n if (Platform.OS === 'ios') return setPermissionDialogVisible(true)\r\n return await openSystemSettings()\r\n }\r\n return setPermissionDialogVisible(true)\r\n }\r\n }\r\n\r\n if (isMobileDevice() === false) return setShowModal(true)\r\n await openNativeCamera()\r\n }\r\n\r\n async function openNativeCamera() {\r\n setImage(null)\r\n const mediaTypes = ImagePicker.MediaTypeOptions.Images\r\n const cameraResult = await ImagePicker.launchCameraAsync({ mediaTypes, base64: true })\r\n const [image = null] = cameraResult.assets ?? []\r\n\r\n if (image === null || image.canceled === true) return handleDismiss()\r\n setImage(image)\r\n setShowModal(true)\r\n }\r\n\r\n async function handleCaptureWebImage() {\r\n const camera = cameraRef.current\r\n if (camera === null) return\r\n\r\n const image = await camera.takePictureAsync({ base64: true, isImageMirror: true })\r\n image.base64 = image.base64.replace('data:image/png;base64,', '')\r\n setImage(image)\r\n }\r\n\r\n async function handleEditingComplete(image) {\r\n if (Platform.OS !== 'web') {\r\n const base64 = await FileSystem.readAsStringAsync(image.uri, { encoding: 'base64' })\r\n image.uri = 'data:image/jpeg;base64,' + base64\r\n }\r\n\r\n onConfirm(image)\r\n handleDismiss()\r\n }\r\n\r\n function handleDismiss() {\r\n setImage(null)\r\n setShowModal(false)\r\n setPermissionDialogVisible(false)\r\n }\r\n\r\n const webCamera = (\r\n <>\r\n {showModal && (\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n const imageCropper = (\r\n \r\n {image === null && }\r\n\r\n \r\n \r\n )\r\n\r\n return (\r\n <>\r\n \r\n \r\n {isMobileDevice() === false && image === null ? webCamera : imageCropper}\r\n \r\n \r\n \r\n \r\n \r\n {txt('cameraModal.cameraAccessHeader')}\r\n \r\n\r\n {txt('cameraModal.cameraAccessInfo')}\r\n \r\n\r\n {permission?.canAskAgain === false && Platform.OS !== 'web' && (\r\n \r\n {txt('cameraModal.goToSettings')}\r\n \r\n )}\r\n\r\n \r\n {txt('global.ok')}\r\n \r\n \r\n \r\n )\r\n})\r\n\r\nconst styles = StyleSheet.create({\r\n camera: {\r\n height: Dimensions.get('window').height,\r\n width: (Dimensions.get('window').height / 3) * 4,\r\n },\r\n\r\n closeButton: {\r\n padding: 32,\r\n position: 'absolute',\r\n right: 0,\r\n top: 12,\r\n },\r\n\r\n container: {\r\n alignItems: 'center',\r\n backgroundColor: Colors.black,\r\n display: 'flex',\r\n height: '100%',\r\n justifyContent: 'center',\r\n position: 'relative',\r\n width: '100%',\r\n },\r\n\r\n cropperContainer: {\r\n flex: 1,\r\n backgroundColor: Colors.black,\r\n justifyContent: 'center',\r\n width: '100%',\r\n },\r\n\r\n dialogButton: {\r\n padding: 10,\r\n },\r\n\r\n marginTop: {\r\n marginTop: 10,\r\n },\r\n\r\n toolbar: {\r\n bottom: 28,\r\n display: 'flex',\r\n flexDirection: 'row',\r\n justifyContent: 'center',\r\n position: 'absolute',\r\n width: '100%',\r\n },\r\n\r\n toolbarButton: {\r\n backgroundColor: Colors.white,\r\n borderRadius: 35,\r\n marginHorizontal: 20,\r\n padding: 18,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { StyleSheet, FlatList, View } from 'react-native'\r\nimport CustomDialog from './CustomDialog'\r\nimport { CustomText } from '../text/StyledText'\r\nimport Colors from '../../constants/Colors'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport { borderRadiusS } from '../../styles/corners'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nconst OptionsDialog = (props) => (\r\n \r\n\r\n {props.title && (\r\n \r\n \r\n {props.title}\r\n \r\n \r\n )}\r\n \r\n index.toString()}\r\n renderItem={({ item, i }) => {\r\n const last = props.options.length === i - 1\r\n const danger = item.type === 'danger'\r\n return (\r\n \r\n \r\n {item.label}\r\n \r\n {item.icon && (\r\n \r\n )}\r\n \r\n )\r\n }}\r\n />\r\n \r\n)\r\n\r\nconst styles = StyleSheet.create({\r\n icon: {\r\n marginLeft: 24,\r\n },\r\n noBorder: {\r\n borderWidth: 0,\r\n },\r\n titleContainer: {\r\n display: 'flex',\r\n borderBottomWidth: 1,\r\n borderColor: Colors.blackTransparent,\r\n paddingHorizontal: 24,\r\n paddingVertical: 12,\r\n },\r\n option: {\r\n alignItems: 'center',\r\n borderBottomWidth: 1,\r\n borderColor: Colors.blackTransparent,\r\n display: 'flex',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n paddingHorizontal: 24,\r\n paddingVertical: 12,\r\n },\r\n})\r\n\r\nexport default OptionsDialog\r\n","import React, { useEffect, useRef, useState } from 'react'\r\nimport { Dimensions, Platform, StyleSheet } from 'react-native'\r\nimport { Image, View } from 'react-native'\r\n\r\nimport * as ExpoImagePicker from 'expo-image-picker'\r\nimport * as ImageManipulator from 'expo-image-manipulator'\r\nimport * as MediaLibrary from \"expo-media-library\"\r\n\r\nimport ImageCropper from './ImageCropper'\r\nimport { CameraModal } from '../camera-modal/camera-modal'\r\nimport { CustomText } from '../text/StyledText'\r\nimport NormalIcon from '../icons/NormalIcon'\r\n\r\nimport OptionsDialog from '../dialogs/OptionsDialog'\r\nimport CustomDialog from '../dialogs/CustomDialog'\r\nimport { ScrollableDialog, ActionButton, ContentContainer } from '../dialogs/CustomDialog'\r\n\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\nimport imageBobl from '../../assets/images/bobl.png'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\nimport { openSystemSettings } from \"../../utils/getPermissions\"\r\n\r\nconst small = Dimensions.get('window').width < 500\r\n\r\nexport default function ImagePicker({ editMode = false, hideDelete = false, placeholder = imageBobl, placeholderText = true, ...props }) {\r\n const [cropping, setCropping] = useState(false)\r\n const [optionsVisible, setOptionsVisible] = useState(false)\r\n const [libraryPermission, setLibraryPermission] = useState(null)\r\n const [imageUri, setImageUri] = useState(null)\r\n\r\n const cameraRef = useRef(null)\r\n\r\n useEffect(() => {\r\n if (imageUri !== null) return\r\n setImageUri(props?.defaultImage ?? null)\r\n }, [props.defaultImage])\r\n\r\n function handleCameraConfirm(image) {\r\n setImageUri(image.uri)\r\n props.setImage(image)\r\n }\r\n\r\n function openCamera() {\r\n const camera = cameraRef.current\r\n if (camera === null) return\r\n\r\n setOptionsVisible(false)\r\n setTimeout(() => {\r\n camera.open()\r\n }, 200)\r\n }\r\n\r\n async function openLibrary() {\r\n if (Platform.OS !== 'web') {\r\n let permission = await MediaLibrary.getPermissionsAsync()\r\n if (!permission.granted) {\r\n if (!permission.canAskAgain) {\r\n setOptionsVisible(false)\r\n await openSystemSettings()\r\n } else {\r\n permission = await MediaLibrary.requestPermissionsAsync()\r\n }\r\n }\r\n const libraryPermission = permission.granted\r\n setLibraryPermission(libraryPermission)\r\n if (libraryPermission === false) return\r\n }\r\n\r\n const mediaTypes = ExpoImagePicker.MediaTypeOptions.Images\r\n const options = { mediaTypes, allowsEditing: true, aspect: [1, 1], base64: true }\r\n const result = await ExpoImagePicker.launchImageLibraryAsync(options)\r\n\r\n setOptionsVisible(false)\r\n\r\n if (result.canceled || result.assets.length === 0) return\r\n const [image] = result.assets\r\n setImageUri(image.uri)\r\n\r\n if (Platform.OS !== 'web') {\r\n props.setImage(image)\r\n }\r\n\r\n if (Platform.OS === 'web') {\r\n setCropping(true)\r\n }\r\n }\r\n\r\n function deleteImage() {\r\n setImageUri(null)\r\n props.setImage(null)\r\n\r\n setOptionsVisible(false)\r\n props.onDelete?.()\r\n }\r\n\r\n async function rotateImage() {\r\n if (imageUri === null) return\r\n const actions = [{ rotate: 90 }]\r\n const options = { format: ImageManipulator.SaveFormat.JPEG }\r\n const result = await ImageManipulator.manipulateAsync(imageUri, actions, options)\r\n\r\n setImageUri(result.uri)\r\n props.setImage(result)\r\n }\r\n\r\n function handleCropping(uri) {\r\n setCropping(false)\r\n setImageUri(uri)\r\n props.setImage({ uri })\r\n }\r\n\r\n function getOptions() {\r\n const options = [\r\n {\r\n label: txt('imagePicker.select'),\r\n icon: \"images\",\r\n action: openLibrary,\r\n },\r\n {\r\n label: txt('imagePicker.take'),\r\n icon: \"camera\",\r\n action: openCamera,\r\n },\r\n ]\r\n\r\n if (hideDelete || imageUri === null) {\r\n return options\r\n }\r\n\r\n options.push({\r\n label: txt('imagePicker.remove'),\r\n icon: \"times\",\r\n action: deleteImage,\r\n })\r\n\r\n return options\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {editMode ? (\r\n setOptionsVisible(true)}>\r\n \r\n {placeholderText && !imageUri && (\r\n \r\n {txt('imagePicker.select')}\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n {editMode && (\r\n <>\r\n setOptionsVisible(true)}>\r\n \r\n \r\n\r\n {Platform.OS !== 'web' && imageUri !== null && (\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n\r\n \r\n \r\n \r\n\r\n setOptionsVisible(false)} options={getOptions()} />\r\n \r\n\r\n \r\n \r\n \r\n {txt('imagePicker.libraryAccessHeader')}\r\n \r\n\r\n {txt('imagePicker.libraryAccessInfo')}\r\n \r\n\r\n setLibraryPermission(null)} style={styles.dialogButton}>\r\n {txt('global.ok')}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n border: {\r\n borderWidth: 0.2,\r\n borderColor: Colors.lightBlue,\r\n },\r\n\r\n container: {\r\n flex: 1,\r\n },\r\n\r\n imageMedium: {\r\n borderRadius: 200,\r\n height: 175,\r\n width: 175,\r\n },\r\n\r\n imageSmall: {\r\n borderRadius: 200,\r\n height: 150,\r\n width: 150,\r\n },\r\n\r\n button: {\r\n padding: 10,\r\n margin: 12,\r\n backgroundColor: Colors.blueAzure,\r\n borderRadius: 32,\r\n position: 'absolute',\r\n },\r\n\r\n editButton: {\r\n left: small ? 95 : 120,\r\n top: small ? 95 : 120,\r\n },\r\n\r\n rotateButton: {\r\n left: small ? -5 : 0,\r\n top: small ? 95 : 120,\r\n },\r\n})\r\n","import React, { useEffect, useRef } from 'react'\r\nimport Colors from '../../constants/Colors'\r\nimport { Animated, Platform, StyleSheet } from 'react-native'\r\nimport { ShadowStyles } from '../../styles'\r\nimport { CustomText } from \"../text/StyledText\"\r\nimport NormalIcon from \"../icons/NormalIcon\"\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport function CustomSnackbar({ visible, onDismiss, icon = null, duration = 4000, text, style }) {\r\n const fadeAnim = useRef(new Animated.Value(0)).current\r\n\r\n useEffect(() => {\r\n if (visible) {\r\n Animated.timing(fadeAnim, { toValue: 1, duration: 300, useNativeDriver: true }).start()\r\n const timer = setTimeout(() => handleDismiss(), duration)\r\n return () => clearTimeout(timer)\r\n } else {\r\n handleDismiss()\r\n }\r\n }, [visible])\r\n\r\n const handleDismiss = () => {\r\n Animated.timing(fadeAnim, { toValue: 0, duration: 300, useNativeDriver: true })\r\n .start(() => onDismiss())\r\n }\r\n\r\n return (\r\n \r\n {icon && }\r\n {text}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n padding: 12,\r\n position: 'absolute',\r\n bottom: 10,\r\n borderRadius: 12,\r\n ...ShadowStyles.dropShadow,\r\n flexDirection: 'row',\r\n width: '95%',\r\n maxWidth: 400,\r\n alignSelf: 'center',\r\n backgroundColor: Colors.text,\r\n },\r\n snackbarText: {\r\n color: Colors.white,\r\n marginLeft: 3,\r\n marginRight: 12,\r\n flex: 10,\r\n\tpaddingTop: Platform.OS !== 'web' ? 2 : 0,\r\n }\r\n})\r\n","import * as ImageManipulator from 'expo-image-manipulator'\r\nimport { apiPostImage } from './ApiRequest'\r\n\r\nexport const UploadImage = async (image, rotation = 0, imgType = '') => {\r\n\r\n try {\r\n // Compress image\r\n var manipResult = await ImageManipulator.manipulateAsync(\r\n image.uri,\r\n [{ rotate: rotation * 90 }],\r\n {\r\n format: ImageManipulator.SaveFormat.JPEG,\r\n base64: true,\r\n }\r\n )\r\n\r\n const desiredSize = 1000 // Width and height since the aspect ratio is 1:1\r\n\r\n // Calculate how much to scale down image\r\n var scale = 1\r\n while (true) {\r\n if (\r\n manipResult.width / scale < desiredSize &&\r\n manipResult.height / scale < desiredSize\r\n ) {\r\n break\r\n\r\n // Prevent infinite loops || edge case if manipresult was null\r\n } else if (!manipResult.width || !manipResult.height) {\r\n break\r\n }\r\n\r\n scale++\r\n }\r\n\r\n // Resize with previously gotten width and height from previous manipResult\r\n var manipResult = await ImageManipulator.manipulateAsync(\r\n manipResult.uri,\r\n [\r\n {\r\n resize: {\r\n width: manipResult.width / scale,\r\n height: manipResult.height / scale,\r\n },\r\n },\r\n ],\r\n {\r\n format: ImageManipulator.SaveFormat.JPEG,\r\n base64: true,\r\n compress: 0.8,\r\n }\r\n )\r\n\r\n // Get image extension\r\n // Find word inbetween data:image/ and ;base64\r\n var fileExtension = manipResult.uri\r\n .substring(0, 50)\r\n .split(';base64')[0]\r\n .split('data:image/')[1]\r\n\r\n if (!fileExtension) {\r\n fileExtension = manipResult.uri\r\n .substring(manipResult.uri.length - 100, manipResult.uri.length)\r\n .split('.')\r\n .pop()\r\n }\r\n\r\n if (!fileExtension) return\r\n\r\n var uriHeader = 'data:image/' + fileExtension + ';base64,'\r\n\r\n // Add uri header if not present\r\n if (manipResult.base64.substring(0, uriHeader.length) === uriHeader) {\r\n uriHeader = ''\r\n }\r\n\r\n const uriOutput = uriHeader + manipResult.base64\r\n\r\n // Desktop formatting is different, so data:image/ is written twice, replace\r\n // Send and get api imgid response\r\n return apiPostImage(\r\n createFormData(uriOutput, {}),\r\n `images/upload${imgType}`\r\n )\r\n .then((response) => response.json())\r\n .then((responseJson) => {\r\n // Check if img_id is returned by api, then the image was uploaded sucessfully\r\n if (!responseJson.data.img_id) {\r\n console.error('Image upload failed.')\r\n return\r\n }\r\n return responseJson.data.img_id\r\n })\r\n } catch (err) {\r\n if (__DEV__) console.log(err)\r\n }\r\n}\r\n\r\nconst createFormData = (image, body) => {\r\n const data = new FormData()\r\n data.append('file', image)\r\n Object.keys(body).forEach((key) => {\r\n data.append(key, body[key])\r\n })\r\n\r\n return data\r\n}\r\n","import * as React from 'react'\r\nimport { Switch, StyleSheet, View, Platform } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport { txt } from '../../locales/i18n'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport { CustomText } from '../text/StyledText'\r\n\r\nexport function CustomSwitch(props) {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport function NotificationSwitch({ title, value, handleChange, icon }) {\r\n return (\r\n \r\n \r\n {icon && ( )}\r\n {title}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function SnakSammenSwitch({ title, value, handleChange }) {\r\n return (\r\n \r\n {title}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n iconContainer: {\r\n marginRight: 6,\r\n width: Fontsizes.xl,\r\n },\r\n iconTextContainer: {\r\n flex: 1,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n notificationSwitch: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n marginVertical: 6,\r\n },\r\n})\r\n","import CustomDialog, { ActionButton, ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport React from 'react'\r\n\r\nexport default function DeletePostDialog({ visible, deletePost, cancel }) {\r\n return (\r\n \r\n \r\n {txt('post.deletePostAlert')}\r\n \r\n \r\n {txt('post.deletePostYes')}\r\n \r\n \r\n {txt('post.deletePostNo')}\r\n \r\n \r\n )\r\n}\r\n","import CustomDialog, { ActionButton, ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport React from 'react'\r\n\r\nexport default function VisibilityInfo({ visible, ok }) {\r\n return (\r\n \r\n \r\n {txt('post.edit.visibilityDialogTitle')}\r\n {txt('post.edit.visibilityDialogText')}\r\n \r\n \r\n {txt('dialog.ok')}\r\n \r\n \r\n )\r\n}","import CustomDialog, { ActionButton, ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport React from 'react'\r\n\r\nexport default function ChangeVisibilityDialog({ visible, makeVisible, keepHidden }) {\r\n return (\r\n \r\n \r\n {txt('post.edit.saveVisibilityDialogText')}\r\n \r\n \r\n {txt('post.edit.makeVisible')}\r\n \r\n \r\n {txt('post.edit.keepHidden')}\r\n \r\n \r\n )\r\n}","import React, { useState } from 'react'\r\nimport { View } from 'react-native'\r\nimport { CustomText } from '../text/StyledText'\r\nimport Colors from '../../constants/Colors'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport { StyleSheet } from 'react-native'\r\nimport { Image } from 'react-native'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport function CheckBox(props) {\r\n return (\r\n \r\n \r\n {props.text}\r\n \r\n )\r\n}\r\n\r\nexport function RadioButton(props) {\r\n return (\r\n \r\n \r\n {props.text}\r\n \r\n )\r\n}\r\n\r\nexport function RadioButtonOutlined(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n {props.text}\r\n \r\n )\r\n}\r\n\r\nexport function RadioButtons({ data, onSelect }) {\r\n const [userOption, setUserOption] = useState(null)\r\n const selectHandler = (item) => {\r\n onSelect(item)\r\n setUserOption(item.label)\r\n }\r\n return (\r\n \r\n {data.map((item) => {\r\n return (\r\n selectHandler(item)}\r\n style={{ flexDirection: 'row', alignItems: 'center', marginTop: 6 }}>\r\n \r\n {item.label}\r\n \r\n )\r\n })}\r\n \r\n )\r\n}\r\n\r\nexport function TouchableHoverImage(props) {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n checked: { backgroundColor: Colors.darkerSkyBlue, borderRadius: 10 },\r\n container: { alignItems: 'center', flexDirection: 'row' },\r\n iconMargin: { marginRight: 10 },\r\n image: { alignSelf: 'center', height: 75, margin: 16, width: 75 },\r\n moreBtnBg: { borderRadius: 10 },\r\n radioContainer: {\r\n padding: 3,\r\n borderColor: Colors.transparent,\r\n borderRadius: 30,\r\n },\r\n})\r\n","import CustomDialog, { ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport React from 'react'\r\nimport { ButtonPrimary, ButtonSecondary } from \"../../../buttons/StyledButtons\"\r\nimport Colors from \"../../../../constants/Colors\"\r\nimport { StyleSheet, View } from \"react-native\"\r\nimport { txt } from \"../../../../locales/i18n\"\r\n\r\nexport function WeakPostDialog({ visible, submit, dismiss, edit, weakPost, weakText, noImage }) {\r\n return (\r\n \r\n \r\n \r\n { weakPost ? txt('createPost.weakPostDialog.noImageDescriptionTitle')\r\n : weakText ? txt('createPost.weakPostDialog.descriptionTitle')\r\n : noImage && txt('createPost.weakPostDialog.noImageTitle')\r\n }\r\n \r\n \r\n { weakPost ? txt('createPost.weakPostDialog.noImageDescriptionText')\r\n : weakText ? txt('createPost.weakPostDialog.descriptionText')\r\n : noImage && txt('createPost.weakPostDialog.noImageText')\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n buttonContainer: {\r\n paddingBottom: 24,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n flexWrap: 'wrap',\r\n paddingHorizontal: 3,\r\n justifyContent: 'space-evenly'\r\n },\r\n secondaryButton: {\r\n borderColor: Colors.blueAzure,\r\n marginRight: 3,\r\n paddingHorizontal: 6,\r\n width: 150\r\n },\r\n primaryButton: {\r\n backgroundColor: Colors.blueAzure,\r\n marginLeft: 3,\r\n paddingHorizontal: 6,\r\n width: 150\r\n }\r\n})","import CustomDialog from '../../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport React from 'react'\r\nimport { ButtonPrimary } from \"../../../buttons/StyledButtons\"\r\nimport Colors from \"../../../../constants/Colors\"\r\nimport { Platform, StyleSheet, TouchableOpacity, View } from \"react-native\"\r\nimport NormalIcon from \"../../../icons/NormalIcon\"\r\nimport { txt } from \"../../../../locales/i18n\"\r\nimport { handlePaymentClick } from \"../../../../utils/handlePaymentClick\"\r\nimport SubscriptionBenefits from \"../../../shared/SubscriptionBenefits\"\r\n\r\nexport function UpdateNotAllowedDialog({ visible, dismiss }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('subscription.dialogs.updateNotAllowed.title')}\r\n \r\n\r\n \r\n {txt('subscription.dialogs.updateNotAllowed.intro')}\r\n \r\n\r\n \r\n \r\n \r\n\r\n {\r\n const origin = 'update-limit-reached'\r\n if (Platform.OS === 'web') window.plausible('SubscriptionClick', { props: { origin }})\r\n dismiss()\r\n\r\n await handlePaymentClick({ origin })\r\n }}\r\n title={txt('subscription.dialogs.updateNotAllowed.button')}\r\n accessibilityLabel={txt('subscription.dialogs.updateNotAllowed.button')}\r\n accessibilityHint={txt('subscription.dialogs.updateNotAllowed.buttonHint')}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n dialog: {\r\n padding: 20,\r\n },\r\n contentContainer: {\r\n marginBottom: 24,\r\n },\r\n title: {\r\n color: Colors.blueAzure,\r\n paddingRight: 24,\r\n fontSize: 20\r\n },\r\n button: {\r\n paddingHorizontal: 12,\r\n backgroundColor: Colors.greenBtn,\r\n },\r\n closeIcon: {\r\n alignSelf: 'flex-end',\r\n position: 'absolute',\r\n paddingLeft: 24,\r\n zIndex: 1\r\n },\r\n})","import React, { useState, useEffect } from 'react'\r\nimport { View, ScrollView, Platform, StyleSheet, TouchableOpacity, Keyboard } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { RoundBtn, DeleteBtn } from '../../buttons/StyledButtons'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomInputs, CustomMultilineInputs } from '../../text/StyledTextinputs'\r\nimport { CustomProgressBar } from '../../progressbars/ProgressBar'\r\nimport KeyboardSpacer from 'react-native-keyboard-spacer'\r\nimport ImagePicker from '../../ImagePicker/ImagePicker'\r\nimport { ShadowStyles, SpacingStyles } from '../../../styles'\r\nimport { CustomSnackbar } from '../../snackbars/Snackbar'\r\nimport Paths from '../../../constants/Paths'\r\nimport { UploadImage } from '../../../services/api/UploadImage'\r\nimport { getActiveMunicipalities } from '../../../services/api/Municipalities'\r\nimport CustomDialog, { ActionButton, ContentContainer } from '../../dialogs/CustomDialog'\r\nimport { badWords } from '../../../constants/BadWords'\r\nimport { CustomSwitch } from '../../switches/StyledSwitches'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport DeletePostDialog from './Dialogs/DeletePostDialog'\r\nimport VisibilityInfo from './Dialogs/VisibilityInfo'\r\nimport ChangeVisibilityDialog from './Dialogs/ChangeVisibilityDialog'\r\nimport { RadioButtonOutlined } from '../../formElements/formElements'\r\nimport { useSelector } from 'react-redux'\r\nimport imageBobl from '../../../assets/images/bobl.png'\r\nimport { WeakPostDialog } from './Dialogs/WeakPostDialog'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport { getSubscription } from '../../../services/api/User'\r\nimport { getOwnPosts, hideAllButNewestPost } from \"../../../services/api/Posts\"\r\nimport store from \"../../../redux/store\"\r\nimport { UpdateNotAllowedDialog } from \"./Dialogs/UpdateNotAllowedDialog\"\r\nimport { showSubscriptionDialogAtom, showTooManyActivePostsDialogAtom } from \"../../../atoms\"\r\nimport { useSetAtom } from \"jotai\"\r\nimport moment from \"moment\"\r\n\r\nconst getShowSubscriptionDialog = async (userMunicipalityId) => {\r\n const activeMunicipalities = await getActiveMunicipalities()\r\n const isActiveMunicipality = activeMunicipalities.some((municipality) => municipality.id === userMunicipalityId)\r\n if (isActiveMunicipality) return false\r\n\r\n const subscription = await getSubscription()\r\n if (subscription === null || subscription?.state === 'expired') return true\r\n\r\n if (subscription.state !== 'active') return true\r\n if (subscription.pending_invoices !== 0) return true\r\n if (subscription.dunning_invoices !== 0) return true\r\n\r\n return false\r\n}\r\n\r\nconst isExpirationDateWithinThreshold = async (threshold) => {\r\n const subscription = await getSubscription()\r\n if (!subscription || subscription?.state !== 'expired') return false\r\n const expiredDate = moment(subscription?.expired_date)\r\n const diff = moment().diff(expiredDate, 'days')\r\n return diff <= threshold\r\n}\r\n\r\nconst isSubscriptionActive = (subscription) => {\r\n if (!subscription) return false\r\n if (subscription.state !== 'active') return false\r\n if (subscription.pending_invoices !== 0) return false\r\n if (subscription.dunning_invoices !== 0) return false\r\n return true\r\n}\r\n\r\nconst getShowTooManyActivePostsDialog = async () => {\r\n const features = store.getState().user?.features\r\n if (features.includes(1)) return false // User has feature 1\r\n\r\n const subscription = await getSubscription()\r\n const activeSubscription = isSubscriptionActive(subscription)\r\n if (activeSubscription) return false // User has active subscription\r\n\r\n const ownPosts = await getOwnPosts()\r\n const numberOfActivePosts = ownPosts.reduce((accumulator, currentVal) => {\r\n if (currentVal.status_id === 1 && currentVal.universeId === null) accumulator += 1;\r\n return accumulator;\r\n }, 0)\r\n if (numberOfActivePosts <= 1) return false // User has 1 or less active post\r\n\r\n return true\r\n}\r\n\r\nexport default function CreateEditPost(props) {\r\n const user = useSelector((state) => state.user)\r\n const ownGender = useSelector((state) => state.user?.gender_id)\r\n const [image, setImage] = useState(null)\r\n const [post, setPost] = useState({\r\n item: null,\r\n inputs: ['', '', ''], //[title, description, location]\r\n inputMaxChars: [10, 200, 2],\r\n inputWeightPercentage: [15, 40, 5],\r\n isImage: false,\r\n progressPoints: 0,\r\n progressText: txt('createPost.progressBarLowText'),\r\n statusId: null,\r\n img_id: null,\r\n tempImage: null,\r\n rotation: null,\r\n uniqueValue: 1,\r\n genderResponse: 1,\r\n maleContact: 0,\r\n femaleContact: 0,\r\n otherContact: 0,\r\n })\r\n const [feedback, setFeedback] = useState({\r\n showCustomDialog: false,\r\n postWasNotCreated: false,\r\n tooManyPosts: false,\r\n postTooShort: false,\r\n isButtonDisabled: false,\r\n })\r\n const [loading, setLoading] = useState(false)\r\n const [badWordDialog, setBadWordDialog] = useState({\r\n showCustomDialog: false,\r\n badWordChecked: false,\r\n })\r\n const [visibilityDialogVisible, setVisibilityDialogVisible] = useState(false)\r\n const [weakPostDialogVisible, setWeakPostDialogVisible] = useState(false)\r\n const [weakPost, setWeakPost] = useState(false)\r\n const [weakText, setWeakText] = useState(false)\r\n const [noImage, setNoImage] = useState(false)\r\n const [saveChangesDialog, setSaveChangesDialog] = useState(false)\r\n const [editedPost, setEditedPost] = useState(null)\r\n const [tempData, setTempData] = useState(null)\r\n const [notAllowedDialog, setNotAllowedDialog] = useState(false)\r\n const navigation = useNavigation()\r\n const setShowSubscription = useSetAtom(showSubscriptionDialogAtom)\r\n const setTooManyActivePosts = useSetAtom(showTooManyActivePostsDialogAtom)\r\n\r\n const shortPostLength = 150\r\n\r\n useEffect(() => {\r\n if (ownGender === 0) updatePost({ genderResponse: 0 })\r\n if (props.getPost) {\r\n props.getPost().then((data) => {\r\n const uri = data.img_filename ? Paths.imageUrlBase + data.img_filename : null\r\n\r\n updatePost({\r\n item: { ...data, uri },\r\n isImage: !!data.img_id,\r\n img_id: data.img_id,\r\n inputs: [data.title, data.body, data.location],\r\n statusId: data.statusId,\r\n maleContact: data.maleContact,\r\n femaleContact: data.femaleContact,\r\n otherContact: data.otherContact,\r\n genderResponse: data.maleContact === data.femaleContact && data.maleContact === data.otherContact ? 0 : 1,\r\n })\r\n })\r\n }\r\n }, [props.route, ownGender])\r\n\r\n useEffect(() => {\r\n let sum = 0\r\n for (let i = 0; i < post.inputs.length; i++) {\r\n if (post.inputs[i].length >= post.inputMaxChars[i]) {\r\n sum += post.inputWeightPercentage[i]\r\n continue\r\n }\r\n\r\n sum += (post.inputs[i].length / post.inputMaxChars[i]) * post.inputWeightPercentage[i]\r\n }\r\n if (image?.uri || post.img_id) {\r\n sum += 40\r\n }\r\n if (sum <= 40) {\r\n updatePost({ progressText: txt('createPost.progressBarLowText') })\r\n } else if (sum <= 80) {\r\n updatePost({ progressText: txt('createPost.progressBarMediumText') })\r\n } else {\r\n updatePost({ progressText: txt('createPost.progressBarHighText') })\r\n }\r\n updatePost({ progressPoints: sum / 100 })\r\n }, [image?.uri, post.inputMaxChars, post.inputWeightPercentage, post.inputs])\r\n\r\n function updatePost(values) {\r\n setPost((preInfo) => ({ ...preInfo, ...values }))\r\n }\r\n\r\n function updateFeedback(values) {\r\n setFeedback((preFeedback) => ({ ...preFeedback, ...values }))\r\n }\r\n\r\n function changeText(value, input) {\r\n switch (input) {\r\n case 0:\r\n setPost((preInfo) => ({ ...preInfo, inputs: [value, preInfo.inputs[1], preInfo.inputs[2]] }))\r\n break\r\n case 1:\r\n setPost((preInfo) => ({ ...preInfo, inputs: [preInfo.inputs[0], value, preInfo.inputs[2]] }))\r\n break\r\n case 2:\r\n setPost((preInfo) => ({ ...preInfo, inputs: [preInfo.inputs[0], preInfo.inputs[1], value] }))\r\n break\r\n }\r\n }\r\n\r\n function checkToBeCleared() {\r\n if (post.inputs[0].length >= 4 && post.inputs[1].length >= 4) {\r\n updatePost({\r\n inputs: ['', '', ''],\r\n tempImage: null,\r\n uniqueValue: post.uniqueValue + 1,\r\n progressPoints: 0,\r\n genderResponse: 1,\r\n })\r\n updateFeedback({ isButtonDisabled: false })\r\n setImage(null)\r\n }\r\n }\r\n\r\n function handleContactGender() {\r\n if (post.genderResponse === 1) {\r\n if (ownGender === 1) return { maleContact: true, femaleContact: false, otherContact: false }\r\n if (ownGender === 2) return { maleContact: false, femaleContact: true, otherContact: false }\r\n if (ownGender === 3) return { maleContact: false, femaleContact: false, otherContact: true }\r\n }\r\n return { maleContact: true, femaleContact: true, otherContact: true }\r\n }\r\n\r\n async function preparePost() {\r\n if (post.inputs[0].length < 5 || post.inputs[1].length < 5) {\r\n return updateFeedback({ postTooShort: true })\r\n }\r\n\r\n updateFeedback({ isButtonDisabled: true })\r\n setLoading(true)\r\n const { maleContact, femaleContact, otherContact } = handleContactGender()\r\n\r\n const data = {\r\n title: post.inputs[0],\r\n body: post.inputs[1],\r\n location: post.inputs[2],\r\n imgId: post.img_id,\r\n maleContact,\r\n femaleContact,\r\n otherContact,\r\n }\r\n\r\n if (image) {\r\n data.imgId = await UploadImage(image)\r\n }\r\n\r\n\t\tif (props.editPost) {\r\n\t\t\tconst previousPost = await props.getPost()\r\n\r\n\t\t\tconst previousPostData = [\r\n\t\t\t\tpreviousPost.title,\r\n\t\t\t\tpreviousPost.body,\r\n\t\t\t\tpreviousPost.location,\r\n\t\t\t\tpreviousPost.img_id,\r\n\t\t\t\tpreviousPost.maleContact,\r\n\t\t\t\tpreviousPost.femaleContact,\r\n\t\t\t\tpreviousPost.otherContact,\r\n\t\t\t\tpreviousPost.statusId,\r\n\t\t\t]\r\n\r\n\t\t\tconst currentPostData = [\r\n\t\t\t\tdata.title,\r\n\t\t\t\tdata.body,\r\n\t\t\t\tdata.location,\r\n\t\t\t\tdata.imgId,\r\n\t\t\t\tdata.maleContact,\r\n\t\t\t\tdata.femaleContact,\r\n\t\t\t\tdata.otherContact,\r\n\t\t\t\tpost.statusId,\r\n\t\t\t]\r\n\r\n // Check if user has an expired subscription within the last 7 days\r\n const isWithinThreshold = await isExpirationDateWithinThreshold(7)\r\n if (isWithinThreshold) {\r\n setLoading(false)\r\n return setNotAllowedDialog(isWithinThreshold)\r\n }\r\n\r\n\t\t\t// no changes detected\r\n\t\t\tif (currentPostData.toString() === previousPostData.toString()) {\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t\tconst params = { chip: txt('posts.chipParams.mine') }\r\n\r\n const hasActivePosts = await getShowTooManyActivePostsDialog()\r\n if (hasActivePosts) setTooManyActivePosts(hasActivePosts)\r\n\r\n if (!hasActivePosts) {\r\n const showSubscriptionDialog = await getShowSubscriptionDialog(user.municipality_id)\r\n if (showSubscriptionDialog) setShowSubscription(showSubscriptionDialog)\r\n }\r\n\r\n\t\t\t\tif (props.route?.params?.universe) {\r\n\t\t\t\t\tconst navigationOptions = { screen: 'Bobls', initial: true, params }\r\n\t\t\t\t\treturn navigation.navigate('UniverseBoblStack', navigationOptions)\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst navigationOptions = { screen: 'Home', initial: true, params }\r\n\t\t\t\treturn navigation.navigate('HomeStack', navigationOptions)\r\n\t\t\t}\r\n\r\n\t\t\tconst postIsHidden = post.statusId === -1\r\n\r\n\t\t\tif (postIsHidden) {\r\n\t\t\t\tsetEditedPost(data)\r\n\t\t\t\treturn setSaveChangesDialog(true)\r\n\t\t\t}\r\n\r\n\t\t\tdata.statusId = post.statusId === 1 ? 1 : -1\r\n\t\t}\r\n\r\n setTempData(data)\r\n if (!image && !data.imgId && post.inputs[1].length < shortPostLength) {\r\n setWeakPost(true)\r\n return setWeakPostDialogVisible(true)\r\n }\r\n if (!image && !data.imgId) {\r\n setNoImage(true)\r\n return setWeakPostDialogVisible(true)\r\n }\r\n if (post.inputs[1].length < shortPostLength) {\r\n setWeakText(true)\r\n return setWeakPostDialogVisible(true)\r\n }\r\n await setPostObject(data)\r\n }\r\n\r\n async function handleCreateWeakPost() {\r\n setWeakPostDialogVisible(false)\r\n setWeakText(false)\r\n setNoImage(false)\r\n setWeakPost(false)\r\n await setPostObject(tempData)\r\n }\r\n\r\n async function handleRewritePost() {\r\n setLoading(false)\r\n updateFeedback({ isButtonDisabled: false })\r\n setWeakPostDialogVisible(false)\r\n setWeakText(false)\r\n setNoImage(false)\r\n setWeakPost(false)\r\n }\r\n\r\n async function handleVisibilityChange(statusId) {\r\n const data = editedPost\r\n data.statusId = statusId\r\n setSaveChangesDialog(false)\r\n await setPostObject(data)\r\n }\r\n\r\n const setPostObject = async (data) => {\r\n setLoading(false)\r\n const postObject = props.createPost ? await props.createPost(data) : await props.editPost(post.item.id, data)\r\n\r\n if (postObject?.status === 403) {\r\n return updateFeedback({ tooManyPosts: true, isButtonDisabled: false })\r\n }\r\n if (postObject?.status === 429) {\r\n return setNotAllowedDialog(true)\r\n }\r\n\r\n checkToBeCleared()\r\n const params = { chip: txt('posts.chipParams.mine') }\r\n\r\n const hasActivePosts = await getShowTooManyActivePostsDialog()\r\n if (hasActivePosts) setTooManyActivePosts(hasActivePosts)\r\n\r\n if (!hasActivePosts) {\r\n const showSubscriptionDialog = await getShowSubscriptionDialog(user.municipality_id)\r\n if (showSubscriptionDialog) setShowSubscription(showSubscriptionDialog)\r\n }\r\n\r\n if (hasActivePosts) {\r\n await hideAllButNewestPost()\r\n }\r\n\r\n\t\t// Navigate to \"My posts\" in universe, if post was created within a universe\r\n\t\tif (props.route?.params.universe) {\r\n\t\t\treturn navigation.navigate('UniverseBoblStack', { screen: 'Bobls', initial: true, params })\r\n\t\t}\r\n\r\n navigation.navigate('HomeStack', { screen: 'Home', initial: true, params })\r\n }\r\n\r\n function keyboardSpacerShow() {\r\n if (Platform.OS === 'ios') return \r\n }\r\n\r\n function BadWordPopup() {\r\n return (\r\n \r\n \r\n {txt('createPost.badWordCheck')}\r\n \r\n setBadWordDialog({ showCustomDialog: false, badWordChecked: true })}>\r\n {txt('createPost.accept')}\r\n \r\n \r\n )\r\n }\r\n\r\n function checkBadWords(checkInput) {\r\n if (!badWordDialog.badWordChecked) {\r\n badWords.forEach((word) => {\r\n if (post.inputs[checkInput].toLowerCase().includes(word)) {\r\n setBadWordDialog((prev) => ({ ...prev, showCustomDialog: true }))\r\n }\r\n })\r\n }\r\n }\r\n\r\n\tasync function handleDeletePost() {\r\n\t\tawait props.deletePost(post.item.id)\r\n\t\tupdateFeedback({ showCustomDialog: false })\r\n\r\n\t\tif (props.route?.params.universe) {\r\n\t\t\treturn navigation.navigate('UniverseBoblStack', {\r\n\t\t\t\tscreen: 'Bobls',\r\n\t\t\t\tinitial: true,\r\n\t\t\t\tparams: { chip: txt('posts.chipParams.mine') }\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tnavigation.navigate('HomeStack', {\r\n\t\t\tscreen: 'Home',\r\n\t\t\tinitial: true,\r\n\t\t\tparams: { chip: txt('posts.chipParams.mine') },\r\n\t\t})\r\n\t}\r\n\r\n return (\r\n \r\n {props.renderChips?.()}\r\n \r\n \r\n \r\n updatePost({ img_id: null })}\r\n placeholder={imageBobl}\r\n />\r\n \r\n\r\n \r\n {txt('createPost.titlePlaceHolder')}\r\n changeText(value, 0)}\r\n onBlur={() => checkBadWords(0)}\r\n >\r\n \r\n \r\n {35 - post.inputs[0].length}\r\n \r\n \r\n \r\n \r\n \r\n {txt('createPost.description')}\r\n changeText(value, 1)}\r\n onBlur={() => checkBadWords(1)}\r\n />\r\n \r\n \r\n {txt('createPost.locationPlaceHolder')}\r\n changeText(value, 2)}\r\n />\r\n \r\n\r\n \r\n \r\n {txt('createPost.genderResponse')}\r\n \r\n {ownGender === 0 && (\r\n \r\n {txt('createPost.genderResponseDisabled')}\r\n \r\n )}\r\n \r\n updatePost({ genderResponse: 0 })}\r\n size={10}\r\n border={2}\r\n text={txt('createPost.genderAll')}\r\n color={Colors.tintColor}\r\n disabled={ownGender === 0}\r\n label={post.genderResponse === 0 ? txt('radioButton.selected') + txt('createPost.genderAll') : txt('createPost.genderAll')}\r\n style={{ paddingVertical: 6, marginRight: 12 }}\r\n />\r\n updatePost({ genderResponse: 1 })}\r\n size={10}\r\n border={2}\r\n text={txt('createPost.genderOwn')}\r\n color={Colors.tintColor}\r\n disabled={ownGender === 0}\r\n label={post.genderResponse === 1 ? txt('radioButton.selected') + txt('createPost.genderOwn') : txt('createPost.genderOwn')}\r\n style={{ paddingVertical: 6 }}\r\n />\r\n \r\n \r\n\r\n {props.editPost && (\r\n \r\n \r\n {txt('post.edit.visibility')}\r\n setVisibilityDialogVisible(true)}\r\n accessibilityRole=\"button\"\r\n accessibilityLabel={txt('post.edit.visibilityReadMore')}\r\n style={{ paddingHorizontal: 6 }}\r\n >\r\n \r\n \r\n \r\n \r\n {post?.statusId > 0 ? txt('post.edit.visible') : txt('post.edit.hidden')}\r\n 0 ? txt('post.edit.visible') : txt('post.edit.hidden')}\r\n value={post?.statusId > 0}\r\n onValueChange={(item) => updatePost({ statusId: item === true ? 1 : 0 })}\r\n />\r\n \r\n \r\n )}\r\n\r\n \r\n\r\n \r\n \r\n {Math.round(post.progressPoints * 100) + '% '}\r\n {post.progressText}\r\n \r\n \r\n\r\n \r\n\r\n {props.createPost && (\r\n \r\n \r\n \r\n )}\r\n {props.editPost && (\r\n \r\n updateFeedback({ showCustomDialog: true })} />\r\n \r\n {feedback.postSaved ? 'Hide' : 'Show'}\r\n \r\n \r\n )}\r\n \r\n {keyboardSpacerShow()}\r\n \r\n\r\n updateFeedback({ postWasNotCreated: false })}\r\n text={txt('createPost.error')}\r\n style={{ marginBottom: 30 }}\r\n />\r\n\r\n updateFeedback({ tooManyPosts: false })}\r\n text={txt('createPost.tooManyPosts')}\r\n style={{ marginBottom: 30 }}\r\n />\r\n\r\n updateFeedback({ postTooShort: false })}\r\n text={txt('createPost.postTooShort')}\r\n style={{ marginBottom: 30 }}\r\n />\r\n\r\n updateFeedback({ postSaved: false })}\r\n text={txt('post.savePostSnackBar')}\r\n style={{ marginBottom: 30 }}\r\n />\r\n\r\n updateFeedback({ showCustomDialog: false })}\r\n />\r\n\r\n setVisibilityDialogVisible(false)} />\r\n\r\n handleVisibilityChange(1)}\r\n keepHidden={() => handleVisibilityChange(-1)}\r\n />\r\n\r\n \r\n\r\n setNotAllowedDialog(false)}\r\n />\r\n\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n buttonsContainer: {\r\n alignSelf: 'stretch',\r\n flexDirection: 'row',\r\n justifyContent: 'space-evenly',\r\n marginBottom: 5,\r\n },\r\n center: { alignSelf: 'center', margin: 5 },\r\n container: {\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n imagePickerContainer: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: 12,\r\n },\r\n inactive: { color: Colors.inactive },\r\n margin12: { margin: 12 },\r\n marginBottom: { marginBottom: 12 },\r\n visibilityContainer: {\r\n backgroundColor: Colors.white,\r\n padding: 10,\r\n borderRadius: 12,\r\n ...ShadowStyles.shadowInputs,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n height: 40,\r\n },\r\n visibilityTitleContainer: {\r\n marginBottom: 6,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n genderResponseContainer: {\r\n borderRadius: 10,\r\n paddingVertical: 6,\r\n paddingHorizontal: 12,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n ...ShadowStyles.shadowInputs,\r\n flexWrap: 'wrap',\r\n },\r\n\r\n})\r\n","import React from 'react'\r\nimport Colors from '../../constants/Colors'\r\nimport { StyleSheet } from 'react-native'\r\nimport { TypographyStyles } from '../../styles'\r\nimport { txt } from '../../locales/i18n'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\nimport { CustomText } from \"../text/StyledText\"\r\nimport NormalIcon, { BoblbergIcon } from \"../icons/NormalIcon\"\r\nimport Fontsizes from \"../../constants/Fontsizes\"\r\n\r\nexport function CustomChip({ selected, onPress, accessibilityLabel, text, icon, ...props}) {\r\n return (\r\n \r\n {icon === \"bobl\" ? : (\r\n \r\n )}\r\n {text && {text}}\r\n \r\n )\r\n}\r\n\r\nconst BoblIcon = () => (\r\n \r\n)\r\n\r\nconst styles = StyleSheet.create({\r\n chip: {\r\n justifyContent: 'center',\r\n borderWidth: 0,\r\n padding: 8,\r\n borderRadius: 25,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n chipSelected: {\r\n backgroundColor: Colors.chipSelected\r\n },\r\n chipUnselected: {\r\n backgroundColor: Colors.chipUnselected\r\n },\r\n text: {\r\n ...TypographyStyles.textSmall,\r\n color: Colors.text,\r\n paddingLeft: 6\r\n },\r\n // chip: {\r\n // justifyContent: 'center',\r\n // borderWidth: 0\r\n // },\r\n // chipSelected: {\r\n // backgroundColor: Colors.chipSelected,\r\n // ...ShadowStyles.shadowInputs\r\n // },\r\n // chipUnselected: {\r\n // backgroundColor: Colors.chipUnselected\r\n // },\r\n // text: {\r\n // ...TypographyStyles.textSmall,\r\n // color: Colors.text\r\n // },\r\n})\r\n","import Paths from '../../constants/Paths'\r\nimport { Platform } from 'react-native'\r\nimport { getRegion } from '../localization'\r\n\r\nexport default async function trackPlausiblePageView(newRoute) {\r\n\tconst newR = newRoute.getCurrentRoute()\r\n\tlet url = 'app/'\r\n\tlet id = ''\r\n\tlet universe = ''\r\n\tlet chip = ''\r\n\tlet route = newR.name + '/'\r\n\r\n\tif (newR.params) {\r\n\t\tObject.keys(newR.params).forEach((param) => {\r\n\t\t\tif (param === 'id') {\r\n\t\t\t\tid = newR.params.id + '/'\r\n\t\t\t} else if (param === 'universe' && newR.params.universe?.length > 0) {\r\n\t\t\t\tuniverse = newR.params.universe + '/'\r\n\t\t\t} else if (param === 'chip' && newR.params.chip.length > 0) {\r\n\t\t\t\tchip = newR.params.chip + '/'\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\tif (route === 'EditPost/' || route === 'Conversation/') {\r\n\t\turl += universe + route + chip\r\n\t} else {\r\n\t\turl += universe + route + chip + id\r\n\t}\r\n\r\n\tif (Platform.OS !== 'web' && !__DEV__) {\r\n\t\turl = url.slice(0, -1)\r\n\t\tconst region = getRegion()\r\n\t\tconst data = {\r\n\t\t\tname: 'pageview',\r\n\t\t\turl: Paths.getBaseUrl() + url,\r\n\t\t\tdomain: `app.boblberg.${region},boblberg.samlet`,\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tawait fetch('https://plausible.io/api/event', {\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\tbody: JSON.stringify(data),\r\n\t\t\t})\r\n\t\t} catch (error) {\r\n\t\t\tif (__DEV__) console.log(error)\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Tracks an event in Plausible analytics.\r\n *\r\n * @param {string} eventName - The name of the event to track.\r\n * @param {Object} props - Additional properties to send with the event.\r\n * @param {string} url - The URL or path where the event occurred. This will be appended to the base URL for non-web platforms.\r\n */\r\nexport async function trackPlausibleEvent(eventName, props, url) {\r\n\tif (Platform.OS === 'web') {\r\n\t\twindow.plausible(eventName, { props: props })\r\n\t}\r\n\tif (Platform.OS !== 'web') {\r\n\t\tconst region = getRegion()\r\n\t\tconst data = {\r\n\t\t\tname: eventName,\r\n\t\t\turl: Paths.getBaseUrl() + 'app/' + url,\r\n\t\t\tprops: props,\r\n\t\t\tdomain: `app.boblberg.${region},boblberg.samlet`,\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tawait fetch('https://plausible.io/api/event', {\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\tbody: JSON.stringify(data),\r\n\t\t\t})\r\n\t\t} catch (error) {\r\n\t\t\tif (__DEV__) console.log(error)\r\n\t\t}\r\n\t}\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport { useSelector } from 'react-redux'\r\nimport Cookies from 'js-cookie'\r\nimport CustomDialog from '../dialogs/CustomDialog'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { Platform, StyleSheet, View } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport AsyncStorage from '@react-native-async-storage/async-storage'\r\nimport { txt } from '../../locales/i18n'\r\nimport CustomPressable from '../pressables/CustomPressable'\r\nimport { handlePaymentClick } from \"../../utils/handlePaymentClick\"\r\nimport { getSubscription } from \"../../services/api/User\"\r\nimport moment from \"moment/moment\"\r\nimport { trackPlausibleEvent } from \"../../services/api/plausible\"\r\nimport SubscriptionBenefits from \"../shared/SubscriptionBenefits\"\r\n\r\nexport default function SubscriptionWinBackDialog() {\r\n\tconst userToken = useSelector((state) => state.userToken)\r\n\tconst [visible, setVisible] = useState(false)\r\n\tconst [subscription, setSubscription] = useState(null)\r\n\r\n\tuseEffect(() => {\r\n\t\tgetSubscription().then(setSubscription)\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (userToken) {\r\n\t\t\tconst dialogTimeout = setTimeout(openDialog, 10000)\r\n\t\t\treturn () => clearTimeout(dialogTimeout)\r\n\t\t}\r\n\t}, [userToken, subscription])\r\n\r\n\tconst openDialog = async () => {\r\n\t\tif (!subscription) return\r\n\r\n\t\tconst cancelled = subscription?.state === 'active' && subscription?.is_cancelled === true\r\n\t\tif (cancelled === false) return\r\n\r\n\t\tif (!subscription.expires) return\r\n\t\tconst expirationDate = moment(subscription.expires)\r\n\r\n\t\tconst now = moment().format()\r\n\t\tconst diffInDays = expirationDate.diff(now, 'days')\r\n\t\tif (diffInDays > 14) return\r\n\r\n\t\tlet subscriptionWinBackFlag\r\n\t\tif (Platform.OS === 'web') subscriptionWinBackFlag = Cookies.get('subscriptionWinBackFlag')\r\n\t\telse subscriptionWinBackFlag = await AsyncStorage.getItem('subscriptionWinBackFlag')\r\n\r\n\t\t// To make sure the dialog is only shown once per subscription\r\n\t\tif (subscriptionWinBackFlag === subscription?.handle) return\r\n\r\n\t\tsetVisible(true)\r\n\t}\r\n\r\n\tasync function handleOpenUrl() {\r\n\t\tconst origin = 'win-back-dialog'\r\n\t\tawait trackPlausibleEvent('SubscriptionClick', { origin }, 'bobler')\r\n\t\tawait handleCloseDialog()\r\n\t\tawait handlePaymentClick({ origin })\r\n\t}\r\n\r\n\tasync function handleCloseDialog() {\r\n\t\tif (Platform.OS !== 'web') await AsyncStorage.setItem('subscriptionWinBackFlag', subscription?.handle)\r\n\t\telse Cookies.set('subscriptionWinBackFlag', subscription?.handle, { expires: new Date(subscription.expires) })\r\n\t\tsetVisible(false)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.winBack.title')}\r\n\t\t\t\t{txt('subscription.dialogs.winBack.intro')}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tdialogContainer: {\r\n\t\tmargin: 24,\r\n\t},\r\n\tcloseIcon: {\r\n\t\talignSelf: 'flex-end',\r\n\t\tposition: 'absolute',\r\n\t\tpaddingLeft: 24,\r\n\t\tzIndex: 1,\r\n\t},\r\n\ttitle: {\r\n\t\tfontSize: 24,\r\n\t\tfontFamily: 'raleway-semibold',\r\n\t\tpaddingRight: 25,\r\n\t},\r\n})\r\n","import React, { useState, useEffect, useRef } from 'react'\r\nimport { useSelector } from 'react-redux'\r\nimport { Dimensions, Image, StyleSheet, View, Platform, AppState } from 'react-native'\r\nimport { CommonActions } from '@react-navigation/routers'\r\nimport { useNavigation, useRoute } from '@react-navigation/core'\r\nimport AsyncStorage from '@react-native-async-storage/async-storage'\r\nimport moment from 'moment'\r\nimport { useAtomValue } from 'jotai'\r\nimport { txt } from '../../locales/i18n'\r\n\r\nimport {\r\n\tcreatePost as createPostApi,\r\n\tgetFavoritePosts as getFavoritePostsApi,\r\n\tgetOwnPosts as getOwnPostsApi,\r\n\tgetPostFeedIds,\r\n\tgetPostsFromIds,\r\n} from '../../services/api/Posts'\r\nimport { getSubscription } from '../../services/api/User'\r\nimport { handlePaymentClick } from '../../utils/handlePaymentClick'\r\n\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport MyPosts from '../../components/views/Post/MyPosts'\r\nimport FavoritePosts from '../../components/views/Post/FavoritePosts'\r\nimport PostFeed from '../../components/views/Post/PostFeed'\r\nimport CreateEditPost from '../../components/views/Post/CreateEditPost'\r\nimport { CustomChip } from '../../components/chips/Chip'\r\nimport { CustomText } from '../../components/text/StyledText'\r\nimport NormalIcon from '../../components/icons/NormalIcon'\r\nimport CustomPressable from '../../components/pressables/CustomPressable'\r\n\r\nimport Colors from '../../constants/Colors'\r\nimport Layout from '../../constants/Layout'\r\n\r\nimport boblbergLogo from '../../assets/images/boblberg.png'\r\nimport boblbergRKLogo from '../../assets/images/icon.png'\r\nimport { deepLinkingStatusAtom } from '../../atoms'\r\nimport SubscriptionWinBackDialog from \"../../components/dialogs/SubscriptionWinBackDialog\"\r\n\r\nexport default function HomeScreen() {\r\n\tconst [selectedMenuItem, setSelectedMenuItem] = useState('')\r\n\tconst [renderSubscriptionBanner, setRenderSubscriptionBanner] = useState(false)\r\n\tconst [expirationText, setExpirationText] = useState('')\r\n\r\n\tconst status = useAtomValue(deepLinkingStatusAtom)\r\n\r\n\tconst user = useSelector(({ user }) => user)\r\n\tconst appState = useRef(AppState.currentState)\r\n\tconst childFunc = useRef(null)\r\n\tconst navigation = useNavigation()\r\n\tconst router = useRoute()\r\n\r\n\tmoment.locale(user?.language ?? 'da')\r\n\r\n\tconst chips = {\r\n\t\tall: txt('post.menu.feed'),\r\n\t\tmine: txt('posts.chipParams.mine'),\r\n\t\tfavorites: txt('posts.chipParams.favorites'),\r\n\t\tcreate: txt('posts.chipParams.create'),\r\n\t\tmineTitle: txt('post.menu.myPosts'),\r\n\t\tfavoritesTitle: txt('post.menu.favoritePosts'),\r\n\t\tcreateTitle: txt('post.menu.createPost'),\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tconst nonDKUser = user.country !== 'Denmark'\r\n\t\tconst boblbergLogoStyle = { height: 34, width: 200 }\r\n\t\tconst boblbergRKLogoStyle = { height: 54, width: 200 }\r\n\r\n\t\tnavigation.setOptions({\r\n\t\t\theaderTitle: () => (\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t})\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (status !== 'idle' && status !== 'success') return\r\n\r\n\t\tgetSubscription().then((subscription) => {\r\n\t\t\tif (subscription?.is_cancelled === true) {\r\n\t\t\t\tconst expirationDate = moment(subscription?.expires)\r\n\t\t\t\tconst now = moment().format()\r\n\t\t\t\tconst diffInDays = expirationDate.diff(now, 'days')\r\n\r\n\t\t\t\tsetExpirationText(() => {\r\n\t\t\t\t\tif (diffInDays === 1) return txt('subscription.expiresTomorrowTitle', { days: diffInDays })\r\n\t\t\t\t\tif (diffInDays > 1) return txt('subscription.expiresInXDaysTitle', { days: diffInDays })\r\n\t\t\t\t\treturn txt('subscription.expiresSoonTitle')\r\n\t\t\t\t})\r\n\t\t\t\treturn setRenderSubscriptionBanner(diffInDays <= 20)\r\n\t\t\t}\r\n\r\n\t\t\tsetRenderSubscriptionBanner(false)\r\n\t\t})\r\n\t}, [status])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (Platform.OS === 'web') return\r\n\t\tconst subscription = AppState.addEventListener('change', async (nextAppState) => {\r\n\t\t\tif (appState.current.match(/inactive|background/) && nextAppState === 'active') {\r\n\t\t\t\tawait handleLastRendered()\r\n\t\t\t}\r\n\t\t\tappState.current = nextAppState\r\n\t\t})\r\n\r\n\t\treturn () => subscription?.remove()\r\n\t}, [])\r\n\r\n\tconst handleLastRendered = async () => {\r\n\t\tconst dateNow = Date.now()\r\n\t\tconst key = 'feedLastRendered'\r\n\t\tconst lastRendered = await AsyncStorage.getItem(key)\r\n\r\n\t\tif (lastRendered === null) {\r\n\t\t\treturn await AsyncStorage.setItem(key, String(dateNow))\r\n\t\t}\r\n\r\n\t\tconst oneDay = 1000 * 60 * 60 * 24\r\n\t\tif (dateNow < Number(lastRendered) + oneDay) return\r\n\r\n\t\tawait AsyncStorage.setItem(key, String(dateNow))\r\n\t\tawait childFunc?.current?.()\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tconst chip = router.params?.chip\r\n\t\tsetSelectedMenuItem(chip ? chip : '')\r\n\t}, [navigation, router.params])\r\n\r\n\tconst navigateToPost = (id) => {\r\n\t\tnavigation.navigate('Post', { id })\r\n\t}\r\n\r\n\tfunction navigateToEditPost(id) {\r\n\t\tnavigation.navigate('EditPost', { id })\r\n\t}\r\n\r\n\tconst navigateToCreatePost = (plausibleOrigin) => {\r\n\t\tif (Platform.OS === 'web') {\r\n\t\t\twindow.plausible('createBobl', {\r\n\t\t\t\tprops: { source: plausibleOrigin },\r\n\t\t\t})\r\n\t\t}\r\n\t\tsetChipParam(txt('posts.chipParams.create'))\r\n\t}\r\n\r\n\tconst createPost = async (data) => {\r\n\t\treturn await createPostApi(data)\r\n\t}\r\n\r\n\tconst getOwnPosts = async () => {\r\n\t\treturn await getOwnPostsApi()\r\n\t}\r\n\r\n\tconst getFavoritePosts = async () => {\r\n\t\treturn await getFavoritePostsApi()\r\n\t}\r\n\r\n\tasync function getNewPostIds(filters) {\r\n\t\tconst { postIds } = await getPostFeedIds(filters)\r\n\t\treturn postIds\r\n\t}\r\n\r\n\tconst setChipParam = (chip) => {\r\n\t\tnavigation.dispatch(CommonActions.setParams({ chip }))\r\n\t}\r\n\r\n\tasync function handleOpenUrl() {\r\n\t\tconst origin = 'expires-soon-banner'\r\n\t\tif (Platform.OS === 'web') window.plausible('SubscriptionClick', { props: { origin } })\r\n\t\tawait handlePaymentClick({ origin })\r\n\t}\r\n\r\n\tconst renderChips = () => {\r\n\t\tconst isSmallDevice = Dimensions.get('window').width < 375\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{renderSubscriptionBanner === true && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{expirationText}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{txt('subscription.expiresSoonBody')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t setChipParam('')}\r\n\t\t\t\t\t\t\t\ttext={chips.all}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t setChipParam(chips.mine)}\r\n\t\t\t\t\t\t\t\ttext={chips.mineTitle}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t setChipParam(chips.favorites)}\r\n\t\t\t\t\t\t\t\ttext={!isSmallDevice && chips.favoritesTitle}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tif (Platform.OS === 'web') {\r\n\t\t\t\t\t\t\t\t\t\twindow.plausible('createBobl', { props: { source: 'chip' } })\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tsetChipParam(chips.create)\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\ttext={chips.createTitle}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tfunction isVisible(chipName) {\r\n\t\treturn router.params?.chip === chipName\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t {\r\n\t\t\t\t\tnavigation.navigate('Home', {\r\n\t\t\t\t\t\tparams: { chip: txt('posts.chipParams.mine') },\r\n\t\t\t\t\t})\r\n\t\t\t\t}}\r\n\t\t\t\tcreatePost={createPost}\r\n\t\t\t\trenderChips={renderChips}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcenter: {\r\n\t\talignItems: 'center',\r\n\t\tpaddingHorizontal: 12,\r\n\t},\r\n\tchip: {\r\n\t\tmarginBottom: 5,\r\n\t\tmarginLeft: 3,\r\n\t\tmarginRight: 3,\r\n\t},\r\n\tchipContainer: {\r\n\t\talignSelf: 'center',\r\n\t\tflexDirection: 'row',\r\n\t\tmarginTop: 5,\r\n\t},\r\n\trow: {\r\n\t\tflexDirection: 'row',\r\n\t},\r\n\tsubscriptionBanner: {\r\n\t\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t\talignSelf: 'center',\r\n\t\twidth: '100%',\r\n\t\tmaxWidth: Layout.maxFeedWidth,\r\n\t\tbackgroundColor: Colors.redLight,\r\n\t\tpadding: 12,\r\n\t\tmarginVertical: 6,\r\n\t\tborderRadius: 8,\r\n\t},\r\n\tsubscriptionBannerTextContainer: {\r\n\t\tflexGrow: 1,\r\n\t\tflex: 1,\r\n\t},\r\n\tsubscriptionBannerText: {\r\n\t\tpaddingLeft: 12,\r\n\t\tcolor: Colors.white,\r\n\t},\r\n})\r\n","import React from 'react'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nconst FavoriteIndicator = (props) => (\r\n props.toggleFavorite()}\r\n accessibilityRole={'button'}\r\n accessibilityLabel={props.isFavorite ? txt('fullPost.removeFavorite') : txt('fullPost.favorite')}\r\n accessibilityLiveRegion={'polite'}\r\n accessibilityHint={txt('fullPost.favoriteHint')}\r\n >\r\n \r\n \r\n)\r\n\r\nexport default FavoriteIndicator\r\n","import React from 'react'\r\nimport { Platform } from 'react-native'\r\nimport { Helmet } from 'react-helmet'\r\n\r\nexport default class PageTitle extends React.PureComponent {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n if (Platform.OS === 'web') {\r\n return (\r\n \r\n {this.props.title ?? ''}\r\n \r\n )\r\n } else {\r\n return <>\r\n }\r\n }\r\n}\r\n","import React from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { RoundBtn } from '../../buttons/StyledButtons'\r\nimport { txt } from '../../../locales/i18n'\r\n\r\nexport default function ({ navigateToBobls, navigateToFrontpage, signedIn }) {\r\n const handleActionPress = () => {\r\n if (signedIn) {\r\n navigateToBobls()\r\n } else {\r\n navigateToFrontpage()\r\n }\r\n }\r\n\r\n return (\r\n \r\n {':-('}\r\n \r\n {txt('postNotFound.body')}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n alignSelf: 'center',\r\n padding: 24,\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n flexGrow: 1,\r\n maxWidth: 400,\r\n marginBottom: 60,\r\n },\r\n textIllustration: {\r\n fontSize: 60,\r\n marginBottom: 24,\r\n },\r\n text: {\r\n textAlign: 'center',\r\n },\r\n button: {\r\n marginTop: 36,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { Platform, StyleSheet, View } from 'react-native'\r\n\r\nimport CustomDialog, { ContentContainer } from './CustomDialog'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { txt } from '../../locales/i18n'\r\nimport Colors from '../../constants/Colors'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport { handlePaymentClick } from \"../../utils/handlePaymentClick\"\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\nimport SubscriptionBenefits from \"../shared/SubscriptionBenefits\"\r\n\r\nexport default function ContactUnavailableDialog({ visible, hide, post, username }) {\r\n\r\n\tconst handleClick = async () => {\r\n\t\tconst origin = post ? 'bobl-send-message' : 'conversation-send-message';\r\n\t\tif (Platform.OS === 'web') window.plausible('SubscriptionClick', { props: { origin } });\r\n\t\t\r\n\t\thide()\r\n\t\tawait handlePaymentClick({ origin, post });\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t{txt('subscription.dialogs.contactUnavailable.title', { username })}\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.intro')}\r\n\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.button')}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcloseIcon: {\r\n\t\talignSelf: 'flex-end',\r\n\t\tposition: 'absolute',\r\n\t\tpaddingLeft: 24,\r\n\t\tzIndex: 1,\r\n\t},\r\n\ttitle: {\r\n\t\tfontSize: 24,\r\n\t\tfontFamily: 'raleway-semibold',\r\n\t\tpaddingRight: 25,\r\n\t},\r\n\tpaymentBtn: {\r\n\t\tminWidth: 200,\r\n\t\tmarginBottom: 24,\r\n\t\tpaddingVertical: 12,\r\n\t\tbackgroundColor: Colors.greenBtn,\r\n\t},\r\n})\r\n","import CustomDialog, { ActionButton, ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { View } from 'react-native'\r\nimport React from 'react'\r\n\r\nexport default function SignUpDialog({ navigateToFrontpage, username, visible, toggle }) {\r\n return (\r\n \r\n \r\n \r\n {txt('post.notSignedIn', {name: username})}\r\n \r\n \r\n \r\n {txt('post.signUp')}\r\n \r\n \r\n )\r\n}","import CustomDialog, { ActionButton, ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport React from 'react'\r\n\r\nexport function OwnPostDialog({visible, toggle}) {\r\n return (\r\n \r\n \r\n \r\n {txt('post.ownPostText')}\r\n \r\n \r\n \r\n {txt('post.ok')}\r\n \r\n \r\n )\r\n}","import React from 'react'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport Colors from '../constants/Colors'\r\nimport { cardShadow } from '../styles/shadows'\r\nimport CustomPressable from \"./pressables/CustomPressable\"\r\n\r\nexport default function Card({ style, children, largeRadius, onPress, ...props }) {\r\n''\r\n const containerStyle = [styles.container, { borderRadius: largeRadius ? 36 : 12 }, style]\r\n\r\n if (onPress) {\r\n return {children}\r\n } else {\r\n return {children}\r\n }\r\n\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n backgroundColor: Colors.white,\r\n ...cardShadow\r\n }\r\n})","import React, { useState } from 'react'\r\nimport { StyleSheet } from 'react-native'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport default function OptionButton({\r\n onPress,\r\n vertical,\r\n size,\r\n hoverColor,\r\n color,\r\n style\r\n}) {\r\n const [hover, setHover] = useState(false)\r\n\r\n const handleMouseEnter = () => {\r\n setHover(true)\r\n }\r\n\r\n const handleMouseLeave = () => {\r\n setHover(false)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n moreBtn: {\r\n opacity: 0.4,\r\n padding: 6,\r\n },\r\n moreBtnBg: {\r\n borderRadius: 100,\r\n },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { Keyboard, StyleSheet, View } from 'react-native'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport OptionButton from '../buttons/OptionButton'\r\nimport OptionsDialog from '../dialogs/OptionsDialog'\r\nimport CustomDialog, { ContentContainer } from '../dialogs/CustomDialog'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { InputPrimary } from '../text/StyledTextinputs'\r\nimport { reportContent } from '../../services/api/Reports'\r\nimport { ButtonPrimary, ButtonSecondary } from '../buttons/StyledButtons'\r\nimport { txt } from '../../locales/i18n'\r\nimport Card from '../Card'\r\nimport NormalIcon from '../icons/NormalIcon'\r\n\r\nexport default function ReportContent({ optionList, reportingTypeId, contentId }) {\r\n const [showOptions, setShowOptions] = useState(false)\r\n const [showReportConfirm, setShowReportConfirm] = useState(false)\r\n const [options, setOptions] = useState(optionList ? [...optionList] : [])\r\n\r\n useEffect(() => {\r\n const reportOption = {\r\n label: txt('report.title'),\r\n icon: \"flag-alt\",\r\n action: handleReportPress,\r\n }\r\n\r\n setOptions((options) => [...options, reportOption])\r\n }, [])\r\n\r\n const toggleShowOptions = () => {\r\n setShowOptions((prev) => !prev)\r\n }\r\n\r\n const handleReportContent = async (message) => {\r\n const res = await reportContent({ reportingTypeId, contentId, message })\r\n if (res) return true\r\n toggleShowReportConfirm()\r\n }\r\n\r\n const toggleShowReportConfirm = () => {\r\n setShowReportConfirm((prev) => !prev)\r\n }\r\n\r\n const handleReportPress = async () => {\r\n toggleShowOptions()\r\n toggleShowReportConfirm()\r\n }\r\n\r\n return (\r\n <>\r\n {reportingTypeId === 1 ? (\r\n \r\n \r\n \r\n {txt('report.title')}\r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nfunction ConfirmReportDialog({ confirm, cancel, visible }) {\r\n const [reportMsg, setReportMsg] = useState(null)\r\n const [success, setSuccess] = useState(false)\r\n const [error, setError] = useState(false)\r\n\r\n const handleConfirm = async () => {\r\n const reported = await confirm(reportMsg)\r\n if (reported) {\r\n setReportMsg(null)\r\n setSuccess(true)\r\n setTimeout(() => {\r\n setSuccess(false)\r\n cancel()\r\n }, 1500)\r\n } else setError(true)\r\n }\r\n\r\n const handleClose = () => {\r\n setReportMsg(null)\r\n setError(false)\r\n cancel()\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {success ? txt('report.success') : error ? txt('report.error') : txt('report.title')}\r\n \r\n {!success && !error && (\r\n setReportMsg(value)}\r\n />\r\n )}\r\n \r\n\r\n \r\n {!success && !error && (\r\n \r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n button: { marginTop: 12, width: '100%' },\r\n box: {\r\n marginBottom: 12,\r\n padding: 12,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n})\r\n","import { apiPost } from './ApiRequest'\r\n\r\n/**\r\n table: reporting_type\r\n 0 - post\r\n 1 - conversation\r\n 2 - activity\r\n 3 - union\r\n */\r\nexport async function reportContent({ reportingTypeId, contentId, message }) {\r\n const body = { reportingTypeId, contentId, message }\r\n let res = await apiPost(body, 'reportings')\r\n return res.json()\r\n}","import Colors from '../constants/Colors'\r\n\r\nexport const universes = [\r\n\t{\r\n\t\tname: 'aauucn',\r\n\t\tid: 1,\r\n\t\tpageTitle: 'Studiebobler.dk',\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.textLight,\r\n\t\ttabBarActiveTextColor: Colors.tintColor,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/studiebobler_logo.png',\r\n\t\tlogoLabel: 'Studiebobler.dk logo',\r\n\t\ttitle: 'Studiebobler',\r\n\t},\r\n\t{\r\n\t\tname: 'ffb',\r\n\t\tid: 2,\r\n\t\tpageTitle: 'Frederiksberg Forenede Boligselskaber | Boblberg.dk',\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.textLight,\r\n\t\ttabBarActiveTextColor: Colors.tintColor,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/ffb_logo.png',\r\n\t\tlogoLabel: 'FFB logo',\r\n\t\ttitle: 'Frederiksberg Forenede Boligselskaber',\r\n\t},\r\n\t{\r\n\t\tname: 'sab',\r\n\t\tid: 3,\r\n\t\tpageTitle: 'Samvirkende Boligselskaber | Boblberg.dk',\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.textLight,\r\n\t\ttabBarActiveTextColor: Colors.tintColor,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/sab_logo.png',\r\n\t\tlogoLabel: 'SAB logo',\r\n\t\ttitle: 'Samvirkende Boligselskaber',\r\n\t},\r\n\t{\r\n\t\tname: 'bes',\r\n\t\tid: 4,\r\n\t\tpageTitle: 'Ballerup Ejendomsselskab | Boblberg.dk',\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.textLight,\r\n\t\ttabBarActiveTextColor: Colors.tintColor,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/bes_logo.png',\r\n\t\tlogoLabel: 'BES logo',\r\n\t\ttitle: 'Ballerup Ejendomsselskab',\r\n\t},\r\n\t{\r\n\t\tname: 'lbs',\r\n\t\tid: 5,\r\n\t\tpageTitle: 'Lyngby Boligselskab | Boblberg.dk',\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.textLight,\r\n\t\ttabBarActiveTextColor: Colors.tintColor,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/lbs_logo.png',\r\n\t\tlogoLabel: 'LBS logo',\r\n\t\ttitle: 'Lyngby Boligselskab',\r\n\t},\r\n\t{\r\n\t\tname: 'bsf',\r\n\t\tid: 6,\r\n\t\tpageTitle: 'Boligselskabet Friheden | Boblberg.dk',\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.textLight,\r\n\t\ttabBarActiveTextColor: Colors.tintColor,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/bsf_logo.png',\r\n\t\tlogoLabel: 'BSF logo',\r\n\t\ttitle: 'Boligselskabet Friheden',\r\n\t},\r\n\t{\r\n\t\tname: 'abs',\r\n\t\tid: 7,\r\n\t\tpageTitle: 'Avedøre Boligselskab | Boblberg.dk',\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.textLight,\r\n\t\ttabBarActiveTextColor: Colors.tintColor,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/abs_logo.png',\r\n\t\tlogoLabel: 'ABS logo',\r\n\t\ttitle: 'Avedøre Boligselskab',\r\n\t},\r\n\t{\r\n\t\tname: 'rf',\r\n\t\tid: 8,\r\n\t\tpageTitle: 'Roskilde Festival | Boblberg.dk',\r\n\t\tbackgroundColor: Colors.greyLightLight,\r\n\t\tleftChatBubbleBackground: Colors.white,\r\n\t\trightChatBubbleBackground: Colors.black,\r\n\t\tconversationPostsItemBackground: Colors.white,\r\n\t\ttabBarColor: Colors.dark,\r\n\t\ttabBarTextColor: Colors.white,\r\n\t\ttabBarActiveTextColor: Colors.orangeRf,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/rf_logo.png',\r\n\t\tlogoLabel: 'RF logo',\r\n\t\ttitle: 'Roskilde Festival',\r\n\t},\r\n\t{\r\n\t\tname: 'herlev',\r\n\t\tid: 9,\r\n\t\tpageTitle: 'Herlevbobler | Boblberg.dk',\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.textLight,\r\n\t\ttabBarActiveTextColor: Colors.tintColor,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/herlevbobler_logo.png',\r\n\t\tlogoLabel: 'Herlevbobler.dk logo',\r\n\t\ttitle: 'Herlevbobler',\r\n\t},\r\n\t{\r\n\t\tname: 'nytaarsvenner',\r\n\t\tid: 10,\r\n\t\tpageTitle: 'Nytårsvenner | Boblberg.dk',\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tleftChatBubbleBackground: '#efcf93',\r\n\t\trightChatBubbleBackground: Colors.black,\r\n\t\tconversationPostsItemBackground: Colors.white,\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.newYearPrimary,\r\n\t\ttabBarActiveTextColor: Colors.newYearPrimary,\r\n\t\tboblHighlightColor: Colors.newYearPrimary,\r\n\t\tchipUnselectedColor: '#e5be6a',\r\n\t\tchipTextColor: Colors.black,\r\n\t\tseparatorColor: Colors.newYearPrimary,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/nytaarsvenner-logo-dk.png',\r\n\t\tlogoLabel: 'Nytårsvenner logo',\r\n\t\ttitle: 'Nytårsvenner',\r\n\t},\r\n\t{\r\n\t\tname: 'au',\r\n\t\tid: 12,\r\n\t\tpageTitle: 'Studiebobler.dk',\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.textLight,\r\n\t\ttabBarActiveTextColor: Colors.tintColor,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/studiebobler/sr-studiebobler-logo.png',\r\n\t\tlogoLabel: 'Studiebobler.dk logo',\r\n\t\ttitle: 'Studiebobler',\r\n\t},\r\n\t{\r\n\t\tname: 'krifa',\r\n\t\tid: 13,\r\n\t\tpageTitle: 'Krifa',\r\n\t\tbackgroundColor: '#f8f9ff',\r\n\t\ttabBarColor: '#651560',\r\n\t\ttabBarTextColor: Colors.whiteTransparent,\r\n\t\ttabBarActiveTextColor: Colors.white,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/krifa_boblberg_logo.png',\r\n\t\tlogoLabel: 'Boblberg i samarbejde med Krifa logo',\r\n\t\ttitle: 'Krifa',\r\n\t},\r\n\t{\r\n\t\tname: 'nyarsvanner',\r\n\t\tid: 14,\r\n\t\tpageTitle: 'Nyårsvänner | Boblberg.se',\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tleftChatBubbleBackground: '#efcf93',\r\n\t\trightChatBubbleBackground: Colors.black,\r\n\t\tconversationPostsItemBackground: Colors.white,\r\n\t\ttabBarColor: Colors.white,\r\n\t\ttabBarTextColor: Colors.newYearPrimary,\r\n\t\ttabBarActiveTextColor: Colors.newYearPrimary,\r\n\t\tboblHighlightColor: Colors.newYearPrimary,\r\n\t\tchipUnselectedColor: '#e5be6a',\r\n\t\tchipTextColor: Colors.black,\r\n\t\tseparatorColor: Colors.newYearPrimary,\r\n\t\tlogo: 'https://filer.boblberg.dk/assets/img/universe/nytaarsvenner-logo-se.png',\r\n\t\tlogoLabel: 'Nyårsvänner logo',\r\n\t\ttitle: 'Nyårsvänner',\r\n\t},\r\n]\r\n","import { Platform } from 'react-native'\r\n\r\nimport { universes } from './universeConfig'\r\nimport { initialUrlAtom, jotaiStore } from '../atoms'\r\n\r\nexport function isUniverse(name) {\r\n\treturn universes.some((universe) => universe.name === name?.toLowerCase())\r\n}\r\n\r\nexport function getUniverseId(name) {\r\n const universe = universes.find(\r\n (universe) => universe.name === name?.toLowerCase()\r\n )\r\n return universe?.id\r\n}\r\n\r\nexport function extractUniverseFromWeb() {\r\n\tif (Platform.OS !== 'web') return null\r\n\r\n\tconst pathSegments = window.location.href.split('/')\r\n\tconst universeIndex = pathSegments.indexOf('u') + 1\r\n\r\n\tif (universeIndex > 0 && pathSegments[universeIndex]) {\r\n\t\treturn pathSegments[universeIndex].toLowerCase()\r\n\t}\r\n\r\n\treturn null\r\n}\r\n\r\nexport function getUniverseConfig(name) {\r\n\tconst target = name || extractUniverseFromWeb()\r\n\r\n\tconst universe = universes.find((universe) => {\r\n\t\treturn universe.name === target?.toLowerCase()\r\n\t})\r\n\r\n\treturn universe\r\n}\r\n\r\nexport function getUniverseConfigById(id) {\r\n const universe = universes.find((universe) => universe.id === id)\r\n return universe\r\n}\r\n\r\nconst getNameFromRoutePattern = (values, pattern) => {\r\n\tconst json = JSON.stringify(values)\r\n\tconst matches = json.match(pattern)\r\n\r\n\tconst universeName = matches?.groups?.universeName ?? null\r\n\treturn universeName?.toLowerCase() ?? null\r\n}\r\n\r\nconst getNameFromInitialUrl = () => {\r\n\tconst initialUrl = jotaiStore.get(initialUrlAtom)\r\n\tif (initialUrl === null) return null\r\n\r\n\tconst universeNamePattern = /u\\/(?\\w+)/\r\n\tconst matches = initialUrl.match(universeNamePattern)\r\n\r\n\tconst universeName = matches?.groups?.universeName ?? null\r\n\treturn universeName ?? null\r\n}\r\n\r\nexport const getName = (route) => {\r\n\tconst routeUniversePattern = /\"universe\":\"(?\\w+)/\r\n\tconst universeNameRouteUniverse = getNameFromRoutePattern(route, routeUniversePattern)\r\n\tif (universeNameRouteUniverse !== null) return universeNameRouteUniverse\r\n\r\n\tconst routePathPattern = /\"path\":\"u\\/(?\\w+)/\r\n\tconst universeNameRoutePath = getNameFromRoutePattern(route, routePathPattern)\r\n\tif (universeNameRoutePath !== null) return universeNameRoutePath\r\n\r\n\tif (Platform.OS === 'web') {\r\n\t\tconst url = window.location.pathname\r\n\t\tconst universeNamePattern = /u\\/(?\\w+)/\r\n\t\tconst matches = url.match(universeNamePattern)\r\n\r\n\t\tconst universeName = matches?.groups?.universeName ?? null\r\n\t\tif (universeName !== null) return universeName.toLowerCase()\r\n\t}\r\n\r\n\tconst universeNameInitialUrl = getNameFromInitialUrl()\r\n\tif (universeNameInitialUrl !== null) return universeNameInitialUrl\r\n\r\n\treturn null\r\n}\r\n\r\nexport function getConfig(name) {\r\n\tconst universe = universes.find((universe) => {\r\n\t\treturn universe.name.toLowerCase() === name?.toLowerCase()\r\n\t})\r\n\r\n\treturn universe ?? null\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet, Dimensions } from 'react-native'\r\nimport { getFullPost, setPostFavorite } from '../../../services/api/Posts'\r\nimport Paths from '../../../constants/Paths'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport { txt } from '../../../locales/i18n'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { getConversationId } from '../../../services/api/Inbox'\r\nimport FavoriteIndicator from '../../headers/FavoriteIndicator'\r\nimport { ImageHighlightPost } from '../../images/ImageHighlight'\r\nimport PageTitle from '../../tags/PageTitle'\r\nimport { formatForMetaTitle } from '../../text/TextFormatter'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport store from '../../../redux/store'\r\nimport PostNotFound from './PostNotFound'\r\nimport ContactUnavailableDialog from '../../dialogs/ContactUnavailableDialog'\r\nimport SignUpDialog from './Dialogs/SignUpDialog'\r\nimport { OwnPostDialog } from './Dialogs/OwnPostDialog'\r\nimport { useNavigation, useRoute } from '@react-navigation/core'\r\nimport { setOrigin } from '../../../redux/actions'\r\nimport Card from '../../Card'\r\nimport { useSelector } from 'react-redux'\r\nimport ReportContent from '../../callToActions/reportContent'\r\nimport { getHasFeatureOne, getSubscription } from \"../../../services/api/User\"\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nimport { useAtomValue } from 'jotai'\r\nimport { SeClickedPostIdsAtom, DkClickedPostIdsAtom } from '../../../atoms'\r\nimport { getUniverseConfigById } from \"../../../universe/universeController\"\r\n\r\nconst small = Dimensions.get('window').width < 500\r\n\r\nexport default function Post(props) {\r\n const navigation = useNavigation()\r\n const [loading, setLoading] = useState(true)\r\n const [item, setItem] = useState({\r\n id: 0,\r\n is_favorite: 0,\r\n title: '',\r\n body: '',\r\n username: '',\r\n user_id: null,\r\n img_filename: '',\r\n location: '',\r\n municipality_id: 0,\r\n own_municipality_id: 0,\r\n own_municipality_name: '',\r\n municipality_contact: '',\r\n subscriber: false,\r\n })\r\n const [accessDialogVisible, setAccessDialogVisible] = useState(false)\r\n const [ownPostVisible, setOwnPostVisible] = useState(false)\r\n const [showNotSignedInDialog, setShowNotSignedInDialog] = useState(false)\r\n const [notFound, setNotFound] = useState(false)\r\n const [subscription, setSubscription] = useState(null)\r\n const [municipalityName, setMunicipalityName] = useState(null)\r\n const [postOwnerHasFeatureOne, setPostOwnerHasFeatureOne] = useState(false)\r\n const [universe, setUniverse] = useState(null)\r\n\r\n const sePostFeedIds = useAtomValue(SeClickedPostIdsAtom)\r\n const dkPostFeedIds = useAtomValue(DkClickedPostIdsAtom)\r\n const ownUserId = useSelector((state) => state.user?.id)\r\n const country = useSelector((state) => state.user?.country)\r\n\r\n const ownPost = item.user_id === ownUserId\r\n const route = useRoute()\r\n const postId = route.params.id ?? null\r\n\r\n\tuseEffect(() => {\r\n\t\tsetLoading(true)\r\n\r\n\t\tif (postId === null) {\r\n\t\t\tsetNotFound(true)\r\n\t\t\treturn setLoading(false)\r\n\t\t}\r\n\r\n\t\tgetFullPost(postId).then((post) => {\r\n\t\t\tif (!post) {\r\n\t\t\t\tsetNotFound(true)\r\n\t\t\t\treturn setLoading(false)\r\n\t\t\t}\r\n\r\n\t\t\tpost.username = setUsername(post)\r\n\t\t\tsetItem(post)\r\n\t\t\tsetMunicipalityName(post.municipality_name)\r\n\r\n\t\t\tif (post?.universe_id) {\r\n\t\t\t\tconst universeConfig = getUniverseConfigById(post?.universe_id)\r\n\t\t\t\tsetUniverse(universeConfig)\r\n\t\t\t}\r\n\r\n\t\t\tif (post.user_id !== ownUserId) {\r\n\t\t\t\tconst headerRight = () => \r\n\t\t\t\tnavigation.setOptions({ headerRight })\r\n\t\t\t}\r\n\r\n\t\t\tif (ownUserId) {\r\n\t\t\t\tgetSubscription().then((sub) => {\r\n\t\t\t\t\tconst notPending = sub?.state === 'active' && sub?.pending_invoices === 0\r\n\t\t\t\t\tconst notDunning = sub?.state === 'active' && sub?.dunning_invoices === 0\r\n\t\t\t\t\tif (sub?.state === 'active' && notPending && notDunning) setSubscription(sub)\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\t// Using below to check that post owners with feature one can receive messages as well.\r\n\t\t\t// If we grant feature 1 to specific users without a sponsor (example: K7)\r\n\t\t\tgetHasFeatureOne(post?.user_id).then(setPostOwnerHasFeatureOne)\r\n\t\t\tsetLoading(false)\r\n\t\t})\r\n\t}, [postId])\r\n\r\n useEffect(() => {\r\n const unsubscribe = navigation.addListener('focus', () => {\r\n getFullPost(postId).then((post) => {\r\n if (post) {\r\n post.username = setUsername(post)\r\n setItem(post)\r\n }\r\n else setNotFound(true)\r\n })\r\n })\r\n\r\n return unsubscribe\r\n }, [navigation, postId])\r\n\r\n const setUsername = (post) => {\r\n const username = post?.username ?? ''\r\n\r\n const own = post.user_id === ownUserId\r\n if (own) return username\r\n\r\n const hasFeature1 = store.getState().user?.features?.includes(1)\r\n if (hasFeature1) return username\r\n\r\n const [firstName, ...lastNames] = username.split(' ')\r\n if (lastNames.length === 0) return username\r\n\r\n return firstName\r\n }\r\n\r\n const showAccessDialog = () => setAccessDialogVisible(true)\r\n const hideAccessDialog = () => setAccessDialogVisible(false)\r\n\r\n const handleSend = async () => {\r\n if (ownUserId === undefined) {\r\n toggleNotSignedInDialog()\r\n setPostAsOrigin()\r\n return\r\n }\r\n if (!item.user_id) return\r\n\r\n if (!canSendMessage()) {\r\n showAccessDialog()\r\n } else {\r\n const conversationId = await getConversationId({ postId: item.id, receiverId: item.user_id })\r\n if (conversationId) {\r\n props.navigateToConversation(conversationId)\r\n } else {\r\n props.navigateToNewConversation(item)\r\n }\r\n }\r\n }\r\n\r\n const toggleFavorite = async () => {\r\n await setPostFavorite(item.id, item.is_favorite)\r\n setItem((prevState => ({ ...prevState, is_favorite: item.is_favorite ? 0 : 1 })))\r\n }\r\n\r\n const toggleOwnPostDialog = () => {\r\n setOwnPostVisible((prevState => !prevState))\r\n }\r\n\r\n const toggleNotSignedInDialog = () => {\r\n setShowNotSignedInDialog((prevState => (!prevState)))\r\n }\r\n\r\n\tconst canSendMessage = () => {\r\n\t\t// German users can send messages to everyone\r\n\t\tif (country === 'Germany') return true\r\n\r\n\t\tif (item.universe_id === 10 || item.universe_id === 14) return true // Always allow to write to Nytårsvenner DK and SE\r\n\r\n\t\tconst hasMessageFeature = store.getState().user?.features?.includes(1)\r\n\t\tif (hasMessageFeature) return true\r\n\r\n\t\tif (country === 'Sweden') {\r\n\t\t\tconst postIndex = sePostFeedIds.indexOf(Number(props.id))\r\n\t\t\t\r\n\t\t\t// incremental steps for display of subscription dialog\r\n\t\t\tconst contactIncrement = 3\r\n\t\t\treturn (postIndex + 1) % contactIncrement !== 0\r\n\t\t}\r\n\r\n\t\tif (country === 'Denmark') {\r\n\t\t\tconst postIndex = dkPostFeedIds.indexOf(Number(props.id))\r\n\t\t\t\r\n\t\t\t// incremental steps for display of subscription dialog\r\n\t\t\tconst contactIncrement = 3\r\n\t\t\treturn (postIndex + 1) % contactIncrement === 1\r\n\t\t}\r\n\r\n\t\tconst sameMunicipality = item.own_municipality_id === item.municipality_id\r\n\t\tconst isUniversePostInUniverse = !!item.universe_id && !!route.params.universe\r\n\t\treturn hasMessageFeature || item.subscriber || !sameMunicipality || isUniversePostInUniverse || postOwnerHasFeatureOne\r\n\t}\r\n\r\n const editPost = () => {\r\n props.navigateToEditPost(item.id)\r\n }\r\n\r\n const setPostAsOrigin = () => {\r\n store.dispatch(\r\n setOrigin({\r\n screen: 'Post',\r\n stack: 'HomeStack',\r\n rootStack: 'app',\r\n params: { id: item.id },\r\n }),\r\n )\r\n }\r\n\r\n if (!loading) {\r\n if (notFound) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n {ownPost ? (\r\n \r\n \r\n \r\n ) : ownUserId !== undefined ? (\r\n \r\n ) : null}\r\n \r\n\r\n \r\n \r\n \r\n \r\n {item.username}\r\n \r\n \r\n\r\n {!!item.location && (\r\n \r\n \r\n \r\n {item.location}\r\n \r\n \r\n )}\r\n\r\n {subscription && municipalityName && (\r\n \r\n \r\n \r\n {municipalityName + txt('fullPost.municipality')}\r\n \r\n \r\n )}\r\n \r\n\r\n \r\n {item.title}\r\n \r\n\r\n {item.body.split('\\n\\n').map((paragraph, index) => (\r\n \r\n {paragraph}\r\n \r\n ))}\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n return \r\n }\r\n\r\nconst styles = StyleSheet.create({\r\n container: { flex: 1, ...SpacingStyles.widthAndHeight, padding: 12 },\r\n contentContainer: {\r\n padding: small ? 18 : 36,\r\n paddingTop: 0,\r\n margin: 6,\r\n alignSelf: 'center',\r\n marginTop: small ? 100 : 112,\r\n marginBottom: 20,\r\n width: '100%',\r\n maxWidth: 600,\r\n },\r\n infoContainer: {\r\n marginTop: 12,\r\n flex: 1,\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n infoItem: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n marginTop: 6,\r\n },\r\n title: {\r\n marginTop: 24,\r\n },\r\n body: {\r\n marginTop: 6,\r\n },\r\n actionContainer: {\r\n position: 'absolute',\r\n right: small ? 18 : 24,\r\n top: small ? 18 : 24,\r\n },\r\n icon: { marginRight: 4 },\r\n imageContainer: {\r\n flex: 1,\r\n flexDirection: 'row',\r\n marginTop: small ? -100 : -112,\r\n },\r\n messageButton: {\r\n marginTop: small ? 24 : 36,\r\n marginBottom: 8,\r\n },\r\n})\r\n","import React from 'react'\r\nimport Post from '../../components/views/Post/Post'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { useNavigation } from \"@react-navigation/core\"\r\nimport { StackActions } from \"@react-navigation/native\"\r\n\r\nexport default function PostScreen(props) {\r\n const navigation = useNavigation()\r\n\r\n const navigateToConversation = (conversationId) => {\r\n navigation.navigate('Conversation', {\r\n id: conversationId,\r\n })\r\n }\r\n\r\n const navigateToNewConversation = (item) => {\r\n navigation.navigate('Conversation', {\r\n id: 'new',\r\n receiverId: item.user_id,\r\n boblId: item.id,\r\n })\r\n }\r\n\r\n const navigateToFrontpage = () => {\r\n navigation.navigate('Frontpage')\r\n }\r\n\r\n const navigateToEditPost = (id) => {\r\n const action = StackActions.replace('EditPost', { id })\r\n navigation.dispatch(action)\r\n }\r\n\r\n return (\r\n \r\n navigation.navigate('Home')}\r\n navigateToEditPost={navigateToEditPost}\r\n />\r\n \r\n )\r\n}\r\n","import { StyleSheet, Text, View } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport React from 'react'\r\n\r\nexport function NotificationBadge({number, style}) {\r\n return (\r\n \r\n \r\n {number}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n minWidth: 18,\r\n height: 18,\r\n paddingHorizontal: 4,\r\n borderRadius: 10,\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n backgroundColor: Colors.badgeColor,\r\n },\r\n number: {\r\n fontSize: 12,\r\n color: Colors.white,\r\n }\r\n})","import Colors from '../../constants/Colors'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport React, { useState } from 'react'\r\nimport { NotificationBadge } from '../icons/NotificationBadge'\r\nimport NormalIcon, { BoblbergIcon } from '../icons/NormalIcon'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport default function ListItem(props) {\r\n const [focus, setfocus] = useState(false)\r\n\r\n function insertIcon() {\r\n if (props.item.icon) {\r\n if (props.item.icon.boblbergIcon) {\r\n return (\r\n \r\n )\r\n } else {\r\n return (\r\n \r\n )\r\n }\r\n }\r\n }\r\n return (\r\n <>\r\n setfocus(true)}\r\n onMouseLeave={() => setfocus(false)}\r\n >\r\n \r\n {insertIcon()}\r\n {props.item.title && (\r\n {props.item.title}\r\n )}\r\n {props.item.body}\r\n \r\n {!!props.badge && }\r\n \r\n {!props.last && }\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n horizontalLine: {\r\n backgroundColor: Colors.blackTransparent,\r\n height: 1,\r\n },\r\n iconContainer: {\r\n marginRight: 20,\r\n },\r\n iconTextContainer: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n item: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n paddingHorizontal: 20,\r\n paddingVertical: 16,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { StyleSheet } from 'react-native'\r\nimport ListItem from './ListItem'\r\nimport Card from '../Card'\r\n\r\nexport default class OptionsList extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.data.map((item, i) => (\r\n \r\n ))}\r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n margin: 12,\r\n },\r\n})\r\n","// This document contains (T)Titles and (MD)MetaDescriptions, primarly for SEO purposes\r\nexport default {\r\n // [Danish, English]\r\n // Current language, TODO: make into function and get from AsyncStorage/DB\r\n\r\n lang: 0,\r\n frontpage: {\r\n title: ['Boblberg.dk | En digital platform for fællesskaber'],\r\n },\r\n login: {\r\n title: ['Log ind | Boblberg.dk'],\r\n },\r\n resetPassword: {\r\n title: ['Nulstil adgangskode | Boblberg.dk'],\r\n },\r\n home: {\r\n title: ['Bobl oversigt | Boblberg.dk'],\r\n },\r\n inbox: {\r\n title: ['Besked oversigt | Boblberg.dk'],\r\n },\r\n createPost: {\r\n title: ['Opret bobl | Boblberg.dk'],\r\n },\r\n stackMenu: {\r\n title: ['Menu | Boblberg.dk'],\r\n },\r\n favorites: {\r\n title: ['Favoritter | Boblberg.dk'],\r\n },\r\n myPosts: {\r\n title: ['Mine bobler | Boblberg.dk'],\r\n },\r\n snakSammen: {\r\n title: ['SnakSammen | Boblberg.dk'],\r\n md: [\r\n 'SnakSammen er en snak mellem to mennesker. En frivillig samtaleven fra Røde Kors og dig. I kan snakke om alt: om fælles interesser, om dagens begivenheder og dagens nyheder. Eller lidt om familie, hverdagen eller oplevelser. De frivillige samtalevenner er bare helt almindelige mennesker, og hverken rådgivere eller eksperter.',\r\n ],\r\n },\r\n learnDanish: {\r\n title: ['Sprogland | Boblberg.dk'],\r\n md: [\r\n 'Sprogland.dk - her har du mulighed for at træne dansk med frivillige fra Røde Kors. I kan for eksempel træne ”hverdagsdansk” eller du kan få hjælp til at øve ord og udtale.',\r\n ],\r\n },\r\n stories: {\r\n title: ['Historier fra medlemmer | Boblberg.dk'],\r\n md: [\r\n 'Her kan du læse nogle af de gode historier, erfaringer og oplevelser som medlemmer har haft igennem Boblberg.dk. Fælles for historierne er at de er skabt ud fra oprettede bobler og kontakt med andre medlemmer. Her er fokus på de gode oplevelser og fællesskaber, som man har mulighed for at blive en del af gennem Boblberg.',\r\n ],\r\n },\r\n story: {\r\n md: [\r\n 'Her kan du læse nogle af de gode historier, erfaringer og oplevelser som medlemmer har haft igennem Boblberg.dk. Fælles for historierne er at de er skabt ud fra oprettede bobler og kontakt med andre medlemmer.',\r\n ],\r\n },\r\n about: {\r\n title: ['Om Boblberg | Boblberg.dk'],\r\n md: [\r\n 'På denne oversigtsside kan du blive guidet videre rundt til forskellige undersider, med mere information om Boblberg og hvad du kan bruge det til.',\r\n ],\r\n },\r\n contact: {\r\n title: ['Kontakt os, support og vejledning | Boblberg.dk'],\r\n md: [\r\n 'Find kontaktinformation til vores support, som du altid er velkommen til at skrive til. Find svar på de oftest stillede spørgsmål, se vores betingelser, privatlivspolitik og cookiepolitik.',\r\n ],\r\n },\r\n help: {\r\n title: ['Hjælp og info | Boblberg.dk'],\r\n md: [\r\n 'På siden hjælp og vejledning kan du finde svar på de mest stillede spørgsmål omkring Boblberg. Få blandt andet råd til, hvordan du opretter en god bobl.',\r\n ],\r\n },\r\n conditions: {\r\n title: ['Betingelser | Boblberg.dk'],\r\n },\r\n profile: {\r\n title: ['Min profil | Boblberg.dk'],\r\n },\r\n partners: {\r\n title: ['Samarbejdspartnere | Boblberg.dk'],\r\n md: [\r\n 'Boblberg samarbejder med en lang række organisationer og foreninger om at styrke den fysiske, mentale og sociale sundhed. Sammen kæmper vi for at skabe et sundere og bedre liv for alle, så menneskers trivsel og livskvalitet øges og samskabelsen fremmes.',\r\n ],\r\n },\r\n subjects: {\r\n title: ['Emner | Boblberg.dk'],\r\n md: [\r\n 'Her finder du en oversigt over hvilke emner Boblberg blandt andet kan bruges til. Du kan bruge listen til at blive inspireret til hvordan du kan bruge Boblberg, og læse hvordan andre har brugt siden inden',\r\n ],\r\n },\r\n press: {\r\n title: ['Presse - Omtale i medierne, nyheder, tv og radio | Boblberg.dk'],\r\n md: [\r\n 'Ønsker du at se den omtale der har været af Boblberg i pressen? Her på siden kan du finde et bredt udvalg af artikler, tv-indslag og radioindslag, som er bragt om Boblberg i pressen',\r\n ],\r\n },\r\n blog: {\r\n title: ['Blog | Boblberg.dk'],\r\n md: [\r\n 'På Boblbergs blog samler vi spændende og hjælpsomme indlæg. Her på siden kan du finde forskellige blog indlæg omkring alverdens emner, som har at gøre med noget af alt det, som kan findes på Boblberg.',\r\n ],\r\n },\r\n projects: {\r\n title: ['Projekter | Boblberg.dk'],\r\n md: [\r\n 'Læs om de projekter Boblberg er en del af, sammen med forskellige kommuner og oganisationer, inden for emner som mental sundhed og demens',\r\n ],\r\n },\r\n arrangements: {\r\n title: ['Arrangementer | Boblberg.dk'],\r\n md: [\r\n 'Boblberg deltager i et bredt udvalg af arrangementer. Her har du mulighed for at se nogle af de arrangementer vi tidligere har deltaget ved.',\r\n ],\r\n },\r\n faellesskabsprisen: {\r\n title: ['Fællesskabsprisen | Boblberg.dk'],\r\n md: [\r\n 'Hele konceptet hos Boblberg er, at skabe sammenhold, relationer og ikke mindst fællesskaber. Derfor er vi selvfølgelig også rigtig stolte over at modtage Fællesskabsprisen 2019.',\r\n ],\r\n },\r\n municipalityInfo: {\r\n title: ['Info til kommuner | Boblberg.dk'],\r\n md: [\r\n 'Sammen med kommunerne arbejder Boblberg på at højne og fremme et mangfoldigt fritidsliv, som styrker de sociale fællesskaber i de enkelte kommuner.',\r\n ],\r\n },\r\n aboutUs: {\r\n title: ['Om os | Boblberg.dk'],\r\n md: ['Her på siden kan du se hvem der er en del af teamet hos Boblberg'],\r\n },\r\n unions: {\r\n title: ['Foreningsoversigt | Boblberg.dk'],\r\n },\r\n groups: {\r\n title: ['Grupper | Boblberg.dk'],\r\n md: [\r\n 'Gruppemodulet på Boblberg.dk gør det mulig at samle mennesker, i lukkede grupper, hvor de kan dele viden og kommunikerer sammen',\r\n ],\r\n },\r\n myGroups: {\r\n title: ['Mine grupper | Boblberg.dk'],\r\n },\r\n allGroups: {\r\n title: ['Alle grupper | Boblberg.dk'],\r\n },\r\n createGroup: {\r\n title: ['Opret gruppe | Boblberg.dk'],\r\n },\r\n activities: {\r\n title: ['Aktivitetsoversigt | Boblberg.dk'],\r\n },\r\n activitiesFavorites: {\r\n title: ['Aktiviteter Favoritter | Boblberg.dk'],\r\n },\r\n activitiesIntro: {\r\n title: ['Aktiviteter | Boblberg.dk'],\r\n md: ['Her kan du finde en oversigt over de aktiviteter, der finder sted i dit nærområde.'],\r\n },\r\n unionsFavorites: {\r\n title: ['Foreninger Favoritter | Boblberg.dk'],\r\n },\r\n conversation: {\r\n title: ['Samtale | Boblberg.dk'],\r\n },\r\n events: {\r\n title: ['Eventoversigt | Boblberg.dk'],\r\n },\r\n}\r\n","import { setUserUniverses } from '../../redux/actions'\r\nimport store from '../../redux/store'\r\nimport { apiGet, apiPost, apiPut } from './ApiRequest'\r\nimport { updateUserPreferences } from './User'\r\n\r\nexport async function joinUniverseById(universeId) {\r\n try {\r\n let result = await apiPost({}, `universe/join/${universeId}`)\r\n result = await result.json()\r\n store.dispatch(setUserUniverses([result.universe]))\r\n if (![10, 14].includes(universeId)) {\r\n await updateUserPreferences({ default_universe: universeId })\r\n }\r\n return true\r\n } catch {\r\n return false\r\n }\r\n}\r\n\r\nexport async function updateUniverseProfile(universeId, profile) {\r\n const body = {\r\n division: profile.division,\r\n subDivision: profile.subDivision || null,\r\n }\r\n let res = await apiPut(body, `universe/${universeId}/profiles`)\r\n return res.ok ? res.json() : null\r\n}\r\n\r\nexport async function getUniverseProfile(universeId) {\r\n return apiGet(`universe/${universeId}/profiles`)\r\n}\r\n\r\n// TODO: delete below and use function above instead\r\nexport async function isUniversitySet(universeId) {\r\n const res = await apiGet(`universe/university/${universeId}`)\r\n if (!res) return\r\n return res.universityIsSet\r\n}\r\n\r\nexport async function setUniversity(university) {\r\n let res = await apiPost({}, `universe/${university}`)\r\n if (!res) return\r\n return res\r\n}\r\n","import * as WebBrowser from 'expo-web-browser'\r\nimport { Platform } from 'react-native'\r\n\r\nexport async function URLOpener(url) {\r\n if (Platform.OS === 'web') {\r\n window.open(url, '_blank')\r\n } else {\r\n url = url.replace('å', '%c3%a5').replace('æ', '%c3%a6').replace('ø', '%c3%b8')\r\n return WebBrowser.openBrowserAsync(url, {\r\n toolbarColor: '#dceef3',\r\n enableBarCollapsing: true,\r\n })\r\n }\r\n}\r\n\r\nexport function formatURL(url) {\r\n if (url.startsWith('http') || url === '') return url\r\n else return 'http://' + url\r\n}\r\n","import store from '../../redux/store'\r\nimport { apiGet } from './ApiRequest'\r\n\r\nexport async function isUserVolunteer() {\r\n const userId = store.getState().user.id\r\n return await apiGet(`volunteers/${userId}`)\r\n}\r\n\r\nexport async function getVolunteerAccess(service) {\r\n return await apiGet(`volunteers/${service}`)\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { View, StyleSheet, Platform } from 'react-native'\r\nimport * as Application from 'expo-application'\r\n\r\nimport OptionsList from '../../components/lists/OptionsList'\r\nimport TxtTMD from '../../constants/TxtTMD'\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { useSelector } from 'react-redux'\r\nimport { txt } from '../../locales/i18n'\r\nimport { selectUnreadGroupMessages } from '../../redux/selectors'\r\nimport layout from '../../constants/Layout'\r\nimport { getExtraTabs } from '../../navigation/MenuConfig'\r\nimport { joinUniverseById } from '../../services/api/Universe'\r\nimport { Features } from '../../constants/Features'\r\nimport { getRegion } from '../../services/localization'\r\nimport { URLOpener } from \"../../utils/URLOpener\"\r\nimport Paths from \"../../constants/Paths\"\r\nimport { handlePaymentClick } from \"../../utils/handlePaymentClick\"\r\nimport { getVolunteerAccess } from \"../../services/api/volunteerApi\"\r\n\r\nexport default function StackMenuScreen(props) {\r\n\tconst [data, setData] = useState([])\r\n\tconst universes = useSelector((state) => state.user?.universes)\r\n\tconst features = useSelector((state) => state.user?.features)\r\n\tconst joinedGroups = useSelector((state) => state?.groups)\r\n\tconst groupsBadge = useSelector(selectUnreadGroupMessages)\r\n\tconst extraTabs = getExtraTabs(features, joinedGroups?.length ?? 0)\r\n\tconst region = getRegion()\r\n\r\n\tconst handleOpenSubscriptionPage = async () => {\r\n\t\tawait handlePaymentClick({ origin: 'menu-item' })\r\n\t}\r\n\r\n\tconst handleOpenWhatIsBoblberg = async () => {\r\n\t\tconst url = Paths.getBaseUrl()\r\n\t\tconst page = region === 'de' ? url + '/was-ist-boblberg' : region === 'se' ? url + '/vad-ar-boblberg' : url + '/hvad-er-boblberg'\r\n\t\tawait URLOpener(page)\r\n\t}\r\n\r\n\tconst navigateToWhatIsBoblberg = () => {\r\n\t\tconst nativeApplicationVersion = Application.nativeApplicationVersion\r\n\r\n\t\tif (nativeApplicationVersion === '4.4.0' || nativeApplicationVersion === '5.0.0' || Platform.OS === 'web') {\r\n\t\t\treturn props.navigation.navigate('WhatIsBoblberg')\r\n\t\t}\r\n\r\n\t\treturn handleOpenWhatIsBoblberg()\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tconst stackList = [\r\n\t\t\t{\r\n\t\t\t\tbody: txt('videoChat.title'),\r\n\t\t\t\ticon: { name: \"comments\" },\r\n\t\t\t\tonPress: async () => {\r\n\t\t\t\tconst isVolunteer = await getVolunteerAccess('snaksammen') ?? false\r\n\t\t\t\tconst isWeb = Platform.OS === 'web'\r\n\t\t\t\tif (isVolunteer?.isVolunteer) return props.navigation.navigate('SnakSammenVolunteer')\r\n\r\n\t\t\t\tif (isWeb === true) return window.location.replace(Paths.getBaseUrl() + 'snaksammen')\r\n\t\t\t\tprops.navigation.navigate('SnakSammen')\r\n\t\t\t\t},\r\n\t\t\t\thide: region !== 'dk',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tbody: txt('learnDanish.title'),\r\n\t\t\t\ticon: { name: \"globe-europe\" },\r\n\t\t\t\tonPress: () => props.navigation.navigate('LearnDanish'),\r\n\t\t\t\thide: region !== 'dk',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tbody: txt('stackMenu.stories'),\r\n\t\t\t\ticon: { name: \"book-open\" },\r\n\t\t\t\tonPress: () => props.navigation.navigate('Stories'),\r\n\t\t\t\thide: region === 'de',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tbody: txt('about.title'),\r\n\t\t\t\ticon: { name: \"bobl\", boblbergIcon: true },\r\n\t\t\t\tonPress: () => props.navigation.navigate('About'),\r\n\t\t\t\thide: region !== 'dk',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tbody: txt('contact.title'),\r\n\t\t\t\ticon: { name: \"info-circle\" },\r\n\t\t\t\tonPress: () => props.navigation.navigate('Contact'),\r\n\t\t\t\thide: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tbody: txt('profile.title'),\r\n\t\t\t\ticon: { name: \"user\" },\r\n\t\t\t\tonPress: () => props.navigation.navigate('Profile'),\r\n\t\t\t\thide: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tbody: txt('settings.title'),\r\n\t\t\t\ticon: { name: \"cog\" },\r\n\t\t\t\tonPress: () => props.navigation.navigate('Settings'),\r\n\t\t\t\thide: false,\r\n\t\t\t},\r\n\t\t]\r\n\r\n\t\tif (Platform.OS === 'web') {\r\n\t\t\tconst cookieButton = {\r\n\t\t\t\tbody: txt('cookieLabel'),\r\n\t\t\t\tonPress: () => showCookieBanner(),\r\n\t\t\t\ticon: { name: \"cookie-bite\" },\r\n\t\t\t\thide: false,\r\n\t\t\t}\r\n\r\n\t\t\tstackList.splice(stackList.length - 2, 0, cookieButton)\r\n\t\t}\r\n\r\n\t\tif (extraTabs.includes('groups') === false) {\r\n\t\t\tstackList.unshift({\r\n\t\t\t\tbadge: groupsBadge,\r\n\t\t\t\tbody: txt('groups.title'),\r\n\t\t\t\ticon: { name: \"users\" },\r\n\t\t\t\tonPress: () => props.navigation.navigate('Groups'),\r\n\t\t\t\thide: region !== 'dk',\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tif (extraTabs.includes('activities') === false && features.includes(Features.SEARCH_ACTIVITIES)) {\r\n\t\t\tstackList.unshift({\r\n\t\t\t\tbody: txt('activities.title'),\r\n\t\t\t\ticon: { name: \"calendar-day\" },\r\n\t\t\t\tonPress: () => props.navigation.navigate('Activities'),\r\n\t\t\t\thide: region !== 'dk',\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tif (extraTabs.includes('unions') === false) {\r\n\t\t\tstackList.unshift({\r\n\t\t\t\tbody: txt('unions.title'),\r\n\t\t\t\ticon: { name: \"users-class\" },\r\n\t\t\t\tonPress: () => props.navigation.navigate('Unions'),\r\n\t\t\t\thide: region !== 'dk',\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tif (extraTabs.includes('events') === false) {\r\n\t\t\tstackList.unshift({\r\n\t\t\t\tbody: txt('events.title'),\r\n\t\t\t\ticon: { name: \"calendar-star\" },\r\n\t\t\t\tonPress: () => props.navigation.navigate('Events'),\r\n\t\t\t\thide: region !== 'dk',\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tif (!features.includes(1)) {\r\n\t\t\tstackList.unshift({\r\n\t\t\t\tbody: txt('subscription.title'),\r\n\t\t\t\tonPress: handleOpenSubscriptionPage,\r\n\t\t\t\ticon: { name: \"plus-circle\" },\r\n\t\t\t\thide: false,\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tstackList.unshift({\r\n\t\t\tbody: txt('stackMenu.whatIs'),\r\n\t\t\tonPress: navigateToWhatIsBoblberg,\r\n\t\t\ticon: { name: \"question-circle\" },\r\n\t\t\thide: false,\r\n\t\t})\r\n\r\n\t\tuniverses?.forEach((universe) => {\r\n\t\t\tconst newYearUniverses = ['nytaarsvenner', 'nyarsvanner']\r\n\t\t\tif (newYearUniverses.includes(universe.name)) return\r\n\r\n\t\t\tstackList.unshift({\r\n\t\t\t\tbody: txt('boblberg.goTo') + universe.title,\r\n\t\t\t\ticon: { name: \"bubbles\", boblbergIcon: true },\r\n\t\t\t\thide: region !== 'dk',\r\n\t\t\t\tonPress: () => {\r\n\t\t\t\t\tprops.navigation.push('universe', {\r\n\t\t\t\t\t\tscreen: 'UniverseBoblStack',\r\n\t\t\t\t\t\tparams: { universe: universe.name },\r\n\t\t\t\t\t})\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t})\r\n\r\n\t\tstackList.unshift({\r\n\t\t\tbody: txt('stackMenu.nytaarsvenner'),\r\n\t\t\thide: region !== 'dk',\r\n\t\t\tonPress: async () => {\r\n\t\t\t\tconst universe = universes.find((uni) => uni.name === 'nytaarsvenner')\r\n\t\t\t\tif (!universe) await joinUniverseById(10)\r\n\t\t\t\tprops.navigation.navigate('universe', {\r\n\t\t\t\t\tscreen: 'UniverseBoblStack',\r\n\t\t\t\t\tparams: {\r\n\t\t\t\t\t\tscreen: 'Universe',\r\n\t\t\t\t\t\tinitial: true,\r\n\t\t\t\t\t\tparams: { universe: 'nytaarsvenner' },\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\ticon: { name: \"glass-cheers\" },\r\n\t\t})\r\n\r\n\t\tstackList.unshift({\r\n\t\t\tbody: txt('stackMenu.nytaarsvenner'),\r\n\t\t\thide: region !== 'se',\r\n\t\t\tonPress: async () => {\r\n\t\t\t\tconst universe = universes.find((uni) => uni.name === 'nyarsvanner')\r\n\t\t\t\tif (!universe) await joinUniverseById(14)\r\n\t\t\t\tprops.navigation.navigate('universe', {\r\n\t\t\t\t\tscreen: 'UniverseBoblStack',\r\n\t\t\t\t\tparams: {\r\n\t\t\t\t\t\tscreen: 'Universe',\r\n\t\t\t\t\t\tinitial: true,\r\n\t\t\t\t\t\tparams: { universe: 'nyarsvanner' },\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\ticon: { name: \"glass-cheers\" },\r\n\t\t})\r\n\r\n\t\tstackList.unshift({\r\n\t\t\tbody: txt('christmasFriends.title'),\r\n\t\t\tonPress: () => props.navigation.navigate('christmasFriends'),\r\n\t\t\ticon: { name: \"hat-santa\" },\r\n\t\t\thide: region !== 'dk',\r\n\t\t})\r\n\r\n\t\tsetData(stackList)\r\n\t}, [universes, props.navigation, features, joinedGroups, groupsBadge])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t options.hide === false)} />\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: {\r\n\t\talignSelf: 'center',\r\n\t\twidth: '100%',\r\n\t\tmaxWidth: layout.maxFeedWidth,\r\n\t},\r\n})\r\n","import { apiPost, apiGet, apiPut, apiDelete } from './ApiRequest'\r\nimport store from '../../redux/store'\r\nimport AsyncStorage from '@react-native-async-storage/async-storage'\r\nimport { txt } from '../../locales/i18n'\r\n\r\n// Used if no stopLoading function passed to functions\r\nconst setLoadingFunc = () => {\r\n if (__DEV__) console.log('No setLoadingFunc passed')\r\n}\r\nexport async function getActivities({ search, skip, amount, date, categories, mapBounds, universeId, municipality }) {\r\n const urlQueryParams = {}\r\n\r\n if (universeId !== undefined) urlQueryParams.universeId = universeId\r\n if (amount !== undefined) urlQueryParams.amount = amount\r\n if (skip !== undefined) urlQueryParams.skip = skip\r\n if (search !== undefined) urlQueryParams.search = search\r\n if (date !== undefined) urlQueryParams.date = date.toISOString()\r\n if (municipality !== 'all' && municipality !== 'undefined') urlQueryParams.municipalityId = municipality\r\n\r\n if (categories?.length > 0) {\r\n urlQueryParams.categories = categories.toString()\r\n }\r\n\r\n if (mapBounds !== null) {\r\n urlQueryParams.neLat = mapBounds.ne.lat\r\n urlQueryParams.neLng = mapBounds.ne.lng\r\n urlQueryParams.swLat = mapBounds.sw.lat\r\n urlQueryParams.swLng = mapBounds.sw.lng\r\n }\r\n\r\n const urlQuery = Object.entries(urlQueryParams).map(([key, value]) => {\r\n return key + '=' + value\r\n })\r\n\r\n const { result } = await apiGet('activities/search?' + urlQuery.join('&'))\r\n return result ?? { activities: [], pins: [] }\r\n}\r\n\r\nexport async function getFullActivity(activityId) {\r\n if (!activityId) return\r\n const res = await apiGet(`activities/activity/${activityId}`)\r\n if (!res.data[0]) return\r\n return res.data[0]\r\n}\r\n\r\nexport async function createActivity(data) {\r\n const res = await apiPost(data, 'activities/createActivity')\r\n const resJson = await res.json()\r\n if (!resJson.data) return\r\n return resJson.data[0]\r\n}\r\n\r\nexport async function updateActivity(data) {\r\n const res = await apiPut(data, `activities/updateActivity/${data.id}`)\r\n return res.ok\r\n}\r\n\r\nexport async function getOwnActivities() {\r\n const res = await apiGet(`activities/getOwnActivities`)\r\n if (!res.activities) return\r\n return res.activities\r\n}\r\n\r\nexport async function deleteActivity(activityId, universeId) {\r\n const res = await apiDelete({ universeId }, `activities/deleteActivity/${activityId}`)\r\n return res.json()\r\n}\r\n\r\nexport async function getHasAccessToActivities(setLoading = setLoadingFunc) {\r\n return apiGet('activities/getHasAccessToActivities')\r\n .then((res) => {\r\n return res.data[0]\r\n })\r\n .catch((error) => {\r\n if (__DEV__) console.error(error)\r\n setLoading(false)\r\n })\r\n}\r\n\r\nexport async function setActivityFavorite(activity) {\r\n const user = store.getState().user\r\n if (user) {\r\n const res = await apiPost({}, `activities/${activity.id}/favorite`)\r\n const result = await res.json()\r\n return result.data.is_favorite\r\n } else {\r\n const activities = JSON.parse(await AsyncStorage.getItem('favoriteActivities')) || []\r\n activities.push(activity)\r\n AsyncStorage.setItem('favoriteActivities', JSON.stringify(activities))\r\n }\r\n}\r\n\r\nexport async function removeActivityFavorite(activity) {\r\n const user = store.getState().user\r\n if (user) {\r\n const res = await apiDelete({}, `activities/${activity.id}/favorite`)\r\n const result = await res.json()\r\n return result.data.is_favorite\r\n } else {\r\n let activities = JSON.parse(await AsyncStorage.getItem('favoriteActivities')) || []\r\n activities = activities.filter((a) => a.id !== activity.id)\r\n AsyncStorage.setItem('favoriteActivities', JSON.stringify(activities))\r\n }\r\n}\r\n\r\nexport async function getFavoriteActivities() {\r\n const user = store.getState().user\r\n if (user) {\r\n const res = await apiGet(`activities/favorites`)\r\n return res.activities\r\n } else {\r\n return JSON.parse(await AsyncStorage.getItem('favoriteActivities')) || []\r\n }\r\n}\r\n\r\nexport async function getCategories(universe = null) {\r\n\tconst query = new URLSearchParams();\r\n\tif (universe !== null) query.append('universe', universe)\r\n\r\n\tconst categories = await apiGet('activities/categories?' + query.toString())\r\n\tif (categories === undefined) return []\r\n\r\n\tcategories.forEach((category) => {\r\n\t\tcategory.name = txt(`activities.categoryList.${category.name}`)\r\n\t});\r\n\r\n\treturn categories\r\n}","import { Platform } from 'react-native'\r\nimport { Linking } from 'react-native'\r\n\r\nexport function openMap(address, postalCode) {\r\n address = `${address}, ${postalCode ? postalCode : ''}`\r\n const url = Platform.select({\r\n ios: `http://maps.apple.com/?q=${address}`,\r\n android: `geo:0,0?q=${address}`,\r\n web: `https://www.google.dk/maps/place/${address}`,\r\n })\r\n\r\n if (Platform.OS === 'web') window.open(url, '_blank')\r\n else Linking.openURL(url)\r\n}\r\n","/* eslint-disable react-native/no-raw-text */\r\nimport React from 'react'\r\nimport { View, StyleSheet, Image, Dimensions } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ImageHighlight } from '../../images/ImageHighlight'\r\nimport {\r\n getFavoriteActivities,\r\n getFullActivity,\r\n removeActivityFavorite,\r\n setActivityFavorite,\r\n} from '../../../services/api/Activities'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport { formatForMetaTitle, formatForSeoBody } from '../../text/TextFormatter'\r\nimport PageTitle from '../../tags/PageTitle'\r\nimport moment from 'moment'\r\nimport Paths from '../../../constants/Paths'\r\nimport Colors from '../../../constants/Colors'\r\nimport FavoriteIndicator from '../../headers/FavoriteIndicator'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Logo from '../../../assets/images/icon.png'\r\nimport mapImgWeb from '../../../assets/images/Google_maps_web.png'\r\nimport { URLOpener, formatURL } from '../../../utils/URLOpener'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { openMap } from '../../../utils/openMap'\r\nimport store from '../../../redux/store'\r\nimport Card from '../../Card'\r\nimport ReportContent from '../../callToActions/reportContent'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nconst small = Dimensions.get('window').width < 500\r\n\r\nexport default class Activity extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n moment.locale([txt('videoChat.locale')])\r\n\r\n this.state = {\r\n loading: true,\r\n item: {\r\n id: 0,\r\n user_id: null,\r\n title: '',\r\n body: '',\r\n organizer: '',\r\n location: '',\r\n address: '',\r\n ticket_price: 0,\r\n url: '',\r\n img_id: 0,\r\n image_filename: '',\r\n municipality_id: 0,\r\n status_id: 0,\r\n created: '',\r\n recurring: null,\r\n city: '',\r\n postal_code: null,\r\n is_favorite: 0,\r\n },\r\n showOtherDates: false,\r\n favIconHighlight: false,\r\n startDate: null,\r\n endDate: null,\r\n }\r\n }\r\n\r\n async componentDidMount() {\r\n if (this.state.loading) {\r\n const activity = await getFullActivity(this.props.id)\r\n const user = store.getState().user\r\n const own_id = user?.id\r\n\r\n // Check if activity is favorit when not logged in\r\n if (!user) {\r\n const favorites = await getFavoriteActivities()\r\n activity.is_favorite = favorites.find(a => a.id === activity.id) ? 1 : 0\r\n }\r\n\r\n this.setState({ own_id, item: activity, loading: false })\r\n\r\n own_id && activity.user_id !== own_id && this.props.navigation.setOptions({\r\n headerRight: () => ,\r\n })\r\n\r\n this.unsubscribe = this.props.navigation.addListener('focus', async () => {\r\n const item = await getFullActivity(this.props.id)\r\n this.setState({ item })\r\n })\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.unsubscribe?.()\r\n }\r\n\r\n setLoading = (loading) => this.setState({ loading })\r\n\r\n setActivity = (data) => this.setState({ item: data, loading: false })\r\n\r\n getDateString(dateStart, dateEnd) {\r\n return `${this.formatDate(dateStart, false)} - ${this.formatDate(dateEnd, true)}`\r\n }\r\n\r\n formatDate(date, isEndDate) {\r\n if (date === null) return\r\n if (isEndDate) return moment(date).format('LT')\r\n return moment(date).format('llll')\r\n }\r\n\r\n toggleFavorite = async () => {\r\n const { item } = this.state\r\n if (!item.is_favorite) {\r\n await setActivityFavorite(item)\r\n } else {\r\n await removeActivityFavorite(item)\r\n }\r\n\r\n await this.setState((state) => ({\r\n item: {\r\n ...state.item,\r\n is_favorite: !item.is_favorite,\r\n },\r\n }))\r\n }\r\n\r\n toggleOtherDates = () => {\r\n const showOtherDates = !this.state.showOtherDates\r\n this.setState({ showOtherDates })\r\n }\r\n\r\n render() {\r\n const { item } = this.state\r\n const ownId = item.user_id == this.state?.own_id\r\n if (!this.state.loading) {\r\n return (\r\n \r\n \r\n \r\n \r\n {item.img_id ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n \r\n {ownId ? (\r\n this.props.navigateToEditActivity(item.id)}\r\n accessibilityRole=\"button\"\r\n accessibilityLabel={txt('activities.edit.title')}\r\n >\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n\r\n \r\n {item.title}\r\n \r\n\r\n \r\n \r\n \r\n \r\n {this.getDateString(this.props.route.params.date, item.dates[0].end)}\r\n \r\n \r\n\r\n {this.state.item.dates.length > 1 && (\r\n \r\n \r\n {txt('activities.otherDates')}\r\n \r\n )}\r\n {this.state.showOtherDates &&\r\n this.state.item.dates.map((date, index) => {\r\n if (index === 0) return\r\n return (\r\n \r\n {this.getDateString(date.start, date.end)}\r\n \r\n )\r\n })}\r\n \r\n\r\n {item.body}\r\n\r\n \r\n {item.organizer !== '' && (\r\n \r\n \r\n {item.organizer}\r\n \r\n )}\r\n\r\n {item.ticket_price !== null && (\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {item.location !== null && item.location !== '' && (\r\n \r\n \r\n {item.location}\r\n \r\n )}\r\n \r\n\r\n {item.address !== null && item.address !== '' && (\r\n openMap(item.address, item.postal_code)}\r\n >\r\n \r\n \r\n )}\r\n\r\n \r\n {item.address !== '' && item.address !== null && (\r\n openMap(item.address, item.postal_code)} style={styles.flex}>\r\n \r\n \r\n\r\n \r\n {item.address}\r\n {!!item.postal_code && `, ${item.postal_code}`}\r\n {!!item.city && item.city !== '' && ` ${item.city}`}\r\n \r\n \r\n \r\n )}\r\n \r\n {item.url !== null && item.url !== '' && (\r\n \r\n \r\n URLOpener(formatURL(item.url))}\r\n style={{ maxWidth: '100%' }}\r\n >\r\n \r\n {item.url}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n }\r\n\r\n return \r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n margin: 12,\r\n padding: small ? 18 : 36,\r\n },\r\n title: {\r\n marginTop: 24,\r\n marginBottom: 6,\r\n },\r\n dateContainer: {\r\n marginBottom: 18,\r\n },\r\n favoriteContainer: {\r\n position: 'absolute',\r\n right: 0,\r\n top: 0,\r\n },\r\n flex: { flexGrow: 1, flex: 1 },\r\n flexCenter: { alignItems: 'center', flexDirection: 'row' },\r\n iconContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n marginBottom: 12,\r\n },\r\n iconMargin: { marginRight: 6 },\r\n infoContainer: {\r\n flex: 1,\r\n marginBottom: 12,\r\n },\r\n mapImg: { borderRadius: 10, height: 100, marginBottom: 12, width: '100%' },\r\n widthHeight: { ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport Activity from '../../components/views/Activities/Activity'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\n\r\nexport default class ActivityScreen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n navigateToEditActivity = (activityId) => {\r\n this.props.navigation.navigate('EditActivity', {\r\n id: activityId,\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","import React from 'react'\r\nimport CreateEditPost from '../../components/views/Post/CreateEditPost'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { getFullPost, updatePost, deletePost } from '../../services/api/Posts'\r\nimport { txt } from '../../locales/i18n'\r\n\r\nexport default function EditPostScreen(props) {\r\n function navigateToMyPosts() {\r\n props.navigation.replace('Home', {\r\n chip: txt('posts.chipParams.mine'),\r\n })\r\n }\r\n\r\n const getPost = async () => {\r\n return await getFullPost(props.route.params.id)\r\n }\r\n\r\n const editPost = async (postId, data) => {\r\n return await updatePost(postId, data)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { Linking, Platform } from 'react-native'\r\nimport { StyleSheet } from 'react-native'\r\nimport * as Updates from 'expo-updates'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport Colors from '../../../constants/Colors'\r\nimport CustomDialog, {\r\n ActionButton,\r\n ContentContainer,\r\n} from '../../dialogs/CustomDialog'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\n\r\nexport function MunicipalityInfoDialog(props) {\r\n return (\r\n \r\n \r\n \r\n {txt('profile.dialogText')}\r\n Linking.openURL('mailto:' + txt('profile.support'))}>\r\n \r\n {txt('profile.support')}\r\n \r\n \r\n \r\n \r\n \r\n {txt('profile.dialog')}\r\n \r\n \r\n )\r\n}\r\n\r\nexport function LanguageChangedDialog(props) {\r\n return (\r\n \r\n \r\n {txt('settings.languageChangedText')}\r\n \r\n {txt('dialog.ok')}\r\n {props.children}\r\n \r\n )\r\n}\r\n\r\nexport const ReloadDialog = ({ visible }) => (\r\n\t\r\n\t\t\r\n\t\t\t{txt('profile.municipalityChangedTitle')}\r\n\t\t\t{txt('profile.municipalityChangedText1')}\r\n\t\t\t{txt('profile.municipalityChangedText2')}\r\n\t\t\t{txt('profile.municipalityChangedText3')}\r\n\t\t\t Platform.OS === 'web' ? window.location.reload() : Updates.reloadAsync()}\r\n\t\t\t\ttitle={txt('global.ok')}\r\n\t\t\t\ttitleStyle={{ paddingHorizontal: 12 }}\r\n\t\t\t\tstyle={{ backgroundColor: Colors.blueAzure}}\r\n\t\t\t/>\r\n\t\t\r\n\t\r\n)\r\n\r\nconst reloadStyles = StyleSheet.create({\r\n\tcontent: {\r\n\t\tgap: 12,\r\n\t}\r\n})\r\n\r\nconst styles = StyleSheet.create({\r\n linkText: {\r\n color: Colors.blue,\r\n },\r\n})\r\n","export default {\r\n // EXAMPLES PATTERNS\r\n // '^.{8,}$', // min 8 chars\r\n // '(?=.*\\\\d)', // number required\r\n // '(?=.*[A-Z])', // uppercase letters A-Z\r\n\r\n email: [\r\n '^.{5,}$', // min 5 chars\r\n '^(([^<>()[\\\\]\\\\.,;:\\\\s@\"]+(\\\\.[^<>()[\\\\]\\\\.,;:\\\\s@\"]+)*)|(\".+\"))@((\\\\[[0-9]{1,3}\\\\.[0-9]{1,3}\\\\.[0-9]{1,3}\\\\.[0-9]{1,3}\\\\])|(([a-zA-Z\\\\-0-9]+\\\\.)+[a-zA-Z]{2,}))$', // @ required\r\n ],\r\n username: '^.{2,}$', // min 2 chars\r\n password: '^.{4,}$', // min 4 chars\r\n}\r\n","import { Platform } from 'react-native'\r\nimport * as ImageManipulator from 'expo-image-manipulator'\r\n\r\nexport async function scaleImages(rawImages) {\r\n const images = await Promise.all(\r\n rawImages.map(async (image) => {\r\n return await scaleImage(image)\r\n })\r\n )\r\n return images\r\n}\r\n\r\nexport async function scaleImage(image) {\r\n const desiredSize = 1000 // 1000px\r\n const resize = image.width < image.height ? { height: desiredSize } : { width: desiredSize }\r\n const actions = [{ resize }]\r\n\r\n const options = {\r\n format: ImageManipulator.SaveFormat.JPEG,\r\n compress: 0.8,\r\n base64: true,\r\n }\r\n\r\n const scaledImage = await ImageManipulator.manipulateAsync(image.uri, actions, options)\r\n\r\n if (Platform.OS === 'web') return scaledImage\r\n\r\n scaledImage.base64 = 'data:image/jpeg;base64,' + scaledImage.base64\r\n return scaledImage\r\n}\r\n","import React, { forwardRef, useEffect, useImperativeHandle, useState } from 'react'\r\nimport PhoneInput, { parsePhoneNumber, isValidPhoneNumber } from 'react-phone-number-input'\r\nimport 'react-phone-number-input/style.css'\r\nimport './styles.css'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CornerStyles, ShadowStyles } from '../../../styles'\r\nimport ua from 'react-phone-number-input/locale/ua'\r\nimport fi from 'react-phone-number-input/locale/fi'\r\nimport fr from 'react-phone-number-input/locale/fr'\r\nimport sv from 'react-phone-number-input/locale/sv'\r\nimport da from './daCountries.json'\r\nimport { useSelector } from 'react-redux'\r\n\r\nconst langToLabels = {\r\n 'da': da,\r\n 'uk': ua,\r\n 'fr': fr,\r\n 'fi': fi,\r\n 'se': sv,\r\n}\r\n\r\nexport const PhoneNumberInput = forwardRef(({phoneNumber, setPhoneNumber, callCode, setCallCode, style, defaultCountryCode = 'DK', ...props}, ref) => {\r\n const [value, setValue] = useState(`+${callCode||45}${phoneNumber}`)\r\n const language = useSelector(state => state.user.language)\r\n const [labels, setLabels] = useState(undefined)\r\n\r\n useEffect(() => {\r\n const l = langToLabels[language] || undefined\r\n setLabels(l)\r\n }, [language])\r\n\r\n useEffect(() => {\r\n if (callCode === null) {\r\n setCallCode(45)\r\n }\r\n }, [])\r\n\r\n function isValid() {\r\n return isValidPhoneNumber(value) || phoneNumber.length === 0\r\n }\r\n\r\n useImperativeHandle(ref, () => ({ isValid }))\r\n\r\n function handleChange(val) {\r\n if (!val) {\r\n setPhoneNumber('')\r\n setCallCode('')\r\n return\r\n }\r\n const passedNumber = parsePhoneNumber(val)\r\n setValue(val)\r\n if (passedNumber) {\r\n setPhoneNumber(passedNumber.nationalNumber)\r\n setCallCode(passedNumber.countryCallingCode)\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n})\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n backgroundColor: Colors.white,\r\n paddingHorizontal: 16,\r\n minHeight: 40,\r\n ...CornerStyles.borderRadiusS,\r\n ...ShadowStyles.shadowInputs,\r\n }\r\n})\r\n","// From library react-native-modal-selector\r\n\r\n'use strict'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { View, Modal, FlatList, ScrollView, StyleSheet } from 'react-native'\r\nimport { CustomText } from \"../text/StyledText\"\r\nimport Colors from \"../../constants/Colors\"\r\nimport Layout from \"../../constants/Layout\"\r\nimport { txt } from \"../../locales/i18n\"\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\nimport { ShadowStyles } from \"../../styles\"\r\n\r\nconst PADDING = 10\r\nconst BORDER_RADIUS = 12\r\nconst FONT_SIZE = 17\r\n\r\nconst defaultProps = () => ({\r\n\tdata: [],\r\n\tonChange: item => {},\r\n\tonModalOpen: () => {},\r\n\tonModalClose: () => {},\r\n\tkeyExtractor: (item) => item && item.key,\r\n\tlabelExtractor: (item) => item && item.label,\r\n\tcomponentExtractor: (item) => item && item.component,\r\n\tlistType: 'SCROLLVIEW',\r\n\tvisible: false,\r\n\tcloseOnChange: true,\r\n\tinitValue: txt('global.select'),\r\n\tanimationType: 'fade',\r\n\tstyle: {},\r\n\tselectStyle: {},\r\n\tselectTextStyle: {},\r\n\toptionStyle: {},\r\n\toptionTextStyle: {},\r\n\toptionContainerStyle: {},\r\n\tsectionStyle: {},\r\n\tchildrenContainerStyle: {},\r\n\ttouchableStyle: {},\r\n\ttouchableActiveOpacity: 0.2,\r\n\tsectionTextStyle: {},\r\n\tselectedItemTextStyle: {},\r\n\tcancelContainerStyle: {},\r\n\tcancelStyle: {},\r\n\tcancelTextStyle: {},\r\n\toverlayStyle: {},\r\n\tinitValueTextStyle: {},\r\n\tcancelText: txt('global.close'),\r\n\tdisabled: false,\r\n\tsupportedOrientations: ['portrait', 'landscape'],\r\n\tkeyboardShouldPersistTaps: 'always',\r\n\tbackdropPressToClose: true,\r\n\topenButtonContainerAccessible: false,\r\n\tlistItemAccessible: false,\r\n\tcancelButtonAccessible: false,\r\n\tscrollViewAccessible: false,\r\n\tscrollViewAccessibilityLabel: \"\",\r\n\tcancelButtonAccessibilityLabel: \"\",\r\n\tpassThruProps: {},\r\n\tselectTextPassThruProps: {},\r\n\toptionTextPassThruProps: {},\r\n\tcancelTextPassThruProps: {},\r\n\tscrollViewPassThruProps: {},\r\n\tmodalOpenerHitSlop: { top: 0, bottom: 0, left: 0, right: 0 },\r\n\tcustomSelector: undefined,\r\n\tselectedKey: '',\r\n\toptionsTestIDPrefix: 'default',\r\n\theader: undefined,\r\n\tonEndReached: undefined,\r\n\trightElement: undefined,\r\n\tresetTrigger: undefined,\r\n})\r\n\r\nexport default function ModalSelectorCustom(props) {\r\n\r\n\tconst importedProps = {...defaultProps(), ...props}\r\n\r\n\tconst selectedItem = validateSelectedKey(importedProps.selectedKey)\r\n\tconst [modalVisible, setModalVisible] = useState(false) // Initialize as false\r\n\tconst [selected, setSelected] = useState(selectedItem.label)\r\n\tconst [changedItem, setChangedItem] = useState(selectedItem.key)\r\n\tconst [hasInitialized, setHasInitialized] = useState(false) // Track initial render\r\n\r\n\tuseEffect(() => {\r\n\t\t// Only set `modalVisible` after the first render\r\n\t\tif (!hasInitialized) {\r\n\t\t\tsetHasInitialized(true)\r\n\t\t\tsetModalVisible(importedProps.visible) // Set only once initially\r\n\t\t} else {\r\n\t\t\tsetModalVisible(importedProps.visible)\r\n\t\t}\r\n\t}, [importedProps.visible])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (importedProps.resetTrigger) {\r\n\t\t\tsetSelected(importedProps.initValue)\r\n\t\t\tsetChangedItem(undefined)\r\n\t\t}\r\n\t}, [importedProps.resetTrigger])\r\n\r\n\tuseEffect(() => {\r\n\t\tlet newState = {}\r\n\t\tlet doUpdate = false\r\n\t\tif (importedProps.initValue !== selected) {\r\n\t\t\tnewState.selected = importedProps.initValue\r\n\t\t\tdoUpdate = true\r\n\t\t}\r\n\t\tif (importedProps.selectedKey !== changedItem) {\r\n\t\t\tlet selectedItem = validateSelectedKey(importedProps.selectedKey)\r\n\t\t\tnewState.selected = selectedItem.label\r\n\t\t\tnewState.changedItem = selectedItem.key\r\n\t\t\tdoUpdate = true\r\n\t\t}\r\n\t\tif (doUpdate) {\r\n\t\t\tsetSelected(newState.selected)\r\n\t\t\tsetChangedItem(newState.changedItem)\r\n\t\t}\r\n\t}, [importedProps.initValue, importedProps.selectedKey, importedProps.data])\r\n\r\n\tfunction validateSelectedKey(key) {\r\n\t\tlet selectedItem = importedProps.data.filter((item) => importedProps.keyExtractor(item) === key)\r\n\t\tlet selectedLabel = selectedItem.length > 0 ? importedProps.labelExtractor(selectedItem[0]) : importedProps.initValue\r\n\t\tlet selectedKey = selectedItem.length > 0 ? key : undefined\r\n\t\treturn {label: selectedLabel, key: selectedKey}\r\n\t}\r\n\r\n\tconst handleOnChange = (item) => {\r\n\t\tconst key = importedProps.keyExtractor(item)\r\n\t\tif (!item || key == null) { // == coercion\r\n\t\t\treturn\r\n\t\t}\r\n\t\timportedProps.onChange(item)\r\n\t\tsetSelected(importedProps.labelExtractor(item))\r\n\t\tsetChangedItem(key)\r\n\t\tif (importedProps.closeOnChange) {\r\n\t\t\tclose()\r\n\t\t}\r\n\t}\r\n\r\n\tconst close = (item) => {\r\n\t\timportedProps.onModalClose(item)\r\n\t\tsetModalVisible(false)\r\n\t}\r\n\r\n\tconst open = (params = {}) => {\r\n\t\timportedProps.onModalOpen(params)\r\n\t\tsetModalVisible(true)\r\n\t\tsetChangedItem(undefined)\r\n\t}\r\n\r\n\tconst renderSection = (section) => {\r\n\t\tconst optionComponent = importedProps.componentExtractor(section)\r\n\t\tlet component = optionComponent || (\r\n\t\t\t{importedProps.labelExtractor(section)}\r\n\t\t)\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{component}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tconst renderOption = (option, isLastItem, isFirstItem) => {\r\n\t\tconst optionComponent = importedProps.componentExtractor(option)\r\n\t\tconst optionLabel = importedProps.labelExtractor(option)\r\n\t\tconst isSelectedItem = optionLabel === selected\r\n\r\n\t\tlet component = optionComponent || (\r\n\t\t\t\r\n\t\t\t\t{optionLabel}\r\n\t\t\t\r\n\t\t)\r\n\r\n\t\treturn (\r\n\t\t\t handleOnChange(option)}\r\n\t\t\t\tactiveOpacity={importedProps.touchableActiveOpacity}\r\n\t\t\t\taccessible={importedProps.listItemAccessible}\r\n\t\t\t\taccessibilityLabel={option.accessibilityLabel || undefined}\r\n\t\t\t\timportantForAccessibility={isFirstItem ? 'yes' : 'no'}\r\n\t\t\t\t{...importedProps.passThruProps}\r\n\t\t\t>\r\n\t\t\t\t\r\n\t\t\t\t\t{component}\r\n\t\t\t\t\r\n\t\t\t)\r\n\t}\r\n\r\n\tconst renderFlatlistOption = ({ item, index }) => {\r\n\t\tif (item.section) {\r\n\t\t\treturn renderSection(item)\r\n\t\t}\r\n\t\tconst numItems = importedProps.data.length\r\n\t\treturn renderOption(item, index === (numItems - 1), index === 0)\r\n\t}\r\n\r\n\t// Data Picker\r\n\tconst dataPicker = () => {\r\n\t\tlet options = importedProps.data.map((item, index) => {\r\n\t\t\tif (item.section) {\r\n\t\t\t\treturn renderSection(item)\r\n\t\t\t}\r\n\t\t\treturn renderOption(item, index === importedProps.data.length - 1, index === 0)\r\n\t\t})\r\n\r\n\t\tconst optionsContainerStyle = {paddingHorizontal: 10}\r\n\t\tif (importedProps.scrollViewPassThruProps && importedProps.scrollViewPassThruProps.horizontal) {\r\n\t\t\toptionsContainerStyle.flexDirection = 'row'\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t changedItem && importedProps.onChange(changedItem)}\r\n\t\t\t>\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{importedProps.header}\r\n\t\t\t\t\t\t\t{importedProps.listType === 'FLATLIST'?\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t:\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{options}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{importedProps.cancelText}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{dataPicker()}\r\n\t\t\t{importedProps.customSelector ? (\r\n\t\t\t\timportedProps.customSelector\r\n\t\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{selected}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{importedProps.rightElement && (\r\n\t\t\t\t\t\t\t\timportedProps.rightElement.onPress ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{importedProps.rightElement()}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{importedProps.rightElement()}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\toverlayStyle: {\r\n\t\tflex: 1,\r\n\t\tpadding: Layout.small ? '10%' : '25%',\r\n\t\tpaddingVertical: '15%',\r\n\t\tjustifyContent: 'center',\r\n\t\tbackgroundColor: Colors.blackTransparent82,\r\n\t},\r\n\r\n\toptionContainer: {\r\n\t\tborderRadius: BORDER_RADIUS,\r\n\t\tflexShrink: 1,\r\n\t\tmarginBottom: 8,\r\n\t\tpadding: PADDING,\r\n\t\tbackgroundColor: Colors.whiteTransparent85,\r\n\t},\r\n\r\n\tcancelContainer: {\r\n\t\talignSelf: 'stretch',\r\n\t},\r\n\r\n\tselectStyle: {\r\n\t\tpadding: PADDING,\r\n\t\tborderRadius: BORDER_RADIUS,\r\n\t\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between'\r\n\t},\r\n\r\n\tselectTextStyle: {\r\n\t\ttextAlign: 'left',\r\n\t\tcolor: Colors.text,\r\n\t\tfontSize: FONT_SIZE,\r\n\t},\r\n\r\n\tcancelStyle: {\r\n\t\tborderRadius: BORDER_RADIUS,\r\n\t\tbackgroundColor: Colors.whiteTransparent85,\r\n\t\tpadding: PADDING,\r\n\t},\r\n\r\n\tcancelTextStyle: {\r\n\t\ttextAlign: 'center',\r\n\t\tcolor: Colors.text,\r\n\t\tfontSize: FONT_SIZE,\r\n\t},\r\n\r\n\toptionStyle: {\r\n\t\tpadding: PADDING,\r\n\t\tborderBottomWidth: 1,\r\n\t\tborderBottomColor: '#ccc',\r\n\t},\r\n\r\n\toptionTextStyle: {\r\n\t\ttextAlign: 'center',\r\n\t\tfontSize: FONT_SIZE,\r\n\t\tcolor: Colors.blueAzure,\r\n\t},\r\n\r\n\tsectionStyle: {\r\n\t\tpadding: PADDING * 2,\r\n\t\tborderBottomWidth: 1,\r\n\t\tborderBottomColor: '#ccc',\r\n\t},\r\n\r\n\tsectionTextStyle: {\r\n\t\ttextAlign: 'left',\r\n\t\tfontSize: FONT_SIZE,\r\n\t},\r\n\r\n\ttouchableStyle: {\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tborderRadius: BORDER_RADIUS,\r\n\t\t...ShadowStyles.shadowInputs,\r\n\t},\r\n\r\n\tinitValueTextStyle: {\r\n\t\ttextAlign: 'left',\r\n\t\tfontSize: FONT_SIZE,\r\n\t\tcolor: Colors.text,\r\n\t},\r\n})","import React, { useEffect, useState } from 'react'\r\nimport { ActivityIndicator, StyleSheet } from 'react-native'\r\nimport * as AuthSession from 'expo-auth-session'\r\nimport * as Linking from 'expo-linking'\r\n\r\nimport { CustomText } from '../../text/StyledText'\r\nimport CustomPressable from '../../pressables/CustomPressable'\r\n\r\nimport NormalIcon from '../../icons/NormalIcon'\r\n\r\nimport Colors from '../../../constants/Colors'\r\nimport Paths from '../../../constants/Paths'\r\nimport { txt } from '../../../locales/i18n'\r\n\r\nimport * as Localization from '../../../services/localization'\r\nimport { storeAccessToken } from '../../../services/authActions'\r\nimport { setUserToken } from '../../../redux/actions'\r\nimport store from '../../../redux/store'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\n\r\nexport const PasswordChanger = () => {\r\n\t// idle | pending | success | error\r\n\tconst [authState, setAuthState] = useState('idle')\r\n\r\n\tuseEffect(() => {\r\n\t\tconst urlSubscriber = Linking.addEventListener('url', authLinkHandler)\r\n\t\treturn () => urlSubscriber.remove()\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (authState !== 'success') return\r\n\r\n\t\tconst successTimeout = setTimeout(() => setAuthState('idle'), 4000)\r\n\t\treturn () => clearTimeout(successTimeout)\r\n\t}, [authState])\r\n\r\n\tconst authLinkHandler = async ({ url }) => {\r\n\t\tconst { queryParams = null } = Linking.parse(url)\r\n\t\tif (queryParams === null) return\r\n\r\n\t\tconst { event = null, status = null, token = null } = queryParams\r\n\t\tif (event !== 'password' || status === null) return\r\n\r\n\t\tif (status === 'cancel') return setAuthState('idle')\r\n\t\tif (status === 'success' && token) return updateToken(token)\r\n\r\n\t\treturn setAuthState('error')\r\n\t}\r\n\r\n\tconst passwordNativeHandler = async () => {\r\n\t\tsetAuthState('pending')\r\n\r\n\t\tconst queries = []\r\n\t\tconst url = Paths.getBaseUrl() + 'auth/update'\r\n\r\n\t\tconst appDeeplink = AuthSession.makeRedirectUri()\r\n\t\tqueries.push('appDeeplink=' + encodeURIComponent(appDeeplink))\r\n\r\n\t\tconst lang = await Localization.getLanguage()\r\n\t\tif (lang) queries.push('lang=' + lang)\r\n\r\n\t\tawait Linking.openURL(url + '?' + queries.join('&'))\r\n\t}\r\n\r\n\tconst updateToken = async (token) => {\r\n\t\tsetAuthState('success')\r\n\t\tstore.dispatch(setUserToken(token))\r\n\t\tstoreAccessToken(token)\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{txt('profile.changePassword')}\r\n\t\t\t\t{authState === 'pending' && }\r\n\t\t\t\t{authState === 'success' && }\r\n\t\t\t\r\n\r\n\t\t\t{authState === 'error' && {txt('changePassword.error')}}\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: {\r\n\t\tflexDirection: 'row',\r\n\t},\r\n\r\n\tbuttonText: {\r\n\t\tflex: 1,\r\n\t},\r\n\r\n\terrorText: {\r\n\t\tcolor: Colors.errorBackground,\r\n\t\tfontSize: Fontsizes.s,\r\n\t},\r\n})\r\n","import { useSelector } from 'react-redux'\r\nimport React, { useEffect, useRef, useState } from 'react'\r\nimport { View, Platform, TextInput, StyleSheet, TouchableOpacity, Keyboard } from 'react-native'\r\nimport * as Updates from 'expo-updates'\r\nimport Colors from '../../../constants/Colors'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ButtonPrimary, RoundSquareBtn } from '../../buttons/StyledButtons'\r\nimport KeyboardSpacer from 'react-native-keyboard-spacer'\r\nimport {\r\n\tchangePassword,\r\n\tcreatePasswordToken,\r\n\tgetSubscription,\r\n\tgetUserImage,\r\n\tupdateUser,\r\n} from '../../../services/api/User'\r\nimport { getActiveMunicipalities } from '../../../services/api/Municipalities'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { CustomSnackbar } from '../../snackbars/Snackbar'\r\nimport { TypographyStyles, SpacingStyles, ShadowStyles } from '../../../styles'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport { FormInput } from '../../text/StyledTextinputs'\r\nimport { InvalidInputNoticeCentered } from '../../notices/InvalidInputNotices'\r\nimport { MunicipalityInfoDialog, ReloadDialog } from './ProfileDialog'\r\nimport RegexPatterns from '../../../constants/RegexPatterns'\r\nimport { scaleImage } from '../../../utils/ImageHelper'\r\nimport ImagePicker from '../../ImagePicker/ImagePicker'\r\nimport { PhoneNumberInput } from '../../formElements/PhoneNumberInput'\r\nimport { countries } from '../../../services/localization'\r\nimport { handlePaymentClick } from '../../../utils/handlePaymentClick'\r\nimport { PasswordChanger } from './PasswordChanger'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport ModalSelectorCustom from \"../../modalSelectors/ModalSelectorCustom\"\r\n\r\nfunction getDefaultCountryCode(countryName) {\r\n\tconst country = countries.find((country) => country.name === countryName)\r\n\treturn country?.region.toUpperCase() ?? 'DK'\r\n}\r\n\r\nexport default function Profile(props) {\r\n\tconst phoneInputRef = useRef(null)\r\n\tconst userInfo = useSelector((state) => state.user)\r\n\tconst municipalities = useSelector((state) => state.municipalities)\r\n\tconst genderList = txt('genders')\r\n\r\n\tconst [loading, setLoading] = useState(true)\r\n\tconst [feedback, setFeedback] = useState({\r\n\t\tprofileSaved: false,\r\n\t\tprofileDidNotSave: false,\r\n\t\tshowBackupLogOutBtn: false,\r\n\t\tpasswordDidChange: false,\r\n\t\texpanded: false,\r\n\t\tusernameTooShort: false,\r\n\t\temailNotValid: false,\r\n\t\tphoneNotValid: false,\r\n\t\tresetSend: false,\r\n\t\tactiveMunicipality: false,\r\n\t\tshowMunicipalityInfo: false,\r\n\t\tshowMunicipalityChanged: false,\r\n\t\tisButtonDisabled: false,\r\n\t\tmodalVisible: false,\r\n\t})\r\n\tconst [passwordStatus, setPasswordStatus] = useState({\r\n\t\tpasswordOld: '',\r\n\t\tpasswordNew: '',\r\n\t\tpasswordNewConfirm: '',\r\n\t\tpasswordHiddenOld: true,\r\n\t\tpasswordHiddenNew: true,\r\n\t\tpasswordHiddenNewConfirm: true,\r\n\t\tnewPasswordError: false,\r\n\t\tnewPasswordErrorCode: 0,\r\n\t})\r\n\tconst [newUserInfo, setNewUserInfo] = useState({ ...userInfo, phone: `${userInfo.phone ?? ''}` })\r\n\tconst [birthyearList, setBirthyearList] = useState([])\r\n\tconst [activeMunicipalities, setActiveMunicipalities] = useState([])\r\n\tconst [imageInfo, setImageInfo] = useState({})\r\n\tconst defaultCountryCode = getDefaultCountryCode(userInfo.country)\r\n\tconst [image, setImage] = useState(null)\r\n\tconst [subscription, setSubscription] = useState(null)\r\n\tconst [invalidUsernameSymbolsVisible, setInvalidUsernameSymbolsVisible] = useState(false)\r\n\tconst [reloadDialogVissible, setReloadDialogVissible] = useState(false)\r\n\r\n\tconst active =\r\n\t\tsubscription?.state === 'active' && subscription?.pending_invoices === 0 && subscription?.dunning_invoices === 0\r\n\tconst newyearUniverses = ['nytaarsvenner', 'nyarsvanner']\r\n\r\n\tuseEffect(() => {\r\n\t\tif (phoneInputRef.current !== null) {\r\n\t\t\tupdateFeedback({\r\n\t\t\t\tphoneNotValid: !phoneInputRef.current.isValid(),\r\n\t\t\t\tisButtonDisabled: false,\r\n\t\t\t})\r\n\t\t}\r\n\t}, [newUserInfo.phone, newUserInfo.phone_prefix])\r\n\r\n\tuseEffect(() => {\r\n\t\tgetProfileImage()\r\n\t\tgetYearList()\r\n\t\tgetActiveMunicipalities().then(setActiveMunicipalities)\r\n\t\tgetSubscription().then(setSubscription)\r\n\r\n\t\t// failsafe for people to logout even if profile isnt loaded\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (loading) updateFeedback({ showBackupLogOutBtn: true })\r\n\t\t}, 2000)\r\n\r\n\t\tsetLoading(false)\r\n\t}, [userInfo])\r\n\r\n\tconst getProfileImage = async () => {\r\n\t\tconst image = await getUserImage(userInfo.id)\r\n\t\tif (image !== undefined) {\r\n\t\t\tsetImageInfo((prev) => ({\r\n\t\t\t\t...prev,\r\n\t\t\t\tfilename: image.filename,\r\n\t\t\t\tbase64: image.base64,\r\n\t\t\t}))\r\n\t\t}\r\n\t}\r\n\r\n\tfunction updateFeedback(values) {\r\n\t\tsetFeedback((preFeedback) => ({\r\n\t\t\t...preFeedback,\r\n\t\t\t...values,\r\n\t\t}))\r\n\t}\r\n\r\n\tfunction updatePasswordStatus(values) {\r\n\t\tsetPasswordStatus((preStatus) => ({\r\n\t\t\t...preStatus,\r\n\t\t\t...values,\r\n\t\t}))\r\n\t}\r\n\r\n\tfunction updateNewUserInfo(values) {\r\n\t\tsetNewUserInfo((preInfo) => ({\r\n\t\t\t...preInfo,\r\n\t\t\t...values,\r\n\t\t}))\r\n\t}\r\n\r\n\tfunction getYearList() {\r\n\t\tlet yearStart = 1900\r\n\t\tlet yearEnd = new Date().getFullYear() - 15\r\n\t\tlet years = Array(yearEnd - yearStart + 1)\r\n\t\t\t.fill()\r\n\t\t\t.map(() => yearStart++)\r\n\t\tyears.reverse()\r\n\t\tsetBirthyearList(years)\r\n\t}\r\n\r\n\tfunction validEmail(email) {\r\n\t\tconst pattern = RegexPatterns.email\r\n\t\tconst conditions = pattern.map((rule) => new RegExp(rule, 'g'))\r\n\t\tconst results = conditions.map((condition) => condition.test(email))\r\n\t\treturn !results.includes(false)\r\n\t}\r\n\r\n\tfunction insertMunicipality() {\r\n\r\n\t\tconst handleInitValue = () => {\r\n\t\t\tconst initValue = municipalities.find((m) => m.id === parseInt(newUserInfo.municipality_id)) || 'København'\r\n\t\t\treturn initValue.name\r\n\t\t}\r\n\r\n\t\tconst disableMunicipalitySelection = () => {\r\n\t\t\tif (userInfo.country !== 'Denmark') return false\r\n\t\t\tif (active) return false\r\n\t\t\tconst activeMunicipality = activeMunicipalities.some((m) => m.id === parseInt(newUserInfo.municipality_id))\r\n\t\t\treturn !activeMunicipality;\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t data.id?.toString()}\r\n\t\t\t\tlabelExtractor={(data) => data.name}\r\n\t\t\t\tinitValue={handleInitValue}\r\n\t\t\t\tonChange={(value) => updateNewUserInfo({ municipality_id: value.id })}\r\n\t\t\t\tdisabled={disableMunicipalitySelection()}\r\n\t\t\t\trightElement={() => (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t)\r\n\t}\r\n\r\n\tfunction checkForActiveMunicipality() {\r\n\t\tif (userInfo.country !== 'Denmark') return true\r\n\r\n\t\treturn activeMunicipalities.some((m) => m.id === parseInt(newUserInfo.municipality_id))\r\n\t}\r\n\r\n\tfunction insertEyeIcon(target, event) {\r\n\t\treturn (\r\n\t\t\t updatePasswordStatus(event)}\r\n\t\t\t>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tasync function prepareProfileData() {\r\n\t\tKeyboard.dismiss()\r\n\t\tif (image?.uri) {\r\n\t\t\tconst scaledImage = await scaleImage(image)\r\n\t\t\tif (scaledImage) return await saveProfile(scaledImage)\r\n\t\t}\r\n\r\n\t\tif (imageInfo?.base64) return await saveProfile(false)\r\n\t\treturn await saveProfile()\r\n\t}\r\n\r\n\tasync function saveProfile(image) {\r\n\t\tconst data = {\r\n\t\t\tusername: newUserInfo.username,\r\n\t\t\temail: newUserInfo.email,\r\n\t\t\tbirth_year: newUserInfo.birth_year,\r\n\t\t\tgender_id: newUserInfo.gender_id,\r\n\t\t\tmunicipality_id: newUserInfo.municipality_id,\r\n\t\t\tphone: newUserInfo.phone,\r\n\t\t\tphone_prefix: newUserInfo.phone_prefix,\r\n\t\t\timage: null,\r\n\t\t}\r\n\r\n\t\tif (image) data.image = image\r\n\t\tif (image === false) data.image = false\r\n\r\n\t\tconst inValidPhone = !phoneInputRef.current.isValid()\r\n\t\tif (data.username.length < 2 || data.email.length < 5 || !data.email.includes('@') || inValidPhone) {\r\n\t\t\tupdateFeedback({\r\n\t\t\t\tisButtonDisabled: true,\r\n\t\t\t\tprofileDidNotSave: !feedback.profileDidNotSave,\r\n\t\t\t\tphoneNotValid: inValidPhone,\r\n\t\t\t})\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tif (data.username.includes('@')) {\r\n\t\t\treturn setInvalidUsernameSymbolsVisible(true)\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\tconst didUpdate = await updateUser(data)\r\n\t\t\tif (!didUpdate) return updateFeedback({ profileDidNotSave: true })\r\n\t\t\tupdateFeedback({ profileSaved: true })\r\n\r\n\t\t\tif (userInfo.municipality_id !== newUserInfo.municipality_id) {\r\n\t\t\t\tsetReloadDialogVissible(true)\r\n\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tPlatform.OS === 'web' ? window.location.reload() : Updates.reloadAsync()\r\n\t\t\t\t}, 20000)\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tif (__DEV__) console.log('updating profile failed ' + error)\r\n\t\t\tupdateFeedback({ profileDidNotSave: true })\r\n\t\t}\r\n\t}\r\n\r\n\tfunction showPasswordErrorMessage() {\r\n\t\tswitch (passwordStatus.newPasswordErrorCode) {\r\n\t\t\tcase 0:\r\n\t\t\t\treturn txt('profile.passwordErrors.code0')\r\n\t\t\tcase 1:\r\n\t\t\t\treturn txt('profile.passwordErrors.code1')\r\n\t\t\tcase 2:\r\n\t\t\t\treturn txt('profile.passwordErrors.code2')\r\n\t\t\tcase 3:\r\n\t\t\t\treturn txt('profile.passwordErrors.code3')\r\n\t\t\tdefault:\r\n\t\t\t\treturn txt('profile.passwordErrors.code0')\r\n\t\t}\r\n\t}\r\n\r\n\tfunction keyboardSpacerShow() {\r\n\t\tif (Platform.OS === 'ios') {\r\n\t\t\treturn \r\n\t\t}\r\n\t}\r\n\r\n\tconst handleOpenSubscription = async () => {\r\n\t\tawait handlePaymentClick({ origin: 'profile-banner', profile: true })\r\n\t}\r\n\r\n\tfunction subscriptionStatus() {\r\n\t\tif (subscription?.is_cancelled) return txt('subscription.cancelled')\r\n\t\tif (subscription?.pending_invoices > 0 || subscription?.dunning_invoices > 0) return txt('subscription.missingPayment')\r\n\t\tif (subscription?.state === 'expired') return txt('subscription.expired')\r\n\t\tif (subscription?.state === 'active' && !subscription?.is_cancelled) return txt('subscription.active')\r\n\t\treturn\r\n\t}\r\n\r\n\tfunction subscriptionIsActive() {\r\n\t\tif (\r\n\t\t\tsubscription?.state === 'active' &&\r\n\t\t\tsubscription?.is_cancelled === false &&\r\n\t\t\tsubscription?.pending_invoices === 0 &&\r\n\t\t\tsubscription?.dunning_invoices === 0\r\n\t\t) {\r\n\t\t\treturn true\r\n\t\t}\r\n\t\treturn false\r\n\t}\r\n\r\n\tfunction SubscriptionBanner() {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{subscriptionStatus()}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{!loading && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t setImageInfo((imageInfo) => ({ ...imageInfo, base64: null }))}\r\n\t\t\t\t\t\t\tplaceholder={{ uri: 'https://filer.boblberg.dk/Assets/Img/avatar.jpg' }}\r\n\t\t\t\t\t\t\tplaceholderText={false}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('profile.instructions')}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{subscription?.handle && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{/* Username */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('profile.username')}\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tif (text.length < 2) {\r\n\t\t\t\t\t\t\t\t\t\t\tupdateNewUserInfo({ username: text })\r\n\t\t\t\t\t\t\t\t\t\t\tupdateFeedback({\r\n\t\t\t\t\t\t\t\t\t\t\t\tusernameTooShort: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\tisButtonDisabled: true,\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\tsetInvalidUsernameSymbolsVisible(false)\r\n\t\t\t\t\t\t\t\t\t\t\tupdateNewUserInfo({ username: text })\r\n\t\t\t\t\t\t\t\t\t\t\tupdateFeedback({\r\n\t\t\t\t\t\t\t\t\t\t\t\tusernameTooShort: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\tisButtonDisabled: false,\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t{feedback.usernameTooShort ? (\r\n\t\t\t\t\t\t\t\t\t{txt('profile.usernameTooShort')}\r\n\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t{invalidUsernameSymbolsVisible && (\r\n\t\t\t\t\t\t\t\t\t{txt('profile.usernameInvalidSymbol')}\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Email new */}\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('profile.email')}\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tconst valid = validEmail(email)\r\n\t\t\t\t\t\t\t\t\t\tupdateNewUserInfo({ email })\r\n\t\t\t\t\t\t\t\t\t\tupdateFeedback({\r\n\t\t\t\t\t\t\t\t\t\t\temailNotValid: !valid,\r\n\t\t\t\t\t\t\t\t\t\t\tisButtonDisabled: !valid,\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t{feedback.emailNotValid ? (\r\n\t\t\t\t\t\t\t\t\t{txt('profile.emailNotValid')}\r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Birthyear */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('profile.birthYear')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t data}\r\n\t\t\t\t\t\t\t\tlabelExtractor={(data) => data}\r\n\t\t\t\t\t\t\t\tinitValue={newUserInfo.birth_year.toString() || '1970'}\r\n\t\t\t\t\t\t\t\tonChange={(birth_year) => updateNewUserInfo({ birth_year })}\r\n\t\t\t\t\t\t\t\trightElement={() => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Gender new */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('profile.gender')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t data}\r\n\t\t\t\t\t\t\t\tlabelExtractor={(data) => data}\r\n\t\t\t\t\t\t\t\tinitValue={genderList[newUserInfo.gender_id] || genderList[0]}\r\n\t\t\t\t\t\t\t\tonChange={(gender_id) => updateNewUserInfo({ gender_id: genderList.indexOf(gender_id) })}\r\n\t\t\t\t\t\t\t\trightElement={() => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Municipality new */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('profile.municipality')}\r\n\t\t\t\t\t\t{checkForActiveMunicipality() || active ? (\r\n\t\t\t\t\t\t\t{insertMunicipality()}\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t updateFeedback({ showMunicipalityInfo: !feedback.showMunicipalityInfo })}\r\n\t\t\t\t\t\t\t\t\tstyle={!feedback.activeMunicipality ? styles.disabled : ''}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{insertMunicipality()}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Phone new */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('profile.phone')}\r\n\t\t\t\t\t\t updateNewUserInfo({ phone })}\r\n\t\t\t\t\t\t\tcallCode={newUserInfo.phone_prefix}\r\n\t\t\t\t\t\t\tsetCallCode={(phone_prefix) => updateNewUserInfo({ phone_prefix })}\r\n\t\t\t\t\t\t\tstyle={{ shadowColor: Colors.transparent, elevation: 0, paddingHorizontal: 0 }}\r\n\t\t\t\t\t\t\tplaceholder={txt('profile.noPhone')}\r\n\t\t\t\t\t\t\taccessibilityLabel={txt('profile.phone')}\r\n\t\t\t\t\t\t\taccessibilityHint={txt('profile.phoneHint')}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t{feedback.phoneNotValid && (\r\n\t\t\t\t\t\t\t{txt('invalidNotice.invalidPhone')}\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Password */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{Platform.OS !== 'web' && }\r\n\r\n\t\t\t\t\t\t{Platform.OS === 'web' && (\r\n\t\t\t\t\t\t\t updateFeedback({ expanded: !feedback.expanded })}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{txt('profile.changePassword')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{feedback.expanded ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{txt('profile.password')}\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tupdatePasswordStatus({\r\n\t\t\t\t\t\t\t\t\t\t\t\tpasswordOld: text,\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\tsecureTextEntry={passwordStatus.passwordHiddenOld}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{insertEyeIcon(passwordStatus.passwordHiddenOld, {\r\n\t\t\t\t\t\t\t\t\t\t\tpasswordHiddenOld: !passwordStatus.passwordHiddenOld,\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{txt('profile.passwordNew')}\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tupdatePasswordStatus({\r\n\t\t\t\t\t\t\t\t\t\t\t\tpasswordNew: text,\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\tsecureTextEntry={passwordStatus.passwordHiddenNew}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{insertEyeIcon(passwordStatus.passwordHiddenNew, {\r\n\t\t\t\t\t\t\t\t\t\t\tpasswordHiddenNew: !passwordStatus.passwordHiddenNew,\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{txt('profile.passwordNewConfirm')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tupdatePasswordStatus({\r\n\t\t\t\t\t\t\t\t\t\t\t\tpasswordNewConfirm: text,\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\tsecureTextEntry={passwordStatus.passwordHiddenNewConfirm}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{insertEyeIcon(passwordStatus.passwordHiddenNewConfirm, {\r\n\t\t\t\t\t\t\t\t\t\t\tpasswordHiddenNewConfirm: !passwordStatus.passwordHiddenNewConfirm,\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\tpasswordStatus.passwordNew.trim().length === 0 ||\r\n\t\t\t\t\t\t\t\t\t\t\t\tpasswordStatus.passwordNewConfirm.trim().length === 0\r\n\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tupdatePasswordStatus({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordError: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordErrorCode: 1,\r\n\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tif (passwordStatus.passwordNew === passwordStatus.passwordNewConfirm) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tconst didChangePassword = await changePassword(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tpasswordStatus.passwordOld,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tpasswordStatus.passwordNew\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (didChangePassword.status_code === 200) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdatePasswordStatus({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpasswordOld: '',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpasswordNew: '',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpasswordNewConfirm: '',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordError: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordErrorCode: 0,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpasswordDidChange: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t} else if (didChangePassword.status_msg === 'Invalid password') {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdatePasswordStatus({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordError: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordErrorCode: 2,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdatePasswordStatus({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordError: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordErrorCode: 3,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\tupdatePasswordStatus({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordError: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewPasswordErrorCode: 0,\r\n\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{!feedback.resetSend ? txt('profile.forgottenPassword') : txt('profile.forgottenPasswordSend')}\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tcreatePasswordToken(newUserInfo.email)\r\n\t\t\t\t\t\t\t\t\t\t\tupdateFeedback({ resetSend: true })\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{txt('profile.forgottenPasswordReset')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t{passwordStatus.newPasswordError ? (\r\n\t\t\t\t\t\t\t\t\t\t{showPasswordErrorMessage()}\r\n\t\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Save changes */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Reload dialog */}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* MunicipalityInfo */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tupdateFeedback({\r\n\t\t\t\t\t\t\t\tshowMunicipalityInfo: !feedback.showMunicipalityInfo,\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t updateFeedback({ profileSaved: false })}\r\n\t\t\t\t\t\ttext={txt('post.savePostSnackBar')}\r\n\t\t\t\t\t\tduration={3000}\r\n\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t updateFeedback({ profileDidNotSave: false })}\r\n\t\t\t\t\t\ttext={txt('post.savePostSnackBarFailed')}\r\n\t\t\t\t\t\tduration={3000}\r\n\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t updateFeedback({ passwordDidChange: false })}\r\n\t\t\t\t\t\ttext={txt('profile.passwordDidChange')}\r\n\t\t\t\t\t\tduration={3000}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{keyboardSpacerShow()}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcolumn: { flexDirection: 'column' },\r\n\tcornerBottom: {\r\n\t\tborderBottomLeftRadius: 10,\r\n\t\tborderBottomRightRadius: 10,\r\n\t\tmarginBottom: 2,\r\n\t},\r\n\tcornersTop: { borderTopLeftRadius: 10, borderTopRightRadius: 10 },\r\n\tdisabled: { opacity: 0.7 },\r\n\terror: {\r\n\t\t...TypographyStyles.textSmall,\r\n\t\tcolor: Colors.errorBackground,\r\n\t\tmarginBottom: 5,\r\n\t\tmarginLeft: 10,\r\n\t},\r\n\tinputContainer: {\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tflexDirection: 'column',\r\n\t\tjustifyContent: 'space-between',\r\n\t\tmarginTop: 1,\r\n\t\tpadding: 12,\r\n\t},\r\n\tinstructionText: {\r\n\t\tcolor: Colors.inactive,\r\n\t\tmarginBottom: 12,\r\n\t\tmarginTop: 12,\r\n\t\ttextAlign: 'center',\r\n\t},\r\n\tmarginBottom5: { marginBottom: 5 },\r\n\tmarginTop: { marginTop: 12 },\r\n\tpasswordContainer: {\r\n\t\talignSelf: 'center',\r\n\t\tmarginBottom: 20,\r\n\t\tmarginRight: 10,\r\n\t\tmarginTop: 20,\r\n\t},\r\n\tpasswordTitleContainer: {\r\n\t\talignItems: 'center',\r\n\t\tflexDirection: 'row',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tsmallTitle: {\r\n\t\t...TypographyStyles.textSmall,\r\n\t\tcolor: Colors.inactive,\r\n\t},\r\n\tspaceBetween: { justifyContent: 'space-between' },\r\n\ttext: { ...TypographyStyles.text },\r\n\twidthHeight: {\r\n\t\tflex: 1,\r\n\t\t...SpacingStyles.widthAndHeight,\r\n\t\tpadding: 12,\r\n\t},\r\n\timagePickerContainer: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tsubscription: {\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tpadding: 12,\r\n\t\tborderRadius: 10,\r\n\t\tmarginBottom: 12,\r\n\t\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tandroidContainer: {\r\n\t\tmarginLeft: -6,\r\n\t\toverflow: 'hidden',\r\n\t\theight: 40,\r\n\t\tjustifyContent: 'center',\r\n\t},\r\n})\r\n","import React from 'react'\r\nimport Profile from '../../components/views/Profile/Profile'\r\nimport TxtTMD from '../../constants/TxtTMD'\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { useNavigation } from '@react-navigation/core'\r\n\r\nexport default function ProfileScreen() {\r\n const navigation = useNavigation()\r\n\r\n function navigateToProfileView() {\r\n navigation.navigate('ProfileView')\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","import React, { useState } from 'react'\r\nimport { View, StyleSheet, ScrollView } from 'react-native'\r\n\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ImageHighlight } from '../../images/ImageHighlight'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport CustomDialog, { ContentContainer } from '../../dialogs/CustomDialog'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\n\r\nimport { txt } from '../../../locales/i18n'\r\nimport Paths from '../../../constants/Paths'\r\nimport Colors from '../../../constants/Colors'\r\nimport { SpacingStyles, TypographyStyles } from '../../../styles'\r\n\r\nimport * as groupService from '../../../services/api/Groups'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function GroupInfo(props) {\r\n const [notifications, setNotifications] = useState(props.group.notifications)\r\n const [showNotificationDialog, setShowNotificationDialog] = useState(false)\r\n const [showErrorDialog, setShowErrorDialog] = useState(false)\r\n const [loading, setLoading] = useState(false)\r\n\r\n async function handleToggleNotifications() {\r\n if (notifications) {\r\n return setShowNotificationDialog(true)\r\n }\r\n\r\n await updateNotificationSetting(true)\r\n }\r\n\r\n async function removeNotifications() {\r\n await updateNotificationSetting(false)\r\n setShowNotificationDialog(false)\r\n }\r\n\r\n async function updateNotificationSetting(notificationSetting) {\r\n setLoading(true)\r\n\r\n const notifications = await groupService.updateNotificationSetting(props.group.id, notificationSetting)\r\n notifications === null ? setShowErrorDialog(true) : setNotifications(notifications)\r\n\r\n setLoading(false)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {txt('groups.info.title')}\r\n \r\n \r\n {props.group.name}\r\n \r\n \r\n \r\n \r\n {txt('groups.info.description')}\r\n \r\n \r\n {props.group.description}\r\n \r\n \r\n \r\n \r\n \r\n\r\n setShowNotificationDialog(false)}>\r\n \r\n setShowNotificationDialog(false)}\r\n >\r\n \r\n \r\n\r\n {txt('groups.info.notificationLabel')}\r\n {txt('groups.info.notificationDialogDescription')}\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n setShowErrorDialog(false)}>\r\n \r\n setShowErrorDialog(false)}\r\n >\r\n \r\n \r\n\r\n {txt('groups.info.errorLabel')}\r\n {txt('groups.info.errorDialogDescription')}\r\n \r\n \r\n setShowErrorDialog(false)}\r\n style={{ backgroundColor: Colors.blueAzure }}\r\n title={txt('global.ok')}\r\n titleStyle={styles.dialogAcceptButton}\r\n />\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n margin: { marginTop: 20 },\r\n marginBottom: { marginBottom: 10 },\r\n text: { ...TypographyStyles.text, textAlign: 'center' },\r\n textContainer: { margin: 10 },\r\n title: { ...TypographyStyles.titleBold, textAlign: 'center' },\r\n\r\n notificationButton: {\r\n position: 'absolute',\r\n top: 0,\r\n right: 10,\r\n margin: 12,\r\n },\r\n\r\n dialogDismissButton: {\r\n alignSelf: 'flex-end',\r\n position: 'absolute',\r\n paddingLeft: 24,\r\n zIndex: 1,\r\n },\r\n\r\n dialogHeader: {\r\n fontSize: 26,\r\n fontFamily: 'raleway-semibold',\r\n },\r\n\r\n dialogBody: {\r\n marginTop: 12,\r\n },\r\n\r\n dialogAcceptButton: {\r\n paddingHorizontal: 12,\r\n },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\n\r\nimport { txt } from '../../locales/i18n'\r\nimport { CustomText } from '../text/StyledText'\r\nimport CustomDialog, { ActionButton, ContentContainer, ScrollableDialog } from './CustomDialog'\r\n\r\nimport { getScreeningConsent, updateScreeningConsent } from '../../services/api/Inbox'\r\nimport Colors from '../../constants/Colors'\r\n\r\nexport default function ScreeningConsentDialog({ visible, handleHideDialog }) {\r\n const [consentGiven, setConsentGiven] = useState(false)\r\n const [message, setMessage] = useState(null)\r\n\r\n useEffect(() => {\r\n if (visible == true) {\r\n getCurrentConsent()\r\n }\r\n }, [visible])\r\n\r\n const handleScreeningConsent = async () => {\r\n const res = await updateScreeningConsent(consentGiven)\r\n if (res) {\r\n const consentRemoved = !!res.data\r\n if (!consentRemoved) setMessage(txt('conversations.consentRemoved'))\r\n else setMessage(txt('conversations.consentGiven'))\r\n setTimeout(() => {\r\n handleHideDialog()\r\n setMessage(null)\r\n setConsentGiven(consentRemoved)\r\n }, 1500)\r\n }\r\n }\r\n\r\n const getCurrentConsent = async () => {\r\n const consent = await getScreeningConsent()\r\n setConsentGiven(!!consent)\r\n }\r\n\r\n if (consentGiven) {\r\n return (\r\n \r\n {message ? (\r\n \r\n {message}\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n {txt('conversations.removeScreeningConsent')}\r\n \r\n {txt('conversations.removeConsentBody1')}{txt('conversations.removeConsentBody2')}\r\n {txt('conversations.removeConsentBody3')}\r\n \r\n \r\n \r\n \r\n {txt('conversations.removeScreeningConsent')}\r\n \r\n \r\n {txt('conversations.screeningCancel')}\r\n \r\n \r\n )}\r\n \r\n )\r\n } else {\r\n return (\r\n \r\n {message ? (\r\n \r\n {message}\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n {txt('conversations.screeningHeader')}\r\n \r\n {txt('conversations.screeningBody')}\r\n \r\n \r\n {txt('conversations.screeningConsent')}\r\n \r\n \r\n {txt('conversations.screeningCancel')}\r\n \r\n \r\n )}\r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n dialogButton: { padding: 10 },\r\n marginTop: { marginTop: 10 },\r\n})\r\n","export function getHexColor(userId) {\r\n const userIdString = userId.toString()\r\n let hash = 0\r\n for (let i = 0; i < userIdString.length; i++) {\r\n hash = userIdString.charCodeAt(i) + ((hash << 5) - hash)\r\n }\r\n let color = '#'\r\n for (let i = 0; i < 3; i++) {\r\n let value = (hash >> (i * 8)) & 0xff\r\n color += ('00' + value.toString(16)).substr(-2)\r\n }\r\n return color\r\n}\r\n","import { Keyboard, StyleSheet, TouchableWithoutFeedback, View } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport React, { useState } from 'react'\r\nimport CustomDialog, { ContentContainer } from '../../dialogs/CustomDialog'\r\nimport NormalIcon, { BoblbergIcon } from '../../icons/NormalIcon'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport Colors from '../../../constants/Colors'\r\nimport { getHexColor } from '../../../utils/getHexColor'\r\nimport { whoLiked } from '../../../services/api/Groups'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function Likes({ hasLiked, likes, groupId, msgId, toggleLike }) {\r\n const [showLikedList, setShowLikedList] = useState(false)\r\n const [listOfLikes, setListOfLikes] = useState([])\r\n\r\n async function toggleModal() {\r\n Keyboard.dismiss()\r\n setShowLikedList((prev) => !prev)\r\n const whoHasLiked = await whoLiked(groupId, msgId)\r\n setListOfLikes(whoHasLiked)\r\n }\r\n\r\n function renderAllLikes() {\r\n return (\r\n \r\n \r\n {txt('groups.likes.header')}\r\n \r\n \r\n {listOfLikes.map((user) => (\r\n \r\n \r\n \r\n \r\n \r\n {user.username}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {`${txt('groups.likes.like')}`}\r\n \r\n \r\n {likes > 0 && (\r\n \r\n \r\n \r\n {`${likes}`}\r\n \r\n \r\n )}\r\n \r\n\r\n {renderAllLikes()}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n customDialogStyles: {\r\n flexDirection: 'column',\r\n maxHeight: '60%',\r\n justifyContent: 'space-between',\r\n width: '80%',\r\n },\r\n likeContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n width: '100%',\r\n marginBottom: 12,\r\n },\r\n listOfHasLikedStyles: {\r\n flexDirection: 'row',\r\n marginVertical: 4,\r\n alignItems: 'center'\r\n },\r\n textStyles: {\r\n marginLeft: 6,\r\n },\r\n avatar: {\r\n borderRadius: 100,\r\n marginRight: 6,\r\n opacity: 0.4,\r\n padding: 4,\r\n },\r\n})\r\n","import React, { useState } from 'react'\r\nimport { editMessage } from '../../../../services/api/Groups'\r\nimport CustomDialog, { ActionButton, ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { Keyboard, View } from 'react-native'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomGroupInput } from '../../../text/StyledTextinputs'\r\n\r\nexport default function EditPostDialog({ groupId, post, updatePost, visible, dismiss }) {\r\n const [text, setText] = useState(post.body)\r\n\r\n async function saveChanges() {\r\n const wasEdited = await editMessage(groupId, post.id, text)\r\n if (wasEdited && wasEdited.status_code >= 200 && wasEdited.status_code <= 299) {\r\n updatePost(text)\r\n } else {\r\n updatePost(null)\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n {!post.parent_message_id ? (\r\n {txt('groups.bulletin.editParentMessageText')}\r\n ) : (\r\n {txt('groups.bulletin.editChildMessageText')}\r\n )}\r\n \r\n \r\n setText(value)}\r\n height={120}\r\n noShadow\r\n />\r\n \r\n \r\n \r\n {txt('groups.bulletin.saveChanges')}\r\n \r\n \r\n {txt('groups.members.cancel')}\r\n \r\n \r\n )\r\n}","import { CustomText } from '../components/text/StyledText'\r\nimport Colors from '../constants/Colors'\r\nimport React from 'react'\r\nimport { URLOpener } from './URLOpener'\r\nimport { Linking } from 'react-native'\r\nimport RegexPatterns from '../constants/RegexPatterns'\r\n\r\nexport function addLinkToText(text) {\r\n const emailPattern = RegexPatterns.email[1].substring(1, RegexPatterns.email[1].length - 1)\r\n const linkPattern = '([H,h]ttps?:|[W,w]ww\\\\.)\\\\S*'\r\n const regexPattern = `(${emailPattern})|(${linkPattern})`\r\n const regex = new RegExp(regexPattern, 'g')\r\n let match\r\n const links = []\r\n\r\n while ((match = regex.exec(text)) !== null) {\r\n links.push(match[0])\r\n }\r\n\r\n let textWithLinks = [text]\r\n for (let i = 0; i < links.length; i++) {\r\n const textIndex = i * 2\r\n const currentText = textWithLinks[textIndex]\r\n const linkStartIndex = currentText.indexOf(links[i])\r\n const linkEndIndex = linkStartIndex + links[i].length\r\n\r\n const clickableLink = (\r\n openUrl(links[i])}>\r\n {links[i]}\r\n \r\n )\r\n const start = currentText.slice(0, linkStartIndex)\r\n const end = currentText.slice(linkEndIndex)\r\n textWithLinks = [...textWithLinks.slice(0, textIndex), start, clickableLink, end]\r\n }\r\n return textWithLinks\r\n}\r\n\r\nconst openUrl = (url) => {\r\n if (url.includes('@')) {\r\n return Linking.openURL(`mailto:${url}`)\r\n }\r\n if (!url.startsWith('http')) {\r\n url = 'http://' + url\r\n }\r\n URLOpener(url)\r\n}","import React from 'react'\r\nimport CustomDialog, { ActionButton, ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\n\r\nexport default function DeletePostDialog({visible, parentId, dismiss, deletePost}) {\r\n return (\r\n \r\n \r\n {parentId === null ? (\r\n {txt('groups.bulletin.removeParentMessageText')}\r\n ) : (\r\n {txt('groups.bulletin.removeChildMessageText')}\r\n )}\r\n \r\n \r\n {txt('groups.members.yes')}\r\n \r\n \r\n {txt('groups.members.cancel')}\r\n \r\n \r\n )\r\n}","import React, { useState } from 'react'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport Colors from '../../../constants/Colors'\r\nimport { txt } from '../../../locales/i18n'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport Layout from '../../../constants/Layout'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function PostPin({isAdmin, isChildPost, isPinned, togglePin}) {\r\n const [isHovering, setIsHovering] = useState(false)\r\n const helpText = isPinned\r\n ? txt('groups.bulletin.unpinPostHelpText')\r\n : txt('groups.bulletin.pinPostHelpText')\r\n return (\r\n <>\r\n {isAdmin && !isChildPost && (\r\n \r\n {isHovering && !Layout.isSmallDevice && (\r\n \r\n \r\n {helpText}\r\n \r\n \r\n \r\n )}\r\n \r\n setIsHovering(true)}\r\n onMouseLeave={() => setIsHovering(false)}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n {!isAdmin && isPinned && !isChildPost && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n tooltip: {\r\n backgroundColor: Colors.blackTransparent82,\r\n borderRadius: 8,\r\n bottom: 28,\r\n position: 'absolute',\r\n width: 160,\r\n paddingVertical: 4,\r\n paddingHorizontal: 8,\r\n alignSelf: 'center',\r\n alignItems: 'center',\r\n marginRight: 48,\r\n textAlign: 'center',\r\n },\r\n tooltipArrow: {\r\n width: 0,\r\n height: 0,\r\n backgroundColor: Colors.transparent,\r\n borderStyle: 'solid',\r\n borderLeftWidth: 8,\r\n borderRightWidth: 8,\r\n borderBottomWidth: 8,\r\n borderLeftColor: Colors.transparent,\r\n borderRightColor: Colors.transparent,\r\n borderBottomColor: Colors.blackTransparent82,\r\n transform: [{rotate: \"180deg\"}],\r\n position: 'absolute',\r\n right: 52,\r\n top: 28\r\n }\r\n})","import React, { useState } from 'react'\r\nimport { Platform, StyleSheet, TextInput, View } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport Colors from '../../../constants/Colors'\r\nimport LoadingSpinner from '../../activityIndicators/LoadingSpinner'\r\nimport { CornerStyles, TypographyStyles } from '../../../styles'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function GroupCommentInput({ sendComment, group, onChange, onFocus, onBlur }) {\r\n const [text, setText] = useState('')\r\n const [commentHeight, setCommentHeight] = useState(40)\r\n const [loading, setLoading] = useState(false)\r\n\r\n const handleCommentChange = (text) => {\r\n if (text === '') setCommentHeight(40)\r\n setText(text)\r\n onChange?.()\r\n }\r\n\r\n const handleContentHeight = (e) => {\r\n setCommentHeight(e.nativeEvent.contentSize.height)\r\n }\r\n\r\n const handleSendComment = () => {\r\n setLoading(true)\r\n sendComment(text)\r\n setCommentHeight(40)\r\n setText('')\r\n setLoading(false)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {loading ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n inputContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n paddingRight: 10,\r\n },\r\n marginLeft: { marginLeft: 10 },\r\n loadingSpinner: { marginBottom: 0, marginTop: 0, marginLeft: 10 },\r\n comment: {\r\n ...TypographyStyles.text,\r\n ...CornerStyles.borderRadiusM,\r\n flex: 1,\r\n marginLeft: 15,\r\n maxHeight: 300,\r\n minHeight: 40,\r\n borderWidth: 1,\r\n borderColor: Colors.shadow,\r\n backgroundColor: Colors.white,\r\n paddingHorizontal: 18,\r\n paddingTop: 9, // If higher than 9, padding will make text overflow and scroll\r\n paddingBottom: 9, // If higher than 9, padding will make text overflow and scroll\r\n },\r\n})\r\n","import React, { useState } from 'react'\r\nimport { StyleSheet } from 'react-native'\r\nimport * as WebBrowser from 'expo-web-browser'\r\n\r\nimport { CustomText } from '../../text/StyledText'\r\nimport Colors from '../../../constants/Colors'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { ScrollableDialog, ActionButton, ContentContainer } from '../../dialogs/CustomDialog'\r\n\r\nimport FontSizes from '../../../constants/Fontsizes'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { getTempFileLink } from '../../../services/api/Groups'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport function GroupPostFileLink({ id, name, groupId }) {\r\n const [showErrorDialog, setShowErrorDialog] = useState(false)\r\n\r\n async function openFile() {\r\n const fileLink = await getTempFileLink(groupId, id)\r\n\r\n if (fileLink === null) {\r\n return setShowErrorDialog(true)\r\n }\r\n\r\n await WebBrowser.openBrowserAsync(fileLink)\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n\r\n \r\n {name}\r\n \r\n \r\n\r\n \r\n \r\n {txt('groups.fileLink.errorHeader')}\r\n\r\n {txt('groups.fileLink.errorBody')}\r\n \r\n\r\n setShowErrorDialog(false)}>{txt('global.ok')}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n marginTop: 6,\r\n flexDirection: 'row',\r\n alignSelf: 'flex-start',\r\n maxWidth: '100%',\r\n },\r\n\r\n icon: {\r\n marginRight: 6,\r\n },\r\n\r\n text: {\r\n color: Colors.blue,\r\n },\r\n})\r\n","import { FlatList, Image, Modal, Platform, StyleSheet, useWindowDimensions, View } from 'react-native'\r\nimport React, { useEffect, useRef, useState } from 'react'\r\nimport Colors from '../../../constants/Colors'\r\nimport Layout from '../../../constants/Layout'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { ReactNativeZoomableView } from '@openspacelabs/react-native-zoomable-view'\r\nimport { useSafeAreaInsets } from 'react-native-safe-area-context'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nfunction Arrow({ direction, onPress }) {\r\n const [hover, setHover] = useState(false)\r\n const dimensions = useWindowDimensions()\r\n\r\n const icons = {\r\n left: \"chevron-left\",\r\n right: \"chevron-right\",\r\n }\r\n\r\n return (\r\n setHover(true)}\r\n onMouseLeave={() => setHover(false)}\r\n onPress={onPress}\r\n >\r\n \r\n \r\n )\r\n}\r\n\r\nexport default function ImageSlider({ visible, images, startIndex, dismiss }) {\r\n const [imageIndex, setImageIndex] = useState()\r\n const [isZooming, setIsZooming] = useState(false)\r\n const [isSliding, setIsSliding] = useState(false)\r\n const dimensions = useWindowDimensions()\r\n const listRef = useRef()\r\n const insets = useSafeAreaInsets()\r\n\r\n useEffect(() => {\r\n setImageIndex(startIndex)\r\n }, [startIndex])\r\n\r\n useEffect(() => {\r\n if (imageIndex !== undefined) {\r\n setTimeout(scrollToImage, 0)\r\n }\r\n }, [imageIndex])\r\n\r\n function scrollToImage() {\r\n const offset = imageIndex * dimensions.width\r\n listRef.current.scrollToOffset({\r\n offset,\r\n animated: false,\r\n })\r\n }\r\n\r\n function handleWebPreviousImage() {\r\n if (imageIndex > 0) {\r\n setImageIndex((prev) => prev - 1)\r\n }\r\n }\r\n\r\n function handleWebNextImage() {\r\n if (imageIndex < images.length - 1) {\r\n setImageIndex((prev) => prev + 1)\r\n }\r\n }\r\n\r\n function renderImage({ item }) {\r\n return (\r\n \r\n isSliding}\r\n onShiftingBefore={(_, state, event) => event.zoomLevel <= 1}\r\n onTransform={(event) => setIsZooming(event.zoomLevel > 1)}\r\n >\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n {Platform.OS === 'web' && !Layout.isSmallDevice && (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n index.toString()}\r\n renderItem={renderImage}\r\n pagingEnabled\r\n scrollEnabled={!isZooming}\r\n horizontal\r\n onScrollBeginDrag={() => setIsSliding(true)}\r\n onScrollEndDrag={() => setIsSliding(false)}\r\n showsHorizontalScrollIndicator={false}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n imageDialogClose: {\r\n position: 'absolute',\r\n right: 20,\r\n zIndex: 10,\r\n backgroundColor: Colors.blackTransparent54,\r\n borderRadius: 16,\r\n },\r\n imageDialogArrows: {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n right: 0,\r\n bottom: 0,\r\n zIndex: 2,\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n flexDirection: 'row',\r\n },\r\n imageArrow: {\r\n justifyContent: 'center',\r\n paddingHorizontal: 12,\r\n },\r\n arrowBackground: {\r\n backgroundColor: Colors.blackTransparent2,\r\n },\r\n})\r\n","import React, { useEffect, useRef } from 'react'\r\nimport { Animated, StyleSheet } from 'react-native'\r\n\r\nimport Colors from '../../constants/Colors'\r\n\r\nexport const Skeleton = (props) => {\r\n\tconst opacity = useRef(new Animated.Value(1)).current\r\n\r\n\tuseEffect(() => {\r\n\t\tconst options = { duration: 1000, useNativeDriver: true }\r\n\t\tconst from = Animated.timing(opacity, { ...options, toValue: 0.4 })\r\n\t\tconst to = Animated.timing(opacity, { ...options, toValue: 1 })\r\n\r\n\t\tconst animation = Animated.loop(Animated.sequence([from, to]))\r\n\t\tanimation.start()\r\n\r\n\t\treturn () => animation.stop()\r\n\t}, [opacity])\r\n\r\n\treturn \r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tskeleton: {\r\n\t\tbackgroundColor: Colors.greyLightLight,\r\n\t\tborderRadius: 4,\r\n\t\theight: 20,\r\n\t\twidth: 20,\r\n\t},\r\n})\r\n","import React, { useState } from 'react'\r\nimport { Image, StyleSheet, View } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Layout from '../../../constants/Layout'\r\nimport ImageSlider from './ImageSlider'\r\nimport CustomPressable from '../../pressables/CustomPressable'\r\nimport { Skeleton } from '../../activityIndicators/Skeleton'\r\n\r\nexport default function GroupPostImages({ images, imageCount }) {\r\n\tconst [startIndex, setStartIndex] = useState(undefined)\r\n\r\n\tif (images.length !== imageCount) {\r\n\t\tconst style = imageCount === 1 ? styles.imageSingleWrapper : styles.imageMultipleWrapper\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{Array.from({ length: imageCount }).map((_, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{images.map((image, index) => (\r\n\t\t\t\t setStartIndex(index)}\r\n\t\t\t\t>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\t setStartIndex(undefined)}\r\n\t\t\t\timages={images}\r\n\t\t\t\tstartIndex={startIndex}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: {\r\n\t\tflex: 1,\r\n\t\tflexDirection: 'row',\r\n\t\tflexWrap: 'wrap',\r\n\t\tjustifyContent: 'center',\r\n\t\tpaddingTop: 12,\r\n\t\twidth: '100%',\r\n\t\tgap: 1,\r\n\t},\r\n\r\n\timageMultipleWrapper: {\r\n\t\tflex: 1,\r\n\t\tflexGrow: 1,\r\n\t\tflexShrink: 1,\r\n\t\tflexBasis: Layout.isSmallDevice ? 135 : 200,\r\n\t\theight: Layout.isSmallDevice ? 135 : 200,\r\n\t},\r\n\r\n\timageSingleWrapper: {\r\n\t\tflex: 1,\r\n\t\theight: 400,\r\n\t\twidth: '100%',\r\n\t},\r\n\r\n\timage: {\r\n\t\twidth: '100%',\r\n\t\theight: '100%',\r\n\t},\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { StyleSheet, View, ActivityIndicator } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { CornerStyles, TypographyStyles } from '../../../styles'\r\nimport { txt } from '../../../locales/i18n'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport {\r\n createMessage,\r\n deleteMessage,\r\n getGroupMessageComments,\r\n getGroupMessageDocuments,\r\n getGroupMessageImages,\r\n pinGroupPost,\r\n unpinGroupPost,\r\n like,\r\n removeLike,\r\n} from '../../../services/api/Groups'\r\nimport moment from 'moment'\r\n\r\nimport ScreeningConsentDialog from '../../dialogs/ScreeningConsentDialog'\r\nimport { getConversationId, getScreeningConsent } from '../../../services/api/Inbox'\r\nimport OptionButton from '../../buttons/OptionButton'\r\nimport OptionDialog from '../../dialogs/OptionsDialog'\r\nimport Likes from './Likes'\r\nimport { getHexColor } from '../../../utils/getHexColor'\r\nimport EditPostDialog from './dialogs/EditPostDialog'\r\nimport { addLinkToText } from '../../../utils/addLinkToText'\r\nimport DeletePostDialog from './dialogs/DeletePostDialog'\r\nimport PostPin from './PostPin'\r\nimport GroupCommentInput from './GroupCommentInput'\r\nimport { GroupPostFileLink } from './GroupPostFileLink'\r\nimport GroupPostImages from './GroupPostImages'\r\nimport Card from '../../Card'\r\nimport store from '../../../redux/store'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function GroupPost({\r\n post,\r\n group,\r\n onInputFocus,\r\n refreshMessages,\r\n child,\r\n createPostComment,\r\n navigateToConversation,\r\n navigateToNewConversation,\r\n onInputChange,\r\n onInputBlur,\r\n}) {\r\n\tmoment.locale(txt('videoChat.locale'))\r\n\tconst isAdmin = group?.own_user_rank === 1\r\n\tconst isOwnPost = store.getState().user?.id === post.user_id\r\n\r\n\tconst [body, setBody] = useState(post.body)\r\n\tconst [liked, setLiked] = useState(post.hasLiked)\r\n\tconst [pinned, setPinned] = useState(post.pinned)\r\n\tconst [likeCount, setLikeCount] = useState(post.likes ?? 0)\r\n\r\n\tconst [images, setImages] = useState([])\r\n\tconst [comments, setComments] = useState([])\r\n\tconst [documents, setDocuments] = useState([])\r\n\r\n\tconst [hasMoreComments, setHasMoreComments] = useState(true)\r\n\tconst [fetchingComments, setFetchingComments] = useState(false)\r\n\r\n\tconst [options, setOptions] = useState([])\r\n\tconst [optionsDialogTitle, setOptionsDialogTitle] = useState(undefined)\r\n\r\n\tconst [showScreeningDialog, setShowScreeningDialog] = useState(false)\r\n\tconst [showOptionsDialog, setShowOptionsDialog] = useState(false)\r\n\tconst [showRemoveDialog, setShowRemoveDialog] = useState(false)\r\n\tconst [showEditDialog, setShowEditDialog] = useState(false)\r\n\r\n\tuseEffect(() => {\r\n\t\tconst getResources = async () => {\r\n\t\t\tsetFetchingComments(true)\r\n\r\n\t\t\tconst commentsResponse = await getGroupMessageComments(group.id, post.id, 0)\r\n\t\t\tif (commentsResponse.comments.length === commentsResponse.totalComments) {\r\n\t\t\t\tsetHasMoreComments(false)\r\n\t\t\t}\r\n\r\n\t\t\tcommentsResponse.comments.reverse()\r\n\t\t\tsetComments(commentsResponse.comments)\r\n\t\t\tsetFetchingComments(false)\r\n\r\n\t\t\tif (!post.child) {\r\n\t\t\t\tconst documents = await getGroupMessageDocuments(group.id, post.id)\r\n\t\t\t\tconst images = await getGroupMessageImages(group.id, post.id)\r\n\r\n\t\t\t\tsetDocuments(documents)\r\n\t\t\t\tsetImages(images)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tgetResources()\r\n\t}, [group, post])\r\n\r\n\tfunction updatePost(text) {\r\n\t\tif (text) setBody(text)\r\n\t\ttoggleEditMessageDialog()\r\n\t}\r\n\r\n\tfunction toggleRemoveMessageDialog() {\r\n\t\tsetShowRemoveDialog(!showRemoveDialog)\r\n\t\tsetShowOptionsDialog(false)\r\n\t}\r\n\r\n\tfunction toggleEditMessageDialog() {\r\n\t\tsetShowEditDialog(!showEditDialog)\r\n\t\tsetShowOptionsDialog(false)\r\n\t}\r\n\r\n const editOption = {\r\n label: txt('groups.bulletin.edit'),\r\n hint: txt('groups.bulletin.editHint'),\r\n icon: \"edit\",\r\n action: toggleEditMessageDialog,\r\n }\r\n const removeOption = {\r\n label: txt('groups.bulletin.delete'),\r\n hint: txt('groups.bulletin.deleteHint'),\r\n icon: \"trash\",\r\n action: toggleRemoveMessageDialog,\r\n type: 'danger',\r\n }\r\n const sendMessageOption = {\r\n label: txt('groups.bulletin.sendMessage'),\r\n icon: \"comment-lines\",\r\n action: async () => {\r\n if (!post.user_id) return\r\n const conversationId = await getConversationId({\r\n groupId: group.id,\r\n receiverId: post.user_id,\r\n })\r\n if (conversationId) navigateToConversation(conversationId)\r\n else navigateToNewConversation(post.user_id)\r\n setShowOptionsDialog(false)\r\n },\r\n }\r\n\r\n\tfunction handleUserClick() {\r\n\t\tif (isOwnPost) return\r\n\t\tconst options = [sendMessageOption]\r\n\r\n\t\tsetOptions(options)\r\n\t\tsetShowOptionsDialog(true)\r\n\t\tsetOptionsDialogTitle(post.username)\r\n\t}\r\n\r\n\tfunction handleOptionButtonClick() {\r\n\t\tconst options = []\r\n\t\tif (isOwnPost === false) options.push(sendMessageOption)\r\n\t\tif (isOwnPost || isAdmin) options.push(editOption, removeOption)\r\n\r\n\t\tsetOptions(options)\r\n\t\tsetShowOptionsDialog(true)\r\n\t\tsetOptionsDialogTitle(undefined)\r\n\t}\r\n\r\n\tasync function changePinnedPost() {\r\n\t\tpinned ? await unpinGroupPost(group.id, post.id) : await pinGroupPost(group.id, post.id)\r\n\t\tsetPinned(!pinned)\r\n\t\tawait refreshMessages()\r\n\t}\r\n\r\n\tasync function sendComment(comment) {\r\n\t\tif (!comment) return\r\n\t\tconst consentGiven = await getScreeningConsent()\r\n\t\tif (consentGiven === 0) return setShowScreeningDialog(true)\r\n\r\n\t\tconst postData = {\r\n\t\t\tgroupId: group.id,\r\n\t\t\tbody: comment,\r\n\t\t\timages: null,\r\n\t\t\tparentId: post.id,\r\n\t\t}\r\n\r\n\t\tconst message = await createMessage(postData)\r\n\t\tif (message !== undefined) setComments((comments) => [...comments, message])\r\n\t}\r\n\r\n\tasync function handleDeletePost() {\r\n\t\tconst wasDeleted = await deleteMessage(group.id, post.id)\r\n\t\tif (wasDeleted === false) return\r\n\t\ttoggleRemoveMessageDialog()\r\n\t\tawait refreshMessages()\r\n\t}\r\n\r\n\tasync function getMoreComments() {\r\n\t\tsetFetchingComments(true)\r\n\t\tconst skip = comments.length\r\n\r\n\t\tif (hasMoreComments) {\r\n\t\t\tconst res = await getGroupMessageComments(group.id, post.id, skip)\r\n\t\t\tif (res.comments.length + comments.length === res.totalComments) {\r\n\t\t\t\tsetHasMoreComments(false)\r\n\t\t\t}\r\n\r\n\t\t\tres.comments.reverse()\r\n\t\t\tsetComments((current) => [...res.comments, ...current])\r\n\t\t}\r\n\r\n\t\tsetFetchingComments(false)\r\n\t}\r\n\r\n\tasync function toggleLike() {\r\n\t\tliked ? await removeLike(group.id, post.id) : await like(group.id, post.id)\r\n\t\tsetLikeCount(likeCount => likeCount + (liked ? -1 : 1))\r\n\t\tsetLiked(!liked)\r\n\t}\r\n\r\n function ParentPost() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {post.username}\r\n \r\n \r\n {moment(post.created).format('DD-MM-YYYY HH:mm')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {addLinkToText(body)}\r\n {post.images > 0 && }\r\n\r\n {documents.length !== 0 && (\r\n \r\n {documents.map(({ id, name }) => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n const renderMoreCommentButton = () => {\r\n const totalComments = post.totalComments ?? 0\r\n if (totalComments === 0 || child || hasMoreComments === false) return null\r\n\r\n return (\r\n \r\n {fetchingComments === false && (\r\n \r\n {txt('groups.bulletin.showMoreComments')}\r\n \r\n )}\r\n {fetchingComments === true && }\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n {ParentPost()}\r\n {renderMoreCommentButton()}\r\n {comments.map((comment) => (\r\n \r\n ))}\r\n\r\n {!child &&\r\n \r\n }\r\n\r\n setShowScreeningDialog(false)}\r\n />\r\n\r\n setShowOptionsDialog(false)}\r\n options={options}\r\n title={optionsDialogTitle}\r\n />\r\n\r\n \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n avatar: {\r\n alignSelf: 'center',\r\n },\r\n avatarContainer: {\r\n borderRadius: 100,\r\n opacity: 0.4,\r\n width: 31,\r\n height: 31,\r\n justifyContent: 'center',\r\n marginRight: 6,\r\n },\r\n commentSectionLine: {\r\n borderBottomColor: Colors.blackTransparent,\r\n borderBottomWidth: 1,\r\n marginBottom: 10,\r\n opacity: 0.9,\r\n },\r\n lightText: {\r\n color: Colors.inactive,\r\n },\r\n postBody: {\r\n marginVertical: 12,\r\n },\r\n postContainer: {\r\n ...CornerStyles.borderRadiusS,\r\n flexDirection: 'column',\r\n marginBottom: 12,\r\n padding: 10,\r\n\tmarginHorizontal: 10,\r\n },\r\n postHeader: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n },\r\n moreCommentsButton: {\r\n paddingTop: 10,\r\n paddingBottom: 14,\r\n paddingLeft: 20,\r\n display: 'flex',\r\n alignItems: 'flex-start',\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View } from 'react-native'\r\nimport Webcam from 'react-webcam'\r\nimport Layout from '../../constants/Layout'\r\nimport { txt } from '../../locales/i18n'\r\nimport { RoundBtn } from '../buttons/StyledButtons'\r\n\r\nexport const WebcamCapture = (props) => {\r\n const webcamRef = React.useRef(null)\r\n\r\n const capture = React.useCallback(() => {\r\n const imageSrc = webcamRef.current.getScreenshot()\r\n props.captureImage(imageSrc)\r\n }, [webcamRef])\r\n\r\n const isSmall = Layout.isSmallDevice\r\n\r\n const size = {\r\n width: isSmall ? 250 : 500,\r\n height: isSmall ? 250 : 500,\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","import React, { useState } from 'react'\r\nimport { View, StyleSheet, Platform } from 'react-native'\r\n\r\nimport * as ImagePicker from 'expo-image-picker'\r\nimport { useCameraPermissions } from \"expo-camera\"\r\n\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\n\r\nimport { openSystemSettings } from \"../../utils/getPermissions\"\r\n\r\nimport { WebcamCapture } from './WebcamCapture'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport CustomDialog, { ActionButton, ContentContainer } from '../dialogs/CustomDialog'\r\nimport { CustomText } from '../text/StyledText'\r\n\r\nexport default function ImagePickerPrivate(props) {\r\n const [webcamOn, setWebcamOn] = useState(false)\r\n const [showDialog, setShowDialog] = useState(false)\r\n const [, requestPermission] = useCameraPermissions()\r\n\r\n const pickImages = async (type) => {\r\n const permission = await getPermissionAsync(type)\r\n if (!permission) return\r\n\r\n const mediaTypes = ImagePicker.MediaTypeOptions.Images\r\n\r\n if (type === 'library') {\r\n // quality: 1 is necessary for it to work on android\r\n const options = { mediaTypes, allowsMultipleSelection: true, base64: true, quality: 1 }\r\n const result = await ImagePicker.launchImageLibraryAsync(options)\r\n\r\n if (result.canceled || result.assets.length === 0) return\r\n props.addImages(filterImages(result.assets))\r\n }\r\n\r\n if (type === 'camera') {\r\n const options = { mediaTypes, allowsEditing: true, aspect: [1, 1], base64: true }\r\n const result = await ImagePicker.launchCameraAsync(options)\r\n\r\n if (result.canceled || result.assets.length === 0) return\r\n props.addImages(result.assets)\r\n }\r\n }\r\n\r\n const getPermissionAsync = async (type) => {\r\n if (Platform.OS !== 'web') {\r\n const { granted, canAskAgain } = await requestPermission()\r\n if (granted === false) {\r\n if (canAskAgain === false) {\r\n return await openSystemSettings()\r\n }\r\n }\r\n return granted\r\n } else {\r\n if (type === 'camera') {\r\n setWebcamOn(true)\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n\r\n const filterImages = (images) => {\r\n return images.filter((image) => {\r\n const isImage = /^data:image/.test(image.uri)\r\n if (isImage || image.type === 'image') {\r\n setShowDialog(false)\r\n return true\r\n } else if (!image.cancelled && image.type !== 'image') {\r\n setShowDialog(true)\r\n return false\r\n }\r\n })\r\n }\r\n\r\n const handleCaptureImage = (captureImage) => {\r\n setWebcamOn(false)\r\n const image = { uri: captureImage }\r\n props.addImages([image])\r\n }\r\n\r\n return (\r\n \r\n {webcamOn ? (\r\n handleCaptureImage(captureImage)}\r\n />\r\n ) : (\r\n props.multiple ? (\r\n pickImages('library')}\r\n style={{ backgroundColor: props.backgroundColor || Colors.tintColor }}\r\n titleStyle={{ color: props.buttonText || Colors.white }}\r\n />\r\n ) : (\r\n \r\n pickImages('library')}\r\n />\r\n pickImages('camera')}\r\n />\r\n \r\n )\r\n )}\r\n setShowDialog(false)}>\r\n \r\n {txt('groups.bulletin.formatError')}\r\n \r\n setShowDialog(false)}>\r\n {txt('groups.bulletin.ok')}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n buttonContainer: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'space-evenly',\r\n marginBottom: 12,\r\n },\r\n})","export const acceptedMimeTypes = [\r\n { extension: 'pdf', mime: 'application/pdf' },\r\n // { extension: 'rtf', mime: 'application/rtf' },\r\n { extension: 'txt', mime: 'text/plain' },\r\n { extension: 'csv', mime: 'text/csv' },\r\n\r\n // // google formats\r\n { extension: 'gdoc', mime: 'application/vnd.google-apps.document' },\r\n { extension: 'gslides', mime: 'application/vnd.google-apps.spreadsheet' },\r\n { extension: 'gsheet', mime: 'application/vnd.google-apps.presentation' },\r\n\r\n // // apple formats\r\n { extension: 'pages', mime: 'application/vnd.apple.pages' },\r\n { extension: 'numbers', mime: 'application/vnd.apple.numbers' },\r\n { extension: 'key', mime: 'application/vnd.apple.keynote' },\r\n\r\n // office formats\r\n { extension: 'docx', mime: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' },\r\n { extension: 'pptx', mime: 'application/vnd.openxmlformats-officedocument.presentationml.presentation' },\r\n { extension: 'xlsx', mime: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' },\r\n\r\n // office formats legacy\r\n { extension: 'doc', mime: 'application/msword' },\r\n { extension: 'ppt', mime: 'application/vnd.ms-powerpoint' },\r\n { extension: 'xls', mime: 'application/vnd.ms-excel' },\r\n { extension: 'dot', mime: 'application/application/msword' },\r\n { extension: 'pot', mime: 'application/application/vnd.ms-powerpoint' },\r\n { extension: 'pps', mime: 'application/application/vnd.ms-powerpoint' },\r\n { extension: 'xlt', mime: 'application/application/vnd.ms-excel' },\r\n]\r\n\r\nexport const acceptedImageMimeTypes = [\r\n { extension: 'jpg', mime: 'image/jpeg' },\r\n { extension: 'png', mime: 'image/png' },\r\n]\r\n\r\nexport const maximumDocumentSize = 100000000 // 100 megabytes\r\n","// libraries\r\nimport React, { useRef, useState } from 'react'\r\nimport { View, StyleSheet, Image, Platform, FlatList } from 'react-native'\r\nimport * as ImageManipulator from 'expo-image-manipulator'\r\nimport * as FileSystem from 'expo-file-system'\r\n\r\n// components\r\nimport { CustomGroupInput } from '../../text/StyledTextinputs'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { ButtonPrimary, RotateLeftBtn, RotateRightBtn } from '../../buttons/StyledButtons'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Colors from '../../../constants/Colors'\r\nimport CustomDialog, { ActionButton, ContentContainer } from '../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport ImagePickerPrivate from '../../ImagePicker/ImagePickerPrivate'\r\nimport * as DocumentPicker from 'expo-document-picker'\r\nimport { maximumDocumentSize, acceptedMimeTypes } from '../../../constants/FilesConfig'\r\nimport { CameraModal } from '../../camera-modal/camera-modal'\r\n\r\n// api\r\nimport { scaleImages } from '../../../utils/ImageHelper'\r\nimport { createMessage } from '../../../services/api/Groups'\r\nimport { getScreeningConsent } from '../../../services/api/Inbox'\r\nimport ScreeningConsentDialog from '../../dialogs/ScreeningConsentDialog'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function GroupInput(props) {\r\n const [text, setText] = useState('')\r\n const [height, setHeight] = useState(null)\r\n const [images, setImages] = useState([])\r\n const [documents, setDocuments] = useState([])\r\n const [uploadErrorMessage, setUploadErrorMessage] = useState('')\r\n const [showScreeningDialog, setShowScreeningDialog] = useState(false)\r\n const [isLoading, setIsLoading] = useState(false)\r\n const cameraRef = useRef(null)\r\n\r\n const sendMessage = async () => {\r\n setIsLoading(true)\r\n let scaledImages = null\r\n if (images.length > 0) {\r\n scaledImages = await scaleImages(images) || null\r\n if (scaledImages === null) {\r\n setUploadErrorMessage(txt('groups.bulletin.uploadFailed'))\r\n return setIsLoading(false)\r\n }\r\n }\r\n\r\n const consentGiven = await getScreeningConsent()\r\n if (consentGiven === 0) {\r\n setShowScreeningDialog(true)\r\n return setIsLoading(false)\r\n }\r\n\r\n const messageData = {\r\n groupId: props.group.id,\r\n body: text,\r\n images: scaledImages,\r\n documents,\r\n }\r\n\r\n const message = await createMessage(messageData)\r\n setIsLoading(false)\r\n\r\n if (message === undefined) {\r\n return setUploadErrorMessage(txt('groups.bulletin.uploadFailed'))\r\n }\r\n\r\n if (message?.errCode) {\r\n return setUploadErrorMessage(txt('groups.bulletin.uploadFailed'))\r\n }\r\n\r\n setText('')\r\n setImages([])\r\n setDocuments([])\r\n props.onMessageCreated(message)\r\n }\r\n\r\n const addImages = (images) => {\r\n if (images) {\r\n setImages((prevState) => [...images, ...prevState])\r\n }\r\n }\r\n\r\n const removeImage = async (imgIndex) => {\r\n const filteredImages = images.filter((img, index) => {\r\n if (index !== imgIndex) {\r\n return img\r\n }\r\n })\r\n setImages(filteredImages)\r\n }\r\n\r\n const rotateImage = async (direction, index) => {\r\n if (!images) return\r\n\r\n const manipResult = await ImageManipulator.manipulateAsync(images[index].uri, [{ rotate: direction * 90 }], {\r\n format: ImageManipulator.SaveFormat.JPEG,\r\n })\r\n\r\n const copyOfImages = images.slice()\r\n copyOfImages[index] = manipResult\r\n setImages(copyOfImages)\r\n }\r\n\r\n const handleSetText = (text) => {\r\n if (text === '') {\r\n setHeight(null)\r\n }\r\n setText(text)\r\n }\r\n\r\n const renderImageItem = ({ item, index }, removeImage) => {\r\n return (\r\n \r\n {renderImagePreview(item)}\r\n \r\n {\r\n // Web goes opposite direction\r\n rotateImage(Platform.OS === 'web' ? 1 : -1, index)\r\n }}\r\n style={{ paddingHorizontal: 12 }}\r\n />\r\n removeImage(index)}>\r\n \r\n \r\n {\r\n rotateImage(Platform.OS === 'web' ? -1 : 1, index)\r\n }}\r\n style={{ paddingHorizontal: 12 }}\r\n />\r\n \r\n \r\n )\r\n }\r\n\r\n const renderImagePreview = (item) => {\r\n return \r\n }\r\n\r\n const removeDocument = (index) => {\r\n setDocuments((previous) => previous.filter((e, i) => i !== index))\r\n }\r\n\r\n const renderDocuments = () => {\r\n return documents.map((document, index) => (\r\n \r\n \r\n {document.name}\r\n \r\n\r\n {/* remove button */}\r\n removeDocument(index)}\r\n accessibilityRole=\"button\"\r\n accessibilityLabel={txt('groups.input.removeDocument')}\r\n accessibilityHint={txt('groups.input.removeDocumentHint')}\r\n >\r\n \r\n \r\n \r\n ))\r\n }\r\n\r\n const pickDocument = async () => {\r\n const { assets, canceled } = await DocumentPicker.getDocumentAsync({})\r\n if (canceled) return // cancelled by user\r\n\r\n const [file] = assets\r\n const { name, size, uri } = file\r\n\r\n let base64\r\n\r\n if (Platform.OS === 'web') {\r\n const regex = /;base64,(?.+)$/g.exec(uri)\r\n base64 = regex.groups.data\r\n } else {\r\n base64 = await FileSystem.readAsStringAsync(uri, { encoding: 'base64' })\r\n }\r\n\r\n // validate file format\r\n const { extension } = /.(?\\w+)$/g.exec(name).groups\r\n const documentType = acceptedMimeTypes.find((e) => {\r\n return e.extension === extension.toLowerCase()\r\n })\r\n\r\n if (!documentType) {\r\n const errorMessage = txt('groups.bulletin.unsupportedDocument')\r\n return setUploadErrorMessage(errorMessage)\r\n }\r\n\r\n // validate size\r\n if (size > maximumDocumentSize) {\r\n const errorMessage = txt('groups.bulletin.documentToLarge')\r\n const supportedSize = `${maximumDocumentSize * 10 ** -6} megabytes`\r\n return setUploadErrorMessage(`${errorMessage} ${supportedSize}`)\r\n }\r\n\r\n const document = { base64, name, size, ...documentType }\r\n setDocuments((previous) => [document, ...previous])\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n setHeight(e.nativeEvent.contentSize.height)}\r\n height={height}\r\n value={text}\r\n //style={{ backgroundColor: props.group.theme?.secondary || Colors.white }}\r\n />\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n cameraRef.current?.open?.()}\r\n style={{ backgroundColor: props.group?.theme?.primary || Colors.tintColor, marginLeft: 10 }}\r\n titleStyle={{ color: props.group?.theme?.buttonText || Colors.white }}\r\n color={props.group.theme?.buttonText || Colors.white}\r\n accessibilityLabel={txt('groups.input.openCamera')}\r\n />\r\n\r\n \r\n \r\n \r\n\r\n {images.length !== 0 && (\r\n \r\n renderImageItem(item, removeImage)}\r\n />\r\n \r\n )}\r\n\r\n {/* document container */}\r\n {documents.length !== 0 && {renderDocuments()}}\r\n\r\n setImages((images) => [image, ...images])}\r\n />\r\n\r\n setUploadErrorMessage('')}\r\n >\r\n \r\n {uploadErrorMessage}\r\n \r\n setUploadErrorMessage('')}>\r\n {txt('groups.bulletin.ok')}\r\n \r\n \r\n\r\n setShowScreeningDialog(false)} />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n document: {\r\n alignItems: 'center',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n },\r\n documentContainer: {\r\n margin: 10,\r\n },\r\n documentLink: {\r\n flex: 1,\r\n },\r\n imageContainer: {\r\n flex: 1,\r\n flexDirection: 'row',\r\n justifyContent: 'center',\r\n marginBottom: 10,\r\n marginTop: 10,\r\n },\r\n images: {\r\n alignItems: 'center',\r\n borderRadius: Fontsizes.cornerRounding,\r\n display: 'flex',\r\n height: 200,\r\n justifyContent: 'center',\r\n width: 200,\r\n },\r\n inputContainer: {\r\n flex: 1,\r\n flexGrow: 5,\r\n maxHeight: 300,\r\n minHeight: 100,\r\n width: '100%',\r\n },\r\n inputOptions: {\r\n marginVertical: 12,\r\n width: '100%',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'center'\r\n },\r\n margin10: { margin: 10 },\r\n pickedImageContainer: {\r\n marginTop: 10,\r\n paddingRight: 10,\r\n },\r\n postContainer: {\r\n width: '100%',\r\n },\r\n rotateBtnContainer: {\r\n flexDirection: 'row',\r\n justifyContent: 'space-around',\r\n marginBottom: 5,\r\n marginTop: 5,\r\n },\r\n})\r\n","import React, { useEffect, useState, useRef, useCallback } from 'react'\r\nimport { FlatList, StyleSheet, Platform, AppState, ActivityIndicator } from 'react-native'\r\nimport { useBottomTabBarHeight } from '@react-navigation/bottom-tabs'\r\nimport { useFocusEffect, useNavigation } from '@react-navigation/core'\r\nimport { useSelector } from 'react-redux'\r\n\r\nimport * as GroupService from '../../../services/api/Groups'\r\nimport GroupPost from './GroupPost'\r\nimport GroupInput from './GroupInput'\r\n\r\nimport { useKeyboardHeight } from '../../../utils/hooks'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport Colors from '../../../constants/Colors'\r\n\r\nexport default function GroupBulletin(props) {\r\n\tconst group = props.group ?? null\r\n\tconst groupId = group?.id\r\n\tconst navigation = useNavigation()\r\n\tconst themeColor = group?.theme?.primary ?? Colors.tintColor\r\n\r\n\tconst [posts, setPosts] = useState([])\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [refreshing, setRefreshing] = useState(false)\r\n\tconst [endReached, setEndReached] = useState(false)\r\n\r\n\tconst listRef = useRef(null)\r\n\tconst [activePostIndex, setActivePostIndex] = useState(null)\r\n\tconst keyboardHeight = useKeyboardHeight()\r\n\tconst bottomTabBarHeight = useBottomTabBarHeight()\r\n\r\n\tconst groupRedux = useSelector((state) => state.groups?.find((g) => g.id === props.group.id))\r\n\r\n\tuseEffect(() => {\r\n\t\tconst subscription = AppState.addEventListener('change', (state) => {\r\n\t\t\tif (state === 'active' && Platform.OS !== 'web') refresh()\r\n\t\t})\r\n\r\n\t\treturn () => subscription?.remove()\r\n\t}, [groupId, navigation])\r\n\r\n\tuseFocusEffect(\r\n\t\tuseCallback(() => {\r\n\t\t\tGroupService.readAllGroupMessages({ id: props.group.id })\r\n\t\t}, [groupRedux?.unread])\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tscrollUpdate()\r\n\t}, [activePostIndex, keyboardHeight])\r\n\r\n\tconst scrollUpdate = () => {\r\n\t\tif (Platform.OS !== 'ios') return\r\n\t\tif (activePostIndex === null || keyboardHeight === 0) return\r\n\r\n\t\tconst list = listRef.current\r\n\t\tconst viewOffset = (keyboardHeight - bottomTabBarHeight) * -1\r\n\t\tlist.scrollToIndex({ index: activePostIndex, animated: true, viewPosition: 1, viewOffset })\r\n\t}\r\n\r\n\tconst getPosts = async (skip = 0) => {\r\n\t\tconst paginationCount = 10\r\n\t\tconst posts = await GroupService.getGroupMessages(groupId, skip, paginationCount)\r\n\t\tskip === 0 ? setPosts(posts) : setPosts((current) => [...current, ...posts])\r\n\r\n\t\tsetEndReached(posts.length < paginationCount)\r\n\t}\r\n\r\n\tconst paginate = useCallback(async () => {\r\n\t\tif (loading || refreshing || endReached) return\r\n\r\n\t\tsetLoading(true)\r\n\t\tawait getPosts(posts.length)\r\n\t\tsetLoading(false)\r\n\t}, [loading, refreshing, endReached])\r\n\r\n\tconst refresh = async () => {\r\n\t\tif (refreshing || loading) return\r\n\r\n\t\tsetPosts([])\r\n\t\tsetRefreshing(true)\r\n\t\tawait getPosts(0)\r\n\t\tsetRefreshing(false)\r\n\t}\r\n\r\n\tconst renderPost = ({ item, index }) => (\r\n\t\t setActivePostIndex(index)}\r\n\t\t\tonInputBlur={() => setActivePostIndex(null)}\r\n\t\t/>\r\n\t)\r\n\r\n\tconst ListHeader = \r\n\tconst ListFooter = (loading || refreshing) && \r\n\r\n\treturn (\r\n\t\t id.toString()}\r\n\t\t\t// components\r\n\t\t\trenderItem={renderPost}\r\n\t\t\tListHeaderComponent={ListHeader}\r\n\t\t\tListFooterComponent={ListFooter}\r\n\t\t\t// handlers\r\n\t\t\tonRefresh={refresh}\r\n\t\t\tonEndReached={paginate}\r\n\t\t\t// options\r\n\t\t\tonEndReachedThreshold={0.5}\r\n\t\t\tkeyboardDismissMode=\"on-drag\"\r\n\t\t\tonMomentumScrollBegin={() => setActivePostIndex(null)}\r\n\t\t/>\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tlist: {\r\n\t\tflex: 1,\r\n\t\t...SpacingStyles.widthAndHeight,\r\n\t},\r\n\r\n\tloader: {\r\n\t\tmargin: 12,\r\n\t\ttextAlign: 'center',\r\n\t},\r\n})\r\n","import { useEffect, useState } from 'react'\r\nimport { Keyboard } from 'react-native'\r\n\r\nexport function useKeyboardHeight() {\r\n const [keyboardHeight, setKeyboardHeight] = useState(0)\r\n let keyboardDidShow, keyboardDidHide\r\n\r\n function onKeyboardDidShow(e) {\r\n setKeyboardHeight(e.endCoordinates.height)\r\n }\r\n\r\n function onKeyboardDidHide() {\r\n setKeyboardHeight(0)\r\n }\r\n\r\n useEffect(() => {\r\n keyboardDidShow = Keyboard.addListener('keyboardDidShow', onKeyboardDidShow)\r\n keyboardDidHide = Keyboard.addListener('keyboardDidHide', onKeyboardDidHide)\r\n return () => {\r\n keyboardDidShow.remove()\r\n keyboardDidHide.remove()\r\n }\r\n }, [])\r\n\r\n return keyboardHeight\r\n}","import React from 'react'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport CustomDialog, {\r\n ActionButton,\r\n ContentContainer,\r\n} from '../../../dialogs/CustomDialog'\r\n\r\nconst LeaveGroupDialog = (props) => (\r\n \r\n \r\n {txt('groups.members.leaveGroupText')}\r\n \r\n \r\n {txt('groups.members.yes')}\r\n \r\n \r\n {txt('groups.members.no')}\r\n \r\n \r\n)\r\n\r\nexport default LeaveGroupDialog\r\n","// libraries\r\nimport React, { useState } from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport { useSelector } from 'react-redux'\r\n\r\n// api\r\nimport { getConversationId } from '../../../services/api/Inbox'\r\n\r\n// components\r\nimport { CustomText } from '../../text/StyledText'\r\nimport OptionButton from '../../buttons/OptionButton'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Colors from '../../../constants/Colors'\r\nimport OptionsDialog from '../../dialogs/OptionsDialog'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport { getHexColor } from '../../../utils/getHexColor'\r\nimport Card from '../../Card'\r\n\r\nexport default function GroupMemberItem({ item, ownUserRank, ...props }) {\r\n const [showOptionsDialog, setShowOptionsDialog] = useState(false)\r\n \r\n const user = useSelector((state) => state.user)\r\n\r\n const renderText = () => {\r\n const now = new Date()\r\n let text = item[item.rank_id && item.rank_id !== 6 ? 'username' : 'email']\r\n //Second check is for K7 group to show age of invites to group 287\r\n text = item.rank_id === 1 ? `${text} (Admin)` : item.rank_id === 4 && item.birth_year && props.group.id === 287 ? `${text + ' (' + (now.getFullYear() - item.birth_year) + ')'}` : text\r\n return text\r\n }\r\n\r\n const leaveGroupOption = {\r\n label: txt('groups.members.leave'),\r\n icon: \"user-check\",\r\n action: async () => {\r\n await props.leaveGroup(props.group.id)\r\n setShowOptionsDialog(false)\r\n },\r\n }\r\n\r\n const sendMessageOption = {\r\n label: txt('groups.members.sendMessage'),\r\n icon: \"comment-lines\",\r\n action: async () => {\r\n if (!item.user_id) return\r\n const conversationId = await getConversationId({\r\n groupId: props.group.id,\r\n receiverId: item.user_id,\r\n })\r\n if (conversationId) await props.navigateToConversation(conversationId)\r\n else await props.navigateToNewConversation(item.user_id)\r\n setShowOptionsDialog(false)\r\n },\r\n }\r\n\r\n const makeAdminOption = {\r\n label: txt('groups.members.makeAdmin'),\r\n icon: \"user-check\",\r\n action: async () => {\r\n await props.makeAdmin(item)\r\n setShowOptionsDialog(false)\r\n },\r\n }\r\n\r\n const removeMemberOption = {\r\n label: txt('groups.members.removeMember'),\r\n icon: \"times-circle\",\r\n action: async () => {\r\n await props.removeMember(item)\r\n setShowOptionsDialog(false)\r\n },\r\n type: 'danger',\r\n }\r\n\r\n const approveRequestOption = {\r\n label: txt('groups.members.approve'),\r\n icon: \"check\",\r\n action: async () => {\r\n await props.approveRequest(item)\r\n setShowOptionsDialog(false)\r\n },\r\n }\r\n\r\n const declineRequestOption = {\r\n label: txt('groups.members.decline'),\r\n icon: \"times\",\r\n action: async () => {\r\n await props.declineRequest(item)\r\n setShowOptionsDialog(false)\r\n },\r\n type: 'danger',\r\n }\r\n\r\n const unbanUserOption = {\r\n label: txt('groups.members.unbanUser'),\r\n icon: \"lock-open-alt\",\r\n action: async () => {\r\n await props.unbanUser(item)\r\n setShowOptionsDialog(false)\r\n },\r\n }\r\n\r\n const deleteInviteOption = {\r\n label: txt('groups.members.deleteInvitation'),\r\n icon: \"trash\",\r\n type: 'danger',\r\n action: async () => {\r\n await props.deleteInvitation(item)\r\n setShowOptionsDialog(false)\r\n },\r\n }\r\n\r\n const options = []\r\n\r\n if (item.rank_id > 0 && item.rank_id < 4 && user.id != item.user_id) {\r\n options.push(sendMessageOption)\r\n }\r\n\r\n if (ownUserRank === 1 && (item.rank_id === 1 || item.rank_id === 2 || item.rank_id === 3) && (user.id !== item.user_id)) {\r\n options.push(removeMemberOption)\r\n }\r\n\r\n if (ownUserRank === 1 && (item.rank_id === 2 || item.rank_id === 3)) {\r\n options.push(makeAdminOption)\r\n }\r\n\r\n if (ownUserRank === 1 && item.rank_id === 4) {\r\n options.push(approveRequestOption, declineRequestOption, sendMessageOption)\r\n }\r\n\r\n if (ownUserRank === 1 && item.rank_id === 8) {\r\n options.push(unbanUserOption)\r\n }\r\n\r\n if (ownUserRank === 1 && !item.rank_id) {\r\n options.push(deleteInviteOption)\r\n }\r\n\r\n if (user.id === item.user_id) {\r\n options.push(leaveGroupOption)\r\n }\r\n\r\n return (\r\n setShowOptionsDialog(!showOptionsDialog)}\r\n style={[styles.container, { backgroundColor: props.group.theme?.secondary || Colors.white }]}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {renderText()}\r\n \r\n \r\n\r\n \r\n setShowOptionsDialog(true)}\r\n />\r\n \r\n setShowOptionsDialog(false)}\r\n options={options}\r\n title={renderText()}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n alignItems: 'center',\r\n flex: 1,\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n marginLeft: 12,\r\n marginRight: 12,\r\n marginBottom: 10,\r\n padding: 5,\r\n },\r\n textContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n flex: 7,\r\n padding: 5,\r\n },\r\n avatar: {\r\n borderRadius: 100,\r\n marginRight: 8,\r\n opacity: 0.4,\r\n padding: 5,\r\n },\r\n})","import React from 'react'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport CustomDialog, {\r\n ActionButton,\r\n ContentContainer,\r\n} from '../../../dialogs/CustomDialog'\r\n\r\nconst OnlyAdminInGroup = (props) => (\r\n \r\n \r\n {txt('groups.members.onlyAdminTitle')}\r\n {txt('groups.members.onlyAdminText')}\r\n \r\n \r\n {txt('groups.members.ok')}\r\n \r\n \r\n)\r\n\r\nexport default OnlyAdminInGroup\r\n","import CustomDialog, { ActionButton, ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport React from 'react'\r\n\r\nconst GroupDialog = ({ visible, title, description, accept, acceptText, cancel }) => (\r\n \r\n \r\n \r\n {title}\r\n \r\n {description && ({description})}\r\n \r\n \r\n {acceptText || txt('groups.members.yes')}\r\n \r\n \r\n {txt('groups.members.cancel')}\r\n \r\n \r\n)\r\n\r\nexport default GroupDialog","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet, ScrollView, FlatList } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport { txt } from '../../../locales/i18n'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport {\r\n getGroupMembers,\r\n leaveGroupByID,\r\n removeGroupMember,\r\n getJoinRequests,\r\n getBannedMembers,\r\n unbanGroupMember,\r\n approveJoinRequest,\r\n sendInvite,\r\n makeUserAdmin,\r\n getInvitedMembers,\r\n deleteInvite,\r\n banGroupMember,\r\n} from '../../../services/api/Groups'\r\nimport CustomDialog, { ActionButton, ContentContainer } from '../../dialogs/CustomDialog'\r\nimport { CustomInputs } from '../../text/StyledTextinputs'\r\nimport RegexPatterns from '../../../constants/RegexPatterns'\r\nimport { InvalidInputNoticeCentered } from '../../notices/InvalidInputNotices'\r\nimport LeaveGroupDialog from './dialogs/LeaveGroupDialog'\r\nimport GroupMemberItem from './GroupMemberItem'\r\nimport store from '../../../redux/store'\r\nimport OnlyAdminInGroup from './dialogs/OnlyAdminInGroup'\r\nimport Colors from '../../../constants/Colors'\r\nimport GroupDialog from './dialogs/GroupDialog'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport { CustomSnackbar } from \"../../snackbars/Snackbar\"\r\n\r\nexport default function GroupMembers(props) {\r\n const [groupMembersState, setGroupMembersState] = useState({\r\n visibleOnlyAdmin: false,\r\n visibleLeaveGroup: false,\r\n visibleRemoveMember: false,\r\n visibleAddMember: false,\r\n visibleRemoveMemberConfirmation: false,\r\n visibleUnbanUser: false,\r\n visibleMakeAdmin: false,\r\n visibleDeleteInvite: false,\r\n ownUserRank: props.group.own_user_rank,\r\n userToBeRemoved: null,\r\n userToBeAdmin: null,\r\n removeId: null,\r\n userToDecline: null,\r\n userToUnban: null,\r\n userInviteToDelete: null,\r\n expanded: false,\r\n addMemberName: '',\r\n addMemberEmail: '',\r\n isAddMemberEmailValid: true,\r\n visibleDeclineRequest: false,\r\n })\r\n const [memberList, setMemberList] = useState([])\r\n const [joinRequests, setJoinRequests] = useState([])\r\n const [invitedList, setInvitedList] = useState([])\r\n const [bannedUsers, setBannedUsers] = useState([])\r\n const [bannedUsersFetched, setBannedUsersFetched] = useState(false)\r\n const [snackbarMessage, setSnackbarMessage] = useState(null)\r\n\r\n function updateState(update) {\r\n setGroupMembersState((prev) => ({ ...prev, ...update }))\r\n }\r\n\r\n useEffect(() => {\r\n getGroupMembers(props.group.id).then(setMemberList)\r\n if (props.group.own_user_rank === 1) {\r\n getJoinRequests(props.group.id).then(setJoinRequests)\r\n getInvitedMembers(props.group.id).then(setInvitedList)\r\n getBannedMembers(props.group.id).then((res) => {\r\n setBannedUsers(res)\r\n setBannedUsersFetched(true)\r\n })\r\n }\r\n }, [])\r\n\r\n const leaveGroup = async () => {\r\n const didLeaveGroup = await leaveGroupByID(props.group.id)\r\n if (didLeaveGroup.status_msg === 'User left group.') {\r\n props.navigateToGroups()\r\n }\r\n }\r\n\r\n async function togglePanel() {\r\n updateState({ expanded: !groupMembersState.expanded })\r\n if (bannedUsersFetched === false) {\r\n getBannedMembers(props.group.id).then((res) => {\r\n setBannedUsers(res)\r\n setBannedUsersFetched(true)\r\n })\r\n }\r\n }\r\n\r\n const handleLeaveGroup = () => {\r\n const oneAdmin = memberList.filter(m => m.rank_id === 1).length === 1\r\n const isAdmin = memberList.filter(m => m.user_id === store.getState().user.id && m.rank_id === 1).length === 1\r\n if (oneAdmin && isAdmin) updateState({ visibleOnlyAdmin: true })\r\n else updateState({ visibleLeaveGroup: true })\r\n }\r\n\r\n const showDialogMakeAdmin = (user) => {\r\n updateState({ visibleMakeAdmin: true, userToBeAdmin: user })\r\n }\r\n\r\n const showDialogRemoveMember = (user) => {\r\n updateState({ visibleRemoveMember: true, userToBeRemoved: user })\r\n }\r\n\r\n const hideDialogAddMember = () => {\r\n updateState({\r\n visibleAddMember: false,\r\n addMemberEmail: '',\r\n addMemberName: '',\r\n isAddMemberEmailValid: true,\r\n })\r\n }\r\n\r\n // kick = 0, ban = 1\r\n const showDialogRemoveMemberConfirmation = (removeId) => {\r\n updateState({\r\n visibleRemoveMemberConfirmation: true,\r\n removeId,\r\n visibleRemoveMember: false,\r\n })\r\n }\r\n\r\n const hideDialogRemoveMemberConfirmation = () => {\r\n updateState({\r\n visibleRemoveMemberConfirmation: false,\r\n removeId: null,\r\n userToBeRemoved: null,\r\n })\r\n }\r\n\r\n const handleRemoveMemberFromGroup = async () => {\r\n if (!groupMembersState.userToBeRemoved) return\r\n const memberRemoved = await removeGroupMember(props.group.id, groupMembersState.userToBeRemoved.user_id)\r\n await reloadMemberList()\r\n hideDialogRemoveMemberConfirmation()\r\n if (memberRemoved === false) {\r\n setSnackbarMessage(txt('groups.members.removeMemberError'))\r\n }\r\n }\r\n const handleBanMemberFromGroup = async () => {\r\n if (!groupMembersState.userToBeRemoved) return\r\n const memberBanned = await banGroupMember(props.group.id, groupMembersState.userToBeRemoved.user_id)\r\n await reloadMemberList()\r\n hideDialogRemoveMemberConfirmation()\r\n if (memberBanned === false) {\r\n setSnackbarMessage(txt('groups.members.banMemberError'))\r\n }\r\n }\r\n\r\n const reloadMemberList = async () => {\r\n getGroupMembers(props.group.id).then(setMemberList)\r\n getBannedMembers(props.group.id).then((res) => {\r\n setBannedUsers(res)\r\n setBannedUsersFetched(true)\r\n })\r\n }\r\n\r\n const handleDeleteInvite = async () => {\r\n if (!groupMembersState.userInviteToDelete) return\r\n const wasDeleted = await deleteInvite(props.group.id, groupMembersState.userInviteToDelete.email)\r\n if (wasDeleted.status === 200) {\r\n getInvitedMembers(props.group.id).then(setInvitedList)\r\n }\r\n updateState({ visibleDeleteInvite: false, userInviteToDelete: null })\r\n }\r\n\r\n const handleDeclineJoinRequest = async () => {\r\n if (!groupMembersState.userToDecline) return\r\n const joinRequestDeclined = await removeGroupMember(props.group.id, groupMembersState.userToDecline.user_id)\r\n getJoinRequests(props.group.id).then(setJoinRequests)\r\n updateState({ visibleDeclineRequest: false, userToDecline: null })\r\n if (joinRequestDeclined === false) {\r\n setSnackbarMessage(txt('groups.members.declineInviteError'))\r\n }\r\n }\r\n\r\n const handleUnbanUser = async () => {\r\n if (!groupMembersState.userToUnban) return\r\n const wasUnbanned = await unbanGroupMember(props.group.id, groupMembersState.userToUnban.user_id)\r\n await reloadMemberList()\r\n updateState({ visibleUnbanUser: false })\r\n if (wasUnbanned === false) {\r\n setSnackbarMessage(txt('groups.members.unbanMemberError'))\r\n }\r\n }\r\n\r\n const handleMakeAdmin = async () => {\r\n const didBecomeAdmin = await makeUserAdmin(props.group.id, groupMembersState.userToBeAdmin.user_id)\r\n if (didBecomeAdmin && didBecomeAdmin.status_msg === 'User was made admin') {\r\n getGroupMembers(props.group.id).then(setMemberList)\r\n }\r\n updateState({ visibleMakeAdmin: false, userToBeAdmin: null })\r\n }\r\n\r\n const showDialogDeleteInvite = (item) => {\r\n updateState({ visibleDeleteInvite: true, userInviteToDelete: item })\r\n }\r\n\r\n const showDialogDeclineRequest = (item) => {\r\n updateState({ visibleDeclineRequest: true, userToDecline: item })\r\n }\r\n\r\n const showDialogUnbanUser = (item) => {\r\n updateState({ visibleUnbanUser: true, userToUnban: item })\r\n }\r\n\r\n const handleApproveJoinRequest = async (item) => {\r\n if (!item) return\r\n const didJoin = await approveJoinRequest(props.group.id, item.user_id)\r\n if (didJoin.status_code >= 200 && didJoin.status_code <= 299) {\r\n getJoinRequests(props.group.id).then(setJoinRequests)\r\n getGroupMembers(props.group.id).then(setMemberList)\r\n }\r\n }\r\n\r\n const handleSendInvite = async () => {\r\n const conditions = RegexPatterns.email.map((rule) => new RegExp(rule, 'g'))\r\n const isEmailValid = conditions.map((condition) => condition.test(groupMembersState.addMemberEmail))\r\n if (isEmailValid.includes(false)) {\r\n updateState({ isAddMemberEmailValid: false })\r\n } else {\r\n updateState({ isAddMemberEmailValid: true })\r\n // send invite\r\n const res = await sendInvite(props.group.id, groupMembersState.addMemberEmail.trim(), groupMembersState.addMemberName)\r\n if (res?.wasInvited) {\r\n getInvitedMembers(props.group.id).then(setInvitedList)\r\n }\r\n hideDialogAddMember()\r\n }\r\n }\r\n\r\n const renderMembers = ({ item }) => (\r\n \r\n )\r\n\r\n const renderJoinRequests = ({ item }) => (\r\n \r\n )\r\n\r\n const renderInvitedList = ({ item }) => (\r\n \r\n )\r\n\r\n const renderBannedMembers = ({ item }) => (\r\n \r\n )\r\n\r\n return (\r\n <>\r\n \r\n \r\n {groupMembersState.ownUserRank === 1 && (\r\n \r\n updateState({ visibleAddMember: true })}\r\n style={{ backgroundColor: props.group.theme?.primary || Colors.tintColor }}\r\n titleStyle={{ color: props.group.theme?.buttonText || Colors.white }}\r\n title={txt('groups.members.addMember')}\r\n />\r\n \r\n )}\r\n \r\n\r\n\r\n {(groupMembersState.ownUserRank === 1 || groupMembersState.ownUserRank === 0) && (\r\n \r\n {/** Join requests */}\r\n {joinRequests?.length !== 0 && (\r\n \r\n \r\n {txt('groups.members.requests')}\r\n \r\n \r\n item.user_id?.toString()}\r\n />\r\n \r\n \r\n )}\r\n\r\n {/** Invitations */}\r\n {invitedList.length !== 0 && (\r\n \r\n \r\n {txt('groups.members.invitations')}\r\n \r\n \r\n item.email}\r\n />\r\n \r\n \r\n )}\r\n \r\n )}\r\n\r\n {/** Members */}\r\n \r\n \r\n {txt('groups.members.members')}\r\n \r\n \r\n item.user_id?.toString()}\r\n />\r\n \r\n \r\n\r\n {(groupMembersState.ownUserRank === 1 || groupMembersState.ownUserRank === 0) && (\r\n \r\n {/** Banned users */}\r\n {bannedUsers.length !== 0 && (\r\n \r\n \r\n \r\n {txt('groups.members.bannedUsers')}\r\n \r\n \r\n \r\n {groupMembersState.expanded ? (\r\n \r\n item.user_id?.toString()}\r\n />\r\n \r\n ) : null}\r\n \r\n )}\r\n \r\n )}\r\n \r\n\r\n {/* Dialog for leaving group */}\r\n updateState({ visibleLeaveGroup: false })}\r\n accept={leaveGroup}\r\n />\r\n\r\n {/* Dialog for trying to leave when only admin left */}\r\n updateState({ visibleOnlyAdmin: false })}\r\n />\r\n\r\n {/* Dialog for making group member admin */}\r\n updateState({ visibleMakeAdmin: false, userToBeAdmin: null })}\r\n />\r\n\r\n {/* Dialog for removing group member */}\r\n \r\n \r\n \r\n {txt('groups.members.removeMemberText')}\r\n {groupMembersState.userToBeRemoved ? groupMembersState.userToBeRemoved.username + '?' : '?'}\r\n \r\n {txt('groups.members.removeMemberDescription')}\r\n \r\n showDialogRemoveMemberConfirmation(0)}>\r\n {txt('groups.members.kick')}\r\n \r\n showDialogRemoveMemberConfirmation(1)}>\r\n {txt('groups.members.ban')}\r\n \r\n updateState({ visibleRemoveMember: false })}>\r\n {txt('groups.members.cancel')}\r\n \r\n \r\n\r\n {/* Dialog for removing group member confirmation */}\r\n \r\n\r\n {/* Dialog for adding group member */}\r\n \r\n \r\n \r\n \r\n {txt('groups.members.addMemberText')}\r\n \r\n\r\n \r\n updateState({ addMemberName: value })}\r\n />\r\n \r\n \r\n updateState({ addMemberEmail: value })}\r\n />\r\n {/* Invalid email prompt */}\r\n {!groupMembersState.isAddMemberEmailValid && (\r\n {txt('invalidNotice.invalidEmail')}\r\n )}\r\n \r\n \r\n \r\n {txt('groups.members.addMemberText')}\r\n {txt('groups.close')}\r\n \r\n\r\n {/* Dialog for deleting invites */}\r\n updateState({ visibleDeleteInvite: false, userInviteToDelete: null })}\r\n />\r\n\r\n {/* Dialog for declining join request */}\r\n updateState({ visibleDeclineRequest: false, userToDecline: null })}\r\n />\r\n\r\n {/* Dialog for unbanning user */}\r\n updateState({ visibleUnbanUser: false })}\r\n />\r\n\r\n \r\n \r\n setSnackbarMessage(null)}\r\n text={snackbarMessage}\r\n icon=\"circle-exclamation\"\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n dialogTextContainer: { alignSelf: 'center', marginBottom: 10 },\r\n flexRow: { flexDirection: 'row', justifyContent: 'space-evenly' },\r\n input: { minWidth: 300 },\r\n marginBottom: { marginBottom: 15 },\r\n marginTop: { marginTop: 10 },\r\n row: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n },\r\n titleContainer: { ...SpacingStyles.marginRightLeft10, marginBottom: 10 },\r\n})\r\n","export const groupThemes = [\r\n {\r\n id: 0,\r\n primary: '#2a6592',\r\n // secondary: '#ffffff',\r\n background: '#EDF7F9FF',\r\n },\r\n {\r\n id: 1,\r\n primary: '#FEC71E',\r\n // secondary: '#FFF3D7',\r\n background: '#fffbee',\r\n buttonText: '#333333',\r\n },\r\n {\r\n id: 2,\r\n primary: '#EE7602',\r\n // secondary: '#FFF0E1',\r\n background: '#fff7ee',\r\n },\r\n {\r\n id: 3,\r\n primary: '#d72d39',\r\n // secondary: '#FEE3E4',\r\n background: '#FEF5F5',\r\n },\r\n {\r\n id: 4,\r\n primary: '#DD166B',\r\n // secondary: '#FEE3EE',\r\n background: '#fff3f8',\r\n },\r\n {\r\n id: 5,\r\n primary: '#5a1158',\r\n // secondary: '#F1E0FF',\r\n background: '#f8f5ff',\r\n },\r\n {\r\n id: 6,\r\n primary: '#002920',\r\n // secondary: '#DEF9F2',\r\n background: '#f1fff1',\r\n },\r\n]","import { View } from 'react-native'\r\nimport Colors from '../../../../constants/Colors'\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport React from 'react'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nexport default function ThemeRadioButton({ onPress, checked, border, color, size, text }) {\r\n return (\r\n \r\n \r\n \r\n \r\n {text}\r\n \r\n )\r\n}","// libraries\r\nimport React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet, ScrollView } from 'react-native'\r\nimport { useNavigation } from '@react-navigation/core'\r\n\r\n// api\r\nimport { closeGroup, getJoinedGroupsList, updateGroup } from '../../../services/api/Groups'\r\nimport { UploadImage } from '../../../services/api/UploadImage'\r\n\r\n// components\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ShadowStyles, TypographyStyles } from '../../../styles'\r\nimport { CustomInputs, CustomMultilineInputs } from '../../text/StyledTextinputs'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport { CustomSnackbar } from '../../snackbars/Snackbar'\r\nimport { RadioButton } from '../../formElements/formElements'\r\nimport { groupThemes } from './themes/GroupThemes'\r\nimport GroupDialog from './dialogs/GroupDialog'\r\nimport ImagePicker from '../../ImagePicker/ImagePicker'\r\nimport ThemeRadioButton from './themes/ThemeRadioButton'\r\nimport LoadingSpinner from '../../activityIndicators/LoadingSpinner'\r\n\r\nimport { txt } from '../../../locales/i18n'\r\nimport Paths from '../../../constants/Paths'\r\nimport Colors from '../../../constants/Colors'\r\nimport Layout from '../../../constants/Layout'\r\nimport imageBobl from '../../../assets/images/bobl.png'\r\n\r\nexport default function GroupSettings(props) {\r\n const [groupSettingsState, setGroupSettingsState] = useState({\r\n group: {\r\n id: null,\r\n name: '',\r\n description: '',\r\n img_id: null,\r\n status_id: null,\r\n type: null,\r\n password: '',\r\n },\r\n })\r\n const [loading, setLoading] = useState(true)\r\n const [settingsSaved, setSettingsSaved] = useState(false)\r\n const [settingsDidNotSave, setSettingsDidNotSave] = useState(false)\r\n const [groupPasswordMissing, setGroupPasswordMissing] = useState(false)\r\n const [theme, setTheme] = useState({})\r\n const [image, setImage] = useState(null)\r\n const [closeDialogVisible, setCloseDialogVisible] = useState(false)\r\n const navigation = useNavigation()\r\n\r\n function updateState(update) {\r\n setGroupSettingsState((prev) => ({\r\n ...prev,\r\n ...update,\r\n }))\r\n }\r\n\r\n useEffect(() => {\r\n if (props.group) {\r\n setGroup(props.group)\r\n setTheme(props.group.theme)\r\n setLoading(false)\r\n }\r\n }, [props])\r\n\r\n function setGroup(update) {\r\n updateState({\r\n group: { ...groupSettingsState.group, ...update },\r\n })\r\n }\r\n\r\n const uploadImg = () => {\r\n if (image) {\r\n return UploadImage(image, 0, 'Groups').catch(\r\n (err) => {\r\n if (__DEV__) console.log('IMAGE UPLOAD FAIL ', err)\r\n }\r\n )\r\n }\r\n }\r\n\r\n function validateGroup() {\r\n if (!groupSettingsState.group.type === 2) {\r\n setGroup({ password: '' })\r\n }\r\n\r\n if (groupSettingsState.group.type === 2 && groupSettingsState.group.password < 1) {\r\n setGroupPasswordMissing(true)\r\n return false\r\n }\r\n return true\r\n }\r\n\r\n const saveGroup = async () => {\r\n if (validateGroup()) {\r\n const img_id = await uploadImg()\r\n\r\n const data = {\r\n id: groupSettingsState.group.id,\r\n name: groupSettingsState.group.name,\r\n description: groupSettingsState.group.description,\r\n img_id: img_id || groupSettingsState?.group?.img_id,\r\n status_id: groupSettingsState.group.status_id,\r\n type: groupSettingsState.group.type,\r\n password: groupSettingsState.group.type === 2 ? groupSettingsState.group.password : '',\r\n }\r\n data.theme = JSON.stringify(theme)\r\n const res = await updateGroup(data)\r\n\r\n if (res.data) {\r\n setSettingsSaved(true)\r\n setGroupPasswordMissing(false)\r\n props.setTheme(res.data.theme)\r\n\r\n const group = {\r\n name: res.data.name,\r\n img_id: res.data.img_id,\r\n status_id: res.data.status_id,\r\n description: res.data.description,\r\n img_filename: res.data.img_filename,\r\n type: groupSettingsState.group.type,\r\n password: groupSettingsState.group.password\r\n }\r\n\r\n setGroup(group)\r\n props.setGroup((previous) => ({ ...previous, ...group }))\r\n } else setSettingsDidNotSave(true)\r\n }\r\n }\r\n\r\n if (loading || !groupSettingsState.group) return \r\n\r\n const changeTheme = (themeId) => {\r\n const theme = groupThemes.find((theme) => theme.id === themeId)\r\n setTheme(theme || null)\r\n }\r\n\r\n async function handleCloseGroup() {\r\n const res = await closeGroup(props.group.id)\r\n await getJoinedGroupsList()\r\n if (res.ok) navigation.replace('Groups')\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {txt('groups.settings.groupImage')}\r\n \r\n\r\n \r\n setGroup({ img_id: null, img_filename: null })}\r\n placeholder={imageBobl}\r\n hideDelete\r\n />\r\n \r\n\r\n \r\n {txt('groups.settings.groupName')}\r\n \r\n \r\n \r\n setGroup({ name: value })}\r\n style={{ backgroundColor: props.group.theme?.secondary || Colors.white }}\r\n />\r\n \r\n \r\n \r\n {txt('groups.settings.groupDescription')}\r\n \r\n \r\n \r\n setGroup({ description: value })}\r\n style={{ backgroundColor: props.group.theme?.secondary || Colors.white }}\r\n />\r\n \r\n \r\n\r\n \r\n {txt('groups.settings.groupType')}\r\n \r\n\r\n {/* Public group */}\r\n \r\n setGroup({ type: 4 })}\r\n text={txt('groups.addGroup.openGroupOption')}\r\n color={props.group.theme?.primary || Colors.tintColor}\r\n />\r\n \r\n \r\n {/* Request group */}\r\n \r\n setGroup({ type: 3 })}\r\n text={txt('groups.addGroup.requestGroupOption')}\r\n color={props.group.theme?.primary || Colors.tintColor}\r\n />\r\n \r\n \r\n \r\n {/* Password group */}\r\n \r\n setGroup({ type: 2 })}\r\n text={txt('groups.addGroup.passwordGroupOption')}\r\n color={props.group.theme?.primary || Colors.tintColor}\r\n />\r\n \r\n {groupSettingsState.group.type === 2 && groupPasswordMissing && (\r\n \r\n {txt('groups.addGroup.missingGroupPassword')}\r\n \r\n )}\r\n {groupSettingsState.group.type === 2 && (\r\n \r\n setGroup({ password: value })}\r\n style={{ backgroundColor: props.group.theme?.secondary || Colors.white }}\r\n />\r\n \r\n )}\r\n \r\n \r\n {/* Hidden group */}\r\n \r\n setGroup({ type: 1 })}\r\n text={txt('groups.settings.hidden')}\r\n color={props.group.theme?.primary || Colors.tintColor}\r\n />\r\n \r\n \r\n {txt('groups.settings.hiddenText')}\r\n \r\n \r\n\r\n \r\n {txt('groups.settings.chooseTheme')}\r\n\r\n \r\n changeTheme(0)}\r\n color={groupThemes[0].primary}\r\n />\r\n changeTheme(1)}\r\n color={groupThemes[1].primary}\r\n />\r\n changeTheme(2)}\r\n color={groupThemes[2].primary}\r\n />\r\n changeTheme(3)}\r\n color={groupThemes[3].primary}\r\n />\r\n changeTheme(4)}\r\n color={groupThemes[4].primary}\r\n />\r\n changeTheme(5)}\r\n color={groupThemes[5].primary}\r\n />\r\n changeTheme(6)}\r\n color={groupThemes[6].primary}\r\n />\r\n \r\n \r\n\r\n \r\n setCloseDialogVisible(true)}\r\n style={{ backgroundColor: Colors.red }}\r\n titleStyle={{ color: Colors.white }}\r\n color={Colors.white}\r\n icon=\"trash\"\r\n stroke={'fal'}\r\n title={txt('groups.settings.close')}\r\n />\r\n \r\n \r\n \r\n\r\n setSettingsSaved(false)}\r\n text={txt('post.savePostSnackBar')}\r\n />\r\n\r\n setSettingsDidNotSave(false)}\r\n text={txt('post.savePostSnackBarFailed')}\r\n />\r\n\r\n setCloseDialogVisible(false)}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n alignSelf: 'center',\r\n marginBottom: 30,\r\n maxWidth: Layout.maxFeedWidth,\r\n width: '100%',\r\n paddingHorizontal: 10,\r\n },\r\n imagePickerContainer: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: 12,\r\n },\r\n marginBottom: { marginBottom: 10 },\r\n marginInput: { marginBottom: 10 },\r\n row: { alignItems: 'center', flexDirection: 'row' },\r\n smallText: { ...TypographyStyles.textSmallBold, color: Colors.inactive },\r\n title: { ...TypographyStyles.textBold },\r\n errorMessage: {\r\n color: Colors.errorBackground,\r\n ...TypographyStyles.textSmallBold,\r\n marginBottom: 5,\r\n },\r\n themeContainer: {\r\n padding: 12,\r\n marginVertical: 12,\r\n borderRadius: 10,\r\n ...ShadowStyles.cardShadow,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'space-evenly',\r\n },\r\n})\r\n","import React from 'react'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport { useEffect, useState } from 'react'\r\nimport { getGroupByID } from '../../../services/api/Groups'\r\nimport GroupInfo from './GroupInfo'\r\nimport GroupBulletin from './GroupBulletin'\r\nimport GroupMembers from './GroupMembers'\r\nimport { setAnnouncement, setDataResponsible } from '../../../redux/actions'\r\nimport store from '../../../redux/store'\r\nimport GroupSettings from './GroupSettings'\r\nimport { CustomChip } from '../../chips/Chip'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport Colors from '../../../constants/Colors'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Layout from '../../../constants/Layout'\r\nimport { useNavigation, useRoute } from '@react-navigation/native'\r\nimport LoadingSpinner from '../../activityIndicators/LoadingSpinner'\r\nimport { blogHeader } from '../../../styles/typography'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport function Group(props) {\r\n const [loading, setLoading] = useState(true)\r\n const [group, setGroup] = useState(null)\r\n const [selectedMenuItem, setSelectedMenuItem] = useState(1)\r\n const route = useRoute()\r\n const navigation = useNavigation()\r\n\r\n useEffect(() => {\r\n if (group) {\r\n navigation.setOptions({\r\n headerStyle: {\r\n backgroundColor: group.theme?.background || Colors.background,\r\n elevation: 0,\r\n shadowOpacity: 0,\r\n borderBottomWidth: 0,\r\n },\r\n headerTitle: group.name,\r\n headerTitleStyle: { maxWidth: 300, ...blogHeader },\r\n headerBackTitleVisible: false,\r\n headerBackImage: () => (\r\n \r\n \r\n \r\n ),\r\n })\r\n }\r\n }, [group])\r\n\r\n useEffect(() => {\r\n getGroupByID(route.params?.id).then(setGroupData)\r\n }, [route.params?.id])\r\n\r\n useEffect(() => {\r\n const { refresh, id } = route.params\r\n if (refresh) {\r\n setLoading(true)\r\n getGroupByID(id).then(setGroupData)\r\n navigation.setParams({ id, refresh: false })\r\n }\r\n }, [route.params?.refresh])\r\n\r\n function setTheme(theme) {\r\n if (!group) return\r\n setGroup((prev) => ({ ...prev, theme }))\r\n }\r\n\r\n function showDataResponsibility(dataResponsible) {\r\n if (dataResponsible) {\r\n const boblbergText = txt('groups.boblbergResponsibility')\r\n const groupOwnerText =\r\n txt('groups.groupOwnerResponsibility') + dataResponsible\r\n store.dispatch(setDataResponsible(dataResponsible))\r\n store.dispatch(setAnnouncement(groupOwnerText))\r\n navigation.addListener('blur', async () => {\r\n store.dispatch(setAnnouncement(boblbergText))\r\n store.dispatch(setDataResponsible(''))\r\n })\r\n navigation.addListener('focus', async () => {\r\n store.dispatch(setDataResponsible(dataResponsible))\r\n store.dispatch(setAnnouncement(groupOwnerText))\r\n })\r\n }\r\n }\r\n\r\n function setGroupData(group) {\r\n // Redirect if unauthorized\r\n if (!group || group?.status_code >= 400 || group?.status_code <= 499) return props.navigateToGroups()\r\n showDataResponsibility(group.data_responsible)\r\n setGroup(group)\r\n setLoading(false)\r\n }\r\n\r\n if (loading) return \r\n\r\n return (\r\n \r\n {/* Info */}\r\n \r\n \r\n setSelectedMenuItem(0)}\r\n accessibility={txt('groups.menu.infoTitle')}\r\n text={txt('groups.menu.infoTitle')}\r\n />\r\n \r\n\r\n {/* Bulletins */}\r\n \r\n setSelectedMenuItem(1)}\r\n accessibilityLabel={txt('groups.menu.bulletinTitle')}\r\n text={txt('groups.menu.bulletinTitle')}\r\n />\r\n \r\n\r\n {/* Members */}\r\n \r\n setSelectedMenuItem(2)}\r\n accessibilityLabel={txt('groups.menu.membersTitle')}\r\n text={!Layout.isSmallDevice && txt('groups.menu.membersTitle')}\r\n />\r\n \r\n\r\n {/* Settings */}\r\n {group.own_user_rank === 1 && (\r\n \r\n setSelectedMenuItem(3)}\r\n accessibilityLabel={txt('groups.menu.settingsTitle')}\r\n text={!Layout.isSmallDevice && txt('groups.menu.settingsTitle')}\r\n />\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n chip: {\r\n marginBottom: 10,\r\n marginLeft: 5,\r\n marginRight: 5,\r\n },\r\n chipContainer: {\r\n alignSelf: 'center',\r\n flexDirection: 'row',\r\n },\r\n})\r\n","import React from 'react'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { Group } from '../../components/views/Groups/Group'\r\n\r\nexport default function GroupScreen(props) {\r\n function navigateToConversation(conversationId) {\r\n props.navigation.navigate('InboxStack', {\r\n screen: 'Conversation',\r\n initial: false,\r\n params: {\r\n id: conversationId,\r\n },\r\n })\r\n }\r\n\r\n const navigateToNewConversation = (userId) => {\r\n props.navigation.navigate('InboxStack', {\r\n screen: 'Conversation',\r\n initial: false,\r\n params: {\r\n id: 'new',\r\n receiverId: userId,\r\n groupId: props.route.params.id,\r\n },\r\n })\r\n }\r\n\r\n function navigateToGroups() {\r\n props.navigation.replace('Groups')\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { View, StyleSheet, Image } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\nimport { CustomText } from '../../components/text/StyledText'\r\nimport { RoundSquareBtn } from '../../components/buttons/StyledButtons'\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport TxtTMD from '../../constants/TxtTMD'\r\nimport Layout from '../../constants/Layout'\r\nimport { ScrollView } from 'react-native'\r\nimport store from '../../redux/store'\r\n\r\nexport default class GroupsIntroScreen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {}\r\n }\r\n\r\n async componentDidMount() {\r\n const userToken = store.getState().userToken\r\n this.setState({ userToken })\r\n }\r\n\r\n handleGetStartedClick = () => {\r\n if (this.state.userToken) {\r\n this.props.navigation.navigate('Groups')\r\n } else {\r\n this.props.navigation.navigate('GroupsSignup')\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n box: {\r\n alignSelf: 'center',\r\n marginBottom: 30,\r\n maxWidth: 400,\r\n textAlign: 'center',\r\n width: '100%',\r\n },\r\n boxContainer: {\r\n marginBottom: 20,\r\n marginTop: 20,\r\n },\r\n boxHeader: {\r\n color: Colors.text,\r\n marginBottom: 5,\r\n textAlign: 'center',\r\n },\r\n boxTitle: {\r\n color: Colors.text,\r\n marginTop: 20,\r\n textAlign: 'center',\r\n },\r\n btnMargin: {\r\n alignSelf: 'center',\r\n marginVertical: 20,\r\n maxWidth: 400,\r\n },\r\n container: {\r\n alignSelf: 'center',\r\n maxWidth: Layout.maxFeedWidth,\r\n },\r\n image: {\r\n alignSelf: 'center',\r\n height: 80,\r\n marginBottom: 5,\r\n width: 80,\r\n },\r\n listHeader: {\r\n color: Colors.text,\r\n marginBottom: 10,\r\n textAlign: 'center',\r\n },\r\n listItem: {\r\n color: Colors.text,\r\n marginBottom: 5,\r\n textAlign: 'center',\r\n },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n color: Colors.text,\r\n marginBottom: 10,\r\n textAlign: 'center',\r\n },\r\n})\r\n","import React, { useState } from 'react'\r\nimport { StyleSheet } from 'react-native'\r\nimport CustomDialog, {\r\n ActionButton,\r\n ContentContainer,\r\n} from '../../../dialogs/CustomDialog'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\nimport NormalIcon from \"../../../icons/NormalIcon\"\r\n\r\nconst DataConsentDialog = (props) => {\r\n const [error, setError] = useState('')\r\n\r\n const handleSend = () => {\r\n if (props.consent) {\r\n props.send()\r\n setError('')\r\n } else {\r\n setError(txt('groups.dataResponsibilityConsentRequired'))\r\n }\r\n }\r\n\r\n const handleCheckPress = () => {\r\n setError('')\r\n props.toggleConsent()\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {txt('groups.dataResponsibilityConsent') +\r\n props.dataResponsible || ''}\r\n \r\n \r\n \r\n \r\n {txt('groups.dataResponsibilityAccept') +\r\n props.dataResponsible || ''}\r\n \r\n \r\n {!!error && (\r\n {error}\r\n )}\r\n \r\n \r\n {txt('groups.cancel')}\r\n \r\n \r\n {txt('groups.accessText.access')}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n checkBoxContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'space-evenly',\r\n marginTop: 12,\r\n },\r\n})\r\n\r\nexport default DataConsentDialog\r\n","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Colors from '../../../constants/Colors'\r\nimport Layout from '../../../constants/Layout'\r\nimport { cancelJoinRequest, getJoinedGroupsList, joinGroupByID } from '../../../services/api/Groups'\r\nimport { CornerStyles, TypographyStyles } from '../../../styles'\r\nimport { ImageHighlight } from '../../images/ImageHighlight'\r\nimport { RoundBtn } from '../../buttons/StyledButtons'\r\nimport { FormInput } from '../../text/StyledTextinputs'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport { InvalidInputNoticeCentered } from '../../notices/InvalidInputNotices'\r\nimport Paths from '../../../constants/Paths'\r\nimport DataConsentDialog from './dialogs/DataConsentDialog'\r\nimport { NotificationBadge } from '../../icons/NotificationBadge'\r\nimport { useSelector } from 'react-redux'\r\nimport Card from '../../Card'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\n/* groups users ranks\r\n 1 - Admin\r\n 2 - Moderator\r\n 3 - Member\r\n 4 - Awaiting approval\r\n 5 - Disapproved\r\n 6 - Invited\r\n 7 - Declined invite\r\n 8 - Banned\r\n */\r\n\r\nexport default function GroupItem(props) {\r\n const [password, setPassword] = useState('')\r\n const [showPasswordPrompt, setShowPasswordPrompt] = useState(false)\r\n const [passwordHidden, setPasswordHidden] = useState(true)\r\n const [passwordError, setPasswordError] = useState(false)\r\n const [dataConsentGiven, setDataConsentGiven] = useState(false)\r\n const [dataDialogOpen, setDataDialogOpen] = useState(false)\r\n const [userRank, setUserRank] = useState(props.group.user_rank)\r\n const navigation = useNavigation()\r\n\r\n let badge = useSelector(\r\n state => (\r\n state.groups?.find(g => g.id === props.group.id)?.unread\r\n ),\r\n )\r\n\r\n useEffect(() => {\r\n //Updates badge if notification is read on another active device.\r\n const unsubscribe = navigation.addListener('focus', async () => {\r\n if (badge === 0) return\r\n const groups = await getJoinedGroupsList()\r\n const group = groups?.find((group) => group.id === props.group.id)\r\n if (group?.unread === props.group?.unread) return\r\n badge = group?.unread\r\n })\r\n return () => unsubscribe()\r\n }, [navigation])\r\n\r\n const accessButtonTitle = () => {\r\n const { type } = props.group\r\n if (userRank <= 3 && userRank !== null) return txt('groups.accessText.goTo')\r\n if (userRank === 4) return txt('groups.accessText.cancelApproval')\r\n if (userRank === 6) return txt('groups.accessText.invited')\r\n if (userRank === 8) return txt('groups.accessText.banned')\r\n if (type === 2) return txt('groups.accessText.password')\r\n if (type === 3) return txt('groups.accessText.requestAccess')\r\n if (type === 4) return txt('groups.accessText.join')\r\n }\r\n\r\n const handleCardClick = () => {\r\n if (props.group.type === 2 && userRank === null) handleAccessClick()\r\n else if (userRank === null) return\r\n else if (userRank >= 0 && userRank <= 3) props.navigateToGroup(props.group.id)\r\n }\r\n\r\n const askForDataConsent = async () => {\r\n setDataDialogOpen(true)\r\n }\r\n\r\n const handleCloseDataConsent = async () => {\r\n setDataDialogOpen(false)\r\n if (dataConsentGiven) {\r\n await joinGroup()\r\n }\r\n }\r\n\r\n async function joinGroup() {\r\n const { id } = props.group\r\n const responseMessage = await joinGroupByID(id, password, dataConsentGiven)\r\n\r\n if (responseMessage === 'INVITE ACCEPTED') {\r\n setUserRank(3)\r\n return props.navigateToGroup(id)\r\n }\r\n\r\n if (responseMessage === 'ACCESS REQUESTED') {\r\n return setUserRank(4)\r\n }\r\n\r\n if (responseMessage === 'WRONG PASSWORD') {\r\n return setPasswordError(true)\r\n }\r\n\r\n if (responseMessage === 'GROUP JOINED') {\r\n setUserRank(3)\r\n setPassword('')\r\n setShowPasswordPrompt(false)\r\n setPasswordHidden(true)\r\n setPasswordError(false)\r\n return props.navigateToGroup(id)\r\n }\r\n }\r\n\r\n const handleAccessClick = async () => {\r\n const { data_responsible, type } = props.group\r\n if (type === 2 && !userRank && userRank !== 0) {\r\n setShowPasswordPrompt(true)\r\n return\r\n }\r\n switch (userRank) {\r\n case 0:\r\n case 1:\r\n case 2:\r\n case 3:\r\n props.navigateToGroup(props.group.id)\r\n break\r\n case 4:\r\n await cancelApproval(props.group.id)\r\n break\r\n case 8:\r\n break\r\n case 5:\r\n case 6:\r\n case 7:\r\n default:\r\n if (data_responsible && !dataConsentGiven) {\r\n await askForDataConsent()\r\n } else {\r\n await joinGroup()\r\n }\r\n }\r\n }\r\n\r\n const cancelApproval = async (groupId) => {\r\n const res = await cancelJoinRequest(groupId)\r\n if (res === true) {\r\n setUserRank(null)\r\n setDataConsentGiven(false)\r\n await getJoinedGroupsList()\r\n }\r\n }\r\n\r\n const toggleDataConsent = () => {\r\n setDataConsentGiven(!dataConsentGiven)\r\n }\r\n\r\n const handleSendPassword = () => {\r\n if (props.group.data_responsible) {\r\n askForDataConsent()\r\n } else {\r\n joinGroup()\r\n }\r\n }\r\n\r\n const hidePasswordDialog = () => {\r\n setPasswordError(false)\r\n setShowPasswordPrompt(false)\r\n setPassword('')\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!badge && }\r\n \r\n \r\n \r\n {props.group.name}\r\n \r\n\r\n \r\n \r\n {props.group.description}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {showPasswordPrompt ? (\r\n \r\n {/* password form */}\r\n \r\n \r\n \r\n {txt('groups.passwordDialog')}\r\n \r\n {/* Wrong password prompt */}\r\n {passwordError && (\r\n \r\n {txt('groups.wrongPassword')}\r\n \r\n )}\r\n setPasswordHidden(!passwordHidden)}\r\n accessibilityRole=\"button\"\r\n accessibilityLabel={passwordHidden ? txt('loginField.passwordHide') : txt('loginField.passwordShow')}\r\n >\r\n \r\n \r\n }\r\n />\r\n \r\n {/* Send passworded join request btn */}\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n\r\n setDataDialogOpen(false)}\r\n send={handleCloseDataConsent}\r\n consent={dataConsentGiven}\r\n dataResponsible={props.group.data_responsible}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n alignRight: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n gap: 24,\r\n },\r\n btnContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'space-evenly',\r\n marginTop: 10,\r\n },\r\n cardContainer: {\r\n backgroundColor: Colors.white,\r\n margin: 12,\r\n marginVertical: 6,\r\n minHeight: 170,\r\n },\r\n container: {\r\n alignItems: 'flex-end',\r\n margin: 12,\r\n },\r\n inputText: { ...TypographyStyles.text },\r\n marginTop: { marginTop: 12 },\r\n passwordContainer: {\r\n padding: 12,\r\n ...CornerStyles.borderRadiusS,\r\n },\r\n smallBold: { ...TypographyStyles.textSmallBold },\r\n textContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n margin: 12,\r\n },\r\n textContainerCard: { flexGrow: 1, flex: 1, marginLeft: 12, alignItems: 'flex-start' },\r\n textSmall: { ...TypographyStyles.textSmall },\r\n badge: {\r\n position: 'absolute',\r\n top: -2,\r\n right: -2,\r\n },\r\n})\r\n","import React, { useRef } from 'react'\r\nimport { View, Platform } from 'react-native'\r\nimport { useRoute } from '@react-navigation/core'\r\nimport KeyboardSpacer from 'react-native-keyboard-spacer'\r\n\r\nimport GroupItem from './GroupItem'\r\nimport SearchList from '../../lists/SearchList'\r\nimport { getUniverseConfig } from '../../../universe/universeController'\r\n\r\nexport default function GroupsAll(props) {\r\n\tconst route = useRoute()\r\n\tconst universeObjectRef = useRef(getUniverseConfig(route?.params?.universe))\r\n\r\n\tconst renderGroupItem = ({ item }) => (\r\n\t\t\r\n\t)\r\n\t\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t{Platform.OS === 'ios' && }\r\n\t\t\r\n\t)\r\n}\r\n","import React from 'react'\r\nimport { View, StyleSheet, FlatList } from 'react-native'\r\nimport GroupItem from './GroupItem'\r\nimport Colors from '../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\n\r\nexport default function GroupsJoined(props) {\r\n if (props.groups?.length > 0) {\r\n return (\r\n \r\n }\r\n keyExtractor={(item) => item.id.toString()}\r\n />\r\n \r\n )\r\n } else\r\n return (\r\n \r\n \r\n {txt('groups.noMyGroups')}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n text: {\r\n color: Colors.inactive,\r\n paddingTop: 20,\r\n textAlign: 'center',\r\n },\r\n})\r\n","import React, { useState } from 'react'\r\nimport { View, StyleSheet, ScrollView, Platform } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { SpacingStyles, TypographyStyles } from '../../../styles'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { CustomInputs, CustomMultilineInputs } from '../../text/StyledTextinputs'\r\nimport { RoundSquareBtn } from '../../buttons/StyledButtons'\r\nimport Colors from '../../../constants/Colors'\r\nimport KeyboardSpacer from 'react-native-keyboard-spacer'\r\nimport { createGroup } from '../../../services/api/Groups'\r\nimport ImagePicker from '../../ImagePicker/ImagePicker'\r\nimport { UploadImage } from '../../../services/api/UploadImage'\r\nimport { RadioButton } from '../../formElements/formElements'\r\nimport imageBobl from '../../../assets/images/bobl.png'\r\n\r\nexport default function GroupCreate(props) {\r\n const [group, setGroup] = useState({\r\n name: '',\r\n description: '',\r\n password: '',\r\n image: {},\r\n groupType: null,\r\n })\r\n const [image, setImage] = useState(null)\r\n\r\n const [groupValidation, setGroupValidation] = useState({\r\n nameTooShort: false,\r\n descriptionTooShort: false,\r\n imageMissing: false,\r\n groupTypeMissing: false,\r\n groupPasswordMissing: false,\r\n })\r\n\r\n function updateGroupState(update) {\r\n setGroup((prev) => ({\r\n ...prev,\r\n ...update,\r\n }))\r\n }\r\n\r\n function updateGroupValidationState(update) {\r\n setGroupValidation((prev) => ({\r\n ...prev,\r\n ...update,\r\n }))\r\n }\r\n\r\n const keyboardSpacerShow = () => {\r\n if (Platform.OS === 'ios') {\r\n return \r\n }\r\n }\r\n\r\n function validateGroup() {\r\n if (group.name.length >= 1) {\r\n updateGroupValidationState({ nameTooShort: false })\r\n }\r\n\r\n if (group.description.length >= 1) {\r\n updateGroupValidationState({ descriptionTooShort: false })\r\n }\r\n if (group.image.image) {\r\n updateGroupValidationState({ imageMissing: false })\r\n }\r\n\r\n if (!group.groupType === 2) {\r\n updateGroupState({ password: '' })\r\n }\r\n\r\n if (group.groupType) {\r\n updateGroupValidationState({ groupTypeMissing: false })\r\n }\r\n\r\n if (group.name.length < 1) {\r\n updateGroupValidationState({ nameTooShort: true })\r\n return false\r\n } else if (!image) {\r\n updateGroupValidationState({ imageMissing: true })\r\n return false\r\n } else if (group.description.length < 1) {\r\n updateGroupValidationState({ descriptionTooShort: true })\r\n return false\r\n } else if (!group.groupType) {\r\n updateGroupValidationState({ groupTypeMissing: true })\r\n return false\r\n } else if (group.groupType === 2 && group.password < 1) {\r\n updateGroupValidationState({ groupPasswordMissing: true })\r\n return false\r\n }\r\n\r\n return true\r\n }\r\n\r\n function uploadImg() {\r\n if (image) {\r\n return UploadImage(image, 0, 'Groups').catch((err) => {\r\n if (__DEV__) console.log('IMAGE UPLOAD FAIL ', err)\r\n })\r\n }\r\n }\r\n\r\n function clearInputs() {\r\n setImage(null, null)\r\n updateGroupState({\r\n name: '',\r\n description: '',\r\n password: '',\r\n image: {},\r\n groupType: null,\r\n })\r\n }\r\n\r\n async function createNewGroup() {\r\n if (validateGroup()) {\r\n const img_id = await uploadImg()\r\n\r\n const data = {\r\n name: group.name,\r\n description: group.description,\r\n password: group.groupType === 2 ? group.password : '',\r\n groupType: group.groupType,\r\n img_id: img_id,\r\n }\r\n\r\n if (props.universeId) data.universeId = props.universeId\r\n\r\n const created = await createGroup(data)\r\n\r\n if (created) {\r\n clearInputs()\r\n props.navigateToGroup(created)\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {txt('groups.settings.groupImage')}\r\n \r\n \r\n \r\n {}}\r\n placeholder={imageBobl}\r\n hideDelete\r\n />\r\n \r\n\r\n {/* \r\n \r\n */}\r\n\r\n {groupValidation.imageMissing && (\r\n \r\n {txt('groups.addGroup.missingImage')}\r\n \r\n )}\r\n \r\n \r\n {txt('groups.settings.groupName')}\r\n \r\n \r\n \r\n {\r\n updateGroupState({\r\n name: value,\r\n })\r\n }}\r\n />\r\n \r\n\r\n {groupValidation.nameTooShort && (\r\n \r\n {txt('groups.addGroup.invalidName')}\r\n \r\n )}\r\n \r\n \r\n {txt('groups.settings.groupDescription')}\r\n \r\n \r\n \r\n {\r\n updateGroupState({\r\n description: value,\r\n })\r\n }}\r\n />\r\n \r\n {groupValidation.descriptionTooShort && (\r\n \r\n {txt('groups.addGroup.invalidDescription')}\r\n \r\n )}\r\n \r\n\r\n \r\n {txt('groups.settings.groupType')}\r\n \r\n \r\n {groupValidation.groupTypeMissing && (\r\n \r\n {txt('groups.addGroup.missingGroupType')}\r\n \r\n )}\r\n {/* Public group */}\r\n \r\n updateGroupState({ groupType: 4 })}\r\n text={txt('groups.addGroup.openGroupOption')}\r\n />\r\n \r\n \r\n \r\n {/* Request group */}\r\n \r\n updateGroupState({ groupType: 3 })}\r\n text={txt('groups.addGroup.requestGroupOption')}\r\n />\r\n \r\n \r\n \r\n {/* Password group */}\r\n \r\n updateGroupState({ groupType: 2 })}\r\n text={txt('groups.addGroup.passwordGroupOption')}\r\n />\r\n \r\n {group.groupType === 2 && groupValidation.groupPasswordMissing && (\r\n \r\n {txt('groups.addGroup.missingGroupPassword')}\r\n \r\n )}\r\n {group.groupType === 2 && (\r\n \r\n {\r\n updateGroupState({\r\n password: value,\r\n })\r\n }}\r\n />\r\n \r\n )}\r\n \r\n \r\n {/* Hidden group */}\r\n \r\n updateGroupState({ groupType: 1 })}\r\n text={txt('groups.settings.hidden')}\r\n />\r\n \r\n \r\n \r\n {txt('groups.settings.hiddenText')}\r\n \r\n \r\n createNewGroup()} />\r\n \r\n \r\n {keyboardSpacerShow()}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n errorMessage: {\r\n color: Colors.errorBackground,\r\n ...TypographyStyles.textSmallBold,\r\n marginBottom: 5,\r\n },\r\n imagePickerContainer: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: 12,\r\n },\r\n marginBottom: { marginBottom: 10 },\r\n row: { alignItems: 'center', flexDirection: 'row' },\r\n settingsContainer: { ...SpacingStyles.marginRightLeft10, marginBottom: 30 },\r\n smallText: { ...TypographyStyles.textSmallBold, color: Colors.inactive },\r\n title: { ...TypographyStyles.textBold },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport GroupsAll from '../../components/views/Groups/GroupsAll'\r\nimport GroupsJoined from '../../components/views/Groups/GroupsJoined'\r\nimport { txt } from '../../locales/i18n'\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport TxtTMD from '../../constants/TxtTMD'\r\nimport { CustomChip } from '../../components/chips/Chip'\r\nimport { useSelector } from 'react-redux'\r\nimport { useRoute } from '@react-navigation/native'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport GroupCreate from '../../components/views/Groups/GroupCreate'\r\nimport { URLOpener } from '../../utils/URLOpener'\r\n\r\nexport default function GroupsOverviewScreen(props) {\r\n const all = txt('groups.chipParams.all')\r\n const mine = txt('groups.chipParams.mine')\r\n const create = txt('groups.chipParams.create')\r\n\r\n const joinedGroups = useSelector((state) => state.groups)\r\n const userFeatures = useSelector((state) => state.user?.features)\r\n const [chipSelected, setChipSelected] = useState(all)\r\n const navigation = useNavigation()\r\n const route = useRoute()\r\n\r\n useEffect(() => {\r\n let chip = route.params?.chip\r\n if (Number(chip)) {\r\n navigation.navigate('Group', {\r\n id: chip,\r\n })\r\n } else if (!chip) {\r\n chip = joinedGroups?.length ? mine : all\r\n setChipParam(chip)\r\n }\r\n }, [])\r\n\r\n const setChipParam = (chip) => {\r\n setChipSelected(chip)\r\n navigation.setParams({ chip })\r\n }\r\n\r\n function renderChips(chip) {\r\n return (\r\n \r\n\r\n {/* All Groups */}\r\n \r\n setChipParam(all)}\r\n accessibilityLabel={txt('groups.allGroupsTitle')}\r\n text={txt('groups.allGroupsTitle')}\r\n />\r\n \r\n\r\n {/* My Groups */}\r\n \r\n setChipParam(mine)}\r\n accessibilityLabel={txt('groups.myGroupsTitle')}\r\n text={txt('groups.myGroupsTitle')}\r\n />\r\n \r\n\r\n {/* Create Group */}\r\n {userFeatures.includes(5) && (\r\n \r\n setChipParam(create)}\r\n accessibilityLabel={txt('groups.createGroupsTitle')}\r\n text={txt('groups.createGroupsTitle')}\r\n />\r\n \r\n )}\r\n\r\n \r\n URLOpener('https://filer.boblberg.dk/Files/Guides/Guide_Grupper.pdf')}\r\n accessibilityLabel={txt('groups.guideGroupsTitle')}\r\n text={txt('groups.guideGroupsTitle')}\r\n />\r\n \r\n \r\n )\r\n }\r\n\r\n switch (chipSelected) {\r\n case mine:\r\n return (\r\n <>\r\n \r\n {renderChips(chipSelected)}\r\n \r\n \r\n )\r\n case create:\r\n return (\r\n <>\r\n \r\n {renderChips(chipSelected)}\r\n \r\n \r\n )\r\n case all:\r\n return (\r\n <>\r\n \r\n renderChips(chipSelected)}\r\n />\r\n \r\n )\r\n default:\r\n return (\r\n <>\r\n \r\n renderChips(chipSelected)}\r\n />\r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n chip: {\r\n marginBottom: 5,\r\n marginLeft: 5,\r\n marginRight: 5,\r\n },\r\n chipContainer: {\r\n alignSelf: 'center',\r\n flexDirection: 'row',\r\n },\r\n})\r\n","import React from 'react'\r\nimport GroupsIntroScreen from './GroupsIntro'\r\nimport GroupsOverviewScreen from './GroupsOverviewScreen'\r\nimport { searchGroups } from '../../services/api/Groups'\r\nimport { useSelector } from 'react-redux'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\n\r\nexport default function GroupsScreen(props) {\r\n const userToken = useSelector((state) => state.userToken)\r\n\r\n const getGroups = async ({search, skip, amount}) => {\r\n return searchGroups({search, skip, amount})\r\n }\r\n\r\n const navigateToGroup = (groupId) => {\r\n props.navigation.navigate( 'GroupsStack', {\r\n screen: 'Group',\r\n initial: false,\r\n params: { id: groupId },\r\n })\r\n }\r\n\r\n return (\r\n \r\n {userToken ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )\r\n}\r\n","/*global L*/\r\nimport React, { useCallback, useEffect, useRef } from 'react'\r\nimport { StyleSheet, View } from 'react-native'\r\n\r\nimport { borderRadiusS } from '../../styles/corners'\r\nconst initialRegion = { lat: 56.2386833, lng: 10.2219608, zoom: 8 }\r\n\r\nexport const Map = (props) => {\r\n const mapRef = useRef(null)\r\n const markersRef = useRef(null)\r\n\r\n const renderMap = useCallback(() => {\r\n const mapOptions = {\r\n center: [initialRegion.lat, initialRegion.lng],\r\n zoom: initialRegion.zoom,\r\n }\r\n\r\n const map = new L.map('map', mapOptions)\r\n map.on('click', () => props.onMapPress?.())\r\n\r\n const attribution = '© OpenStreetMap contributors'\r\n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution }).addTo(map)\r\n\r\n const iconCreateFunction = (cluster) => {\r\n const html = '
' + cluster.getChildCount() + '
'\r\n const iconSize = new L.Point(40, 40)\r\n return new L.DivIcon({ html, iconSize, className: 'marker-cluster' })\r\n }\r\n\r\n markersRef.current = L.markerClusterGroup({ iconCreateFunction, maxClusterRadius: props.noCluster ? 0 : undefined })\r\n mapRef.current = map\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (mapRef.current !== null) return\r\n\r\n try {\r\n setTimeout(renderMap, 0)\r\n } catch (error) {\r\n window.location.reload()\r\n }\r\n }, [renderMap])\r\n\r\n useEffect(() => {\r\n const map = mapRef.current\r\n const markers = markersRef.current\r\n if (map === null || markers === null) return\r\n\r\n markers.clearLayers()\r\n const bounds = []\r\n\r\n for (const location of props.locations) {\r\n if (location.lat === null || location.lng === null) continue\r\n\r\n const marker = new L.marker([location.lat, location.lng])\r\n marker.on('click', () => props.onMarkerPress?.(location))\r\n marker.addTo(markers)\r\n bounds.push([location.lat, location.lng])\r\n }\r\n\r\n markers.addTo(map)\r\n if (bounds.length === 0) return\r\n\r\n setTimeout(() => {\r\n window.dispatchEvent(new Event('resize'))\r\n setTimeout(() => map.fitBounds(bounds, { padding: [24, 24] }), 100)\r\n }, 0)\r\n }, [props.locations])\r\n\r\n return \r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n map: {\r\n height: '100%',\r\n width: '100%',\r\n ...borderRadiusS,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport Paths from '../../../constants/Paths'\r\nimport Layout from '../../../constants/Layout'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ImageHighlight } from '../../images/ImageHighlight'\r\nimport { TypographyStyles } from '../../../styles'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Logo from '../../../assets/images/icon.png'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nexport default class UnionListItem extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n shouldComponentUpdate() {\r\n return false\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {this.props.item.img_filename ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n {this.props.item.title}\r\n \r\n \r\n {this.props.item.body}\r\n \r\n \r\n {/* rightElement is used for myPosts */}\r\n {this.props.rightElement ?? null}\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flexDirection: 'row',\r\n height: 100,\r\n justifyContent: 'space-between',\r\n marginBottom: 25,\r\n marginLeft: 10,\r\n marginRight: 10,\r\n },\r\n postContainer: {\r\n alignSelf: 'center',\r\n flex: 1,\r\n maxHeight: 100,\r\n overflow: 'hidden',\r\n },\r\n textSmall: {\r\n flexWrap: 'nowrap',\r\n paddingLeft: 10,\r\n width: '100%',\r\n ...TypographyStyles.textSmall,\r\n color: Colors.text,\r\n },\r\n textSmallBold: {\r\n flexWrap: 'wrap',\r\n paddingLeft: 10,\r\n },\r\n})\r\n","import { apiPost, apiGet, apiDelete, apiPut } from './ApiRequest'\r\n\r\nexport async function searchUnions({ search, skip, amount, universeId, faculties, municipality }) {\r\n const urlQueryParams = {}\r\n\r\n if (search !== undefined) urlQueryParams.search = search\r\n if (amount !== undefined) urlQueryParams.amount = amount\r\n if (skip !== undefined) urlQueryParams.skip = skip\r\n if (universeId !== undefined) urlQueryParams.universeId = universeId\r\n if (faculties !== undefined && faculties?.length !== 0) urlQueryParams.faculties = faculties.join(',')\r\n if (municipality && municipality !== 'all') urlQueryParams.municipalityId = municipality\r\n\r\n const urlQuery = Object.entries(urlQueryParams).map(([key, value]) => {\r\n return key + '=' + value\r\n })\r\n\r\n const unions = await apiGet('unions/search?' + urlQuery.join('&'))\r\n return unions ?? { unions: [], locations: [] }\r\n}\r\n\r\nexport async function getFullUnion(unionId) {\r\n const res = await apiGet(`unions/${unionId}`)\r\n return res.union\r\n}\r\n\r\nexport async function createUnion(data) {\r\n const res = await apiPost(data, 'unions/')\r\n const resJson = await res.json()\r\n return resJson.union\r\n}\r\n\r\nexport async function updateUnion(data) {\r\n const res = await apiPut(data, `unions/${data.id}`)\r\n const resJson = await res.json()\r\n return resJson.union\r\n}\r\n\r\nexport async function getOwnUnions() {\r\n const res = await apiGet(`unions/own`)\r\n return res.unions\r\n}\r\n\r\nexport async function deleteUnion(unionId) {\r\n const res = await apiDelete({}, `unions/${unionId}`)\r\n const resJson = await res.json()\r\n return resJson.data\r\n}\r\n\r\nexport async function getHasAccessToUnions() {\r\n const res = await apiGet('unions/hasAccessToUnions')\r\n return res.data\r\n}\r\n\r\nexport async function setUnionFavorite(unionId, favorite) {\r\n let res\r\n if (favorite) {\r\n res = await apiDelete({}, `unions/${unionId}/favorite`)\r\n } else {\r\n res = await apiPost({}, `unions/${unionId}/favorite`)\r\n }\r\n const result = await res.json()\r\n return result.union\r\n}\r\n\r\nexport async function getFavoriteUnions() {\r\n const res = await apiGet(`unions/favorites`)\r\n return res.unions\r\n}\r\n\r\nexport async function getFacilties() {\r\n return await apiGet('unions/faculties')\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport { StyleSheet, View, Image } from 'react-native'\r\nimport { useNavigation } from '@react-navigation/core'\r\n\r\nimport { CustomText } from '../../text/StyledText'\r\n\r\nimport { getFullUnion } from '../../../services/api/Unions'\r\nimport Logo from '../../../assets/images/icon.png'\r\nimport { borderRadiusS } from '../../../styles/corners'\r\nimport { dropShadow } from '../../../styles/shadows'\r\nimport Colors from '../../../constants/Colors'\r\nimport Paths from '../../../constants/Paths'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport const UnionLocationModal = ({ location }) => {\r\n const navigation = useNavigation()\r\n const [union, setUnion] = useState(null)\r\n\r\n useEffect(() => {\r\n getFullUnion(location.id).then(setUnion)\r\n }, [location])\r\n\r\n const renderAddress = () => {\r\n const addressInfo = [union.address, union.city, union.postal_code]\r\n\r\n if (addressInfo.every(value => value !== null)) {\r\n return union.address + ', ' + union.postal_code + ' ' + union.city\r\n } else {\r\n return '...'\r\n }\r\n }\r\n\r\n if (union === null) return null\r\n\r\n return (\r\n \r\n navigation.push('Union', { id: union.id })}>\r\n \r\n\r\n \r\n {union.title}\r\n\r\n \r\n {union.body}\r\n \r\n\r\n \r\n\r\n \r\n {renderAddress()}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n width: '100%',\r\n display: 'flex',\r\n alignItems: 'center',\r\n position: 'absolute',\r\n bottom: 0,\r\n },\r\n\r\n mapDialog: {\r\n flexDirection: 'row',\r\n backgroundColor: Colors.white,\r\n alignSelf: 'center',\r\n justifyContent: 'center',\r\n padding: 12,\r\n width: '90%',\r\n borderRadius: 12,\r\n maxWidth: 400,\r\n position: 'absolute',\r\n bottom: 12,\r\n ...borderRadiusS,\r\n ...dropShadow,\r\n },\r\n\r\n image: {\r\n borderRadius: 50,\r\n borderWidth: 1,\r\n height: 80,\r\n width: 80,\r\n alignSelf: 'center',\r\n },\r\n\r\n textContainer: {\r\n flex: 1,\r\n marginLeft: 12,\r\n overflow: 'hidden',\r\n },\r\n\r\n separator: {\r\n height: 1,\r\n margin: 10,\r\n backgroundColor: Colors.bluePale,\r\n },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport Colors from '../../constants/Colors'\r\nimport { FlatList, StyleSheet, View } from 'react-native'\r\nimport { getMunicipalityList } from '../../services/api/Municipalities'\r\nimport { txt } from '../../locales/i18n'\r\n\r\nimport CustomDialog from '../dialogs/CustomDialog'\r\nimport { CustomText } from '../text/StyledText'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport default function MunicipalityFilter({ onChange, municipalityId, focus, setFocus, feature, ...props }) {\r\n const [municipalities, setMunicipalities] = useState([])\r\n\r\n useEffect(() => {\r\n getMunicipalityList({ feature, countryId: 1 }).then((data) => {\r\n const municipalities = data.map(({ id, name }) => ({ value: String(id), name }))\r\n const municipality = municipalities.find(({ value }) => value === municipalityId)\r\n\r\n if (municipality === undefined) {\r\n setFocus(true)\r\n onChange('all')\r\n }\r\n\r\n municipalities.unshift({ value: 'all', name: txt('activities.allMunicipalities') })\r\n setMunicipalities(municipalities)\r\n })\r\n }, [])\r\n\r\n function handleSelect(value) {\r\n onChange(value)\r\n setFocus(false)\r\n }\r\n\r\n function getMunicipalityName(value) {\r\n return municipalities.find((item) => item.value === value)?.name\r\n }\r\n\r\n return (\r\n \r\n setFocus(true)} style={styles.button}>\r\n \r\n {getMunicipalityName(municipalityId)}\r\n \r\n\r\n setFocus(false)} visible={focus} style={{ padding: 24 }}>\r\n \r\n {props.description}\r\n\r\n item.value}\r\n ItemSeparatorComponent={() => }\r\n initialNumToRender={20}\r\n style={{}}\r\n renderItem={({ item }) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nfunction ListItem({ item, onSelect, selected }) {\r\n const backgroundColor = selected ? Colors.greyLightLight : Colors.transparent\r\n return (\r\n onSelect(item.value)}>\r\n {selected && }\r\n {item.name}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n paddingHorizontal: 6,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n },\r\n button: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n },\r\n selectItem: {\r\n paddingVertical: 6,\r\n paddingHorizontal: 30,\r\n },\r\n separator: {\r\n width: '100%',\r\n height: 1,\r\n backgroundColor: Colors.greyLightLight,\r\n },\r\n checkIcon: {\r\n position: 'absolute',\r\n left: 8,\r\n top: 7,\r\n },\r\n})\r\n","import React, { useEffect, useRef, useState } from 'react'\r\nimport { StyleSheet, View } from 'react-native'\r\n\r\nimport { Map } from '../../maps/map'\r\nimport UnionListItem from './UnionListItem'\r\nimport { UnionLocationModal } from './UnionLocationModal'\r\nimport MunicipalityFilter from '../../shared/MunicipalityFilter'\r\n\r\nimport PageTitle from '../../../components/tags/PageTitle'\r\nimport SearchList, { ListSeparator } from '../../../components/lists/SearchList'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\n\r\nimport Colors from '../../../constants/Colors'\r\nimport TxtTMD from '../../../constants/TxtTMD'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Layout from '../../../constants/Layout'\r\nimport { dropShadow } from '../../../styles/shadows'\r\n\r\nimport { useRoute } from '@react-navigation/core'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function UnionFeed(props) {\r\n const [location, setLocation] = useState(null)\r\n const [showMap, setShowMap] = useState(false)\r\n const [municipalityFocus, setMunicipalityFocus] = useState(false)\r\n\r\n const municipalityRef = useRef(null)\r\n const route = useRoute()\r\n\r\n useEffect(() => {\r\n municipalityRef.current = props.municipality\r\n }, [props.municipality])\r\n\r\n const renderItem = ({ item }, index) => {\r\n if (item.isSeparator) {\r\n return \r\n }\r\n\r\n return props.navigateToUnion(item.id)} />\r\n }\r\n\r\n const toggleMap = () => {\r\n setLocation(null)\r\n setShowMap((prev) => !prev)\r\n }\r\n\r\n const getListVisibility = () => {\r\n const isLargeDevice = Layout.isSmallDevice === false\r\n const hideMap = showMap === false\r\n return isLargeDevice || hideMap\r\n }\r\n\r\n const getMapVisibility = () => {\r\n const isLargeDevice = Layout.isSmallDevice === false\r\n return isLargeDevice || showMap\r\n }\r\n\r\n const renderFilterBelow = () => {\r\n if (props?.filterBelow) return props.filterBelow()\r\n\r\n const isUniverse = Boolean(route.params?.universe)\r\n if (isUniverse) return null\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n municipalityRef.current !== props.municipality}\r\n center={true}\r\n />\r\n \r\n\r\n {getMapVisibility() && (\r\n \r\n setLocation(null)} />\r\n {location && }\r\n \r\n )}\r\n\r\n {Layout.isSmallDevice && (\r\n \r\n \r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n flexDirection: 'row',\r\n justifyContent: 'center',\r\n marginHorizontal: Layout.isSmallDevice ? 0 : 12,\r\n },\r\n\r\n listContainer: {\r\n flex: 1,\r\n },\r\n\r\n mapContainer: {\r\n flex: 1,\r\n marginBottom: 12,\r\n maxWidth: 800,\r\n },\r\n\r\n mapButton: {\r\n alignItems: 'center',\r\n backgroundColor: Colors.blue,\r\n borderRadius: 100,\r\n height: 64,\r\n justifyContent: 'center',\r\n position: 'absolute',\r\n right: 16,\r\n width: 64,\r\n ...dropShadow,\r\n },\r\n\r\n municipalityFilter: {\r\n alignSelf: 'center',\r\n marginVertical: 5,\r\n },\r\n})\r\n","import React from 'react'\r\nimport { View, FlatList, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Colors from '../../../constants/Colors'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport UnionListItem from './UnionListItem'\r\nimport { CustomText } from '../../text/StyledText'\r\n\r\nexport default class MyUnions extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n unions: [],\r\n }\r\n }\r\n\r\n async componentDidMount() {\r\n const unions = await this.props.getOwnUnions()\r\n this.setState({ unions })\r\n\r\n this.unsubscribe = this.props.navigation.addListener('focus', async () => {\r\n this.setState({ unions: [] })\r\n const unions = await this.props.getOwnUnions()\r\n this.setState({ unions })\r\n })\r\n }\r\n\r\n componentWillUnmount() {\r\n this.unsubscribe?.()\r\n }\r\n\r\n keyExtractor = (item, index) => index.toString()\r\n\r\n _renderItem = ({ item }) => (\r\n {\r\n this.props.navigateToUnion(item.id)\r\n }}\r\n />\r\n )\r\n\r\n noUnions = () => {\r\n return (\r\n \r\n \r\n {txt('unions.edit.noOwnUnionsTitle')}\r\n \r\n \r\n {txt('unions.edit.noOwnUnionsText')}\r\n \r\n \r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.renderChips()}\r\n \r\n \r\n )\r\n }\r\n}\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n noMessage: {\r\n color: Colors.inactive,\r\n margin: 5,\r\n marginTop: 20,\r\n textAlign: 'center',\r\n },\r\n})\r\n","import React from 'react'\r\nimport { FlatList, View, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport UnionListItem from './UnionListItem'\r\nimport { SpacingStyles } from '../../../styles'\r\n\r\nexport default class FavoriteUnions extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n unions: [],\r\n }\r\n }\r\n\r\n async componentDidMount() {\r\n let unions = await this.props.getFavoriteUnions()\r\n this.setState({ unions })\r\n\r\n this.unsubscribe = this.props.navigation.addListener('focus', async () => {\r\n unions = await this.props.getFavoriteUnions()\r\n this.setState({ unions })\r\n })\r\n }\r\n\r\n componentWillUnmount() {\r\n this.unsubscribe?.()\r\n }\r\n\r\n renderItem = ({ item }) => (\r\n {\r\n this.props.navigateToUnion(item.id)\r\n }}\r\n />\r\n )\r\n\r\n noUnions = () => (\r\n \r\n \r\n {txt('unions.favorites.noUnionsTitle')}\r\n \r\n \r\n {txt('unions.favorites.noUnionsText')}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.renderChips()}\r\n item.id?.toString()}\r\n data={this.state.unions}\r\n renderItem={this.renderItem}\r\n keyboardDismissMode=\"on-drag\"\r\n ListEmptyComponent={this.noUnions}\r\n />\r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n alignSelfCenter: { alignSelf: 'center', margin: 10 },\r\n container: { flex: 1, ...SpacingStyles.widthAndHeight },\r\n text: {\r\n color: Colors.inactive,\r\n margin: 5,\r\n marginTop: 20,\r\n textAlign: 'center',\r\n },\r\n})\r\n","import { apiGet } from './ApiRequest'\r\n\r\nexport const getAddress = async (search, postalCode) => {\r\n const url = `addresses?search=${search}&postalCode=${postalCode}`\r\n const address = await apiGet(url)\r\n return address ?? null\r\n}\r\n\r\nexport const getSuggestions = async (search, count = 4) => {\r\n const url = `addresses/suggestions?search=${search}&count=${count}`\r\n const suggestions = await apiGet(url)\r\n return suggestions ?? []\r\n}\r\n\r\nexport const getCityFromPostalCode = async (postalCode) => {\r\n const url = 'https://services.datafordeler.dk/DAR/DAR/1/REST/postnummer?Postnr=' + postalCode\r\n const response = await fetch(url)\r\n\r\n if (response.ok === false) {\r\n return null\r\n }\r\n\r\n const [city] = await response.json()\r\n return city?.navn ?? null\r\n}\r\n","export const municipalities = [\r\n { id: 1, name: 'Aabenraa', lat: 54.979245, lng: 9.318688 },\r\n { id: 2, name: 'Aalborg', lat: 57.026147, lng: 9.928661 },\r\n { id: 3, name: 'Aarhus', lat: 56.161364, lng: 10.125875 },\r\n { id: 5, name: 'Albertslund', lat: 55.677059, lng: 12.351181 },\r\n { id: 6, name: 'Allerød', lat: 55.85496, lng: 12.320007 },\r\n { id: 7, name: 'Assens', lat: 55.298033, lng: 10.07149 },\r\n { id: 8, name: 'Ballerup', lat: 55.730843, lng: 12.368361 },\r\n { id: 9, name: 'Billund', lat: 55.734904, lng: 8.970712 },\r\n { id: 98, name: 'Bornholms', lat: 55.1424877, lng: 14.6388933 },\r\n { id: 10, name: 'Brøndby', lat: 55.643965, lng: 12.412267 },\r\n { id: 11, name: 'Brønderslev', lat: 57.237307, lng: 10.128541 },\r\n { id: 12, name: 'Dragør', lat: 55.580556, lng: 12.629148 },\r\n { id: 13, name: 'Egedal', lat: 55.76908, lng: 12.234093 },\r\n { id: 14, name: 'Esbjerg', lat: 55.422277, lng: 8.718652 },\r\n { id: 15, name: 'Faaborg-Midtfyn', lat: 55.199447, lng: 10.383724 },\r\n { id: 16, name: 'Fanø', lat: 55.404996, lng: 8.420189 },\r\n { id: 17, name: 'Favrskov', lat: 56.304948, lng: 9.947562 },\r\n { id: 18, name: 'Faxe', lat: 55.287502, lng: 12.072312 },\r\n { id: 19, name: 'Fredensborg', lat: 55.945561, lng: 12.452792 },\r\n { id: 20, name: 'Fredericia', lat: 55.571463, lng: 9.679837 },\r\n { id: 21, name: 'Frederiksberg', lat: 55.680954, lng: 12.525922 },\r\n { id: 22, name: 'Frederikshavn', lat: 57.41122, lng: 10.442963 },\r\n { id: 23, name: 'Frederikssund', lat: 55.814881, lng: 12.034435 },\r\n { id: 24, name: 'Furesø', lat: 55.796976, lng: 12.368718 },\r\n { id: 25, name: 'Gentofte', lat: 55.749543, lng: 12.553114 },\r\n { id: 26, name: 'Gladsaxe', lat: 55.746481, lng: 12.477068 },\r\n { id: 27, name: 'Glostrup', lat: 55.677155, lng: 12.408927 },\r\n { id: 28, name: 'Greve', lat: 55.587009, lng: 12.25787 },\r\n { id: 29, name: 'Gribskov', lat: 56.055903, lng: 12.249454 },\r\n { id: 30, name: 'Guldborgsund', lat: 54.790965, lng: 11.866098 },\r\n { id: 31, name: 'Haderslev', lat: 55.23866, lng: 9.378435 },\r\n { id: 32, name: 'Halsnæs', lat: 55.954565, lng: 12.002069 },\r\n { id: 33, name: 'Hedensted', lat: 55.782167, lng: 9.739428 },\r\n { id: 34, name: 'Helsingør', lat: 56.037258, lng: 12.508053 },\r\n { id: 35, name: 'Herlev', lat: 55.733792, lng: 12.43171 },\r\n { id: 36, name: 'Herning', lat: 56.139785, lng: 8.921954 },\r\n { id: 37, name: 'Hillerød', lat: 55.926992, lng: 12.275105 },\r\n { id: 38, name: 'Hjørring', lat: 57.455039, lng: 9.998041 },\r\n { id: 39, name: 'Høje-Taastrup', lat: 55.661428, lng: 12.245176 },\r\n { id: 40, name: 'Holbæk', lat: 55.660479, lng: 11.610549 },\r\n { id: 41, name: 'Holstebro', lat: 56.352867, lng: 8.662293 },\r\n { id: 42, name: 'Horsens', lat: 55.924699, lng: 9.79425 },\r\n { id: 43, name: 'Hørsholm', lat: 55.887556, lng: 12.494405 },\r\n { id: 44, name: 'Hvidovre', lat: 55.631563, lng: 12.473143 },\r\n { id: 45, name: 'Ikast-Brande', lat: 56.047199, lng: 9.255805 },\r\n { id: 46, name: 'Ishøj', lat: 55.62271, lng: 12.321494 },\r\n { id: 47, name: 'Jammerbugt', lat: 57.128657, lng: 9.434677 },\r\n { id: 48, name: 'Kalundborg', lat: 55.614447, lng: 11.269268 },\r\n { id: 49, name: 'Kerteminde', lat: 55.439287, lng: 10.626548 },\r\n { id: 50, name: 'Københavns', lat: 55.673955, lng: 12.571786 },\r\n { id: 51, name: 'Køge', lat: 55.459106, lng: 12.075344 },\r\n { id: 52, name: 'Kolding', lat: 55.459633, lng: 9.47219 },\r\n { id: 53, name: 'Læsø', lat: 57.27667, lng: 10.992733 },\r\n { id: 54, name: 'Langeland', lat: 54.92319, lng: 10.781989 },\r\n { id: 55, name: 'Lejre', lat: 55.62123, lng: 11.922718 },\r\n { id: 56, name: 'Lemvig', lat: 56.48912, lng: 8.299065 },\r\n { id: 57, name: 'Lolland', lat: 54.799083, lng: 11.298027 },\r\n { id: 58, name: 'Lyngby-Taarbæk', lat: 55.786055, lng: 12.516836 },\r\n { id: 59, name: 'Mariagerfjord', lat: 56.68612, lng: 9.970863 },\r\n { id: 60, name: 'Middelfart', lat: 55.455512, lng: 9.908975 },\r\n { id: 61, name: 'Morsø', lat: 56.797419, lng: 8.742318 },\r\n { id: 62, name: 'Næstved', lat: 55.267327, lng: 11.754733 },\r\n { id: 63, name: 'Norddjurs', lat: 56.456752, lng: 10.712994 },\r\n { id: 64, name: 'Nordfyns', lat: 55.527256, lng: 10.26204 },\r\n { id: 65, name: 'Nyborg', lat: 55.289593, lng: 10.729612 },\r\n { id: 66, name: 'Odder', lat: 55.944271, lng: 10.151739 },\r\n { id: 67, name: 'Odense', lat: 55.39141, lng: 10.387144 },\r\n { id: 68, name: 'Odsherred', lat: 55.846707, lng: 11.59015 },\r\n { id: 69, name: 'Randers', lat: 56.492967, lng: 10.075268 },\r\n { id: 70, name: 'Rebild', lat: 56.837134, lng: 9.823429 },\r\n { id: 71, name: 'Ringkøbing-Skjern', lat: 56.021253, lng: 8.479293 },\r\n { id: 72, name: 'Ringsted', lat: 55.459325, lng: 11.815581 },\r\n { id: 73, name: 'Rødovre', lat: 55.688637, lng: 12.451921 },\r\n { id: 74, name: 'Roskilde', lat: 55.644917, lng: 12.112129 },\r\n { id: 75, name: 'Rudersdal', lat: 55.836219, lng: 12.494515 },\r\n { id: 76, name: 'Samsø', lat: 55.854441, lng: 10.613796 },\r\n { id: 77, name: 'Silkeborg', lat: 56.189976, lng: 9.545624 },\r\n { id: 78, name: 'Skanderborg', lat: 56.083577, lng: 9.890223 },\r\n { id: 79, name: 'Skive', lat: 56.646569, lng: 9.005593 },\r\n { id: 80, name: 'Slagelse', lat: 55.348736, lng: 11.365193 },\r\n { id: 81, name: 'Solrød', lat: 55.536458, lng: 12.182618 },\r\n { id: 82, name: 'Sønderborg', lat: 54.94778, lng: 9.802881 },\r\n { id: 83, name: 'Sorø', lat: 55.483009, lng: 11.57981 },\r\n { id: 84, name: 'Stevns', lat: 55.330427, lng: 12.326484 },\r\n { id: 85, name: 'Struer', lat: 56.523991, lng: 8.563381 },\r\n { id: 86, name: 'Svendborg', lat: 55.097964, lng: 10.624116 },\r\n { id: 87, name: 'Syddjurs', lat: 56.326726, lng: 10.569825 },\r\n { id: 88, name: 'Tårnby', lat: 55.61313, lng: 12.609487 },\r\n { id: 89, name: 'Thisted', lat: 56.994642, lng: 8.655882 },\r\n { id: 90, name: 'Tønder', lat: 55.073539, lng: 8.925966 },\r\n { id: 91, name: 'Vallensbæk', lat: 55.632538, lng: 12.373843 },\r\n { id: 92, name: 'Varde', lat: 55.680043, lng: 8.523893 },\r\n { id: 93, name: 'Vejen', lat: 55.461584, lng: 9.061884 },\r\n { id: 94, name: 'Vejle', lat: 55.732833, lng: 9.384391 },\r\n { id: 95, name: 'Vesthimmerlands', lat: 56.813946, lng: 9.416298 },\r\n { id: 96, name: 'Viborg', lat: 56.464233, lng: 9.432205 },\r\n { id: 97, name: 'Vordingborg', lat: 55.01956, lng: 12.101209 },\r\n { id: 4, name: 'Ærø', lat: 54.864438, lng: 10.386498 },\r\n]\r\n\r\nexport function getMunicipality(id) {\r\n return municipalities.find(m => m.id === id)\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { FlatList, StyleSheet } from 'react-native'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport CustomDialog from '../../dialogs/CustomDialog'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { txt } from '../../../locales/i18n'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function ChooseFacultyItem({ visible, close, faculties, onPress, required, defaultFaculties }) {\r\n const [selectedFaculties, setSelectedFaculties] = useState(new Set())\r\n\r\n useEffect(() => {\r\n if (defaultFaculties === undefined) return\r\n setSelectedFaculties(defaultFaculties)\r\n }, [defaultFaculties])\r\n\r\n function selectFaculty(faculty) {\r\n const updatedList = new Set(selectedFaculties)\r\n if (updatedList.has(faculty.id)) updatedList.delete(faculty.id)\r\n else updatedList.add(faculty.id)\r\n setSelectedFaculties(updatedList)\r\n }\r\n\r\n function renderFaculty({ item }) {\r\n return (\r\n selectFaculty(item)}\r\n key={item.id}\r\n style={{ flexDirection: 'row', justifyContent: 'space-between', padding: 6 }}\r\n >\r\n {item.name}\r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n {txt('unions.create.faculty.dialogTitle')}\r\n \r\n {txt('unions.create.faculty.select')}\r\n \r\n onPress(selectedFaculties)}\r\n disabled={required ? selectedFaculties.size < 1 : false}\r\n style={styles.submitButton}\r\n icon=\"check\"\r\n stroke={'far'}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n dialog: {\r\n padding: 12,\r\n paddingTop: 18,\r\n minWidth: 300,\r\n },\r\n header: {\r\n marginBottom: 12,\r\n textAlign: 'center',\r\n },\r\n list: {\r\n flexGrow: 0,\r\n },\r\n submitButton: {\r\n marginTop: 12,\r\n width: '100%',\r\n },\r\n})\r\n","import React, { useEffect, useRef, useState } from 'react'\r\nimport { View, ScrollView, Platform, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { RoundBtn } from '../../buttons/StyledButtons'\r\nimport { CustomInputs, CustomMultilineInputs } from '../../text/StyledTextinputs'\r\nimport KeyboardSpacer from 'react-native-keyboard-spacer'\r\nimport ImagePicker from '../../ImagePicker/ImagePicker'\r\nimport { ShadowStyles, SpacingStyles, TypographyStyles } from '../../../styles'\r\nimport { CustomSnackbar } from '../../snackbars/Snackbar'\r\nimport { UploadImage } from '../../../services/api/UploadImage'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { Picker } from '@react-native-picker/picker'\r\nimport { InvalidInputNoticeCentered } from '../../notices/InvalidInputNotices'\r\nimport Colors from '../../../constants/Colors'\r\nimport { useSelector } from 'react-redux'\r\nimport * as AddressService from '../../../services/api/Addresses'\r\nimport { getMunicipality, municipalities } from '../../../constants/Municipalities'\r\nimport { useRoute } from '@react-navigation/native'\r\nimport { getFacilties } from '../../../services/api/Unions'\r\nimport ChooseFacultyItem from './ChooseFacultyItem'\r\nimport store from '../../../redux/store'\r\nimport imageBobl from '../../../assets/images/bobl.png'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport ModalSelectorCustom from \"../../modalSelectors/ModalSelectorCustom\"\r\n\r\nexport default function CreateUnion(props) {\r\n const user = useSelector((state) => state?.user)\r\n const [union, setUnion] = useState({\r\n title: '',\r\n body: '',\r\n url: '',\r\n imgId: null,\r\n municipalityId: user.municipality_id || 0,\r\n municipalityName: '',\r\n image: {},\r\n address: '',\r\n city: '',\r\n postalCode: null,\r\n latlng: null,\r\n })\r\n const [unionWasNotCreated, setUnionWasNotCreated] = useState(false)\r\n const [isAddressValid, setIsAddressValid] = useState(true)\r\n const [isPostalValid, setIsPostalValid] = useState(true)\r\n const [isMissingPostalCode, setIsMissingPostalCode] = useState(false)\r\n const [suggestions, setSuggestions] = useState([])\r\n const isUnionValid = true\r\n const uniqueValue = 1\r\n const SUGGESTIONS_PER_PAGE = 4\r\n const timeout = useRef(null)\r\n\r\n const [faculties, setFaculties] = useState([])\r\n const [facultiesVisible, setFacultiesVisible] = useState(false)\r\n const [selectedFaculties, setSelectedFaculties] = useState(new Set())\r\n const [isMissingFaculties, setIsMissingFaculties] = useState(false)\r\n\r\n const route = useRoute()\r\n const universeName = route.params?.universe?.toLowerCase()\r\n const universe = store.getState().user.universes.find((u) => u.name === universeName)\r\n\r\n useEffect(() => {\r\n getFacilties().then(setFaculties)\r\n const municipality = getMunicipality(user.municipality_id)\r\n updateUnion({ municipalityName: municipality.name })\r\n }, [route.params])\r\n\r\n const setImage = (image, rotation) => {\r\n setUnion((prev) => ({ ...prev, image: { image, rotation } }))\r\n }\r\n\r\n const updateUnion = (update) => {\r\n setUnion((prev) => ({ ...prev, ...update }))\r\n }\r\n\r\n const keyboardSpacerShow = () => {\r\n if (Platform.OS === 'ios') return \r\n }\r\n\r\n function checkURL(url) {\r\n if (url.startsWith('http') || url === '') return url\r\n else return 'http://' + url\r\n }\r\n\r\n const uploadImg = () => {\r\n if (union.image) {\r\n return UploadImage(union.image.image, union.image.rotation).catch((err) => {\r\n if (__DEV__) console.log('IMAGE UPLOAD FAIL ', err)\r\n })\r\n }\r\n }\r\n\r\n function validateUnion() {\r\n const { title, body } = union\r\n if (title.length > 0) updateUnion({ titleTooShort: false })\r\n if (body.length > 0) updateUnion({ descriptionTooShort: false })\r\n if (!isPostalValid) return false\r\n\r\n if (title.length < 1 && body.length < 1) {\r\n updateUnion({ titleTooShort: true, descriptionTooShort: true })\r\n return false\r\n } else if (title.length < 1) {\r\n updateUnion({ titleTooShort: true })\r\n return false\r\n } else if (body.length < 1) {\r\n updateUnion({ descriptionTooShort: true })\r\n return false\r\n } else if (selectedFaculties.size < 1 && universe?.id === 12) {\r\n setIsMissingFaculties(true)\r\n return false\r\n }\r\n return true\r\n }\r\n\r\n const createUnionFull = async () => {\r\n const isAddressVaild = await validateAddress()\r\n if (validateUnion() && isAddressVaild) {\r\n const imgId = await uploadImg()\r\n const data = {\r\n title: union.title,\r\n body: union.body,\r\n url: checkURL(union.url),\r\n municipality_id: parseInt(union.municipalityId, 10),\r\n img_id: imgId,\r\n address: union.address,\r\n city: union.city,\r\n postal_code: union.postalCode,\r\n lat: union.latlng?.lat,\r\n lng: union.latlng?.lng,\r\n }\r\n if (universe?.id === 12) {\r\n data.faculties = Array.from(selectedFaculties)\r\n }\r\n const unionCreated = await props.createUnion(data)\r\n if (unionCreated) props.navigateToMyUnions()\r\n }\r\n }\r\n\r\n function pickMunicipality() {\r\n return (\r\n data.id?.toString()}\r\n labelExtractor={(data) => data.name}\r\n key={(data) => data.id}\r\n initValue={union.municipalityName || txt('signupField.municipalityPlaceholder')}\r\n onChange={(value) => updateUnion({ municipalityId: value.id })}\r\n />\r\n )\r\n }\r\n\r\n const validateAddress = async () => {\r\n const { address, postalCode } = union\r\n if (address?.length > 0) {\r\n if (!postalCode) {\r\n setIsMissingPostalCode(true)\r\n return false\r\n } else setIsMissingPostalCode(false)\r\n\r\n const data = await AddressService.getAddress(address, postalCode)\r\n if (data) {\r\n setIsAddressValid(true)\r\n return true\r\n }\r\n return false\r\n } else {\r\n // empty address is valid\r\n updateUnion({ latlng: { lat: null, lng: null } })\r\n setIsAddressValid(true)\r\n setIsMissingPostalCode(false)\r\n return true\r\n }\r\n }\r\n\r\n const handleAddressChange = async (value) => {\r\n clearTimeout(timeout.current)\r\n updateUnion({ address: value })\r\n timeout.current = setTimeout(async () => {\r\n const suggestions = await AddressService.getSuggestions(value)\r\n if (suggestions.length === 0 && value) setIsAddressValid(false)\r\n else setIsAddressValid(true)\r\n setSuggestions(suggestions)\r\n }, 800)\r\n }\r\n\r\n async function handleSuggestionClick(suggestion) {\r\n const address = suggestion.tekst.split(',')[0]\r\n const otherInfo = suggestion.adgangsadresse\r\n const data = await AddressService.getAddress(address, otherInfo.postnr)\r\n const latlng = data.adgangsadresse.adgangspunkt.koordinater\r\n updateUnion({\r\n address: address,\r\n postalCode: otherInfo.postnr,\r\n city: otherInfo.postnrnavn,\r\n latlng: { lat: latlng[1], lng: latlng[0] },\r\n })\r\n setSuggestions([])\r\n }\r\n\r\n const renderSuggestions = () => (\r\n \r\n {suggestions.map((suggestion, index) => {\r\n const borderWidth = index !== suggestions.length - 1 ? 1 : 0\r\n return (\r\n handleSuggestionClick(suggestion)}\r\n >\r\n {suggestion.tekst}\r\n \r\n )\r\n })}\r\n \r\n )\r\n\r\n const handlePostalCodeChange = async (postalCode) => {\r\n clearTimeout(timeout.current)\r\n postalCode = postalCode.replace(/[^0-9]/g, '')\r\n if (postalCode.length === 0) setIsPostalValid(true)\r\n if (postalCode.length > 0) {\r\n timeout.current = setTimeout(async () => {\r\n const city = await AddressService.getCityFromPostalCode(postalCode)\r\n updateUnion({ city: city ?? '' })\r\n setIsPostalValid(city !== null)\r\n }, 400)\r\n }\r\n updateUnion({ postalCode: postalCode })\r\n }\r\n\r\n const handleFaculties = (faculties) => {\r\n setSelectedFaculties(faculties)\r\n setFacultiesVisible(false)\r\n }\r\n\r\n return (\r\n \r\n \r\n {props.renderChips()}\r\n \r\n \r\n {}}\r\n placeholder={imageBobl}\r\n />\r\n \r\n\r\n \r\n updateUnion({ title })}\r\n />\r\n {union.titleTooShort && (\r\n {txt('unions.create.titleTooShort')}\r\n )}\r\n \r\n \r\n updateUnion({ body: value })}\r\n />\r\n {union.descriptionTooShort && (\r\n {txt('unions.create.descriptionTooShort')}\r\n )}\r\n \r\n \r\n \r\n {!isAddressValid && (\r\n \r\n {txt('unions.create.invalidAddress')}\r\n \r\n )}\r\n {suggestions.length > 0 && union.address !== '' && renderSuggestions()}\r\n \r\n\r\n \r\n \r\n \r\n {!isPostalValid && (\r\n \r\n {txt('unions.create.invalidPostalCode')}\r\n \r\n )}\r\n {isMissingPostalCode && (\r\n \r\n {txt('unions.create.postalCodeRequired')}\r\n \r\n )}\r\n \r\n \r\n updateUnion({ city: value })}\r\n />\r\n \r\n \r\n \r\n updateUnion({ url: value })}\r\n />\r\n \r\n {!universe && (\r\n \r\n \r\n \r\n {pickMunicipality()}\r\n \r\n )}\r\n\r\n {universe?.id === 12 && faculties.length > 0 && (\r\n \r\n setFacultiesVisible(true)}\r\n style={{\r\n backgroundColor: Colors.white,\r\n borderRadius: 10,\r\n ...ShadowStyles.shadowInputs,\r\n padding: 10,\r\n marginHorizontal: 10,\r\n marginBottom: 12,\r\n }}>\r\n 1\r\n ? selectedFaculties.size + txt('unions.create.faculty.multipleSelected')\r\n : txt('unions.create.faculty.select')} />\r\n \r\n setFacultiesVisible(false)}\r\n faculties={faculties}\r\n onPress={handleFaculties}\r\n required\r\n />\r\n {isMissingFaculties && (\r\n \r\n {txt('unions.create.faculty.invalid')}\r\n \r\n )}\r\n \r\n )}\r\n\r\n {((union.titleTooShort && union.descriptionTooShort) || union.titleTooShort || union.descriptionTooShort) && (\r\n \r\n {txt('unions.create.unionNotCreated')}\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n {!isUnionValid ? (\r\n {txt('invalidNotice.invalidBooking')}\r\n ) : null}\r\n \r\n \r\n setUnionWasNotCreated(false)}\r\n text={txt('createPost.error')}\r\n style={{ marginBottom: 60 }}\r\n />\r\n {keyboardSpacerShow()}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n center: {\r\n alignSelf: 'center',\r\n },\r\n container: {\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n errorMessage: {\r\n color: Colors.errorBackground,\r\n ...TypographyStyles.textSmallBold,\r\n marginBottom: 5,\r\n },\r\n imagePickerContainer: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginVertical: 12,\r\n },\r\n inputRow: {\r\n flex: 1,\r\n flexDirection: 'row',\r\n marginHorizontal: 5,\r\n zIndex: -1,\r\n },\r\n margin: {\r\n marginBottom: 20,\r\n },\r\n marginBottom: { marginBottom: 5 },\r\n marginInput: {\r\n ...SpacingStyles.marginRightLeft10,\r\n marginBottom: 15,\r\n },\r\n marginInputSplit: {\r\n flex: 1,\r\n marginBottom: 15,\r\n marginHorizontal: 5,\r\n },\r\n marginLeftRight: { marginHorizontal: 12 },\r\n picker: {\r\n backgroundColor: Colors.white,\r\n padding: Platform.OS === 'android' ? 0 : 10,\r\n borderRadius: 12,\r\n marginTop: 6,\r\n ...ShadowStyles.shadowInputs,\r\n },\r\n suggestion: {\r\n borderBottomColor: Colors.blackTransparent,\r\n padding: 10,\r\n },\r\n suggestionsContainer: {\r\n ...ShadowStyles.shadowInputs,\r\n backgroundColor: Colors.white,\r\n borderRadius: 12,\r\n position: 'absolute',\r\n top: 48,\r\n width: '100%',\r\n zIndex: 1,\r\n },\r\n textCenter: { textAlign: 'center' },\r\n})\r\n","import React from 'react'\r\nimport { Platform, View } from 'react-native'\r\nimport { Helmet } from 'react-helmet'\r\n\r\nexport default class FacebookPixel extends React.PureComponent {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n consentGiven: !!(\r\n window.CookieInformation && window.CookieInformation.getConsentGivenFor('cookie_cat_marketing') === true\r\n ),\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n if (Platform.OS === 'web') {\r\n this.unsubscribeFromCookieInformation = window.addEventListener(\r\n 'CookieInformationConsentGiven',\r\n (e) => {\r\n if (CookieInformation.getConsentGivenFor('cookie_cat_marketing')) {\r\n this.setState({ consentGiven: true })\r\n } else {\r\n this.setState({ consentGiven: false })\r\n }\r\n },\r\n false\r\n )\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n // unsubscribe from cookieInfo on unmount\r\n if (this.unsubscribeFromCookieInformation) this.unsubscribeFromCookieInformation()\r\n }\r\n\r\n render() {\r\n if (__DEV__) console.log('consentGiven to Facebook =', this.state.consentGiven)\r\n if (Platform.OS === 'web' && this.state.consentGiven === true) {\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n } else {\r\n return \r\n }\r\n }\r\n}\r\n","import React from 'react'\r\nimport { Platform, View } from 'react-native'\r\nimport { Helmet } from 'react-helmet'\r\n\r\nexport default class FacebookPixelSignup extends React.PureComponent {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n render() {\r\n if (Platform.OS === 'web') {\r\n return (\r\n \r\n \r\n \r\n )\r\n } else {\r\n return \r\n }\r\n }\r\n}\r\n","import React from 'react'\r\nimport { View, Platform, StyleSheet } from 'react-native'\r\nimport { connect } from 'react-redux'\r\nimport { setOrigin, setShowMakeInfluence } from '../../../redux/actions'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport Colors from '../../../constants/Colors'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { CustomInputWithValidationNoShadow } from '../../text/StyledTextinputs'\r\nimport RegexPatterns from '../../../constants/RegexPatterns'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport KeyboardSpacer from 'react-native-keyboard-spacer'\r\nimport { InvalidInputNoticeCentered, InvalidInputNoticeSimple } from '../../notices/InvalidInputNotices'\r\nimport { signup, login } from '../../../services/api/User'\r\nimport { CornerStyles, TypographyStyles } from '../../../styles'\r\nimport { URLOpener } from '../../../utils/URLOpener'\r\n\r\nimport FacebookPixel from '../../Integrations/FacebookPixel'\r\nimport FacebookPixelSignup from '../../Integrations/FacebookPixelSignup'\r\nimport { getInvitedUser } from '../../../services/api/User'\r\nimport { Picker } from '@react-native-picker/picker'\r\nimport store from '../../../redux/store'\r\nimport { joinUniverseById } from '../../../services/api/Universe'\r\nimport { getCountryMunicipalities } from '../../../services/api/Municipalities'\r\nimport { getRegion, getLanguage, countries } from '../../../services/localization'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport ModalSelectorCustom from \"../../modalSelectors/ModalSelectorCustom\"\r\n\r\nclass SignupField extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n loading: false,\r\n birthYearList: [],\r\n municipality: '',\r\n municipalityId: 0,\r\n token: '',\r\n name: '',\r\n birthYear: props.defaultBirthYear ?? '',\r\n email: '',\r\n password: '',\r\n checkBoxChecked: false,\r\n passwordHidden: true,\r\n isUsernameValid: true,\r\n isEmailValid: true,\r\n isMunicipalityValid: true,\r\n isBirthYearValid: true,\r\n isPasswordValid: true,\r\n signUpError: false,\r\n signUpResponse: '',\r\n municipalities: [],\r\n region: getRegion(),\r\n missingFields: {\r\n municipalityId: false,\r\n username: false,\r\n birthYear: false,\r\n email: false,\r\n password: false,\r\n },\r\n }\r\n }\r\n\r\n async componentDidMount() {\r\n this.getUserInfoViaToken()\r\n this.setDefaultMunicipality()\r\n this.setBirthdayYearList()\r\n this.setMunicipalities()\r\n }\r\n\r\n componentDidUpdate() {\r\n const universe = this.props.route.params?.universe?.toLowerCase()\r\n let { originScreen, originStack, originRootStack, originParams } = this.props\r\n if (originScreen || originStack || originRootStack) {\r\n const payload = { rootStack: originRootStack || 'app' }\r\n if (originScreen) payload.screen = originScreen\r\n if (originStack) payload.stack = originStack\r\n if (originParams) payload.params = originParams\r\n if (universe) payload.universe = universe\r\n store.dispatch(setOrigin(payload))\r\n }\r\n if (this.state.municipalityId === 35 && !universe) {\r\n // only if municipality = Herlev and universe is undefined\r\n store.dispatch(setOrigin({ rootStack: 'universe', universe: 'herlev' }))\r\n }\r\n }\r\n\r\n async setMunicipalities() {\r\n const region = getRegion()\r\n const country = countries.find((country) => country.region === region)\r\n const municipalities = await getCountryMunicipalities(country?.name)\r\n this.setState({ region, municipalities })\r\n }\r\n\r\n async getUserInfoViaToken() {\r\n // TODO: find alternative for mobile\r\n if (Platform.OS === 'web') {\r\n const urlParams = new URLSearchParams(window.location.search)\r\n const token = urlParams.get('token')\r\n if (token) {\r\n const result = await getInvitedUser(token)\r\n if (result) {\r\n const { username, email } = result\r\n this.setState({\r\n name: username,\r\n email,\r\n token,\r\n })\r\n }\r\n }\r\n }\r\n }\r\n\r\n setDefaultMunicipality() {\r\n let isValid = false\r\n const defaultMunicipality = this.props.selectedMunicipality\r\n if (defaultMunicipality) {\r\n const selectedItem = this.state.municipalities.find((e) => {\r\n return e.name === defaultMunicipality\r\n })\r\n isValid = selectedItem?.id !== 0 ? true : false\r\n this.setState({\r\n municipality: defaultMunicipality,\r\n municipalityId: selectedItem?.id,\r\n isMunicipalityValid: isValid,\r\n })\r\n }\r\n }\r\n\r\n setBirthdayYearList() {\r\n let yearStart = 1900\r\n let yearEnd = new Date().getFullYear() - 15\r\n let years = Array(yearEnd - yearStart + 1)\r\n .fill()\r\n .map(() => yearStart++)\r\n years.reverse()\r\n this.setState({ birthYearList: years })\r\n }\r\n\r\n signup = async () => {\r\n this.setState({ signUpError: false, signUpResponse: '', loading: true })\r\n const { name, email, password, birthYear, municipalityId, checkBoxChecked, token } = this.state\r\n if (!this.formIsValid() || !checkBoxChecked) {\r\n this.setMissingFields()\r\n this.setState({ signUpError: true, password: '', loading: false })\r\n return\r\n }\r\n\r\n const region = this.state?.region\r\n const country = countries.find((country) => country.region === region)\r\n const language = await getLanguage()\r\n\r\n const result = await signup({\r\n name,\r\n email,\r\n password,\r\n birthYear,\r\n municipalityId,\r\n language: language,\r\n token,\r\n origin: this.props.originScreen || 'Boblberg',\r\n country: country?.name ?? 'Denmark',\r\n })\r\n\r\n if (result.error) {\r\n const errorText =\r\n result.error === 'EMAIL_ALREADY_TAKEN' ? txt('signupField.invalidEmail') : txt('signupField.signUpError')\r\n this.setState({\r\n signUpResponse: errorText,\r\n signUpError: true,\r\n loading: false,\r\n })\r\n return\r\n }\r\n\r\n //Fires CompleteRegistration Pixel - Should work...\r\n const showSignUpPixel = Platform.OS === 'web'\r\n this.setState({ showSignUpPixel, loading: false })\r\n this.props.setShowMakeInfluence(true)\r\n if (Platform.OS === 'web') {\r\n window.plausible('Signup', {\r\n props: { origin: this.props.originScreen || 'Home' },\r\n })\r\n }\r\n await login(email, password)\r\n if (this.props.onSignupSuccess) return this.props.onSignupSuccess()\r\n else {\r\n //add all users from Herlev municipality to herlevbobler\r\n if (municipalityId === 35) await joinUniverseById(9)\r\n }\r\n }\r\n\r\n formIsValid = () => {\r\n let everythingValid = false\r\n if (\r\n this.state.isBirthYearValid &&\r\n this.state.isUsernameValid &&\r\n this.state.isEmailValid &&\r\n this.state.isMunicipalityValid &&\r\n this.state.isPasswordValid\r\n )\r\n everythingValid = true\r\n\r\n let empty = false\r\n if (\r\n this.state.birthYear.length === 0 ||\r\n this.state.name.length === 0 ||\r\n this.state.email.length === 0 ||\r\n this.state.municipalityId === 0 ||\r\n this.state.password.length === 0\r\n )\r\n empty = true\r\n\r\n return !empty && everythingValid\r\n }\r\n\r\n setMissingFields() {\r\n // true = missing correct data, false = data is correct\r\n const missingFields = {\r\n municipality: !(this.state.municipalityId >= 1 && this.state.municipalityId <= 98),\r\n username: checkForMissingValue(this.state.name, RegexPatterns.username),\r\n birthYear: !(this.state.birthYear >= 1900 && this.state.birthYear <= new Date().getFullYear() - 15),\r\n email: checkForMissingValue(this.state.email, RegexPatterns.email),\r\n password: checkForMissingValue(this.state.password, RegexPatterns.password),\r\n checkBoxChecked: !this.state.checkBoxChecked,\r\n }\r\n\r\n // for later if we want to show errors under each info after failure\r\n // this.setState({\r\n // isMunicipalityValid: !missingFields.municipality,\r\n // isUsernameValid: !missingFields.username,\r\n // isBirthYearValid: !missingFields.birthYear,\r\n // isEmailValid: !missingFields.email,\r\n // isPasswordValid: !missingFields.password\r\n // })\r\n\r\n // check if value is incorrect and therefor missing\r\n function checkForMissingValue(value, pattern) {\r\n if (!pattern) return true\r\n let isValid = false\r\n // string pattern, one validation rule\r\n if (typeof pattern === 'string') {\r\n const condition = new RegExp(pattern, 'g')\r\n isValid = condition.test(value)\r\n }\r\n // array patterns, multiple validation rules\r\n if (typeof pattern === 'object') {\r\n const conditions = pattern.map((rule) => new RegExp(rule, 'g'))\r\n isValid = conditions.map((condition) => condition.test(value))\r\n }\r\n\r\n // return boolean indicating if value is missing\r\n if (typeof isValid === 'boolean' && isValid) {\r\n return false\r\n } else if (typeof isValid === 'object' && !isValid.includes(false)) {\r\n return false\r\n } else {\r\n return true\r\n }\r\n }\r\n this.setState({ signUpResponse: '' })\r\n this.setState({ missingFields })\r\n }\r\n\r\n showMissingFields() {\r\n const missingFields = this.state.missingFields\r\n\r\n if (this.state.signUpResponse !== '') {\r\n return this.state.signUpResponse\r\n }\r\n\r\n // removes fields that are filled out\r\n const removeFalsy = (obj) => {\r\n let newObj = {}\r\n Object.keys(obj).forEach((prop) => {\r\n if (obj[prop]) {\r\n newObj[prop] = obj[prop]\r\n }\r\n })\r\n return newObj\r\n }\r\n\r\n // translate and create list of missing fields\r\n var str = ''\r\n Object.keys(removeFalsy(missingFields)).forEach((element) => {\r\n if (element === 'checkBoxChecked') str += '\\n* ' + txt('signupField.InvalidcheckBoxTermsAndPrivacy')\r\n else str += '\\n* ' + txt(`profile.${element}`)\r\n })\r\n return str.length === 0 ? txt('signupField.signUpError') : txt('signupField.invalidSignUpInfo') + str\r\n }\r\n\r\n // Picker used if os === web, else modalselectorcustom\r\n _pickDropdownFromPlatformForMunicipalities() {\r\n let isValid = false\r\n return (\r\n \r\n data.id}\r\n labelExtractor={(data) => data.name}\r\n key={(data) => data.id}\r\n initValue={this.defaultMunicipality ?? txt('signupField.municipalityPlaceholder')}\r\n style={{ shadowColor: Colors.transparent }}\r\n onChange={(value) => {\r\n isValid = value.id !== 0\r\n this.setState({\r\n municipality: value.name,\r\n municipalityId: value.id,\r\n isMunicipalityValid: isValid,\r\n })\r\n }}\r\n rightElement={() => }\r\n />\r\n {!this.state.isMunicipalityValid && !isValid ? (\r\n {txt('invalidNotice.invalidMunicipality')}\r\n ) : null}\r\n \r\n )\r\n }\r\n\r\n // Picker used if os === web, else modalselectorcustom\r\n _pickDropdownFromPlatformForBirthYears() {\r\n let isValid = false\r\n return (\r\n \r\n data}\r\n labelExtractor={(data) => data}\r\n key={(data) => data.id}\r\n initValue={txt('signupField.birthYearPlaceHolder')}\r\n rightElement={() => }\r\n onChange={(value) => {\r\n isValid = value.toString().length === 4\r\n this.setState({\r\n birthYear: value,\r\n isBirthYearValid: isValid\r\n })\r\n }}\r\n />\r\n {!this.state.isBirthYearValid && !isValid ? (\r\n {txt('invalidNotice.invalidBirthYear')}\r\n ) : null}\r\n \r\n )\r\n }\r\n\r\n keyboardSpacerShow = () => {\r\n if (Platform.OS === 'ios') {\r\n return \r\n }\r\n }\r\n\r\n navigateToLogin() {\r\n if (this.props.originStack === 'ChristmasTypeSelection') {\r\n this.props.navigation.navigate('ChristmasLoginScreen')\r\n } else {\r\n this.props.navigation.navigate('Login')\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this.state.showSignUpPixel ? : null}\r\n\r\n \r\n \r\n \r\n \r\n {txt('frontPage.signupText')}\r\n \r\n\r\n {Platform.OS === 'web' && (\r\n location.assign('https://app.boblberg.' + region)}\r\n style={styles.regionPicker}\r\n value={this.state?.region}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n\r\n {this._pickDropdownFromPlatformForMunicipalities()}\r\n \r\n {\r\n this.setState({ isUsernameValid: isValid })\r\n }}\r\n onChangeText={(name) => {\r\n this.setState({ name })\r\n }}\r\n value={this.state.name}\r\n />\r\n \r\n {this._pickDropdownFromPlatformForBirthYears()}\r\n \r\n {\r\n this.setState({ isEmailValid: isValid })\r\n }}\r\n onChangeText={(email) => {\r\n this.setState({ email })\r\n }}\r\n value={this.state.email}\r\n />\r\n \r\n \r\n {\r\n this.setState({ isPasswordValid: isValid })\r\n }}\r\n onChangeText={(password) => {\r\n this.setState({ password })\r\n }}\r\n >\r\n this.setState({ passwordHidden: !this.state.passwordHidden })}\r\n accessibilityRole=\"button\"\r\n accessibilityLabel={\r\n this.state.passwordHidden ? txt('loginField.passwordHide') : txt('loginField.passwordShow')\r\n }\r\n accessibilityHint={txt('loginField.passwordShow')}\r\n accessibilityLiveRegion=\"polite\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setState({ checkBoxChecked: !this.state.checkBoxChecked })}>\r\n \r\n \r\n \r\n \r\n {txt('signupField.termsAndPrivacyPolicy1')}\r\n {\r\n this.props.navigation.navigate('Conditions')\r\n }}\r\n >\r\n {txt('signupField.termsAndPrivacyPolicy2')}\r\n \r\n {txt('signupField.termsAndPrivacyPolicy3')}\r\n {\r\n URLOpener(`https://filer.boblberg.dk/Files/Privacy_Policy/boblberg_privacy_policy_${this.state.region}.pdf`)\r\n }}\r\n >\r\n {txt('signupField.termsAndPrivacyPolicy4')}\r\n \r\n {txt('signupField.termsAndPrivacyPolicy5')}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {this.state.signUpError === true ? (\r\n {this.showMissingFields()}\r\n ) : null}\r\n \r\n \r\n this.navigateToLogin()}\r\n accessibilityLabel={txt('signupField.alreadyAUser') + txt('signupField.loginHere')}\r\n >\r\n \r\n {txt('signupField.alreadyAUser')}\r\n \r\n \r\n \r\n {txt('signupField.loginHere')}\r\n \r\n \r\n \r\n \r\n \r\n {this.keyboardSpacerShow()}\r\n \r\n )\r\n }\r\n}\r\nexport default connect(null, { setShowMakeInfluence })(SignupField)\r\n\r\nconst styles = StyleSheet.create({\r\n alignSelfCenter: { alignSelf: 'center' },\r\n alreadyUser: {\r\n alignSelf: 'center',\r\n marginTop: 18,\r\n },\r\n container: {\r\n backgroundColor: Colors.black,\r\n margin: 10,\r\n marginTop: 10,\r\n padding: 18,\r\n paddingVertical: 24,\r\n ...CornerStyles.borderRadiusS,\r\n },\r\n icon: {\r\n alignItems: 'center',\r\n height: 40,\r\n justifyContent: 'center',\r\n width: 40,\r\n ...CornerStyles.borderRadiusS,\r\n },\r\n marginRight10: { marginRight: 10 },\r\n marginTop: { marginTop: 10 },\r\n picker: {\r\n ...CornerStyles.borderRadiusS,\r\n height: 40,\r\n paddingLeft: 5,\r\n ...TypographyStyles.text,\r\n backgroundColor: Colors.white,\r\n borderColor: Colors.transparent,\r\n color: Colors.text,\r\n },\r\n regionPicker: {\r\n width: 48,\r\n backgroundColor: 'transparent',\r\n border: 'none',\r\n fontSize: 18,\r\n color: Colors.white,\r\n },\r\n signUpButton: {\r\n alignItems: 'center',\r\n marginTop: 18,\r\n },\r\n termsContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n marginTop: 10,\r\n },\r\n termsTextContainer: { flexGrow: 1, flex: 1 },\r\n text: { ...TypographyStyles.text },\r\n title: {\r\n color: Colors.white,\r\n marginBottom: 10,\r\n textAlign: 'center',\r\n },\r\n white: { color: Colors.white },\r\n widthHeight: {\r\n alignSelf: 'center',\r\n flex: 1,\r\n maxWidth: 500,\r\n width: '100%',\r\n },\r\n})\r\n","// libraries\r\nimport React from 'react'\r\nimport { View, Platform, StyleSheet } from 'react-native'\r\nimport { useNavigation, useRoute } from '@react-navigation/core'\r\nimport KeyboardSpacer from 'react-native-keyboard-spacer'\r\n\r\n// components\r\nimport MainContainer from '../../MainContainer/MainContainer'\r\nimport SignupField from '../../views/Auth/SignupField'\r\nimport { CustomText } from '../../text/StyledText'\r\n\r\n// resources\r\nimport { txt } from '../../../locales/i18n'\r\nimport { SpacingStyles } from '../../../styles'\r\n\r\nexport const UnionsSignup = () => {\r\n const navigation = useNavigation()\r\n const route = useRoute()\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('activities.signup.text1')}\r\n \r\n\r\n {txt('activities.signup.text2')}\r\n \r\n\r\n \r\n \r\n\r\n {Platform.OS === 'ios' && }\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n text: {\r\n marginBottom: 10,\r\n },\r\n\r\n textContainer: {\r\n textAlign: 'center',\r\n },\r\n\r\n widthHeight: {\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n})\r\n","// libraries\r\nimport React, { useEffect, useState } from 'react'\r\nimport { Dimensions, StyleSheet, View } from 'react-native'\r\nimport { useNavigation, useRoute, CommonActions } from '@react-navigation/core'\r\nimport { useSelector } from 'react-redux'\r\n\r\n// components\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport { CustomChip } from '../../components/chips/Chip'\r\n\r\n// views\r\nimport UnionFeed from '../../components/views/Union/UnionFeed'\r\nimport MyUnions from '../../components/views/Union/MyUnions'\r\nimport FavoriteUnions from '../../components/views/Union/FavoriteUnions'\r\nimport CreateUnion from '../../components/views/Union/CreateUnion'\r\nimport { UnionsSignup } from '../../components/views/Union/UnionsSignup'\r\n\r\n// resources\r\nimport * as unionService from '../../services/api/Unions'\r\nimport TxtTMD from '../../constants/TxtTMD'\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\n\r\nexport const UnionFeedScreen = () => {\r\n const isSmallDevice = Dimensions.get('window').width < 375\r\n const user = useSelector((state) => state.user ?? null)\r\n const navigation = useNavigation()\r\n const route = useRoute()\r\n\r\n const [locations, setLocations] = useState([])\r\n const [selectedChip, setSelectedChip] = useState(route.params?.chip ?? '')\r\n const [municipality, setMunicipality] = useState(String(user?.municipality_id ?? route.params?.municipality ?? 'all'))\r\n\r\n useEffect(() => {\r\n const action = CommonActions.setParams({ chip: selectedChip })\r\n navigation.dispatch(action)\r\n }, [selectedChip])\r\n\r\n useEffect(() => {\r\n if (user === null) {\r\n const action = CommonActions.setParams({ municipality })\r\n navigation.dispatch(action)\r\n return\r\n }\r\n\r\n const action = CommonActions.setParams({ municipality: String(user.municipality_id) })\r\n navigation.dispatch(action)\r\n }, [municipality])\r\n\r\n const searchUnions = async ({ search, skip, amount }) => {\r\n const { unions, locations } = await unionService.searchUnions({ search, skip, amount, municipality })\r\n setLocations(locations)\r\n return unions\r\n }\r\n\r\n const renderChips = () => (\r\n \r\n {/* search unions */}\r\n \r\n setSelectedChip('')}\r\n accessibilityLabel={txt('unions.menu.all')}\r\n icon=\"users-class\"\r\n text={txt('unions.menu.all')}\r\n />\r\n \r\n\r\n {/* my unions */}\r\n {user !== null && (\r\n \r\n setSelectedChip(txt('unions.chipParams.mine'))}\r\n accessibilityLabel={txt('unions.menu.mine')}\r\n icon=\"user\"\r\n text={txt('unions.menu.mine')}\r\n />\r\n \r\n )}\r\n\r\n {/* favorite unions */}\r\n {user !== null && (\r\n \r\n setSelectedChip(txt('unions.chipParams.favorites'))}\r\n accessibilityLabel={txt('activities.menu.favoriteActivities')}\r\n icon=\"star\"\r\n text={isSmallDevice === false && txt('activities.menu.favoriteActivities')}\r\n />\r\n \r\n )}\r\n\r\n {/* create Union */}\r\n {user !== null && (\r\n \r\n setSelectedChip(txt('unions.chipParams.create'))}\r\n accessibilityLabel={txt('unions.menu.create')}\r\n icon=\"plus-circle\"\r\n text={txt('unions.menu.create')}\r\n />\r\n \r\n )}\r\n\r\n {/* user signup */}\r\n {user === null && (\r\n \r\n setSelectedChip(txt('global.signup'))}\r\n accessibilityLabel={txt('global.signup')}\r\n icon=\"user\"\r\n text={txt('global.signup')}\r\n />\r\n \r\n )}\r\n \r\n )\r\n\r\n const renderView = () => {\r\n if (selectedChip === '') {\r\n return (\r\n navigation.push('Union', { id })}\r\n searchUnions={searchUnions}\r\n renderChips={renderChips}\r\n setMunicipality={setMunicipality}\r\n municipality={municipality}\r\n locations={locations}\r\n />\r\n )\r\n }\r\n\r\n if (user !== null && selectedChip === txt('unions.chipParams.mine')) {\r\n return (\r\n navigation.push('Union', { id })}\r\n getOwnUnions={unionService.getOwnUnions}\r\n renderChips={renderChips}\r\n />\r\n )\r\n }\r\n\r\n if (selectedChip === txt('unions.chipParams.favorites')) {\r\n return (\r\n navigation.push('Union', { id })}\r\n getFavoriteUnions={unionService.getFavoriteUnions}\r\n renderChips={renderChips}\r\n />\r\n )\r\n }\r\n\r\n if (user !== null && selectedChip === txt('unions.chipParams.create')) {\r\n return (\r\n navigation.replace('Unions', { chip: txt('unions.chipParams.mine') })}\r\n createUnion={unionService.createUnion}\r\n renderChips={renderChips}\r\n />\r\n )\r\n }\r\n\r\n if (user === null && selectedChip === txt('global.signup')) {\r\n return \r\n }\r\n\r\n return null\r\n }\r\n\r\n return (\r\n \r\n \r\n {renderView()}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flex: 1,\r\n backgroundColor: Colors.background,\r\n },\r\n\r\n chipContainer: {\r\n marginTop: 5,\r\n alignSelf: 'center',\r\n flexDirection: 'row',\r\n },\r\n\r\n chip: {\r\n marginBottom: 5,\r\n marginHorizontal: 3,\r\n },\r\n\r\n iconStyle: {\r\n marginRight: -12,\r\n },\r\n})\r\n","import React, { useEffect, useState, useCallback } from 'react'\r\nimport { View, StyleSheet, Dimensions } from 'react-native'\r\nimport Paths from '../../../constants/Paths'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ImageHighlight } from '../../images/ImageHighlight'\r\nimport { getFullUnion, setUnionFavorite } from '../../../services/api/Unions'\r\nimport { SpacingStyles } from '../../../styles'\r\nimport { formatForMetaTitle } from '../../text/TextFormatter'\r\nimport PageTitle from '../../tags/PageTitle'\r\nimport { URLOpener, formatURL } from '../../../utils/URLOpener'\r\nimport { RoundBtn } from '../../buttons/StyledButtons'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport FavoriteIndicator from '../../headers/FavoriteIndicator'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Logo from '../../../assets/images/icon.png'\r\nimport { useSelector } from 'react-redux'\r\nimport { useFocusEffect } from '@react-navigation/native'\r\nimport { openMap } from '../../../utils/openMap'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport Card from '../../Card'\r\nimport ReportContent from '../../callToActions/reportContent'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport Colors from \"../../../constants/Colors\"\r\n\r\nconst small = Dimensions.get('window').width < 500\r\n\r\nexport default function Union(props) {\r\n const [loading, setLoading] = useState(true)\r\n const [union, setUnion] = useState({\r\n id: 0,\r\n municipality_id: 0,\r\n is_favorite: 0,\r\n groupId: 0,\r\n title: '',\r\n body: '',\r\n username: '',\r\n user_id: null,\r\n img_filename: '',\r\n url: '',\r\n address: '',\r\n postal_code: 0,\r\n city: '',\r\n lat: 0,\r\n lng: 0,\r\n })\r\n\r\n const navigation = useNavigation()\r\n const ownId = useSelector((state) => state.user?.id)\r\n\r\n useEffect(() => {\r\n getFullUnion(props.route.params.id).then((unionRes) => {\r\n if (!unionRes) return props.navigation.popToTop()\r\n setUnion(unionRes)\r\n setLoading(false)\r\n unionRes.user_id !== ownId && navigation.setOptions({\r\n headerRight: () => ,\r\n })\r\n })\r\n }, [props.route.params.id])\r\n\r\n useFocusEffect(useCallback(fetchUnion, []))\r\n\r\n function fetchUnion() {\r\n getFullUnion(props.route.params.id).then(setUnion)\r\n }\r\n\r\n async function toggleFavorite() {\r\n const { is_favorite } = await setUnionFavorite(union.id, union.is_favorite)\r\n setUnion((union) => ({ ...union, is_favorite }))\r\n }\r\n\r\n function showEditBtn() {\r\n return union.user_id === ownId\r\n }\r\n\r\n function showFavoriteBtn() {\r\n return ownId && ownId !== union.user_id\r\n }\r\n\r\n if (!loading) {\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n {union.img_filename ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {showEditBtn() && (\r\n props.navigateToUnion(union.id)}\r\n style={styles.marg}\r\n accessibilityRole=\"button\"\r\n accessibilityLabel={txt('unions.edit.title')}\r\n >\r\n \r\n \r\n )}\r\n {showFavoriteBtn() && (\r\n \r\n )}\r\n \r\n \r\n \r\n {union.title}\r\n \r\n {union.body.trim()}\r\n\r\n {!!union.address || !!union.city ? (\r\n openMap(union.address, union.postal_code)}\r\n style={styles.address}\r\n >\r\n \r\n \r\n\r\n \r\n {union.address}\r\n {!!union.postal_code && `, ${union.postal_code}`}\r\n {!!union.city && union.city !== '' && ` ${union.city}`}\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n {!!union.url && (\r\n URLOpener(formatURL(union.url))}\r\n />\r\n )}\r\n \r\n \r\n )\r\n }\r\n return \r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n actionContainer: {\r\n position: 'absolute',\r\n right: 0,\r\n top: 0,\r\n },\r\n container: {\r\n margin: 12,\r\n padding: small ? 18 : 36,\r\n },\r\n address: {\r\n marginTop: 12\r\n },\r\n flexCenter: { alignItems: 'center', flexDirection: 'row' },\r\n iconMargin: { marginRight: 6 },\r\n button: { marginTop: 12 },\r\n body: { marginTop: 12 },\r\n title: { marginTop: 12, textAlign: 'center' },\r\n widthHeight: { flex: 1, ...SpacingStyles.widthAndHeight },\r\n})\r\n","import React from 'react'\r\nimport Union from '../../components/views/Union/Union'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\n\r\nexport default class UnionScreen extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n }\r\n\r\n navigateToUnion = (unionId) => {\r\n this.props.navigation.push('EditUnion', {\r\n id: unionId,\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","import React, { useEffect, useMemo, useState } from 'react'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport ReactDatePicker, { registerLocale } from 'react-datepicker'\r\nimport da from 'date-fns/locale/da'\r\nregisterLocale('da', da)\r\nimport 'react-datepicker/dist/react-datepicker.css'\r\nimport Colors from '../../constants/Colors'\r\nimport { TypographyStyles, ShadowStyles } from '../../styles'\r\nimport { CustomText } from '../text/StyledText'\r\nimport CustomDialog from '../dialogs/CustomDialog'\r\nimport moment from 'moment'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport { txt } from '../../locales/i18n'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport default function WebDatePicker({\r\n date,\r\n handleDateChange,\r\n minTime,\r\n maxTime,\r\n minDate,\r\n maxDate,\r\n minuteInterval,\r\n CustomInput,\r\n dateFormat,\r\n popperPlacement,\r\n showTimeSelectOnly,\r\n placeholder,\r\n ...props\r\n}) {\r\n const [showModal, setShowModal] = useState(false)\r\n const POPPER_HEIGHT = 245\r\n\r\n const DefaultInput = ({ value, onClick, isButton }) => {\r\n useEffect(() => {\r\n if (!isButton) {\r\n onClick()\r\n }\r\n }, [])\r\n\r\n return (\r\n \r\n \r\n {value || placeholder}\r\n \r\n {props.children}\r\n \r\n )\r\n }\r\n\r\n const WrappedCustomInput = ({ value, onClick, isButton }) => {\r\n useEffect(() => {\r\n if (!isButton) {\r\n onClick()\r\n }\r\n }, [])\r\n\r\n if (!isButton) {\r\n return DefaultInput({ value, onClick })\r\n }\r\n\r\n return CustomInput({ value, onClick })\r\n }\r\n\r\n const selectedDate = useMemo(() => {\r\n if (!date) return new Date()\r\n if (date < minDate) return minDate\r\n return date\r\n }, [date, minDate])\r\n\r\n const getMinTime = () => {\r\n const dateNow = moment()\r\n const dateSelected = date ? moment(date) : null\r\n const timeMinimum = minTime ? moment(minTime) : null\r\n\r\n const isToday = dateSelected?.format('l') === dateNow.format('l')\r\n const beforeMinimumTime = dateNow.format('LTS') < timeMinimum?.format('LTS')\r\n\r\n if (isToday && beforeMinimumTime) return timeMinimum.toDate()\r\n if (isToday && beforeMinimumTime === false) return dateNow.toDate()\r\n if (timeMinimum && isToday === false) return timeMinimum.toDate()\r\n\r\n return moment().startOf('day').toDate()\r\n }\r\n\r\n const formatDate = (date) => {\r\n if (showTimeSelectOnly) return moment(date).format('LT')\r\n if (minuteInterval) return moment(date).format('lll')\r\n return moment(date).format('ll')\r\n }\r\n\r\n return (\r\n <>\r\n setShowModal(false)}\r\n >\r\n \r\n handleDateChange(date)}\r\n showTimeSelect={!!minuteInterval}\r\n timeIntervals={minuteInterval}\r\n timeCaption=\"Tid\"\r\n minTime={getMinTime()}\r\n maxTime={maxTime ? new Date(maxTime) : moment().endOf('day').toDate()}\r\n minDate={minDate}\r\n maxDate={maxDate}\r\n dateFormat={dateFormat || 'dd/MM/yyyy HH:mm'}\r\n timeFormat={'HH:mm'}\r\n locale=\"da\"\r\n customInput={CustomInput ? : }\r\n popperPlacement={popperPlacement || 'top'}\r\n showTimeSelectOnly={showTimeSelectOnly}\r\n placeholderText={'Date'}\r\n {...props}\r\n />\r\n \r\n setShowModal(false)}\r\n />\r\n \r\n {CustomInput\r\n ? WrappedCustomInput({ value: date ? formatDate(date) : null, onClick: () => setShowModal(true), isButton: true })\r\n : DefaultInput({ value: date ? formatDate(date) : null, onClick: () => setShowModal(true), isButton: true })}\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n pickerStyle: {\r\n justifyContent: 'center',\r\n ...ShadowStyles.shadowInputs,\r\n backgroundColor: Colors.white,\r\n borderRadius: 10,\r\n height: 40,\r\n },\r\n text: {\r\n paddingLeft: 10,\r\n paddingRight: 10,\r\n color: Colors.redCross.text\r\n },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet, Image, ScrollView } from 'react-native'\r\nimport Layout from '../../constants/Layout'\r\nimport { txt } from '../../locales/i18n'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport CustomDialog from '../../components/dialogs/CustomDialog'\r\nimport { CustomText } from '../text/StyledText'\r\nimport Colors from '../../constants/Colors'\r\nimport { getCategories } from '../../services/api/Activities'\r\nimport { ShadowStyles, TypographyStyles } from '../../styles'\r\nimport { useRoute } from '@react-navigation/native'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport default function CategoryDialog(props) {\r\n const [showCategories, setShowCategories] = useState(false)\r\n const [selectedCategories, setSelectedCategories] = useState([])\r\n const [categoryList, setCategoryList] = useState([]) \r\n const params = useRoute()\r\n\r\n useEffect(() => {\r\n const universe = params.params?.universe\r\n getCategories(universe).then(setCategoryList)\r\n }, [])\r\n\r\n useEffect(() => {\r\n setSelectedCategories(props.selectedCategories)\r\n }, [props.selectedCategories])\r\n\r\n const toggleCategories = () => {\r\n setShowCategories((prevState) => !prevState)\r\n }\r\n\r\n const addOrRemoveCategory = (categoryId) => {\r\n const category = selectedCategories.find((id) => id === categoryId)\r\n if (category !== undefined) {\r\n const categoriesLeft = selectedCategories.filter((id) => {\r\n return id !== categoryId\r\n })\r\n setSelectedCategories(categoriesLeft)\r\n } else {\r\n setSelectedCategories((prev) => [...prev, categoryId])\r\n }\r\n }\r\n\r\n const submitCategories = () => {\r\n props.setCategories(selectedCategories)\r\n setShowCategories(false)\r\n }\r\n\r\n const getSelectedStyle = (categoryId) => {\r\n const category = selectedCategories.find((id) => id === categoryId)\r\n if (category !== undefined) {\r\n return { opacity: 1 }\r\n }\r\n }\r\n\r\n const renderInputButton = () => {\r\n if (props.normalInput) {\r\n return (\r\n \r\n {selectedCategories.length > 0 ? (\r\n {`${selectedCategories.length} ${txt(\r\n 'activities.categories'\r\n )}`}\r\n ) : (\r\n {txt('activities.categories')}\r\n )}\r\n \r\n )\r\n }\r\n return (\r\n \r\n \r\n {txt('activities.categories')}\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n {renderInputButton()}\r\n \r\n \r\n {txt('activities.categories')}\r\n \r\n {txt('activities.selectCategories')}\r\n\r\n \r\n setSelectedCategories([])}>\r\n \r\n {txt('activities.reset')}\r\n \r\n \r\n \r\n \r\n \r\n {categoryList.map((item) => (\r\n addOrRemoveCategory(item.id)} style={styles.category}>\r\n \r\n \r\n {item.name}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n category: {\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginBottom: 12,\r\n width: Layout.isSmallDevice ? 74 : 140,\r\n },\r\n categoryButton: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'center',\r\n marginHorizontal: 8,\r\n },\r\n categoryContainer: {\r\n alignItems: 'flex-start',\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n justifyContent: 'center',\r\n marginTop: 24,\r\n paddingHorizontal: 12,\r\n },\r\n dialog: {\r\n maxWidth: Layout.isSmallDevice ? 400 : 600,\r\n paddingBottom: 24,\r\n },\r\n image: {\r\n borderRadius: 35,\r\n height: 50,\r\n opacity: 0.25,\r\n width: 50,\r\n },\r\n input: {\r\n borderRadius: 10,\r\n height: 40,\r\n justifyContent: 'center',\r\n paddingLeft: 12,\r\n ...TypographyStyles.text,\r\n backgroundColor: Colors.white,\r\n borderColor: Colors.transparent,\r\n color: Colors.text,\r\n ...ShadowStyles.shadowInputs,\r\n },\r\n resetButton: {\r\n left: 18,\r\n position: 'absolute',\r\n top: 18,\r\n zIndex: 10,\r\n },\r\n})\r\n","import React, { useState, useEffect, useRef } from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport DatePicker from '../dates/DatePicker'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { ButtonPrimary, ButtonSecondary } from '../buttons/StyledButtons'\r\nimport { txt } from '../../locales/i18n'\r\nimport Colors from '../../constants/Colors'\r\nimport Layout from '../../constants/Layout'\r\nimport moment from 'moment'\r\nimport LoadingSpinner from '../activityIndicators/LoadingSpinner'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport { ShadowStyles } from '../../styles'\r\nimport CustomDialog, { ContentContainer } from '../dialogs/CustomDialog'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport default function RecurringDateForm(props) {\r\n const [dates, setDates] = useState()\r\n const [startDate, setStartDate] = useState(new Date())\r\n const [endDate, setEndDate] = useState(new Date())\r\n const [startTime, setStartTime] = useState(new Date())\r\n const [endTime, setEndTime] = useState(new Date())\r\n const [maximumDate, setMaximumDate] = useState()\r\n const [errorMsg, setErrorMsg] = useState('')\r\n const [showRemoveDialog, setShowRemoveDialog] = useState(false)\r\n const [showCreatedDates, setShowCreatedDates] = useState(props.editing)\r\n const [loading, setLoading] = useState(true)\r\n const selectedDate = useRef()\r\n\r\n const [days, setDays] = useState({\r\n mon: { value: 1, selected: false },\r\n tue: { value: 2, selected: false },\r\n wed: { value: 3, selected: false },\r\n thu: { value: 4, selected: false },\r\n fri: { value: 5, selected: false },\r\n sat: { value: 6, selected: false },\r\n sun: { value: 0, selected: false },\r\n })\r\n\r\n useEffect(() => {\r\n const date = new Date()\r\n date.setYear(date.getFullYear() + 6)\r\n setMaximumDate(date)\r\n moment.locale([txt('activities.locale')])\r\n setStartDate(props.date.start)\r\n setStartTime(roundUpTime(props.date.start))\r\n setEndTime(roundUpTime(props.date.end))\r\n setEndDate(new Date(props.dates[props.dates.length - 1].end))\r\n if (props.editing) {\r\n setDates(props.dates)\r\n setSelectedDays()\r\n } else {\r\n setDates([])\r\n }\r\n setLoading(false)\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (props.isVisible && dates?.length > 0) props.setDates(dates)\r\n }, [props.isVisible, dates])\r\n\r\n function setSelectedDays() {\r\n const weekdays = props.dates.map((date) => new Date(date.start).getDay())\r\n const selectedDays = Object.entries(days).reduce((acc, [key, _]) => {\r\n acc[key].selected = weekdays.includes(_.value)\r\n return acc\r\n }, days)\r\n setDays(selectedDays)\r\n }\r\n\r\n const roundUpTime = (date) => {\r\n if (props.editing) return date\r\n const coeff = 1000 * 60 * 5\r\n const roundedDate = Math.ceil(date / coeff) * coeff\r\n return new Date(roundedDate)\r\n }\r\n\r\n const handleStartDateChange = (date) => {\r\n if (isSameDay(date)) {\r\n setStartDate(new Date())\r\n setStartTime(roundUpTime(new Date()))\r\n setEndTime(roundUpTime(new Date()))\r\n } else {\r\n const newDate = new Date(date)\r\n newDate.setHours(0, 0)\r\n setStartDate(newDate)\r\n }\r\n }\r\n\r\n const handleStartTimeChange = (date) => {\r\n setStartTime(date)\r\n if (endTime < date) {\r\n setEndTime(date)\r\n }\r\n }\r\n\r\n const handleEndDateChange = (date) => {\r\n setEndDate(date)\r\n }\r\n\r\n const handleEndTimeChange = (date) => {\r\n setEndTime(date)\r\n }\r\n\r\n const isSameDay = (date) => {\r\n const newDate = new Date()\r\n return (\r\n newDate.getDate() === new Date(date).getDate() &&\r\n newDate.getMonth() === new Date(date).getMonth() &&\r\n newDate.getFullYear() === new Date(date).getFullYear()\r\n )\r\n }\r\n\r\n const updateDay = (key) => {\r\n setDays((previous) => {\r\n const previousDays = { ...previous }\r\n previousDays[key].selected = !previousDays[key].selected\r\n return previousDays\r\n })\r\n }\r\n\r\n async function validateInputs() {\r\n const hasSelectedDays = Object.entries(days).some(([_, day]) => day.selected)\r\n if (startTime.getHours() === endTime.getHours() && startTime.getMinutes() === endTime.getMinutes()) {\r\n setErrorMsg(txt('activities.create.recurringForm.timesAreEqual'))\r\n return false\r\n }\r\n if (!hasSelectedDays) {\r\n setErrorMsg(txt('activities.create.recurringForm.noDaysSelected'))\r\n return false\r\n }\r\n setErrorMsg('')\r\n return true\r\n }\r\n\r\n async function createDates() {\r\n const createdDates = []\r\n const isValid = await validateInputs()\r\n if (!isValid) return\r\n\r\n const selectedDays = Object.values(days).reduce((acc, target) => {\r\n if (target.selected) acc.push(target.value)\r\n return acc\r\n }, [])\r\n\r\n for (const target = new Date(startDate); target <= endDate; target.setDate(target.getDate() + 1)) {\r\n if (selectedDays.includes(target.getDay())) {\r\n const start = new Date(target)\r\n start.setHours(startTime.getHours(), startTime.getMinutes(), 0)\r\n\r\n const end = new Date(target)\r\n end.setHours(endTime.getHours(), endTime.getMinutes(), 0)\r\n createdDates.push({ start, end })\r\n }\r\n }\r\n if (createdDates.length === 0) {\r\n setErrorMsg(txt('activities.create.recurringForm.noDatesCreated'))\r\n return\r\n }\r\n setErrorMsg('')\r\n\r\n props.setDates(createdDates)\r\n setDates(createdDates)\r\n }\r\n\r\n function removeDate() {\r\n const filteredDates = dates.filter((date, i) => i !== selectedDate.current)\r\n if (filteredDates.length === 0) {\r\n props.setDates([{ start: new Date(), end: new Date() }])\r\n } else {\r\n props.setDates(filteredDates)\r\n }\r\n setDates(filteredDates)\r\n setShowRemoveDialog(false)\r\n }\r\n\r\n function renderDaySelector() {\r\n return Object.entries(days).map(([key, value]) => (\r\n updateDay(key)}\r\n >\r\n \r\n {txt(`activities.create.recurringForm.weekdays.${key}`)}\r\n \r\n \r\n ))\r\n }\r\n\r\n function getDateString(date) {\r\n return `${formatDate(date.start, false)} - ${formatDate(date.end, true)}`\r\n }\r\n\r\n function formatDate(date, isEndDate) {\r\n if (isEndDate) return moment(new Date(date)).format('LT')\r\n return moment(new Date(date)).format('llll')\r\n }\r\n\r\n function renderDates() {\r\n return dates.map((date, index) => {\r\n const dateItem = getDateString(date)\r\n return (\r\n \r\n {dateItem}\r\n toggleShowRemoveDialog(index)}>\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n\r\n function toggleShowRemoveDialog(index) {\r\n selectedDate.current = index\r\n setShowRemoveDialog((prev) => !prev)\r\n }\r\n\r\n function toggleShowCreatedDates() {\r\n setShowCreatedDates((prev) => !prev)\r\n }\r\n\r\n function getRecurringText() {\r\n let text = txt('activities.create.recurringForm.recurring')\r\n let selectedDays = 0\r\n let index = 0\r\n Object.entries(days).forEach(([key, value]) => {\r\n if (value.selected) {\r\n selectedDays += 1\r\n if (index > 0) text += ','\r\n text += ` ${txt(`activities.create.recurringForm.weekdays.${key.toString()}`)}`\r\n index += 1\r\n }\r\n })\r\n if (selectedDays === 0) return txt('activities.create.recurringForm.selectDays')\r\n const lastIndex = text.lastIndexOf(', ')\r\n if (selectedDays >= 2) {\r\n return text.substr(0, lastIndex) + ` ${txt('activities.create.recurringForm.and')}` + text.substr(lastIndex + 1)\r\n }\r\n return text\r\n }\r\n\r\n function getDatesString() {\r\n if (showCreatedDates) {\r\n if (dates.length === 1) return txt('activities.create.hideDate')\r\n return txt('activities.create.hideDates', { dates: dates.length })\r\n } else {\r\n if (dates.length === 1) return txt('activities.create.showDate')\r\n return txt('activities.create.showDates', { dates: dates.length })\r\n }\r\n }\r\n\r\n if (loading) {\r\n return \r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {txt('activities.create.startDate')}\r\n \r\n \r\n \r\n \r\n \r\n {txt('activities.create.recurringForm.startTime')}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {txt('activities.create.recurringForm.endTime')}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {getRecurringText()}\r\n \r\n {renderDaySelector()}\r\n \r\n\r\n \r\n \r\n {txt('activities.create.endDate')}\r\n \r\n \r\n \r\n\r\n {!!errorMsg && (\r\n \r\n {errorMsg}\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n {dates.length > 0 && (\r\n \r\n {getDatesString()}\r\n \r\n \r\n )}\r\n {showCreatedDates && {renderDates()}}\r\n \r\n \r\n {txt('activities.create.recurringForm.removeDialog')}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n dateListItem: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n marginTop: 12,\r\n backgroundColor: Colors.white,\r\n borderRadius: 12,\r\n ...ShadowStyles.shadowInputs,\r\n },\r\n daySelector: {\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n justifyContent: 'center',\r\n },\r\n selectorDay: {\r\n alignItems: 'center',\r\n borderRadius: 12,\r\n padding: 8,\r\n paddingHorizontal: 18,\r\n margin: 6,\r\n },\r\n elementContainer: {\r\n marginHorizontal: 10,\r\n marginTop: 12,\r\n },\r\n errorMsg: {\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginTop: 12,\r\n },\r\n title: {\r\n marginBottom: 6,\r\n },\r\n removeDateBtn: {\r\n backgroundColor: Colors.redLight,\r\n width: '100%',\r\n marginTop: 24,\r\n },\r\n cancelRemoveBtn: { width: '100%', marginTop: 12 },\r\n showDatesBtn: {\r\n flexDirection: 'row',\r\n marginVertical: 12,\r\n marginHorizontal: 12,\r\n },\r\n})\r\n","import React, { useState, useEffect, useRef } from 'react'\r\nimport { View, ScrollView, Platform, StyleSheet } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { ButtonPrimary, ButtonSecondary } from '../../buttons/StyledButtons'\r\nimport { CustomInputs, CustomMultilineInputs } from '../../text/StyledTextinputs'\r\nimport ImagePicker from '../../ImagePicker/ImagePicker'\r\nimport { ShadowStyles, SpacingStyles, TypographyStyles } from '../../../styles'\r\nimport { UploadImage } from '../../../services/api/UploadImage'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { Picker } from '@react-native-picker/picker'\r\nimport Colors from '../../../constants/Colors'\r\nimport Layout from '../../../constants/Layout'\r\nimport DatePicker from '../../dates/DatePicker'\r\nimport CategoryDialog from '../../dialogs/CategoryDialog'\r\nimport * as AddressService from '../../../services/api/Addresses'\r\nimport RecurringDateForm from '../../formElements/RecurringDateForm'\r\nimport { useSelector } from 'react-redux'\r\nimport { deleteActivity, getFullActivity, updateActivity } from '../../../services/api/Activities'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport CustomDialog, { ContentContainer } from '../../dialogs/CustomDialog'\r\nimport LoadingSpinner from '../../activityIndicators/LoadingSpinner'\r\nimport store from '../../../redux/store'\r\nimport Paths from '../../../constants/Paths'\r\nimport { getMunicipality, municipalities } from '../../../constants/Municipalities'\r\nimport imageBobl from '../../../assets/images/bobl.png'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport ModalSelectorCustom from \"../../modalSelectors/ModalSelectorCustom\"\r\n\r\nexport default function CreateActivity(props) {\r\n const user = useSelector((state) => state.user)\r\n const [activity, setActivity] = useState({\r\n title: '',\r\n body: '',\r\n organizer: '',\r\n location: '',\r\n address: '',\r\n ticket_price: '',\r\n url: '',\r\n img_id: null,\r\n image: {},\r\n municipality_id: user.municipality_id || 0,\r\n municipality_name: '',\r\n city: '',\r\n postal_code: null,\r\n categories: [],\r\n latlng: null,\r\n })\r\n const [dates, setDates] = useState([{ start: roundUpDate(new Date()), end: roundUpDate(new Date()) }])\r\n const [suggestions, setSuggestions] = useState([])\r\n const [showRecurringForm, setShowRecurringForm] = useState(false)\r\n const [showDeleteDialog, setShowDeleteDialog] = useState(false)\r\n const [image, setImage] = useState(null)\r\n const [loading, setLoading] = useState({\r\n save: false,\r\n delete: false,\r\n })\r\n const [isMounting, setIsMounting] = useState(true)\r\n const [errors, setErrors] = useState({\r\n postNotCreated: false,\r\n titleTooShort: false,\r\n descriptionTooShort: false,\r\n noCategories: false,\r\n showDateError: false,\r\n showErrorSnackbar: false,\r\n showAddressError: false,\r\n showPostalCodeError: false,\r\n })\r\n const municipalityId = store.getState().user.municipality_id\r\n const navigation = useNavigation()\r\n const timeout = useRef(null)\r\n const SUGGESTIONS_PER_PAGE = 4\r\n\r\n useEffect(() => {\r\n async function setMunicipalityList() {\r\n const municipality = getMunicipality(municipalityId)\r\n _setActivity({ municipality_name: municipality.name })\r\n if (!props.id) setIsMounting(false)\r\n }\r\n setMunicipalityList()\r\n }, [])\r\n\r\n useEffect(() => {\r\n loadActivity()\r\n }, [props.id])\r\n\r\n async function loadActivity() {\r\n const activity = await getFullActivity(props.id)\r\n if (activity) {\r\n activity.latlng = { lat: activity.lat, lng: activity.lng }\r\n setDates(activity.dates)\r\n setActivity(activity)\r\n if (activity.dates.length > 1) setShowRecurringForm(true)\r\n }\r\n setIsMounting(false)\r\n }\r\n\r\n function _setActivity(property) {\r\n setActivity((prev) => ({ ...prev, ...property }))\r\n }\r\n\r\n function _setErrors(error) {\r\n setErrors((prev) => ({ ...prev, ...error }))\r\n }\r\n\r\n function roundUpDate(date) {\r\n if (props.id) return date\r\n const coeff = 1000 * 60 * 5\r\n const roundedDate = Math.ceil(date / coeff) * coeff\r\n return new Date(roundedDate)\r\n }\r\n\r\n function uploadImg() {\r\n if (image) {\r\n return UploadImage(image, 0, 'Activities').catch((err) => {\r\n if (__DEV__) console.log('IMAGE UPLOAD FAIL ', err)\r\n })\r\n }\r\n }\r\n\r\n\r\n async function validateAddress() {\r\n const { address, postal_code } = activity\r\n if (address.length > 0) {\r\n if (!postal_code) {\r\n _setErrors({ showPostalCodeError: true })\r\n return false\r\n } else _setErrors({ showPostalCodeError: false })\r\n const data = await AddressService.getAddress(address, postal_code)\r\n if (data) {\r\n _setErrors({ showAddressError: false })\r\n return true\r\n }\r\n return false\r\n } else {\r\n _setActivity({ latlng: { lat: null, lng: null } })\r\n _setErrors({ showAddressError: false, showPostalCodeError: false })\r\n return true\r\n }\r\n }\r\n\r\n async function createActivityFull() {\r\n setLoading({ save: true, delete: false })\r\n const isDateValid = await validateDate()\r\n const isActivityValid = await validateActivity()\r\n const isAddressValid = await validateAddress()\r\n if (isDateValid && isActivityValid && isAddressValid) {\r\n const img_id = await uploadImg()\r\n const data = {\r\n id: Number(props.id),\r\n title: activity.title,\r\n body: activity.body,\r\n organizer: activity.organizer,\r\n location: activity.location,\r\n address: activity.address,\r\n ticket_price: activity.ticket_price === '' ? 0 : activity.ticket_price,\r\n url: checkURL(),\r\n dates: dates,\r\n municipality_id: parseInt(activity.municipality_id, 10),\r\n img_id: img_id || activity.img_id,\r\n city: activity.city,\r\n postal_code: activity.postal_code === '' ? null : activity.postal_code,\r\n categories: activity.categories,\r\n lat: activity.latlng?.lat,\r\n lng: activity.latlng?.lng,\r\n universeId: props.universeId,\r\n }\r\n const activityCreated = props.id ? await updateActivity(data) : await props.createActivity(data)\r\n setLoading({ save: false, delete: false })\r\n if (activityCreated) {\r\n props.navigateToMyActivities()\r\n }\r\n } else {\r\n setLoading({ save: false, delete: false })\r\n }\r\n }\r\n\r\n async function removeActivity() {\r\n setLoading({ save: false, delete: true })\r\n toggleDeleteDialog()\r\n const success = await deleteActivity(activity.id, props?.universeId)\r\n setLoading({ save: false, delete: false })\r\n if (success) {\r\n navigation.navigate('Activities')\r\n }\r\n }\r\n\r\n async function validateDate() {\r\n if (dates.length === 0) {\r\n _setErrors({ showDateError: true })\r\n return false\r\n }\r\n const date = dates[0]\r\n\r\n if (date.start < new Date() || date.start >= date.end) {\r\n _setErrors({ showDateError: true })\r\n return false\r\n }\r\n _setErrors({ showDateError: false })\r\n return true\r\n }\r\n\r\n async function validateActivity() {\r\n const { title, body, categories } = activity\r\n if (title.length === 0) {\r\n _setErrors({ titleTooShort: true })\r\n } else {\r\n _setErrors({ titleTooShort: false })\r\n }\r\n if (body.length === 0) {\r\n _setErrors({ descriptionTooShort: true })\r\n } else {\r\n _setErrors({ descriptionTooShort: false })\r\n }\r\n if (categories.length === 0) {\r\n _setErrors({ noCategories: true })\r\n } else {\r\n _setErrors({ noCategories: false })\r\n }\r\n return title.length > 0 && body.length > 0 && categories.length > 0\r\n }\r\n\r\n function getMaximumDate() {\r\n const date = new Date()\r\n date.setYear(date.getFullYear() + 6)\r\n return date\r\n }\r\n\r\n function handleStartDateChange(date, isTime) {\r\n const startDate = dates[0]\r\n if (isTime) {\r\n const newDate = new Date(startDate.start)\r\n newDate.setHours(date.getHours(), date.getMinutes())\r\n startDate.start = newDate\r\n setDates([startDate])\r\n return\r\n }\r\n startDate.start = date\r\n setDates([startDate])\r\n }\r\n\r\n function handleEndDateChange(date, isTime) {\r\n const endDate = dates[0]\r\n if (isTime) {\r\n const newDate = new Date(endDate.end)\r\n newDate.setHours(date.getHours(), date.getMinutes())\r\n endDate.end = newDate\r\n setDates([endDate])\r\n return\r\n }\r\n endDate.end = date\r\n setDates([endDate])\r\n }\r\n\r\n function pickMunicipality() {\r\n\r\n return (\r\n data.id?.toString()}\r\n labelExtractor={(data) => data.name}\r\n key={(data) => data.id}\r\n initValue={activity.municipality_name || txt('signupField.municipalityPlaceholder')}\r\n style={{ ...ShadowStyles.shadowInputs,}}\r\n onChange={(value) => _setActivity({ municipality_id: value.id })}\r\n />\r\n )\r\n }\r\n\r\n function checkURL() {\r\n if (activity.url.startsWith('http') || activity.url === '') {\r\n return activity.url\r\n } else {\r\n return 'http://' + activity.url\r\n }\r\n }\r\n\r\n function showDateForm() {\r\n setShowRecurringForm(true)\r\n _setErrors({ showDateError: false })\r\n }\r\n\r\n function hideDateForm() {\r\n setShowRecurringForm(false)\r\n _setErrors({ showDateError: false })\r\n if (activity) {\r\n setDates([\r\n {\r\n start: roundUpDate(new Date(dates[0].start)),\r\n end: roundUpDate(new Date(dates[0].end)),\r\n },\r\n ])\r\n } else {\r\n setDates([{ start: roundUpDate(new Date()), end: roundUpDate(new Date()) }])\r\n }\r\n }\r\n\r\n function toggleDeleteDialog() {\r\n setShowDeleteDialog((prev) => !prev)\r\n }\r\n\r\n async function handleAddressChange(value) {\r\n clearTimeout(timeout.current)\r\n _setActivity({ address: value })\r\n timeout.current = setTimeout(async () => {\r\n const suggestions = await AddressService.getSuggestions(value)\r\n if (suggestions.length === 0 && value) {\r\n _setErrors({ showAddressError: true })\r\n } else {\r\n _setErrors({ showAddressError: false })\r\n }\r\n setSuggestions(suggestions)\r\n }, 800)\r\n }\r\n\r\n async function handleSuggestionClick(suggestion) {\r\n const address = suggestion.tekst.split(',')[0]\r\n const otherInfo = suggestion.adgangsadresse\r\n const data = await AddressService.getAddress(address, otherInfo.postnr)\r\n const latlng = data.adgangsadresse.adgangspunkt.koordinater\r\n _setActivity({})\r\n _setActivity({\r\n address: address,\r\n postal_code: otherInfo.postnr,\r\n city: otherInfo.postnrnavn,\r\n latlng: { lat: latlng[1], lng: latlng[0] },\r\n })\r\n setSuggestions([])\r\n }\r\n\r\n function renderSuggestions() {\r\n return (\r\n \r\n {suggestions.map((suggestion, index) => {\r\n const borderWidth = index !== suggestions.length - 1 ? 1 : 0\r\n return (\r\n handleSuggestionClick(suggestion)}\r\n >\r\n {suggestion.tekst}\r\n \r\n )\r\n })}\r\n \r\n )\r\n }\r\n\r\n function handlePriceChange(price) {\r\n price = price.replace(/[^0-9]/g, '')\r\n _setActivity({ ticket_price: price })\r\n }\r\n\r\n async function handlePostalCodeChange(postalCode) {\r\n postalCode = postalCode.replace(/[^0-9]/g, '')\r\n if (postalCode.length === 4) {\r\n const city = await AddressService.getCityFromPostalCode(postalCode)\r\n _setActivity({ city })\r\n }\r\n _setActivity({\r\n postal_code: postalCode,\r\n })\r\n }\r\n\r\n function getStartDate() {\r\n if (dates.length > 0) {\r\n return {\r\n start: new Date(dates[0].start),\r\n end: new Date(dates[0].end),\r\n }\r\n }\r\n return { start: new Date(), end: new Date() }\r\n }\r\n\r\n if (isMounting) {\r\n return \r\n }\r\n\r\n return (\r\n \r\n {props.renderChips?.()}\r\n \r\n \r\n _setActivity({ img_filename: null, img_id: null })}\r\n placeholder={imageBobl}\r\n />\r\n \r\n\r\n \r\n {\r\n _setActivity({\r\n title: value,\r\n })\r\n }}\r\n />\r\n {errors.titleTooShort && (\r\n {txt('activities.create.titleTooShort')}\r\n )}\r\n \r\n \r\n {\r\n _setActivity({\r\n body: value,\r\n })\r\n }}\r\n />\r\n {errors.descriptionTooShort && (\r\n {txt('activities.create.descriptionTooShort')}\r\n )}\r\n \r\n \r\n {\r\n _setActivity({\r\n organizer: value,\r\n })\r\n }}\r\n />\r\n \r\n \r\n {\r\n _setActivity({\r\n location: value,\r\n })\r\n }}\r\n />\r\n \r\n \r\n \r\n {errors.showAddressError && (\r\n \r\n {txt('activities.create.invalidAddress')}\r\n \r\n )}\r\n {suggestions.length > 0 && activity.address !== '' && renderSuggestions()}\r\n \r\n\r\n \r\n \r\n \r\n {errors.showPostalCodeError && (\r\n \r\n {txt('activities.create.postalCodeRequired')}\r\n \r\n )}\r\n \r\n \r\n {\r\n _setActivity({\r\n city: value,\r\n })\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n _setActivity({ url: text })\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {txt('activities.create.startDate')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('activities.create.endDate')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.showDateError && (\r\n {txt('activities.create.dateError')}\r\n )}\r\n \r\n \r\n \r\n {pickMunicipality()}\r\n \r\n \r\n \r\n \r\n _setActivity({ categories })}\r\n />\r\n \r\n {errors.noCategories && (\r\n \r\n {txt('activities.create.noCategories')}\r\n \r\n )}\r\n {(errors.titleTooShort || errors.descriptionTooShort || errors.showDateError || errors.showAddressError) && (\r\n \r\n {txt('invalidNotice.invalidBooking')}\r\n \r\n )}\r\n \r\n {activity?.id && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {txt('activities.edit.deleteText')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n actionButtons: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginVertical: 16,\r\n },\r\n container: {\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n dateButtonsContainer: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n justifyContent: 'space-evenly',\r\n },\r\n datepickerContainer: {\r\n flexDirection: Layout.isSmallDevice ? 'column' : 'row',\r\n justifyContent: 'space-evenly',\r\n margin: 10,\r\n },\r\n errorMessage: {\r\n color: Colors.errorBackground,\r\n marginVertical: 4,\r\n },\r\n inputRow: {\r\n flex: 1,\r\n flexDirection: 'row',\r\n marginHorizontal: 5,\r\n zIndex: -1,\r\n },\r\n marginInput: {\r\n ...SpacingStyles.marginRightLeft10,\r\n marginBottom: 15,\r\n },\r\n marginInputSplit: {\r\n flex: 1,\r\n marginBottom: 15,\r\n marginHorizontal: 5,\r\n },\r\n marginLeftRight: { margin: 10 },\r\n pickDateContainer: {\r\n alignItems: 'center',\r\n flex: 1,\r\n marginBottom: 10,\r\n marginTop: 5,\r\n },\r\n picker: {\r\n backgroundColor: Colors.white,\r\n padding: Platform.OS === 'android' ? 0 : 10,\r\n borderRadius: 12,\r\n marginTop: 6,\r\n ...ShadowStyles.shadowInputs,\r\n },\r\n suggestion: {\r\n borderBottomColor: Colors.blackTransparent,\r\n padding: 10,\r\n },\r\n suggestionsContainer: {\r\n ...ShadowStyles.shadowInputs,\r\n backgroundColor: Colors.white,\r\n borderRadius: 12,\r\n position: 'absolute',\r\n top: 48,\r\n width: '100%',\r\n zIndex: 1,\r\n },\r\n imagePickerContainer: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: 12,\r\n },\r\n textCenter: { textAlign: 'center' },\r\n removeActivityBtn: {\r\n backgroundColor: Colors.redLight,\r\n width: '100%',\r\n marginTop: 24,\r\n },\r\n cancelRemoveBtn: { width: '100%', marginTop: 12 },\r\n})\r\n","import React from 'react'\r\nimport CreateActivity from '../../components/views/Activities/CreateActivity'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { txt } from '../../locales/i18n'\r\n\r\nexport default function EditActivityScreen(props) {\r\n function navigateToMyActivities() {\r\n props.navigation.navigate('Activities', {\r\n chip: txt('activities.chipParams.mine'),\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n","import React, { useEffect, useRef, useState } from 'react'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\nimport { TypographyStyles } from '../../styles'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { PhoneNumberInput } from './PhoneNumberInput'\r\nimport { useSelector } from 'react-redux'\r\nimport { updateUser } from '../../services/api/User'\r\n\r\nexport default function PhoneInputForm(props) {\r\n\r\n const user = useSelector(state => state.user)\r\n const [phone, setPhone] = useState(`${user.phone ?? ''}`)\r\n const [callCode, setCallCode] = useState(user.phone_prefix)\r\n const [success, setSuccess] = useState(false)\r\n const [loading, setLoading] = useState(false)\r\n const [error, setError] = useState(false)\r\n const [invalidPhone, setInvalidPhone] = useState(false)\r\n const phoneInputRef = useRef(null)\r\n\r\n useEffect(() => {\r\n setInvalidPhone(!phoneInputRef.current.isValid())\r\n }, [phone, callCode])\r\n\r\n async function submit() {\r\n setLoading(true)\r\n const success = await updateUser({\r\n phone: phone,\r\n phone_prefix: callCode,\r\n })\r\n setLoading(false)\r\n if (success) {\r\n setSuccess(true)\r\n setTimeout(() => {\r\n setSuccess(false)\r\n }, 1500)\r\n } else {\r\n setError(true)\r\n }\r\n }\r\n\r\n function handlePhoneChange(phone) {\r\n setError(false)\r\n setPhone(phone)\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {txt('videoChat.phone')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n buttonContainer: { flexGrow: 1 },\r\n inputContainer: { flexGrow: 1 },\r\n margin: { marginLeft: 10, marginRight: 10, marginTop: 5 },\r\n margin5: { marginBottom: 5, marginTop: 5 },\r\n marginLeft: { marginLeft: 10 },\r\n postContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n },\r\n textSmall: {\r\n ...TypographyStyles.textSmall,\r\n color: Colors.text,\r\n textAlign: 'center',\r\n },\r\n})\r\n","import { apiGet, apiPost } from './ApiRequest'\r\n\r\nexport const surveyIds = {\r\n sproglandVolunteer: 'sproglandVolunteer',\r\n sproglandUser: 'sproglandUser',\r\n snaksammenVolunteer: 'snaksammenVolunteer',\r\n snaksammenUser: 'snaksammenUser',\r\n}\r\n\r\nexport async function logSurveyPrompt(participated, surveyId) {\r\n const body = {\r\n participated: participated ? 1 : 0,\r\n surveyId: surveyId,\r\n }\r\n const res = await apiPost(body, 'surveyPrompts/')\r\n return res.json()\r\n}\r\n\r\nexport async function getLatestSurveyPrompt(surveyId) {\r\n const res = await apiGet(`surveyPrompts/?surveyId=${surveyId}`)\r\n return res?.[0] || false\r\n}\r\n\r\nexport async function getPreviousSLSurvey() {\r\n return await apiGet(`surveyPrompts/sl`)\r\n}\r\n\r\nexport async function createSLSurvey(body) {\r\n await apiPost(body, 'surveyPrompts/sl')\r\n}\r\n","import React from 'react'\r\nimport { Image, StyleSheet, View } from 'react-native'\r\nimport Colors from '../../constants/Colors'\r\nimport { txt } from '../../locales/i18n'\r\nimport { TypographyStyles } from '../../styles'\r\nimport { URLOpener } from '../../utils/URLOpener'\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport CustomDialog, { ContentContainer } from './CustomDialog'\r\nimport NormalIcon from '../icons/NormalIcon'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { getLatestSurveyPrompt, logSurveyPrompt } from '../../services/api/Surveys'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\n\r\nexport const platforms = {\r\n SnakSammen: 'SnakSammen',\r\n Sprogland: 'Sprogland',\r\n}\r\n\r\nexport default function SurveyPromptDialog({ visible, surveyId, surveyLink, onDismiss, volunteer, platform }) {\r\n let logo\r\n if (platform === platforms.SnakSammen) logo = require('../../assets/images/snaksammen-logo.png')\r\n if (platform === platforms.Sprogland) logo = require('../../assets/images/sprogland_dk.png')\r\n\r\n function close() {\r\n logSurveyPrompt(false, surveyId)\r\n onDismiss()\r\n }\r\n\r\n function submit() {\r\n logSurveyPrompt(true, surveyId)\r\n URLOpener(surveyLink)\r\n onDismiss()\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt(`surveyPrompt.${volunteer ? 'volunteer' : platform + 'User'}.header`, { platform })}\r\n \r\n {txt(`surveyPrompt.${volunteer ? 'volunteer' : platform + 'User'}.body`, { platform })}\r\n\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport async function shouldShowSurveyPrompt(surveyId) {\r\n const lastSurveyPrompt = await getLatestSurveyPrompt(surveyId)\r\n if (!lastSurveyPrompt) return true\r\n const lastTime = Date.parse(lastSurveyPrompt.created)\r\n const DAY = 1000 * 60 * 60 * 24\r\n if (surveyId === 'snaksammenUser') {\r\n return lastTime < Date.now() - DAY\r\n } else {\r\n return lastTime < Date.now() - DAY * 3\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n heading: {\r\n ...TypographyStyles.blogHeader,\r\n marginTop: 24,\r\n marginBottom: 8,\r\n },\r\n dialog: {\r\n maxWidth: 400,\r\n },\r\n imageContainer: {\r\n width: 200,\r\n height: 32,\r\n alignSelf: 'center',\r\n },\r\n headerContainer: {\r\n alignSelf: 'flex-end',\r\n },\r\n})\r\n","import { apiDelete, apiGet, apiPost } from './ApiRequest'\r\nimport { updateUser } from \"./User\"\r\n\r\nconst stopLoadingFunc = (success) => {\r\n //if (__DEV__) console.log(\"No stopLoadingFunc passed, success: \" + success);\r\n}\r\n\r\n// VideoSessionBook\r\nexport async function bookSession(video_session_id) {\r\n const body = { video_session_id }\r\n const response = await apiPost(body, 'videochat/book')\r\n return response.json()\r\n}\r\n\r\n// VideoSessionCancelBooking\r\nexport async function cancelBooking(id) {\r\n const body = { video_session_id: id }\r\n await apiPost(body, 'videochat/cancelBooking')\r\n}\r\n\r\nexport async function createBooking(booking) {\r\n const response = await apiPost(booking, 'videochat/create')\r\n if (response.ok === false) return await response.text()\r\n return await response.json()\r\n}\r\n\r\nexport async function deleteBooking(id) {\r\n await apiPost({ video_session_id: id }, 'videochat/delete')\r\n}\r\n\r\nexport async function getAvailableSessions(start_date, end_date) {\r\n const body = { start_date, end_date }\r\n const response = await apiPost(body, 'videochat/getAvailable')\r\n if (response.ok === false) return []\r\n\r\n const { data: availableSessions } = await response.json()\r\n return availableSessions\r\n}\r\n\r\nexport async function getAvailableDates() {\r\n const response = await apiGet('videochat/getAvailableDates')\r\n return response?.data ?? []\r\n}\r\n\r\nexport async function getBookedSessions() {\r\n const response = await apiGet('videochat/getBooked')\r\n return response.data ?? []\r\n}\r\n\r\nexport async function getOwnBooked() {\r\n const response = await apiGet('videochat/getOwnBooked')\r\n return response?.data ?? []\r\n}\r\n\r\nexport async function getOwnNotBooked() {\r\n const response = await apiGet('videochat/getOwnNotBooked')\r\n return response?.data ?? []\r\n}\r\n\r\nexport async function getAllSessions() {\r\n const response = await apiGet('videochat/getAllSessions')\r\n return response?.data ?? []\r\n}\r\n\r\n// VideoSessionVolunteerHasAccess\r\nexport async function volunteerHasAccess(organization_name, password, stopLoading = stopLoadingFunc) {\r\n if (organization_name == null || password == null) {\r\n if (__DEV__)\r\n console.log('No organization_name or password was passed to check if volunteer has access function, returning.')\r\n stopLoading(false)\r\n return\r\n }\r\n const data = {\r\n organization_name,\r\n password,\r\n }\r\n\r\n return apiPost(data, `videochat/volunteerHasAccess`)\r\n .then((response) => response.json())\r\n .then((responseJson) => {\r\n if (!responseJson.data) {\r\n stopLoading(false)\r\n return\r\n }\r\n\r\n stopLoading(true)\r\n return responseJson.data[0]\r\n })\r\n .catch((error) => {\r\n if (__DEV__) console.error(error)\r\n stopLoading(false)\r\n })\r\n}\r\n\r\nexport async function getPreviousBookedSessions() {\r\n const previousBookedSessions = await apiGet('videochat/previous')\r\n return previousBookedSessions ?? []\r\n}\r\n\r\nexport async function getPreviousBookers(sorting) {\r\n\tconst sortingQueryParam = sorting ? `?sorting=${sorting}` : '';\r\n\r\n\tconst res = await apiGet(`videochat/previousBookers${sortingQueryParam}`);\r\n\tif (!res.data) return;\r\n\treturn res.data;\r\n}\r\n\r\nexport async function getWaitlist() {\r\n let res = await apiGet('videochat/waitlist')\r\n if (!res || res.status === 403) return\r\n return res.data\r\n}\r\n\r\nexport async function addToWaitlist(category = null) {\r\n let res = await apiPost({ category }, 'videochat/waitlist')\r\n return res?.ok\r\n}\r\n\r\nexport async function removeFromWaitlist(userId) {\r\n let res = await apiDelete({ userId }, `videochat/waitlist/${userId}`)\r\n return res?.ok\r\n}\r\n\r\nexport async function getWaitlistUser(userId) {\r\n let res = await apiGet(`videochat/waitlist/${userId}`)\r\n if (!res) return null\r\n return res.data\r\n}\r\n\r\nexport async function waitlistAccess() {\r\n let res = await apiGet('videochat/waitlist/access')\r\n if (!res) return\r\n return res.hasAccess\r\n}\r\n\r\nexport async function getSnakSammenProfile() {\r\n const res = await apiGet('videochat/profile')\r\n if (!res?.data) return null\r\n return res.data\r\n}\r\n\r\nexport async function updateSnakSammenProfile({ description = null, askAgain = null, data = {} }) {\r\n\t// save profile\r\n\tconst body = {}\r\n\tif (description !== null) body.description = description\r\n\tif (askAgain !== null) body.askAgain = askAgain\r\n\r\n\tlet res = await apiPost(body, 'videochat/profile')\r\n\tif (!res.ok) return false\r\n\r\n\t// save user info\r\n\tif (Object.keys(data).length === 0) return\r\n\treturn await updateUser(data)\r\n}\r\n\r\nexport async function getVolunteerProfile(userId) {\r\n const res = await apiGet(`videochat/volunteerProfile/${userId}`)\r\n if (!res?.data) return null\r\n return res.data\r\n}\r\n\r\nexport async function getSessionCounters(userId) {\r\n let res = await apiGet(`videochat/sessionCounters/${userId}`)\r\n if (!res?.data) return null\r\n return res.data\r\n}\r\n\r\nexport async function getSessionsLast30Days() {\r\n let res = await apiGet(`videochat/sessionsLast30Days/`)\r\n if (!res) return\r\n return res?.sessionCount\r\n}\r\n\r\nexport async function reportUser(userId) {\r\n\tconst res = await apiPost({ userId }, 'videochat/reportUser')\r\n\t// TODO: If status is 409 (conflict) the user has already been reported, show it in the UI\r\n\tif (res.status === 200 || res.status === 409) return true\r\n\treturn false\r\n}\r\n","import { URLOpener } from './URLOpener'\r\nimport store from '../redux/store'\r\n\r\nexport default async function startVideoSession(roomKey, vonageSessionId, type) {\r\n const userId = store.getState().user?.id\r\n if (!vonageSessionId) {\r\n if (type === 'snaksammen') return URLOpener('https://video.boblberg.dk/video/room/0/' + roomKey)\r\n else return URLOpener('https://video.boblberg.dk/video/room/1/' + roomKey)\r\n } else return URLOpener(`https://v.boblberg.dk/${type}/${vonageSessionId}/${userId}`)\r\n}\r\n","import CustomDialog, { ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { View } from 'react-native'\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { ButtonPrimary } from '../../../buttons/StyledButtons'\r\nimport React from 'react'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nexport function CancelWithMessageDialog({ visible, onDismiss, sendMessage }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt(`videoChat.cancelMessageTitle`)}\r\n \r\n {txt(`videoChat.cancelMessageText`)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function CannotCancelDialog({ visible, onDismiss, sendMessage }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt(`videoChat.cannotCancelTitle`)}\r\n {txt(`videoChat.cannotCancelText`)}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import moment from \"moment/moment\"\r\nimport { txt } from \"../../../../locales/i18n\"\r\n\r\nexport function formatDate(startDate, endDate) {\r\n\tconst mStart = moment(startDate)\r\n\tconst mEnd = moment(endDate)\r\n\tconst today = moment().startOf('day');\r\n\tconst tomorrow = moment().add(1, 'days').startOf('day');\r\n\r\n\tif (mStart.isSame(today, 'day')) {\r\n\t\treturn `${txt('videoChat.volunteer.create.dateToday') + mStart.format('HH.mm')} - ${mEnd.format('HH:mm')}`;\r\n\t} else if (mStart.isSame(tomorrow, 'day')) {\r\n\t\treturn `${txt('videoChat.volunteer.create.dateTomorrow') + mStart.format('HH:mm')} - ${mEnd.format('HH:mm')}`;\r\n\t} else {\r\n\t\tconst str = `${mStart.format(txt('videoChat.volunteer.create.time'))} - ${mEnd.format('HH:mm')}`\r\n\t\treturn `${str[0].toUpperCase()}${str.slice(1)}`\r\n\t}\r\n}\r\n","import React, { useState } from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport { useNavigation } from '@react-navigation/native'\r\n\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport SurveyPromptDialog, { platforms, shouldShowSurveyPrompt } from '../../dialogs/SurveyPromptDialog'\r\n\r\nimport { getConversationId } from '../../../services/api/Inbox'\r\nimport { cancelBooking, getVolunteerProfile } from '../../../services/api/snakSammen'\r\nimport startVideoSession from '../../../utils/startVideoSession'\r\nimport { surveyIds } from '../../../services/api/Surveys'\r\nimport { txt } from '../../../locales/i18n'\r\n\r\nimport Layout from '../../../constants/Layout'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CancelWithMessageDialog, CannotCancelDialog } from './dialogs/CancelDialogs'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport CustomDialog, { ContentContainer } from \"../../dialogs/CustomDialog\"\r\nimport NormalIcon from \"../../icons/NormalIcon\"\r\nimport { formatDate } from \"./utils/helperFunctions\"\r\n\r\nexport function BookedSessions(props) {\r\n const [showSurveyPrompt, setShowSurveyPrompt] = useState(false)\r\n const [cannotCancelDialogVisible, setCannotCancelDialogVisible] = useState(false)\r\n const [cancelMessageDialogVisible, setCancelMessageDialogVisible] = useState(false)\r\n const [volunteerProfile, setVolunteerProfile] = useState(null)\r\n const [volunteerProfileVisible, setVolunteerProfileVisible] = useState(false)\r\n const [loading, setLoading] = useState(false)\r\n\r\n const navigation = useNavigation()\r\n\r\n async function handlePressVolunteer(userId, username) {\r\n if (userId) {\r\n const profileRes = await getVolunteerProfile(userId)\r\n setVolunteerProfile({ description: profileRes?.description, username })\r\n setVolunteerProfileVisible(true)\r\n }\r\n }\r\n\r\n async function handleSendMessage(receiverId, vsSessionId) {\r\n if (receiverId === undefined || vsSessionId === undefined) return\r\n const conversationId = await getConversationId({ vsSessionId, receiverId })\r\n const params = { id: conversationId ?? 'new' }\r\n\r\n if (conversationId === null) {\r\n params.receiverId = receiverId\r\n params.vsSessionId = vsSessionId\r\n }\r\n\r\n const options = { screen: 'Conversation', initial: false, params }\r\n navigation.navigate('InboxStack', options)\r\n }\r\n\r\n async function handleStartSession(roomKey, vonageSessionId) {\r\n await startVideoSession(roomKey, vonageSessionId, 'snaksammen')\r\n // const showSurveyPrompt = await shouldShowSurveyPrompt(surveyIds.snaksammenUser)\r\n // setShowSurveyPrompt(showSurveyPrompt)\r\n }\r\n\r\n async function handleCancelBooking(session) {\r\n setLoading(true)\r\n const now = new Date()\r\n const startDate = new Date(session.start_date)\r\n const tenMinutesBeforeStartDate = new Date(new Date(session.start_date).setMinutes(startDate.getMinutes() - 10))\r\n\r\n if (now >= startDate && now >= tenMinutesBeforeStartDate) {\r\n setCannotCancelDialogVisible(true)\r\n setLoading(false)\r\n } else if (now < startDate && now > tenMinutesBeforeStartDate) {\r\n setCancelMessageDialogVisible(true)\r\n } else {\r\n await cancelBooking(session.id)\r\n props.handleRefresh()\r\n setLoading(false)\r\n }\r\n }\r\n\r\n async function handleCancel(session) {\r\n setLoading(true)\r\n await cancelBooking(session.id)\r\n props.handleRefresh()\r\n setCancelMessageDialogVisible(false)\r\n setLoading(false)\r\n }\r\n\r\n async function handleSendMessageAndCancel(session) {\r\n await handleCancel(session)\r\n await handleSendMessage(session.volunteer_id, session.id)\r\n }\r\n\r\n async function handleCancelMessage(session) {\r\n setCannotCancelDialogVisible(false)\r\n await handleSendMessage(session.volunteer_id, session.id)\r\n }\r\n\r\n return (\r\n \r\n \r\n {txt('videoChat.bookedSessions')}\r\n {props.bookedSessions.length === 0 && (\r\n {txt('videoChat.noBookedSessions')}\r\n )}\r\n \r\n\r\n {props.bookedSessions.map((session) => {\r\n const formattedDate = formatDate(session.start_date, session.end_date)\r\n return (\r\n \r\n \r\n {formattedDate}\r\n\r\n handlePressVolunteer(session.volunteer_id, session.username)}>\r\n \r\n {txt('videoChat.volunteer.title') + ': '}\r\n {session.username}\r\n \r\n \r\n \r\n\r\n \r\n \r\n handleStartSession(session.room_key, session.vonage_session_id)}\r\n style={[styles.button, {backgroundColor: Colors.redCross.base}]}\r\n titleStyle={[styles.buttonTitle, {color: Colors.white}]}\r\n />\r\n \r\n\r\n \r\n handleSendMessage(session.volunteer_id, session.id)}\r\n style={[styles.button, !Layout.small && { paddingHorizontal: 12 }]}\r\n titleStyle={styles.buttonTitle}\r\n />\r\n \r\n\r\n \r\n handleCancelBooking(session)}\r\n style={styles.button}\r\n titleStyle={styles.buttonTitle}\r\n loading={loading}\r\n />\r\n \r\n \r\n await handleCancel(session)}\r\n sendMessage={() => handleSendMessageAndCancel(session)}\r\n />\r\n setCannotCancelDialogVisible(false)}\r\n sendMessage={() => handleCancelMessage(session)}\r\n />\r\n \r\n )\r\n })}\r\n setShowSurveyPrompt(false)}\r\n />\r\n\r\n setVolunteerProfileVisible(false)}>\r\n setVolunteerProfileVisible(false)} style={styles.iconContainer}>\r\n \r\n \r\n\r\n \r\n \r\n {volunteerProfile?.username}\r\n {volunteerProfile?.description ? (\r\n {volunteerProfile?.description}\r\n ) : (\r\n {txt('videoChat.user.noVolunteerProfile')}\r\n )}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n buttonStartContainer: {\r\n flex: 1,\r\n justifyContent: 'center',\r\n paddingRight: 2,\r\n },\r\n buttonsContainer: {\r\n flexDirection: 'row',\r\n justifyContent: 'flex-end',\r\n marginTop: Layout.small ? 12 : 0\r\n },\r\n container: {\r\n margin: 10,\r\n },\r\n card: {\r\n backgroundColor: Colors.white,\r\n borderRadius: 10,\r\n flexDirection: Layout.small ? 'column' : 'row',\r\n alignItems: Layout.small ? 'flex-start' : 'center',\r\n marginTop: 10,\r\n paddingVertical: Layout.small ? 18 : 12,\r\n paddingHorizontal: Layout.small ? 24 : 18,\r\n },\r\n noSession: {\r\n color: Colors.inactive,\r\n marginTop: 10,\r\n },\r\n button: {\r\n borderRadius: 10,\r\n backgroundColor: Colors.redCross.background,\r\n paddingVertical: 13,\r\n paddingHorizontal: Layout.small ? 24 : 32,\r\n marginLeft: 12,\r\n minWidth: Layout.small ? 75 : 115,\r\n },\r\n buttonTitle: {\r\n color: Colors.redCross.text,\r\n fontSize: 14,\r\n fontFamily: 'gotham-bold'\r\n },\r\n\r\n iconContainer: {\r\n backgroundColor: Colors.greyLightLight,\r\n borderRadius: 12,\r\n padding: 8,\r\n position: 'absolute',\r\n top: 12,\r\n right: 12,\r\n zIndex: 10\r\n }\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport moment from 'moment'\r\nimport { useSelector } from 'react-redux'\r\n\r\nimport { addToWaitlist, bookSession, getAvailableSessions, getVolunteerProfile, getWaitlistUser, waitlistAccess } from '../../../services/api/snakSammen'\r\n\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\n\r\nimport Colors from '../../../constants/Colors'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { formatDate } from \"./utils/helperFunctions\"\r\nimport Layout from \"../../../constants/Layout\"\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport NormalIcon from \"../../icons/NormalIcon\"\r\nimport CustomDialog, { ContentContainer } from \"../../dialogs/CustomDialog\"\r\n\r\n\r\nexport function AvailableSessions({ availableDates, handleRefresh, setErrorMessage }) {\r\n\tconst [sessionDates, setSessionDates] = useState([])\r\n\tconst [sessions, setSessions] = useState([])\r\n\tconst [volunteerProfile, setVolunteerProfile] = useState(null)\r\n\tconst [volunteerProfileVisible, setVolunteerProfileVisible] = useState(false)\r\n\tconst [showWaitlistButton, setShowWaitlistButton] = useState(false)\r\n\tconst [showWaitlistSuccess, setShowWaitlistSuccess] = useState(false)\r\n\r\n\tconst userId = useSelector((state) => state.user.id)\r\n\r\n\tuseEffect(() => {\r\n\t\tmoment.locale([txt('global.locale')])\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tasync function getSessionDates() {\r\n\t\t\tconst sessionDatesTasks = availableDates.map(async (availableDate) => {\r\n\t\t\t\tconst startDate = moment(availableDate.date).valueOf()\r\n\t\t\t\tconst endDate = moment(availableDate.date).add(1, 'days').valueOf()\r\n\t\t\t\tconst dates = await getAvailableSessions(startDate, endDate)\r\n\t\t\t\treturn { ...availableDate, dates }\r\n\t\t\t})\r\n\r\n\t\t\tconst sessionDates = await Promise.all(sessionDatesTasks)\r\n\t\t\tsetSessionDates(sessionDates)\r\n\t\t\tflattenSessionDates(sessionDates);\r\n\t\t}\r\n\r\n\t\tgetSessionDates()\r\n\t}, [availableDates])\r\n\r\n\tuseEffect(() => {\r\n\t\twaitlistButtonVisibility()\r\n\t}, [sessions])\r\n\r\n\tfunction flattenSessionDates(sessionDates) {\r\n\t\tconst allSessions = sessionDates.reduce((acc, session) => {\r\n\t\t\treturn acc.concat(session.dates);\r\n\t\t}, []);\r\n\t\tsetSessions(allSessions);\r\n\t}\r\n\r\n\tasync function handleBookSession(sessionId) {\r\n\t\tconst { bookingErrors } = txt('videoChat')\r\n\r\n\t\tconst ERR_ENUMS = {\r\n\t\t\tLIMIT_REACHED: bookingErrors.limitReached,\r\n\t\t\tMAXIMUM_LIMIT_REACHED: bookingErrors.maximumLimitReached,\r\n\t\t\tSESSION_NOT_FOUND: bookingErrors.SessionNotFound,\r\n\t\t\tSESSION_ALREADY_BOOKED: bookingErrors.alreadyBooked,\r\n\t\t\tOWN_BOOKING: bookingErrors.ownBooking,\r\n\t\t\tDOUBLE_BOOKING: bookingErrors.doubleBook,\r\n\t\t\tDATE_EXPIRED: bookingErrors.dateExpired,\r\n\t\t\tTIMEFRAME_OCCUPIED: bookingErrors.timeframeOccupied,\r\n\t\t\tVOLUNTEER_IS_ALREADY_IN_TIMEFRAME: bookingErrors.volunteerInTimeframe,\r\n\t\t}\r\n\r\n\t\tconst { err_code } = await bookSession(sessionId)\r\n\r\n\t\tif (err_code !== undefined) {\r\n\t\t\tconst errorMessage = ERR_ENUMS[err_code] ?? bookingErrors.unknown\r\n\t\t\treturn setErrorMessage(errorMessage)\r\n\t\t}\r\n\r\n\t\tawait handleRefresh()\r\n\t}\r\n\r\n\tasync function handlePressVolunteer(userId, username) {\r\n\t\tif (userId) {\r\n\t\t\tconst profileRes = await getVolunteerProfile(userId)\r\n\t\t\tsetVolunteerProfile({ description: profileRes?.description, username })\r\n\t\t\tsetVolunteerProfileVisible(true)\r\n\t\t}\r\n\t}\r\n\r\n\tasync function handleAddToWaitlist() {\r\n\t\tconst added = await addToWaitlist()\r\n\t\tif (!added) return setErrorMessage(txt('videoChat.user.getStartedDialog.waitlistError'))\r\n\t\t\r\n\t\tsetShowWaitlistSuccess(true)\r\n\t\tsetShowWaitlistButton(false)\r\n\t}\r\n\t\r\n\tasync function waitlistButtonVisibility() {\r\n\t\tconst hasWaitlistAccess = await waitlistAccess()\r\n\t\tif (!hasWaitlistAccess) return setShowWaitlistButton(false)\r\n\r\n\t\tconst alreadySignedUp = await getWaitlistUser(userId)\r\n\t\tif (alreadySignedUp) return setShowWaitlistButton(false)\r\n\r\n\t\tif (sessions.length > 3) return setShowWaitlistButton(false)\r\n\t\t\r\n\t\tsetShowWaitlistButton(true)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{txt('videoChat.availableSessions')}\r\n\t\t\t\t\r\n\t\t\t\t{sessionDates.length === 0 && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('videoChat.noAvailableSessions')}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\r\n\t\t\t{sessions.map((session, index) => {\r\n\t\t\t\tconst formattedDate = formatDate(session.start_date, session.end_date);\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{formattedDate}\r\n\r\n\t\t\t\t\t\t\t handlePressVolunteer(session.volunteer_id, session.username)}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{txt('videoChat.volunteer.title') + ': '}\r\n\t\t\t\t\t\t\t\t\t{session.username}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t handleBookSession(session.id)}\r\n\t\t\t\t\t\t\tstyle={styles.button}\r\n\t\t\t\t\t\t\ttitleStyle={styles.buttonTitle}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t})}\r\n\r\n\t\t\t{showWaitlistButton && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\r\n\t\t\t setShowWaitlistSuccess(false)}>\r\n\t\t\t\t setShowWaitlistSuccess(false)} style={styles.iconContainer}>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('videoChat.user.waitlist.successTitle')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('videoChat.user.waitlist.successBody')}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t setVolunteerProfileVisible(false)}>\r\n\t\t\t\t setVolunteerProfileVisible(false)} style={styles.iconContainer}>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{volunteerProfile?.username}\r\n\t\t\t\t\t\t{volunteerProfile?.description ? (\r\n\t\t\t\t\t\t\t{volunteerProfile?.description}\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t{txt('videoChat.user.noVolunteerProfile')}\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: {\r\n\t\tmargin: 10,\r\n\t},\r\n\tcard: {\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tborderRadius: 10,\r\n\t\tflexDirection: Layout.small ? 'column' : 'row',\r\n\t\talignItems: Layout.small ? 'flex-start' : 'center',\r\n\t\tmarginTop: 10,\r\n\t\tpaddingVertical: Layout.small ? 18 : 12,\r\n\t\tpaddingHorizontal: Layout.small ? 24 : 18,\r\n\t},\r\n\ttext: {\r\n\t\tcolor: Colors.inactive,\r\n\t\tmarginTop: 10,\r\n\t},\r\n\tnoSession: {\r\n\t\tmarginBottom: 60,\r\n\t},\r\n\tbutton: {\r\n\t\tborderRadius: 10,\r\n\t\tbackgroundColor: Colors.redCross.background,\r\n\t\tpaddingVertical: 13,\r\n\t\tpaddingHorizontal: 32,\r\n\t\tmarginLeft: 12,\r\n\t\tminWidth: 115,\r\n\t\tmarginTop: Layout.small ? 12 : 0,\r\n\t},\r\n\tbuttonTitle: {\r\n\t\tcolor: Colors.redCross.text,\r\n\t\tfontSize: 14,\r\n\t\tfontFamily: 'gotham-bold'\r\n\t},\r\n\ticonContainer: {\r\n\t\tbackgroundColor: Colors.greyLightLight,\r\n\t\tborderRadius: 12,\r\n\t\tpadding: 8,\r\n\t\tposition: 'absolute',\r\n\t\ttop: 12,\r\n\t\tright: 12,\r\n\t\tzIndex: 10\r\n\t},\r\n\twaitlistButton: {\r\n\t\tborderRadius: 10,\r\n\t\tbackgroundColor: Colors.redCross.base,\r\n\t\tpaddingVertical: 13,\r\n\t\tpaddingHorizontal: 32,\r\n\t\tmarginLeft: 12,\r\n\t\tminWidth: 115,\r\n\t\tmarginTop: 24,\r\n\t},\r\n\twaitlistButtonTitle: {\r\n\t\tcolor: Colors.white,\r\n\t\tfontSize: 14,\r\n\t\tfontFamily: 'gotham-bold'\r\n\t},\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport CustomDialog from \"../../../dialogs/CustomDialog\"\r\nimport { CustomText } from \"../../../text/StyledText\"\r\nimport { Linking, Pressable, ScrollView, StyleSheet, View } from \"react-native\"\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\nimport Colors from \"../../../../constants/Colors\"\r\nimport NormalIcon from \"../../../icons/NormalIcon\"\r\nimport { txt } from \"../../../../locales/i18n\"\r\nimport { ButtonSecondary } from \"../../../buttons/StyledButtons\"\r\nimport { addToWaitlist, getWaitlistUser, waitlistAccess } from \"../../../../services/api/snakSammen\"\r\nimport { useSelector } from \"react-redux\"\r\n\r\nexport default function GetStartedDialog({ visible, close }) {\r\n\tconst user = useSelector((state) => state.user)\r\n\r\n\tconst [showWaitlist, setShowWaitlist] = useState(false)\r\n\tconst [errorMessage, setErrorMessage] = useState(null)\r\n\tconst [successMessage, setSuccessMessage] = useState(null)\r\n\r\n\r\n\tuseEffect(() => {\r\n\t\thandleShowWaitlist()\r\n\t}, [])\r\n\r\n\tasync function handleShowWaitlist() {\r\n\t\tconst hasWaitlistAccess = await waitlistAccess()\r\n\t\tif (!hasWaitlistAccess) return setShowWaitlist(false)\r\n\r\n\t\tconst alreadySignedUp = await getWaitlistUser(user.id)\r\n\t\tif (alreadySignedUp) return setShowWaitlist(false)\r\n\t\t\r\n\t\tsetShowWaitlist(true)\r\n\t}\r\n\r\n\tasync function handleWaitlistSignup() {\r\n\t\tconst added = await addToWaitlist()\r\n\t\tif (!added) return setErrorMessage(txt('videoChat.user.getStartedDialog.waitlistError'))\r\n\r\n\t\tsetSuccessMessage(txt('videoChat.user.getStartedDialog.waitlistSuccess'))\r\n\t\tsetTimeout(() => {\r\n\t\t\tclose()\r\n\t\t\tsetSuccessMessage(null)\r\n\t\t\tsetShowWaitlist(false)\r\n\t\t}, 2000)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\t\t{/* Using a pressable as a wrapper for all content to make the dialog scrollable */}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\t{txt('videoChat.user.getStartedDialog.title')}\r\n\t\t\t\t\t{txt('videoChat.user.getStartedDialog.subTitle1')}\r\n\t\t\t\t\t{txt('videoChat.user.getStartedDialog.body1')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('videoChat.user.getStartedDialog.body2')}\r\n\t\t\t\t\t\t Linking.openURL('mailto:support@snaksammen.dk')}>\r\n\t\t\t\t\t\t\t{'support@snaksammen.dk'}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{txt('videoChat.user.getStartedDialog.subTitle2')}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t{txt('videoChat.user.getStartedDialog.body3')}\r\n\t\t\t\t\t\t Linking.openURL('mailto:snaksammen@rodekors.dk')}>\r\n\t\t\t\t\t\t\t{'snaksammen@rodekors.dk'}\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t{txt('videoChat.user.getStartedDialog.body4')}\r\n\t\t\t\t\t\t Linking.openURL('tel:29350521')}>\r\n\t\t\t\t\t\t\t{'29 35 05 21'}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{txt('videoChat.user.getStartedDialog.subTitle5')}\r\n\t\t\t\t\t Linking.openURL('https://boblberg.dk/snaksammen/rammer-for-brug-af-snaksammen')}>\r\n\t\t\t\t\t\t{txt('videoChat.user.getStartedDialog.guidelinesButton')}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{showWaitlist && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{txt('videoChat.user.getStartedDialog.subTitle3')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('videoChat.user.getStartedDialog.body5')}\r\n\r\n\t\t\t\t\t\t\t{successMessage ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{successMessage}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{errorMessage && (\r\n\t\t\t\t\t\t\t\t\t\t{errorMessage}\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tdialog: {\r\n\t\tmaxWidth: 500\r\n\t},\r\n\tcloseIcon: {\r\n\t\tbackgroundColor: Colors.greyLightLight,\r\n\t\tborderRadius: 12,\r\n\t\tpadding: 8,\r\n\t\tposition: 'absolute',\r\n\t\ttop: 12,\r\n\t\tright: 12,\r\n\t\tzIndex: 10\r\n\t},\r\n\tcontentAlignment: {\r\n\t\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t\tflexWrap: 'wrap'\r\n\t},\r\n\tbutton: {\r\n\t\tborderRadius: 3,\r\n\t\tmarginTop: 24,\r\n\t\tborderColor: Colors.grey,\r\n\t\tborderWidth: 1,\r\n\t},\r\n\tbuttonTitle: {\r\n\t\tcolor: Colors.grey,\r\n\t\tpadding: 6,\r\n\t\tfontSize: 14,\r\n\t\tfontFamily: 'gotham-book',\r\n\t}\r\n})","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet, Image } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport { ShadowStyles } from '../../../styles'\r\nimport MainContainer from '../../MainContainer/MainContainer'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport PhoneInputForm from '../../formElements/PhoneInputForm'\r\nimport { BookedSessions } from './BookedSessions'\r\nimport { AvailableSessions } from './AvailableSessions'\r\nimport { getAvailableDates, getBookedSessions } from '../../../services/api/snakSammen'\r\nimport Layout from '../../../constants/Layout'\r\nimport { CustomText } from \"../../text/StyledText\"\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport GetStartedDialog from \"./dialogs/GetStartedDialog\"\r\nimport { txt } from \"../../../locales/i18n\"\r\nimport NormalIcon from \"../../icons/NormalIcon\"\r\nimport { useSelector } from \"react-redux\"\r\nimport CustomDialog, { ContentContainer } from \"../../dialogs/CustomDialog\"\r\nimport { ButtonPrimary } from \"../../buttons/StyledButtons\"\r\n\r\nexport default function SnakSammenOversigt() {\r\n const navigation = useNavigation()\r\n\r\n const [errorMessage, setErrorMessage] = useState(null)\r\n const [getStartedDialogVisible, setGetStartedDialogVisible] = useState(false)\r\n const [availableDates, setAvailableDates] = useState([])\r\n const [bookedSessions, setBookedSessions] = useState([])\r\n const phoneNumber = useSelector((state) => state.user?.phone)\r\n\r\n useEffect(() => {\r\n getAvailableDates().then(setAvailableDates)\r\n getBookedSessions().then(setBookedSessions)\r\n }, [])\r\n\r\n useEffect(() => {\r\n const interval = setInterval(async () => {\r\n await handleRefresh()\r\n }, 60000)\r\n return () => clearInterval(interval)\r\n })\r\n\r\n async function handleRefresh() {\r\n await getBookedSessions().then(setBookedSessions)\r\n await getAvailableDates().then(setAvailableDates)\r\n }\r\n\r\n useEffect(() => {\r\n navigation.setOptions({\r\n title: 'SnakSammen | Boblberg',\r\n headerBackTitle: ' ',\r\n headerStyle: {\r\n height: Layout.isSmallDevice ? 115 : 100,\r\n elevation: 0,\r\n shadowOpacity: 0,\r\n borderBottomWidth: 0,\r\n backgroundColor: Colors.white,\r\n borderBottomColor: Colors.redCross.border,\r\n },\r\n headerTitle: () => (\r\n \r\n ),\r\n headerRight: () => (\r\n setGetStartedDialogVisible(true)}\r\n style={styles.helpButton}\r\n >\r\n \r\n \r\n {Layout.small ? txt('videoChat.user.help') : txt('videoChat.user.getStarted')}\r\n \r\n \r\n ),\r\n\r\n })\r\n }, [])\r\n\r\n return (\r\n \r\n \r\n\r\n {(phoneNumber === 0 || !phoneNumber) && (\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n\r\n \r\n\r\n setGetStartedDialogVisible(false)}\r\n />\r\n\r\n setErrorMessage(null)}>\r\n \r\n {txt('videoChat.bookingErrors.header')}\r\n {errorMessage}\r\n setErrorMessage(null)}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n widthHeight: {\r\n flex: 1,\r\n maxWidth: 1000,\r\n width: '100%',\r\n alignSelf: 'center',\r\n marginBottom: 50\r\n },\r\n helpButton: {\r\n paddingHorizontal: 12,\r\n paddingVertical: 8,\r\n borderRadius: 25,\r\n borderWidth: 1,\r\n borderColor: Colors.redCross.baseSecondary,\r\n backgroundColor: Colors.redCross.baseSecondary,\r\n marginHorizontal: 12,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n alignSelf: 'flex-end',\r\n },\r\n dialogText: {\r\n margin: 10,\r\n textAlign: 'center',\r\n },\r\n dialogButton: {\r\n borderRadius: 10,\r\n backgroundColor: Colors.blueAzure,\r\n marginTop: 12,\r\n paddingHorizontal: 20,\r\n paddingVertical: 10\r\n },\r\n logo: {\r\n width: Layout.small ? 125 : 150,\r\n height: Layout.isSmallDevice ? 40 : 70\r\n },\r\n})\r\n","import React from 'react'\r\nimport {\r\n View,\r\n ScrollView,\r\n StyleSheet,\r\n Dimensions,\r\n Image,\r\n Linking,\r\n} from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport { SpacingStyles, TypographyStyles } from '../../../styles'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport PageTitle from '../../tags/PageTitle'\r\nimport TxtTMD from '../../../constants/TxtTMD'\r\nimport Layout from '../../../constants/Layout'\r\n\r\nconst { width, height } = Dimensions.get('window')\r\n\r\nexport default class VolunteerSignup extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n imageWidth: 0,\r\n imageHeight: 0,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.getImageSize()\r\n }\r\n\r\n getImageSize() {\r\n Image.getSize(\r\n 'https://filer.boblberg.dk/Assets/Img/snaksammen/snaksammen-banner-2.png',\r\n (imageWidth, imageHeight) => {\r\n this.setState({ imageWidth, imageHeight })\r\n },\r\n (error) => {\r\n this.setState({ imageWidth: width, imageHeight: height * 0.2 })\r\n }\r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {txt('videoChat.volunteerSignup.title')}\r\n \r\n \r\n\r\n \r\n \r\n {txt('videoChat.volunteerSignup.body')}\r\n \r\n \r\n\r\n \r\n \r\n {txt('videoChat.volunteerSignup.email')}\r\n \r\n Linking.openURL(\r\n 'mailto:' +\r\n txt('videoChat.volunteerSignup.contactEmail')\r\n )\r\n }\r\n >\r\n {txt('videoChat.volunteerSignup.contactEmail')}\r\n \r\n \r\n \r\n {txt('videoChat.volunteerSignup.phone')}\r\n \r\n Linking.openURL(\r\n `tel:${\r\n +45 + txt('videoChat.volunteerSignup.contactPhone')\r\n }`\r\n )\r\n }\r\n style={styles.link}\r\n >\r\n {txt('videoChat.volunteerSignup.contactPhone')}\r\n \r\n \r\n \r\n \r\n \r\n {txt('videoChat.volunteerSignup.outro')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n backgroundColor: Colors.background,\r\n flex: 1,\r\n },\r\n image: {\r\n height: Layout.isSmallDevice ? width * 0.4 : Layout.maxFeedWidth * 0.3,\r\n width: Layout.isSmallDevice ? width * 0.4 : Layout.maxFeedWidth * 0.3,\r\n },\r\n imageContainer: { flexDirection: 'row', justifyContent: 'space-evenly' },\r\n imageSimple: {\r\n alignSelf: 'center',\r\n height: Layout.isSmallDevice ? height * 0.21 : height * 0.25,\r\n width: Layout.isSmallDevice ? width : Layout.maxFeedWidth,\r\n },\r\n italic: { ...TypographyStyles.textSmallItalic },\r\n link: { ...TypographyStyles.text, color: Colors.tintColor },\r\n marginLeftRight: { marginLeft: 10, marginRight: 10 },\r\n text: {\r\n ...TypographyStyles.text,\r\n color: Colors.text,\r\n },\r\n textContainer: { marginTop: 10 },\r\n title: { ...TypographyStyles.titleBold, color: Colors.text },\r\n widthHeight: {\r\n backgroundColor: Colors.background,\r\n flex: 1,\r\n ...SpacingStyles.widthAndHeight,\r\n },\r\n})\r\n","import { apiDelete, apiGet, apiPost, apiPut } from './ApiRequest'\r\nimport { updateUser } from \"./User\"\r\n\r\nconst stopLoadingFunc = (success) => {\r\n // if (__DEV__) console.log('No stopLoadingFunc passed, success: ' + success)\r\n}\r\n\r\n// SLBook\r\nexport async function bookSession(session_id, juniorId) {\r\n const body = { video_session_id: session_id }\r\n if (juniorId) body.juniorId = juniorId\r\n try {\r\n const response = await apiPost(body, 'sl/book')\r\n const responseJson = await response.json()\r\n const statusCode = response.status\r\n return { statusCode, ...responseJson }\r\n } catch (error) {\r\n if (__DEV__) console.log(error)\r\n return { err_code: 'SERVER_ERROR' }\r\n }\r\n}\r\n\r\n// SLCancelBooking\r\nexport async function cancelBooking(id, juniorSession, stopLoading = stopLoadingFunc) {\r\n const jsonData = { video_session_id: id }\r\n let url = 'sl/cancelBooking'\r\n if (juniorSession) url += `?junior=${true}`\r\n\r\n const response = await apiPost(jsonData, url)\r\n if (!response) stopLoading(false)\r\n else stopLoading(true)\r\n}\r\n\r\n// SLCreate\r\nexport async function createBooking({startDate, endDate, emailToInvite, junior = false, juniorId, categories}) {\r\n let body = {\r\n start_date: startDate,\r\n end_date: endDate,\r\n junior: junior,\r\n juniorId,\r\n categories,\r\n }\r\n if (emailToInvite) {\r\n body.email_to_invite = emailToInvite\r\n }\r\n\r\n // Wait for response then parse to json\r\n return await apiPost(body, 'sl/create')\r\n .then((response) => response.json())\r\n .then((responseJson) => {\r\n if (!responseJson.data) {\r\n return\r\n }\r\n return responseJson.data[0]\r\n })\r\n .catch((error) => {\r\n if (__DEV__) console.error(\"Couldn't create booking.\")\r\n if (__DEV__) console.error(error)\r\n })\r\n}\r\n\r\nexport async function preCreateBooking(emailToInvite) {\r\n\tconst res = await apiGet(`sl/preCreateCheck?email=${emailToInvite}`)\r\n\treturn res\r\n}\r\n\r\n// SLDelete\r\nexport async function deleteBooking(id, juniorSession) {\r\n const jsonData = { video_session_id: id, junior: !!juniorSession }\r\n const response = await apiPost(jsonData, 'sl/delete')\r\n if (!response) return false\r\n else return true\r\n}\r\n\r\n// SLGetAvailable\r\nexport async function getAvailable(start_date, end_date, juniorSessions) {\r\n\tif (!start_date || !end_date) {\r\n\t\tif (__DEV__) console.error('Start- or end-date missing.')\r\n\t\treturn\r\n\t}\r\n\r\n\tconst body = { start_date, end_date }\r\n\tlet url = 'sl/getAvailable'\r\n\tif (juniorSessions) url += `?junior=${true}`\r\n\r\n\ttry {\r\n\t\t// TODO: rewrite to use apiGet\r\n\t\tconst response = await apiPost(body, url)\r\n\t\tif (!response) return []\r\n\t\tconst responseJson = await response.json()\r\n\t\t\r\n\t\textractCategories(responseJson.data)\r\n\t\treturn responseJson.data\r\n\t} catch (error) {\r\n\t\tif (__DEV__) console.error('Failed to fetch sessions.')\r\n\t\tconsole.error(error)\r\n\t}\r\n}\r\n\r\n// SLGetAvailableDates\r\nexport async function getAvailableDates(juniorSession) {\r\n let url = 'sl/getAvailableDates'\r\n if (juniorSession) url += `?junior=${true}`\r\n const res = await apiGet(url)\r\n if (res?.data) {\r\n return res.data.map((val, index) => ({ key: index, ...val }))\r\n }\r\n return []\r\n}\r\n\r\n// SLGetBooked\r\nexport async function getBookedSessions(juniorId) {\r\n let url = 'sl/getBooked'\r\n if (juniorId) url += `?juniorId=${juniorId}`\r\n const res = await apiGet(url)\r\n if (res?.data) {\r\n extractCategories(res.data)\r\n return res.data.map((val, index) => ({ key: index, ...val }))\r\n }\r\n return []\r\n}\r\n\r\nexport async function getOwnBooked() {\r\n const res = await apiGet('sl/getOwnBooked')\r\n if (!res?.data) return []\r\n res.data = res.data.map((val, index) => ({ key: index, ...val }))\r\n extractCategories(res.data)\r\n return res.data\r\n}\r\n\r\nexport async function getOwnNotBooked() {\r\n const res = await apiGet('sl/getOwnNotBooked')\r\n if (!res?.data) return []\r\n res.data = res.data.map((val, index) => ({ key: index, ...val }))\r\n extractCategories(res.data)\r\n return res.data\r\n}\r\n\r\n// SLGetAllSessions\r\nexport async function getAllSessions() {\r\n const res = await apiGet('sl/getAllSessions')\r\n if (!res?.data) return []\r\n extractCategories(res.data)\r\n return res.data\r\n}\r\n\r\n// SLVolunteerHasAccess\r\nexport async function volunteerHasAccess(\r\n organization_name,\r\n password,\r\n stopLoading = stopLoadingFunc\r\n) {\r\n if (organization_name == null || password == null) {\r\n if (__DEV__)\r\n console.log(\r\n 'No organization_name or password was passed to check if volunteer has access function, returning.'\r\n )\r\n stopLoading(false)\r\n return\r\n }\r\n const data = {\r\n organization_name,\r\n password,\r\n }\r\n\r\n return apiPost(data, `sl/volunteerHasAccess`)\r\n .then((response) => response.json())\r\n .then((responseJson) => {\r\n if (!responseJson.data) {\r\n stopLoading(false)\r\n return\r\n }\r\n\r\n stopLoading(true)\r\n return responseJson.data[0]\r\n })\r\n .catch((error) => {\r\n if (__DEV__) console.error(error)\r\n stopLoading(false)\r\n })\r\n}\r\n\r\nexport async function addToJuniorWaitList() {\r\n const res = await apiPost({}, 'sl/junior/waitList')\r\n const resJson = await res.json()\r\n return Boolean(resJson?.status)\r\n}\r\n\r\nexport async function getJuniorWaitListStatus() {\r\n const res = await apiGet('sl/junior/waitList')\r\n return Boolean(res?.status)\r\n}\r\n\r\nexport async function getJuniorProfileList(email) {\r\n const res = await apiGet(`sl/juniors?email=${email}`)\r\n return res.data\r\n}\r\n\r\nfunction extractCategories(sessions) {\r\n for (let session of sessions) {\r\n if (session.categories) {\r\n session.categories = JSON\r\n .parse(session.categories)\r\n .map(category => category.categoryId)\r\n }\r\n }\r\n}\r\n\r\nexport async function getPreviousBookedSessions() {\r\n const res = await apiGet('sl/previous')\r\n if (!res?.data) return []\r\n res.data = res.data.map((val, index) => ({ key: index, ...val }))\r\n extractCategories(res.data)\r\n return res.data\r\n}\r\n\r\nexport async function getPreviousBookers() {\r\n const res = await apiGet('sl/previousBookers')\r\n if (!res?.data) return []\r\n return res.data\r\n}\r\n\r\nexport async function getPreviousJuniorBookers() {\r\n const res = await apiGet('sl/previousJuniorBookers')\r\n return res?.data ?? []\r\n}\r\n\r\nexport async function getSessionCount() {\r\n const res = await apiGet('sl/count')\r\n if (res?.data === undefined) return\r\n return res.data\r\n}\r\n\r\nexport async function addToWaitList() {\r\n const res = await apiPost({}, 'sl/waitList')\r\n const resJson = await res.json()\r\n return Boolean(resJson?.status)\r\n}\r\n\r\nexport async function getWaitListStatus() {\r\n const res = await apiGet('sl/waitList')\r\n return Boolean(res?.status)\r\n}\r\n\r\nexport async function getJuniorConsent() {\r\n const response = await apiGet('sl/junior-consent')\r\n return response?.consentGiven\r\n}\r\n\r\nexport async function updateJuniorConsent(sproglandJuniorConsent) {\r\n const response = await apiPut({ sproglandJuniorConsent }, 'sl/junior-consent')\r\n if (response.ok === false) throw new Error(\"Could'n get junior consent.\")\r\n}\r\n\r\nexport async function getCountriesList() {\r\n const response = await apiGet('sl/countries')\r\n return response?.data\r\n}\r\n\r\nexport async function getUserCountry() {\r\n const response = await apiGet('sl/user-country')\r\n return response?.data\r\n}\r\n\r\nexport async function setUserCountry(countryCode) {\r\n const response = await apiPost({countryCode}, 'sl/user-country')\r\n return response?.ok\r\n}\r\n\r\nexport async function getVolunteerProfile(userId) {\r\n\tconst res = await apiGet(`sl/volunteerProfile/${userId}`)\r\n\tif (!res?.data) return null\r\n\treturn res.data\r\n}\r\n\r\nexport async function getSproglandProfile() {\r\n\tconst res = await apiGet('sl/profile')\r\n\tif (!res?.data) return null\r\n\treturn res.data\r\n}\r\n\r\nexport async function updateSproglandProfile({ description = null, askAgain = null, data = {} }) {\r\n\t// save profile\r\n\tconst body = {}\r\n\tif (description !== null) body.description = description\r\n\tif (askAgain !== null) body.askAgain = askAgain\r\n\r\n\tlet res = await apiPost(body, 'sl/profile')\r\n\tif (!res.ok) return false\r\n\r\n\t// save user info\r\n\tif (Object.keys(data).length === 0) return\r\n\treturn await updateUser(data)\r\n}\r\n","import Colors from '../../../constants/Colors'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport React from 'react'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\n\r\nexport default function TextLabel({ style, junior = false, first = false, text, showInfoIcon = false, backgroundColor, textColor }) {\r\n\r\n\tconst getBackgroundColor = () => {\r\n\t\tif (junior) return Colors.juniorLabelBackground\r\n\t\tif (first) return Colors.greenLight\r\n\t\tif (backgroundColor) return backgroundColor\r\n\t\treturn Colors.labelBackground\r\n\t}\r\n\r\n\tconst getTextColor = () => {\r\n\t\tif (junior) return Colors.juniorLabelText\r\n\t\tif (first) return Colors.greenText\r\n\t\tif (textColor) return textColor\r\n\t\treturn Colors.labelText\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{junior ? txt('learnDanish.junior.juniorLabel') : first ? txt('learnDanish.volunteer.firstSession') : text}\r\n\t\t\t\r\n\t\t\t{showInfoIcon && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: {\r\n\t\tdisplay: 'flex',\r\n\t\tflexDirection: 'row',\r\n\t\talignSelf: 'flex-start',\r\n\t\talignItems: 'center',\r\n\t\tpaddingHorizontal: 6,\r\n\t\tpaddingVertical: 4,\r\n\t\tborderRadius: 4,\r\n\t},\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { StyleSheet } from 'react-native'\r\n\r\nimport { CustomText } from '../text/StyledText'\r\nimport { ActionButton, ContentContainer, ScrollableDialog } from './CustomDialog'\r\n\r\nimport { txt } from '../../locales/i18n'\r\nimport Colors from '../../constants/Colors'\r\n\r\nimport { getJuniorConsent, updateJuniorConsent } from '../../services/api/LearnDanish'\r\n\r\nexport function SproglandJuniorConsentDialog({ visible, setVisible, onCancel, acceptOnly }) {\r\n const [consentGiven, setConsentGiven] = useState(null)\r\n const [notification, setNotification] = useState(null)\r\n const [showUpdateErrorDialog, setShowUpdateErrorDialog] = useState(false)\r\n\r\n useEffect(() => {\r\n if (visible === false) return\r\n\r\n if (acceptOnly) {\r\n return setConsentGiven(false)\r\n }\r\n\r\n getJuniorConsent().then((consentGiven) => {\r\n setConsentGiven(consentGiven)\r\n })\r\n }, [visible])\r\n\r\n async function handleUpdateConsent() {\r\n try {\r\n if (acceptOnly) {\r\n await updateJuniorConsent(true)\r\n setNotification(txt('learnDanish.junior.consentGiven'))\r\n } else { \r\n await updateJuniorConsent(!consentGiven)\r\n setNotification(consentGiven ? txt('learnDanish.junior.consentRemove') : txt('learnDanish.junior.consentGiven'))\r\n }\r\n } catch (error) {\r\n return setShowUpdateErrorDialog(true)\r\n }\r\n\r\n setTimeout(() => {\r\n setVisible(false)\r\n setNotification(null)\r\n setConsentGiven(null)\r\n }, 1500)\r\n }\r\n\r\n async function handleDismiss() {\r\n setVisible(false)\r\n setNotification(null)\r\n setConsentGiven(null)\r\n onCancel()\r\n }\r\n\r\n if (consentGiven === null) return null\r\n\r\n if (showUpdateErrorDialog) {\r\n return (\r\n \r\n \r\n \r\n {txt('learnDanish.junior.updateErrorHeader')}\r\n \r\n\r\n {txt('learnDanish.junior.updateErrorMessage')}\r\n \r\n\r\n setShowUpdateErrorDialog(false)} style={styles.dialogButton}>\r\n {txt('global.ok')}\r\n \r\n \r\n )\r\n }\r\n\r\n if (notification === null) {\r\n return (\r\n \r\n \r\n {txt('learnDanish.junior.consentHeader')}\r\n\r\n \r\n {consentGiven ? txt('learnDanish.junior.removeConsentBody') : txt('learnDanish.junior.consentBody')}\r\n \r\n \r\n\r\n \r\n {consentGiven ? txt('learnDanish.junior.removeConsent') : txt('learnDanish.junior.approveConsent')}\r\n \r\n\r\n \r\n {txt('learnDanish.junior.cancelConsent')}\r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {notification}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n dialogButton: { padding: 10 },\r\n marginTop: { marginTop: 10 },\r\n})\r\n","import CustomDialog, { ContentContainer } from '../../../dialogs/CustomDialog'\r\nimport { View } from 'react-native'\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport { ButtonPrimary } from '../../../buttons/StyledButtons'\r\nimport React from 'react'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nexport function CancelWithMessageDialog({ visible, onDismiss, sendMessage }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt(`learnDanish.cancelMessageTitle`)}\r\n \r\n {txt(`learnDanish.cancelMessageText`)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function CannotCancelDialog({ visible, onDismiss, sendMessage }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {txt(`learnDanish.cannotCancelTitle`)}\r\n {txt(`learnDanish.cannotCancelText`)}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import React from \"react\"\r\nimport { StyleSheet } from \"react-native\"\r\n\r\nimport { txt } from \"../../../../locales/i18n\"\r\n\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\nimport CustomDialog, { ContentContainer } from \"../../../dialogs/CustomDialog\"\r\nimport { CustomText } from \"../../../text/StyledText\"\r\n\r\nimport NormalIcon from \"../../../icons/NormalIcon\"\r\nimport Colors from \"../../../../constants/Colors\"\r\n\r\n\r\nexport default function SessionCategoryDialog({ visible, onDismiss, categoryId }) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{txt(`learnDanish.categories.${categoryId}`)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{txt(`learnDanish.categories.descriptions.${categoryId}`)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcloseIcon: {\r\n\t\tbackgroundColor: Colors.greyLightLight,\r\n\t\tborderRadius: 12,\r\n\t\tpadding: 8,\r\n\t\tposition: 'absolute',\r\n\t\ttop: 12,\r\n\t\tright: 12,\r\n\t\tzIndex: 10\r\n\t},\r\n})\r\n","import React from 'react'\r\nimport { StyleSheet } from \"react-native\"\r\n\r\nimport CustomDialog, { ContentContainer } from \"../../../dialogs/CustomDialog\"\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\nimport { CustomText } from \"../../../text/StyledText\"\r\nimport NormalIcon from \"../../../icons/NormalIcon\"\r\nimport Colors from \"../../../../constants/Colors\"\r\nimport { txt } from '../../../../locales/i18n'\r\n\r\nexport function VolunteerProfileDialog({ visible, onDismiss, username, description }) {\r\n\treturn (\r\n\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\t\t{username}\r\n\t\t\t\t\r\n\t\t\t\t\t{description ? description : txt('learnDanish.volunteer.profile.dialog.noVolunteerProfile')}\r\n\t\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tdialog: {\r\n\t\tborderRadius: 6,\r\n\t\tmaxWidth: 500,\r\n\t\tminWidth: 300,\r\n\t},\r\n\ticonContainer: {\r\n\t\tbackgroundColor: Colors.greyLightLight,\r\n\t\tborderRadius: 12,\r\n\t\tpadding: 8,\r\n\t\tposition: 'absolute',\r\n\t\ttop: 12,\r\n\t\tright: 12,\r\n\t\tzIndex: 10\r\n\t}\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet, Platform } from 'react-native'\r\nimport { cancelBooking, getVolunteerProfile } from '../../../services/api/LearnDanish'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Colors from '../../../constants/Colors'\r\nimport { ButtonPrimary, ButtonSecondary } from '../../buttons/StyledButtons'\r\nimport { ShadowStyles, TypographyStyles } from '../../../styles'\r\nimport moment from 'moment'\r\nimport { getConversationId } from '../../../services/api/Inbox'\r\nimport TextLabel from './TextLabel'\r\nimport startVideoSession from '../../../utils/startVideoSession'\r\nimport { getPreviousSLSurvey } from '../../../services/api/Surveys'\r\n// import SproglandSurveyDialog from './SproglandSurveyDialog'\r\n// import { WebBrowserResultType } from 'expo-web-browser'\r\nimport { getJuniorConsent } from '../../../services/api/LearnDanish'\r\nimport { SproglandJuniorConsentDialog } from '../../dialogs/SproglandJuniorConsentDialog'\r\nimport { CancelWithMessageDialog, CannotCancelDialog } from './dialogs/CancelDialogs'\r\nimport CustomPressable from '../../pressables/CustomPressable'\r\nimport SessionCategoryDialog from './dialogs/sessionCategoryDialog'\r\nimport { VolunteerProfileDialog } from './dialogs/VolunteerProfileDialog'\r\n\r\nexport default function AvailableSessions(props) {\r\n\t// const [dialogVisible, setDialogVisible] = useState(false)\r\n\tconst [showConsentDialog, setShowConsentDialog] = useState(false)\r\n\tconst [cannotCancelDialogVisible, setCannotCancelDialogVisible] = useState(false)\r\n\tconst [cancelMessageDialogVisible, setCancelMessageDialogVisible] = useState(false)\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [sessionCategoryDialogVisible, setSessionCategoryDialogVisible] = useState(false)\r\n\tconst [clickedCategoryId, setClickedCategoryId] = useState(null)\r\n\tconst [volunteerProfile, setVolunteerProfile] = useState(null)\r\n\tconst [volunteerProfileVisible, setVolunteerProfileVisible] = useState(false)\r\n\r\n\t//sets locale to danish time\r\n\tmoment.locale([txt('videoChat.locale')])\r\n\r\n\tuseEffect(() => {\r\n\t\tprops.loadSessions()\r\n\t}, [])\r\n\r\n\tfunction formatUnixDate(date) {\r\n\t\tconst d = moment(date).format('dddd [d.] DD/MM [kl.] HH:mm')\r\n\t\treturn d.charAt(0).toUpperCase() + d.substr(1)\r\n\t}\r\n\r\n\tasync function handleSendMessage(item) {\r\n\t\tconst { volunteer_id, id } = item\r\n\t\tif (!volunteer_id || !id) return\r\n\t\tconst conversationId = await getConversationId({\r\n\t\t\tslSessionId: id,\r\n\t\t\treceiverId: volunteer_id,\r\n\t\t})\r\n\t\tif (conversationId) props.navigateToConversation(conversationId)\r\n\t\telse props.navigateToNewConversation(volunteer_id, id)\r\n\t}\r\n\r\n\tasync function handleStartPress(item) {\r\n\t\tlet junior = !!props.juniorId\r\n\t\tif (junior) {\r\n\t\t\tconst consentGiven = await getJuniorConsent()\r\n\t\t\tif (consentGiven === false) {\r\n\t\t\t\treturn setShowConsentDialog(!consentGiven)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst browser = await startVideoSession(item.room_key, item.vonage_session_id, junior ? 'sproglandJunior' : 'sprogland')\r\n\t\tconst bookings = await getPreviousSLSurvey()\r\n\t\t// if (bookings.previouslyCompletedBookings === 0 && bookings.completedBookings > 0 || bookings.completedBookings - bookings.previouslyCompletedBookings >= 4) {\r\n\t\t// \tif (Platform.OS !== 'ios') setDialogVisible(true)\r\n\t\t// \telse if (browser.type === WebBrowserResultType.CANCEL) setDialogVisible(true)\r\n\t\t// }\r\n\t}\r\n\r\n\tasync function handleCancelBooking(item) {\r\n\t\tconst now = new Date()\r\n\t\tconst startDate = new Date(item.start_date)\r\n\t\tconst tenMinutesBeforeStartDate = new Date(new Date(item.start_date).setMinutes(startDate.getMinutes() - 10))\r\n\r\n\t\tif (now >= startDate && now >= tenMinutesBeforeStartDate) {\r\n\t\t\tsetCannotCancelDialogVisible(true)\r\n\t\t} else if (now < startDate && now > tenMinutesBeforeStartDate) {\r\n\t\t\tsetCancelMessageDialogVisible(true)\r\n\t\t} else {\r\n\t\t\tawait handleCancel(item)\r\n\t\t}\r\n\t}\r\n\r\n\tasync function handleCancel(item) {\r\n\t\tsetLoading(true)\r\n\t\tawait cancelBooking(item.id, !!props.juniorId)\r\n\t\tprops.loadSessions()\r\n\t\tprops.reloadAvailable()\r\n\t\tsetCancelMessageDialogVisible(false)\r\n\t\tsetLoading(false)\r\n\t}\r\n\r\n\tasync function handleSendMessageAndCancel(item) {\r\n\t\tawait handleCancel(item)\r\n\t\tawait handleSendMessage(item)\r\n\t}\r\n\r\n\tasync function handleCancelMessage(item) {\r\n\t\tsetCannotCancelDialogVisible(false)\r\n\t\tawait handleSendMessage(item)\r\n\t}\r\n\r\n\tfunction handleCategoryPress(categoryId) {\r\n\t\tsetClickedCategoryId(categoryId)\r\n\t\tsetSessionCategoryDialogVisible(true)\r\n\t}\r\n\r\n\tasync function handlePressVolunteer(volunteerId, volunteerName) {\r\n\t\tif (!volunteerId) return\r\n\t\tconst volunteerProfile = await getVolunteerProfile(volunteerId)\r\n\t\tsetVolunteerProfile({ description: volunteerProfile?.description, volunteerName })\r\n\t\tsetVolunteerProfileVisible(true)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{props.sessions.length === 0 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('videoChat.bookedSessions')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{txt('videoChat.noBookedSessions')}\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t{txt('videoChat.bookedSessions')}\r\n\t\t\t)}\r\n\t\t\t{props.sessions.map((item, key) => {\r\n\t\t\t\tconst date = formatUnixDate(item.start_date)\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{date}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t handlePressVolunteer(item.volunteer_id, item.username)}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{item.categories?.map((id, key) => (\r\n\t\t\t\t\t\t\t\t\t handleCategoryPress(id)}\r\n\t\t\t\t\t\t\t\t\t\taccessibilityRole=\"button\"\r\n\t\t\t\t\t\t\t\t\t\tkey={key}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t handleStartPress(item)}\r\n\t\t\t\t\t\t\t\t\ttitleStyle={{ ...TypographyStyles.textSmallBold }}\r\n\t\t\t\t\t\t\t\t\tstyle={styles.button}\r\n\t\t\t\t\t\t\t\t\ticon=\"video\"\r\n\t\t\t\t\t\t\t\t\ticonSize={16}\r\n\t\t\t\t\t\t\t\t\tstroke={'fal'}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{props.startConversation && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t handleSendMessage(item)}\r\n\t\t\t\t\t\t\t\t\t\ttitleStyle={{ ...TypographyStyles.textSmallBold }}\r\n\t\t\t\t\t\t\t\t\t\tstyle={[styles.button, { borderWidth: 1 }]}\r\n\t\t\t\t\t\t\t\t\t\ticon=\"paper-plane\"\r\n\t\t\t\t\t\t\t\t\t\ticonSize={16}\r\n\t\t\t\t\t\t\t\t\t\tstroke={'fal'}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t handleCancelBooking(item)}\r\n\t\t\t\t\t\t\t\t\ticon=\"times\"\r\n\t\t\t\t\t\t\t\t\ticonSize={16}\r\n\t\t\t\t\t\t\t\t\tcolor={Colors.redCrossRed}\r\n\t\t\t\t\t\t\t\t\tstroke={'fal'}\r\n\t\t\t\t\t\t\t\t\tloading={loading}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t await handleCancel(item)}\r\n\t\t\t\t\t\t\tsendMessage={() => handleSendMessageAndCancel(item)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t setCannotCancelDialogVisible(false)}\r\n\t\t\t\t\t\t\tsendMessage={() => handleCancelMessage(item)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t})}\r\n\t\t\t{/* setDialogVisible(false)}\r\n\t\t\t/> */}\r\n\r\n\t\t\t setShowConsentDialog(showConsentDialog)}\r\n\t\t\t\tonCancel={() => setShowConsentDialog(false)}\r\n\t\t\t\tacceptOnly\r\n\t\t\t/>\r\n\t\t\t setSessionCategoryDialogVisible(false)}\r\n\t\t\t\tcategoryId={clickedCategoryId}\r\n\t\t\t/>\r\n\t\t\t setVolunteerProfileVisible(false)}\r\n\t\t\t\tusername={volunteerProfile?.volunteerName}\r\n\t\t\t\tdescription={volunteerProfile?.description}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tbuttonCancelContainer: {\r\n\t\tflex: 1,\r\n\t\tjustifyContent: 'center',\r\n\t},\r\n\tbuttonConversationContainer: {\r\n\t\tflex: 1,\r\n\t\tjustifyContent: 'center',\r\n\t\tpaddingBottom: 10,\r\n\t\tpaddingRight: 2,\r\n\t},\r\n\tbuttonStartContainer: {\r\n\t\tflex: 1,\r\n\t\tjustifyContent: 'center',\r\n\t\tpaddingBottom: 10,\r\n\t\tpaddingRight: 2,\r\n\t},\r\n\tbuttonsContainer: {\r\n\t\tflexDirection: 'column',\r\n\t\tjustifyContent: 'space-evenly',\r\n\t},\r\n\tbutton: {\r\n\t\twidth: 150,\r\n\t\tpaddingHorizontal: 0,\r\n\t},\r\n\tcontainer: {\r\n\t\tmargin: 10,\r\n\t},\r\n\tsessionContainer: {\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tborderRadius: 2,\r\n\t\tflexDirection: 'row',\r\n\t\tmarginTop: 10,\r\n\t\tpadding: 10,\r\n\t\t...ShadowStyles.liftedShadow,\r\n\t},\r\n\tnoSession: {\r\n\t\tcolor: Colors.inactive,\r\n\t\tmarginTop: 10,\r\n\t\ttextAlign: 'center',\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tpadding: 12,\r\n\t\tborderRadius: 2,\r\n\t\t...ShadowStyles.liftedShadow,\r\n\t},\r\n\ttextContainer: {\r\n\t\tflex: 2,\r\n\t\tjustifyContent: 'center',\r\n\t\tpaddingRight: 12\r\n\t},\r\n\ttitleBold: {\r\n\t\ttextAlign: 'center',\r\n\t},\r\n})\r\n","import CustomDialog, { ContentContainer } from '../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { View } from 'react-native'\r\nimport { ButtonPrimary, ButtonSecondary } from '../../buttons/StyledButtons'\r\nimport React from 'react'\r\nimport { txt } from '../../../locales/i18n'\r\n\r\nexport default function SproglandJuniorWaitListDialog({ visible, onDismiss, submit }) {\r\n return (\r\n \r\n \r\n \r\n {txt('learnDanish.junior.waitlist.dialogText')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport function SproglandWaitListDialog({ visible, onDismiss, submit }) {\r\n return (\r\n \r\n \r\n \r\n {txt('learnDanish.waitlist.dialogText')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from 'react'\r\nimport { View, StyleSheet } from 'react-native'\r\nimport moment from 'moment'\r\n\r\nimport {\r\n\taddToJuniorWaitList,\r\n\taddToWaitList,\r\n\tgetAvailable,\r\n\tgetJuniorWaitListStatus,\r\n\tgetSessionCount,\r\n\tgetVolunteerProfile,\r\n\tgetWaitListStatus,\r\n} from '../../../services/api/LearnDanish'\r\nimport { surveyIds } from '../../../services/api/Surveys'\r\n\r\nimport SproglandJuniorWaitListDialog, { SproglandWaitListDialog } from './SproglandWaitListDialog'\r\nimport SessionCategoryDialog from './dialogs/sessionCategoryDialog'\r\nimport SurveyPromptDialog, { platforms } from '../../dialogs/SurveyPromptDialog'\r\nimport { ButtonPrimary, ButtonSecondary } from '../../buttons/StyledButtons'\r\nimport { ShadowStyles, TypographyStyles } from '../../../styles'\r\nimport { CustomSnackbar } from '../../snackbars/Snackbar'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport TextLabel from './TextLabel'\r\nimport Colors from '../../../constants/Colors'\r\nimport { VolunteerProfileDialog } from './dialogs/VolunteerProfileDialog'\r\n\r\nexport function AvailableSessions({ availableDates, getAvailableDates, bookSession, getBookedSessions, juniorId }) {\r\n\tconst [sessionCount, setSessionCount] = useState(0)\r\n\tconst [isOnWaitlist, setIsOnWaitlist] = useState(false)\r\n\tconst [waitlistVisible, setWaitlistVisible] = useState(false)\r\n\tconst [isOnJuniorWaitlist, setIsOnJuniorWaitlist] = useState(false)\r\n\tconst [juniorWaitlistVisible, setJuniorWaitlistVisible] = useState(false)\r\n\tconst [surveyPromptVisible, setSurveyPromptVisible] = useState(false)\r\n\tconst [showSnackbar, setShowSnackbar] = useState(false)\r\n\tconst [errorMessage, setErrorMessage] = useState('')\r\n\tconst [data, setData] = useState([])\r\n\tconst [sessionCategoryDialogVisible, setSessionCategoryDialogVisible] = useState(false)\r\n\tconst [clickedCategoryId, setClickedCategoryId] = useState(null)\r\n\tconst [volunteerProfile, setVolunteerProfile] = useState(null)\r\n\tconst [volunteerProfileVisible, setVolunteerProfileVisible] = useState(false)\r\n\r\n\tuseEffect(() => {\r\n\t\tmoment.locale([txt('global.locale')])\r\n\r\n\t\tgetWaitListStatus().then(setIsOnWaitlist)\r\n\t\tgetJuniorWaitListStatus().then(setIsOnJuniorWaitlist)\r\n\t\tgetSessionCount().then(setSessionCount)\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tsetData(availableDates)\r\n\t}, [availableDates])\r\n\r\n\tasync function toggleDropDown(key) {\r\n\t\tconst newData = [...data]\r\n\r\n\t\t// Update dropdownactive toggle state\r\n\t\tnewData[key].dropdownActive = !newData[key].dropdownActive\r\n\t\tif (newData[key].dropdownActive === false) return setData(newData)\r\n\r\n\t\t// Fetch available sessions for the selected date\r\n\t\tconst startDate = new Date(newData[key].date)\r\n\t\tconst endDate = new Date(startDate.getTime() + 60 * 60 * 24 * 1000)\r\n\r\n\t\tconst availableSessions = await getAvailable(startDate.getTime(), endDate.getTime(), Boolean(juniorId))\r\n\t\tnewData[key].availableSessions = availableSessions\r\n\r\n\t\tsetData(newData)\r\n\t}\r\n\r\n\tfunction formatDate(date, formatString) {\r\n\t\tconst formattedDate = moment(date).format(formatString)\r\n\t\treturn formattedDate.charAt(0).toUpperCase() + formattedDate.slice(1)\r\n\t}\r\n\r\n\tasync function handleBookSession(sessionId) {\r\n\t\tconst { bookingErrors } = txt('learnDanish')\r\n\r\n\t\tconst ERR_ENUMS = {\r\n\t\t\tLIMIT_REACHED: txt('learnDanish.bookingErrors.limitReached'),\r\n\t\t\tSESSION_NOT_FOUND: txt('learnDanish.bookingErrors.SessionNotFound'),\r\n\t\t\tSESSION_ALREADY_BOOKED: txt('learnDanish.bookingErrors.alreadyBooked'),\r\n\t\t\tOWN_BOOKING: txt('learnDanish.bookingErrors.ownBooking'),\r\n\t\t\tDOUBLE_BOOKING: txt('learnDanish.bookingErrors.doubleBook'),\r\n\t\t\tDATE_EXPIRED: txt('learnDanish.bookingErrors.dateExpired'),\r\n\t\t\tTIMEFRAME_OCCUPIED: txt('learnDanish.bookingErrors.timeframeOccupied'),\r\n\t\t\tVOLUNTEER_IS_ALREADY_IN_TIMEFRAME: txt('learnDanish.bookingErrors.volunteerInTimeframe'),\r\n\t\t\tVOLUNTEER_LIMIT_REACHED: txt('learnDanish.bookingErrors.volunteerLimitReached'),\r\n\t\t}\r\n\r\n\t\tconst { err_code } = await bookSession(sessionId)\r\n\r\n\t\tif (err_code !== undefined) {\r\n\t\t\tconst errorMessageText = ERR_ENUMS[err_code] ?? bookingErrors.unknown\r\n\t\t\tsetShowSnackbar(true)\r\n\t\t\treturn setErrorMessage(errorMessageText)\r\n\t\t}\r\n\r\n\t\tgetBookedSessions()\r\n\t\tgetAvailableDates()\r\n\t}\r\n\r\n\tasync function onJuniorWaitlistPress() {\r\n\t\tconst didUpdate = await addToJuniorWaitList()\r\n\t\tif (didUpdate) {\r\n\t\t\tsetJuniorWaitlistVisible(false)\r\n\t\t\tsetIsOnJuniorWaitlist(true)\r\n\t\t}\r\n\t}\r\n\r\n\tasync function onWaitlistPress() {\r\n\t\tconst didUpdate = await addToWaitList()\r\n\t\tif (didUpdate) {\r\n\t\t\tsetWaitlistVisible(false)\r\n\t\t\tsetIsOnWaitlist(true)\r\n\t\t}\r\n\t}\r\n\r\n\tfunction handleCategoryPress(categoryId) {\r\n\t\tsetClickedCategoryId(categoryId)\r\n\t\tsetSessionCategoryDialogVisible(true)\r\n\t}\r\n\r\n\tasync function handlePressVolunteer(volunteerId, volunteerName) {\r\n\t\tif (!volunteerId) return\r\n\t\tconst volunteerProfile = await getVolunteerProfile(volunteerId)\r\n\t\tsetVolunteerProfile({ description: volunteerProfile?.description, volunteerName })\r\n\t\tsetVolunteerProfileVisible(true)\r\n\t}\r\n\r\n\tfunction noSessionsText() {\r\n\t\tif ((isOnWaitlist && !juniorId) || (isOnJuniorWaitlist && juniorId)) return txt('learnDanish.waitlist.alreadyOnWaitlist')\r\n\t\tif (juniorId) return txt('learnDanish.noAvailableJuniorSessions')\r\n\t\treturn txt('learnDanish.noAvailableSessions')\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{availableDates.length === 0 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{juniorId ?\r\n\t\t\t\t\t\t\ttxt('learnDanish.waitlist.title') :\r\n\t\t\t\t\t\t\ttxt('videoChat.availableSessions')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{noSessionsText()}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{juniorId && !isOnJuniorWaitlist && (\r\n\t\t\t\t\t\t setJuniorWaitlistVisible(true)}\r\n\t\t\t\t\t\t\ttitleStyle={{ ...TypographyStyles.textSmallBold }}\r\n\t\t\t\t\t\t\tstyle={[styles.button, { marginTop: 24 }]}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{/* {sessionCount < 1 && !juniorId && !isOnWaitList && (\r\n\t\t\t\t\t\t setWaitlistVisible(true)}\r\n\t\t\t\t\t\t\ttitleStyle={{ ...TypographyStyles.textSmallBold }}\r\n\t\t\t\t\t\t\tstyle={[styles.button, { marginTop: 24 }]}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)} */}\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('videoChat.availableSessions')}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{data.map((item, key) => {\r\n\t\t\t\tif (item.dropdownActive) {\r\n\t\t\t\t\tlet itemArray\r\n\t\t\t\t\tif (item.availableSessions.length !== 0) {\r\n\t\t\t\t\t\t// Render each date\r\n\t\t\t\t\t\titemArray = item.availableSessions.map((session, index) => {\r\n\t\t\t\t\t\t\t// Create smaller marginTop on (index == 0), and borderTop on (index > 0) (for visual purposes)\r\n\t\t\t\t\t\t\tconst sessionBoxProps = index === 0 ? { marginTop: 10 } : styles.sessionBoxProps\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{formatDate(session.start_date, 'dddd [d.] DD/MM [kl.] HH:mm')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handlePressVolunteer(session.volunteerId, session.username)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{session.categories?.map((id, key) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t handleCategoryPress(id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\taccessibilityRole=\"button\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={key}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t handleBookSession(session.id)}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t setShowSnackbar(false)}\r\n\t\t\t\t\t\t\t\t\t\ttext={errorMessage}\r\n\t\t\t\t\t\t\t\t\t\tduration={5000}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t// Expanded view\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t toggleDropDown(key)}\r\n\t\t\t\t\t\t\t\tactiveOpacity={0.8}\r\n\t\t\t\t\t\t\t\taccessibilityRole=\"button\"\r\n\t\t\t\t\t\t\t\taccessibilityLabel={txt('videoChat.availableSessionsHideLabel')}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{formatDate(item.date, 'dddd[,] DD[.] MMMM YYYY')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{itemArray}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t// Collapsed view\r\n\t\t\t\t\t toggleDropDown(key)}\r\n\t\t\t\t\t\tactiveOpacity={0.8}\r\n\t\t\t\t\t\tstyle={styles.dropdownContainer}\r\n\t\t\t\t\t\taccessibilityRole=\"button\"\r\n\t\t\t\t\t\taccessibilityLabel={txt('videoChat.availableSessionsLabel')}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{formatDate(item.date, 'dddd[,] DD[.] MMMM YYYY')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t})}\r\n\t\t\t setSurveyPromptVisible(false)}\r\n\t\t\t/>\r\n\t\t\t setJuniorWaitlistVisible(false)}\r\n\t\t\t\tsubmit={() => onJuniorWaitlistPress()}\r\n\t\t\t/>\r\n\t\t\t setWaitlistVisible(false)}\r\n\t\t\t\tsubmit={() => onWaitlistPress()}\r\n\t\t\t/>\r\n\t\t\t setSessionCategoryDialogVisible(false)}\r\n\t\t\t\tcategoryId={clickedCategoryId}\r\n\t\t\t/>\r\n\t\t\t setVolunteerProfileVisible(false)}\r\n\t\t\t\tusername={volunteerProfile?.volunteerName}\r\n\t\t\t\tdescription={volunteerProfile?.description}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tbutton: {\r\n\t\twidth: 150,\r\n\t\tpaddingHorizontal: 8,\r\n\t},\r\n\tcontainer: {\r\n\t\tmargin: 10,\r\n\t},\r\n\tdropdownContainer: {\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tborderRadius: 2,\r\n\t\tmarginTop: 10,\r\n\t\tpadding: 10,\r\n\t\t...ShadowStyles.liftedShadow,\r\n\t},\r\n\tflexRow: {\r\n\t\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\ticon: {\r\n\t\talignSelf: 'center',\r\n\t\tmarginLeft: 'auto'\r\n\t},\r\n\tnoSession: {\r\n\t\tcolor: Colors.inactive,\r\n\t\tmarginTop: 10,\r\n\t\ttextAlign: 'center',\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tpadding: 10,\r\n\t\tborderRadius: 2,\r\n\t\t...ShadowStyles.liftedShadow,\r\n\t},\r\n\ttitleBold: {\r\n\t\ttextAlign: 'center',\r\n\t},\r\n\tsessionBoxProps: {\r\n\t\tborderTopWidth: 1,\r\n\t\tborderColor: Colors.shadow,\r\n\t\tmarginTop: 10,\r\n\t\tpaddingTop: 10,\r\n\t},\r\n})\r\n","import React from 'react'\r\nimport { View, StyleSheet, Linking } from 'react-native'\r\nimport { ContentContainer, ScrollableDialog } from '../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport Colors from '../../../constants/Colors'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function BehaviorDialog({ visible, close }) {\r\n return (\r\n \r\n \r\n \r\n {txt('learnDanish.help.label')}\r\n \r\n \r\n {txt('learnDanish.help.description1')}\r\n Linking.openURL('mailto:nyren@rodekors.dk')}>\r\n {txt('learnDanish.help.supportMail')}\r\n \r\n Linking.openURL(`tel:${+4524912771}`)}>\r\n {'/ \\u200B24\\u00A091\\u00A027\\u00A071'}\r\n \r\n {txt('learnDanish.help.description2')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n // \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n linkText: {\r\n color: Colors.tintColor,\r\n },\r\n})\r\n","import { Keyboard, ScrollView, StyleSheet, TextInput, View } from \"react-native\"\r\nimport CustomDialog, { ContentContainer } from \"./CustomDialog\"\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\nimport NormalIcon from \"../icons/NormalIcon\"\r\nimport { CustomText } from \"../text/StyledText\"\r\nimport { txt } from \"../../locales/i18n\"\r\nimport { ButtonPrimary } from \"../buttons/StyledButtons\"\r\nimport React, { useEffect, useRef, useState } from \"react\"\r\nimport { getCountriesList, setUserCountry } from \"../../services/api/LearnDanish\"\r\nimport Colors from \"../../constants/Colors\"\r\nimport { TypographyStyles } from \"../../styles\"\r\n\r\nexport const SproglandCountryDialog = ({ countryDialogVisible, setCountryDialogVisible }) => {\r\n\tconst [countries, setCountries] = useState([])\r\n\tconst [suggestions, setSuggestions] = useState([])\r\n\tconst [selectedCountry, setSelectedCountry] = useState('')\r\n\tconst [selectedCountryCode, setSelectedCountryCode] = useState('')\r\n\r\n\tconst timeout = useRef(null)\r\n\r\n\tuseEffect(() => {\r\n\t\tgetCountriesList().then(setCountries)\r\n\t}, []);\r\n\r\n\tfunction getCountrySuggestions(value) {\r\n\t\tif (value === '') return countries\r\n\t\treturn countries.filter((country) => {\r\n\t\t\treturn country?.countryName?.toLowerCase().includes(value.toLowerCase()) || country?.countryCode?.toLowerCase().includes(value.toLowerCase())\r\n\t\t})\r\n\t}\r\n\r\n\tasync function handleSelectedCountryChange(value) {\r\n\t\tclearTimeout(timeout.current)\r\n\t\tsetSelectedCountry(value)\r\n\t\ttimeout.current = setTimeout(async () => {\r\n\t\t\tconst suggestionList = getCountrySuggestions(value)\r\n\t\t\tsetSuggestions(suggestionList)\r\n\t\t}, 800)\r\n\t}\r\n\r\n\tasync function handleSuggestionClick(suggestion) {\r\n\t\tsetSelectedCountry(suggestion.countryName)\r\n\t\tsetSelectedCountryCode(suggestion.countryCode)\r\n\t\tsetSuggestions([])\r\n\t\tKeyboard.dismiss()\r\n\t}\r\n\r\n\tasync function handleClearSuggestion() {\r\n\t\tsetSelectedCountry('')\r\n\t\tsetSelectedCountryCode('')\r\n\t\tsetSuggestions(countries)\r\n\t}\r\n\r\n\tfunction renderSuggestions() {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{suggestions?.map((suggestion, index) => {\r\n\t\t\t\t\tconst borderWidth = index !== suggestions.length - 1 ? 1 : 0\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t handleSuggestionClick(suggestion)}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{suggestion?.countryName}\r\n\t\t\t\t\t\t\t{suggestion?.countryCode}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tasync function handleSubmitCountry() {\r\n\t\tawait setUserCountry(selectedCountryCode)\r\n\t\tsetCountryDialogVisible(false)\r\n\t}\r\n\r\n\treturn (\r\n\t\t Keyboard.dismiss()}>\r\n\t\t\t setCountryDialogVisible(false)} style={styles.icon}>\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{txt('learnDanish.user.countryDialog.title')}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t handleSelectedCountryChange(item)}\r\n\t\t\t\t\t\tonFocus={() => {\r\n\t\t\t\t\t\t\tif (selectedCountry === '') setSuggestions(countries)\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{selectedCountry !== '' && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t{suggestions?.length > 0 && renderSuggestions()}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t{txt('learnDanish.user.countryDialog.submit')}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\ttitle: {\r\n\t\tpaddingVertical: 12,\r\n\t\tmarginVertical: 18,\r\n\t\ttextAlign: 'center',\r\n\t},\r\n\tinputContainer: {\r\n\t\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t\tborderWidth: 1,\r\n\t\tborderColor: Colors.blackTransparent,\r\n\t\tborderRadius: 6,\r\n\t},\r\n\tinput: {\r\n\t\t...TypographyStyles.text,\r\n\t\tpadding: 10,\r\n\t\tflex: 1,\r\n\t},\r\n\tsuggestion: {\r\n\t\tborderBottomColor: Colors.blackTransparent,\r\n\t\tpaddingVertical: 12,\r\n\t\tpaddingHorizontal: 6,\r\n\t\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tsuggestionsContainer: {\r\n\t\twidth: '100%',\r\n\t\tmaxHeight: 150,\r\n\t},\r\n\ticon: {\r\n\t\tposition: 'absolute',\r\n\t\tright: 16,\r\n\t\ttop: 14,\r\n\t\tpadding: 6,\r\n\t\tbackgroundColor: Colors.greyLightLight,\r\n\t\tborderRadius: 8,\r\n\t\tzIndex: 10,\r\n\t},\r\n\tbutton: {\r\n\t\tmarginBottom: 24,\r\n\t\tborderRadius: 6,\r\n\t\tbackgroundColor: Colors.blueAzure,\r\n\t\tpaddingHorizontal: 24,\r\n\t}\r\n})","import React, { useEffect, useState } from 'react'\r\nimport { Pressable, StyleSheet, View } from 'react-native'\r\nimport * as Linking from 'expo-linking'\r\n\r\nimport { Map } from '../../maps/map'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { CornerStyles } from '../../../styles'\r\nimport { txt } from '../../../locales/i18n'\r\n\r\nconst getCafeLocations = () => [\r\n\t{\r\n\t\tlat: 56.7239828600836, \r\n\t\tlng: 10.13485626898360,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Hadsund',\r\n\t\t\taddress: 'Hadsund skole, Stadionvej 5, 9560 Hadsund',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.71877312238853,\r\n\t\tlng: 10.117750053332717,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Hadsund',\r\n\t\t\taddress: 'Mariagerfjord Frivilligcenter, Kirkegade 4, 9560 Hadsund',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.95353738648944,\r\n\t\tlng: 8.685675455188836,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Thisted',\r\n\t\t\taddress: 'Kongensgade 10, 7700 Thisted',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 57.32127006315328,\r\n\t\tlng: 10.511834646252893,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Sæby',\r\n\t\t\taddress: 'Sæby Skole',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.students at Saeby School'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 57.588827934222394,\r\n\t\tlng: 9.965265679102211,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Hirtshals',\r\n\t\t\taddress: 'Hirtshals Skole',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.students at Hirtshals School'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 57.26944594519252,\r\n\t\tlng: 9.94894259141664,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Brønderslev',\r\n\t\t\taddress: 'Aktivitetscenter Grønningen / Bien, Bredgade 55, 9700 Brønderslev',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adult ukrainians'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.09037401149546,\r\n\t\tlng: 8.247055853300655,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Ringkøbing',\r\n\t\t\taddress: 'Østergade 22, 6950 Ringkøbing',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.46139359922162,\r\n\t\tlng: 10.028851370503231,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Randers',\r\n\t\t\taddress: 'Sprogcenter Randers, Vestergade 34, 8900 Randers C',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.3744110220317,\r\n\t\tlng: 9.658061010984843,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Bjerringbro',\r\n\t\t\taddress: 'Byens Hus, Banegårdspladsen, 8850 Bjerringbro',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.452617392827584,\r\n\t\tlng: 9.408335055163231,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Viborg',\r\n\t\t\taddress: 'De Frivilliges Hus, Ll. Sankt Hans Gade 7, 8800 Viborg',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.142131476388435,\r\n\t\tlng: 9.153291655147475,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Ikast',\r\n\t\t\taddress: 'Ikast Bibliotek, Grønnegade 25, 7430 Ikast',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.413994859100534,\r\n\t\tlng: 10.889036055161258,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Nørre-Djurs',\r\n\t\t\taddress: 'Østerbrogade 24, 8500 Grenaa',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.26343415133499,\r\n\t\tlng: 10.061290897483898,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Hinnerup',\r\n\t\t\taddress: 'Jernbanegade 1, 1. sal, 8382 Hinnerup',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\t\r\n\t{\r\n\t\tlat: 56.24930071254426,\r\n\t\tlng: 9.86584522663215,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Hammel',\r\n\t\t\taddress: 'Søndervangsvej 3, 8450 Hammel',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 56.165805656803215, \r\n\t\tlng: 10.13280629983559,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Aarhus',\r\n\t\t\taddress: 'Edwin Rahrs Vej 32P, 8220 Brabrand',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.97089852934103,\r\n\t\tlng: 10.15392755329458,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Odder',\r\n\t\t\taddress: 'Vita Park 61-65, I spisestuen, 8300 Odder',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.223441043324215,\r\n\t\tlng: 10.126601583935953,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Haarby',\r\n\t\t\taddress: 'Algade 16, 5683 Haarby',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and women'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.45965120150974,\r\n\t\tlng: 9.875865326278083,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Nørre Aaby',\r\n\t\t\taddress: 'Østergade 16, 5580 Nørre Åby',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.045514491905735, \r\n\t\tlng: 9.416282497738562,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Aabenraa',\r\n\t\t\taddress: 'NygadeHuset, Nygade 23a, 6200 Aabenraa',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 54.91243181239918,\r\n\t\tlng: 9.79280006858089,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Sønderborg',\r\n\t\t\taddress: 'Perlegade 50, 6400 Sønderborg',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.05302875784226,\r\n\t\tlng: 9.74538616636997,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Sønderborg',\r\n\t\t\taddress: '6430 Nordborg - For adresse kontakt Røde Kors',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.76464931280692,\r\n\t\tlng: 8.918599041632955,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Grindsted',\r\n\t\t\taddress: 'Nymarksvej 10, 7200 Grindsted',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.59888451595822,\r\n\t\tlng: 8.806603392591711,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Helle',\r\n\t\t\taddress: 'Kærbjervej 7, 6753 Agerbæk',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.27455662202527,\r\n\t\tlng: 9.903384595589765,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Assens',\r\n\t\t\taddress: 'Peter Willemoesskolen Skelvej 29, 5610 Assens',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 54.93649458963163,\r\n\t\tlng: 10.719108410912387,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Langeland',\r\n\t\t\taddress: 'Fredensvej 1, 5900 Rudkøbing',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.70437499801564,\r\n\t\tlng: 9.53026083978576,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Vejle',\r\n\t\t\taddress: 'Damhaven 3A, 7100 Vejle',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.40128530982247,\r\n\t\tlng: 10.385301739770567,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Odense',\r\n\t\t\taddress: 'Røde Kors Netværkshuset, Østre Stationsvej 33, 5000 Odense C',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.41321439789164,\r\n\t\tlng: 10.438576510936247,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Odense',\r\n\t\t\taddress: 'Bøgeparken 78, 5240 Odense NØ',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.34714627338616, \r\n\t\tlng: 10.181120197752971,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Vissenbjerg',\r\n\t\t\taddress: 'Tallerupvej 22, 5690 Tommerup',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.677923559932026,\r\n\t\tlng: 11.089005941628546,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Kalundborg',\r\n\t\t\taddress: 'Banegårdspladsen 2, 4400 Kalundborg',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.40572626730304,\r\n\t\tlng: 11.352583268605636,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Slagelse',\r\n\t\t\taddress: 'Jernbanegade 7, 4200 Slagelse',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.65532924842255,\r\n\t\tlng: 12.050009855122786,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Roskilde',\r\n\t\t\taddress: 'Villa d’Este, Bistrup Alle 49, 4000 Roskilde',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children at Sankt Hans'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 54.77501379150119,\r\n\t\tlng: 11.4980487109043,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Midtlolland',\r\n\t\t\taddress: 'Suhrsgade 4, 4930 Maribo',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.31271219387127,\r\n\t\tlng: 12.389573522582431,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Stevns',\r\n\t\t\taddress: 'Kirketorvet 2, 4660 Store Heddinge',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 54.8318208257182,\r\n\t\tlng: 11.14173035508154,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Vestlolland',\r\n\t\t\taddress: 'Øster Boulevard 1, 4900 Nakskov',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.01108144807274,\r\n\t\tlng: 11.90581597141818,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Vordingborg',\r\n\t\t\taddress: 'Algade 43, 4760 Vordingborg',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.255828390586835,\r\n\t\tlng: 12.118233655102753,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Faxe',\r\n\t\t\taddress: 'Rønnedevej 4, 4640 Faxe',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.120510202598595,\r\n\t\tlng: 12.03859686859129,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Præstø',\r\n\t\t\taddress: 'Priesesstræde 7, 4720 Præstø',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.21142047844547,\r\n\t\tlng: 11.766127509081912,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Næstved-Fuglebjerg',\r\n\t\t\taddress: 'Parkvej 101, 4700 Næstved',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.17911532016813,\r\n\t\tlng: 11.975332066750079,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Næstved-Fuglebjerg',\r\n\t\t\taddress: 'Korskildevej 2A, 4733 Tappernøje',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 54.77000285366457,\r\n\t\tlng: 11.869997999252874,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Nykøbing Falster/Sydfalster',\r\n\t\t\taddress: 'Kongensgade 43, 4800 Nykøbing Falster',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.72969440095002,\r\n\t\tlng: 12.359547812796324,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Ballerup',\r\n\t\t\taddress: 'Banegårdspladsen 1, 2750 Ballerup',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.67005033482582,\r\n\t\tlng: 12.450712824444546,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Rødovre',\r\n\t\t\taddress: 'Cafébiblioteket, Nørrekær 8, 2610 Rødovre',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.6139879401707,\r\n\t\tlng: 12.355971953276581,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Ishøj-Vallensbæk',\r\n\t\t\taddress: 'Ishøj Store Torv, 2. sal lok. 23, 2635 Ishøj',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.456391912568456,\r\n\t\tlng: 12.179696366764018,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Køge',\r\n\t\t\taddress: 'Vestergade 3C, 4600 Køge',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.48039732252041,\r\n\t\tlng: 12.17644441278378,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Køge',\r\n\t\t\taddress: 'CID, Ølbycenter 53, 4600 Køge',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.868780251033165,\r\n\t\tlng: 12.346821041638204,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Allerød',\r\n\t\t\taddress: 'Gl Lyngevej 18 A C, 3450 Lillerød',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.816167961233525,\r\n\t\tlng: 12.378602239791402,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Furesø',\r\n\t\t\taddress: 'Paltholmterrasserne 1, 3520 Farum',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.9738465336253,\r\n\t\tlng: 12.018139083973741,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Halsnæs',\r\n\t\t\taddress: 'Valseværksstræde 5, 3300 Frederiksværk',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.children and adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.72547309919318,\r\n\t\tlng: 12.435558726606866,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Herlev',\r\n\t\t\taddress: 'Herlev Bibliotek, Herlev Bygade 70, 2730 Herlev',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n\r\n\t{\r\n\t\tlat: 55.82728458773198,\r\n\t\tlng: 12.531455057392776,\r\n\t\tdetails: {\r\n\t\t\tdepartment: 'Søllerød',\r\n\t\t\taddress: 'Egebækvej 80, 2850 Nærum',\r\n\t\t\taudience: txt('learnDanish.cafe.audienceTypes.adults'),\r\n\t\t\tcontact: 'integration@rodekors.dk',\r\n\t\t},\r\n\t},\r\n]\r\n\r\nexport const CafeMap = () => {\r\n\tconst [location, setLocation] = useState(null)\r\n\tconst [locations, setLocations] = useState([])\r\n\r\n\tuseEffect(() => {\r\n\t\tconst locations = getCafeLocations().map((location, index) => ({ ...location, id: index }))\r\n\t\tconst timeout = setTimeout(() => setLocations(locations), 100)\r\n\t\treturn () => clearTimeout(timeout)\r\n\t}, [])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{txt('learnDanish.cafe.title')}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t setLocation(null)} noCluster />\r\n\r\n\t\t\t\t{location && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('learnDanish.cafe.department')}: {location?.details?.department}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{location?.details?.address}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{txt('learnDanish.cafe.audience')}: {location?.details?.audience}\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t{location?.details?.contact && (\r\n\t\t\t\t\t\t\t Linking.openURL('mailto:' + location?.details?.contact)}\r\n\t\t\t\t\t\t\t\taccessibilityRole=\"link\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{location?.details?.contact}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: {\r\n\t\tflex: 1,\r\n\t\tmargin: 10,\r\n\t\tminHeight: 420,\r\n\t},\r\n\r\n\ttitle: {\r\n\t\tmarginTop: 12,\r\n\t\ttextAlign: 'center',\r\n\t},\r\n\r\n\tlocation: {\r\n\t\tposition: 'absolute',\r\n\t\tbackgroundColor: Colors.white,\r\n\t\tpadding: 16,\r\n\t\tmargin: 16,\r\n\t\tbottom: 0,\r\n\t\tleft: 0,\r\n\t\tright: 0,\r\n\t\t...CornerStyles.borderRadiusS,\r\n\t},\r\n\r\n\tcontact: {\r\n\t\tcolor: Colors.blueAzure,\r\n\t},\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { Image, Linking, StyleSheet, View } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport { getAvailableDates, getUserCountry } from '../../../services/api/LearnDanish'\r\nimport BookedSessions from '../LearnDanish/BookedSessions'\r\nimport { AvailableSessions } from '../LearnDanish/AvailableSessions'\r\nimport { useNavigation } from '@react-navigation/native'\r\nimport { URLOpener } from '../../../utils/URLOpener'\r\nimport BehaviorDialog from './BehaviorDialog'\r\nimport PhoneInputForm from '../../formElements/PhoneInputForm'\r\nimport OptionsDialog from '../../dialogs/OptionsDialog'\r\nimport { ShadowStyles, TypographyStyles } from '../../../styles'\r\nimport { useSelector } from 'react-redux'\r\nimport Layout from '../../../constants/Layout'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport Colors from '../../../constants/Colors'\r\nimport { dropShadow } from '../../../styles/shadows'\r\nimport CustomPressable from '../../pressables/CustomPressable'\r\nimport { SproglandCountryDialog } from '../../dialogs/SproglandCountryDialog'\r\nimport { CafeMap } from './CafeMap'\r\n\r\nexport default function SproglandUserView({ getBookedSessions, bookedSessions, bookSession, juniorId }) {\r\n\tconst navigation = useNavigation()\r\n\tconst [availableDates, setAvailableDates] = useState([])\r\n\tconst [showHelpPopup, setShowHelpPopup] = useState(false)\r\n\tconst [optionsVisible, setOptionsVisible] = useState(false)\r\n\tconst phoneNumber = useSelector((state) => state.user?.phone)\r\n\tconst [countryDialogVisible, setCountryDialogVisible] = useState(false)\r\n\r\n\tuseEffect(() => {\r\n\t\tfetchAvailableDates()\r\n\t\tgetUserCountry().then((country) => {\r\n\t\t\tif (!country) setCountryDialogVisible(true)\r\n\t\t})\r\n\t}, [])\r\n\r\n\tfunction navigateToConversation(conversationId) {\r\n\t\tnavigation.navigate('InboxStack', {\r\n\t\t\tscreen: 'Conversation',\r\n\t\t\tinitial: false,\r\n\t\t\tparams: { id: conversationId },\r\n\t\t})\r\n\t}\r\n\r\n\tfunction navigateToNewConversation(userId, sessionId) {\r\n\t\tnavigation.navigate('InboxStack', {\r\n\t\t\tscreen: 'Conversation',\r\n\t\t\tinitial: false,\r\n\t\t\tparams: {\r\n\t\t\t\tid: 'new',\r\n\t\t\t\treceiverId: userId,\r\n\t\t\t\tslSessionId: sessionId,\r\n\t\t\t},\r\n\t\t})\r\n\t}\r\n\r\n\tasync function fetchAvailableDates() {\r\n\t\tconst dates = await getAvailableDates(juniorId)\r\n\t\tconst updatedArray = dates.map((item) => ({ ...item, dates: [], dropdownActive: false }))\r\n\t\tsetAvailableDates(updatedArray)\r\n\t}\r\n\r\n\tfunction toggleModal() {\r\n\t\tsetShowHelpPopup((prev) => !prev)\r\n\t}\r\n\r\n\tconst junior = {\r\n\t\tlabel: txt(`learnDanish.guide.linkTextJunior`),\r\n\t\ticon: 'info-circle',\r\n\t\taction: async () => {\r\n\t\t\tawait URLOpener(`https://filer.boblberg.dk/Files/Guides/guide_sprogland_junior_dansk.pdf`)\r\n\t\t\tsetOptionsVisible(false)\r\n\t\t},\r\n\t}\r\n\r\n\tconst guideEnglish = {\r\n\t\tlabel: txt(`learnDanish.guide.linkTextEnglish`),\r\n\t\ticon: 'info-circle',\r\n\t\taction: async () => {\r\n\t\t\tawait URLOpener(`https://filer.boblberg.dk/Files/Guides/guide_sprogland_english.pdf`)\r\n\t\t\tsetOptionsVisible(false)\r\n\t\t},\r\n\t}\r\n\r\n\tconst guideDanish = {\r\n\t\tlabel: txt(`learnDanish.guide.linkTextDanish`),\r\n\t\ticon: 'info-circle',\r\n\t\taction: async () => {\r\n\t\t\tawait URLOpener(`https://filer.boblberg.dk/Files/Guides/guide_sprogland_dansk.pdf`)\r\n\t\t\tsetOptionsVisible(false)\r\n\t\t},\r\n\t}\r\n\r\n\tconst dictionary = {\r\n\t\tlabel: txt('learnDanish.volunteer.materials.dictionary'),\r\n\t\ticon: 'book',\r\n\t\taction: async () => {\r\n\t\t\tawait URLOpener('https://filer.boblberg.dk/Files/Sprogland/Ukrainian-Danish-English-dictionary.pdf')\r\n\t\t\tsetOptionsVisible(false)\r\n\t\t},\r\n\t}\r\n\r\n\tconst behavior = {\r\n\t\tlabel: txt('learnDanish.help.label'),\r\n\t\ticon: 'shield',\r\n\t\taction: async () => {\r\n\t\t\ttoggleModal()\r\n\t\t\tsetOptionsVisible(false)\r\n\t\t},\r\n\t}\r\n\r\n\tconst options = [\r\n\t\t{\r\n\t\t\tlabel: txt('learnDanish.guide.faq'),\r\n\t\t\ticon: 'question-circle',\r\n\t\t\taction: async () => {\r\n\t\t\t\tawait URLOpener(`https://boblberg.dk/sprogland/faq`)\r\n\t\t\t\tsetOptionsVisible(false)\r\n\t\t\t},\r\n\t\t},\r\n\t]\r\n\r\n\tif (juniorId) options.push(junior)\r\n\tif (!juniorId) options.push(guideEnglish, guideDanish)\r\n\toptions.push(dictionary)\r\n\toptions.push(behavior)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{(phoneNumber === 0 || !phoneNumber) && (\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\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\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\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\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('learnDanish.user.help')}\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\r\n\t\t\t\t\t\t\t\t\t\t\t{txt('learnDanish.user.helpText')}\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\t\tLinking.openURL(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tjuniorId ? 'mailto:sproglandjunior@rodekors.dk' : 'mailto:sprogland@rodekors.dk'\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\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{juniorId ? 'sproglandjunior@rodekors.dk' : 'sprogland@rodekors.dk'}\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\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\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{txt('learnDanish.user.reference')}\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\r\n\t\t\t\t\t\t\t\t\t\t\t URLOpener('https://www.rodekors.dk/sprogunivers/vidensbank')} style={{ display: 'flex' }}>\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{txt('learnDanish.user.referenceLink1')}\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\t URLOpener('https://www.rodekors.dk/trivsel')} style={{ display: 'flex' }}>\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{txt('learnDanish.user.referenceLink2')}\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\t URLOpener('https://www.rodekors.dk/venner-viser-vej')} style={{ display: 'flex' }}>\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{txt('learnDanish.user.referenceLink3')}\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\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\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 setOptionsVisible(true)}\r\n\t\t\t\t\ttitleStyle={{ ...TypographyStyles.textSmall }}\r\n\t\t\t\t\tstyle={[styles.button, { marginTop: 12 }]}\r\n\t\t\t\t/>\r\n\t\t\t\t setOptionsVisible(false)}\r\n\t\t\t\t\toptions={options}\r\n\t\t\t\t\tfont=\"smallBold\"\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\r\nconst styles = StyleSheet.create({\r\n\tsessionContainer: {\r\n\t\talignSelf: 'stretch',\r\n\t\tmarginBottom: 20,\r\n\t},\r\n\tbutton: {\r\n\t\twidth: 150,\r\n\t\tpaddingHorizontal: 8,\r\n\t},\r\n\tlayout: {\r\n\t\tflexDirection: 'row',\r\n\t\tjustifyContent: 'space-around',\r\n\t},\r\n\telement: {\r\n\t\twidth: '100%',\r\n\t\tminWidth: 500,\r\n\t\tmaxWidth: 900,\r\n\t},\r\n\titem: {\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\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tbadge: {\r\n\t\tborderRadius: 70,\r\n\t\tbackgroundColor: Colors.redCrossRed,\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'center',\r\n\t\talignSelf: 'flex-end',\r\n\t\t...dropShadow,\r\n\t\tposition: 'absolute',\r\n\t\tright: 10,\r\n\t\tzIndex: 10,\r\n\t},\r\n\tbadgeBig: {\r\n\t\twidth: Layout.isSmallDevice ? 120 : 140,\r\n\t\theight: Layout.isSmallDevice ? 120 : 140,\r\n\t\ttop: -170,\r\n\t},\r\n\tbadgeText: {\r\n\t\tcolor: Colors.white,\r\n\t\ttextAlign: 'center',\r\n\t\tlineHeight: 24,\r\n\t\tmarginTop: Layout.isSmallDevice ? 6 : 12,\r\n\t},\r\n})\r\n","import Colors from '../../constants/Colors'\r\nimport { Dimensions, Image, StyleSheet } from 'react-native'\r\nimport NormalIcon from '../../components/icons/NormalIcon'\r\nimport Fontsizes from '../../constants/Fontsizes'\r\nimport React from 'react'\r\nimport CustomPressable from \"../../components/pressables/CustomPressable\"\r\n\r\nconst logoNoCross = 'https://filer.boblberg.dk/Assets/Img/sprogland/sprogland-logo-i-samarbejde-med-no-cross.png'\r\nconst logo = 'https://filer.boblberg.dk/Assets/Img/sprogland/sprogland-logo-i-samarbejde-med.png'\r\nconst juniorLogo = 'https://filer.boblberg.dk/Assets/Img/sprogland/sprogland-junior-logo.png'\r\n\r\nconst { width } = Dimensions.get('window')\r\nconst small = width < 800\r\n\r\nexport const sproglandHeaderBackImage = (navigation) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport const sproglandHeaderTitle = (cross) => (\r\n \r\n)\r\n\r\nexport const sproglandJuniorHeaderTitle = () => (\r\n \r\n)\r\n\r\nexport const sproglandHeaderStyle = {\r\n backgroundColor: Colors.redCrossBackground,\r\n elevation: 0,\r\n shadowOpacity: 0,\r\n borderBottomWidth: 0,\r\n height: small ? 140 : 120,\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n logo: {\r\n height: 70,\r\n width: 200,\r\n },\r\n logoNoCross: {\r\n height: 40,\r\n width: 200,\r\n },\r\n logoBig: {\r\n height: 80,\r\n width: 200,\r\n },\r\n logoBigNoCross: {\r\n height: 50,\r\n width: 200,\r\n },\r\n juniorLogo: {\r\n height: 70,\r\n width: 225,\r\n },\r\n juniorLogoBig: {\r\n height: 80,\r\n width: 250,\r\n },\r\n})","import React, { useEffect, useState } from 'react'\r\nimport { Image, View, StyleSheet, Dimensions } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport { bookSession, getBookedSessions } from '../../../services/api/LearnDanish'\r\nimport TxtTMD from '../../../constants/TxtTMD'\r\nimport PageTitle from '../../../components/tags/PageTitle'\r\nimport MainContainer from '../../MainContainer/MainContainer'\r\nimport SproglandUserView from '../Sprogland/SproglandUserView'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport {\r\n sproglandHeaderBackImage,\r\n sproglandHeaderStyle,\r\n sproglandHeaderTitle,\r\n} from '../../../screens/LearnDanish/SproglandOptions'\r\n\r\nconst { width } = Dimensions.get('window')\r\nconst small = width < 800\r\n\r\nexport default function SproglandOversigt() {\r\n const [bookedSessions, setBookedSessions] = useState([])\r\n const navigation = useNavigation()\r\n\r\n useEffect(() => {\r\n navigation.setOptions({\r\n headerBackTitle: small && ' ',\r\n headerBackTitleStyle: { color: Colors.text, fontFamily: 'raleway-regular' },\r\n headerBackImage: () => sproglandHeaderBackImage(navigation),\r\n headerTitle: () => sproglandHeaderTitle(true),\r\n headerStyle: sproglandHeaderStyle,\r\n })\r\n }, [])\r\n\r\n const book = (sessionId) => {\r\n return bookSession(sessionId)\r\n }\r\n\r\n const loadBookedSessions = async () => {\r\n const bookedSessions = await getBookedSessions()\r\n setBookedSessions(bookedSessions)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n sessionContainer: { alignSelf: 'stretch', marginBottom: 20 },\r\n widthHeight: {\r\n flex: 1,\r\n width: '100%',\r\n alignSelf: 'center',\r\n },\r\n bannerImage: {\r\n alignSelf: 'center',\r\n width: width,\r\n height: 125,\r\n marginVertical: 24,\r\n },\r\n})\r\n","import React from 'react'\r\nimport CreateEditPost from '../../components/views/Post/CreateEditPost'\r\nimport TxtTMD from '../../constants/TxtTMD'\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { createPost } from '../../services/api/Posts'\r\n\r\nexport default function CreatePostScreen() {\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","import { CustomText } from '../../text/StyledText'\r\nimport CustomDialog, {\r\n ActionButton,\r\n ContentContainer,\r\n} from '../../dialogs/CustomDialog'\r\nimport React from 'react'\r\nimport { txt } from '../../../locales/i18n'\r\n\r\nconst ConfirmLeaveDialog = (props) => (\r\n \r\n \r\n {txt('conversations.Leave.body')}\r\n \r\n \r\n {txt('conversations.Leave.confirm')}\r\n \r\n \r\n {txt('conversations.Leave.cancel')}\r\n \r\n \r\n)\r\n\r\nexport default ConfirmLeaveDialog\r\n","import { Image, StyleSheet, View } from 'react-native'\r\nimport Paths from '../../constants/Paths'\r\nimport React from 'react'\r\n\r\n// size = ['small'|'large']\r\n\r\nexport default function ImgHighlightChristmas({ type, imgFilename, size = ''}) {\r\n let borderSource\r\n if (type === 'host') borderSource = require('../../assets/images/Julevenner/Julehus_sign.png')\r\n else if (type === 'guest') borderSource = require('../../assets/images/Julevenner/Julekrans_sign.png')\r\n else borderSource = require('../../assets/images/Julevenner/Julekrans.png')\r\n\r\n const imgBaseUrl = type === 'group' ? Paths.groupUrlBase : Paths.imageUrlBaseJV\r\n \r\n const imgSource = imgFilename\r\n ? { uri: imgBaseUrl + imgFilename }\r\n : require('../../assets/images/Julevenner/Julevenner_logo.png')\r\n\r\n if (type === 'group') type = 'guest'\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n imageContainer: {\r\n width: 100,\r\n height: 100,\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n imageContainerlarge: {\r\n width: 200,\r\n height: 200,\r\n },\r\n imageContainersmall: {\r\n width: 33,\r\n height: 33,\r\n },\r\n imageContainermedium: {\r\n width: 66,\r\n height: 66,\r\n },\r\n hostImage: {\r\n marginTop: 3,\r\n width: 67,\r\n height: 67,\r\n borderTopRightRadius: 20,\r\n borderTopLeftRadius: 20,\r\n },\r\n hostImagelarge: {\r\n marginTop: 6,\r\n width: 134,\r\n height: 134,\r\n borderTopRightRadius: 40,\r\n borderTopLeftRadius: 40,\r\n },\r\n hostImagesmall: {\r\n marginTop: 1,\r\n width: 22,\r\n height: 22,\r\n borderTopRightRadius: 3,\r\n borderTopLeftRadius: 3,\r\n },\r\n hostImagemedium: {\r\n marginTop: 2,\r\n width: 44,\r\n height: 44,\r\n borderTopRightRadius: 6,\r\n borderTopLeftRadius: 6,\r\n },\r\n guestImage: {\r\n width: 75,\r\n height: 75,\r\n borderRadius: 35,\r\n },\r\n guestImagelarge: {\r\n width: 150,\r\n height: 150,\r\n borderRadius: 70,\r\n },\r\n guestImagesmall: {\r\n width: 25,\r\n height: 25,\r\n borderRadius: 12,\r\n },\r\n guestImagemedium: {\r\n width: 50,\r\n height: 50,\r\n borderRadius: 25,\r\n },\r\n imageBorder: {\r\n zIndex: 1,\r\n position: 'absolute',\r\n width: 100,\r\n height: 100,\r\n },\r\n imageBorderlarge: {\r\n width: 200,\r\n height: 200,\r\n },\r\n imageBordersmall: {\r\n width: 33,\r\n height: 33,\r\n },\r\n imageBordermedium: {\r\n width: 66,\r\n height: 66,\r\n }\r\n})\r\n","import React, { useEffect, useState, useRef } from \"react\";\r\nimport { View, Image, StyleSheet } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Paths from '../../../constants/Paths'\r\nimport OptionsDialog from '../../dialogs/OptionsDialog'\r\nimport { leaveConversation as leaveConversationApi } from '../../../services/api/Inbox'\r\nimport ConfirmLeaveDialog from './ConfirmLeaveDialog'\r\nimport store from '../../../redux/store'\r\nimport { removeConversation } from '../../../redux/actions'\r\nimport { NotificationBadge } from '../../icons/NotificationBadge'\r\nimport Fontsizes from '../../../constants/Fontsizes'\r\nimport OptionButton from '../../buttons/OptionButton'\r\nimport ImgHighlightChristmas from '../../../christmasFriends/components/ImgHighlightChristmas'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function ConversationListItem(props) {\r\n const [showOptions, setShowOptions] = useState(false)\r\n const [showLeaveConfirm, setShowLeaveConfirm] = useState(false)\r\n const options = useRef([])\r\n\r\n useEffect(() => {\r\n setOptions()\r\n }, [props])\r\n\r\n function setOptions() {\r\n options.current = [\r\n {\r\n label: txt('conversations.options.see'),\r\n icon: \"info-circle\",\r\n action: () => {\r\n props.goToInformation()\r\n toggleShowOptions()\r\n },\r\n },\r\n {\r\n label: txt('conversations.options.leave'),\r\n icon: \"sign-out\",\r\n action: handleLeavePress,\r\n type: 'danger',\r\n },\r\n ]\r\n\r\n if (props.post_id || props.christmas_post_id) {\r\n options.current.unshift({\r\n label: txt('conversations.options.goto'),\r\n icon: \"chevron-right\",\r\n action: () => {\r\n props.post_id ? props.goToPost() : props.goToChristmasPost(props.christmas_post_id)\r\n toggleShowOptions()\r\n },\r\n })\r\n }\r\n if (props.group_id) {\r\n options.current.unshift({\r\n label: txt('conversations.options.gotoGroup'),\r\n icon: \"chevron-right\",\r\n action: () => {\r\n props.goToGroup(props.group_id)\r\n toggleShowOptions()\r\n },\r\n })\r\n }\r\n }\r\n\r\n const toggleShowOptions = () => {\r\n setShowOptions((prev) => !prev)\r\n }\r\n\r\n const leaveConversation = async () => {\r\n await leaveConversationApi(props.conversation_id)\r\n toggleShowLeaveConfirm()\r\n store.dispatch(removeConversation(props.conversation_id))\r\n }\r\n\r\n const toggleShowLeaveConfirm = () => {\r\n setShowLeaveConfirm((prev) => !prev)\r\n }\r\n\r\n const handleLeavePress = async () => {\r\n toggleShowOptions()\r\n toggleShowLeaveConfirm()\r\n }\r\n\r\n const announcementCheck = () => {\r\n const latestMsg = props.messages[0]\r\n if (latestMsg.user_id === props.user.id) {\r\n return txt(`conversations.ownAnnouncement.${latestMsg.announcement_id}`)\r\n } else {\r\n return `${latestMsg.username} ${txt(`conversations.announcement.${latestMsg.announcement_id}`)}`\r\n }\r\n }\r\n\r\n let imgSource\r\n if (props.post_id) {\r\n imgSource = { uri: Paths.imageUrlBase + props.image }\r\n } else if (props.group_id) {\r\n imgSource = { uri: Paths.groupUrlBase + props.image }\r\n } else if (props.sl_session_id) {\r\n imgSource = { uri: 'https://filer.boblberg.dk/Assets/Img/sprogland/sprogland_logo.jpg' }\r\n } else if (props.vs_session_id) {\r\n imgSource = { uri: 'https://filer.boblberg.dk/Assets/Img/snaksammen/snaksammen_logo.jpg' }\r\n } else {\r\n imgSource = require('../../../assets/images/bobl.png')\r\n }\r\n\r\n return (\r\n \r\n \r\n {props.christmas_post_id ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {props.unread_messages > 0 && (\r\n \r\n )}\r\n \r\n\r\n \r\n \r\n {props.title}\r\n \r\n \r\n {props.messages?.[0]?.announcement_id ? announcementCheck() : props.body}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n badge: {\r\n position: 'absolute',\r\n right: -2,\r\n top: -2,\r\n },\r\n container: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n paddingHorizontal: 12,\r\n paddingVertical: 6,\r\n },\r\n image: {\r\n borderRadius: 40,\r\n height: 66,\r\n width: 66,\r\n },\r\n text: {\r\n color: Colors.inactive,\r\n width: '100%',\r\n lineHeight: 24,\r\n },\r\n textBold: {\r\n color: Colors.text,\r\n },\r\n textContainer: {\r\n marginLeft: 12,\r\n alignSelf: 'center',\r\n flex: 1,\r\n maxHeight: 100,\r\n overflow: 'hidden',\r\n },\r\n})\r\n","import React from 'react'\r\nimport { StyleSheet } from 'react-native'\r\nimport Colors from '../../../constants/Colors'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { txt } from '../../../locales/i18n'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function CreateGroupConversationItem({ onPress }) {\r\n return (\r\n \r\n \r\n {txt('conversations.create.cardTitle')}\r\n \r\n \r\n {txt('conversations.create.cardBody1')}\r\n \r\n {txt('conversations.create.cardBody2')}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n backgroundColor: Colors.whiteTransparent,\r\n marginHorizontal: 12,\r\n marginVertical: 6,\r\n padding: 12,\r\n borderRadius: 12,\r\n borderWidth: .5,\r\n borderColor: Colors.blackTransparent,\r\n },\r\n text: {\r\n color: Colors.inactive,\r\n paddingTop: 3,\r\n },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { selectUsersFromConversations } from '../../../redux/selectors'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport { FlatList, StyleSheet, ScrollView, Platform } from 'react-native'\r\nimport { useSelector } from 'react-redux'\r\nimport CustomDialog from '../../dialogs/CustomDialog'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { useRoute } from '@react-navigation/native'\r\nimport CreateGroupConversationItem from './CreateGroupConversationItem'\r\nimport { LogBox } from 'react-native'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function ConversationCreate(props) {\r\n const navigation = useNavigation()\r\n const route = useRoute()\r\n const users = useSelector(selectUsersFromConversations)\r\n const [showUserList, setShowUserList] = useState(false)\r\n const [selectedUsers, setSelectedUsers] = useState(new Set())\r\n const [error, setError] = useState(false)\r\n\r\n useEffect(() => {\r\n // Because we use wrap a FlatList with a ScrollView\r\n LogBox.ignoreLogs(['VirtualizedLists should never be nested'])\r\n })\r\n\r\n function selectUser(user) {\r\n setError(false)\r\n const updatedList = new Set(selectedUsers)\r\n if (updatedList.has(user.id)) {\r\n updatedList.delete(user.id)\r\n } else {\r\n updatedList.add(user.id)\r\n }\r\n setSelectedUsers(updatedList)\r\n }\r\n\r\n async function goToConversation() {\r\n const universe = route.params?.universe\r\n close()\r\n navigation.navigate('Conversation', {\r\n id: 'new',\r\n receiverIds: selectedUsers,\r\n universe: universe || null,\r\n })\r\n }\r\n\r\n function close() {\r\n setShowUserList(false)\r\n setSelectedUsers(new Set())\r\n setError(false)\r\n }\r\n\r\n function renderUser({ item }) {\r\n return (\r\n selectUser(item)}\r\n key={item.id}\r\n style={{ flexDirection: 'row', justifyContent: 'space-between', padding: 6 }}>\r\n \r\n {item.username}\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n const handleOnPress = () => {\r\n if (Platform.OS === 'web') {\r\n window.plausible('createGroupConversation', {\r\n props: { source: props.card ? 'card' : 'icon' },\r\n })\r\n }\r\n setShowUserList(true)\r\n }\r\n\r\n return (\r\n <>\r\n {props.card ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {txt('conversations.create.title')}\r\n \r\n {/* The ScrollView needs to be there for the FlatList to behave correctly */}\r\n {Platform.OS === 'web' ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n button: {\r\n padding: 6,\r\n marginHorizontal: 6,\r\n },\r\n dialog: {\r\n padding: 12,\r\n paddingTop: 18,\r\n minWidth: 300,\r\n },\r\n header: {\r\n marginBottom: 12,\r\n textAlign: 'center',\r\n },\r\n list: {\r\n flexGrow: 0,\r\n },\r\n selectIcon: {\r\n marginLeft: 24,\r\n },\r\n submitButton: {\r\n marginTop: 12,\r\n width: '100%',\r\n },\r\n})\r\n","import React, { useEffect, useState } from 'react'\r\nimport { View, Text, FlatList, Platform, StyleSheet, Pressable, Image } from 'react-native'\r\nimport ConversationListItem from './ConversationListItem'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Colors from '../../../constants/Colors'\r\nimport { SpacingStyles, TypographyStyles } from '../../../styles'\r\nimport { useSelector } from 'react-redux'\r\nimport { useNavigation } from '@react-navigation/core'\r\nimport ConversationCreate from './ConversationCreate'\r\nimport { CustomText } from '../../text/StyledText'\r\nimport { isUserVolunteer } from '../../../services/api/volunteerApi'\r\nimport { handlePaymentClick } from '../../../utils/handlePaymentClick'\r\n\r\nexport default function InboxOverview(props) {\r\n\tconst conversations = useSelector((state) => state.conversations)\r\n\tconst user = useSelector((state) => state.user)\r\n\tconst [isVolunteer, setIsVolunteer] = useState(false)\r\n\tconst navigation = useNavigation()\r\n\tconst [showSubscriptionCard, setShowSubscriptionCard] = useState(false)\r\n\r\n\tuseEffect(() => {\r\n\t\tconst newYearUniverses = ['nytaarsvenner', 'nyarsvanner']\r\n\t\tconst hideSubscriptionCard = props.hideSubscriptionCard || newYearUniverses.includes(props.universe)\r\n\t\tconst hasFeatureOne = user?.features?.includes(1)\r\n\t\tsetShowSubscriptionCard((hasFeatureOne || hideSubscriptionCard || isVolunteer) === false)\r\n\t}, [user, isVolunteer])\r\n\r\n\tuseEffect(() => {\r\n\t\tisUserVolunteer().then(setIsVolunteer)\r\n\t\tnavigation.setOptions({\r\n\t\t\theaderRight: () => user?.features?.includes(1) && ,\r\n\t\t})\r\n\t}, [])\r\n\r\n\tconst renderConversationListItem = ({ item }) => (\r\n\t\t props.navigateToConversation(item.conversation_id)}\r\n\t\t\tgoToPost={() => props.goToPost(item.post_id)}\r\n\t\t\tgoToChristmasPost={props.goToChristmasPost}\r\n\t\t\tgoToGroup={props.goToGroup}\r\n\t\t\tgoToInformation={() => props.goToInformation(item.conversation_id)}\r\n\t\t/>\r\n\t)\r\n\r\n\tconst SubscriptionCard = () => {\r\n\t\tasync function openSubscriptionPage() {\r\n\t\t\tconst origin = 'inbox-card'\r\n\t\t\tif (Platform.OS === 'web') window.plausible('SubscriptionClick', { props: { origin } })\r\n\t\t\tawait handlePaymentClick({ origin })\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t openSubscriptionPage()}\r\n\t\t\t\tstyle={styles.subscriptionCardContainer}\r\n\t\t\t>\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{txt('subscription.inboxCard.title')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('subscription.inboxCard.text')}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\t// no conversations view\r\n\t\r\n\tif (conversations?.length === 0) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{showSubscriptionCard && }\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('conversations.noConversationsTitle')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{txt('conversations.noConversationsText')}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t index.toString()}\r\n\t\t\t\textraData={props}\r\n\t\t\t\tListHeaderComponent={() => (showSubscriptionCard ? : user?.features?.includes(1) && )}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n\tcontainer: { ...SpacingStyles.widthAndHeight },\r\n\tconversationContainer: {\r\n\t\tflex: 2,\r\n\t\tjustifyContent: Platform.OS === 'web' ? 'flex-start' : 'center',\r\n\t\tmargin: 20,\r\n\t},\r\n\tflex: { flex: 1 },\r\n\tmargin10: { margin: 10 },\r\n\ttext: {\r\n\t\t...TypographyStyles.title,\r\n\t\tcolor: Colors.inactive,\r\n\t\tlineHeight: 35,\r\n\t\ttextAlign: 'center',\r\n\t},\r\n\tsubscriptionCardContainer: {\r\n\t\tpadding: 6,\r\n\t\tmarginHorizontal: 6,\r\n\t\tflexDirection: 'row',\r\n\t\talignItems: 'center',\r\n\t\tborderWidth: 1,\r\n\t\tborderColor: Colors.greenLight,\r\n\t\tborderRadius: 10,\r\n\t},\r\n\ttextRegular: {\r\n\t\tcolor: Colors.inactive,\r\n\t\tlineHeight: 22,\r\n\t},\r\n\timage: {\r\n\t\tborderRadius: 40,\r\n\t\theight: 66,\r\n\t\twidth: 66,\r\n\t},\r\n})\r\n","import React from 'react'\r\nimport InboxOverview from '../../components/views/Conversations/InboxOverview'\r\nimport TxtTMD from '../../constants/TxtTMD'\r\nimport PageTitle from '../../components/tags/PageTitle'\r\nimport MainContainer from '../../components/MainContainer/MainContainer'\r\nimport { useSelector } from 'react-redux'\r\nimport { useNavigation } from \"@react-navigation/core\"\r\n\r\nexport default function InboxScreen(props) {\r\n const groups = useSelector(state => state.groups)\r\n const navigation = useNavigation()\r\n const navigateToConversation = (conversationId) => {\r\n navigation.push('Conversation', {\r\n id: conversationId,\r\n })\r\n }\r\n\r\n const goToPost = (postId) => {\r\n navigation.navigate('HomeStack', {\r\n screen: 'Post',\r\n initial: false,\r\n params: { id: postId },\r\n })\r\n }\r\n\r\n const goToInformation = (conversationId) => {\r\n navigation.navigate('ConversationInfo', {\r\n id: conversationId,\r\n })\r\n }\r\n\r\n const goToChristmasPost = (id) => {\r\n navigation.navigate('christmasFriends', {\r\n screen: 'PostFeedStack',\r\n initial: false,\r\n params: {\r\n screen: 'ChristmasPost',\r\n params: { id },\r\n },\r\n })\r\n }\r\n\r\n const goToGroup = (id) => {\r\n navigation.navigate('app', {\r\n screen: groups?.length > 0 ? 'GroupsStack' : 'MenuStack',\r\n initial: false,\r\n params: {\r\n screen: 'Group',\r\n params: { id },\r\n },\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\n// export default function(props) {\r\n// const groups = useSelector(state => state.groups)\r\n// return \r\n// }\r\n","import React from 'react'\r\nimport { Platform, StyleSheet, View } from 'react-native'\r\nimport { Bubble } from 'react-native-gifted-chat'\r\nimport * as WebBrowser from 'expo-web-browser'\r\n\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { getUniverseConfig } from '../../../../universe/universeController'\r\nimport { getAttachmentTempLink } from '../../../../services/api/Inbox'\r\n\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\nimport Fontsizes from '../../../../constants/Fontsizes'\r\nimport { txt } from '../../../../locales/i18n'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nexport const ChatBubble = (props) => {\r\n const universeObject = getUniverseConfig(props.route.params.universe?.toLowerCase())\r\n const colorLeft = universeObject?.leftChatBubbleBackground\r\n const colorRight = universeObject?.rightChatBubbleBackground\r\n const isOwnMessage = props.user._id === props.currentMessage.user_id\r\n\r\n if (props.currentMessage.removed) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n const handleOpenAttachment = async (attachmentId) => {\r\n const conversationId = props.route.params.id\r\n const attachmentLink = await getAttachmentTempLink(conversationId, attachmentId)\r\n if (attachmentLink === null) return\r\n await WebBrowser.openBrowserAsync(attachmentLink)\r\n }\r\n\r\n const renderFileAttachment = (attachment) => {\r\n return (\r\n \r\n handleOpenAttachment(attachment.id)}\r\n style={styles.attachmentButton}\r\n >\r\n \r\n\r\n \r\n {attachment.name === 'image' ? txt('conversation.image') : attachment.name}.{attachment.extension}\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n {props.currentMessage?.attachments?.map(renderFileAttachment)}\r\n \r\n\r\n (props.showOptionsButton ? props.renderOptionsButton(props) : null)}\r\n wrapperStyle={{\r\n right: [styles.rightWrapper, { backgroundColor: colorRight || Colors.blue }],\r\n left: [styles.leftWrapper, { backgroundColor: colorLeft || Colors.white }],\r\n }}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n deletedWrapper: {\r\n backgroundColor: Colors.transparent,\r\n borderColor: Colors.blackTransparent,\r\n borderWidth: 1,\r\n paddingBottom: 2,\r\n },\r\n\r\n leftWrapper: {\r\n flex: Platform.OS === 'web' ? 1 : 0,\r\n },\r\n\r\n rightWrapper: {\r\n flex: Platform.OS === 'web' ? 1 : 0,\r\n minWidth: 60,\r\n margin: 0,\r\n },\r\n\r\n deletedText: {\r\n color: Colors.grey,\r\n },\r\n\r\n attachmentButton: {\r\n flexDirection: 'row',\r\n alignContent: 'center',\r\n justifyContent: 'center',\r\n marginHorizontal: 'auto',\r\n marginBottom: 6,\r\n padding: 8,\r\n borderRadius: 24,\r\n borderWidth: 1,\r\n borderColor: Colors.blueAzure,\r\n backgroundColor: Colors.blueAzurePale,\r\n },\r\n})\r\n","// libraries\r\nimport React, { useState } from 'react'\r\nimport { StyleSheet, Platform } from 'react-native'\r\nimport { View, FlatList, Image } from 'react-native'\r\nimport * as DocumentPicker from 'expo-document-picker'\r\nimport * as ExpoImagePicker from 'expo-image-picker'\r\nimport * as FileSystem from 'expo-file-system'\r\n\r\nimport { txt } from '../../../../locales/i18n'\r\nimport Colors from '../../../../constants/Colors'\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\nimport Fontsizes from '../../../../constants/Fontsizes'\r\nimport { CustomText } from '../../../text/StyledText'\r\nimport CustomDialog from '../../../dialogs/CustomDialog'\r\nimport { ButtonPrimary } from '../../../buttons/StyledButtons'\r\n\r\nimport { getLibraryPermission } from '../../../../utils/getPermissions'\r\nimport { maximumDocumentSize, acceptedMimeTypes, acceptedImageMimeTypes } from '../../../../constants/FilesConfig'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\n\r\nexport const ChatAttachmentToolbar = (props) => {\r\n const [uploadErrorMessage, setUploadErrorMessage] = useState(null)\r\n\r\n const removeAttachment = async (targetIndex) => {\r\n props.setAttachments((attachments) => {\r\n return attachments.filter((attachment, index) => index !== targetIndex)\r\n })\r\n }\r\n\r\n const renderAttachment = ({ item, index }) => {\r\n const imageUri = 'data:' + item.mimeType + ';base64,' + item.base64\r\n\r\n const renderPreview = () => {\r\n if (item.mimeType.includes('image')) {\r\n return \r\n }\r\n\r\n if (item.mimeType.includes('video')) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n {renderPreview()}\r\n\r\n removeAttachment(index)}\r\n style={styles.removeAttachmentButton}\r\n accessibilityRole=\"button\"\r\n accessibilityLabel={txt('conversation.attachmentToolbar.removeAttachment')}\r\n accessibilityHint={txt('conversation.attachmentToolbar.removeAttachmentHint')}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n {item.name}\r\n \r\n \r\n )\r\n }\r\n\r\n if (props.visible === false) {\r\n return null\r\n }\r\n\r\n const handleSelectImages = async () => {\r\n if (Platform.OS !== 'web') {\r\n const permission = await getLibraryPermission()\r\n\r\n if (permission.granted === false) {\r\n const errorMessage = txt('conversation.attachmentToolbar.errors.missingPermission')\r\n return setUploadErrorMessage(errorMessage)\r\n }\r\n }\r\n\r\n const mediaTypes = ExpoImagePicker.MediaTypeOptions.Images\r\n const options = { mediaTypes, allowsMultipleSelection: true, base64: true, quality: 1 }\r\n const imageResult = await ExpoImagePicker.launchImageLibraryAsync(options)\r\n\r\n if (imageResult.canceled) return // cancelled by user\r\n const images = imageResult.assets\r\n\r\n const createAttachments = (image) => {\r\n const attachment = {\r\n mimeType: 'image/jpeg',\r\n size: image.fileSize,\r\n base64: image.base64,\r\n }\r\n\r\n if (Platform.OS !== 'web') {\r\n const filenamePattern = /([\\w-]+)\\.(\\w+)$/\r\n const [name, filename, extension] = filenamePattern.exec(image.uri)\r\n\r\n attachment.name = name\r\n attachment.filename = filename\r\n attachment.extension = extension\r\n\r\n return attachment\r\n }\r\n\r\n const mimeTypePattern = /data:(?.+);base64,/\r\n const mimeTypeResult = mimeTypePattern.exec(image.uri)\r\n const mimeType = mimeTypeResult.groups?.mimeType ?? null\r\n attachment.mimeType = mimeType\r\n\r\n const acceptedImageMimeType = acceptedImageMimeTypes.find((acceptedMimeType) => {\r\n return acceptedMimeType.mime === mimeType\r\n })\r\n\r\n if (!acceptedImageMimeType) {\r\n const errorMessage = txt('conversation.attachmentToolbar.errors.unsupportedImageFormat')\r\n throw errorMessage\r\n }\r\n\r\n attachment.filename = 'image'\r\n attachment.name = 'image.' + acceptedImageMimeType.extension\r\n attachment.extension = acceptedImageMimeType.extension\r\n\r\n return attachment\r\n }\r\n\r\n try {\r\n const attachments = images.map(createAttachments)\r\n props.setAttachments((currentAttachment) => [...currentAttachment, ...attachments])\r\n } catch (errorMessage) {\r\n if (typeof errorMessage === 'string') {\r\n return setUploadErrorMessage(errorMessage)\r\n }\r\n\r\n const unknownErrorMessage = txt('conversation.attachmentToolbar.errors.unknown')\r\n setUploadErrorMessage(unknownErrorMessage)\r\n }\r\n }\r\n\r\n const handleSelectDocument = async () => {\r\n if (Platform.OS !== 'web') {\r\n const permission = await getLibraryPermission()\r\n\r\n if (permission.granted === false) {\r\n const errorMessage = txt('conversation.attachmentToolbar.errors.missingPermission')\r\n return setUploadErrorMessage(errorMessage)\r\n }\r\n }\r\n\r\n const { assets, canceled } = await DocumentPicker.getDocumentAsync()\r\n if (canceled) return // cancelled by user\r\n\r\n const [file] = assets\r\n const { name, size, uri, mimeType } = file\r\n\r\n const { extension, filename } = /(?.+)\\.(?\\w+)$/g.exec(name).groups\r\n\r\n const attachmentMimeType = acceptedMimeTypes.find((mimeType) => {\r\n return mimeType.extension === extension.toLowerCase()\r\n })\r\n\r\n if (!attachmentMimeType) {\r\n const errorMessage = txt('conversation.attachmentToolbar.errors.unsupportedDocumentFormat')\r\n return setUploadErrorMessage(errorMessage)\r\n }\r\n\r\n if (size > maximumDocumentSize) {\r\n const errorMessage = txt('conversation.attachmentToolbar.errors.unsupportedDocumentSize')\r\n const supportedSize = `${maximumDocumentSize * 10 ** -6} megabytes`\r\n return setUploadErrorMessage(`${errorMessage} ${supportedSize}`)\r\n }\r\n\r\n const attachment = { mimeType, name, size, filename, extension }\r\n\r\n if (Platform.OS === 'web') {\r\n const regex = /;base64,(?.+)$/g.exec(uri)\r\n attachment.base64 = regex.groups.data\r\n props.setAttachments((attachments) => [...attachments, attachment])\r\n return\r\n }\r\n\r\n const options = { encoding: 'base64' }\r\n attachment.base64 = await FileSystem.readAsStringAsync(uri, options)\r\n\r\n props.setAttachments((attachments) => [...attachments, attachment])\r\n }\r\n\r\n const ListEmptyComponent = (\r\n \r\n \r\n {txt('conversation.attachmentToolbar.emptyTitle')}\r\n \r\n\r\n \r\n \r\n \r\n {txt('conversation.attachmentToolbar.emptyDescription')}\r\n \r\n \r\n \r\n )\r\n\r\n const ActionContainer = (\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n {txt('conversation.attachmentToolbar.errors.title')}\r\n {uploadErrorMessage}\r\n\r\n setUploadErrorMessage(null)}\r\n style={{ backgroundColor: Colors.blueAzure }}\r\n title={txt('global.ok')}\r\n titleStyle={{ paddingHorizontal: 12 }}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n list: {\r\n backgroundColor: Colors.white,\r\n borderRadius: 6,\r\n },\r\n\r\n removeAttachmentButton: {\r\n position: 'absolute',\r\n right: -6,\r\n top: -6,\r\n backgroundColor: Colors.greyLight,\r\n borderRadius: 12,\r\n padding: 3,\r\n },\r\n\r\n attachmentName: {\r\n width: 72,\r\n textAlign: 'center',\r\n fontSize: Fontsizes.xs,\r\n },\r\n\r\n previewContainer: {\r\n height: 64,\r\n width: 64,\r\n margin: 6,\r\n backgroundColor: Colors.greyLightLight,\r\n borderRadius: 6,\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n display: 'flex',\r\n },\r\n\r\n imagePreview: {\r\n height: 64,\r\n width: 64,\r\n resizeMode: 'cover',\r\n borderRadius: 6,\r\n borderColor: Colors.greyLightLight,\r\n borderWidth: 1,\r\n },\r\n\r\n attachmentContainer: {\r\n position: 'relative',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n margin: 6,\r\n flex: 1,\r\n },\r\n\r\n actionContainer: {\r\n backgroundColor: Colors.white,\r\n flexDirection: 'row',\r\n alignContent: 'center',\r\n justifyContent: 'center',\r\n },\r\n\r\n actionButtonsContainer: {\r\n borderRightColor: Colors.greyLightLight,\r\n borderRightWidth: 1,\r\n margin: 9,\r\n paddingHorizontal: 6,\r\n justifyContent: 'center',\r\n },\r\n\r\n actionButton: {\r\n padding: 12,\r\n margin: 6,\r\n backgroundColor: Colors.greyLightLight,\r\n borderRadius: 12,\r\n },\r\n\r\n errorDialog: {\r\n padding: 24,\r\n },\r\n\r\n emptyListContainer: {\r\n flex: 1,\r\n justifyContent: 'space-evenly',\r\n margin: 12,\r\n },\r\n})\r\n","import React, { useEffect, useRef, useState } from 'react'\r\nimport { StyleSheet, Platform, View } from 'react-native'\r\nimport { GiftedChat } from 'react-native-gifted-chat'\r\n\r\nimport moment from 'moment'\r\nimport 'moment/min/locales' //needs to be there to update locale to another countrycode.\r\n\r\nimport { ChatBubble } from './ChatBubble'\r\nimport { ChatAttachmentToolbar } from './ChatAttachmentToolbar'\r\nimport { CustomSnackbar } from '../../../snackbars/Snackbar'\r\n\r\nimport { TypographyStyles } from '../../../../styles'\r\nimport Colors from '../../../../constants/Colors'\r\nimport { txt } from '../../../../locales/i18n'\r\n\r\nimport { MessageTextInput } from '../../../text/StyledTextinputs'\r\nimport NormalIcon from '../../../icons/NormalIcon'\r\nimport Fontsizes from '../../../../constants/Fontsizes'\r\nimport CustomPressable from \"../../../pressables/CustomPressable\"\r\nimport { CustomText } from \"../../../text/StyledText\"\r\nimport store from \"../../../../redux/store\"\r\n\r\nconst deletedStatuses = [\r\n -3, // deletedByUser\r\n -4, // deletedByAdmin\r\n]\r\n\r\nexport const Chat = (props) => {\r\n const [messages, setMessages] = useState(null)\r\n const hasFeature1 = store.getState().user?.features?.includes(1)\r\n\r\n useEffect(() => {\r\n const messages = props.messages.map((message) => {\r\n message._id = message.id\r\n message.text = message.body\r\n message.createdAt = message.created\r\n message.user = { _id: message.user_id, name: message.username }\r\n message.removed = false\r\n\r\n if (deletedStatuses.includes(message.status_id)) {\r\n message.removed = true\r\n message.createdAt = undefined\r\n message.text = txt('conversation.messageHasBeenDeleted')\r\n return message\r\n }\r\n\r\n if (!message.announcement_id) return message\r\n message.system = true\r\n\r\n if (props.user.id === message.user_id) {\r\n message.text = txt(`conversations.ownAnnouncement.${message.announcement_id}`)\r\n return message\r\n }\r\n\r\n message.text = `${message.username} ${txt(`conversations.announcement.${message.announcement_id}`)}`\r\n return message\r\n })\r\n\r\n setMessages(messages)\r\n }, [props.messages])\r\n\r\n const renderBubble = (post) => {\r\n return (\r\n \r\n )\r\n }\r\n\r\n const renderBubbleWithRead = (post) => {\r\n const { lastRead, lastUnread, user_id } = post.currentMessage\r\n\r\n const Label = ({ text, stroke }) => (\r\n \r\n {text}\r\n \r\n \r\n )\r\n\r\n return (\r\n \r\n {renderBubble(post)}\r\n {lastRead && user_id === post.user._id ? (\r\n \r\n )\r\n }\r\n\r\n if (messages === null) return null\r\n\r\n return (\r\n <>\r\n null}\r\n renderBubble={hasFeature1 ? renderBubbleWithRead : renderBubble}\r\n />\r\n\r\n \r\n \r\n )\r\n}\r\n\r\nconst InputToolbar = (props) => {\r\n const [message, setMessage] = useState('')\r\n const [attachments, setAttachments] = useState([])\r\n const [sendErrorMessage, setSendErrorMessage] = useState(null)\r\n const [showToolbar, setShowToolbar] = useState(false)\r\n const [isSendingMessage, setIsSendingMessage] = useState(false)\r\n const [inputHeight, setInputHeight] = useState(30)\r\n const validateInputTimeoutRef = useRef(null)\r\n\r\n const handleMessageChange = (message) => {\r\n setMessage(message)\r\n if (message === '') return setInputHeight(30)\r\n\r\n if (props.isInitialMessage) {\r\n if (validateInputTimeoutRef.current !== null) clearTimeout(validateInputTimeoutRef.current)\r\n validateInputTimeoutRef.current = setTimeout(() => props?.validateText(message), 400)\r\n }\r\n }\r\n\r\n const handleSendMessage = async () => {\r\n setIsSendingMessage(true)\r\n\r\n try {\r\n const success = await props.handleSendMessage(message, attachments)\r\n\r\n if (success) {\r\n setInputHeight(30)\r\n setMessage('')\r\n setAttachments([])\r\n setShowToolbar(false)\r\n }\r\n } catch (error) {\r\n if (__DEV__) console.error(error)\r\n setSendErrorMessage(txt('apiError.UNKNOWN'))\r\n }\r\n\r\n setIsSendingMessage(false)\r\n }\r\n\r\n return (\r\n <>\r\n \r\n\r\n \r\n \r\n setInputHeight(nativeEvent.contentSize.height)}\r\n height={Platform.OS === 'web' ? inputHeight : null}\r\n value={message}\r\n />\r\n \r\n\r\n {props.showAttachmentButton && (\r\n setShowToolbar((showToolbar) => !showToolbar)}\r\n style={{ padding: 10 }}\r\n >\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n\r\n setSendErrorMessage(null)}\r\n text={sendErrorMessage}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n messageText: {\r\n color: Colors.text,\r\n ...TypographyStyles.textSmallBold,\r\n },\r\n\r\n input: {\r\n flex: 1,\r\n marginLeft: 10,\r\n maxHeight: 130,\r\n minHeight: 40,\r\n },\r\n\r\n inputContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n paddingVertical: 12,\r\n },\r\n\r\n label: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n marginTop: 3,\r\n alignSelf: 'flex-end',\r\n },\r\n\r\n labelText: {\r\n paddingRight: 6,\r\n fontSize: 11,\r\n color: Colors.grey,\r\n }\r\n})\r\n","import { CustomText } from '../../text/StyledText'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { StyleSheet } from 'react-native'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { useSelector } from 'react-redux'\r\nimport { useRoute } from '@react-navigation/native'\r\nimport { getUsername } from '../../../services/api/User'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function ConversationHeader({ newConversation, conversation, navigateToInfo }) {\r\n const title = useSelector((state) => state.conversations.filter((c) => c.conversation_id === conversation?.conversation_id)[0]?.title)\r\n const [receiver, setReceiver] = useState(null)\r\n const route = useRoute()\r\n\r\n useEffect(() => {\r\n if (route.params?.receiverId) getUsername(route.params?.receiverId).then(setReceiver)\r\n }, [route.params])\r\n\r\n if (newConversation) {\r\n return (\r\n \r\n {receiver?.username ?? txt('conversation.newTitle')}\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n {title}\r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n headerContainer: {\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'center',\r\n },\r\n})\r\n","import { apiDelete, apiGet, apiPost } from './ApiRequest'\r\n\r\nexport async function createConnection(connectionId) {\r\n let res = await apiPost({}, `connections/${connectionId}`)\r\n if (!res.ok) return\r\n return res.json()\r\n}\r\n\r\nexport async function getConnections() {\r\n const res = await apiGet(`connections`)\r\n if (!res) return\r\n return res.data\r\n}\r\n\r\nexport async function getConnection(connectionId) {\r\n const res = await apiGet(`connections/${connectionId}`)\r\n if (!res) return\r\n return res.data\r\n}\r\n\r\nexport async function isConnected(connectionId) {\r\n const res = await apiGet(`connections/connection/${connectionId}`)\r\n if (!res) return\r\n return res.data\r\n}\r\n\r\nexport async function removeConnection(connectionId) {\r\n const res = await apiDelete({}, `connections/${connectionId}`)\r\n if (!res.ok) return\r\n return res.json()\r\n}","import { CustomText } from '../../text/StyledText'\r\nimport { ContentContainer, ScrollableDialog } from '../../dialogs/CustomDialog'\r\nimport React, { useState } from 'react'\r\nimport { CustomSwitch } from '../../switches/StyledSwitches'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport { createConnection, getConnection, removeConnection } from '../../../services/api/ConnectionApi'\r\nimport { txt } from '../../../locales/i18n'\r\nimport { ButtonPrimary } from '../../buttons/StyledButtons'\r\nimport Colors from '../../../constants/Colors'\r\n\r\n\r\nexport function RenderUser({ user }) {\r\n const [connection, setConnection] = useState(false)\r\n getConnection(user.id).then(setConnection)\r\n\r\n async function handleShareProfile(connectionId) {\r\n if (connection) {\r\n const connectionRemoved = await removeConnection(connectionId)\r\n if (connectionRemoved) setConnection(false)\r\n } else {\r\n const connectionCreated = await createConnection(connectionId)\r\n if (connectionCreated) setConnection(true)\r\n }\r\n }\r\n\r\n return (\r\n \r\n {user.username}\r\n await handleShareProfile(user.id)}\r\n label={connection ? txt('connections.connectionOnLabel') : txt('connections.connectionOffLabel')}\r\n />\r\n \r\n )\r\n}\r\n\r\nexport default function ConnectionDialog({ visible, users, onDismiss }) {\r\n return (\r\n \r\n \r\n {txt('connections.title')}\r\n {txt('connections.allowDialog')}\r\n {users.map((user, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n paddingVertical: 3,\r\n marginHorizontal: 2,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n },\r\n})\r\n","import { CustomText } from '../../text/StyledText'\r\nimport { StyleSheet, View } from 'react-native'\r\nimport { CustomSwitch } from '../../switches/StyledSwitches'\r\nimport { createConnection, removeConnection } from '../../../services/api/ConnectionApi'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { getUsername } from '../../../services/api/User'\r\nimport { cardShadow } from '../../../styles/shadows'\r\nimport NormalIcon from '../../icons/NormalIcon'\r\nimport ConnectionDialog from './ConnectionDialog'\r\nimport { txt } from '../../../locales/i18n'\r\nimport Layout from '../../../constants/Layout'\r\nimport CustomPressable from \"../../pressables/CustomPressable\"\r\n\r\nexport default function Connection({ users, connection, setConnection }) {\r\n const [connectionUser, setConnectionUser] = useState(null)\r\n const [connectionDialogVisible, setConnectionDialogVisible] = useState(false)\r\n const connectionId = users[0]?.id\r\n\r\n useEffect(() => {\r\n getUsername(connectionId).then(setConnectionUser)\r\n }, [])\r\n\r\n async function handleShareProfile() {\r\n if (connection) {\r\n const connectionRemoved = await removeConnection(connectionId)\r\n if (connectionRemoved) setConnection(false)\r\n } else {\r\n const connectionCreated = await createConnection(connectionId)\r\n if (connectionCreated) setConnection(true)\r\n }\r\n }\r\n\r\n return (\r\n \r\n {users.length > 1 ? (\r\n setConnectionDialogVisible(true)}\r\n >\r\n \r\n {txt('connections.allowMembers')}\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n {txt('connections.allow', {name: connectionUser?.username})}\r\n \r\n \r\n \r\n )}\r\n setConnectionDialogVisible(false)}\r\n users={users}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n paddingLeft: 12,\r\n paddingRight: 6,\r\n paddingBottom: 6,\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n minHeight: 37,\r\n marginHorizontal: 'auto',\r\n width: '100%',\r\n maxWidth: Layout.maxFeedWidth,\r\n },\r\n})","import { useState, useEffect } from 'react'\r\nimport { Keyboard } from 'react-native'\r\n\r\nexport const useKeyboardHeight = () => {\r\n\tconst [height, setHeight] = useState(0)\r\n\r\n\tuseEffect(() => {\r\n\t\tconst handler = (event) => setHeight(event.endCoordinates.height)\r\n\t\tconst showKeyboardSubscription = Keyboard.addListener('keyboardDidShow', handler)\r\n\t\tconst hideKeyboardSubscription = Keyboard.addListener('keyboardDidHide', () => setHeight(0))\r\n\r\n\t\treturn () => {\r\n\t\t\tshowKeyboardSubscription.remove()\r\n\t\t\thideKeyboardSubscription.remove()\r\n\t\t}\r\n\t}, [])\r\n\r\n\treturn height\r\n}\r\n","import React from 'react'\r\nimport { Platform, StyleSheet } from 'react-native'\r\n\r\nimport CustomDialog, { ContentContainer } from './CustomDialog'\r\nimport CustomPressable from \"../pressables/CustomPressable\"\r\nimport { ButtonPrimary } from '../buttons/StyledButtons'\r\nimport { CustomText } from '../text/StyledText'\r\nimport { txt } from '../../locales/i18n'\r\nimport Colors from '../../constants/Colors'\r\nimport NormalIcon from '../icons/NormalIcon'\r\n\r\nimport SubscriptionBenefits from \"../shared/SubscriptionBenefits\"\r\nimport { handlePaymentClick } from \"../../utils/handlePaymentClick\"\r\n\r\nexport default function ConversationLimitDialog({ visible, hide, hasConversationFeature }) {\r\n\r\n\tconst handleClick = async () => {\r\n\t\tconst origin = 'conversation-limit-reached'\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 })\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('conversations.limit.title')}\r\n\t\t\t\t{txt('conversations.limit.body')}\r\n\r\n\t\t\t\t{!hasConversationFeature && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{txt('subscription.dialogs.subscriptionDialog.intro')}\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{hasConversationFeature && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\r\n\t\t\t{!hasConversationFeature && (\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\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\tokBtn: {\r\n\t\tminWidth: 150,\r\n\t\tpaddingHorizontal: 12,\r\n\t\tmarginBottom: 24,\r\n\t\tbackgroundColor: Colors.blueAzure,\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 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\nimport ConversationLimitDialog from '../../dialogs/ConversationLimitDialog';\r\n\r\nexport default function Conversation(props) {\r\n\tmoment.locale(txt('conversations.locale')) //Sets locale to chosen language code from Txt\r\n\tconst [showConsentDialog, setShowConsentDialog] = useState(false)\r\n\tconst [showMessageOptions, setShowMessageOptions] = useState(false)\r\n\tconst [showCopyOption, setShowCopyOption] = useState(false)\r\n\tconst [showConfirmDeletion, setShowConfirmDeletion] = useState(false)\r\n\tconst [showConversationLimitDialog, setShowConversationLimitDialog] = useState(false)\r\n\tconst [showFemaleContactLimitDialog, setShowFemaleContactLimitDialog] = useState(false)\r\n\tconst [selectedMessage, setSelectedMessage] = useState('')\r\n\tconst [showNoAccessDialog, setShowNoAccessDialog] = useState(false)\r\n\tconst [textCopied, setTextCopied] = useState(false)\r\n\tconst [messageSuspendedDialogVisible, setMessageSuspendedDialogVisible] = useState(false)\r\n\tconst [messageSuspendedDialogText, setMessageSuspendedDialogText] = useState('')\r\n\r\n\tconst [showTextValidateDialog, setShowTextValidateDialog] = useState(false)\r\n\tconst [unacceptedText, setUnacceptedText] = useState('')\r\n\r\n\tconst bottomTabBarHeight = useBottomTabBarHeight();\r\n\tconst keyboardHeight = useKeyboardHeight()\r\n\r\n\tconst [connection, setConnection] = useState(false)\r\n\tconst [conversationHasFeature, setConversationHasFeature] = useState(true)\r\n\tconst [remainingSuspensionDays, setRemainingSuspensionDays] = useState(null)\t\r\n\r\n\tlet keyboardDidHide\r\n\r\n\tconst navigation = useNavigation()\r\n\tconst user = useSelector((state) => state.user)\r\n\tconst conversation = useSelector((state) =>\r\n\t\tstate.conversations.find((c) => c.conversation_id === parseInt(props.route.params.id))\r\n\t)\r\n\tconst 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\tuseEffect(() => {\r\n\t\tgetConversationFeature(conversation?.conversation_id).then(setConversationHasFeature)\r\n\t\tsetShowNoAccessDialog(sendMessageNotAllowed())\r\n\t}, [user, props.route.params.id])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (props.route.params.id !== 'new') {\r\n\t\t\tgetConversationMessages(parseInt(props.route.params.id))\r\n\t\t\treadAllMessages(parseInt(props.route.params.id))\r\n\t\t}\r\n\t}, [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\tuseEffect(() => {\r\n\t\tprops.navigation.setOptions({\r\n\t\t\theaderBackTitleVisible: false,\r\n\t\t\theaderTitle: () => (\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t\theaderRight: () => (\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t\theaderTitleContainerStyle: styles.title,\r\n\t\t})\r\n\t}, [props.route.params.id])\r\n\r\n\tuseEffect(() => {\r\n\t\tfunction handleKeyboardDidHide() {\r\n\t\t\tif (unacceptedText !== '') {\r\n\t\t\t\tsetShowTextValidateDialog(true)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (Platform.OS !== 'web') {\r\n\t\t\tkeyboardDidHide = Keyboard.addListener('keyboardDidHide', handleKeyboardDidHide)\r\n\t\t\treturn () => keyboardDidHide.remove()\r\n\t\t}\r\n\t}, [unacceptedText])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (conversation?.otherUsers?.length > 0) getConnection(conversation?.otherUsers[0].id).then(setConnection)\r\n\t}, [])\r\n\r\n\tconst handleOnPressAvatar = async (item) => {\r\n\t\tconst hasConnection = await isConnected(item._id)\r\n\t\tif (hasConnection) props.navigateToProfile(item._id)\r\n\t}\r\n\r\n\tconst copyOption = {\r\n\t\tlabel: txt('conversations.messageOptionsCopy'),\r\n\t\ticon: \"copy\",\r\n\t\taction: async () => {\r\n\t\t\tsetShowCopyOption(false)\r\n\t\t\tsetShowMessageOptions(false)\r\n\t\t\tawait copyText()\r\n\t\t},\r\n\t}\r\n\r\n\tconst copyOptions = [copyOption]\r\n\r\n\tconst options = [\r\n\t\tcopyOption,\r\n\t\t{\r\n\t\t\tlabel: txt('conversations.messageDeleteConfirmDelete'),\r\n\t\t\ticon: \"trash\",\r\n\t\t\taction: () => {\r\n\t\t\t\tsetShowMessageOptions(false)\r\n\t\t\t\tsetShowConfirmDeletion(true)\r\n\t\t\t},\r\n\t\t\ttype: 'danger',\r\n\t\t},\r\n\t]\r\n\r\n\tconst optionsConfirmDelete = [\r\n\t\t{\r\n\t\t\tlabel: txt('conversations.messageDeleteConfirmDelete'),\r\n\t\t\ticon: \"trash\",\r\n\t\t\taction: () => deleteMessage(selectedMessage),\r\n\t\t\ttype: 'danger',\r\n\t\t},\r\n\t\t{\r\n\t\t\tlabel: txt('conversations.messageDeleteConfirmReturn'),\r\n\t\t\taction: () => setShowConfirmDeletion(false),\r\n\t\t},\r\n\t]\r\n\r\n\tconst onMessageLongPress = (context, message) => {\r\n\t\tif (message.status_id !== 1) return\r\n\t\tif (user.id === message.user_id && message.status_id === 1) {\r\n\t\t\tsetShowMessageOptions(true)\r\n\t\t} else {\r\n\t\t\tsetShowCopyOption(true)\r\n\t\t}\r\n\t\tsetSelectedMessage(message)\r\n\t}\r\n\r\n\tconst deleteMessage = async () => {\r\n\t\tsetShowConfirmDeletion(false)\r\n\t\tif (selectedMessage.status_id === 1) {\r\n\t\t\tawait deleteConversationMessage(parseInt(props.route.params.id), selectedMessage.id)\r\n\t\t\tgetConversationMessages(parseInt(props.route.params.id))\r\n\t\t}\r\n\t}\r\n\r\n\tasync function createNewConversation() {\r\n\t\tlet conversation\r\n\t\tconst receiverIds = props.route.params.receiverIds\r\n\r\n\t\tif (receiverIds) conversation = await createGroupConversation([...receiverIds])\r\n\t\telse conversation = await props.createNewConversation()\r\n\t\t\r\n\t\tif (conversation?.error === 'FEMALE_CONTACT_LIMIT') return setShowFemaleContactLimitDialog(true)\r\n\t\tif (!conversation || conversation.error) return setShowConversationLimitDialog(true)\r\n\t\t\r\n\t\tprops.navigation.setParams({ id: conversation.conversation_id })\r\n\t\treturn conversation.conversation_id\r\n\t}\r\n\r\n\tconst 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 <= 30) return txt('conversation.messageSuspensionInXDays', { days: remainingSuspensionDays })\r\n\t\t\t\treturn txt('conversation.messageSuspensionForever')\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\t\tif (body.trim() === '') return false\r\n\r\n\t\tif (sendMessageNotAllowed()) {\r\n\t\t\tsetShowNoAccessDialog(true)\r\n\t\t\treturn false\r\n\t\t}\r\n\r\n\t\tconst consent = await getScreeningConsent()\r\n\r\n\t\tif (consent === 0) {\r\n\t\t\tsetShowConsentDialog(true)\r\n\t\t\treturn false\r\n\t\t}\r\n\r\n\t\tlet conversationId = props.route.params.id\r\n\r\n\t\tif (conversationId === 'new') {\r\n\t\t\tconversationId = await createNewConversation()\r\n\t\t}\r\n\r\n\t\tif (!conversationId) return false\r\n\r\n\t\tconst message = { body, attachments }\r\n\t\tconst response = await InboxService.createMessage(message, conversationId)\r\n\r\n\t\tif (response.error === 'ACCEPT_SCREENING') {\r\n\t\t\tsetShowConsentDialog(true)\r\n\t\t\treturn false\r\n\t\t}\r\n\r\n\t\treturn true\r\n\t}\r\n\r\n\tfunction sendMessageNotAllowed() {\r\n\t\tif (user.country !== 'Denmark') return false\r\n\t\tconst isPostConversation = !!conversation?.post_id\r\n\t\tconst userHasConversationFeature = user.features.includes(Features.START_CONVERSATION)\r\n\t\tconst sameMunicipality = user.municipality_id === conversation?.otherUsers[0]?.municipalityId\r\n\t\treturn isPostConversation && sameMunicipality && !userHasConversationFeature && !conversationHasFeature\r\n\t}\r\n\r\n\tconst handleOptionPress = (currentMessage) => {\r\n\t\tsetShowMessageOptions(true)\r\n\t\tsetSelectedMessage(currentMessage)\r\n\t}\r\n\r\n\tfunction validateText(text) {\r\n\t\tconst unacceptedTextMatcher = new RegExp(unacceptedConversationText.join('|'), 'gim')\r\n\t\tconst matchResult = unacceptedTextMatcher.exec(text)\r\n\r\n\t\tif (matchResult === null) {\r\n\t\t\treturn setUnacceptedText('')\r\n\t\t}\r\n\r\n\t\tsetUnacceptedText(matchResult[0])\r\n\t\tKeyboard.dismiss()\r\n\r\n\t\tif (Platform.OS === 'web') {\r\n\t\t\tsetShowTextValidateDialog(true)\r\n\t\t}\r\n\t}\r\n\r\n\tasync function copyText() {\r\n\t\tconst copied = await Clipboard.setStringAsync(selectedMessage.text);\r\n\t\tif (copied) {\r\n\t\t\tsetTextCopied(true)\r\n\t\t\tsetTimeout(() => setTextCopied(false), 1500)\r\n\t\t}\r\n\t}\r\n\r\n\tconst getShowAttachmentButton = () => {\r\n\t\tif (conversation?.sl_session_id) return true\r\n\t\tif (conversation?.groupAdminConversation) return true\r\n\t\treturn false\r\n\t}\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\treturn (\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\r\n\t\t\t\t setShowConversationLimitDialog(false)}\r\n\t\t\t\t\thasConversationFeature={user?.features.includes(Features.START_CONVERSATION)}\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 setShowFemaleContactLimitDialog(false)}\r\n\t\t\t\t>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t setShowFemaleContactLimitDialog(false)}>\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{txt('conversation.dialogs.femaleContactLimit.title')}\r\n\t\t\t\t\t\t{txt('conversation.dialogs.femaleContactLimit.body')}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t setShowFemaleContactLimitDialog(false)}\r\n\t\t\t\t\t\tstyle={{ backgroundColor: Colors.blueAzure, marginBottom: 24 }}\r\n\t\t\t\t\t\ttitle={txt('global.close')}\r\n\t\t\t\t\t\ttitleStyle={{ paddingHorizontal: 12 }}\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 Stories: 'julevenner/historier',\r\n Story: 'julevenner/historier/: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 * as UniverseController from '../../universe/universeController'\r\nimport { getCurrentStackName } from \"../../navigation/RootNavigation\"\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 = UniverseController.getName(route)\r\n if (!universeName) return\r\n\r\n const universeId = UniverseController.getUniverseId(universeName)\r\n setUniverse({ id: universeId, name: universeName })\r\n setUniverseObject(UniverseController.getUniverseConfig(universeName))\r\n\r\n }, [navigation, route.params])\r\n\r\n function getPlacement() {\r\n const currentStack = getCurrentStackName()\r\n if (currentStack === 'christmasFriends') return 'julevenner'\r\n if (currentStack === 'universe') {\r\n const universeName = UniverseController.getName(route)\r\n if (['nytaarsvenner', 'nyarsvanner'].includes(universeName)) return 'nytårsvenner'\r\n }\r\n return 'boblberg'\r\n }\r\n\r\n async function fetchStories({ search, skip, amount }) {\r\n const placement = getPlacement()\r\n return await getStories({ search, skip, amount, placement })\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, placement = 'boblberg' }) {\r\n const stories = await apiGet(\r\n `stories?search=${search}&skip=${skip}&amount=${amount}&placement=${placement}`\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\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\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\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\tKatrine\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\tSteffen\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\tCasper\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\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\tMaia\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: 12 },\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: