From a9072370ca1eb9a5cce928b1d487db0f307edea6 Mon Sep 17 00:00:00 2001 From: ivarlovlie Date: Tue, 20 Sep 2022 15:24:27 +0800 Subject: feat: Move old apps into it's own directory --- old-apps/portal/.version | 1 + old-apps/portal/.version-dev | 1 + old-apps/portal/CHANGELOG.md | 135 ++++ old-apps/portal/build_and_push.sh | 76 ++ old-apps/portal/cliff.toml | 62 ++ old-apps/portal/src/_assets/preload.css | 1 + old-apps/portal/src/_assets/preload.js | 1 + .../src/_assets/pwa/android-chrome-192x192.png | Bin 0 -> 3291 bytes .../src/_assets/pwa/android-chrome-512x512.png | Bin 0 -> 9687 bytes .../portal/src/_assets/pwa/apple-touch-icon.png | Bin 0 -> 2769 bytes old-apps/portal/src/_assets/pwa/browserconfig.xml | 9 + old-apps/portal/src/_assets/pwa/favicon-16x16.png | Bin 0 -> 636 bytes old-apps/portal/src/_assets/pwa/favicon-32x32.png | Bin 0 -> 907 bytes old-apps/portal/src/_assets/pwa/favicon.ico | Bin 0 -> 15086 bytes old-apps/portal/src/_assets/pwa/favicon.svg | 4 + old-apps/portal/src/_assets/pwa/manifest.json | 28 + old-apps/portal/src/_assets/pwa/mstile-144x144.png | Bin 0 -> 3109 bytes old-apps/portal/src/_assets/pwa/mstile-150x150.png | Bin 0 -> 3238 bytes old-apps/portal/src/_assets/pwa/mstile-310x150.png | Bin 0 -> 3501 bytes old-apps/portal/src/_assets/pwa/mstile-310x310.png | Bin 0 -> 6823 bytes old-apps/portal/src/_assets/pwa/mstile-70x70.png | Bin 0 -> 2238 bytes .../portal/src/_assets/pwa/safari-pinned-tab.svg | 50 ++ .../portal/src/app/components/user-menu.svelte | 70 ++ old-apps/portal/src/app/index.d.ts | 48 ++ old-apps/portal/src/app/index.scss | 27 + old-apps/portal/src/app/index.svelte | 87 +++ old-apps/portal/src/app/index.ts | 14 + old-apps/portal/src/app/pages/_layout.svelte | 62 ++ .../portal/src/app/pages/_layout@loggedin.svelte | 75 ++ old-apps/portal/src/app/pages/admin/index.svelte | 18 + old-apps/portal/src/app/pages/forgot.svelte | 102 +++ old-apps/portal/src/app/pages/home.svelte | 103 +++ old-apps/portal/src/app/pages/login.svelte | 142 ++++ old-apps/portal/src/app/pages/profile/index.svelte | 167 +++++ .../portal/src/app/pages/reset-password.svelte | 138 ++++ old-apps/portal/src/app/pages/sign-up.svelte | 131 ++++ old-apps/portal/src/index.html | 55 ++ old-apps/portal/src/package.json | 24 + old-apps/portal/src/pnpm-lock.yaml | 787 +++++++++++++++++++++ old-apps/portal/src/tsconfig.json | 27 + old-apps/portal/src/vite.config.ts | 32 + 41 files changed, 2477 insertions(+) create mode 100644 old-apps/portal/.version create mode 100644 old-apps/portal/.version-dev create mode 100644 old-apps/portal/CHANGELOG.md create mode 100755 old-apps/portal/build_and_push.sh create mode 100644 old-apps/portal/cliff.toml create mode 120000 old-apps/portal/src/_assets/preload.css create mode 120000 old-apps/portal/src/_assets/preload.js create mode 100644 old-apps/portal/src/_assets/pwa/android-chrome-192x192.png create mode 100644 old-apps/portal/src/_assets/pwa/android-chrome-512x512.png create mode 100644 old-apps/portal/src/_assets/pwa/apple-touch-icon.png create mode 100644 old-apps/portal/src/_assets/pwa/browserconfig.xml create mode 100644 old-apps/portal/src/_assets/pwa/favicon-16x16.png create mode 100644 old-apps/portal/src/_assets/pwa/favicon-32x32.png create mode 100644 old-apps/portal/src/_assets/pwa/favicon.ico create mode 100644 old-apps/portal/src/_assets/pwa/favicon.svg create mode 100644 old-apps/portal/src/_assets/pwa/manifest.json create mode 100644 old-apps/portal/src/_assets/pwa/mstile-144x144.png create mode 100644 old-apps/portal/src/_assets/pwa/mstile-150x150.png create mode 100644 old-apps/portal/src/_assets/pwa/mstile-310x150.png create mode 100644 old-apps/portal/src/_assets/pwa/mstile-310x310.png create mode 100644 old-apps/portal/src/_assets/pwa/mstile-70x70.png create mode 100644 old-apps/portal/src/_assets/pwa/safari-pinned-tab.svg create mode 100644 old-apps/portal/src/app/components/user-menu.svelte create mode 100644 old-apps/portal/src/app/index.d.ts create mode 100644 old-apps/portal/src/app/index.scss create mode 100644 old-apps/portal/src/app/index.svelte create mode 100644 old-apps/portal/src/app/index.ts create mode 100644 old-apps/portal/src/app/pages/_layout.svelte create mode 100644 old-apps/portal/src/app/pages/_layout@loggedin.svelte create mode 100644 old-apps/portal/src/app/pages/admin/index.svelte create mode 100644 old-apps/portal/src/app/pages/forgot.svelte create mode 100644 old-apps/portal/src/app/pages/home.svelte create mode 100644 old-apps/portal/src/app/pages/login.svelte create mode 100644 old-apps/portal/src/app/pages/profile/index.svelte create mode 100644 old-apps/portal/src/app/pages/reset-password.svelte create mode 100644 old-apps/portal/src/app/pages/sign-up.svelte create mode 100644 old-apps/portal/src/index.html create mode 100644 old-apps/portal/src/package.json create mode 100644 old-apps/portal/src/pnpm-lock.yaml create mode 100644 old-apps/portal/src/tsconfig.json create mode 100644 old-apps/portal/src/vite.config.ts (limited to 'old-apps/portal') diff --git a/old-apps/portal/.version b/old-apps/portal/.version new file mode 100644 index 0000000..2a3638d --- /dev/null +++ b/old-apps/portal/.version @@ -0,0 +1 @@ +v3-portal diff --git a/old-apps/portal/.version-dev b/old-apps/portal/.version-dev new file mode 100644 index 0000000..d5c9e03 --- /dev/null +++ b/old-apps/portal/.version-dev @@ -0,0 +1 @@ +v24-portal-dev diff --git a/old-apps/portal/CHANGELOG.md b/old-apps/portal/CHANGELOG.md new file mode 100644 index 0000000..395fd25 --- /dev/null +++ b/old-apps/portal/CHANGELOG.md @@ -0,0 +1,135 @@ +# Changelog + +## [unreleased] + +### Bug Fixes + +- Correct path to BASE_DOMAIN + +### Miscellaneous Tasks + +- Bump version +- Update CHANGELOG.md for v19-portal-dev + +## [unreleased] + +### Bug Fixes + +- Inherit radius on svg to align styling with other theme figure icons + +### Features + +- Work in progress more module data models +- Add inital translation support +- Add link to BASE_DOMAIN on every public page in portal +- Centre guarded portal pages +- Add link to BASE_DOMAIN on every public page in portal +- Set a max width on the portal layout + +### Miscellaneous Tasks + +- Bump version +- Update CHANGELOG.md for v10-projects-dev +- Bump version +- Update CHANGELOG.md for v8-frontpage-dev +- Bump version +- Update CHANGELOG.md for v7-frontpage-dev +- Bump version +- Update CHANGELOG.md for v9-projects-dev +- Bump version +- Update CHANGELOG.md for v8-projects-dev +- Bump version +- Update CHANGELOG.md for v18-portal-dev + +### Refactor + +- Use dev.greatoffice.life as BASE_DOMAIN while in development-phase +- Remove all transitions on theme-switcher +- Put pre.css inside of style tags so that we dont have to wait for the second request on pre.css to show the loader and theme +- Temporarily disable user deletion from within projects + +## [unreleased] + +### Features + +- More work on portal +- Implement new theme switcher component and backend + +### Miscellaneous Tasks + +- Bump version +- Update CHANGELOG.md for v7-projects-dev +- Bump version +- Update CHANGELOG.md for v17-portal-dev + +## [unreleased] + +### Features + +- Seperate layout for docs +- New frontpage +- !WIP start implementation of svelte-query + +### Miscellaneous Tasks + +- Bump version +- Update CHANGELOG.md for v6-frontpage-dev +- Bump version +- Update CHANGELOG.md for v5-frontpage-dev +- Bump version +- Update CHANGELOG.md for v4-frontpage-dev +- Bump version +- Bump version +- Bump version +- Update CHANGELOG.md for v41-server-dev +- Bump version +- Update CHANGELOG.md for v40-server-dev +- Bump version +- Update CHANGELOG.md for v39-server-dev +- Bump version +- Remove logging of quartz db host +- Update CHANGELOG.md for v6-projects-dev +- Bump version +- Bump version +- Bump version +- Update CHANGELOG.md for v38-server-dev +- Bump version +- Update CHANGELOG.md for v22-server +- Bump version +- Update CHANGELOG.md for v16-portal-dev + +### Refactor + +- Update style on portal forms +- Implement caching in VaultService and use VaultService instead of IOptions +- Use Vault to get configuration +- Use Vault to get configuration +- Small changes on button style +- Add a small box-shadow + +## [unreleased] + +### Bug Fixes + +- !WIP flickering dropdown on multi dropdowns with new focus strategy +- Fix route matching when deciding which tab is open + +### Miscellaneous Tasks + +- Bump version +- Bump version +- Update CHANGELOG.md for v15-portal-dev + +### Refactor + +- Dont loose focus on search input when navigating results +- Make optional base fields nullable +- Remove text + +## [unreleased] + +### Miscellaneous Tasks + +- Bump version +- Update CHANGELOG.md for v14-portal-dev + diff --git a/old-apps/portal/build_and_push.sh b/old-apps/portal/build_and_push.sh new file mode 100755 index 0000000..b3d827d --- /dev/null +++ b/old-apps/portal/build_and_push.sh @@ -0,0 +1,76 @@ +#!/usr/bin/env bash + +set -Eueo pipefail + +APP_NAME="portal"; +CURRENT_DEV_VERSION=$(cat .version-dev) +CURRENT_DEV_VERSION_INT=${CURRENT_DEV_VERSION//[!0-9]/} +CURRENT_VERSION=$(cat .version) +CURRENT_VERSION_INT=${CURRENT_VERSION//[!0-9]/} +if [ ${1-prod} == "dev" ]; then + NEW_VERSION="v$((CURRENT_DEV_VERSION_INT+1))-$APP_NAME-dev" + OLD_VERSION=$CURRENT_DEV_VERSION +else + NEW_VERSION="v$((CURRENT_VERSION_INT+1))-$APP_NAME" + OLD_VERSION=$CURRENT_VERSION +fi +# Check for uncommited changes and optionally commit them +if [ "$(git status --untracked-files=no --porcelain)" ]; then + echo "Unclean git tree! press CTRL+C to exit or press ENTER to commit and push to the default branch" + read -n 1 + + read -p "Enter commit message: " COMMIT_MESSAGE + git add ../../ + git commit --quiet -m "$COMMIT_MESSAGE" +fi + +if [ ${1-prod} == "dev" ]; then + echo $NEW_VERSION >| .version-dev + git add .version-dev +else + echo $NEW_VERSION >| .version + git add .version +fi + +echo "Starting build of $APP_NAME@$NEW_VERSION at $(date -u)..." +echo + +git commit --quiet -m "chore(release): Bump version"; + +read -p "Do you want to tag this build? (y/n) " -n 1 -r +echo +if [[ $REPLY =~ ^[Yy]$ ]] +then + read -p "Enter tag message (can be empty): " TAG_MESSAGE +# commit_msg="chore(release): Update CHANGELOG.md for $NEW_VERSION" +# git cliff -r ../../ $OLD_VERSION..HEAD --prepend CHANGELOG.md +# git add CHANGELOG.md +# git commit --quiet -m "$commit_msg"; + git tag -am "$TAG_MESSAGE" $NEW_VERSION +fi + +read -p "Do you want to push the latest commits and tags to origin? (y/n) " -n 1 -r +echo +if [[ $REPLY =~ ^[Yy]$ ]] +then + echo "Pushing latest changes to remotes..." + echo + git push --quiet --follow-tags +fi + +pushd src +pnpm run build + +cd build +echo "$NEW_VERSION" >version.txt + + +if [ ${1-prod} == "dev" ]; then + scp -r * contabo-fast-1:services/public/portal.dev.greatoffice.life/www +else + echo "Pushing to production in 10 sec, press CTRL+C to cancel" + sleep 10 + scp -r * contabo-fast-1:services/public/portal.greatoffice.life/www +fi + +popd diff --git a/old-apps/portal/cliff.toml b/old-apps/portal/cliff.toml new file mode 100644 index 0000000..7299951 --- /dev/null +++ b/old-apps/portal/cliff.toml @@ -0,0 +1,62 @@ +# configuration file for git-cliff (0.1.0) + +[changelog] +# changelog header +header = """ +# Changelog\n +""" +# template for the changelog body +# https://tera.netlify.app/docs/#introduction +body = """ +{% if version %}\ + ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }} +{% else %}\ + ## [unreleased] +{% endif %}\ +{% for group, commits in commits | group_by(attribute="group") %} + ### {{ group | upper_first }} + {% for commit in commits %} + - {% if commit.breaking %}[**breaking**] {% endif %}{{ commit.message | upper_first }}\ + {% endfor %} +{% endfor %}\n +""" +# remove the leading and trailing whitespace from the template +trim = true +# changelog footer +footer = """ + +""" + +[git] +# parse the commits based on https://www.conventionalcommits.org +conventional_commits = true +# filter out the commits that are not conventional +filter_unconventional = true +# regex for preprocessing the commit messages +commit_preprocessors = [ + { pattern = "([ \\n])(([a-f0-9]{7})[a-f0-9]*)", replace = "${1}commit # [${3}](https://git.ivar.systems/greatoffice/commit/${2})" }, + { pattern = "https://git.ivar.systems/greatoffice/commit/([a-f0-9]{7})[a-f0-9]*", replace = "commit # [${1}](${0})" }, +] +# regex for parsing and grouping commits +commit_parsers = [ + { message = "^feat", group = "Features" }, + { message = "^fix", group = "Bug Fixes" }, + { message = "^doc", group = "Documentation" }, + { message = "^perf", group = "Performance" }, + { message = "^refactor", group = "Refactor" }, + { message = "^style", group = "Styling" }, + { message = "^test", group = "Testing" }, + { message = "^chore", group = "Miscellaneous Tasks" }, +] +# filter out the commits that are not matched by commit parsers +filter_commits = true +# glob pattern for matching git tags +tag_pattern = "v.*" +# regex for skipping tags +skip_tags = "v0.1.0-beta.1" +# regex for ignoring tags +ignore_tags = "" +# sort the tags chronologically +date_order = true +# sort the commits inside sections by oldest/newest order +sort_commits = "newest" diff --git a/old-apps/portal/src/_assets/preload.css b/old-apps/portal/src/_assets/preload.css new file mode 120000 index 0000000..e248c5b --- /dev/null +++ b/old-apps/portal/src/_assets/preload.css @@ -0,0 +1 @@ +/Users/ivarlovlie/i2r/greatoffice/apps/web-shared/src/assets/preload.css \ No newline at end of file diff --git a/old-apps/portal/src/_assets/preload.js b/old-apps/portal/src/_assets/preload.js new file mode 120000 index 0000000..3fa1cc7 --- /dev/null +++ b/old-apps/portal/src/_assets/preload.js @@ -0,0 +1 @@ +/Users/ivarlovlie/i2r/greatoffice/apps/web-shared/src/assets/preload.js \ No newline at end of file diff --git a/old-apps/portal/src/_assets/pwa/android-chrome-192x192.png b/old-apps/portal/src/_assets/pwa/android-chrome-192x192.png new file mode 100644 index 0000000..5c098bc Binary files /dev/null and b/old-apps/portal/src/_assets/pwa/android-chrome-192x192.png differ diff --git a/old-apps/portal/src/_assets/pwa/android-chrome-512x512.png b/old-apps/portal/src/_assets/pwa/android-chrome-512x512.png new file mode 100644 index 0000000..973a1c3 Binary files /dev/null and b/old-apps/portal/src/_assets/pwa/android-chrome-512x512.png differ diff --git a/old-apps/portal/src/_assets/pwa/apple-touch-icon.png b/old-apps/portal/src/_assets/pwa/apple-touch-icon.png new file mode 100644 index 0000000..b4d9773 Binary files /dev/null and b/old-apps/portal/src/_assets/pwa/apple-touch-icon.png differ diff --git a/old-apps/portal/src/_assets/pwa/browserconfig.xml b/old-apps/portal/src/_assets/pwa/browserconfig.xml new file mode 100644 index 0000000..b3930d0 --- /dev/null +++ b/old-apps/portal/src/_assets/pwa/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/old-apps/portal/src/_assets/pwa/favicon-16x16.png b/old-apps/portal/src/_assets/pwa/favicon-16x16.png new file mode 100644 index 0000000..5dde9f9 Binary files /dev/null and b/old-apps/portal/src/_assets/pwa/favicon-16x16.png differ diff --git a/old-apps/portal/src/_assets/pwa/favicon-32x32.png b/old-apps/portal/src/_assets/pwa/favicon-32x32.png new file mode 100644 index 0000000..9cef4c4 Binary files /dev/null and b/old-apps/portal/src/_assets/pwa/favicon-32x32.png differ diff --git a/old-apps/portal/src/_assets/pwa/favicon.ico b/old-apps/portal/src/_assets/pwa/favicon.ico new file mode 100644 index 0000000..89c7542 Binary files /dev/null and b/old-apps/portal/src/_assets/pwa/favicon.ico differ diff --git a/old-apps/portal/src/_assets/pwa/favicon.svg b/old-apps/portal/src/_assets/pwa/favicon.svg new file mode 100644 index 0000000..964dbb8 --- /dev/null +++ b/old-apps/portal/src/_assets/pwa/favicon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/old-apps/portal/src/_assets/pwa/manifest.json b/old-apps/portal/src/_assets/pwa/manifest.json new file mode 100644 index 0000000..4c550fe --- /dev/null +++ b/old-apps/portal/src/_assets/pwa/manifest.json @@ -0,0 +1,28 @@ +{ + "manifest_version": 2, + "version": "0.1", + "name": "Time Tracker", + "short_name": "Time Tracker", + "display": "standalone", + "background_color": "#fff", + "theme_color": "#4D3DF7", + "start_url": ".", + "orientation": "portrait", + "icons": [ + { + "src": "/favicon.svg", + "purpose": "maskable any", + "sizes": "any" + }, + { + "src": "/pwa/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/pwa/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ] +} diff --git a/old-apps/portal/src/_assets/pwa/mstile-144x144.png b/old-apps/portal/src/_assets/pwa/mstile-144x144.png new file mode 100644 index 0000000..84d94cb Binary files /dev/null and b/old-apps/portal/src/_assets/pwa/mstile-144x144.png differ diff --git a/old-apps/portal/src/_assets/pwa/mstile-150x150.png b/old-apps/portal/src/_assets/pwa/mstile-150x150.png new file mode 100644 index 0000000..b1398ae Binary files /dev/null and b/old-apps/portal/src/_assets/pwa/mstile-150x150.png differ diff --git a/old-apps/portal/src/_assets/pwa/mstile-310x150.png b/old-apps/portal/src/_assets/pwa/mstile-310x150.png new file mode 100644 index 0000000..76b16a0 Binary files /dev/null and b/old-apps/portal/src/_assets/pwa/mstile-310x150.png differ diff --git a/old-apps/portal/src/_assets/pwa/mstile-310x310.png b/old-apps/portal/src/_assets/pwa/mstile-310x310.png new file mode 100644 index 0000000..d8e4097 Binary files /dev/null and b/old-apps/portal/src/_assets/pwa/mstile-310x310.png differ diff --git a/old-apps/portal/src/_assets/pwa/mstile-70x70.png b/old-apps/portal/src/_assets/pwa/mstile-70x70.png new file mode 100644 index 0000000..0df1e8c Binary files /dev/null and b/old-apps/portal/src/_assets/pwa/mstile-70x70.png differ diff --git a/old-apps/portal/src/_assets/pwa/safari-pinned-tab.svg b/old-apps/portal/src/_assets/pwa/safari-pinned-tab.svg new file mode 100644 index 0000000..ba2220c --- /dev/null +++ b/old-apps/portal/src/_assets/pwa/safari-pinned-tab.svg @@ -0,0 +1,50 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + diff --git a/old-apps/portal/src/app/components/user-menu.svelte b/old-apps/portal/src/app/components/user-menu.svelte new file mode 100644 index 0000000..b0cfc8a --- /dev/null +++ b/old-apps/portal/src/app/components/user-menu.svelte @@ -0,0 +1,70 @@ + + + + + +
+ replace("/profile")}> + Profile + + + on_logout()}> + Logout + +
+
diff --git a/old-apps/portal/src/app/index.d.ts b/old-apps/portal/src/app/index.d.ts new file mode 100644 index 0000000..c044583 --- /dev/null +++ b/old-apps/portal/src/app/index.d.ts @@ -0,0 +1,48 @@ +/* Use this file to declare any custom file extensions for importing */ +/* Use this folder to also add/extend a package d.ts file, if needed. */ + +/* CSS MODULES */ +declare module "*.module.css" { + const classes: { [key: string]: string }; + export default classes; +} +declare module "*.module.scss" { + const classes: { [key: string]: string }; + export default classes; +} + +/* CSS */ +declare module "*.css"; +declare module "*.scss"; + +/* IMAGES */ +declare module "*.svg" { + const ref: string; + export default ref; +} +declare module "*.bmp" { + const ref: string; + export default ref; +} +declare module "*.gif" { + const ref: string; + export default ref; +} +declare module "*.jpg" { + const ref: string; + export default ref; +} +declare module "*.jpeg" { + const ref: string; + export default ref; +} +declare module "*.png" { + const ref: string; + export default ref; +} + +/* CUSTOM: ADD YOUR OWN HERE */ +declare module "*.svelte" { + const value: any; + export default value; +} diff --git a/old-apps/portal/src/app/index.scss b/old-apps/portal/src/app/index.scss new file mode 100644 index 0000000..718adf2 --- /dev/null +++ b/old-apps/portal/src/app/index.scss @@ -0,0 +1,27 @@ +@use '../../web-shared/src/styles/base'as * with ($breakpoints: ('xs': "768px", + 'sm': "768px", + 'md': "1200px", + 'lg': "1200px", + 'xl': "1600px", + ), + $grid-columns: 12); + +@use '../../web-shared/src/styles/custom-style/colors'; +@use '../../web-shared/src/styles/custom-style/spacing'; +@use '../../web-shared/src/styles/custom-style/shared-styles'; +@use '../../web-shared/src/styles/custom-style/typography'; +@use '../../web-shared/src/styles/custom-style/icons'; +@use '../../web-shared/src/styles/custom-style/buttons'; +@use '../../web-shared/src/styles/custom-style/forms'; +@use '../../web-shared/src/styles/custom-style/util'; + +@use '../../web-shared/src/styles/components/radios-checkboxes'; +@use '../../web-shared/src/styles/components/btn-states'; +@use '../../web-shared/src/styles/components/alert'; +@use '../../web-shared/src/styles/components/details'; +@use '../../web-shared/src/styles/components/light-dark-switch'; +@use '../../web-shared/src/styles/components/link-card'; +@use '../../web-shared/src/styles/components/auto-sized-grid'; +@use '../../web-shared/src/styles/components/menu'; +@use '../../web-shared/src/styles/components/user-menu'; +@use '../../web-shared/src/styles/components/breadcrumbs'; diff --git a/old-apps/portal/src/app/index.svelte b/old-apps/portal/src/app/index.svelte new file mode 100644 index 0000000..af2b6d0 --- /dev/null +++ b/old-apps/portal/src/app/index.svelte @@ -0,0 +1,87 @@ + + + + + +You seem to be offline, please check your internet connection. + + { + document.getElementById("loader").style.display = "inline-block"; + }} + on:routeLoaded={() => { + document.getElementById("loader").style.display = "none"; + }} +/> diff --git a/old-apps/portal/src/app/index.ts b/old-apps/portal/src/app/index.ts new file mode 100644 index 0000000..0bfb30d --- /dev/null +++ b/old-apps/portal/src/app/index.ts @@ -0,0 +1,14 @@ +import App from "./index.svelte"; +import "./index.scss"; +import {is_debug, is_development} from "$shared/lib/configuration"; +import {noop} from "$shared/lib/helpers"; + +if (!is_development() && !is_debug()) { + console.log("%c Production; Suppressing logs", "background-color:yellow;color:black;font-size:18px;"); + console.log = noop; +} + +// @ts-ignore +export default new App({ + target: document.getElementById("root"), +}); diff --git a/old-apps/portal/src/app/pages/_layout.svelte b/old-apps/portal/src/app/pages/_layout.svelte new file mode 100644 index 0000000..8c75cb9 --- /dev/null +++ b/old-apps/portal/src/app/pages/_layout.svelte @@ -0,0 +1,62 @@ + + + + + +
+
+ +
+ + +
diff --git a/old-apps/portal/src/app/pages/_layout@loggedin.svelte b/old-apps/portal/src/app/pages/_layout@loggedin.svelte new file mode 100644 index 0000000..44e2e4a --- /dev/null +++ b/old-apps/portal/src/app/pages/_layout@loggedin.svelte @@ -0,0 +1,75 @@ + + + + +
+
+ +
+ +
+ { + if (confirm("Are you sure?")) await end_session(() => { + replace("/login"); + }) + }} class="btn btn--sm"> + Logout + +
+ + +
diff --git a/old-apps/portal/src/app/pages/admin/index.svelte b/old-apps/portal/src/app/pages/admin/index.svelte new file mode 100644 index 0000000..f9b91d2 --- /dev/null +++ b/old-apps/portal/src/app/pages/admin/index.svelte @@ -0,0 +1,18 @@ + + + + + push("/")}/> + + + +
+
diff --git a/old-apps/portal/src/app/pages/forgot.svelte b/old-apps/portal/src/app/pages/forgot.svelte new file mode 100644 index 0000000..156deab --- /dev/null +++ b/old-apps/portal/src/app/pages/forgot.svelte @@ -0,0 +1,102 @@ + + + + +
+
+ + Send reset link
+ ... or log in +
+
+

