feat: init

This commit is contained in:
montaghanmy
2023-03-23 11:03:16 +01:00
commit 10fe6f78d1
11518 changed files with 509786 additions and 0 deletions
@@ -0,0 +1,13 @@
{
"applinks": {
"apps": [],
"details": [
{
"appID": "KUT463DS29.com.linagora.ios.twake",
"paths": [
"*"
]
}
]
}
}
@@ -0,0 +1 @@
[{"relation":["delegate_permission/common.handle_all_urls"],"target":{"namespace":"android_app","package_name":"com.twake.twake","sha256_cert_fingerprints":["E5:26:98:12:06:5D:7A:82:55:FA:19:0B:64:1D:EE:AC:7D:F8:BD:97:18:42:58:48:AB:E9:91:75:88:32:5C:03","3F:A6:0E:29:87:A4:0E:EA:12:02:16:8F:DA:76:86:22:F0:64:EB:2D:14:3D:6F:92:D6:F4:16:CB:DA:69:53:2C"]}}]
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/mstile-150x150.png"/>
<TileColor>#da532c</TileColor>
</tile>
</msapplication>
</browserconfig>
Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

+150
View File
@@ -0,0 +1,150 @@
<!DOCTYPE html>
<html lang="en" translate="no">
<head>
<meta charset="utf-8" />
<title>Twake</title>
<meta name="google" content="notranslate">
<meta name="description" content="Go to Twake application" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"
/>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<link rel="shortcut icon" href="/favicon.ico" />
<meta name="apple-itunes-app" content="app-id=1588764852" />
<style>
#app,
#root {
top: 0;
left: 0;
width: 100vw;
height: 100%;
overflow: hidden;
background: #0d0f38;
}
#root {
z-index: 0;
}
#app {
z-index: 1;
}
#app_loader {
pointer-events: none;
opacity: 1;
transition: 0.2s;
}
#app_loader.load {
opacity: 1;
transition: 0.8s;
}
.circular{
animation: rotate 2s linear infinite;
height: 50px;
left: calc(50% - 25px);
position: absolute;
top: calc(50% - 25px);
width: 50px;
}
.path {
stroke-dasharray: 1,200;
stroke-dashoffset: 0;
animation:
dash 1.5s ease-in-out infinite,
color 6s ease-in-out infinite
;
stroke-linecap: round;
stroke: #FFFFFF;
}
@keyframes rotate{
100%{
transform: rotate(360deg);
}
}
@keyframes dash{
0%{
stroke-dasharray: 1,200;
stroke-dashoffset: 0;
}
50%{
stroke-dasharray: 89,200;
stroke-dashoffset: -35;
}
100%{
stroke-dasharray: 89,200;
stroke-dashoffset: -124;
}
}
#canary_tag {
background-image: url("/public/img/canary.png");
width: 48px;
height: 48px;
position: absolute;
left: 0px;
top: 0px;
z-index: 100;
background-position: center;
background-size: cover;
pointer-events: none;
}
</style>
<link rel="manifest" href="/manifest.json" />
<link rel="stylesheet" href="/public/font/inter/inter.css" />
<link rel="stylesheet" href="/public/font/helvetica/stylesheet.css" />
</head>
<body id="body" style="margin: 0; padding: 0;">
<div id="fyfk-widget"></div>
<div id="root" notranslate="true"></div>
<svg id="app_loader" class="circular" height="50" width="50">
<circle class="path" cx="25" cy="25" r="20" fill="none" stroke-width="3" stroke-miterlimit="10" />
</svg>
<script type="text/javascript">
window.electron_config = {};
if (typeof require != 'undefined' && typeof require('electron') != 'undefined') {
window.electron = require('electron');
if (
window.electron.remote &&
window.electron.remote.BrowserWindow &&
window.electron.remote.BrowserWindow.getAllWindows() &&
window.electron.remote.BrowserWindow.getAllWindows()[0]
) {
window.electron_config = window.electron.remote.BrowserWindow.getAllWindows()[0];
const sw = electron.screen.getPrimaryDisplay().size.width;
const sh = electron.screen.getPrimaryDisplay().size.height;
const w = Math.min(Math.ceil(sw * 0.8), 1792);
const h = Math.min(Math.min(Math.ceil(sh * 0.8), 1120), w);
electron.remote.getCurrentWindow().setBounds({ x: Math.ceil((sw - w) / 2), y: Math.ceil((sh - h) / 2), width: w, height: h });
electron.remote.getCurrentWindow().center();
}
document.getElementById('body').className = 'electron';
}
</script>
<script async src="https://cdn.headwayapp.co/widget.js"></script>
<script>
if(location.origin.indexOf("twake.app") >= 0){
!function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on","addSourceMiddleware","addIntegrationMiddleware","setAnonymousId","addDestinationMiddleware"];analytics.factory=function(e){return function(){var t=Array.prototype.slice.call(arguments);t.unshift(e);analytics.push(t);return analytics}};for(var e=0;e<analytics.methods.length;e++){var key=analytics.methods[e];analytics[key]=analytics.factory(key)}analytics.load=function(key,e){var t=document.createElement("script");t.type="text/javascript";t.async=!0;t.src="https://cdn.segment.com/analytics.js/v1/" + key + "/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(t,n);analytics._loadOptions=e};analytics.SNIPPET_VERSION="4.13.1";
analytics.load("Vl5xpgcpGRe4BmSYp9xPlAeQdqLP5lLe");
analytics.page();
}}();
}
</script>
<script>
if(location.origin.indexOf("canary.twake.app") >= 0){
const canaryTag = document.createElement("div");
canaryTag.id = "canary_tag";
document.body.appendChild(canaryTag);
window.canary = true;
}
</script>
</body>
</html>
+10
View File
@@ -0,0 +1,10 @@
{
"printWidth": 100,
"tabWidth": 4,
"useTabs": false,
"semi": true,
"singleQuote": true,
"trailingComma": "all",
"bracketSpacing": true,
"arrowParens": "avoid"
}
+66
View File
@@ -0,0 +1,66 @@
/** This too will clean up the languages keys if they are not used anywhere in the code */
const fs = require('fs');
const path = require('path');
const dryRun = false;
let allKeys = {};
const files = fs.readdirSync(__dirname);
for (const file of files) {
if (file.indexOf('.json') >= 0) {
const content = JSON.parse(fs.readFileSync(__dirname + '/' + file));
allKeys = { ...allKeys, ...content };
}
}
allKeys = Object.keys(allKeys);
console.log(allKeys.length);
let srcFiles = [];
let srcPath = __dirname + '/../../src/';
function throughDirectory(directory) {
fs.readdirSync(directory).forEach(file => {
const abs = path.join(directory, file);
if (fs.statSync(abs).isDirectory()) return throughDirectory(abs);
else return srcFiles.push(abs);
});
}
throughDirectory(srcPath);
const foundKeys = {};
for (const srcFile of srcFiles) {
if (
srcFile.indexOf('.tsx') >= 0 ||
srcFile.indexOf('.ts') >= 0 ||
srcFile.indexOf('.jsx') >= 0 ||
srcFile.indexOf('.js') >= 0
) {
const content = fs.readFileSync(srcFile);
for (const key of allKeys) {
if (!foundKeys[key]) foundKeys[key] = 0;
//We keep the apps translations
if (content.indexOf(key) >= 0 || key.indexOf('app.name.') === 0) {
foundKeys[key]++;
}
}
}
}
const found = Object.keys(foundKeys).filter(key => foundKeys[key] > 0);
const notFound = Object.keys(foundKeys).filter(key => foundKeys[key] == 0);
console.log('Found: ', found.length);
console.log('Not found: ', notFound.length);
if (!dryRun) {
for (const file of files) {
if (file.indexOf('.json') >= 0) {
const content = JSON.parse(fs.readFileSync(__dirname + '/' + file));
for (const remove of notFound) {
delete content[remove];
}
fs.writeFileSync(__dirname + '/' + file, JSON.stringify(content, null, 4));
}
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+4
View File
@@ -0,0 +1,4 @@
{
"name": "Twake",
"short_name": "Twake"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 407 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Some files were not shown because too many files have changed in this diff Show More