Compare commits

...

86 Commits

Author SHA1 Message Date
Agampreet Singh
82c3f606b2 Move generated/icons/ to icons/ 2022-10-07 17:31:10 +05:30
Agampreet Singh
720de58591 Update version to 0.7.3
- Update Dependencies
- Switch to "check-internet-connected" module for checking if user is online/offline
- Show message box when error occurs on RPC connection
- Update LICENSE and copyright
- Update useragents
2022-10-07 17:28:02 +05:30
Agampreet Singh
ea1c2e7835 Update useragents and cleanup the file a bit 2022-10-07 17:24:25 +05:30
dependabot[bot]
0241793d49 Bump electron from 21.0.1 to 21.1.0 (#78)
Bumps [electron](https://github.com/electron/electron) from 21.0.1 to 21.1.0.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v21.0.1...v21.1.0)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-07 15:42:31 +05:30
dependabot[bot]
8de9c9aec4 Bump axios from 1.0.0 to 1.1.0 (#79)
Bumps [axios](https://github.com/axios/axios) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.0.0...v1.1.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-07 15:41:58 +05:30
dependabot[bot]
93d7fb5aab Bump axios from 0.27.2 to 1.0.0 (#77)
Bumps [axios](https://github.com/axios/axios) from 0.27.2 to 1.0.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.27.2...v1.0.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-05 12:58:51 +05:30
dependabot[bot]
b872abec19 Bump electron from 21.0.0 to 21.0.1 (#75)
Bumps [electron](https://github.com/electron/electron) from 21.0.0 to 21.0.1.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v21.0.0...v21.0.1)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-30 09:34:29 +05:30
Agampreet Singh
c61b877e9d Merge pull request #74 from agam778/dependabot/npm_and_yarn/electron-21.0.0
Bump electron from 20.2.0 to 21.0.0
2022-09-28 12:00:14 +05:30
dependabot[bot]
62ceb046be Bump electron from 20.2.0 to 21.0.0
Bumps [electron](https://github.com/electron/electron) from 20.2.0 to 21.0.0.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v20.2.0...v21.0.0)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-28 06:25:58 +00:00
Agampreet Singh
4854787c1f Update main.js 2022-09-27 18:34:30 +05:30
Agampreet Singh
2060c2c727 Update LICENSE 2022-09-27 18:33:52 +05:30
Agampreet Singh
8eb12469a3 Show message box when error occurs on RPC connection 2022-09-24 23:22:05 +05:30
Agampreet Singh
4a1bac260b Fix eslint errors 2022-09-24 22:58:52 +05:30
Agampreet Singh
75e9f77c57 Create eslint.yml 2022-09-24 22:36:32 +05:30
Agampreet Singh
9c8eb46d99 Add eslintignore file 2022-09-24 22:29:34 +05:30
Agampreet Singh
a0caf2f4ef Add eslint 2022-09-24 21:49:51 +05:30
Agampreet Singh
33dc28672f Update author's website 2022-09-24 21:49:22 +05:30
dependabot[bot]
44c1e78eca Bump electron from 20.1.4 to 20.2.0 (#73)
Bumps [electron](https://github.com/electron/electron) from 20.1.4 to 20.2.0.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v20.1.4...v20.2.0)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-24 17:12:41 +05:30
dependabot[bot]
f25c0df5d2 Bump electron from 20.1.3 to 20.1.4 (#71)
Bumps [electron](https://github.com/electron/electron) from 20.1.3 to 20.1.4.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v20.1.3...v20.1.4)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-20 11:00:51 +05:30
dependabot[bot]
6c55f91e30 Bump electron from 20.1.1 to 20.1.3 (#70)
Bumps [electron](https://github.com/electron/electron) from 20.1.1 to 20.1.3.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v20.1.1...v20.1.3)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-12 15:40:37 +05:30
imgbot[bot]
105eb662aa [ImgBot] Optimize images (#68)
*Total -- 5,392.22kb -> 5,070.54kb (5.97%)

/assets/generated/icons/png/1024x1024.png -- 158.27kb -> 80.10kb (49.39%)
/assets/generated/icons/png/512x512.png -- 63.29kb -> 33.96kb (46.33%)
/assets/generated/icons/png/256x256.png -- 24.45kb -> 15.64kb (36.02%)
/docs/assets/css/images/overlay.png -- 23.47kb -> 17.31kb (26.24%)
/assets/icons/download.png -- 3.03kb -> 2.24kb (25.92%)
/assets/icon.png -- 320.69kb -> 244.87kb (23.64%)
/assets/icons/download-fail.png -- 4.00kb -> 3.05kb (23.58%)
/assets/icons/download-success.png -- 3.59kb -> 2.83kb (21.3%)
/assets/generated/icons/png/128x128.png -- 9.49kb -> 7.76kb (18.24%)
/docs/images/logo.png -- 65.23kb -> 60.46kb (7.31%)
/assets/generated/icons/png/64x64.png -- 3.67kb -> 3.42kb (6.79%)
/Intro_Image.png -- 122.00kb -> 114.58kb (6.08%)
/docs/images/Mac_Screenshot.png -- 2,040.74kb -> 1,970.98kb (3.42%)
/Preview/Ubuntu Preview.png -- 214.97kb -> 209.02kb (2.77%)
/Preview/Windows Preview.png -- 698.25kb -> 686.44kb (1.69%)
/docs/assets/webfonts/fa-regular-400.svg -- 141.07kb -> 138.90kb (1.54%)
/docs/assets/webfonts/fa-solid-900.svg -- 819.71kb -> 808.10kb (1.42%)
/assets/generated/icons/png/48x48.png -- 2.56kb -> 2.53kb (1.22%)
/docs/assets/webfonts/fa-brands-400.svg -- 673.75kb -> 668.34kb (0.8%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
2022-09-07 11:54:49 +05:30
dependabot[bot]
d2667e7888 Bump electron from 20.0.3 to 20.1.1 (#67)
Bumps [electron](https://github.com/electron/electron) from 20.0.3 to 20.1.1.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v20.0.3...v20.1.1)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-01 23:08:29 +05:30
dependabot[bot]
ea0b7c820a Bump electron-context-menu from 3.4.0 to 3.5.0 (#65)
Bumps [electron-context-menu](https://github.com/sindresorhus/electron-context-menu) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/sindresorhus/electron-context-menu/releases)
- [Commits](https://github.com/sindresorhus/electron-context-menu/compare/v3.4.0...v3.5.0)

---
updated-dependencies:
- dependency-name: electron-context-menu
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-23 21:23:51 +05:30
Agampreet Singh
b4ce323f66 Add new loading screen design 2022-08-21 14:42:35 +05:30
Agampreet Singh
5a40be3de0 Switch to "check-internet-connected" module for checking if user is online/offline 2022-08-20 23:47:35 +05:30
dependabot[bot]
c6eb10e788 Bump electron-builder from 23.1.0 to 23.3.3 (#58)
Bumps [electron-builder](https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder) from 23.1.0 to 23.3.3.
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/packages/electron-builder/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/commits/v23.3.3/packages/electron-builder)

---
updated-dependencies:
- dependency-name: electron-builder
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-20 23:10:40 +05:30
dependabot[bot]
2fd41d3ffe Bump electron-store from 8.0.2 to 8.1.0 (#59)
Bumps [electron-store](https://github.com/sindresorhus/electron-store) from 8.0.2 to 8.1.0.
- [Release notes](https://github.com/sindresorhus/electron-store/releases)
- [Commits](https://github.com/sindresorhus/electron-store/compare/v8.0.2...v8.1.0)

---
updated-dependencies:
- dependency-name: electron-store
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-20 23:10:32 +05:30
dependabot[bot]
ffcf1dcc68 Bump electron-updater from 5.0.5 to 5.2.1 (#57)
Bumps [electron-updater](https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-updater) from 5.0.5 to 5.2.1.
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/packages/electron-updater/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/commits/electron-updater@5.2.1/packages/electron-updater)

---
updated-dependencies:
- dependency-name: electron-updater
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-20 23:01:26 +05:30
dependabot[bot]
a590878d9c Bump electron-context-menu from 3.3.0 to 3.4.0 (#63)
Bumps [electron-context-menu](https://github.com/sindresorhus/electron-context-menu) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/sindresorhus/electron-context-menu/releases)
- [Commits](https://github.com/sindresorhus/electron-context-menu/compare/v3.3.0...v3.4.0)

---
updated-dependencies:
- dependency-name: electron-context-menu
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-20 23:01:07 +05:30
dependabot[bot]
b6417443bd Bump electron from 19.0.6 to 20.0.3 (#64)
Bumps [electron](https://github.com/electron/electron) from 19.0.6 to 20.0.3.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v19.0.6...v20.0.3)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-20 23:00:59 +05:30
dependabot[bot]
a6b15f92e9 Bump electron from 19.0.5 to 19.0.6 (#51)
Bumps [electron](https://github.com/electron/electron) from 19.0.5 to 19.0.6.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v19.0.5...v19.0.6)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-27 15:47:03 +05:30
dependabot[bot]
f3029bd687 Bump electron-log from 4.4.7 to 4.4.8 (#52)
Bumps [electron-log](https://github.com/megahertz/electron-log) from 4.4.7 to 4.4.8.
- [Release notes](https://github.com/megahertz/electron-log/releases)
- [Changelog](https://github.com/megahertz/electron-log/blob/master/CHANGELOG.md)
- [Commits](https://github.com/megahertz/electron-log/compare/v4.4.7...v4.4.8)

---
updated-dependencies:
- dependency-name: electron-log
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-27 15:46:54 +05:30
dependabot[bot]
53beb0bec9 Bump electron-builder from 23.0.3 to 23.1.0 (#47)
Bumps [electron-builder](https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder) from 23.0.3 to 23.1.0.
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/packages/electron-builder/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/commits/v23.1.0/packages/electron-builder)

---
updated-dependencies:
- dependency-name: electron-builder
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-22 15:39:53 +05:30
dependabot[bot]
b9ad30166e Bump electron-context-menu from 3.2.0 to 3.3.0 (#48)
Bumps [electron-context-menu](https://github.com/sindresorhus/electron-context-menu) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/sindresorhus/electron-context-menu/releases)
- [Commits](https://github.com/sindresorhus/electron-context-menu/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: electron-context-menu
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-22 15:36:42 +05:30
dependabot[bot]
99f34e3f75 Bump electron-updater from 5.0.1 to 5.0.5 (#49)
Bumps [electron-updater](https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-updater) from 5.0.1 to 5.0.5.
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/packages/electron-updater/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/commits/electron-updater@5.0.5/packages/electron-updater)

---
updated-dependencies:
- dependency-name: electron-updater
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-22 15:36:31 +05:30
dependabot[bot]
e0db609f84 Bump electron from 19.0.4 to 19.0.5 (#50)
Bumps [electron](https://github.com/electron/electron) from 19.0.4 to 19.0.5.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v19.0.4...v19.0.5)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-22 15:36:18 +05:30
dependabot[bot]
388a72bc02 Bump is-online from 9.0.1 to 10.0.0 (#42)
Bumps [is-online](https://github.com/sindresorhus/is-online) from 9.0.1 to 10.0.0.
- [Release notes](https://github.com/sindresorhus/is-online/releases)
- [Commits](https://github.com/sindresorhus/is-online/compare/v9.0.1...v10.0.0)

---
updated-dependencies:
- dependency-name: is-online
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-18 13:51:32 +05:30
dependabot[bot]
fef26d1d26 Bump electron from 19.0.0 to 19.0.4 (#43)
Bumps [electron](https://github.com/electron/electron) from 19.0.0 to 19.0.4.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v19.0.0...v19.0.4)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-18 13:51:26 +05:30
dependabot[bot]
91289ce609 Bump electron-store from 8.0.1 to 8.0.2 (#44)
Bumps [electron-store](https://github.com/sindresorhus/electron-store) from 8.0.1 to 8.0.2.
- [Release notes](https://github.com/sindresorhus/electron-store/releases)
- [Commits](https://github.com/sindresorhus/electron-store/compare/v8.0.1...v8.0.2)

---
updated-dependencies:
- dependency-name: electron-store
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-18 13:51:19 +05:30
dependabot[bot]
23fdfa02ef Bump electron-context-menu from 3.1.2 to 3.2.0 (#45)
Bumps [electron-context-menu](https://github.com/sindresorhus/electron-context-menu) from 3.1.2 to 3.2.0.
- [Release notes](https://github.com/sindresorhus/electron-context-menu/releases)
- [Commits](https://github.com/sindresorhus/electron-context-menu/compare/v3.1.2...v3.2.0)

---
updated-dependencies:
- dependency-name: electron-context-menu
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-18 13:51:09 +05:30
dependabot[bot]
0152fd214e Bump electron from 18.2.4 to 19.0.0 (#37)
Bumps [electron](https://github.com/electron/electron) from 18.2.4 to 19.0.0.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v18.2.4...v19.0.0)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-24 13:47:51 +05:30
Agampreet Singh
d7efe442d2 Add files required for flatpak builds 2022-05-23 09:19:53 +05:30
Agampreet Singh
bb9f13a0bc Update to v0.7.2 2022-05-20 16:52:39 +05:30
Agampreet Singh
e800be509d Remove genicon and Update files 2022-05-20 16:33:53 +05:30
dependabot[bot]
c492241e6d Bump electron from 18.2.3 to 18.2.4 (#34)
* Update README.md

* Bump electron from 18.2.3 to 18.2.4

Bumps [electron](https://github.com/electron/electron) from 18.2.3 to 18.2.4.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v18.2.3...v18.2.4)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: Agampreet Singh <68941022+agam778@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-19 17:36:13 +05:30
Agampreet Singh
375cd03901 Update README.md 2022-05-19 17:32:43 +05:30
Agampreet Singh
bd4454334c Now supports snap 2022-05-14 15:29:37 +05:30
Agampreet Singh
89668ce6b6 Update yarn.lock 2022-05-13 18:08:48 +05:30
Agampreet Singh
c081f6536f Update to v0.7.0 2022-05-13 14:11:18 +05:30
Agampreet Singh
39318bd70b Update README.md 2022-05-12 15:09:25 +05:30
Agampreet Singh
e292aacf54 Update package.json 2022-05-12 15:06:33 +05:30
Agampreet Singh
5f6d5ee58f Add genicon command with yarn dist 2022-05-12 14:49:45 +05:30
dependabot[bot]
8eed667124 Bump electron from 18.2.2 to 18.2.3 (#33)
Bumps [electron](https://github.com/electron/electron) from 18.2.2 to 18.2.3.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v18.2.2...v18.2.3)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-12 12:12:17 +05:30
Agampreet Singh
5ea6f9f802 Fix linux app icon and use electron-icon-maker for generating icons 2022-05-11 21:32:05 +05:30
dependabot[bot]
55e2a869ec Bump electron from 18.2.0 to 18.2.2 (#32)
Bumps [electron](https://github.com/electron/electron) from 18.2.0 to 18.2.2.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v18.2.0...v18.2.2)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 13:52:52 +05:30
Agampreet Singh
3e96c4f6ac Add "Build and Install" option in build.sh 2022-05-10 13:12:05 +05:30
Agampreet Singh
fec6181578 Fixed "Open Logs Folder" for linux (and probably macOS), Log everything in the log file, and a custom error message on error while connecting to the rpc on launch 2022-05-10 12:46:26 +05:30
Agampreet Singh
fc8695aa1e Update useragent versions and fix "Open Logs Folder" for Windows 2022-05-07 15:07:34 +05:30
dependabot[bot]
729ecfc981 Bump electron-log from 4.4.6 to 4.4.7 (#30)
Bumps [electron-log](https://github.com/megahertz/electron-log) from 4.4.6 to 4.4.7.
- [Release notes](https://github.com/megahertz/electron-log/releases)
- [Changelog](https://github.com/megahertz/electron-log/blob/master/CHANGELOG.md)
- [Commits](https://github.com/megahertz/electron-log/compare/v4.4.6...v4.4.7)

---
updated-dependencies:
- dependency-name: electron-log
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-05 12:14:02 +05:30
dependabot[bot]
6e4eb8cfa6 Bump electron from 18.0.4 to 18.2.0 (#29)
Bumps [electron](https://github.com/electron/electron) from 18.0.4 to 18.2.0.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v18.0.4...v18.2.0)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-29 14:57:17 +05:30
dependabot[bot]
7c13e79abd Bump axios from 0.27.1 to 0.27.2 (#28)
Bumps [axios](https://github.com/axios/axios) from 0.27.1 to 0.27.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.27.1...v0.27.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-28 15:08:25 +05:30
dependabot[bot]
c4c1381910 Bump axios from 0.27.0 to 0.27.1 (#27)
Bumps [axios](https://github.com/axios/axios) from 0.27.0 to 0.27.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.27.0...v0.27.1)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-27 12:36:07 +05:30
dependabot[bot]
f1bab648cb Bump axios from 0.26.1 to 0.27.0 (#26)
Bumps [axios](https://github.com/axios/axios) from 0.26.1 to 0.27.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.26.1...v0.27.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-26 15:15:10 +05:30
dependabot[bot]
ddb4f46b0a Bump electron from 18.0.3 to 18.0.4 (#24)
Bumps [electron](https://github.com/electron/electron) from 18.0.3 to 18.0.4.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v18.0.3...v18.0.4)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-15 12:26:48 +05:30
dependabot[bot]
0b96b9500c Bump electron-builder from 22.14.13 to 23.0.3 (#21)
Bumps [electron-builder](https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder) from 22.14.13 to 23.0.3.
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/packages/electron-builder/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/commits/v23.0.3/packages/electron-builder)

---
updated-dependencies:
- dependency-name: electron-builder
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-11 12:32:31 +05:30
dependabot[bot]
4d45d79202 Bump electron-dl from 3.3.0 to 3.3.1 (#22)
Bumps [electron-dl](https://github.com/sindresorhus/electron-dl) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/sindresorhus/electron-dl/releases)
- [Commits](https://github.com/sindresorhus/electron-dl/compare/v3.3.0...v3.3.1)

---
updated-dependencies:
- dependency-name: electron-dl
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-11 12:28:38 +05:30
dependabot[bot]
0ed45311ac Bump electron-updater from 4.6.5 to 5.0.1 (#23)
Bumps [electron-updater](https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-updater) from 4.6.5 to 5.0.1.
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/packages/electron-updater/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/commits/electron-updater@5.0.1/packages/electron-updater)

---
updated-dependencies:
- dependency-name: electron-updater
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-11 12:28:26 +05:30
dependabot[bot]
2438a6c6ba Bump electron from 18.0.2 to 18.0.3 (#20)
Bumps [electron](https://github.com/electron/electron) from 18.0.2 to 18.0.3.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v18.0.2...v18.0.3)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-07 14:58:10 +05:30
dependabot[bot]
4308a17529 Bump electron from 18.0.1 to 18.0.2 (#18)
Bumps [electron](https://github.com/electron/electron) from 18.0.1 to 18.0.2.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v18.0.1...v18.0.2)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-06 15:27:41 +05:30
Agampreet Singh
99f1012163 Update README.md 2022-03-31 15:02:05 +05:30
Agampreet Singh
43bd630b18 Update to v0.6.0 2022-03-31 14:54:54 +05:30
dependabot[bot]
e2e3290457 Bump electron from 18.0.0 to 18.0.1 (#17)
Bumps [electron](https://github.com/electron/electron) from 18.0.0 to 18.0.1.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v18.0.0...v18.0.1)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-31 14:46:52 +05:30
Justin Lokos
88aec93c61 add Enterprise Version and devtools option, update userAgent, (#16) 2022-03-31 14:46:42 +05:30
dependabot[bot]
e8ebcdaa2d Bump electron from 17.3.0 to 18.0.0 (#14)
Bumps [electron](https://github.com/electron/electron) from 17.3.0 to 18.0.0.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v17.3.0...v18.0.0)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-30 21:39:41 +05:30
dependabot[bot]
868a61fc48 Bump electron from 17.2.0 to 17.3.0 (#12)
Bumps [electron](https://github.com/electron/electron) from 17.2.0 to 17.3.0.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v17.2.0...v17.3.0)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-29 14:12:28 +05:30
dependabot[bot]
80cd7d5ddf Bump electron from 17.1.2 to 17.2.0 (#10)
Bumps [electron](https://github.com/electron/electron) from 17.1.2 to 17.2.0.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v17.1.2...v17.2.0)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-24 10:40:54 +05:30
dependabot[bot]
74bc10bce9 Bump axios from 0.25.0 to 0.26.1 (#11)
Bumps [axios](https://github.com/axios/axios) from 0.25.0 to 0.26.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.25.0...v0.26.1)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-24 10:40:46 +05:30
Agampreet Singh
54ef6180a2 Create dependabot.yml 2022-03-24 10:02:52 +05:30
Agampreet Singh
180b7917a3 Update to v0.5.2
Changelog:
- Move icons to /assets/icons folder
- Mentioned Microsoft in README.md and About Me's copyright text.
- Set overlay icon when download is started, finished and successful accordingly.
2022-03-20 18:50:58 +05:30
Agampreet Singh
b4341704c6 Release v0.5.1
Changelog:
- Add Discord RPC
2022-03-16 18:48:17 +05:30
Agampreet Singh
1852e5410a Update v0.5.0
Changelog:
- Add a Navigation Menu in the MenuBar which has back, forward, reload etc. buttons.
- Add option to choose if you want to auto hide menu bar
- Add option if you want to choose to open the websites that are targeted to open in a new window open in the same window instead.
2022-02-28 13:02:51 +05:30
Agampreet Singh
84af34fc63 Update build.yml 2022-02-28 10:51:16 +05:30
Agampreet Singh
159d3b9304 Undo changes 2022-02-17 16:58:16 +05:30
Agampreet Singh
49f410a6b9 Create dependency_updates.yml 2022-02-17 16:57:04 +05:30
Agampreet Singh
9679fb888e Release v0.4.5
- Add "Check for Updates" option in the "Application" menu.
- Add a splash screen which shows till the ms office wesbite is properly loaded.
2022-02-06 20:14:56 +05:30
Agampreet Singh
59527d97dc Update README.md
Test Commit
2021-12-30 15:54:51 +05:30
63 changed files with 16113 additions and 12960 deletions

5
.eslintignore Normal file
View File

@@ -0,0 +1,5 @@
yarn.lock
node_modules/
docs/
.github/
README.md

15
.eslintrc.js Normal file
View File

@@ -0,0 +1,15 @@
module.exports = {
"env": {
"commonjs": true,
"es2021": true,
"node": true
},
"extends": "eslint:recommended",
"overrides": [
],
"parserOptions": {
"ecmaVersion": "latest"
},
"rules": {
}
}

6
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"

View File

@@ -1,6 +1,6 @@
name: Build/release
on: push
on: workflow_dispatch
jobs:
release:
@@ -17,11 +17,11 @@ jobs:
- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v1
with:
node-version: 17
node-version: 18
- name: Build and release with electron-builder
run: |
export GH_TOKEN=${{ secrets.GITHUB_TOKEN }}
yarn install
yarn dist
yarn dist -c.snap.publish=github
shell: bash

50
.github/workflows/eslint.yml vendored Normal file
View File

@@ -0,0 +1,50 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# ESLint is a tool for identifying and reporting on patterns
# found in ECMAScript/JavaScript code.
# More details at https://github.com/eslint/eslint
# and https://eslint.org
name: ESLint
on:
push:
branches: [ "main" ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ "main" ]
schedule:
- cron: '16 11 * * 0'
jobs:
eslint:
name: Run eslint scanning
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install ESLint
run: |
npm install eslint@8.10.0
npm install @microsoft/eslint-formatter-sarif@2.1.7
- name: Run ESLint
run: npx eslint .
--config .eslintrc.js
--ext .js,.jsx,.ts,.tsx
--format @microsoft/eslint-formatter-sarif
--output-file eslint-results.sarif
continue-on-error: true
- name: Upload analysis results to GitHub
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: eslint-results.sarif
wait-for-processing: true

5
.gitignore vendored
View File

@@ -1,3 +1,6 @@
/node_modules/
/.idea/
/release/
/release/
.DS_Store
flatpak-node-generator.py
generated-sources.json

3
.prettierignore Normal file
View File

@@ -0,0 +1,3 @@
yarn.lock
node_modules/
README.md

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

After

Width:  |  Height:  |  Size: 115 KiB

View File

@@ -1,22 +1,21 @@
MIT License
Copyright (c) 2021 Agampreet Singh
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
MIT License
Copyright (c) 2021-2022 Agampreet Singh
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="57px" height="30px" viewBox="0 0 57 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 45.2 (43514) - http://www.bohemiancoding.com/sketch -->
<title>MDlogo</title>
<desc>Created with Sketch.</desc>
<defs/>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" font-size="42">
<g id="thumb" transform="translate(-4.000000, -18.000000)">
<g id="MD" transform="translate(2.000000, 4.000000)">
<text id="M" font-family="Roboto-Black, Roboto" font-weight="700" letter-spacing="5.46875048" fill="#000000">
<tspan x="0.0136716366" y="44">M</tspan>
</text>
<text id="D" font-family="Roboto-Light, Roboto" font-weight="300" letter-spacing="5.46875" fill="#A8244F">
<tspan x="33.484375" y="44">S</tspan>
</text>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 215 KiB

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 698 KiB

After

Width:  |  Height:  |  Size: 686 KiB

View File

@@ -9,7 +9,7 @@
<a href="https://electronjs.org">
<img align="center" src="https://img.shields.io/badge/Developed%20With-Electron-red?logo=Electron&logoColor=white&style=flat">
</a>
<a href="https://github.com/agam778/MS-Office-Electron/blob/main/license.txt">
<a href="https://github.com/agam778/MS-Office-Electron/blob/main/LICENSE">
<img align="center" src="https://img.shields.io/github/license/agam778/MS-Office-Electron?style=flat">
</a>
<a href="https://github.com/agam778/MS-Office-Electron/releases/">
@@ -43,15 +43,15 @@
- [📸 Ubuntu Preview](#-ubuntu-preview)
- [💻 Developing Locally](#-developing-locally)
- [📃 MIT License](#-mit-license)
- [*Disclaimer: Not affiliated with Microsoft*](#disclaimer-not-affiliated-with-microsoft)
- [*Disclaimer: Not affiliated with Microsoft. Office, the name, website, images/icons are the intellectual properties of Microsoft.*](#disclaimer-not-affiliated-with-microsoft-office-the-name-website-imagesicons-are-the-intellectual-properties-of-microsoft)
# Introduction
As we know that Microsoft Office is a paid service, they also have a free Web version [here](https://office.com).
For those people who can't afford Microsoft Office Subscription, or don't want to pay for that, or like the web version of it, Then **MS Office - Electron** is the app you require.
For those people who can't afford Microsoft Office Subscription, or don't want to pay for that, or like the web version of it, Then **MS-Office-Electron** is the app you require.
**MS Office - Electron** is the app in which the Web Version of Microsoft Office is wrapped into a Cross-Platform App with Electron. And all the Services of Microsoft Office will work for free.
**MS-Office-Electron** is the app in which the Web Version of Microsoft Office is wrapped into a Cross-Platform App with Electron. And all the Services of Microsoft Office will work for free.
Note - Windows Hello or Sign in with Security key is not currently supported and will show you an error. You will have to manually sign in with your E-Mail and Password.
@@ -66,7 +66,7 @@ Supported Platforms
5. All Distributions supporting AppImage (AppImage File)
Arch Linux builds are now on AUR!<br>
Mac OS supported now with builds for both M1 And Intel Chips . See the instructions how to install below<br>
Mac OS is supported now! See the instructions how to install below<br>
# Windows
@@ -89,13 +89,17 @@ For Installing this app on Windows :-
For Installing this app on Mac :-
1. Just go to the [Releases](https://github.com/agam778/MS-Office-Electron/releases) page
2. Scroll down and click the `.dmg` file. The build with no architecture written is for Intel Macs (Will fix it soon) and the build with arm64 written in it is for M1 Macs. Download the build according to your Mac.
2. Scroll down and click the `.dmg` file. The build is only for Intel Macs.
3. After it downloads, click on the file and mount it on your system. Now drag my app to the Applications Folder (There will be a shortcut in the opened window too) and your app will be installed. Open from Launchpad and enjoy.
# Linux
## 💿 Linux Installation
<a href="https://snapcraft.io/ms-office-electron">
<img alt="Get it from the Snap Store" src="https://snapcraft.io/static/images/badges/en/snap-store-black.svg" />
</a>
### Ubuntu/Debian based distribution installation
For Installing in Ubuntu/Debian based distribution :-
@@ -118,9 +122,17 @@ Arch Linux builds have been published to "AUR" now!
1. Install any AUR helper like [`yay`](https://github.com/Jguer/yay)
2. The package name is `ms-office-electron-git`, so run `yay -Sy ms-office-electron-git`
2. There are 2 packages in the AUR
- `ms-office-electron-bin`: For installing pre-built releases
- `ms-office-electron-git`: For building the app from source and installing.
3. Wait for it to install and tada! The app is installed.
3. Now, for example, using `yay`, run:
```bash
yay -Sy ms-office-electron-*
```
To install the package accordingly.
4. Wait for it to install and tada! The app is installed.
If you find any issues in using the AUR Builds, please create a [New Issue](https://github.com/agam778/MS-Office-Electron/issues/new) and i'll try to fix that as soon as possible :D
@@ -132,7 +144,7 @@ If you find any issues in using the AUR Builds, please create a [New Issue](http
To build the app locally:<br>
Run this script to automatically install `nodejs`, `yarn` and all the dependencies, and automatically start/build the app (it will show options) (Note: for Linux and macOS Only!):
```bash
git clone --depth=1 https://github.com/agam778/MS-Office-Electron.git
git clone https://github.com/agam778/MS-Office-Electron.git
cd MS-Office-Electron
bash build.sh
```
@@ -147,7 +159,7 @@ yarn install
```
```bash
$ yarn run
yarn run v1.22.17
yarn run v1.22.18
info Commands available from binary scripts: asar, dircompare, ejs, electron, electron-builder, electron-osx-flat, electron-osx-sign, extract-zip, install-app-deps, is-ci, jake, js-yaml, json5, mime, mkdirp, node-which, rc, rimraf, semver
info Project commands
- dist
@@ -164,4 +176,4 @@ To build the app, run `yarn dist`
# 📃 MIT License
#### *Disclaimer: Not affiliated with Microsoft*
#### *Disclaimer: Not affiliated with Microsoft. Office, the name, website, images/icons are the intellectual properties of Microsoft.*

View File

@@ -0,0 +1,10 @@
[Desktop Entry]
Name=MS-Office-Electrom
GenericName=MS-Office-Electron
Comment=A Microsoft Office Online Desktop Client made with Electron. Free of Cost.
Keywords=ms-office;office;electron;cloud
Exec=start-ms-office-electron
Icon=io.github.agam778.MS-Office-Electron
Type=Application
Terminal=false
Categories=Office

View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>io.github.agam778.MS-Office-Electron</id>
<launchable type="desktop-id">io.github.agam778.MS-Office-Electron.desktop</launchable>
<metadata_license>CC0-1.0</metadata_license>
<project_license>MIT</project_license>
<name>MS-Office-Electron</name>
<categories>
<category>Utility</category>
</categories>
<summary>A Microsoft Office Online Desktop Client made with Electron. Free of Cost.</summary>
<description>
<p>MS-Office-Electron is an app in which the Web Version of Microsoft Office is wrapped into a Cross-Platform App with Electron. And all the Services of Microsoft Office will work for free.</p>
</description>
<developer_name>Agampreet Singh</developer_name>
<releases>
<release version="0.7.2" date="2022-05-20">
<description>
<p>Remove electron-icon-maker dependency and remove 'yarn genicon' command</p>
</description>
</release>
</releases>
<screenshots>
<screenshot type="default"><image type="source">https://dashboard.snapcraft.io/site_media/appmedia/2022/05/Screenshot_from_2022-05-15_22-10-14.png</image></screenshot>
<screenshot><image type="source">https://dashboard.snapcraft.io/site_media/appmedia/2022/05/Screenshot_from_2022-05-15_22-11-27.png</image></screenshot>
</screenshots>
<content_rating type="oars-1.1" />
<metadata>
<value key="GnomeSoftware::popular-background">https://dashboard.snapcraft.io/site_media/appmedia/2022/05/Untitled_design1.png</value>
</metadata>
<url type="homepage">https://github.com/agam778/MS-Office-Electron/</url>
<url type="bugtracker">https://github.com/agam778/MS-Office-Electron/issues</url>
</component>

BIN
assets/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
assets/icons/download.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
assets/icons/mac/icon.icns Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

BIN
assets/icons/png/16x16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 B

BIN
assets/icons/png/24x24.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
assets/icons/png/32x32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
assets/icons/png/48x48.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
assets/icons/png/64x64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
assets/icons/win/icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 KiB

View File

@@ -1,4 +1,5 @@
#!/bin/bash
# This script helps you to start/build the MS-Office-Electron app
if ! [ -x "$(command -v node)" ]; then
echo 'Error: nodejs is not installed.' >&2
echo 'Installing nodejs now; this may take a while.'
@@ -7,6 +8,7 @@ if ! [ -x "$(command -v node)" ]; then
if [ -f /etc/debian_version ]; then
curl -fsSL https://deb.nodesource.com/setup_17.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install rpm -y # for rpm build.
elif [ -f /etc/redhat-release ]; then
sudo yum install nodejs
elif [ -f /etc/arch-release ]; then
@@ -153,7 +155,7 @@ else
echo 'Please install git manually.'
fi
fi
git clone --depth=1 https://github.com/agam778/MS-Office-Electron; cd MS-Office-Electron
git clone --depth=1 https://github.com/agam778/MS-Office-Electron; cd MS-Office-Electron || echo "Failed to change directory." && return 1
echo 'Cloned the repository'
fi
@@ -166,15 +168,16 @@ else
fi
clear
echo 'Do you want to run the app or build the app?'
echo '1. Run the app'
echo 'What do you want to do?'
echo '1. Run the app without building'
echo '2. Build the app'
echo '3. Exit'
echo '3. Build and install the app'
echo '4. Exit'
echo 'Enter your choice:'; read choice;
if [ $choice -eq 1 ]; then
if [ "$choice" -eq "1" ]; then
echo 'Running the app...'
yarn start
elif [ $choice -eq 2 ]; then
elif [ "$choice" -eq "2" ]; then
echo 'Building the app...'
if [ "$(id -u)" != "0" ]; then
if [ "$(uname -m)" == "arm64" ]; then
@@ -189,7 +192,30 @@ if [ $choice -eq 1 ]; then
yarn dist --x64
fi
fi
elif [ $choice -eq 3 ]; then
elif [ "$choice" -eq "3" ]; then
echo 'Building and installing the app...'
if ! [ -f /etc/debian_version ]; then
echo 'Error: "Build and install the app" option is only supported on Debian-based systems for now.' >&2
exit 0
fi
if [ "$(id -u)" != "0" ]; then
if [ "$(uname -m)" == "arm64" ]; then
sudo yarn dist --arm64
sudo apt install -y -f ./release/MS-Office-Electron*.deb
elif [ "$(uname -m)" == "x86_64" ]; then
sudo yarn dist --x64
sudo apt install -y -f ./release/MS-Office-Electron*.deb
fi
else
if [ "$(uname -m)" == "arm64" ]; then
yarn dist --arm64
apt install -y -f ./release/MS-Office-Electron*.deb
elif [ "$(uname -m)" == "x86_64" ]; then
yarn dist --x64
apt install -y -f ./release/MS-Office-Electron*.deb
fi
fi
elif [ "$choice" -eq "4" ]; then
echo 'Exiting...'
exit 1
fi

View File

@@ -1,9 +1,7 @@
# MS-Office-Electron
A Microsoft Office Online Desktop Client made with Electron. Free of Cost.
# Website Branch
Just a website for the MS-Office-Electron App, nothing much<br>
Includes the loading screen for now [here](https://agam778.github.io/MS-Office-Electron/loading/)
# Website
# Todo:
- [ ] Add description about the app
Just a website for the MS-Office-Electron App, nothing much

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -1,2 +1,150 @@
/* breakpoints.js v1.0 | @ajlkn | MIT licensed */
var breakpoints=function(){"use strict";function e(e){t.init(e)}var t={list:null,media:{},events:[],init:function(e){t.list=e,window.addEventListener("resize",t.poll),window.addEventListener("orientationchange",t.poll),window.addEventListener("load",t.poll),window.addEventListener("fullscreenchange",t.poll)},active:function(e){var n,a,s,i,r,d,c;if(!(e in t.media)){if(">="==e.substr(0,2)?(a="gte",n=e.substr(2)):"<="==e.substr(0,2)?(a="lte",n=e.substr(2)):">"==e.substr(0,1)?(a="gt",n=e.substr(1)):"<"==e.substr(0,1)?(a="lt",n=e.substr(1)):"!"==e.substr(0,1)?(a="not",n=e.substr(1)):(a="eq",n=e),n&&n in t.list)if(i=t.list[n],Array.isArray(i)){if(r=parseInt(i[0]),d=parseInt(i[1]),isNaN(r)){if(isNaN(d))return;c=i[1].substr(String(d).length)}else c=i[0].substr(String(r).length);if(isNaN(r))switch(a){case"gte":s="screen";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: -1px)";break;case"not":s="screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (max-width: "+d+c+")"}else if(isNaN(d))switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen";break;case"gt":s="screen and (max-width: -1px)";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+")";break;default:s="screen and (min-width: "+r+c+")"}else switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+"), screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (min-width: "+r+c+") and (max-width: "+d+c+")"}}else s="("==i.charAt(0)?"screen and "+i:i;t.media[e]=!!s&&s}return t.media[e]!==!1&&window.matchMedia(t.media[e]).matches},on:function(e,n){t.events.push({query:e,handler:n,state:!1}),t.active(e)&&n()},poll:function(){var e,n;for(e=0;e<t.events.length;e++)n=t.events[e],t.active(n.query)?n.state||(n.state=!0,n.handler()):n.state&&(n.state=!1)}};return e._=t,e.on=function(e,n){t.on(e,n)},e.active=function(e){return t.active(e)},e}();!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.breakpoints=t()}(this,function(){return breakpoints});
var breakpoints = (function () {
"use strict";
function e(e) {
t.init(e);
}
var t = {
list: null,
media: {},
events: [],
init: function (e) {
(t.list = e),
window.addEventListener("resize", t.poll),
window.addEventListener("orientationchange", t.poll),
window.addEventListener("load", t.poll),
window.addEventListener("fullscreenchange", t.poll);
},
active: function (e) {
var n, a, s, i, r, d, c;
if (!(e in t.media)) {
if (
(">=" == e.substr(0, 2)
? ((a = "gte"), (n = e.substr(2)))
: "<=" == e.substr(0, 2)
? ((a = "lte"), (n = e.substr(2)))
: ">" == e.substr(0, 1)
? ((a = "gt"), (n = e.substr(1)))
: "<" == e.substr(0, 1)
? ((a = "lt"), (n = e.substr(1)))
: "!" == e.substr(0, 1)
? ((a = "not"), (n = e.substr(1)))
: ((a = "eq"), (n = e)),
n && n in t.list)
)
if (((i = t.list[n]), Array.isArray(i))) {
if (((r = parseInt(i[0])), (d = parseInt(i[1])), isNaN(r))) {
if (isNaN(d)) return;
c = i[1].substr(String(d).length);
} else c = i[0].substr(String(r).length);
if (isNaN(r))
switch (a) {
case "gte":
s = "screen";
break;
case "lte":
s = "screen and (max-width: " + d + c + ")";
break;
case "gt":
s = "screen and (min-width: " + (d + 1) + c + ")";
break;
case "lt":
s = "screen and (max-width: -1px)";
break;
case "not":
s = "screen and (min-width: " + (d + 1) + c + ")";
break;
default:
s = "screen and (max-width: " + d + c + ")";
}
else if (isNaN(d))
switch (a) {
case "gte":
s = "screen and (min-width: " + r + c + ")";
break;
case "lte":
s = "screen";
break;
case "gt":
s = "screen and (max-width: -1px)";
break;
case "lt":
s = "screen and (max-width: " + (r - 1) + c + ")";
break;
case "not":
s = "screen and (max-width: " + (r - 1) + c + ")";
break;
default:
s = "screen and (min-width: " + r + c + ")";
}
else
switch (a) {
case "gte":
s = "screen and (min-width: " + r + c + ")";
break;
case "lte":
s = "screen and (max-width: " + d + c + ")";
break;
case "gt":
s = "screen and (min-width: " + (d + 1) + c + ")";
break;
case "lt":
s = "screen and (max-width: " + (r - 1) + c + ")";
break;
case "not":
s =
"screen and (max-width: " +
(r - 1) +
c +
"), screen and (min-width: " +
(d + 1) +
c +
")";
break;
default:
s =
"screen and (min-width: " +
r +
c +
") and (max-width: " +
d +
c +
")";
}
} else s = "(" == i.charAt(0) ? "screen and " + i : i;
t.media[e] = !!s && s;
}
return t.media[e] !== !1 && window.matchMedia(t.media[e]).matches;
},
on: function (e, n) {
t.events.push({ query: e, handler: n, state: !1 }), t.active(e) && n();
},
poll: function () {
var e, n;
for (e = 0; e < t.events.length; e++)
(n = t.events[e]),
t.active(n.query)
? n.state || ((n.state = !0), n.handler())
: n.state && (n.state = !1);
},
};
return (
(e._ = t),
(e.on = function (e, n) {
t.on(e, n);
}),
(e.active = function (e) {
return t.active(e);
}),
e
);
})();
!(function (e, t) {
"function" == typeof define && define.amd
? define([], t)
: "object" == typeof exports
? (module.exports = t())
: (e.breakpoints = t());
})(this, function () {
return breakpoints;
});

View File

@@ -1,2 +1,118 @@
/* browser.js v1.0 | @ajlkn | MIT licensed */
var browser=function(){"use strict";var e={name:null,version:null,os:null,osVersion:null,touch:null,mobile:null,_canUse:null,canUse:function(n){e._canUse||(e._canUse=document.createElement("div"));var o=e._canUse.style,r=n.charAt(0).toUpperCase()+n.slice(1);return n in o||"Moz"+r in o||"Webkit"+r in o||"O"+r in o||"ms"+r in o},init:function(){var n,o,r,i,t=navigator.userAgent;for(n="other",o=0,r=[["firefox",/Firefox\/([0-9\.]+)/],["bb",/BlackBerry.+Version\/([0-9\.]+)/],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/],["opera",/OPR\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)/],["edge",/Edge\/([0-9\.]+)/],["safari",/Version\/([0-9\.]+).+Safari/],["chrome",/Chrome\/([0-9\.]+)/],["ie",/MSIE ([0-9]+)/],["ie",/Trident\/.+rv:([0-9]+)/]],i=0;i<r.length;i++)if(t.match(r[i][1])){n=r[i][0],o=parseFloat(RegExp.$1);break}for(e.name=n,e.version=o,n="other",o=0,r=[["ios",/([0-9_]+) like Mac OS X/,function(e){return e.replace("_",".").replace("_","")}],["ios",/CPU like Mac OS X/,function(e){return 0}],["wp",/Windows Phone ([0-9\.]+)/,null],["android",/Android ([0-9\.]+)/,null],["mac",/Macintosh.+Mac OS X ([0-9_]+)/,function(e){return e.replace("_",".").replace("_","")}],["windows",/Windows NT ([0-9\.]+)/,null],["bb",/BlackBerry.+Version\/([0-9\.]+)/,null],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/,null],["linux",/Linux/,null],["bsd",/BSD/,null],["unix",/X11/,null]],i=0;i<r.length;i++)if(t.match(r[i][1])){n=r[i][0],o=parseFloat(r[i][2]?r[i][2](RegExp.$1):RegExp.$1);break}e.os=n,e.osVersion=o,e.touch="wp"==e.os?navigator.msMaxTouchPoints>0:!!("ontouchstart"in window),e.mobile="wp"==e.os||"android"==e.os||"ios"==e.os||"bb"==e.os}};return e.init(),e}();!function(e,n){"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?module.exports=n():e.browser=n()}(this,function(){return browser});
var browser = (function () {
"use strict";
var e = {
name: null,
version: null,
os: null,
osVersion: null,
touch: null,
mobile: null,
_canUse: null,
canUse: function (n) {
e._canUse || (e._canUse = document.createElement("div"));
var o = e._canUse.style,
r = n.charAt(0).toUpperCase() + n.slice(1);
return (
n in o ||
"Moz" + r in o ||
"Webkit" + r in o ||
"O" + r in o ||
"ms" + r in o
);
},
init: function () {
var n,
o,
r,
i,
t = navigator.userAgent;
for (
n = "other",
o = 0,
r = [
["firefox", /Firefox\/([0-9\.]+)/],
["bb", /BlackBerry.+Version\/([0-9\.]+)/],
["bb", /BB[0-9]+.+Version\/([0-9\.]+)/],
["opera", /OPR\/([0-9\.]+)/],
["opera", /Opera\/([0-9\.]+)/],
["edge", /Edge\/([0-9\.]+)/],
["safari", /Version\/([0-9\.]+).+Safari/],
["chrome", /Chrome\/([0-9\.]+)/],
["ie", /MSIE ([0-9]+)/],
["ie", /Trident\/.+rv:([0-9]+)/],
],
i = 0;
i < r.length;
i++
)
if (t.match(r[i][1])) {
(n = r[i][0]), (o = parseFloat(RegExp.$1));
break;
}
for (
e.name = n,
e.version = o,
n = "other",
o = 0,
r = [
[
"ios",
/([0-9_]+) like Mac OS X/,
function (e) {
return e.replace("_", ".").replace("_", "");
},
],
[
"ios",
/CPU like Mac OS X/,
function (e) {
return 0;
},
],
["wp", /Windows Phone ([0-9\.]+)/, null],
["android", /Android ([0-9\.]+)/, null],
[
"mac",
/Macintosh.+Mac OS X ([0-9_]+)/,
function (e) {
return e.replace("_", ".").replace("_", "");
},
],
["windows", /Windows NT ([0-9\.]+)/, null],
["bb", /BlackBerry.+Version\/([0-9\.]+)/, null],
["bb", /BB[0-9]+.+Version\/([0-9\.]+)/, null],
["linux", /Linux/, null],
["bsd", /BSD/, null],
["unix", /X11/, null],
],
i = 0;
i < r.length;
i++
)
if (t.match(r[i][1])) {
(n = r[i][0]),
(o = parseFloat(r[i][2] ? r[i][2](RegExp.$1) : RegExp.$1));
break;
}
(e.os = n),
(e.osVersion = o),
(e.touch =
"wp" == e.os
? navigator.msMaxTouchPoints > 0
: !!("ontouchstart" in window)),
(e.mobile =
"wp" == e.os || "android" == e.os || "ios" == e.os || "bb" == e.os);
},
};
return e.init(), e;
})();
!(function (e, n) {
"function" == typeof define && define.amd
? define([], n)
: "object" == typeof exports
? (module.exports = n())
: (e.browser = n());
})(this, function () {
return browser;
});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -4,114 +4,105 @@
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/
(function($) {
(function ($) {
var $window = $(window),
$body = $("body"),
$header = $("#header"),
$footer = $("#footer"),
$main = $("#main"),
settings = {
// Parallax background effect?
parallax: true,
var $window = $(window),
$body = $('body'),
$header = $('#header'),
$footer = $('#footer'),
$main = $('#main'),
settings = {
// Parallax factor (lower = more intense, higher = less intense).
parallaxFactor: 20,
};
// Parallax background effect?
parallax: true,
// Breakpoints.
breakpoints({
xlarge: ["1281px", "1800px"],
large: ["981px", "1280px"],
medium: ["737px", "980px"],
small: ["481px", "736px"],
xsmall: [null, "480px"],
});
// Parallax factor (lower = more intense, higher = less intense).
parallaxFactor: 20
// Play initial animations on page load.
$window.on("load", function () {
window.setTimeout(function () {
$body.removeClass("is-preload");
}, 100);
});
};
// Touch?
if (browser.mobile) {
// Turn on touch mode.
$body.addClass("is-touch");
// Breakpoints.
breakpoints({
xlarge: [ '1281px', '1800px' ],
large: [ '981px', '1280px' ],
medium: [ '737px', '980px' ],
small: [ '481px', '736px' ],
xsmall: [ null, '480px' ],
});
// Height fix (mostly for iOS).
window.setTimeout(function () {
$window.scrollTop($window.scrollTop() + 1);
}, 0);
}
// Play initial animations on page load.
$window.on('load', function() {
window.setTimeout(function() {
$body.removeClass('is-preload');
}, 100);
});
// Footer.
breakpoints.on("<=medium", function () {
$footer.insertAfter($main);
});
// Touch?
if (browser.mobile) {
breakpoints.on(">medium", function () {
$footer.appendTo($header);
});
// Turn on touch mode.
$body.addClass('is-touch');
// Header.
// Height fix (mostly for iOS).
window.setTimeout(function() {
$window.scrollTop($window.scrollTop() + 1);
}, 0);
// Parallax background.
}
// Disable parallax on IE (smooth scrolling is jerky), and on mobile platforms (= better performance).
if (browser.name == "ie" || browser.mobile) settings.parallax = false;
// Footer.
breakpoints.on('<=medium', function() {
$footer.insertAfter($main);
});
if (settings.parallax) {
breakpoints.on("<=medium", function () {
$window.off("scroll.strata_parallax");
$header.css("background-position", "");
});
breakpoints.on('>medium', function() {
$footer.appendTo($header);
});
breakpoints.on(">medium", function () {
$header.css("background-position", "left 0px");
// Header.
$window.on("scroll.strata_parallax", function () {
$header.css(
"background-position",
"left " +
-1 * (parseInt($window.scrollTop()) / settings.parallaxFactor) +
"px"
);
});
});
// Parallax background.
$window.on("load", function () {
$window.triggerHandler("scroll");
});
}
// Disable parallax on IE (smooth scrolling is jerky), and on mobile platforms (= better performance).
if (browser.name == 'ie'
|| browser.mobile)
settings.parallax = false;
// Main Sections: Two.
if (settings.parallax) {
breakpoints.on('<=medium', function() {
$window.off('scroll.strata_parallax');
$header.css('background-position', '');
});
breakpoints.on('>medium', function() {
$header.css('background-position', 'left 0px');
$window.on('scroll.strata_parallax', function() {
$header.css('background-position', 'left ' + (-1 * (parseInt($window.scrollTop()) / settings.parallaxFactor)) + 'px');
});
});
$window.on('load', function() {
$window.triggerHandler('scroll');
});
}
// Main Sections: Two.
// Lightbox gallery.
$window.on('load', function() {
$('#two').poptrox({
caption: function($a) { return $a.next('h3').text(); },
overlayColor: '#2c2c2c',
overlayOpacity: 0.85,
popupCloserText: '',
popupLoaderText: '',
selector: '.work-item a.image',
usePopupCaption: true,
usePopupDefaultStyling: false,
usePopupEasyClose: false,
usePopupNav: true,
windowMargin: (breakpoints.active('<=small') ? 0 : 50)
});
});
})(jQuery);
// Lightbox gallery.
$window.on("load", function () {
$("#two").poptrox({
caption: function ($a) {
return $a.next("h3").text();
},
overlayColor: "#2c2c2c",
overlayOpacity: 0.85,
popupCloserText: "",
popupLoaderText: "",
selector: ".work-item a.image",
usePopupCaption: true,
usePopupDefaultStyling: false,
usePopupEasyClose: false,
usePopupNav: true,
windowMargin: breakpoints.active("<=small") ? 0 : 50,
});
});
})(jQuery);

File diff suppressed because it is too large Load Diff

View File

@@ -2,222 +2,201 @@
// Vars.
/// Breakpoints.
/// @var {list}
$breakpoints: () !global;
/// Breakpoints.
/// @var {list}
$breakpoints: () !global;
// Mixins.
/// Sets breakpoints.
/// @param {map} $x Breakpoints.
@mixin breakpoints($x: ()) {
$breakpoints: $x !global;
}
/// Sets breakpoints.
/// @param {map} $x Breakpoints.
@mixin breakpoints($x: ()) {
$breakpoints: $x !global;
}
/// Wraps @content in a @media block targeting a specific orientation.
/// @param {string} $orientation Orientation.
@mixin orientation($orientation) {
@media screen and (orientation: #{$orientation}) {
@content;
}
}
/// Wraps @content in a @media block targeting a specific orientation.
/// @param {string} $orientation Orientation.
@mixin orientation($orientation) {
@media screen and (orientation: #{$orientation}) {
@content;
}
}
/// Wraps @content in a @media block using a given query.
/// @param {string} $query Query.
@mixin breakpoint($query: null) {
/// Wraps @content in a @media block using a given query.
/// @param {string} $query Query.
@mixin breakpoint($query: null) {
$breakpoint: null;
$op: null;
$media: null;
$breakpoint: null;
$op: null;
$media: null;
// Determine operator, breakpoint.
// Determine operator, breakpoint.
// Greater than or equal.
@if (str-slice($query, 0, 2) == ">=") {
$op: "gte";
$breakpoint: str-slice($query, 3);
}
// Greater than or equal.
@if (str-slice($query, 0, 2) == '>=') {
// Less than or equal.
@elseif (str-slice($query, 0, 2) == '<=') {
$op: "lte";
$breakpoint: str-slice($query, 3);
}
$op: 'gte';
$breakpoint: str-slice($query, 3);
// Greater than.
@elseif (str-slice($query, 0, 1) == '>') {
$op: "gt";
$breakpoint: str-slice($query, 2);
}
}
// Less than.
@elseif (str-slice($query, 0, 1) == '<') {
$op: "lt";
$breakpoint: str-slice($query, 2);
}
// Less than or equal.
@elseif (str-slice($query, 0, 2) == '<=') {
// Not.
@elseif (str-slice($query, 0, 1) == '!') {
$op: "not";
$breakpoint: str-slice($query, 2);
}
$op: 'lte';
$breakpoint: str-slice($query, 3);
// Equal.
@else {
$op: "eq";
$breakpoint: $query;
}
}
// Build media.
@if ($breakpoint and map-has-key($breakpoints, $breakpoint)) {
$a: map-get($breakpoints, $breakpoint);
// Greater than.
@elseif (str-slice($query, 0, 1) == '>') {
// Range.
@if (type-of($a) == "list") {
$x: nth($a, 1);
$y: nth($a, 2);
$op: 'gt';
$breakpoint: str-slice($query, 2);
// Max only.
@if ($x == null) {
// Greater than or equal (>= 0 / anything)
@if ($op == "gte") {
$media: "screen";
}
}
// Less than or equal (<= y)
@elseif ($op == 'lte') {
$media: "screen and (max-width: " + $y + ")";
}
// Less than.
@elseif (str-slice($query, 0, 1) == '<') {
// Greater than (> y)
@elseif ($op == 'gt') {
$media: "screen and (min-width: " + ($y + 1) + ")";
}
$op: 'lt';
$breakpoint: str-slice($query, 2);
// Less than (< 0 / invalid)
@elseif ($op == 'lt') {
$media: "screen and (max-width: -1px)";
}
}
// Not (> y)
@elseif ($op == 'not') {
$media: "screen and (min-width: " + ($y + 1) + ")";
}
// Not.
@elseif (str-slice($query, 0, 1) == '!') {
// Equal (<= y)
@else {
$media: "screen and (max-width: " + $y + ")";
}
}
$op: 'not';
$breakpoint: str-slice($query, 2);
// Min only.
@else if ($y == null) {
// Greater than or equal (>= x)
@if ($op == "gte") {
$media: "screen and (min-width: " + $x + ")";
}
}
// Less than or equal (<= inf / anything)
@elseif ($op == 'lte') {
$media: "screen";
}
// Equal.
@else {
// Greater than (> inf / invalid)
@elseif ($op == 'gt') {
$media: "screen and (max-width: -1px)";
}
$op: 'eq';
$breakpoint: $query;
// Less than (< x)
@elseif ($op == 'lt') {
$media: "screen and (max-width: " + ($x - 1) + ")";
}
}
// Not (< x)
@elseif ($op == 'not') {
$media: "screen and (max-width: " + ($x - 1) + ")";
}
// Build media.
@if ($breakpoint and map-has-key($breakpoints, $breakpoint)) {
// Equal (>= x)
@else {
$media: "screen and (min-width: " + $x + ")";
}
}
$a: map-get($breakpoints, $breakpoint);
// Min and max.
@else {
// Greater than or equal (>= x)
@if ($op == "gte") {
$media: "screen and (min-width: " + $x + ")";
}
// Range.
@if (type-of($a) == 'list') {
// Less than or equal (<= y)
@elseif ($op == 'lte') {
$media: "screen and (max-width: " + $y + ")";
}
$x: nth($a, 1);
$y: nth($a, 2);
// Greater than (> y)
@elseif ($op == 'gt') {
$media: "screen and (min-width: " + ($y + 1) + ")";
}
// Max only.
@if ($x == null) {
// Less than (< x)
@elseif ($op == 'lt') {
$media: "screen and (max-width: " + ($x - 1) + ")";
}
// Greater than or equal (>= 0 / anything)
@if ($op == 'gte') {
$media: 'screen';
}
// Not (< x and > y)
@elseif ($op == 'not') {
$media: "screen and (max-width: " + ($x - 1) +
"), screen and (min-width: " + ($y + 1) + ")";
}
// Less than or equal (<= y)
@elseif ($op == 'lte') {
$media: 'screen and (max-width: ' + $y + ')';
}
// Equal (>= x and <= y)
@else {
$media: "screen and (min-width: " +
$x +
") and (max-width: " +
$y +
")";
}
}
}
// Greater than (> y)
@elseif ($op == 'gt') {
$media: 'screen and (min-width: ' + ($y + 1) + ')';
}
// String.
@else {
// Missing a media type? Prefix with "screen".
@if (str-slice($a, 0, 1) == "(") {
$media: "screen and " + $a;
}
// Less than (< 0 / invalid)
@elseif ($op == 'lt') {
$media: 'screen and (max-width: -1px)';
}
// Otherwise, use as-is.
@else {
$media: $a;
}
}
}
// Not (> y)
@elseif ($op == 'not') {
$media: 'screen and (min-width: ' + ($y + 1) + ')';
}
// Equal (<= y)
@else {
$media: 'screen and (max-width: ' + $y + ')';
}
}
// Min only.
@else if ($y == null) {
// Greater than or equal (>= x)
@if ($op == 'gte') {
$media: 'screen and (min-width: ' + $x + ')';
}
// Less than or equal (<= inf / anything)
@elseif ($op == 'lte') {
$media: 'screen';
}
// Greater than (> inf / invalid)
@elseif ($op == 'gt') {
$media: 'screen and (max-width: -1px)';
}
// Less than (< x)
@elseif ($op == 'lt') {
$media: 'screen and (max-width: ' + ($x - 1) + ')';
}
// Not (< x)
@elseif ($op == 'not') {
$media: 'screen and (max-width: ' + ($x - 1) + ')';
}
// Equal (>= x)
@else {
$media: 'screen and (min-width: ' + $x + ')';
}
}
// Min and max.
@else {
// Greater than or equal (>= x)
@if ($op == 'gte') {
$media: 'screen and (min-width: ' + $x + ')';
}
// Less than or equal (<= y)
@elseif ($op == 'lte') {
$media: 'screen and (max-width: ' + $y + ')';
}
// Greater than (> y)
@elseif ($op == 'gt') {
$media: 'screen and (min-width: ' + ($y + 1) + ')';
}
// Less than (< x)
@elseif ($op == 'lt') {
$media: 'screen and (max-width: ' + ($x - 1) + ')';
}
// Not (< x and > y)
@elseif ($op == 'not') {
$media: 'screen and (max-width: ' + ($x - 1) + '), screen and (min-width: ' + ($y + 1) + ')';
}
// Equal (>= x and <= y)
@else {
$media: 'screen and (min-width: ' + $x + ') and (max-width: ' + $y + ')';
}
}
}
// String.
@else {
// Missing a media type? Prefix with "screen".
@if (str-slice($a, 0, 1) == '(') {
$media: 'screen and ' + $a;
}
// Otherwise, use as-is.
@else {
$media: $a;
}
}
}
// Output.
@media #{$media} {
@content;
}
}
// Output.
@media #{$media} {
@content;
}
}

View File

@@ -4,35 +4,26 @@
/// @param {integer} $index Index.
/// @return {list} Updated list.
@function remove-nth($list, $index) {
$result: null;
$result: null;
@if type-of($index) != number {
@warn "$index: #{quote($index)} is not a number for `remove-nth`.";
} @else if $index == 0 {
@warn "List index 0 must be a non-zero integer for `remove-nth`.";
} @else if abs($index) > length($list) {
@warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
} @else {
$result: ();
$index: if($index < 0, length($list) + $index + 1, $index);
@if type-of($index) != number {
@warn "$index: #{quote($index)} is not a number for `remove-nth`.";
}
@else if $index == 0 {
@warn "List index 0 must be a non-zero integer for `remove-nth`.";
}
@else if abs($index) > length($list) {
@warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
}
@else {
$result: ();
$index: if($index < 0, length($list) + $index + 1, $index);
@for $i from 1 through length($list) {
@if $i != $index {
$result: append($result, nth($list, $i));
}
}
}
@return $result;
@for $i from 1 through length($list) {
@if $i != $index {
$result: append($result, nth($list, $i));
}
}
}
@return $result;
}
/// Gets a value from a map.
@@ -41,50 +32,48 @@
/// @param {string} $keys Key(s).
/// @return {string} Value.
@function val($map, $keys...) {
@if nth($keys, 1) == null {
$keys: remove-nth($keys, 1);
}
@if nth($keys, 1) == null {
$keys: remove-nth($keys, 1);
}
@each $key in $keys {
$map: map-get($map, $key);
}
@return $map;
@each $key in $keys {
$map: map-get($map, $key);
}
@return $map;
}
/// Gets a duration value.
/// @param {string} $keys Key(s).
/// @return {string} Value.
@function _duration($keys...) {
@return val($duration, $keys...);
@return val($duration, $keys...);
}
/// Gets a font value.
/// @param {string} $keys Key(s).
/// @return {string} Value.
@function _font($keys...) {
@return val($font, $keys...);
@return val($font, $keys...);
}
/// Gets a misc value.
/// @param {string} $keys Key(s).
/// @return {string} Value.
@function _misc($keys...) {
@return val($misc, $keys...);
@return val($misc, $keys...);
}
/// Gets a palette value.
/// @param {string} $keys Key(s).
/// @return {string} Value.
@function _palette($keys...) {
@return val($palette, $keys...);
@return val($palette, $keys...);
}
/// Gets a size value.
/// @param {string} $keys Key(s).
/// @return {string} Value.
@function _size($keys...) {
@return val($size, $keys...);
}
@return val($size, $keys...);
}

View File

@@ -2,148 +2,137 @@
// Mixins.
/// Initializes the current element as an HTML grid.
/// @param {mixed} $gutters Gutters (either a single number to set both column/row gutters, or a list to set them individually).
/// @param {mixed} $suffix Column class suffix (optional; either a single suffix or a list).
@mixin html-grid($gutters: 1.5em, $suffix: '') {
/// Initializes the current element as an HTML grid.
/// @param {mixed} $gutters Gutters (either a single number to set both column/row gutters, or a list to set them individually).
/// @param {mixed} $suffix Column class suffix (optional; either a single suffix or a list).
@mixin html-grid($gutters: 1.5em, $suffix: "") {
// Initialize.
$cols: 12;
$multipliers: 0, 0.25, 0.5, 1, 1.5, 2;
$unit: 100% / $cols;
// Initialize.
$cols: 12;
$multipliers: 0, 0.25, 0.5, 1, 1.50, 2.00;
$unit: 100% / $cols;
// Suffixes.
$suffixes: null;
// Suffixes.
$suffixes: null;
@if (type-of($suffix) == "list") {
$suffixes: $suffix;
} @else {
$suffixes: ($suffix);
}
@if (type-of($suffix) == 'list') {
$suffixes: $suffix;
}
@else {
$suffixes: ($suffix);
}
// Gutters.
$guttersCols: null;
$guttersRows: null;
// Gutters.
$guttersCols: null;
$guttersRows: null;
@if (type-of($gutters) == "list") {
$guttersCols: nth($gutters, 1);
$guttersRows: nth($gutters, 2);
} @else {
$guttersCols: $gutters;
$guttersRows: 0;
}
@if (type-of($gutters) == 'list') {
// Row.
display: flex;
flex-wrap: wrap;
box-sizing: border-box;
align-items: stretch;
$guttersCols: nth($gutters, 1);
$guttersRows: nth($gutters, 2);
// Columns.
> * {
box-sizing: border-box;
}
}
@else {
// Gutters.
&.gtr-uniform {
> * {
> :last-child {
margin-bottom: 0;
}
}
}
$guttersCols: $gutters;
$guttersRows: 0;
// Alignment.
&.aln-left {
justify-content: flex-start;
}
}
&.aln-center {
justify-content: center;
}
// Row.
display: flex;
flex-wrap: wrap;
box-sizing: border-box;
align-items: stretch;
&.aln-right {
justify-content: flex-end;
}
// Columns.
> * {
box-sizing: border-box;
}
&.aln-top {
align-items: flex-start;
}
// Gutters.
&.gtr-uniform {
> * {
> :last-child {
margin-bottom: 0;
}
}
}
&.aln-middle {
align-items: center;
}
// Alignment.
&.aln-left {
justify-content: flex-start;
}
&.aln-bottom {
align-items: flex-end;
}
&.aln-center {
justify-content: center;
}
// Step through suffixes.
@each $suffix in $suffixes {
// Suffix.
@if ($suffix != "") {
$suffix: "-" + $suffix;
} @else {
$suffix: "";
}
&.aln-right {
justify-content: flex-end;
}
// Row.
&.aln-top {
align-items: flex-start;
}
// Important.
> .imp#{$suffix} {
order: -1;
}
&.aln-middle {
align-items: center;
}
// Columns, offsets.
@for $i from 1 through $cols {
> .col-#{$i}#{$suffix} {
width: $unit * $i;
}
&.aln-bottom {
align-items: flex-end;
}
> .off-#{$i}#{$suffix} {
margin-left: $unit * $i;
}
}
// Step through suffixes.
@each $suffix in $suffixes {
// Step through multipliers.
@each $multiplier in $multipliers {
// Gutters.
$class: null;
// Suffix.
@if ($suffix != '') {
$suffix: '-' + $suffix;
}
@else {
$suffix: '';
}
@if ($multiplier != 1) {
$class: ".gtr-" + ($multiplier * 100);
}
// Row.
&#{$class} {
margin-top: ($guttersRows * $multiplier * -1);
margin-left: ($guttersCols * $multiplier * -1);
// Important.
> .imp#{$suffix} {
order: -1;
}
> * {
padding: ($guttersRows * $multiplier)
0
0
($guttersCols * $multiplier);
}
// Columns, offsets.
@for $i from 1 through $cols {
> .col-#{$i}#{$suffix} {
width: $unit * $i;
}
// Uniform.
&.gtr-uniform {
margin-top: $guttersCols * $multiplier * -1;
> .off-#{$i}#{$suffix} {
margin-left: $unit * $i;
}
}
// Step through multipliers.
@each $multiplier in $multipliers {
// Gutters.
$class: null;
@if ($multiplier != 1) {
$class: '.gtr-' + ($multiplier * 100);
}
&#{$class} {
margin-top: ($guttersRows * $multiplier * -1);
margin-left: ($guttersCols * $multiplier * -1);
> * {
padding: ($guttersRows * $multiplier) 0 0 ($guttersCols * $multiplier);
}
// Uniform.
&.gtr-uniform {
margin-top: $guttersCols * $multiplier * -1;
> * {
padding-top: $guttersCols * $multiplier;
}
}
}
}
}
}
> * {
padding-top: $guttersCols * $multiplier;
}
}
}
}
}
}

View File

@@ -3,38 +3,33 @@
/// @param {string} $category Optional category to use.
/// @param {string} $where Optional pseudoelement to target (before or after).
@mixin icon($content: false, $category: regular, $where: before) {
text-decoration: none;
text-decoration: none;
&:#{$where} {
@if $content {
content: $content;
}
&:#{$where} {
@if $content {
content: $content;
}
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
display: inline-block;
font-style: normal;
font-variant: normal;
text-rendering: auto;
line-height: 1;
text-transform: none !important;
@if ($category == brands) {
font-family: 'Font Awesome 5 Brands';
}
@elseif ($category == solid) {
font-family: 'Font Awesome 5 Free';
font-weight: 900;
}
@else {
font-family: 'Font Awesome 5 Free';
font-weight: 400;
}
}
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
display: inline-block;
font-style: normal;
font-variant: normal;
text-rendering: auto;
line-height: 1;
text-transform: none !important;
@if ($category == brands) {
font-family: "Font Awesome 5 Brands";
}
@elseif ($category == solid) {
font-family: "Font Awesome 5 Free";
font-weight: 900;
} @else {
font-family: "Font Awesome 5 Free";
font-weight: 400;
}
}
}
/// Applies padding to an element, taking the current element-margin value into account.
@@ -42,37 +37,34 @@
/// @param {mixed} $lr Left/right padding.
/// @param {list} $pad Optional extra padding (in the following order top, right, bottom, left)
/// @param {bool} $important If true, adds !important.
@mixin padding($tb, $lr, $pad: (0,0,0,0), $important: null) {
@mixin padding($tb, $lr, $pad: (0, 0, 0, 0), $important: null) {
@if $important {
$important: "!important";
}
@if $important {
$important: '!important';
}
$x: 0.1em;
$x: 0.1em;
@if unit(_size(element-margin)) == 'rem' {
$x: 0.1rem;
}
padding: ($tb + nth($pad,1)) ($lr + nth($pad,2)) max($x, $tb - _size(element-margin) + nth($pad,3)) ($lr + nth($pad,4)) #{$important};
@if unit(_size(element-margin)) == "rem" {
$x: 0.1rem;
}
padding: ($tb + nth($pad, 1)) ($lr + nth($pad, 2))
max($x, $tb - _size(element-margin) + nth($pad, 3)) ($lr + nth($pad, 4)) #{$important};
}
/// Encodes a SVG data URL so IE doesn't choke (via codepen.io/jakob-e/pen/YXXBrp).
/// @param {string} $svg SVG data URL.
/// @return {string} Encoded SVG data URL.
@function svg-url($svg) {
$svg: str-replace($svg, '"', "'");
$svg: str-replace($svg, "%", "%25");
$svg: str-replace($svg, "<", "%3C");
$svg: str-replace($svg, ">", "%3E");
$svg: str-replace($svg, "&", "%26");
$svg: str-replace($svg, "#", "%23");
$svg: str-replace($svg, "{", "%7B");
$svg: str-replace($svg, "}", "%7D");
$svg: str-replace($svg, ";", "%3B");
$svg: str-replace($svg, '"', '\'');
$svg: str-replace($svg, '%', '%25');
$svg: str-replace($svg, '<', '%3C');
$svg: str-replace($svg, '>', '%3E');
$svg: str-replace($svg, '&', '%26');
$svg: str-replace($svg, '#', '%23');
$svg: str-replace($svg, '{', '%7B');
$svg: str-replace($svg, '}', '%7D');
$svg: str-replace($svg, ';', '%3B');
@return url("data:image/svg+xml;charset=utf8,#{$svg}");
}
@return url("data:image/svg+xml;charset=utf8,#{$svg}");
}

View File

@@ -1,59 +1,64 @@
// Misc.
$misc: (
z-index-base: 10000
);
$misc: (
z-index-base: 10000,
);
// Duration.
$duration: (
transition: 0.2s
);
$duration: (
transition: 0.2s,
);
// Size.
$size: (
border-radius: 0.35em,
element-height: 2.75em,
element-margin: 2em,
container-width: 100%
);
$size: (
border-radius: 0.35em,
element-height: 2.75em,
element-margin: 2em,
container-width: 100%,
);
// Font.
$font: (
family: ('Source Sans Pro', Helvetica, sans-serif),
family-fixed: ('Courier New', monospace),
weight: 400,
weight-bold: 400
);
$font: (
family: (
"Source Sans Pro",
Helvetica,
sans-serif,
),
family-fixed: (
"Courier New",
monospace,
),
weight: 400,
weight-bold: 400,
);
// Palette.
$palette: (
bg: #fff,
fg: #a2a2a2,
fg-bold: #787878,
fg-light: #b2b2b2,
border: #efefef,
border-bg: #f7f7f7,
border2: #dfdfdf,
border2-bg: #e7e7e7,
accent1: (
bg: #49bf9d,
fg: mix(#49bf9d, #ffffff, 25%),
fg-bold: #ffffff,
fg-light: mix(#49bf9d, #ffffff, 40%),
border: rgba(255,255,255,0.25),
border-bg: rgba(255,255,255,0.075),
border2: rgba(255,255,255,0.5),
border2-bg: rgba(255,255,255,0.2)
),
accent2: (
bg: #1f1815,
fg: rgba(255,255,255,0.5),
fg-bold: #ffffff,
fg-light: rgba(255,255,255,0.4),
border: rgba(255,255,255,0.25),
border-bg: rgba(255,255,255,0.075),
border2: rgba(255,255,255,0.5),
border2-bg: rgba(255,255,255,0.2)
)
);
$palette: (
bg: #fff,
fg: #a2a2a2,
fg-bold: #787878,
fg-light: #b2b2b2,
border: #efefef,
border-bg: #f7f7f7,
border2: #dfdfdf,
border2-bg: #e7e7e7,
accent1: (
bg: #49bf9d,
fg: mix(#49bf9d, #ffffff, 25%),
fg-bold: #ffffff,
fg-light: mix(#49bf9d, #ffffff, 40%),
border: rgba(255, 255, 255, 0.25),
border-bg: rgba(255, 255, 255, 0.075),
border2: rgba(255, 255, 255, 0.5),
border2-bg: rgba(255, 255, 255, 0.2),
),
accent2: (
bg: #1f1815,
fg: rgba(255, 255, 255, 0.5),
fg-bold: #ffffff,
fg-light: rgba(255, 255, 255, 0.4),
border: rgba(255, 255, 255, 0.25),
border-bg: rgba(255, 255, 255, 0.075),
border2: rgba(255, 255, 255, 0.5),
border2-bg: rgba(255, 255, 255, 0.2),
),
);

View File

@@ -2,375 +2,323 @@
// Vars.
/// Vendor prefixes.
/// @var {list}
$vendor-prefixes: (
'-moz-',
'-webkit-',
'-ms-',
''
);
/// Vendor prefixes.
/// @var {list}
$vendor-prefixes: ("-moz-", "-webkit-", "-ms-", "");
/// Properties that should be vendorized.
/// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
/// @var {list}
$vendor-properties: (
/// Properties that should be vendorized.
/// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
/// @var {list}
$vendor-properties: (
// Animation.
"animation",
"animation-delay",
"animation-direction",
"animation-duration",
"animation-fill-mode",
"animation-iteration-count",
"animation-name",
"animation-play-state",
"animation-timing-function",
// Appearance.
"appearance",
// Backdrop filter.
"backdrop-filter",
// Background image options.
"background-clip",
"background-origin",
"background-size",
// Box sizing.
"box-sizing",
// Clip path.
"clip-path",
// Filter effects.
"filter",
// Flexbox.
"align-content",
"align-items",
"align-self",
"flex",
"flex-basis",
"flex-direction",
"flex-flow",
"flex-grow",
"flex-shrink",
"flex-wrap",
"justify-content",
"order",
// Font feature.
"font-feature-settings",
"font-language-override",
"font-variant-ligatures",
// Font kerning.
"font-kerning",
// Fragmented borders and backgrounds.
"box-decoration-break",
// Grid layout.
"grid-column",
"grid-column-align",
"grid-column-end",
"grid-column-start",
"grid-row",
"grid-row-align",
"grid-row-end",
"grid-row-start",
"grid-template-columns",
"grid-template-rows",
// Hyphens.
"hyphens",
"word-break",
// Masks.
"mask",
"mask-border",
"mask-border-outset",
"mask-border-repeat",
"mask-border-slice",
"mask-border-source",
"mask-border-width",
"mask-clip",
"mask-composite",
"mask-image",
"mask-origin",
"mask-position",
"mask-repeat",
"mask-size",
// Multicolumn.
"break-after",
"break-before",
"break-inside",
"column-count",
"column-fill",
"column-gap",
"column-rule",
"column-rule-color",
"column-rule-style",
"column-rule-width",
"column-span",
"column-width",
"columns",
// Object fit.
"object-fit",
"object-position",
// Regions.
"flow-from",
"flow-into",
"region-fragment",
// Scroll snap points.
"scroll-snap-coordinate",
"scroll-snap-destination",
"scroll-snap-points-x",
"scroll-snap-points-y",
"scroll-snap-type",
// Shapes.
"shape-image-threshold",
"shape-margin",
"shape-outside",
// Tab size.
"tab-size",
// Text align last.
"text-align-last",
// Text decoration.
"text-decoration-color",
"text-decoration-line",
"text-decoration-skip",
"text-decoration-style",
// Text emphasis.
"text-emphasis",
"text-emphasis-color",
"text-emphasis-position",
"text-emphasis-style",
// Text size adjust.
"text-size-adjust",
// Text spacing.
"text-spacing",
// Transform.
"transform",
"transform-origin",
// Transform 3D.
"backface-visibility",
"perspective",
"perspective-origin",
"transform-style",
// Transition.
"transition",
"transition-delay",
"transition-duration",
"transition-property",
"transition-timing-function",
// Unicode bidi.
"unicode-bidi",
// User select.
"user-select",
// Writing mode.
"writing-mode"
);
// Animation.
'animation',
'animation-delay',
'animation-direction',
'animation-duration',
'animation-fill-mode',
'animation-iteration-count',
'animation-name',
'animation-play-state',
'animation-timing-function',
// Appearance.
'appearance',
// Backdrop filter.
'backdrop-filter',
// Background image options.
'background-clip',
'background-origin',
'background-size',
// Box sizing.
'box-sizing',
// Clip path.
'clip-path',
// Filter effects.
'filter',
// Flexbox.
'align-content',
'align-items',
'align-self',
'flex',
'flex-basis',
'flex-direction',
'flex-flow',
'flex-grow',
'flex-shrink',
'flex-wrap',
'justify-content',
'order',
// Font feature.
'font-feature-settings',
'font-language-override',
'font-variant-ligatures',
// Font kerning.
'font-kerning',
// Fragmented borders and backgrounds.
'box-decoration-break',
// Grid layout.
'grid-column',
'grid-column-align',
'grid-column-end',
'grid-column-start',
'grid-row',
'grid-row-align',
'grid-row-end',
'grid-row-start',
'grid-template-columns',
'grid-template-rows',
// Hyphens.
'hyphens',
'word-break',
// Masks.
'mask',
'mask-border',
'mask-border-outset',
'mask-border-repeat',
'mask-border-slice',
'mask-border-source',
'mask-border-width',
'mask-clip',
'mask-composite',
'mask-image',
'mask-origin',
'mask-position',
'mask-repeat',
'mask-size',
// Multicolumn.
'break-after',
'break-before',
'break-inside',
'column-count',
'column-fill',
'column-gap',
'column-rule',
'column-rule-color',
'column-rule-style',
'column-rule-width',
'column-span',
'column-width',
'columns',
// Object fit.
'object-fit',
'object-position',
// Regions.
'flow-from',
'flow-into',
'region-fragment',
// Scroll snap points.
'scroll-snap-coordinate',
'scroll-snap-destination',
'scroll-snap-points-x',
'scroll-snap-points-y',
'scroll-snap-type',
// Shapes.
'shape-image-threshold',
'shape-margin',
'shape-outside',
// Tab size.
'tab-size',
// Text align last.
'text-align-last',
// Text decoration.
'text-decoration-color',
'text-decoration-line',
'text-decoration-skip',
'text-decoration-style',
// Text emphasis.
'text-emphasis',
'text-emphasis-color',
'text-emphasis-position',
'text-emphasis-style',
// Text size adjust.
'text-size-adjust',
// Text spacing.
'text-spacing',
// Transform.
'transform',
'transform-origin',
// Transform 3D.
'backface-visibility',
'perspective',
'perspective-origin',
'transform-style',
// Transition.
'transition',
'transition-delay',
'transition-duration',
'transition-property',
'transition-timing-function',
// Unicode bidi.
'unicode-bidi',
// User select.
'user-select',
// Writing mode.
'writing-mode',
);
/// Values that should be vendorized.
/// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
/// @var {list}
$vendor-values: (
// Cross fade.
'cross-fade',
// Element function.
'element',
// Filter function.
'filter',
// Flexbox.
'flex',
'inline-flex',
// Grab cursors.
'grab',
'grabbing',
// Gradients.
'linear-gradient',
'repeating-linear-gradient',
'radial-gradient',
'repeating-radial-gradient',
// Grid layout.
'grid',
'inline-grid',
// Image set.
'image-set',
// Intrinsic width.
'max-content',
'min-content',
'fit-content',
'fill',
'fill-available',
'stretch',
// Sticky position.
'sticky',
// Transform.
'transform',
// Zoom cursors.
'zoom-in',
'zoom-out',
);
/// Values that should be vendorized.
/// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
/// @var {list}
$vendor-values: (
// Cross fade.
"cross-fade",
// Element function.
"element",
// Filter function.
"filter",
// Flexbox.
"flex",
"inline-flex",
// Grab cursors.
"grab",
"grabbing",
// Gradients.
"linear-gradient",
"repeating-linear-gradient",
"radial-gradient",
"repeating-radial-gradient",
// Grid layout.
"grid",
"inline-grid",
// Image set.
"image-set",
// Intrinsic width.
"max-content",
"min-content",
"fit-content",
"fill",
"fill-available",
"stretch",
// Sticky position.
"sticky",
// Transform.
"transform",
// Zoom cursors.
"zoom-in",
"zoom-out"
);
// Functions.
/// Removes a specific item from a list.
/// @author Hugo Giraudel
/// @param {list} $list List.
/// @param {integer} $index Index.
/// @return {list} Updated list.
@function remove-nth($list, $index) {
/// Removes a specific item from a list.
/// @author Hugo Giraudel
/// @param {list} $list List.
/// @param {integer} $index Index.
/// @return {list} Updated list.
@function remove-nth($list, $index) {
$result: null;
$result: null;
@if type-of($index) != number {
@warn "$index: #{quote($index)} is not a number for `remove-nth`.";
} @else if $index == 0 {
@warn "List index 0 must be a non-zero integer for `remove-nth`.";
} @else if abs($index) > length($list) {
@warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
} @else {
$result: ();
$index: if($index < 0, length($list) + $index + 1, $index);
@if type-of($index) != number {
@warn "$index: #{quote($index)} is not a number for `remove-nth`.";
}
@else if $index == 0 {
@warn "List index 0 must be a non-zero integer for `remove-nth`.";
}
@else if abs($index) > length($list) {
@warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
}
@else {
@for $i from 1 through length($list) {
@if $i != $index {
$result: append($result, nth($list, $i));
}
}
}
$result: ();
$index: if($index < 0, length($list) + $index + 1, $index);
@return $result;
}
@for $i from 1 through length($list) {
/// Replaces a substring within another string.
/// @author Hugo Giraudel
/// @param {string} $string String.
/// @param {string} $search Substring.
/// @param {string} $replace Replacement.
/// @return {string} Updated string.
@function str-replace($string, $search, $replace: "") {
$index: str-index($string, $search);
@if $i != $index {
$result: append($result, nth($list, $i));
}
@if $index {
@return str-slice($string, 1, $index - 1) + $replace +
str-replace(
str-slice($string, $index + str-length($search)),
$search,
$replace
);
}
}
@return $string;
}
}
/// Replaces a substring within each string in a list.
/// @param {list} $strings List of strings.
/// @param {string} $search Substring.
/// @param {string} $replace Replacement.
/// @return {list} Updated list of strings.
@function str-replace-all($strings, $search, $replace: "") {
@each $string in $strings {
$strings: set-nth(
$strings,
index($strings, $string),
str-replace($string, $search, $replace)
);
}
@return $result;
}
/// Replaces a substring within another string.
/// @author Hugo Giraudel
/// @param {string} $string String.
/// @param {string} $search Substring.
/// @param {string} $replace Replacement.
/// @return {string} Updated string.
@function str-replace($string, $search, $replace: '') {
$index: str-index($string, $search);
@if $index {
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
}
@return $string;
}
/// Replaces a substring within each string in a list.
/// @param {list} $strings List of strings.
/// @param {string} $search Substring.
/// @param {string} $replace Replacement.
/// @return {list} Updated list of strings.
@function str-replace-all($strings, $search, $replace: '') {
@each $string in $strings {
$strings: set-nth($strings, index($strings, $string), str-replace($string, $search, $replace));
}
@return $strings;
}
@return $strings;
}
// Mixins.
/// Wraps @content in vendorized keyframe blocks.
/// @param {string} $name Name.
@mixin keyframes($name) {
/// Wraps @content in vendorized keyframe blocks.
/// @param {string} $name Name.
@mixin keyframes($name) {
@-moz-keyframes #{$name} {
@content;
}
@-webkit-keyframes #{$name} {
@content;
}
@-ms-keyframes #{$name} {
@content;
}
@keyframes #{$name} {
@content;
}
}
@-moz-keyframes #{$name} { @content; }
@-webkit-keyframes #{$name} { @content; }
@-ms-keyframes #{$name} { @content; }
@keyframes #{$name} { @content; }
/// Vendorizes a declaration's property and/or value(s).
/// @param {string} $property Property.
/// @param {mixed} $value String/list of value(s).
@mixin vendor($property, $value) {
// Determine if property should expand.
$expandProperty: index($vendor-properties, $property);
}
// Determine if value should expand (and if so, add '-prefix-' placeholder).
$expandValue: false;
/// Vendorizes a declaration's property and/or value(s).
/// @param {string} $property Property.
/// @param {mixed} $value String/list of value(s).
@mixin vendor($property, $value) {
@each $x in $value {
@each $y in $vendor-values {
@if $y == str-slice($x, 1, str-length($y)) {
$value: set-nth($value, index($value, $x), "-prefix-" + $x);
$expandValue: true;
}
}
}
// Determine if property should expand.
$expandProperty: index($vendor-properties, $property);
// Expand property?
@if $expandProperty {
@each $vendor in $vendor-prefixes {
#{$vendor}#{$property}: #{str-replace-all($value, "-prefix-", $vendor)};
}
}
// Determine if value should expand (and if so, add '-prefix-' placeholder).
$expandValue: false;
// Expand just the value?
@elseif $expandValue {
@each $vendor in $vendor-prefixes {
#{$property}: #{str-replace-all($value, "-prefix-", $vendor)};
}
}
@each $x in $value {
@each $y in $vendor-values {
@if $y == str-slice($x, 1, str-length($y)) {
$value: set-nth($value, index($value, $x), '-prefix-' + $x);
$expandValue: true;
}
}
}
// Expand property?
@if $expandProperty {
@each $vendor in $vendor-prefixes {
#{$vendor}#{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
}
}
// Expand just the value?
@elseif $expandValue {
@each $vendor in $vendor-prefixes {
#{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
}
}
// Neither? Treat them as a normal declaration.
@else {
#{$property}: #{$value};
}
}
// Neither? Treat them as a normal declaration.
@else {
#{$property}: #{$value};
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 674 KiB

After

Width:  |  Height:  |  Size: 668 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 139 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 820 KiB

After

Width:  |  Height:  |  Size: 808 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 60 KiB

View File

@@ -6,7 +6,7 @@
-->
<html>
<head>
<title>MS Office - Electron</title>
<title>MS-Office-Electron</title>
<meta charset="utf-8" />
<meta
name="viewport"
@@ -22,8 +22,8 @@
><img src="images/logo.png" alt=""
/></a>
<h1>
<strong>MS Office - Electron</strong><br />
Free Office Online Desktop Client
<strong>MS-Office-Electron</strong><br />
Free Office Online Desktop Client
</h1>
</div>
</header>
@@ -34,37 +34,47 @@
<section id="one">
<header class="major">
<h2>
An Unofficial Microsoft Office Online Desktop Client made with Electron. Free of Cost.
An Unofficial Microsoft Office Online Desktop Client made with
Electron. Free of Cost.
</h2>
</header>
<p>
<img
src="images/Mac_Screenshot.png"
alt=""
width="500"
height="auto"
class="floatright"
/>
MS Office - Electron is an app in which the Web Version of
MS Office is wrapped into a Cross-Platform App with Electron.
And all the Services of Microsoft Office will work for free. It is available for Windows, Mac OS, and Linux!
If you like the project, do not forget to give a "<i
class="far fa-star"
></i>
<img
src="images/Mac_Screenshot.png"
alt=""
width="500"
height="auto"
class="floatright"
/>
MS-Office-Electron is an app in which the Web Version of MS Office
is wrapped into a Cross-Platform App with Electron. And all the
Services of Microsoft Office will work for free. It is available for
Windows, Mac OS, and Linux! If you like the project, do not forget to
give a "<i class="far fa-star"></i>
Star" to the project :D
</p>
<h2>Download Now:</h2>
<ul class="actions">
<li>
<a href="https://github.com/agam778/MS-Office-Electron#-windows-installation" class="button"
<a
href="https://github.com/agam778/MS-Office-Electron#-windows-installation"
class="button"
><i class="fab fa-windows"></i> Windows</a
>
</li>
<li>
<a href="https://github.com/agam778/MS-Office-Electron#-macos-installation" class="button"><i class="fab fa-apple"></i> Mac OS</a>
<a
href="https://github.com/agam778/MS-Office-Electron#-macos-installation"
class="button"
><i class="fab fa-apple"></i> Mac OS</a
>
</li>
<li>
<a href="https://github.com/agam778/MS-Office-Electron#-linux-installation" class="button"><i class="fab fa-linux"></i> Linux</a>
<a
href="https://github.com/agam778/MS-Office-Electron#-linux-installation"
class="button"
><i class="fab fa-linux"></i> Linux</a
>
</li>
</ul>
</section>
@@ -75,7 +85,9 @@
<div class="inner">
<ul class="icons">
<li>
<a href="https://github.com/agam778/MS-Office-Electron" class="icon brands fa-github"
<a
href="https://github.com/agam778/MS-Office-Electron"
class="icon brands fa-github"
><span class="label">Github</span></a
>
</li>

54
docs/loading/index.html Normal file → Executable file
View File

@@ -1,20 +1,42 @@
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title>Loading MS Office - Electron</title>
<meta http-equiv="refresh" content="5; url=https://office.com/?auth=1">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">
<link rel="stylesheet" href="./style.css">
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Loading MS-Office-Electron</title>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css"
/>
<link rel="stylesheet" href="./style.css" />
</head>
<body>
<!-- partial:index.partial.html -->
<div id="particles-background" class="vertical-centered-box"></div>
<div id="particles-foreground" class="vertical-centered-box"></div>
</head>
<body>
<div class="loader"></div>
<div class="shadow"></div>
<div class="vertical-centered-box">
<div class="content">
<div class="loader-circle"></div>
<div class="loader-line-mask">
<div class="loader-line"></div>
</div>
<img
width="50px"
height="auto"
viewBox="0 0 36 24"
src="https://github.com/agam778/MS-Office-Electron/raw/main/assets/icon.png"
/>
</div>
</div>
<!-- partial -->
<script src="./script.js"></script>
<!-- add text in bottom left corner -->
<style>
<div class="logo">
<a href="https://github.com/agam778/MS-Office-Electron" target="_blank"><img src="https://raw.githubusercontent.com/agam778/MS-Office-Electron/main/MSlogo.svg" alt="MS Office - Electron"></a>
</div>
</body>
</style>
<div class="credittext">
<p>
Design Credits: <a href="https://codepen.io/kenchen/pen/vYwvbZ">kenchen</a>
</p>
</body>
</html>

390
docs/loading/script.js Executable file
View File

@@ -0,0 +1,390 @@
/*!
* Particleground
*
* @author Jonathan Nicol - @mrjnicol
* @version 1.1.0
* @description Creates a canvas based particle system background
*
* Inspired by http://requestlab.fr/ and http://disruptivebydesign.com/
*/
!(function (a, b) {
"use strict";
function c(a) {
a = a || {};
for (var b = 1; b < arguments.length; b++) {
var c = arguments[b];
if (c)
for (var d in c)
c.hasOwnProperty(d) &&
("object" == typeof c[d] ? deepExtend(a[d], c[d]) : (a[d] = c[d]));
}
return a;
}
function d(d, g) {
function h() {
if (y) {
(r = b.createElement("canvas")),
(r.className = "pg-canvas"),
(r.style.display = "block"),
d.insertBefore(r, d.firstChild),
(s = r.getContext("2d")),
i();
for (
var c = Math.round((r.width * r.height) / g.density), e = 0;
c > e;
e++
) {
var f = new n();
f.setStackPos(e), z.push(f);
}
a.addEventListener(
"resize",
function () {
k();
},
!1
),
b.addEventListener(
"mousemove",
function (a) {
(A = a.pageX), (B = a.pageY);
},
!1
),
D &&
!C &&
a.addEventListener(
"deviceorientation",
function () {
(F = Math.min(Math.max(-event.beta, -30), 30)),
(E = Math.min(Math.max(-event.gamma, -30), 30));
},
!0
),
j(),
q("onInit");
}
}
function i() {
(r.width = d.offsetWidth),
(r.height = d.offsetHeight),
(s.fillStyle = g.dotColor),
(s.strokeStyle = g.lineColor),
(s.lineWidth = g.lineWidth);
}
function j() {
if (y) {
(u = a.innerWidth),
(v = a.innerHeight),
s.clearRect(0, 0, r.width, r.height);
for (var b = 0; b < z.length; b++) z[b].updatePosition();
for (var b = 0; b < z.length; b++) z[b].draw();
G || (t = requestAnimationFrame(j));
}
}
function k() {
i();
for (
var a = d.offsetWidth, b = d.offsetHeight, c = z.length - 1;
c >= 0;
c--
)
(z[c].position.x > a || z[c].position.y > b) && z.splice(c, 1);
var e = Math.round((r.width * r.height) / g.density);
if (e > z.length)
for (; e > z.length; ) {
var f = new n();
z.push(f);
}
else e < z.length && z.splice(e);
for (c = z.length - 1; c >= 0; c--) z[c].setStackPos(c);
}
function l() {
G = !0;
}
function m() {
(G = !1), j();
}
function n() {
switch (
(this.stackPos,
(this.active = !0),
(this.layer = Math.ceil(3 * Math.random())),
(this.parallaxOffsetX = 0),
(this.parallaxOffsetY = 0),
(this.position = {
x: Math.ceil(Math.random() * r.width),
y: Math.ceil(Math.random() * r.height),
}),
(this.speed = {}),
g.directionX)
) {
case "left":
this.speed.x = +(
-g.maxSpeedX +
Math.random() * g.maxSpeedX -
g.minSpeedX
).toFixed(2);
break;
case "right":
this.speed.x = +(Math.random() * g.maxSpeedX + g.minSpeedX).toFixed(
2
);
break;
default:
(this.speed.x = +(
-g.maxSpeedX / 2 +
Math.random() * g.maxSpeedX
).toFixed(2)),
(this.speed.x += this.speed.x > 0 ? g.minSpeedX : -g.minSpeedX);
}
switch (g.directionY) {
case "up":
this.speed.y = +(
-g.maxSpeedY +
Math.random() * g.maxSpeedY -
g.minSpeedY
).toFixed(2);
break;
case "down":
this.speed.y = +(Math.random() * g.maxSpeedY + g.minSpeedY).toFixed(
2
);
break;
default:
(this.speed.y = +(
-g.maxSpeedY / 2 +
Math.random() * g.maxSpeedY
).toFixed(2)),
(this.speed.x += this.speed.y > 0 ? g.minSpeedY : -g.minSpeedY);
}
}
function o(a, b) {
return b ? void (g[a] = b) : g[a];
}
function p() {
console.log("destroy"),
r.parentNode.removeChild(r),
q("onDestroy"),
f && f(d).removeData("plugin_" + e);
}
function q(a) {
void 0 !== g[a] && g[a].call(d);
}
var r,
s,
t,
u,
v,
w,
x,
y = !!b.createElement("canvas").getContext,
z = [],
A = 0,
B = 0,
C = !navigator.userAgent.match(
/(iPhone|iPod|iPad|Android|BlackBerry|BB10|mobi|tablet|opera mini|nexus 7)/i
),
D = !!a.DeviceOrientationEvent,
E = 0,
F = 0,
G = !1;
return (
(g = c({}, a[e].defaults, g)),
(n.prototype.draw = function () {
s.beginPath(),
s.arc(
this.position.x + this.parallaxOffsetX,
this.position.y + this.parallaxOffsetY,
g.particleRadius / 2,
0,
2 * Math.PI,
!0
),
s.closePath(),
s.fill(),
s.beginPath();
for (var a = z.length - 1; a > this.stackPos; a--) {
var b = z[a],
c = this.position.x - b.position.x,
d = this.position.y - b.position.y,
e = Math.sqrt(c * c + d * d).toFixed(2);
e < g.proximity &&
(s.moveTo(
this.position.x + this.parallaxOffsetX,
this.position.y + this.parallaxOffsetY
),
g.curvedLines
? s.quadraticCurveTo(
Math.max(b.position.x, b.position.x),
Math.min(b.position.y, b.position.y),
b.position.x + b.parallaxOffsetX,
b.position.y + b.parallaxOffsetY
)
: s.lineTo(
b.position.x + b.parallaxOffsetX,
b.position.y + b.parallaxOffsetY
));
}
s.stroke(), s.closePath();
}),
(n.prototype.updatePosition = function () {
if (g.parallax) {
if (D && !C) {
var a = (u - 0) / 60;
w = (E - -30) * a + 0;
var b = (v - 0) / 60;
x = (F - -30) * b + 0;
} else (w = A), (x = B);
(this.parallaxTargX =
(w - u / 2) / (g.parallaxMultiplier * this.layer)),
(this.parallaxOffsetX +=
(this.parallaxTargX - this.parallaxOffsetX) / 10),
(this.parallaxTargY =
(x - v / 2) / (g.parallaxMultiplier * this.layer)),
(this.parallaxOffsetY +=
(this.parallaxTargY - this.parallaxOffsetY) / 10);
}
var c = d.offsetWidth,
e = d.offsetHeight;
switch (g.directionX) {
case "left":
this.position.x + this.speed.x + this.parallaxOffsetX < 0 &&
(this.position.x = c - this.parallaxOffsetX);
break;
case "right":
this.position.x + this.speed.x + this.parallaxOffsetX > c &&
(this.position.x = 0 - this.parallaxOffsetX);
break;
default:
(this.position.x + this.speed.x + this.parallaxOffsetX > c ||
this.position.x + this.speed.x + this.parallaxOffsetX < 0) &&
(this.speed.x = -this.speed.x);
}
switch (g.directionY) {
case "up":
this.position.y + this.speed.y + this.parallaxOffsetY < 0 &&
(this.position.y = e - this.parallaxOffsetY);
break;
case "down":
this.position.y + this.speed.y + this.parallaxOffsetY > e &&
(this.position.y = 0 - this.parallaxOffsetY);
break;
default:
(this.position.y + this.speed.y + this.parallaxOffsetY > e ||
this.position.y + this.speed.y + this.parallaxOffsetY < 0) &&
(this.speed.y = -this.speed.y);
}
(this.position.x += this.speed.x), (this.position.y += this.speed.y);
}),
(n.prototype.setStackPos = function (a) {
this.stackPos = a;
}),
h(),
{ option: o, destroy: p, start: m, pause: l }
);
}
var e = "particleground",
f = a.jQuery;
(a[e] = function (a, b) {
return new d(a, b);
}),
(a[e].defaults = {
minSpeedX: 0.1,
maxSpeedX: 0.7,
minSpeedY: 0.1,
maxSpeedY: 0.7,
directionX: "center",
directionY: "center",
density: 1e4,
dotColor: "#666666",
lineColor: "#666666",
particleRadius: 7,
lineWidth: 1,
curvedLines: !1,
proximity: 100,
parallax: !0,
parallaxMultiplier: 5,
onInit: function () {},
onDestroy: function () {},
}),
f &&
(f.fn[e] = function (a) {
if ("string" == typeof arguments[0]) {
var b,
c = arguments[0],
g = Array.prototype.slice.call(arguments, 1);
return (
this.each(function () {
f.data(this, "plugin_" + e) &&
"function" == typeof f.data(this, "plugin_" + e)[c] &&
(b = f.data(this, "plugin_" + e)[c].apply(this, g));
}),
void 0 !== b ? b : this
);
}
return "object" != typeof a && a
? void 0
: this.each(function () {
f.data(this, "plugin_" + e) ||
f.data(this, "plugin_" + e, new d(this, a));
});
});
})(window, document),
/**
* requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel
* @see: http://paulirish.com/2011/requestanimationframe-for-smart-animating/
* @see: http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating
* @license: MIT license
*/ (function () {
for (
var a = 0, b = ["ms", "moz", "webkit", "o"], c = 0;
c < b.length && !window.requestAnimationFrame;
++c
)
(window.requestAnimationFrame = window[b[c] + "RequestAnimationFrame"]),
(window.cancelAnimationFrame =
window[b[c] + "CancelAnimationFrame"] ||
window[b[c] + "CancelRequestAnimationFrame"]);
window.requestAnimationFrame ||
(window.requestAnimationFrame = function (b) {
var c = new Date().getTime(),
d = Math.max(0, 16 - (c - a)),
e = window.setTimeout(function () {
b(c + d);
}, d);
return (a = c + d), e;
}),
window.cancelAnimationFrame ||
(window.cancelAnimationFrame = function (a) {
clearTimeout(a);
});
})();
particleground(document.getElementById("particles-foreground"), {
dotColor: "rgba(255, 255, 255, 1)",
lineColor: "rgba(255, 255, 255, 0.05)",
minSpeedX: 0.3,
maxSpeedX: 0.6,
minSpeedY: 0.3,
maxSpeedY: 0.6,
density: 50000, // One particle every n pixels
curvedLines: false,
proximity: 250, // How close two dots need to be before they join
parallaxMultiplier: 10, // Lower the number is more extreme parallax
particleRadius: 4, // Dot size
});
particleground(document.getElementById("particles-background"), {
dotColor: "rgba(255, 255, 255, 0.5)",
lineColor: "rgba(255, 255, 255, 0.05)",
minSpeedX: 0.075,
maxSpeedX: 0.15,
minSpeedY: 0.075,
maxSpeedY: 0.15,
density: 30000, // One particle every n pixels
curvedLines: false,
proximity: 20, // How close two dots need to be before they join
parallaxMultiplier: 20, // Lower the number is more extreme parallax
particleRadius: 2, // Dot size
});

341
docs/loading/style.css Normal file → Executable file
View File

@@ -1,246 +1,107 @@
@-webkit-keyframes mainAnimation {
0% {
width: 50px;
transform: translateX(0px) translateY(0px) rotate(0deg);
}
20% {
width: 50px;
transform: translateX(0px) translateY(0px) rotate(0deg);
}
40% {
width: 150px;
transform: translateX(-50px) translateY(0px) rotate(0deg);
}
60% {
width: 150px;
transform-origin: bottom right;
transform: translateX(-150px) translateY(0px) rotate(90deg);
}
80% {
width: 50px;
transform: translateX(-25px) translateY(0px) rotate(90deg);
}
100% {
width: 50px;
transform: translateX(-50px) translateY(0px) rotate(90deg);
}
body {
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-family: "proxima-nova-soft", sans-serif;
-webkit-user-select: none;
overflow: hidden;
}
body .vertical-centered-box {
position: absolute;
width: 100%;
height: 100%;
text-align: center;
}
body .vertical-centered-box:after {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
margin-right: -0.25em;
}
body .vertical-centered-box .content {
box-sizing: border-box;
display: inline-block;
vertical-align: middle;
text-align: left;
font-size: 0;
}
* {
transition: all 0.3s;
}
body {
background: #2c2d44;
}
.loader-circle {
position: absolute;
left: 50%;
top: 50%;
width: 120px;
height: 120px;
border-radius: 50%;
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
margin-left: -60px;
margin-top: -60px;
}
.loader-line-mask {
position: absolute;
left: 50%;
top: 50%;
width: 60px;
height: 120px;
margin-left: -60px;
margin-top: -60px;
overflow: hidden;
transform-origin: 60px 60px;
-webkit-mask-image: -webkit-linear-gradient(top, #000000, rgba(0, 0, 0, 0));
animation: rotate 1.2s infinite linear;
}
.loader-line-mask .loader-line {
width: 120px;
height: 120px;
border-radius: 50%;
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
}
#particles-background,
#particles-foreground {
left: -51%;
top: -51%;
width: 202%;
height: 202%;
transform: scale3d(0.5, 0.5, 1);
}
#particles-background {
background: #2c2d44;
background-image: -moz-linear-gradient(45deg, #3f3251 2%, #002025 100%);
background-image: -webkit-linear-gradient(45deg, #3f3251 2%, #002025 100%);
background-image: linear-gradient(45deg, #3f3251 2%, #002025 100%);
}
@keyframes rotate {
0% {
transform: rotate(0deg);
}
@keyframes mainAnimation {
0% {
width: 50px;
transform: translateX(0px) translateY(0px) rotate(0deg);
}
20% {
width: 50px;
transform: translateX(0px) translateY(0px) rotate(0deg);
}
40% {
width: 150px;
transform: translateX(-50px) translateY(0px) rotate(0deg);
}
60% {
width: 150px;
transform-origin: bottom right;
transform: translateX(-150px) translateY(0px) rotate(90deg);
}
80% {
width: 50px;
transform: translateX(-25px) translateY(0px) rotate(90deg);
}
100% {
width: 50px;
transform: translateX(-50px) translateY(0px) rotate(90deg);
}
100% {
transform: rotate(360deg);
}
@-webkit-keyframes secundaryAnimation {
0% {
transform: translateX(0px) translateY(0px) rotate(0deg);
}
20% {
transform: translateX(0px) translateY(0px) rotate(180deg);
}
40% {
transform: translateX(0px) translateY(0px) rotate(180deg);
}
60% {
transform: translateX(0px) translateY(0px) rotate(0deg);
}
80% {
transform: translateX(0px) translateY(0px) rotate(0deg);
}
100% {
transform: translateX(0px) translateY(0px) rotate(180deg);
}
}
@keyframes fade {
0% {
opacity: 1;
}
@keyframes secundaryAnimation {
0% {
transform: translateX(0px) translateY(0px) rotate(0deg);
}
20% {
transform: translateX(0px) translateY(0px) rotate(180deg);
}
40% {
transform: translateX(0px) translateY(0px) rotate(180deg);
}
60% {
transform: translateX(0px) translateY(0px) rotate(0deg);
}
80% {
transform: translateX(0px) translateY(0px) rotate(0deg);
}
100% {
transform: translateX(0px) translateY(0px) rotate(180deg);
}
50% {
opacity: 0.25;
}
@-webkit-keyframes shadowAnimation {
0% {
width: 150px;
transform: translateX(-25px) translateY(0px) rotate(0deg);
}
20% {
width: 75px;
transform: translateX(37.5px) translateY(0px) rotate(0deg);
}
40% {
width: 200px;
transform: translateX(-25px) translateY(0px) rotate(0deg);
}
60% {
width: 75px;
transform: translateX(37.5px) translateY(0px) rotate(0deg);
}
80% {
width: 75px;
transform: translateX(37.5px) translateY(0px) rotate(0deg);
}
100% {
width: 150px;
transform: translateX(-25px) translateY(0px) rotate(0deg);
}
}
@keyframes fade-in {
0% {
opacity: 0;
}
@keyframes shadowAnimation {
0% {
width: 150px;
transform: translateX(-25px) translateY(0px) rotate(0deg);
}
20% {
width: 75px;
transform: translateX(37.5px) translateY(0px) rotate(0deg);
}
40% {
width: 200px;
transform: translateX(-25px) translateY(0px) rotate(0deg);
}
60% {
width: 75px;
transform: translateX(37.5px) translateY(0px) rotate(0deg);
}
80% {
width: 75px;
transform: translateX(37.5px) translateY(0px) rotate(0deg);
}
100% {
width: 150px;
transform: translateX(-25px) translateY(0px) rotate(0deg);
}
100% {
opacity: 1;
}
@-webkit-keyframes float {
0% {
top: 50%;
}
50% {
top: 51%;
}
100% {
top: 50%;
}
}
@keyframes float {
0% {
top: 50%;
}
50% {
top: 51%;
}
100% {
top: 50%;
}
}
html, body {
height: 100%;
}
body {
position: relative;
background: #5684f0;
background: linear-gradient(135deg, #5684f0 0%, #fa7587 100%);
}
.loader {
position: absolute;
width: 50px;
height: 50px;
top: 50%;
left: 50%;
margin-top: -25px;
margin-left: -25px;
background-color: #FFF5A5;
transform: translateX(0px) translateY(0px) rotate(0deg);
-webkit-animation: mainAnimation 2.6s ease 0s infinite forwards;
animation: mainAnimation 2.6s ease 0s infinite forwards;
z-index: 2;
}
.loader:after {
content: "";
display: inline-block;
position: absolute;
width: 50px;
height: 50px;
top: 0;
left: -50px;
background-color: #FFF5A5;
transform-origin: top right;
transform: translateX(0px) translateY(0px) rotate(0deg);
-webkit-animation: secundaryAnimation 2.6s ease 0s infinite forwards;
animation: secundaryAnimation 2.6s ease 0s infinite forwards;
}
.shadow {
position: absolute;
width: 100px;
height: 10px;
top: 50%;
left: 50%;
margin-top: 50px;
margin-left: -75px;
border-radius: 50%;
background-color: #95a5a6;
transform: translateX(0px) translateY(0px) rotate(0deg);
-webkit-animation: shadowAnimation 2.6s ease 0s infinite forwards, float 5s ease-in-out 0s infinite forwards;
animation: shadowAnimation 2.6s ease 0s infinite forwards, float 5s ease-in-out 0s infinite forwards;
filter: blur(5px);
z-index: 1;
}
.logo {
position: absolute;
bottom: 20px;
left: 50%;
width: 42px;
height: 42px;
padding: 12px 5px;
margin-left: -21px;
box-sizing: border-box;
background-color: white;
border-radius: 50%;
transition: transform 500ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.logo:hover {
transform: scale(1.4);
}
.logo img {
width: 100%;
height: auto;
margin: 0 auto;
}
}
.credittext {
position: absolute;
bottom: 0;
left: 0;
color: white;
}

BIN
icon.icns

Binary file not shown.

BIN
icon.ico

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

BIN
icon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

BIN
icon2.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

843
main.js
View File

@@ -1,237 +1,606 @@
const { app, Menu, BrowserWindow, dialog, shell } = require("electron");
const { autoUpdater } = require("electron-updater");
const isMac = process.platform === "darwin";
const openAboutWindow = require("about-window").default;
const isOnline = require("is-online");
const ElectronDl = require("electron-dl");
const contextMenu = require("electron-context-menu");
const log = require("electron-log");
log.transports.file.level = "verbose";
console.log = log.log;
ElectronDl({
dlPath: "./downloads",
onStarted: (item) => {
dialog.showMessageBox({
type: "info",
title: "Downloading File",
message: `Downloading "${item.getFilename()}" to "${item.getSavePath()}"`,
buttons: ["OK"],
});
},
onCompleted: () => {
dialog.showMessageBox({
type: "info",
title: "Download Completed",
message: `Downloading Completed! Please check your "Downloads" folder.`,
buttons: ["OK"],
});
},
onError: (item) => {
dialog.showMessageBox({
type: "error",
title: "Download failed",
message: `Downloading "${item.getFilename()}" failed :(`,
buttons: ["OK"],
});
},
});
contextMenu({
showInspectElement: false,
showServices: false,
});
const template = [
...(isMac
? [
{
label: app.name,
submenu: [
{ role: "about" },
{ type: "separator" },
{ role: "services" },
{ type: "separator" },
{ role: "hide" },
{ role: "hideothers" },
{ role: "unhide" },
{ type: "separator" },
{ role: "quit" },
],
},
]
: []),
{
label: "Application",
submenu: [
{
label: "About MS Office - Electron",
click: () =>
openAboutWindow({
icon_path:
"https://github.com/agam778/MS-Office-Electron/blob/main/icon2.png?raw=true",
product_name: "MS Office - Electron",
copyright: "Copyright (c) 2021 Agampreet Singh Bajaj",
package_json_dir: __dirname,
bug_report_url:
"https://github.com/agam778/Microsoft-Office-Electron/issues/",
bug_link_text: "Report an issue",
adjust_window_size: "2",
show_close_button: "Close",
}),
},
{
label: "Learn More",
click: async () => {
const { shell } = require("electron");
await shell.openExternal(
"https://github.com/agam778/MS-Office-Electron"
);
},
},
{
label: "Open Logs Folder",
click: async () => {
const { shell } = require("electron");
if (process.platform === "win32") {
await shell.openPath(
"C:\\Users\\" +
process.env.USERNAME +
"\\AppData\\Roaming\\ms-office-electron\\\\logs\\"
);
} else if (process.platform === "darwin") {
await shell.openPath(
"/Users/" +
process.env.USERNAME +
"/Library/Logs/ms-office-electron/"
);
} else if (process.platform === "linux") {
await shell.openPath(
"/home/" +
process.env.USERNAME +
"/.config/ms-office-electron/logs"
);
}
},
},
{ type: "separator" },
{
role: "quit",
accelerator: process.platform === "darwin" ? "Ctrl+Q" : "Ctrl+Q",
},
],
},
{
label: "Edit",
submenu: [
{ role: "undo" },
{ role: "redo" },
{ type: "separator" },
{ role: "cut" },
{ role: "copy" },
{ role: "paste" },
...(isMac
? [
{ role: "pasteAndMatchStyle" },
{ role: "delete" },
{ role: "selectAll" },
{ type: "separator" },
{
label: "Speech",
submenu: [{ role: "startSpeaking" }, { role: "stopSpeaking" }],
},
]
: [{ role: "delete" }, { type: "separator" }, { role: "selectAll" }]),
],
},
{
label: "View",
submenu: [
{ role: "reload" },
{ role: "forceReload" },
{ type: "separator" },
{ role: "resetZoom" },
{
role: "zoomIn",
accelerator: process.platform === "darwin" ? "Control+=" : "Control+=",
},
{ role: "zoomOut" },
{ type: "separator" },
{ role: "togglefullscreen" },
],
},
{
label: "Window",
submenu: [
{ role: "minimize" },
{ role: "zoom" },
...(isMac
? [
{ type: "separator" },
{ role: "front" },
{ type: "separator" },
{ role: "window" },
]
: [{ role: "close" }]),
],
},
];
const menu = Menu.buildFromTemplate(template);
Menu.setApplicationMenu(menu);
function createWindow() {
const win = new BrowserWindow({
width: 1181,
height: 670,
icon: "./icon.png",
webPreferences: {
nodeIntegration: true,
devTools: false,
},
});
win.loadURL("https://agam778.github.io/MS-Office-Electron/loading", {
userAgent:
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
});
}
app.whenReady().then(createWindow);
app.on("window-all-closed", () => {
if (process.platform !== "darwin") {
app.quit();
}
});
app.on("activate", () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow();
}
});
app.on("ready", function () {
isOnline().then((online) => {
if (online) {
console.log("You are connected to the internet!");
} else {
const options = {
type: "warning",
buttons: ["Ok"],
defaultId: 2,
title: "Warning",
message: "You appear to be offline!",
detail:
"Please check your Internet Connectivity. This app cannot run without an Internet Connection!",
};
dialog.showMessageBox(null, options, (response) => {
console.log(response);
});
}
});
autoUpdater.checkForUpdatesAndNotify();
});
const { app, Menu, BrowserWindow, dialog, shell } = require("electron");
const { autoUpdater } = require("electron-updater");
const openAboutWindow = require("about-window").default;
const checkInternetConnected = require("check-internet-connected");
const axios = require("axios");
const ElectronDl = require("electron-dl");
const contextMenu = require("electron-context-menu");
const path = require("path");
const Store = require("electron-store");
const log = require("electron-log");
const store = new Store();
const isMac = process.platform === "darwin";
const isWin = process.platform === "win32";
const isLinux = process.platform === "linux";
const RPC = require("discord-rpc");
const clientId = "942637872530460742";
const rpc = new RPC.Client({ transport: "ipc" });
const windowsuseragent =
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36";
const macuseragent =
"Mozilla/5.0 (Macintosh; Intel Mac OS X 12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36";
const linuxuseragent =
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36";
log.transports.file.level = "verbose";
console.log = log.log;
Object.assign(console, log.functions);
ElectronDl({
dlPath: "./downloads",
onStarted: (item) => {
BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(
__dirname + "/assets/icons/download.png",
"Downloading"
);
});
dialog.showMessageBox({
type: "info",
title: "Downloading File",
message: `Downloading "${item.getFilename()}" to "${item.getSavePath()}"`,
buttons: ["OK"],
});
},
onCompleted: () => {
BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(
__dirname + "/assets/icons/download-success.png",
"Download Successful"
);
});
dialog.showMessageBox({
type: "info",
title: "Download Completed",
message: `Downloading Completed! Please check your "Downloads" folder.`,
buttons: ["OK"],
});
setTimeout(() => {
BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(null, "");
});
}, 7000);
},
onError: (item) => {
dialog.showMessageBox({
type: "error",
title: "Download failed",
message: `Downloading "${item.getFilename()}" failed :(`,
buttons: ["OK"],
});
BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(
__dirname + "/download-fail.png",
"Download Failed"
);
});
setTimeout(() => {
BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(null, "");
});
}, 7000);
},
});
contextMenu({
showInspectElement: false,
showServices: false,
});
const menulayout = [
...(isMac
? [
{
label: app.name,
submenu: [
{ role: "about" },
{ type: "separator" },
{ role: "services" },
{ type: "separator" },
{ role: "hide" },
{ role: "hideothers" },
{ role: "unhide" },
{ type: "separator" },
{ role: "quit" },
],
},
]
: []),
{
label: "Application",
submenu: [
{
label: "About MS-Office-Electron",
click: () =>
openAboutWindow({
icon_path:
"https://raw.githubusercontent.com/agam778/MS-Office-Electron/main/assets/icon.png",
product_name: "MS-Office-Electron",
copyright:
"Copyright (c) 2021-2022 Agampreet Singh\nOffice, the name, website, images/icons\nare the intellectual properties of Microsoft.",
package_json_dir: __dirname,
bug_report_url:
"https://github.com/agam778/Microsoft-Office-Electron/issues/",
bug_link_text: "Report an issue",
adjust_window_size: "2",
show_close_button: "Close",
}),
},
{
label: "Check for Updates",
click: async () => {
axios
.get(
"https://api.github.com/repos/agam778/MS-Office-Electron/releases/latest"
)
.then((res) => {
let data = res.data;
let currentVersion = "v" + app.getVersion();
let latestVersion = data.tag_name;
if (currentVersion !== latestVersion) {
const updatedialog = dialog.showMessageBoxSync({
type: "info",
title: "Update Available",
message: `Your App's version: ${currentVersion}\nLatest version: ${latestVersion}\n\nPlease update to the latest version.`,
buttons: ["Download", "Close"],
});
if (updatedialog === 0) {
shell.openExternal(
"https://github.com/agam778/MS-Office-Electron/releases/latest"
);
}
} else {
dialog.showMessageBoxSync({
type: "info",
title: "No Update Available",
message: `Your App's version: ${currentVersion}\nLatest version: ${latestVersion}\n\nYou are already using the latest version.`,
buttons: ["OK"],
});
}
});
},
},
{
label: "Learn More",
click: async () => {
const { shell } = require("electron");
await shell.openExternal(
"https://github.com/agam778/MS-Office-Electron"
);
},
},
{
label: "Open Logs Folder",
click: async () => {
const { shell } = require("electron");
if (isWin) {
await shell.openPath(
"C:\\Users\\" +
process.env.USERNAME +
"\\AppData\\Roaming\\ms-office-electron\\logs\\"
);
} else if (process.platform === "darwin") {
await shell.openPath(
"/Users/" + process.env.USER + "/Library/Logs/ms-office-electron/"
);
} else if (isLinux) {
await shell.openPath(
"/home/" + process.env.USER + "/.config/ms-office-electron/logs/"
);
}
},
},
{ type: "separator" },
{
label: "Open Normal version of MS Office",
type: "radio",
click() {
store.set("enterprise-or-normal", "https://office.com/?auth=1");
dialog.showMessageBoxSync({
type: "info",
title: "Normal version of MS Office",
message:
"The normal version of MS Office will be opened.\n\nPlease restart the app to apply the changes.",
buttons: ["OK"],
});
},
checked:
store.get("enterprise-or-normal") === "https://office.com/?auth=1",
},
{
label: "Open Enterprise version of MS Office",
type: "radio",
click() {
store.set("enterprise-or-normal", "https://office.com/?auth=2");
dialog.showMessageBoxSync({
type: "info",
title: "Enterprise version of MS Office",
message:
"The enterprise version of MS Office will be opened.\n\nPlease restart the app to apply the changes.",
buttons: ["OK"],
});
},
checked:
store.get("enterprise-or-normal") === "https://office.com/?auth=2",
},
{ type: "separator" },
{
label: "Open Websites in New Windows (Recommended)",
type: "radio",
click: () => {
store.set("websites-in-new-window", "true");
dialog.showMessageBoxSync({
type: "info",
title: "Websites in New Windows",
message:
"Websites which are targeted to open in new tabs will now open in new windows.",
buttons: ["OK"],
});
},
checked: store.get("websites-in-new-window")
? store.get("websites-in-new-window") === "true"
: true,
},
{
label: "Open Websites in the Same Window",
type: "radio",
click: () => {
store.set("websites-in-new-window", "false");
dialog.showMessageBoxSync({
type: "info",
title: "Websites in New Windows",
message:
"Websites which are targeted to open in new tabs will now open in the same window.\n\nNote: This will be buggy in some cases if you are using Enterprise version of MS Office.",
buttons: ["OK"],
});
},
checked: store.get("websites-in-new-window")
? store.get("websites-in-new-window") === "false"
: false,
},
{ type: "separator" },
{
label: "Enable Discord Rich Presence",
type: "radio",
click: () => {
store.set("discordrpcstatus", "true");
dialog.showMessageBoxSync({
type: "info",
title: "Discord Rich Presence",
message: "Discord Rich Presence is now enabled.",
buttons: ["OK"],
});
discordrpcupdate(
`On "${BrowserWindow.getFocusedWindow().webContents.getTitle()}"`
);
},
checked: store.get("discordrpcstatus")
? store.get("discordrpcstatus") === "true"
: true,
},
{
label: "Disable Discord Rich Presence",
type: "radio",
click: () => {
store.set("discordrpcstatus", "false");
dialog.showMessageBoxSync({
type: "info",
title: "Discord Rich Presence",
message: "Discord Rich Presence is now disabled.",
buttons: ["OK"],
});
rpc.clearActivity();
},
checked: store.get("discordrpcstatus")
? store.get("discordrpcstatus") === "false"
: false,
},
{ type: "separator" },
{
label: "Windows Useragent",
type: "radio",
click: () => {
store.set("useragentstring", windowsuseragent);
dialog.showMessageBoxSync({
type: "info",
title: "User agent switcher",
message:
"You have switched to Windows Useragent.\n\nPlease restart the app to apply the changes.",
buttons: ["OK"],
});
},
checked:
store.get("useragentstring") === windowsuseragent ? true : false,
},
{
label: "Mac os Useragent",
type: "radio",
click: () => {
store.set("useragentstring", macuseragent);
dialog.showMessageBoxSync({
type: "info",
title: "User agent switcher",
message:
"You have switched to Mac OS Useragent.\n\nPlease restart the app to apply the changes.",
buttons: ["OK"],
});
},
checked: store.get("useragentstring") === macuseragent ? true : false,
},
{
label: "Linux Useragent",
type: "radio",
click: () => {
store.set("useragentstring", linuxuseragent);
dialog.showMessageBoxSync({
type: "info",
title: "User agent switcher",
message:
"You have switched to Linux Useragent.\n\nPlease restart the app to apply the changes.",
buttons: ["OK"],
});
},
checked: store.get("useragentstring") === linuxuseragent ? true : false,
},
{ type: "separator" },
{
role: "quit",
accelerator: process.platform === "darwin" ? "Ctrl+Q" : "Ctrl+Q",
},
],
},
{
label: "Navigation",
submenu: [
{
label: "Back",
click: () => {
BrowserWindow.getFocusedWindow().webContents.goBack();
},
},
{
label: "Forward",
click: () => {
BrowserWindow.getFocusedWindow().webContents.goForward();
},
},
{
label: "Reload",
click: () => {
BrowserWindow.getFocusedWindow().webContents.reload();
},
},
{
label: "Home",
click: () => {
BrowserWindow.getFocusedWindow().loadURL(
`${store.get("enterprise-or-normal")}`
);
},
},
],
},
{
label: "Edit",
submenu: [
{ role: "undo" },
{ role: "redo" },
{ type: "separator" },
{ role: "cut" },
{ role: "copy" },
{ role: "paste" },
...(isMac
? [
{ role: "pasteAndMatchStyle" },
{ role: "delete" },
{ role: "selectAll" },
{ type: "separator" },
{
label: "Speech",
submenu: [{ role: "startSpeaking" }, { role: "stopSpeaking" }],
},
]
: [{ role: "delete" }, { type: "separator" }, { role: "selectAll" }]),
],
},
{
label: "View",
submenu: [
{ role: "reload" },
{ role: "forceReload" },
{ type: "separator" },
{ role: "resetZoom" },
{
role: "zoomIn",
accelerator: process.platform === "darwin" ? "Control+=" : "Control+=",
},
{ role: "zoomOut" },
{ type: "separator" },
{ role: "togglefullscreen" },
],
},
{
label: "Window",
submenu: [
{ role: "minimize" },
{ role: "zoom" },
...(isMac
? [
{ type: "separator" },
{ role: "front" },
{ type: "separator" },
{ role: "window" },
]
: [{ role: "close" }]),
{
label: "Show Menu Bar",
type: "radio",
click: () => {
store.set("autohide-menubar", "false");
dialog.showMessageBoxSync({
type: "info",
title: "Menu Bar Settings",
message:
"Menu will be visible now. Please restart the app for changes to take effect.",
buttons: ["OK"],
});
},
checked: store.get("autohide-menubar") === "false",
},
{
label: "Hide Menu Bar (Press ALT To show for some time)",
type: "radio",
click: () => {
store.set("autohide-menubar", "true");
dialog.showMessageBoxSync({
type: "info",
title: "Menu Bar Settings",
message:
"Menu bar will be automatically hidden now. Please restart the app for changes to take effect.",
buttons: ["OK"],
});
},
checked: store.get("autohide-menubar") === "true",
},
],
},
];
const menu = Menu.buildFromTemplate(menulayout);
Menu.setApplicationMenu(menu);
function discordrpc(title) {
if (store.get("discordrpcstatus") === "true") {
rpc
.setActivity({
details: `${title}`,
largeImageKey: "logo",
largeImageText: "MS-Office-Electron",
startTimestamp: Date.now(),
instance: false,
})
.catch((err) => {
console.log(err);
});
}
}
function discordrpcupdate(title) {
rpc.clearActivity();
rpc
.setActivity({
details: `${title}`,
largeImageKey: "logo",
largeImageText: "MS-Office-Electron",
startTimestamp: Date.now(),
instance: false,
})
.catch((err) => {
console.log(err);
});
}
function createWindow() {
const win = new BrowserWindow({
width: 1181,
height: 670,
icon: path.join(__dirname, "/assets/icons/png/1024x1024.png"),
show: false,
webPreferences: {
nodeIntegration: true,
devTools: true,
},
});
if (store.get("autohide-menubar") === "true") {
win.setAutoHideMenuBar(true);
} else {
win.setAutoHideMenuBar(false);
}
const splash = new BrowserWindow({
width: 810,
height: 610,
transparent: true,
frame: false,
alwaysOnTop: true,
icon: path.join(__dirname, "/assets/icons/png/1024x1024.png"),
});
splash.loadURL(`https://agam778.github.io/MS-Office-Electron/loading`);
win.loadURL(
`${store.get("enterprise-or-normal") || "https://office.com/?auth=1"}`,
{
userAgent: store.get("useragentstring") || windowsuseragent,
}
);
win.webContents.on("did-finish-load", () => {
splash.destroy();
win.show();
discordrpc(`On "${win.webContents.getTitle()}"`);
});
}
app.on("ready", () => {
createWindow();
});
app.on("web-contents-created", (event, contents) => {
contents.on("new-window", (event, url) => {
if (store.get("websites-in-new-window") === "false") {
event.preventDefault();
BrowserWindow.getFocusedWindow().loadURL(url);
}
});
});
app.on("window-all-closed", () => {
rpc.clearActivity();
if (process.platform !== "darwin") {
app.quit();
}
});
app.on("activate", () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow();
}
});
app.on("ready", function () {
checkInternetConnected()
.then(() => {
console.log("You are connected to the internet!");
})
.catch(() => {
const options = {
type: "warning",
buttons: ["Ok"],
defaultId: 2,
title: "Warning",
message: "You appear to be offline!",
detail:
"Please check your Internet Connectivity. This app cannot run without an Internet Connection!",
};
dialog.showMessageBox(null, options, (response) => {
console.log(response);
});
});
autoUpdater.checkForUpdatesAndNotify();
if (store.get("discordrpcstatus") === "true") {
rpc.login({ clientId }).catch(() =>
dialog.showMessageBox(BrowserWindow.getFocusedWindow(), {
type: "error",
title: "Discord RPC Error",
message:
"Oops! An Error occured while connecting to Discord RPC. Probably discord isn't installed or opened?",
buttons: ["OK"],
})
);
}
});

View File

@@ -1,88 +1,82 @@
{
"name": "ms-office-electron",
"version": "0.4.0",
"description": "An Unofficial Microsoft Office Online Desktop Client. Free of Cost.",
"main": "main.js",
"repository": {
"type": "git",
"url": "https://github.com/agam778/MS-Office-Electron.git"
},
"build": {
"extraFiles": [
"icon.png",
"license.txt",
"icon2.png"
],
"appId": "com.agampreet.ms-office-electron",
"productName": "MS-Office-Electron",
"linux": {
"category": "Office",
"desktop": {
"Comment": "An Unofficial Microsoft Office Online Desktop Client. Free of Cost.",
"Name": "MS Office - Electron",
"StartupNotify": "true",
"Terminal": "false",
"Type": "Application",
"Categories": "Office;"
},
"icon": "icon.png",
"artifactName": "ms-office-electron-setup-${version}-${arch}.${ext}",
"executableName": "MS-Office-Electron",
"maintainer": "Agampreet Singh <agam778@zohomail.in>",
"target": [
"deb",
"rpm",
"AppImage"
]
},
"deb": {
"compression": "bzip2"
},
"mac": {
"category": "public.app-category.office",
"target": [
"dmg"
],
"icon": "icon.icns"
},
"nsis": {
"oneClick": false,
"perMachine": false,
"allowToChangeInstallationDirectory": false,
"license": "license.txt",
"artifactName": "ms-office-electron-setup-${version}-${arch}.${ext}"
},
"win": {
"target": [
"nsis"
],
"icon": "icon.ico"
},
"directories": {
"output": "release"
}
},
"scripts": {
"start": "electron .",
"pack": "electron-builder --dir",
"dist": "electron-builder"
},
"author": {
"name": "Agampreet Singh",
"email": "agam778@zohomail.in",
"url": "https://agam778.is-a.dev/"
},
"license": "MIT",
"devDependencies": {
"electron": "^15.x.x",
"electron-builder": "^22.x.x"
},
"dependencies": {
"about-window": "^1.x.x",
"electron-context-menu": "^3.x.x",
"electron-dl": "^3.x.x",
"electron-log": "^4.4.1",
"electron-updater": "^4.x.x",
"is-online": "^9.x.x"
}
}
{
"name": "ms-office-electron",
"version": "0.7.3",
"description": "An Unofficial Microsoft Office Online Desktop Client. Free of Cost.",
"main": "main.js",
"repository": {
"type": "git",
"url": "https://github.com/agam778/MS-Office-Electron.git"
},
"author": {
"name": "Agampreet Singh",
"email": "agam778@zohomail.in",
"url": "https://agam778.is-a.dev/"
},
"build": {
"extraFiles": [
"/assets",
"LICENSE"
],
"appId": "com.agampreet.ms-office-electron",
"productName": "MS-Office-Electron",
"artifactName": "MS-Office-Electron-Setup-v${version}-${os}-${arch}.${ext}",
"mac": {
"identity": "null",
"category": "public.app-category.office",
"target": [
"dmg"
],
"icon": "./assets/icons/mac/icon.icns"
},
"win": {
"target": [
"nsis"
],
"icon": "./assets/icons/win/icon.ico"
},
"nsis": {
"oneClick": false,
"perMachine": false,
"allowToChangeInstallationDirectory": false,
"license": "LICENSE"
},
"linux": {
"category": "Office",
"icon": "./assets/icons/png",
"executableName": "ms-office-electron",
"maintainer": "Agampreet Singh <agam778@zohomail.in>",
"target": [
"snap",
"deb",
"rpm",
"AppImage",
"tar.gz"
]
},
"directories": {
"output": "release"
}
},
"scripts": {
"start": "electron .",
"pack": "electron-builder --dir",
"dist": "electron-builder"
},
"license": "MIT",
"devDependencies": {
"electron": "^21.1.0",
"electron-builder": "^23.3.3",
"eslint": "^8.24.0"
},
"dependencies": {
"about-window": "^1.15.2",
"axios": "^1.1.0",
"check-internet-connected": "^2.0.6",
"discord-rpc": "^4.0.1",
"electron-context-menu": "^3.5.0",
"electron-dl": "^3.3.1",
"electron-log": "^4.4.8",
"electron-store": "^8.1.0",
"electron-updater": "^5.2.1"
}
}

1737
yarn.lock

File diff suppressed because it is too large Load Diff