Provide your email address, and we'll send you a link to set your new password.

+
+
+ +
+
+ +
+
+
+
+
+
+
diff --git a/old-apps/portal/src/app/pages/home.svelte b/old-apps/portal/src/app/pages/home.svelte new file mode 100644 index 0000000..0e325ee --- /dev/null +++ b/old-apps/portal/src/app/pages/home.svelte @@ -0,0 +1,103 @@ + + + +
+
+ +
+
+

Apps

+
+ +
+
+ +
+
+
+ +
+
+ +
+
+
+ +
+
+ +
+
+
+
+
+
+

Manage

+
+ push("/profile")}> +
+
+ +
+
+
+ {#if showUsers} + push("/admin")}> +
+
+ +
+
+
+ {/if} +
+
+
+
diff --git a/old-apps/portal/src/app/pages/login.svelte b/old-apps/portal/src/app/pages/login.svelte new file mode 100644 index 0000000..1ca6b61 --- /dev/null +++ b/old-apps/portal/src/app/pages/login.svelte @@ -0,0 +1,142 @@ + + + + Go to {frontpage_base()} + +
+
+ + Log into your account +
+ ... or create a new one +
+
+ +
+
+ +
+
+ + +
+
+
+
+
+
+
diff --git a/old-apps/portal/src/app/pages/profile/index.svelte b/old-apps/portal/src/app/pages/profile/index.svelte new file mode 100644 index 0000000..a7291d6 --- /dev/null +++ b/old-apps/portal/src/app/pages/profile/index.svelte @@ -0,0 +1,167 @@ + + + + + push("/")}/> + + + +
+
+

