state.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. const config = require('./config');
  2. const layout = require('./layout');
  3. const assets = require('../common/assets');
  4. const getTranslator = require('./locale');
  5. const { getFxaConfig } = require('./fxa');
  6. module.exports = async function(req) {
  7. const locale = req.language || 'en-US';
  8. let authConfig = null;
  9. if (config.fxa_client_id) {
  10. try {
  11. authConfig = await getFxaConfig();
  12. authConfig.client_id = config.fxa_client_id;
  13. } catch (e) {
  14. // continue without accounts
  15. }
  16. }
  17. return {
  18. archive: {
  19. numFiles: 0
  20. },
  21. locale,
  22. capabilities: { account: false },
  23. translate: getTranslator(locale),
  24. title: 'Firefox Send',
  25. description:
  26. 'Encrypt and send files with a link that automatically expires to ensure your important documents don’t stay online forever.',
  27. baseUrl: config.base_url,
  28. ui: {},
  29. storage: {
  30. files: []
  31. },
  32. fira: false,
  33. fileInfo: {},
  34. cspNonce: req.cspNonce,
  35. user: { avatar: assets.get('user.svg'), loggedIn: false },
  36. authConfig,
  37. layout
  38. };
  39. };