From 2562832932bc853dcc2fe8a95e88383181fe74e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominic=20Rico=20G=C3=B3mez?= Date: Fri, 2 Aug 2024 00:36:07 +0200 Subject: [PATCH 1/9] extend sui to be more customizable --- README.md | 169 +++++---- apps.json | 111 ++++-- assets/css/styles.css | 780 ++++++++++++++++++++---------------------- assets/js/data.js | 116 ++++++- assets/js/script.js | 53 +-- assets/js/themer.js | 170 +++------ config.json | 85 +++++ index.html | 223 ++++++------ 8 files changed, 945 insertions(+), 762 deletions(-) create mode 100644 config.json diff --git a/README.md b/README.md index 639a0d25..d044f107 100755 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ -## SUI -*a startpage for your server and / or new tab page* +## SUI Extended + +_A startpage for your server and / or new tab page_ ![screenshot](https://i.imgur.com/J4d7Q3D.png) @@ -8,14 +9,15 @@ ### Deploy with Docker compose #### Prerequisites: - - Docker: [Linux](https://docs.docker.com/install/linux/docker-ce/debian/), [Mac](https://hub.docker.com/editions/community/docker-ce-desktop-mac), [Windows](https://hub.docker.com/editions/community/docker-ce-desktop-windows) - - [Docker-compose](https://docs.docker.com/compose/install/) + +- Docker: [Linux](https://docs.docker.com/install/linux/docker-ce/debian/), [Mac](https://hub.docker.com/editions/community/docker-ce-desktop-mac), [Windows](https://hub.docker.com/editions/community/docker-ce-desktop-windows) +- [Docker-compose](https://docs.docker.com/compose/install/) #### Install: - - `git clone` this repository - - Build and bring up with `docker-compose up -d` - - The page should be available at `http://localhost:4000` +- `git clone` this repository +- Build and bring up with `docker-compose up -d` +- The page should be available at `http://localhost:4000` To run at a different port open edit docker-compose.yml: @@ -24,84 +26,119 @@ To run at a different port open edit docker-compose.yml: #### Install pull from git variant: - - refreshs source code every 5 minutes from master branch you provided - convenience feature for lacy devs - - `git clone` this repository - - build image `docker build -f DockerfilePullFromGit -t sui:latest .` - - run image with `docker run -e GITURL='https://x:ghp_x@github.com/jeroenpardon/sui.git' -p 8081:80 sui:latest` - - can be run also with a private repository by setting username:api-key@ in the url (see above example). Otherwise remove this part of the url. - - +- refreshs source code every 5 minutes from master branch you provided - convenience feature for lacy devs +- `git clone` this repository +- build image `docker build -f DockerfilePullFromGit -t sui:latest .` +- run image with `docker run -e GITURL='https://x:ghp_x@github.com/jeroenpardon/sui.git' -p 8081:80 sui:latest` +- can be run also with a private repository by setting username:api-key@ in the url (see above example). Otherwise remove this part of the url. ### Customization +#### Config options + +Change the config.json to your likings. + +| Option | Default | Description | +| --------------------- | ---------------- | ----------------------------------------------- | +| `language` | `en-GB` | The language code for localization. | +| `greetings.morning` | `Good Morning` | Greeting text for the morning. | +| `greetings.afternoon` | `Good Afternoon` | Greeting text for the afternoon. | +| `greetings.evening` | `Good Evening` | Greeting text for the evening. | +| `greetings.night` | `Good Night` | Greeting text for the night. | +| `useOauth2Proxy` | `false` | Whether to use OAuth2 Proxy for authentication. | +| `useAppCategories` | `false` | Whether to categorize applications. | +| `oauth2ProxyBaseUrl` | `""` | Base URL for the OAuth2 Proxy. | +| `userPermissionKey` | `""` | Key used for user permissions on userinfo call. | +| `withApps` | `true` | Whether to show applications. | +| `withLinks` | `true` | Whether to show links. | +| `withSearch` | `true` | Whether to enable search functionality. | +| `hideSettings` | `false` | Whether to hide the settings option. | +| `labels.bookmarks` | `Bookmarks` | Label text for bookmarks. | +| `labels.applications` | `Applications` | Label text for applications. | +| `backgroundImage` | `""` | URL for the background image. | +| `defaultTheme` | `blackboard` | The default theme to use. | + +#### Theme Configuration + +Change any theme you want or at a new theme by adding a name and the 3 color values. + +| Option | Default | Description | +| ------------------ | --------- | -------------------------------- | +| `color-background` | `#1a1a1a` | Background color of the theme. | +| `color-text-pri` | `#FFFDEA` | Primary text color of the theme. | +| `color-text-acc` | `#5c5c5c` | Accent text color of the theme. | + #### Changing color themes - - Click the options button on the left bottom + +To change your theme click the options button on the bottom left and select your new theme. The selected theme will be stored in the local storage and loaded from there. #### Apps -Add your apps by editing apps.json: +Add your apps by editing the `apps.json`: + +```json +{ + "apps": [ + { "name": "Name of app 1", "url": "sub1.example.com", "icon": "icon-name" }, { - "apps" : [ - {"name":"Name of app 1","url":"sub1.example.com","icon":"icon-name"}, - {"name":"Name of app 2","url":"sub2.example.com","icon":"icon-name","target":"optionals"} - ] + "name": "Name of app 2", + "url": "sub2.example.com", + "icon": "icon-name", + "target": "optionals", + "groups": ["foo", "bar"], // works only if useOauth2Proxy is set to true + "category": "Test Category" // only used if useAppCategories is set to true } + ] +} +``` Please note: - - No `http://` in the URL - - No `,` at the end of the last app's line - - Find the names of icons to use at [Material Design Icons](https://materialdesignicons.com/) +- No `http://` in the URL +- No `,` at the end of the last app's line +- Find the names of the icons to use at [Material Design Icons](https://materialdesignicons.com/) #### Bookmarks -Add your bookmarks by editing links.json: -``` +Add your bookmarks by editing the `links.json`: + +```json { - "bookmarks":[ - { - "category":"Category1", - "links":[ - { - "name":"Link1", - "url":"http://example.com" - }, - { - "name":"Link2", - "url":"http://example.com", - "target":"optionals" - } - ] - }, - { - "category":"Category2", - "links":[ - { - "name":"Link1", - "url":"http://example.com" - }, - { - "name":"Link2", - "url":"http://example.com" - } - ] - } - ] + "bookmarks": [ + { + "category": "Category1", + "links": [ + { + "name": "Link1", + "url": "http://example.com" + }, + { + "name": "Link2", + "url": "http://example.com", + "target": "optionals" + } + ] + }, + { + "category": "Category2", + "links": [ + { + "name": "Link1", + "url": "http://example.com" + }, + { + "name": "Link2", + "url": "http://example.com" + } + ] + } + ] } ``` + Add names for the categories you wish to define and add the bookmarks for each category. Please note: - - No `http://` in the URL - - No `,` at the end of the last bookmark in a category and at the end of the last category - - -#### Color themes -These can be added or customized in the themer.js file. When changing the name of a theme or adding one, make sure to edit this section in index.html accordingly: - -``` -
-``` - -I might add a simpler way to edit themes at some point, but adding the current ones should be pretty straight forward. +- No `http://` in the URL +- No `,` at the end of the last bookmark in a category and at the end of the last category diff --git a/apps.json b/apps.json index 8958e0e5..31d4ab54 100755 --- a/apps.json +++ b/apps.json @@ -1,24 +1,89 @@ { - "apps" : [ - {"name":"Bazarr","url":"subs.example.com","icon":"message-video", "target": "_blank"}, - {"name":"CloudCMD","url":"files.example.com","icon":"folder-multiple-outline"}, - {"name":"Cockpit","url":"cp.example.com","icon":"airplane"}, - {"name":"Feedbin","url":"rss.example.com","icon":"rss"}, - {"name":"Filestash","url":"cloud.example.com","icon":"package"}, - {"name":"Jackett","url":"jackett.example.com","icon":"tshirt-crew-outline"}, - {"name":"Lidarr","url":"music.example.com","icon":"music"}, - {"name":"Minio","url":"minio.example.com","icon":"server"}, - {"name":"Mylar","url":"comics.example.com","icon":"book-open-variant"}, - {"name":"Nextcloud","url":"cloud.example.com","icon":"weather-cloudy"}, - {"name":"Ombi","url":"request.example.com","icon":"file-find-outline"}, - {"name":"Pi-hole","url":"pihole.example.com","icon":"do-not-disturb"}, - {"name":"Plex","url":"play.example.com","icon":"plex"}, - {"name":"Portainer","url":"port1.example.com","icon":"docker"}, - {"name":"Radarr","url":"movies.example.com","icon":"filmstrip"}, - {"name":"Sonarr","url":"tv.example.com","icon":"television-box"}, - {"name":"Stackedit","url":"md.example.com","icon":"markdown"}, - {"name":"Transmission","url":"dl.example.com","icon":"progress-download"}, - {"name":"Ubooquity","url":"opds.example.com","icon":"library-shelves"}, - {"name":"Youtube-DL","url":"yt.example.com","icon":"youtube"} - ] -} \ No newline at end of file + "apps": [ + { + "name": "Bazarr", + "url": "subs.example.com", + "icon": "message-video", + "target": "_blank", + "category": "Admin" + }, + { + "name": "CloudCMD", + "url": "files.example.com", + "icon": "folder-multiple-outline", + "category": "Admin" + }, + { + "name": "Cockpit", + "url": "cp.example.com", + "icon": "airplane", + "category": "Admin" + }, + { + "name": "Feedbin", + "url": "rss.example.com", + "icon": "rss", + "category": "Infrastructure" + }, + { + "name": "Filestash", + "url": "cloud.example.com", + "icon": "package", + "category": "Infrastructure" + }, + { + "name": "Jackett", + "url": "jackett.example.com", + "icon": "tshirt-crew-outline", + "category": "Infrastructure" + }, + { + "name": "Lidarr", + "url": "music.example.com", + "icon": "music", + "category": "Support" + }, + { + "name": "Minio", + "url": "minio.example.com", + "icon": "server", + "category": "Support" + }, + { + "name": "Mylar", + "url": "comics.example.com", + "icon": "book-open-variant" + }, + { + "name": "Nextcloud", + "url": "cloud.example.com", + "icon": "weather-cloudy" + }, + { + "name": "Ombi", + "url": "request.example.com", + "icon": "file-find-outline" + }, + { + "name": "Pi-hole", + "url": "pihole.example.com", + "icon": "do-not-disturb" + }, + { "name": "Plex", "url": "play.example.com", "icon": "plex" }, + { "name": "Portainer", "url": "port1.example.com", "icon": "docker" }, + { "name": "Radarr", "url": "movies.example.com", "icon": "filmstrip" }, + { "name": "Sonarr", "url": "tv.example.com", "icon": "television-box" }, + { "name": "Stackedit", "url": "md.example.com", "icon": "markdown" }, + { + "name": "Transmission", + "url": "dl.example.com", + "icon": "progress-download" + }, + { + "name": "Ubooquity", + "url": "opds.example.com", + "icon": "library-shelves" + }, + { "name": "Youtube-DL", "url": "yt.example.com", "icon": "youtube" } + ] +} diff --git a/assets/css/styles.css b/assets/css/styles.css index 338fc5f1..64cf7b82 100755 --- a/assets/css/styles.css +++ b/assets/css/styles.css @@ -1,558 +1,534 @@ -html{ - box-sizing: border-box; - moz-box-sizing: border-box; - webkit-box-sizing: border-box; - webkit-text-size-adjust: none; +html { + box-sizing: border-box; + moz-box-sizing: border-box; + webkit-box-sizing: border-box; + webkit-text-size-adjust: none; } html, -body{ - background-color: var(--color-background); - color: var(--color-text-pri); - font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, Roboto, sans-serif; - font-size: 14px; - font-weight: 400; - height: auto; - letter-spacing: -.012em; - margin: 0; - padding: 0; - webkit-font-smoothing: antialiased; - width: 100vw; +body { + background-color: var(--color-background); + color: var(--color-text-pri); + font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, Roboto, + sans-serif; + font-size: 14px; + font-weight: 400; + height: auto; + letter-spacing: -0.012em; + margin: 0; + padding: 0; + webkit-font-smoothing: antialiased; + max-width: 100vw; + overflow-x: hidden; } *, *:before, -*:after{ - box-sizing: inherit; - moz-box-sizing: inherit; - webkit-box-sizing: inherit; +*:after { + box-sizing: inherit; + moz-box-sizing: inherit; + webkit-box-sizing: inherit; } -:root{ - module-spacing: 3vh; +:root { + module-spacing: 3vh; } - /* TEXT STYLES */ -h1, h2{ - font-weight: 300; - margin: 0; - padding: 0; - text-align: left; +h1, +h2 { + font-weight: 300; + margin: 0; + padding: 0; + text-align: left; } -h2, h3, h4{ - text-transform: uppercase; +h2, +h3, +h4 { + text-transform: uppercase; } -h1{ - font-size: 4em; - font-weight: 700; - margin-bottom: 0.5em; +h1 { + font-size: 4em; + font-weight: 700; + margin-bottom: 0.5em; } -h2{ - font-size: 16px; - height: 30px; - +h2 { + font-size: 16px; + height: 30px; } -h3{ - font-size: 20px; - font-weight: 900; - height: 10px; +h3 { + font-size: 20px; + font-weight: 900; + height: 10px; } -h4{ - font-size: 1.1em; - font-weight: 400; - height: 10px; +h4 { + font-size: 1.1em; + font-weight: 400; + height: 10px; } -a{ - color: var(--color-text-pri); - text-decoration: none; +a { + color: var(--color-text-pri); + text-decoration: none; } -a:hover{ - text-decoration: underline; - webkit-text-decoration-color: var(--color-text-acc); - webkit-text-decoration-skip: true; +a:hover { + text-decoration: underline; + webkit-text-decoration-color: var(--color-text-acc); + webkit-text-decoration-skip: true; } -.icon{ - font-size: 2.5em; +.icon { + font-size: 2.5em; } - /* FORMS */ -input{ - background-color: transparent; - border: 0; - border-bottom: thin solid var(--color-text-acc); - color: var(--color-text-pri); - font-size: 0.8em; - height: 3.5em; - transition: all 0.4s ease; - width: 100%; +input { + background-color: transparent; + border: 0; + border-bottom: thin solid var(--color-text-acc); + color: var(--color-text-pri); + font-size: 0.8em; + height: 3.5em; + transition: all 0.4s ease; + width: 100%; } -input:focus{ - color-border: var(--color-text-pri); - outline: none; +input:focus { + color-border: var(--color-text-pri); + outline: none; } -input:focus{ - opacity: 1; +input:focus { + opacity: 1; } - /* TABLES */ -table{ - border: thin solid #e4e4e4; - border-collapse: collapse; - border-spacing: 0; - font-size: 1em; - text-align: left; - width: 100%; +table { + border: thin solid #e4e4e4; + border-collapse: collapse; + border-spacing: 0; + font-size: 1em; + text-align: left; + width: 100%; } -table td:nth-of-type(2){ - padding-right: 5em; +table td:nth-of-type(2) { + padding-right: 5em; } -table td{ - border: thin solid #e4e4e4; - color: #333333; - font-size: 1em; - overflow: hidden; - padding: 10px 5px; - word-break: normal; +table td { + border: thin solid #e4e4e4; + color: var(--color-text-pri); + font-size: 1em; + overflow: hidden; + padding: 10px 5px; + word-break: normal; } -table th{ - border: thin solid #e4e4e4; - color: #333333; - font-weight: bold; - padding: 10px 5px; +table th { + border: thin solid #e4e4e4; + color: var(--color-text-acc); + font-weight: bold; + padding: 10px 5px; } -table a{ - color: #333333; +table a { + color: var(--color-text-pri); } - /* ANIMATION */ -.fade{ - opacity: 0; +.fade { + opacity: 0; } -@keyframes fadeseq{ - 100% { - opacity: 1; - } +@keyframes fadeseq { + 100% { + opacity: 1; + } } -.fade{ - opacity: 0; +.fade { + opacity: 0; } -.fade{ - animation: fadeseq .3s forwards; +.fade { + animation: fadeseq 0.3s forwards; } -.fade:nth-child(2){ - animation-delay: .4s; +.fade:nth-child(2) { + animation-delay: 0.4s; } - /* LAYOUT */ -#container{ - align-items: stretch; - display: grid; - grid-column-gap: 20px; - grid-row-gap: 3vh; - grid-template-columns: 1fr; - grid-template-rows: 8vh auto; - justify-items: stretch; - margin-left: auto; - margin-right: auto; - margin-top: 5vh; - width: 60%; +#container { + align-items: stretch; + display: grid; + grid-column-gap: 20px; + grid-row-gap: 3vh; + grid-template-columns: 1fr; + grid-template-rows: 8vh auto; + justify-items: stretch; + margin-left: auto; + margin-right: auto; + margin-top: 5vh; + width: 60%; } - - /* SECTIONS */ -#header{ - border-bottom: 0px solid var(--color-text-acc); - z-index: 1; +#header { + border-bottom: 0px solid var(--color-text-acc); + z-index: 1; } -#apps_loop{ - border-bottom: 0px solid var(--color-text-acc); - display: grid; - grid-column-gap: 0px; - grid-row-gap: 0px; - grid-template-columns: 1fr 1fr 1fr 1fr; - grid-template-rows: 64px; - padding-bottom: var(--module-spacing); +#apps_loop { + border-bottom: 0px solid var(--color-text-acc); + display: grid; + grid-column-gap: 0px; + grid-row-gap: 0px; + grid-template-columns: 1fr 1fr 1fr 1fr; + grid-template-rows: 64px; + padding-bottom: var(--module-spacing); } -.apps_icon{ - height: 64px; - margin-right: 1em; - padding-top: 15px; +.apps_icon { + height: 64px; + margin-right: 1em; + padding-top: 15px; } -.apps_icon span{ - font-size: 2.5em; - line-height: 3rem; +.apps_icon span { + font-size: 2.5em; + line-height: 3rem; } -.apps_item{ - display: flex; - flex-direction: row; - flex-wrap: wrap; - height: 64px; - margin: 0; +.apps_item { + display: flex; + flex-direction: row; + flex-wrap: wrap; + height: 64px; + margin: 0; } -.apps_text{ - display: flex; - flex-direction: column; - justify-content: center; - flex: 1; - overflow: hidden; +.apps_text { + display: flex; + flex-direction: column; + justify-content: center; + flex: 1; + overflow: hidden; } -.apps_text a{ - font-size: 1em; - font-weight: 500; - text-transform: uppercase; +.apps_text a { + font-size: 1em; + font-weight: 500; + text-transform: uppercase; } -.apps_text span{ - color: var(--color-text-acc); - font-size: 0.8em; - text-transform: uppercase; +.apps_text span { + color: var(--color-text-acc); + font-size: 0.8em; + text-transform: uppercase; } - -#links_loop{ - display: grid; - flex-wrap: nowrap; - grid-column-gap: 20px; - grid-row-gap: 0px; - grid-template-columns: 1fr 1fr 1fr 1fr; - grid-template-rows: auto; +#links_loop { + display: grid; + flex-wrap: nowrap; + grid-column-gap: 20px; + grid-row-gap: 0px; + grid-template-columns: 1fr 1fr 1fr 1fr; + grid-template-rows: auto; } -#links_item{ - line-height: 1.5rem; - margin-bottom: 2em; - webkit-font-smoothing: antialiased; +#links_item { + line-height: 1.5rem; + margin-bottom: 2em; + webkit-font-smoothing: antialiased; } -#links_item h4{ - color: var(--color-text-acc); +#links_item h4 { + color: var(--color-text-acc); } -#links_item a{ - display: block; - line-height: 2; +#links_item a { + display: block; + line-height: 2; } - - - - - - - - - - - - - - /* MODAL */ - -#modal{ - overflow-y: auto; - bottom: 0; - left: 0; - opacity: 0; - pointer-events: none; - position: fixed; - right: 0; - top: 0; - transition: all 0.3s; - z-index: 20; +#modal { + overflow-y: auto; + bottom: 0; + left: 0; + opacity: 0; + pointer-events: none; + position: fixed; + right: 0; + top: 0; + transition: all 0.3s; + z-index: 20; } -#modal:target{ - opacity: 1; - pointer-events: auto; +#modal:target { + opacity: 1; + pointer-events: auto; } -#modal>div{ - background-color: #ffffff; - box-shadow: 0 14px 28px rgba(0, 0, 0, 0.30), 0 15px 12px rgba(0, 0, 0, 0.25); - margin-left: auto; - margin-right: auto; - padding: 2em; - margin-top: 5vh; - width: 50%; - display: flex; - flex-direction: column; +#modal > div { + background: hsl(from var(--color-background) h s calc(l + 5)); + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.25); + margin-left: auto; + margin-right: auto; + padding: 2em; + margin-top: 5vh; + width: 50%; + display: flex; + flex-direction: column; } -#modal h1{ - color: #333333; - font-size: 2em; +#modal h1 { + color: var(--color-text-acc); + font-size: 2em; } -#modal h2{ - margin-top:1.5em; +#modal h2 { + margin-top: 1.5em; } -#modal-header{ - display:flex; - justify-content: space-between; +#modal-header { + display: flex; + justify-content: space-between; } -#modal-footer{ - display:flex; - font-size:2em; - justify-content: flex-start; +#modal-footer { + display: flex; + font-size: 2em; + justify-content: flex-start; } -#modal-footer a{ - margin-right:0.25em; +#modal-footer a { + margin-right: 0.25em; } -.modal-close{ - color: #000000; - font-size: 1.5em; - text-align: center; - text-decoration: none; +.modal-close { + color: #000000; + font-size: 1.5em; + text-align: center; + text-decoration: none; } -.modal-close:hover{ - color: #000; +.modal-close:hover { + color: #000; } -#modal_init a{ - bottom: 1vh; - color: var(--color-text-acc); - left: 1vw; - position: fixed; +#modal_init a { + bottom: 1vh; + color: var(--color-text-acc); + left: 1vw; + position: fixed; } -#modal_init a:hover{ - color: var(--color-text-pri); +#modal_init a:hover { + color: var(--color-text-pri); } -#modal-theme{ - border-bottom: 0px solid var(--color-text-acc); - display: flex; - flex-wrap: wrap; - margin-bottom: 2em; +#modal-theme { + border-bottom: 0px solid var(--color-text-acc); + display: flex; + flex-wrap: wrap; + margin-bottom: 2em; } -#providers{ - margin-bottom: 2em; +#providers { + margin-bottom: 2em; } - /* THEMING */ -.theme-button{ - font-size: 0.8em; - margin: 2px; - width:128px; - line-height: 3em; - text-align: center; - text-transform: uppercase; +.theme-button { + font-size: 0.8em; + margin: 2px; + width: 128px; + line-height: 3em; + text-align: center; + text-transform: uppercase; } -.theme-blackboard{ - background-color: #000000; - border: 4px solid #5c5c5c; - color: #FFFDEA; +.theme-blackboard { + background-color: #000000; + border: 4px solid #5c5c5c; + color: #fffdea; } -.theme-gazette{ - background-color: #F2F7FF; - border: 4px solid #5c5c5c; - color: #000000; +.theme-gazette { + background-color: #f2f7ff; + border: 4px solid #5c5c5c; + color: #000000; } -.theme-espresso{ - background-color: #21211F; - border: 4px solid #4E4E4E; - color: #D1B59A; +.theme-espresso { + background-color: #21211f; + border: 4px solid #4e4e4e; + color: #d1b59a; } -.theme-cab{ - background-color: #FEED01; - border: 4px solid #424242; - color: #1F1F1F; +.theme-cab { + background-color: #feed01; + border: 4px solid #424242; + color: #1f1f1f; } -.theme-cloud{ - background-color: #f1f2f0; - border: 4px solid #35342f; - color: #37bbe4; +.theme-cloud { + background-color: #f1f2f0; + border: 4px solid #35342f; + color: #37bbe4; } -.theme-lime{ - background-color: #263238; - border: 4px solid #AABBC3; - color: #aeea00; +.theme-lime { + background-color: #263238; + border: 4px solid #aabbc3; + color: #aeea00; } -.theme-passion{ - background-color: #f5f5f5; - border: 4px solid #8e24aa; - color: #12005e; +.theme-passion { + background-color: #f5f5f5; + border: 4px solid #8e24aa; + color: #12005e; } -.theme-blues{ - background-color: #2B2C56; - border: 4px solid #6677EB; - color: #EFF1FC; +.theme-blues { + background-color: #2b2c56; + border: 4px solid #6677eb; + color: #eff1fc; } -.theme-chalk{ - background-color: #263238; - border: 4px solid #FF869A; - color: #AABBC3; +.theme-chalk { + background-color: #263238; + border: 4px solid #ff869a; + color: #aabbc3; } -.theme-tron{ - background-color: #242B33; - border: 4px solid #6EE2FF; - color: #EFFBFF; +.theme-tron { + background-color: #242b33; + border: 4px solid #6ee2ff; + color: #effbff; } -.theme-paper{ - background-color: #F8F6F1; - border: 4px solid #F5E1A4; - color: #4C432E; +.theme-paper { + background-color: #f8f6f1; + border: 4px solid #f5e1a4; + color: #4c432e; } - /* MEDIA QUERIES */ -@media screen and (max-width: 1260px) -{ - #container - { - align-items: stretch; - display: grid; - grid-column-gap: 10px; - grid-row-gap: 0px; - grid-template-columns: 1fr; - grid-template-rows: 80px auto; - justify-items: stretch; - margin-bottom: 1vh; - margin-left: auto; - margin-right: auto; - width: 90%; - } - - #apps_loop{ - grid-template-columns: 1fr 1fr 1fr; - width: 100vw; - } - - #links_loop { - grid-template-columns: 1fr 1fr 1fr; - } - - #modal>div{ - margin-left: auto; - margin-right: auto; - margin-top: 5vh; - width: 90%; - } -} - -@media screen and (max-width: 667px) -{ - html{ - font-size: calc(16px + 6 * ((100vw - 320px) / 680)); - } - - #container{ - align-items: stretch; - display: grid; - grid-column-gap: 20px; - grid-row-gap: 0px; - grid-template-columns: 1fr; - grid-template-rows: 80px auto; - justify-items: stretch; - margin-bottom: 1vh; - width: 90%; - } - - h1{ - font-size: 4em; - height: auto; - margin-bottom: 0em; - } - - h2{ - font-size: 1em; - height: auto; - margin-bottom: 0em; - } - - h3{ - font-size: 1em; - } - - #apps_loop{ - grid-column-gap: 0px; - grid-row-gap: 0px; - grid-template-columns: 1fr 1fr; - width: 100vw; - } - - .apps_icon{ - height: 64px; - margin-right: 0.8em; - padding-top: 14px; - } - - .apps_icon span{ - font-size: 2em; - line-height: 2.5rem; - } - - #links_loop{ - display: grid; - flex-wrap: nowrap; - grid-column-gap: 20px; - grid-row-gap: 0px; - grid-template-columns: 1fr 1fr; - grid-template-rows: auto; - } +@media screen and (max-width: 1260px) { + #container { + align-items: stretch; + display: grid; + grid-column-gap: 10px; + grid-row-gap: 0px; + grid-template-columns: 1fr; + grid-template-rows: 80px auto; + justify-items: stretch; + margin-bottom: 1vh; + margin-left: auto; + margin-right: auto; + width: 90%; + } + + #apps_loop { + grid-template-columns: 1fr 1fr 1fr; + width: 100vw; + } + + #links_loop { + grid-template-columns: 1fr 1fr 1fr; + } + + #modal > div { + margin-left: auto; + margin-right: auto; + margin-top: 5vh; + width: 90%; + } +} + +@media screen and (max-width: 667px) { + html { + font-size: calc(16px + 6 * ((100vw - 320px) / 680)); + } + + #container { + align-items: stretch; + display: grid; + grid-column-gap: 20px; + grid-row-gap: 0px; + grid-template-columns: 1fr; + grid-template-rows: 80px auto; + justify-items: stretch; + margin-bottom: 1vh; + width: 90%; + } + + h1 { + font-size: 4em; + height: auto; + margin-bottom: 0em; + } + + h2 { + font-size: 1em; + height: auto; + margin-bottom: 0em; + } + + h3 { + font-size: 1em; + } + + #apps_loop { + grid-column-gap: 0px; + grid-row-gap: 0px; + grid-template-columns: 1fr 1fr; + width: 100vw; + } + + .apps_icon { + height: 64px; + margin-right: 0.8em; + padding-top: 14px; + } + + .apps_icon span { + font-size: 2em; + line-height: 2.5rem; + } + + #links_loop { + display: grid; + flex-wrap: nowrap; + grid-column-gap: 20px; + grid-row-gap: 0px; + grid-template-columns: 1fr 1fr; + grid-template-rows: auto; + } } /* Small Screens */ @media only screen and (max-width: 400px) { - #app-address { - display: none; - } + #app-address { + display: none; + } } diff --git a/assets/js/data.js b/assets/js/data.js index 5f45926f..004ef4c9 100755 --- a/assets/js/data.js +++ b/assets/js/data.js @@ -1,16 +1,104 @@ -function fetchAndRender (name) { - fetch(name + '.json') - .then(response => response.json()) - .then(data => { - const mysource = document.getElementById(name + '-template').innerHTML; - const mytemplate = Handlebars.compile(mysource); - const myresult = mytemplate(data); - document.getElementById(name).innerHTML = myresult; - }); +let config = {} + +const renderTemplate = (fileName, data) => { + const src = document.getElementById(`${fileName}-template`).innerHTML + const template = Handlebars.compile(src) + const rendered = template({ ...data, labels: config.labels }) + + document.getElementById(fileName).innerHTML += rendered } -document.addEventListener('DOMContentLoaded', () => { - fetchAndRender('apps'); - fetchAndRender('links'); - fetchAndRender('providers'); -}); +const fetchAndRender = async (fileName) => { + const res = await fetch(`${fileName}.json`) + const data = await res.json() + + if (fileName === 'apps' && config.useAppCategories) { + const categories = data.apps.reduce((acc, app) => { + if (!acc.includes(app.category)) acc.push(app.category) + return acc + }, []) + + const sortedData = categories.map((category) => { + return { + category, + apps: data.apps.filter((app) => app.category === category) + } + }) + + sortedData.forEach((item) => renderTemplate(fileName, item)) + } else { + renderTemplate(fileName, data) + } + + return null +} + +const fetchUser = async () => { + /* const res = await fetch( + `${config.oauth2ProxyBaseUrl.replace(/\/$/, '')}/oauth2/userinfo`, + { + credentials: 'include' + } + ) + const data = await res.json() */ + + return { + user: '8813348c-7723-4f4c-a759-cb7c94b6747c', + email: 'hello@coderocket.me', + groups: ['/dev', '/projektleitung', '/supporter', '/teamleitung'], + preferredUsername: 'mmenistr' + } +} + +const fetchConfig = async () => { + const res = await fetch('config.json') + const data = await res.json() + + config = data + + for (const theme of Object.keys(config.themes)) { + const src = document.getElementById(`theme-button`).innerHTML + const template = Handlebars.compile(src) + const rendered = template({ theme }) + + document.getElementById('modal-theme').innerHTML += rendered + } + + if (config.backgroundImage && config.backgroundImage.length > 0) + document.body.style = + "background-image: url('" + + config.backgroundImage + + "'); background-size: cover; background-repeat: no-repeat; background-attachment: fixed;" + + return true +} + +document.addEventListener('DOMContentLoaded', async () => { + await fetchConfig() + + if (config.hideSettings) { + document.getElementById('modal').style.display = 'none' + document.getElementById('modal_init').style.display = 'none' + } + + const user = config.useOauth2Proxy ? await fetchUser() : null + + Handlebars.registerHelper('hasGroup', (groups) => { + if (!groups || groups.length === 0) return true + return user[config.userPermissionKey].some((g) => groups.includes(g)) + }) + + if (config.withApps) await fetchAndRender('apps') + + if (config.withLinks) await fetchAndRender('links') + + if (config.withSearch) { + await fetchAndRender('providers') + document.getElementById('search').style.display = 'block' + document.getElementById('provider-area').style.display = 'block' + } + + setValueFromLocalStorage('color-background') + setValueFromLocalStorage('color-text-pri') + setValueFromLocalStorage('color-text-acc') +}) diff --git a/assets/js/script.js b/assets/js/script.js index 516498ff..c97a821a 100755 --- a/assets/js/script.js +++ b/assets/js/script.js @@ -1,37 +1,38 @@ -function date() { - let currentDate = new Date(); - let dateOptions = { - weekday: "long", - year: "numeric", - month: "long", - day: "numeric" - }; - let date = currentDate.toLocaleDateString("en-GB", dateOptions); - document.getElementById("header_date").innerHTML = date; +const date = () => { + const currentDate = new Date() + const dateOptions = { + weekday: 'long', + year: 'numeric', + month: 'long', + day: 'numeric' + } + const date = currentDate.toLocaleDateString(config.language, dateOptions) + document.getElementById('header_date').innerHTML = date } -function greet() { - let currentTime = new Date(); - let greet = Math.floor(currentTime.getHours() / 6); +const greet = () => { + const currentTime = new Date() + const greet = Math.floor(currentTime.getHours() / 6) switch (greet) { case 0: - document.getElementById("header_greet").innerHTML = "Good night!"; - break; + document.getElementById('header_greet').innerHTML = config.greetings.night + break case 1: - document.getElementById("header_greet").innerHTML = "Good morning!"; - break; + document.getElementById('header_greet').innerHTML = + config.greetings.morning + break case 2: - document.getElementById("header_greet").innerHTML = "Good afternoon!"; - break; + document.getElementById('header_greet').innerHTML = + config.greetings.afternoon + break case 3: - document.getElementById("header_greet").innerHTML = "Good evening!"; - break; + document.getElementById('header_greet').innerHTML = + config.greetings.evening + break } } -function loadFunctions() { - date(); - greet(); +const loadFunctions = async () => { + date() + greet() } - - diff --git a/assets/js/themer.js b/assets/js/themer.js index 9c19380d..66fb9cda 100755 --- a/assets/js/themer.js +++ b/assets/js/themer.js @@ -1,139 +1,49 @@ const setValue = (property, value) => { - if (value) { - document.documentElement.style.setProperty(`--${property}`, value); + if (!value) return - const input = document.querySelector(`#${property}`); - if (input) { - value = value.replace('px', ''); - input.value = value; - } - } -}; - -const setValueFromLocalStorage = property => { - let value = localStorage.getItem(property); - setValue(property, value); -}; + document.documentElement.style.setProperty(`--${property}`, value) -const setTheme = options => { - for (let option of Object.keys(options)) { - const property = option; - const value = options[option]; - - setValue(property, value); - localStorage.setItem(property, value); - } + const input = document.querySelector(`#${property}`) + if (input) { + value = value.replace('px', '') + input.value = value + } } -document.addEventListener('DOMContentLoaded', () => { - setValueFromLocalStorage('color-background'); - setValueFromLocalStorage('color-text-pri'); - setValueFromLocalStorage('color-text-acc'); -}); - -const dataThemeButtons = document.querySelectorAll('[data-theme]'); - -for (let i = 0; i < dataThemeButtons.length; i++) { - dataThemeButtons[i].addEventListener('click', () => { - const theme = dataThemeButtons[i].dataset.theme; - - switch (theme) { - case 'blackboard': - setTheme({ - 'color-background': '#1a1a1a', - 'color-text-pri': '#FFFDEA', - 'color-text-acc': '#5c5c5c' - }); - return; - - case 'gazette': - setTheme({ - 'color-background': '#F2F7FF', - 'color-text-pri': '#000000', - 'color-text-acc': '#5c5c5c' - }); - return; - - case 'espresso': - setTheme({ - 'color-background': '#21211F', - 'color-text-pri': '#D1B59A', - 'color-text-acc': '#4E4E4E' - }); - return; - - case 'cab': - setTheme({ - 'color-background': '#F6D305', - 'color-text-pri': '#1F1F1F', - 'color-text-acc': '#424242' - }); - return; - - case 'cloud': - setTheme({ - 'color-background': '#f1f2f0', - 'color-text-pri': '#35342f', - 'color-text-acc': '#37bbe4' - }); - return; - - case 'lime': - setTheme({ - 'color-background': '#263238', - 'color-text-pri': '#AABBC3', - 'color-text-acc': '#aeea00' - }); - return; +const setValueFromLocalStorage = (property) => { + console.log(config.defaultTheme) + const value = + localStorage.getItem(property) || + config.themes[config.defaultTheme][property] + setValue(property, value) +} - case 'white': - setTheme({ - 'color-background': '#ffffff', - 'color-text-pri': '#222222', - 'color-text-acc': '#dddddd' - }); - return; +const setTheme = (options) => { + for (const option of Object.keys(options)) { + const value = options[option] - case 'tron': - setTheme({ - 'color-background': '#242B33', - 'color-text-pri': '#EFFBFF', - 'color-text-acc': '#6EE2FF' - }); - return; - - case 'blues': - setTheme({ - 'color-background': '#2B2C56', - 'color-text-pri': '#EFF1FC', - 'color-text-acc': '#6677EB' - }); - return; - - case 'passion': - setTheme({ - 'color-background': '#f5f5f5', - 'color-text-pri': '#12005e', - 'color-text-acc': '#8e24aa' - }); - return; - - case 'chalk': - setTheme({ - 'color-background': '#263238', - 'color-text-pri': '#AABBC3', - 'color-text-acc': '#FF869A' - }); - return; - - case 'paper': - setTheme({ - 'color-background': '#F8F6F1', - 'color-text-pri': '#4C432E', - 'color-text-acc': '#AA9A73' - }); - return; + setValue(option, value) + localStorage.setItem(option, value) + } +} +const observer = new MutationObserver((mutationsList) => { + mutationsList.forEach((mutation) => { + if (mutation.type === 'childList') { + mutation.addedNodes.forEach((node) => { + if ( + node.nodeType === Node.ELEMENT_NODE && + node.hasAttribute('data-theme') + ) { + node.addEventListener('click', () => { + const theme = node.dataset.theme + + setTheme(config.themes[theme]) + }) } - }) -} \ No newline at end of file + }) + } + }) +}) + +observer.observe(document.body, { childList: true, subtree: true }) diff --git a/config.json b/config.json new file mode 100644 index 00000000..18045e49 --- /dev/null +++ b/config.json @@ -0,0 +1,85 @@ +{ + "language": "en-GB", + "greetings": { + "morning": "Good Morning", + "afternoon": "Good Afternoon", + "evening": "Good Evening", + "night": "Good Night" + }, + "useOauth2Proxy": false, + "useAppCategories": false, + "oauth2ProxyBaseUrl": "", + "userPermissionKey": "", + "withApps": true, + "withLinks": true, + "withSearch": true, + "hideSettings": false, + "labels": { + "bookmarks": "Bookmarks", + "applications": "Applications" + }, + "backgroundImage": "", + "defaultTheme": "backboard", + "themes": { + "blackboard": { + "color-background": "#1a1a1a", + "color-text-pri": "#FFFDEA", + "color-text-acc": "#5c5c5c" + }, + "gazette": { + "color-background": "#F2F7FF", + "color-text-pri": "#000000", + "color-text-acc": "#5c5c5c" + }, + "espresso": { + "color-background": "#21211F", + "color-text-pri": "#D1B59A", + "color-text-acc": "#4E4E4E" + }, + "cab": { + "color-background": "#F6D305", + "color-text-pri": "#1F1F1F", + "color-text-acc": "#424242" + }, + "cloud": { + "color-background": "#f1f2f0", + "color-text-pri": "#35342f", + "color-text-acc": "#37bbe4" + }, + "lime": { + "color-background": "#263238", + "color-text-pri": "#AABBC3", + "color-text-acc": "#aeea00" + }, + "white": { + "color-background": "#ffffff", + "color-text-pri": "#222222", + "color-text-acc": "#dddddd" + }, + "tron": { + "color-background": "#242B33", + "color-text-pri": "#EFFBFF", + "color-text-acc": "#6EE2FF" + }, + "blues": { + "color-background": "#2B2C56", + "color-text-pri": "#EFF1FC", + "color-text-acc": "#6677EB" + }, + "passion": { + "color-background": "#f5f5f5", + "color-text-pri": "#12005e", + "color-text-acc": "#8e24aa" + }, + "chalk": { + "color-background": "#263238", + "color-text-pri": "#AABBC3", + "color-text-acc": "#FF869A" + }, + "paper": { + "color-background": "#F8F6F1", + "color-text-pri": "#4C432E", + "color-text-acc": "#AA9A73" + } + } +} diff --git a/index.html b/index.html index bf85fda7..ff37eeb1 100755 --- a/index.html +++ b/index.html @@ -1,127 +1,148 @@ - + SUI - - - - - - + + + + + + - - - + +
+ - + - - -
- -
- - +
+
+ + + + + + + + + - - - + From 71dc9fe98eb7ffe8aa141d8f7f1502f15784123b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominic=20Rico=20G=C3=B3mez?= Date: Fri, 2 Aug 2024 00:47:39 +0200 Subject: [PATCH 2/9] typo fixes, fetch real users, add username in greeting --- README.md | 15 +++++++++------ assets/js/data.js | 10 ++-------- assets/js/script.js | 11 ++++++++++- config.json | 26 +++++++++++++------------- 4 files changed, 34 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index d044f107..1dbda6f5 100755 --- a/README.md +++ b/README.md @@ -6,6 +6,8 @@ _A startpage for your server and / or new tab page_ [More screenshots](https://imgur.com/a/FDVRIyw) +[Extended Options](https://imgur.com/a/69CwxxW) + ### Deploy with Docker compose #### Prerequisites: @@ -16,17 +18,18 @@ _A startpage for your server and / or new tab page_ #### Install: - `git clone` this repository -- Build and bring up with `docker-compose up -d` +- Build and bring up with `docker compose up -d` - The page should be available at `http://localhost:4000` -To run at a different port open edit docker-compose.yml: - - ports: - - 4000:80 +To run at a different port edit the docker-compose.yml +```yaml + ports: + - 4000:80 +``` #### Install pull from git variant: -- refreshs source code every 5 minutes from master branch you provided - convenience feature for lacy devs +- refresh the source code every 5 minutes from master branch you provided - convenience feature for lazy devs - `git clone` this repository - build image `docker build -f DockerfilePullFromGit -t sui:latest .` - run image with `docker run -e GITURL='https://x:ghp_x@github.com/jeroenpardon/sui.git' -p 8081:80 sui:latest` diff --git a/assets/js/data.js b/assets/js/data.js index 004ef4c9..5fa22a26 100755 --- a/assets/js/data.js +++ b/assets/js/data.js @@ -34,20 +34,14 @@ const fetchAndRender = async (fileName) => { } const fetchUser = async () => { - /* const res = await fetch( + const res = await fetch( `${config.oauth2ProxyBaseUrl.replace(/\/$/, '')}/oauth2/userinfo`, { credentials: 'include' } ) - const data = await res.json() */ - return { - user: '8813348c-7723-4f4c-a759-cb7c94b6747c', - email: 'hello@coderocket.me', - groups: ['/dev', '/projektleitung', '/supporter', '/teamleitung'], - preferredUsername: 'mmenistr' - } + return await res.json() } const fetchConfig = async () => { diff --git a/assets/js/script.js b/assets/js/script.js index c97a821a..53e7e16b 100755 --- a/assets/js/script.js +++ b/assets/js/script.js @@ -10,7 +10,7 @@ const date = () => { document.getElementById('header_date').innerHTML = date } -const greet = () => { +const greet = async () => { const currentTime = new Date() const greet = Math.floor(currentTime.getHours() / 6) switch (greet) { @@ -30,6 +30,15 @@ const greet = () => { config.greetings.evening break } + + if (config.useOauth2Proxy) { + const user = await fetchUser() + document.getElementById( + 'header_greet' + ).innerHTML += `, ${user.preferredUsername}` + } + + document.getElementById('header_greet').innerHTML += '!' } const loadFunctions = async () => { diff --git a/config.json b/config.json index 18045e49..e2ae9d79 100644 --- a/config.json +++ b/config.json @@ -1,25 +1,25 @@ { - "language": "en-GB", + "language": "de-DE", "greetings": { - "morning": "Good Morning", - "afternoon": "Good Afternoon", - "evening": "Good Evening", - "night": "Good Night" + "morning": "Guten Morgen", + "afternoon": "Guten Tag", + "evening": "Guten Abend", + "night": "Gute Nacht" }, - "useOauth2Proxy": false, - "useAppCategories": false, - "oauth2ProxyBaseUrl": "", - "userPermissionKey": "", + "useOauth2Proxy": true, + "useAppCategories": true, + "oauth2ProxyBaseUrl": "https://auth.fluffyv.dev/", + "userPermissionKey": "groups", "withApps": true, "withLinks": true, "withSearch": true, "hideSettings": false, "labels": { - "bookmarks": "Bookmarks", - "applications": "Applications" + "bookmarks": "Lesezeichen", + "applications": "Anwendungen" }, - "backgroundImage": "", - "defaultTheme": "backboard", + "backgroundImage": "/city_background.jpg", + "defaultTheme": "cab", "themes": { "blackboard": { "color-background": "#1a1a1a", From c7db959568800b1fffe458af01c72723a409e867 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominic=20Rico=20G=C3=B3mez?= Date: Fri, 2 Aug 2024 01:52:30 +0200 Subject: [PATCH 3/9] add content header --- assets/js/data.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assets/js/data.js b/assets/js/data.js index 5fa22a26..f518e07c 100755 --- a/assets/js/data.js +++ b/assets/js/data.js @@ -37,7 +37,10 @@ const fetchUser = async () => { const res = await fetch( `${config.oauth2ProxyBaseUrl.replace(/\/$/, '')}/oauth2/userinfo`, { - credentials: 'include' + credentials: 'include', + headers: { + 'Content-Type': 'application/json' + } } ) From 40f92bba421f0870cbb7b72d39420aefb0df774f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominic=20Rico=20G=C3=B3mez?= Date: Fri, 2 Aug 2024 02:16:03 +0200 Subject: [PATCH 4/9] fix backgroundImage --- assets/js/data.js | 15 ++++++++++----- fluffyv.dev | Bin 0 -> 148021 bytes 2 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 fluffyv.dev diff --git a/assets/js/data.js b/assets/js/data.js index f518e07c..9a8ae1d2 100755 --- a/assets/js/data.js +++ b/assets/js/data.js @@ -61,11 +61,16 @@ const fetchConfig = async () => { document.getElementById('modal-theme').innerHTML += rendered } - if (config.backgroundImage && config.backgroundImage.length > 0) - document.body.style = - "background-image: url('" + - config.backgroundImage + - "'); background-size: cover; background-repeat: no-repeat; background-attachment: fixed;" + if (config.backgroundImage && config.backgroundImage.length > 0) { + document.documentElement.style.setProperty( + 'background-image', + `url(${config.backgroundImage}` + ) + document.documentElement.style.setProperty('background-size', `cover`) + document.documentElement.style.setProperty('background-repeat', `no-repeat`) + document.documentElement.style.setProperty('background-attachment', `fixed`) + document.body.style.setProperty('background', `transparent`) + } return true } diff --git a/fluffyv.dev b/fluffyv.dev new file mode 100644 index 0000000000000000000000000000000000000000..11c7edc5c825fc40231b46363270bf03913123a0 GIT binary patch literal 148021 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%0AJ>8uWPuMF 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 literal 0 HcmV?d00001 From 7bd5d06dc6ba44b01f016d7cc9e0e6c776aeb975 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominic=20Rico=20G=C3=B3mez?= Date: Fri, 2 Aug 2024 02:16:52 +0200 Subject: [PATCH 5/9] standart config --- config.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/config.json b/config.json index e2ae9d79..18045e49 100644 --- a/config.json +++ b/config.json @@ -1,25 +1,25 @@ { - "language": "de-DE", + "language": "en-GB", "greetings": { - "morning": "Guten Morgen", - "afternoon": "Guten Tag", - "evening": "Guten Abend", - "night": "Gute Nacht" + "morning": "Good Morning", + "afternoon": "Good Afternoon", + "evening": "Good Evening", + "night": "Good Night" }, - "useOauth2Proxy": true, - "useAppCategories": true, - "oauth2ProxyBaseUrl": "https://auth.fluffyv.dev/", - "userPermissionKey": "groups", + "useOauth2Proxy": false, + "useAppCategories": false, + "oauth2ProxyBaseUrl": "", + "userPermissionKey": "", "withApps": true, "withLinks": true, "withSearch": true, "hideSettings": false, "labels": { - "bookmarks": "Lesezeichen", - "applications": "Anwendungen" + "bookmarks": "Bookmarks", + "applications": "Applications" }, - "backgroundImage": "/city_background.jpg", - "defaultTheme": "cab", + "backgroundImage": "", + "defaultTheme": "backboard", "themes": { "blackboard": { "color-background": "#1a1a1a", From ba7d42c9b3ce1da472cc6c6faa20a67699f11bd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominic=20Rico=20G=C3=B3mez?= Date: Fri, 2 Aug 2024 10:06:00 +0200 Subject: [PATCH 6/9] use more general oauth keys --- README.md | 4 ++-- assets/js/data.js | 15 ++++++--------- config.json | 4 ++-- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 1dbda6f5..d3d438ec 100755 --- a/README.md +++ b/README.md @@ -48,9 +48,9 @@ Change the config.json to your likings. | `greetings.afternoon` | `Good Afternoon` | Greeting text for the afternoon. | | `greetings.evening` | `Good Evening` | Greeting text for the evening. | | `greetings.night` | `Good Night` | Greeting text for the night. | -| `useOauth2Proxy` | `false` | Whether to use OAuth2 Proxy for authentication. | +| `useOauth2` | `false` | Whether to use OAuth2 Proxy for authentication. | | `useAppCategories` | `false` | Whether to categorize applications. | -| `oauth2ProxyBaseUrl` | `""` | Base URL for the OAuth2 Proxy. | +| `oauth2UserInfoURL` | `""` | URL to call for user info. | | `userPermissionKey` | `""` | Key used for user permissions on userinfo call. | | `withApps` | `true` | Whether to show applications. | | `withLinks` | `true` | Whether to show links. | diff --git a/assets/js/data.js b/assets/js/data.js index 9a8ae1d2..f938c5fb 100755 --- a/assets/js/data.js +++ b/assets/js/data.js @@ -34,15 +34,12 @@ const fetchAndRender = async (fileName) => { } const fetchUser = async () => { - const res = await fetch( - `${config.oauth2ProxyBaseUrl.replace(/\/$/, '')}/oauth2/userinfo`, - { - credentials: 'include', - headers: { - 'Content-Type': 'application/json' - } + const res = await fetch(oauth2UserInfoURL, { + credentials: 'include', + headers: { + 'Content-Type': 'application/json' } - ) + }) return await res.json() } @@ -83,7 +80,7 @@ document.addEventListener('DOMContentLoaded', async () => { document.getElementById('modal_init').style.display = 'none' } - const user = config.useOauth2Proxy ? await fetchUser() : null + const user = config.useOauth2 ? await fetchUser() : null Handlebars.registerHelper('hasGroup', (groups) => { if (!groups || groups.length === 0) return true diff --git a/config.json b/config.json index 18045e49..13822a89 100644 --- a/config.json +++ b/config.json @@ -6,9 +6,9 @@ "evening": "Good Evening", "night": "Good Night" }, - "useOauth2Proxy": false, + "useOauth2": false, "useAppCategories": false, - "oauth2ProxyBaseUrl": "", + "oauth2UserInfoURL": "", "userPermissionKey": "", "withApps": true, "withLinks": true, From 984c6727af6e715316b74df290490bdbfda1246c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominic=20Rico=20G=C3=B3mez?= Date: Fri, 2 Aug 2024 10:11:13 +0200 Subject: [PATCH 7/9] move functions around --- assets/js/data.js | 3 +++ assets/js/script.js | 5 ----- index.html | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/assets/js/data.js b/assets/js/data.js index f938c5fb..c860f1cf 100755 --- a/assets/js/data.js +++ b/assets/js/data.js @@ -100,4 +100,7 @@ document.addEventListener('DOMContentLoaded', async () => { setValueFromLocalStorage('color-background') setValueFromLocalStorage('color-text-pri') setValueFromLocalStorage('color-text-acc') + + date() + greet() }) diff --git a/assets/js/script.js b/assets/js/script.js index 53e7e16b..6b54ed2f 100755 --- a/assets/js/script.js +++ b/assets/js/script.js @@ -40,8 +40,3 @@ const greet = async () => { document.getElementById('header_greet').innerHTML += '!' } - -const loadFunctions = async () => { - date() - greet() -} diff --git a/index.html b/index.html index ff37eeb1..3054dad1 100755 --- a/index.html +++ b/index.html @@ -26,7 +26,7 @@ - +