Update your information

+
+ {#if formError} + {formError} + {/if} +
+ + + {#if usernameFieldMessage} + {usernameFieldMessage} + {/if} +
+
+ + + {#if passwordFieldMessage} + {passwordFieldMessage} + {/if} +
+
+
+
+
+
+

Download your data

+ Click here to download your data +
+
+

Delete account

+
+ +
+
+ + +
+
+
+
+
+
diff --git a/old-apps/portal/src/app/pages/reset-password.svelte b/old-apps/portal/src/app/pages/reset-password.svelte new file mode 100644 index 0000000..dabf5c9 --- /dev/null +++ b/old-apps/portal/src/app/pages/reset-password.svelte @@ -0,0 +1,138 @@ + + + + +
+ {#if requestId} + {#await is_valid_password_reset_request()} +

Checking your request...

+ cancel + {:then isActive} + {#if isActive === true} +
+ + Set your new password
+ + ... or + log in + +
+
+ +
+
+ + {#if newPasswordError} + {newPasswordError} + {/if} +
+
+
+
+ {:else} + + + {/if} + {:catch _} + + {/await} + {/if} + +
+
diff --git a/old-apps/portal/src/app/pages/sign-up.svelte b/old-apps/portal/src/app/pages/sign-up.svelte new file mode 100644 index 0000000..3bcab6d --- /dev/null +++ b/old-apps/portal/src/app/pages/sign-up.svelte @@ -0,0 +1,131 @@ + + + + Go to {frontpage_base()} + +
+
+ + Create your account
+ ... or log in +
+
+

Provide an email and password to get immediate access to your new environment (30 days full access, no billing details required, no promotion emails).

+
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+
diff --git a/old-apps/portal/src/index.html b/old-apps/portal/src/index.html new file mode 100644 index 0000000..2102205 --- /dev/null +++ b/old-apps/portal/src/index.html @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + Portal - Greatoffice + + + + + + + + +
+ + + + + diff --git a/old-apps/portal/src/package.json b/old-apps/portal/src/package.json new file mode 100644 index 0000000..07800b3 --- /dev/null +++ b/old-apps/portal/src/package.json @@ -0,0 +1,24 @@ +{ + "name": "greatoffice-portal", + "version": "0.0.1", + "private": "true", + "scripts": { + "dev": "vite", + "build": "vite build" + }, + "devDependencies": { + "@sveltejs/vite-plugin-svelte": "1.0.1", + "install": "^0.13.0", + "sass": "^1.54.0", + "svelte": "^3.49.0", + "svelte-feather-icons": "^4.0.0", + "svelte-preprocess": "^4.10.7", + "svelte-spa-router": "^3.2.0", + "typescript": "4.7.4", + "vite": "^3.0.4" + }, + "dependencies": { + "@js-temporal/polyfill": "^0.4.2", + "fuzzysort": "^2.0.1" + } +} diff --git a/old-apps/portal/src/pnpm-lock.yaml b/old-apps/portal/src/pnpm-lock.yaml new file mode 100644 index 0000000..b091925 --- /dev/null +++ b/old-apps/portal/src/pnpm-lock.yaml @@ -0,0 +1,787 @@ +lockfileVersion: 5.4 + +specifiers: + '@js-temporal/polyfill': ^0.4.2 + '@sveltejs/vite-plugin-svelte': 1.0.1 + fuzzysort: ^2.0.1 + install: ^0.13.0 + sass: ^1.54.0 + svelte: ^3.49.0 + svelte-feather-icons: ^4.0.0 + svelte-preprocess: ^4.10.7 + svelte-spa-router: ^3.2.0 + typescript: 4.7.4 + vite: ^3.0.4 + +dependencies: + '@js-temporal/polyfill': 0.4.2 + fuzzysort: 2.0.1 + +devDependencies: + '@sveltejs/vite-plugin-svelte': 1.0.1_svelte@3.49.0+vite@3.0.4 + install: 0.13.0 + sass: 1.54.0 + svelte: 3.49.0 + svelte-feather-icons: 4.0.0 + svelte-preprocess: 4.10.7_qqyngjnvpp2z5rj6eppfx7s47e + svelte-spa-router: 3.2.0 + typescript: 4.7.4 + vite: 3.0.4_sass@1.54.0 + +packages: + + /@js-temporal/polyfill/0.4.2: + resolution: {integrity: sha512-c85vRxyqnJaXKyf4tvYij8jwiVIZhNLYDI9C4LLuOwVEHf4HUqGg07BBn70Le71W193QT/vmKg3jPUyQxJRHKQ==} + engines: {node: '>=12'} + dependencies: + jsbi: 4.3.0 + tslib: 2.4.0 + dev: false + + /@rollup/pluginutils/4.2.1: + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + + /@sveltejs/vite-plugin-svelte/1.0.1_svelte@3.49.0+vite@3.0.4: + resolution: {integrity: sha512-PorCgUounn0VXcpeJu+hOweZODKmGuLHsLomwqSj+p26IwjjGffmYQfVHtiTWq+NqaUuuHWWG7vPge6UFw4Aeg==} + engines: {node: ^14.18.0 || >= 16} + peerDependencies: + diff-match-patch: ^1.0.5 + svelte: ^3.44.0 + vite: ^3.0.0 + peerDependenciesMeta: + diff-match-patch: + optional: true + dependencies: + '@rollup/pluginutils': 4.2.1 + debug: 4.3.4 + deepmerge: 4.2.2 + kleur: 4.1.5 + magic-string: 0.26.2 + svelte: 3.49.0 + svelte-hmr: 0.14.12_svelte@3.49.0 + vite: 3.0.4_sass@1.54.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@types/node/18.6.3: + resolution: {integrity: sha512-6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg==} + dev: true + + /@types/pug/2.0.6: + resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} + dev: true + + /@types/sass/1.43.1: + resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} + dependencies: + '@types/node': 18.6.3 + dev: true + + /anymatch/3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /binary-extensions/2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /buffer-crc32/0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: true + + /chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.2 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /concat-map/0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /deepmerge/4.2.2: + resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} + engines: {node: '>=0.10.0'} + dev: true + + /detect-indent/6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + dev: true + + /es6-promise/3.3.1: + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + dev: true + + /esbuild-android-64/0.14.51: + resolution: {integrity: sha512-6FOuKTHnC86dtrKDmdSj2CkcKF8PnqkaIXqvgydqfJmqBazCPdw+relrMlhGjkvVdiiGV70rpdnyFmA65ekBCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-android-arm64/0.14.51: + resolution: {integrity: sha512-vBtp//5VVkZWmYYvHsqBRCMMi1MzKuMIn5XDScmnykMTu9+TD9v0NMEDqQxvtFToeYmojdo5UCV2vzMQWJcJ4A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-64/0.14.51: + resolution: {integrity: sha512-YFmXPIOvuagDcwCejMRtCDjgPfnDu+bNeh5FU2Ryi68ADDVlWEpbtpAbrtf/lvFTWPexbgyKgzppNgsmLPr8PA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-arm64/0.14.51: + resolution: {integrity: sha512-juYD0QnSKwAMfzwKdIF6YbueXzS6N7y4GXPDeDkApz/1RzlT42mvX9jgNmyOlWKN7YzQAYbcUEJmZJYQGdf2ow==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-64/0.14.51: + resolution: {integrity: sha512-cLEI/aXjb6vo5O2Y8rvVSQ7smgLldwYY5xMxqh/dQGfWO+R1NJOFsiax3IS4Ng300SVp7Gz3czxT6d6qf2cw0g==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-arm64/0.14.51: + resolution: {integrity: sha512-TcWVw/rCL2F+jUgRkgLa3qltd5gzKjIMGhkVybkjk6PJadYInPtgtUBp1/hG+mxyigaT7ib+od1Xb84b+L+1Mg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-32/0.14.51: + resolution: {integrity: sha512-RFqpyC5ChyWrjx8Xj2K0EC1aN0A37H6OJfmUXIASEqJoHcntuV3j2Efr9RNmUhMfNE6yEj2VpYuDteZLGDMr0w==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-64/0.14.51: + resolution: {integrity: sha512-dxjhrqo5i7Rq6DXwz5v+MEHVs9VNFItJmHBe1CxROWNf4miOGoQhqSG8StStbDkQ1Mtobg6ng+4fwByOhoQoeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm/0.14.51: + resolution: {integrity: sha512-LsJynDxYF6Neg7ZC7748yweCDD+N8ByCv22/7IAZglIEniEkqdF4HCaa49JNDLw1UQGlYuhOB8ZT/MmcSWzcWg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm64/0.14.51: + resolution: {integrity: sha512-D9rFxGutoqQX3xJPxqd6o+kvYKeIbM0ifW2y0bgKk5HPgQQOo2k9/2Vpto3ybGYaFPCE5qTGtqQta9PoP6ZEzw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-mips64le/0.14.51: + resolution: {integrity: sha512-vS54wQjy4IinLSlb5EIlLoln8buh1yDgliP4CuEHumrPk4PvvP4kTRIG4SzMXm6t19N0rIfT4bNdAxzJLg2k6A==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-ppc64le/0.14.51: + resolution: {integrity: sha512-xcdd62Y3VfGoyphNP/aIV9LP+RzFw5M5Z7ja+zdpQHHvokJM7d0rlDRMN+iSSwvUymQkqZO+G/xjb4/75du8BQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-riscv64/0.14.51: + resolution: {integrity: sha512-syXHGak9wkAnFz0gMmRBoy44JV0rp4kVCEA36P5MCeZcxFq8+fllBC2t6sKI23w3qd8Vwo9pTADCgjTSf3L3rA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-s390x/0.14.51: + resolution: {integrity: sha512-kFAJY3dv+Wq8o28K/C7xkZk/X34rgTwhknSsElIqoEo8armCOjMJ6NsMxm48KaWY2h2RUYGtQmr+RGuUPKBhyw==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-netbsd-64/0.14.51: + resolution: {integrity: sha512-ZZBI7qrR1FevdPBVHz/1GSk1x5GDL/iy42Zy8+neEm/HA7ma+hH/bwPEjeHXKWUDvM36CZpSL/fn1/y9/Hb+1A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-openbsd-64/0.14.51: + resolution: {integrity: sha512-7R1/p39M+LSVQVgDVlcY1KKm6kFKjERSX1lipMG51NPcspJD1tmiZSmmBXoY5jhHIu6JL1QkFDTx94gMYK6vfA==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-sunos-64/0.14.51: + resolution: {integrity: sha512-HoHaCswHxLEYN8eBTtyO0bFEWvA3Kdb++hSQ/lLG7TyKF69TeSG0RNoBRAs45x/oCeWaTDntEZlYwAfQlhEtJA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-32/0.14.51: + resolution: {integrity: sha512-4rtwSAM35A07CBt1/X8RWieDj3ZUHQqUOaEo5ZBs69rt5WAFjP4aqCIobdqOy4FdhYw1yF8Z0xFBTyc9lgPtEg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-64/0.14.51: + resolution: {integrity: sha512-HoN/5HGRXJpWODprGCgKbdMvrC3A2gqvzewu2eECRw2sYxOUoh2TV1tS+G7bHNapPGI79woQJGV6pFH7GH7qnA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-arm64/0.14.51: + resolution: {integrity: sha512-JQDqPjuOH7o+BsKMSddMfmVJXrnYZxXDHsoLHc0xgmAZkOOCflRmC43q31pk79F9xuyWY45jDBPolb5ZgGOf9g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild/0.14.51: + resolution: {integrity: sha512-+CvnDitD7Q5sT7F+FM65sWkF8wJRf+j9fPcprxYV4j+ohmzVj2W7caUqH2s5kCaCJAfcAICjSlKhDCcvDpU7nw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + esbuild-android-64: 0.14.51 + esbuild-android-arm64: 0.14.51 + esbuild-darwin-64: 0.14.51 + esbuild-darwin-arm64: 0.14.51 + esbuild-freebsd-64: 0.14.51 + esbuild-freebsd-arm64: 0.14.51 + esbuild-linux-32: 0.14.51 + esbuild-linux-64: 0.14.51 + esbuild-linux-arm: 0.14.51 + esbuild-linux-arm64: 0.14.51 + esbuild-linux-mips64le: 0.14.51 + esbuild-linux-ppc64le: 0.14.51 + esbuild-linux-riscv64: 0.14.51 + esbuild-linux-s390x: 0.14.51 + esbuild-netbsd-64: 0.14.51 + esbuild-openbsd-64: 0.14.51 + esbuild-sunos-64: 0.14.51 + esbuild-windows-32: 0.14.51 + esbuild-windows-64: 0.14.51 + esbuild-windows-arm64: 0.14.51 + dev: true + + /estree-walker/2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + dev: true + + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /fs.realpath/1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: true + + /fuzzysort/2.0.1: + resolution: {integrity: sha512-SlgbPAq0eQ6JQ1h3l4MNeGH/t9DHKH8GGM0RD/6RhmJrNnSoWt3oIVaiQm9g9BPB+wAhRMeMqlUTbhbd7+Ufcg==} + dev: false + + /glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob/7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /graceful-fs/4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + dev: true + + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: true + + /immutable/4.1.0: + resolution: {integrity: sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==} + dev: true + + /inflight/1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /install/0.13.0: + resolution: {integrity: sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==} + engines: {node: '>= 0.10'} + dev: true + + /is-binary-path/2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-core-module/2.9.0: + resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} + dependencies: + has: 1.0.3 + dev: true + + /is-extglob/2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /jsbi/4.3.0: + resolution: {integrity: sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g==} + dev: false + + /kleur/4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + dev: true + + /magic-string/0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + dependencies: + sourcemap-codec: 1.4.8 + dev: true + + /magic-string/0.26.2: + resolution: {integrity: sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==} + engines: {node: '>=12'} + dependencies: + sourcemap-codec: 1.4.8 + dev: true + + /min-indent/1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimist/1.2.6: + resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} + dev: true + + /mkdirp/0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.6 + dev: true + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /nanoid/3.3.4: + resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /once/1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /path-is-absolute/1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /postcss/8.4.14: + resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.4 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /regexparam/2.0.0: + resolution: {integrity: sha512-gJKwd2MVPWHAIFLsaYDZfyKzHNS4o7E/v8YmNf44vmeV2e4YfVoDToTOKTvE7ab68cRJ++kLuEXJBaEeJVt5ow==} + engines: {node: '>=8'} + dev: true + + /resolve/1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + hasBin: true + dependencies: + is-core-module: 2.9.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /rimraf/2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /rollup/2.77.2: + resolution: {integrity: sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g==} + engines: {node: '>=10.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /sander/0.5.1: + resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} + dependencies: + es6-promise: 3.3.1 + graceful-fs: 4.2.10 + mkdirp: 0.5.6 + rimraf: 2.7.1 + dev: true + + /sass/1.54.0: + resolution: {integrity: sha512-C4zp79GCXZfK0yoHZg+GxF818/aclhp9F48XBu/+bm9vXEVAYov9iU3FBVRMq3Hx3OA4jfKL+p2K9180mEh0xQ==} + engines: {node: '>=12.0.0'} + hasBin: true + dependencies: + chokidar: 3.5.3 + immutable: 4.1.0 + source-map-js: 1.0.2 + dev: true + + /sorcery/0.10.0: + resolution: {integrity: sha512-R5ocFmKZQFfSTstfOtHjJuAwbpGyf9qjQa1egyhvXSbM7emjrtLXtGdZsDJDABC85YBfVvrOiGWKSYXPKdvP1g==} + hasBin: true + dependencies: + buffer-crc32: 0.2.13 + minimist: 1.2.6 + sander: 0.5.1 + sourcemap-codec: 1.4.8 + dev: true + + /source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /sourcemap-codec/1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + dev: true + + /strip-indent/3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /svelte-feather-icons/4.0.0: + resolution: {integrity: sha512-4ieUsjp+VYa1r6y80jDt9zRiRUZyJNbESpRdHdJJhiBubyuXX96A7f1UZSK4olxzP6Qsg5ZAuyZlnmvD+/swAA==} + dependencies: + svelte: 3.49.0 + dev: true + + /svelte-hmr/0.14.12_svelte@3.49.0: + resolution: {integrity: sha512-4QSW/VvXuqVcFZ+RhxiR8/newmwOCTlbYIezvkeN6302YFRE8cXy0naamHcjz8Y9Ce3ITTZtrHrIL0AGfyo61w==} + engines: {node: ^12.20 || ^14.13.1 || >= 16} + peerDependencies: + svelte: '>=3.19.0' + dependencies: + svelte: 3.49.0 + dev: true + + /svelte-preprocess/4.10.7_qqyngjnvpp2z5rj6eppfx7s47e: + resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} + engines: {node: '>= 9.11.2'} + requiresBuild: true + peerDependencies: + '@babel/core': ^7.10.2 + coffeescript: ^2.5.1 + less: ^3.11.3 || ^4.0.0 + node-sass: '*' + postcss: ^7 || ^8 + postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 + pug: ^3.0.0 + sass: ^1.26.8 + stylus: ^0.55.0 + sugarss: ^2.0.0 + svelte: ^3.23.0 + typescript: ^3.9.5 || ^4.0.0 + peerDependenciesMeta: + '@babel/core': + optional: true + coffeescript: + optional: true + less: + optional: true + node-sass: + optional: true + postcss: + optional: true + postcss-load-config: + optional: true + pug: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + typescript: + optional: true + dependencies: + '@types/pug': 2.0.6 + '@types/sass': 1.43.1 + detect-indent: 6.1.0 + magic-string: 0.25.9 + sass: 1.54.0 + sorcery: 0.10.0 + strip-indent: 3.0.0 + svelte: 3.49.0 + typescript: 4.7.4 + dev: true + + /svelte-spa-router/3.2.0: + resolution: {integrity: sha512-igemo5Vs82TGBBw+DjWt6qKameXYzNs6aDXcTxou5XbEvOjiRcAM6MLkdVRCatn6u8r42dE99bt/br7T4qe/AQ==} + dependencies: + regexparam: 2.0.0 + dev: true + + /svelte/3.49.0: + resolution: {integrity: sha512-+lmjic1pApJWDfPCpUUTc1m8azDqYCG1JN9YEngrx/hUyIcFJo6VZhj0A1Ai0wqoHcEIuQy+e9tk+4uDgdtsFA==} + engines: {node: '>= 8'} + dev: true + + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /tslib/2.4.0: + resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} + dev: false + + /typescript/4.7.4: + resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + + /vite/3.0.4_sass@1.54.0: + resolution: {integrity: sha512-NU304nqnBeOx2MkQnskBQxVsa0pRAH5FphokTGmyy8M3oxbvw7qAXts2GORxs+h/2vKsD+osMhZ7An6yK6F1dA==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + less: '*' + sass: '*' + stylus: '*' + terser: ^5.4.0 + peerDependenciesMeta: + less: + optional: true + sass: + optional: true + stylus: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.14.51 + postcss: 8.4.14 + resolve: 1.22.1 + rollup: 2.77.2 + sass: 1.54.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /wrappy/1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true diff --git a/old-apps/portal/src/tsconfig.json b/old-apps/portal/src/tsconfig.json new file mode 100644 index 0000000..c60fce6 --- /dev/null +++ b/old-apps/portal/src/tsconfig.json @@ -0,0 +1,27 @@ +{ + "include": [ + "./**/*.d.ts", + "./**/*.ts", + "./**/*.js", + "./**/*.svelte" + ], + "exclude": [ + "./node_modules" + ], + "compilerOptions": { + "target": "esnext", + "useDefineForClassFields": true, + "module": "esnext", + "moduleResolution": "node", + "allowJs": true, + "checkJs": false, + "paths": { + "$app/*": [ + "./app/*" + ], + "$shared/*": [ + "../../web-shared/src/*" + ] + } + } +} diff --git a/old-apps/portal/src/vite.config.ts b/old-apps/portal/src/vite.config.ts new file mode 100644 index 0000000..684ef14 --- /dev/null +++ b/old-apps/portal/src/vite.config.ts @@ -0,0 +1,32 @@ +import {defineConfig} from "vite"; +import {svelte} from "@sveltejs/vite-plugin-svelte"; +import sveltePreprocess from "svelte-preprocess"; +// @ts-ignore +import path from "path"; + +// https://vitejs.dev/config/ +export default defineConfig({ + resolve: { + alias: { + "$shared": path.resolve(__dirname, "../../web-shared/src"), + "$app": path.resolve(__dirname, "./app"), + } + }, + build: { + outDir: "build", + emptyOutDir: true, + rollupOptions: { + input: { + main: path.resolve(__dirname, "index.html"), + } + } + }, + server: { + port: 3001 + }, + plugins: [ + svelte({ + preprocess: sveltePreprocess() + }) + ], +}); -- cgit v1.3