mirror of
https://github.com/gethomepage/homepage.git
synced 2025-12-05 21:47:48 +01:00
Compare commits
58 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0eab49a449 | ||
|
|
24121cd5f0 | ||
|
|
8aeded4774 | ||
|
|
40522fbb96 | ||
|
|
76cbb6e2ed | ||
|
|
b29c0f809c | ||
|
|
4f41be512c | ||
|
|
b765330b4a | ||
|
|
ed3055ae1b | ||
|
|
5460f89cc9 | ||
|
|
29018873f5 | ||
|
|
11cacfb823 | ||
|
|
eddec4adc2 | ||
|
|
2faf51b4c0 | ||
|
|
891c387062 | ||
|
|
3b2b6cc064 | ||
|
|
83a5d1b17a | ||
|
|
29b0240abd | ||
|
|
8ad1f9f422 | ||
|
|
ea15a1b9e5 | ||
|
|
691ed78e75 | ||
|
|
5f58cb285d | ||
|
|
a6696700b7 | ||
|
|
985ca4ae84 | ||
|
|
ebda0f7b70 | ||
|
|
8e7723b51d | ||
|
|
24635268a0 | ||
|
|
729c161271 | ||
|
|
69af86eebe | ||
|
|
369a996f1f | ||
|
|
b7b63abee0 | ||
|
|
4ba47c426a | ||
|
|
29d54b032c | ||
|
|
8791aa8d0d | ||
|
|
337ada148c | ||
|
|
2c8348f5b5 | ||
|
|
0eeaa99fe3 | ||
|
|
38d2cc7bd7 | ||
|
|
759dc9f3d2 | ||
|
|
72d9a614fd | ||
|
|
3d209bf572 | ||
|
|
3268db1298 | ||
|
|
ab4a28d04a | ||
|
|
3c1644e18f | ||
|
|
e1f6ddaeab | ||
|
|
826bad8ff4 | ||
|
|
8aa2bbcdd3 | ||
|
|
aece2954df | ||
|
|
5fbdbce79c | ||
|
|
ce2bfd9d21 | ||
|
|
df4cc6086c | ||
|
|
2c632e2b3e | ||
|
|
6de20f0ab6 | ||
|
|
7434d597c9 | ||
|
|
59dbc79656 | ||
|
|
b475f89d85 | ||
|
|
7f9ae3d01b | ||
|
|
b12d27551a |
6
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
6
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -11,13 +11,13 @@ body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Have a question? 👉 [Start a new discussion](https://github.com/benphelps/homepage/discussions/new) or [ask in chat](https://discord.gg/SaPGSzrEZC).
|
||||
Have a question? 👉 [Start a new discussion](https://github.com/gethomepage/homepage/discussions/new) or [ask in chat](https://discord.gg/SaPGSzrEZC).
|
||||
|
||||
Before opening an issue, please double check:
|
||||
|
||||
- [The troubleshooting guide](https://gethomepage.dev/latest/more/troubleshooting/).
|
||||
- [The homepage documentation](https://gethomepage.dev/)
|
||||
- [Existing issues](https://github.com/benphelps/homepage/search?q=&type=issues) and [discussions](https://github.com/benphelps/homepage/search?q=&type=discussions).
|
||||
- [Existing issues](https://github.com/gethomepage/homepage/search?q=&type=issues) and [discussions](https://github.com/gethomepage/homepage/search?q=&type=discussions).
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
@@ -95,5 +95,5 @@ body:
|
||||
required: true
|
||||
- label: Follow [the troubleshooting guide](https://gethomepage.dev/latest/more/troubleshooting/) (please include output above if applicable).
|
||||
required: true
|
||||
- label: Search [existing issues](https://github.com/benphelps/homepage/search?q=&type=issues) and [discussions](https://github.com/benphelps/homepage/search?q=&type=discussions).
|
||||
- label: Search [existing issues](https://github.com/gethomepage/homepage/search?q=&type=issues) and [discussions](https://github.com/gethomepage/homepage/search?q=&type=discussions).
|
||||
required: true
|
||||
|
||||
4
.github/ISSUE_TEMPLATE/config.yml
vendored
4
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -1,11 +1,11 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: 🤔 Questions and Help
|
||||
url: https://github.com/benphelps/homepage/discussions
|
||||
url: https://github.com/gethomepage/homepage/discussions
|
||||
about: This issue tracker is for bugs only, not general support questions. Please refer to our Discussions.
|
||||
- name: 💬 Chat
|
||||
url: https://discord.gg/k4ruYNrudu
|
||||
about: Want to discuss homepage with others? Check out our chat.
|
||||
- name: 🚀 Feature Request
|
||||
url: https://github.com/benphelps/homepage/discussions/new?category=feature-requests
|
||||
url: https://github.com/gethomepage/homepage/discussions/new?category=feature-requests
|
||||
about: Remember to search for existing feature requests and "up-vote" any you like
|
||||
|
||||
4
.github/workflows/docker-publish.yml
vendored
4
.github/workflows/docker-publish.yml
vendored
@@ -20,6 +20,7 @@ on:
|
||||
paths-ignore:
|
||||
- 'docs/**'
|
||||
- 'mkdocs.yml'
|
||||
merge_group:
|
||||
|
||||
env:
|
||||
# Use docker.io for Docker Hub if empty
|
||||
@@ -31,7 +32,7 @@ env:
|
||||
jobs:
|
||||
build:
|
||||
name: Docker Build & Push
|
||||
if: github.repository == 'benphelps/homepage'
|
||||
if: github.repository == 'gethomepage/homepage'
|
||||
runs-on: self-hosted
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -105,7 +106,6 @@ jobs:
|
||||
BUILDTIME=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }}
|
||||
VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }}
|
||||
REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}
|
||||
DEPRECATED_REPO=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.source'] == 'https://github.com/benphelps/homepage' }}
|
||||
# https://github.com/docker/setup-qemu-action#about
|
||||
# platforms: linux/amd64,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,linux/386,linux/mips64le,linux/mips64,linux/arm/v7,linux/arm/v6
|
||||
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6
|
||||
|
||||
5
.github/workflows/docs-publish.yml
vendored
5
.github/workflows/docs-publish.yml
vendored
@@ -11,6 +11,7 @@ on:
|
||||
paths:
|
||||
- 'docs/**'
|
||||
- 'mkdocs.yml'
|
||||
merge_group:
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
@@ -19,7 +20,7 @@ permissions:
|
||||
jobs:
|
||||
test:
|
||||
name: Test Build
|
||||
if: github.repository == 'benphelps/homepage' && github.event_name == 'pull_request'
|
||||
if: github.repository == 'gethomepage/homepage' && github.event_name == 'pull_request'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -40,7 +41,7 @@ jobs:
|
||||
run: MKINSIDERS=false mkdocs build
|
||||
deploy:
|
||||
name: Build & Deploy
|
||||
if: github.repository == 'benphelps/homepage' && github.event_name != 'pull_request'
|
||||
if: github.repository == 'gethomepage/homepage' && github.event_name != 'pull_request'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
@@ -13,8 +13,8 @@ We use github to host code, to track issues and feature requests, as well as acc
|
||||
## Any contributions you make will be under the GNU General Public License v3.0
|
||||
In short, when you submit code changes, your submissions are understood to be under the same [GNU General Public License v3.0](https://choosealicense.com/licenses/gpl-3.0/) that covers the project. Feel free to contact the maintainers if that's a concern.
|
||||
|
||||
## Report bugs using Github's [issues](https://github.com/benphelps/homepage/issues)
|
||||
We use GitHub issues to track public bugs. Report a bug by [opening a new issue](https://github.com/benphelps/homepage/issues/new); it's that easy!
|
||||
## Report bugs using Github's [issues](https://github.com/gethomepage/homepage/issues)
|
||||
We use GitHub issues to track public bugs. Report a bug by [opening a new issue](https://github.com/gethomepage/homepage/issues/new); it's that easy!
|
||||
|
||||
## Write bug reports with detail, background, and sample configurations
|
||||
Homepage includes a lot of configuration options and is often deploying in larger systems. Please include as much information (configurations, deployment method, Docker & API versions, etc) as you can when reporting an issue.
|
||||
|
||||
@@ -23,7 +23,6 @@ WORKDIR /app
|
||||
ARG BUILDTIME
|
||||
ARG VERSION
|
||||
ARG REVISION
|
||||
ARG DEPRECATED_REPO
|
||||
|
||||
COPY --link --from=deps /app/node_modules ./node_modules/
|
||||
COPY . .
|
||||
@@ -31,15 +30,15 @@ COPY . .
|
||||
SHELL ["/bin/ash", "-xeo", "pipefail", "-c"]
|
||||
RUN npm run telemetry \
|
||||
&& mkdir config \
|
||||
&& NEXT_PUBLIC_BUILDTIME=$BUILDTIME NEXT_PUBLIC_VERSION=$VERSION NEXT_PUBLIC_REVISION=$REVISION NEXT_PUBLIC_DEPRECATED_REPO=$DEPRECATED_REPO npm run build
|
||||
&& NEXT_PUBLIC_BUILDTIME=$BUILDTIME NEXT_PUBLIC_VERSION=$VERSION NEXT_PUBLIC_REVISION=$REVISION npm run build
|
||||
|
||||
# Production image, copy all the files and run next
|
||||
FROM docker.io/node:18-alpine AS runner
|
||||
LABEL org.opencontainers.image.title "Homepage"
|
||||
LABEL org.opencontainers.image.description "A self-hosted services landing page, with docker and service integrations."
|
||||
LABEL org.opencontainers.image.url="https://github.com/benphelps/homepage"
|
||||
LABEL org.opencontainers.image.documentation='https://github.com/benphelps/homepage/wiki'
|
||||
LABEL org.opencontainers.image.source='https://github.com/benphelps/homepage'
|
||||
LABEL org.opencontainers.image.url="https://github.com/gethomepage/homepage"
|
||||
LABEL org.opencontainers.image.documentation='https://github.com/gethomepage/homepage/wiki'
|
||||
LABEL org.opencontainers.image.source='https://github.com/gethomepage/homepage'
|
||||
LABEL org.opencontainers.image.licenses='Apache-2.0'
|
||||
|
||||
ENV NODE_ENV production
|
||||
|
||||
12
README.md
12
README.md
@@ -14,7 +14,7 @@
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/benphelps/homepage/actions/workflows/docker-publish.yml"><img alt="GitHub Workflow Status (with event)" src="https://img.shields.io/github/actions/workflow/status/benphelps/homepage/docker-publish.yml"></a>
|
||||
<a href="https://github.com/gethomepage/homepage/actions/workflows/docker-publish.yml"><img alt="GitHub Workflow Status (with event)" src="https://img.shields.io/github/actions/workflow/status/gethomepage/homepage/docker-publish.yml"></a>
|
||||
|
||||
<a href="https://hosted.weblate.org/engage/homepage/"><img src="https://hosted.weblate.org/widgets/homepage/-/homepage/svg-badge.svg" alt="Weblate"></a>
|
||||
|
||||
@@ -65,7 +65,7 @@ Using docker compose:
|
||||
version: "3.3"
|
||||
services:
|
||||
homepage:
|
||||
image: ghcr.io/benphelps/homepage:latest
|
||||
image: ghcr.io/gethomepage/homepage:latest
|
||||
container_name: homepage
|
||||
environment:
|
||||
PUID: 1000 -- optional, your user id
|
||||
@@ -88,7 +88,7 @@ docker run --name homepage \
|
||||
-v /path/to/config:/app/config \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock:ro \
|
||||
--restart unless-stopped \
|
||||
ghcr.io/benphelps/homepage:latest
|
||||
ghcr.io/gethomepage/homepage:latest
|
||||
```
|
||||
|
||||
## With Node
|
||||
@@ -96,7 +96,7 @@ docker run --name homepage \
|
||||
First, clone the repository:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/benphelps/homepage.git
|
||||
git clone https://github.com/gethomepage/homepage.git
|
||||
```
|
||||
|
||||
Then install dependencies and build the production bundle (I'm using pnpm here, you can use npm or yarn if you like):
|
||||
@@ -158,9 +158,9 @@ mkdocs serve # or build, to build the static site
|
||||
|
||||
# Support & Suggestions
|
||||
|
||||
If you have any questions, suggestions, or general issues, please start a discussion on the [Discussions](https://github.com/benphelps/homepage/discussions) page.
|
||||
If you have any questions, suggestions, or general issues, please start a discussion on the [Discussions](https://github.com/gethomepage/homepage/discussions) page.
|
||||
|
||||
For bug reports, please open an issue on the [Issues](https://github.com/benphelps/homepage/issues) page.
|
||||
For bug reports, please open an issue on the [Issues](https://github.com/gethomepage/homepage/issues) page.
|
||||
|
||||
## Contributing & Contributers
|
||||
|
||||
|
||||
3
crowdin.yml
Normal file
3
crowdin.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
files:
|
||||
- source: /public/locales/en/*.json
|
||||
translation: /public/locales/%osx_locale%/%original_file_name%
|
||||
@@ -49,7 +49,7 @@ dockerproxy:
|
||||
restart: unless-stopped
|
||||
|
||||
homepage:
|
||||
image: ghcr.io/benphelps/homepage:latest
|
||||
image: ghcr.io/gethomepage/homepage:latest
|
||||
container_name: homepage
|
||||
volumes:
|
||||
- /path/to/config:/app/config
|
||||
@@ -76,7 +76,7 @@ If you'd rather use the socket directly, first make sure that you're passing the
|
||||
|
||||
```yaml
|
||||
homepage:
|
||||
image: ghcr.io/benphelps/homepage:latest
|
||||
image: ghcr.io/gethomepage/homepage:latest
|
||||
container_name: homepage
|
||||
volumes:
|
||||
- /path/to/config:/app/config
|
||||
|
||||
@@ -121,7 +121,7 @@ Services may have an optional `ping` property that allows you to monitor the ava
|
||||
ping: http://some.other.host/
|
||||
```
|
||||
|
||||
<img width="1038" alt="Ping" src="https://github.com/benphelps/homepage/assets/88257202/7bc13bd3-0d0b-44e3-888c-a20e069a3233">
|
||||
<img width="1038" alt="Ping" src="https://github.com/gethomepage/homepage/assets/88257202/7bc13bd3-0d0b-44e3-888c-a20e069a3233">
|
||||
|
||||
You can also apply different styles to the ping indicator by using the `statusStyle` property, see [settings](settings.md#status-style).
|
||||
|
||||
@@ -145,7 +145,7 @@ Services may be connected to a Docker container, either running on the local mac
|
||||
container: other-container
|
||||
```
|
||||
|
||||
<img width="1038" alt="Service Containers" src="https://github.com/benphelps/homepage/assets/88257202/4c685783-52c6-4e55-afb3-affe9baac09b">
|
||||
<img width="1038" alt="Service Containers" src="https://github.com/gethomepage/homepage/assets/88257202/4c685783-52c6-4e55-afb3-affe9baac09b">
|
||||
|
||||
**Clicking on the status label of a service with Docker integration enabled will expand the container stats, where you can see CPU, Memory, and Network activity.**
|
||||
|
||||
@@ -153,7 +153,7 @@ Services may be connected to a Docker container, either running on the local mac
|
||||
|
||||
This can also be controlled with `showStats`. See [show docker stats](docker.md#show-docker-stats) for more information
|
||||
|
||||
<img width="1038" alt="Docker Stats Expanded" src="https://github.com/benphelps/homepage/assets/88257202/f95fd595-449e-48ae-af67-fd89618904ec">
|
||||
<img width="1038" alt="Docker Stats Expanded" src="https://github.com/gethomepage/homepage/assets/88257202/f95fd595-449e-48ae-af67-fd89618904ec">
|
||||
|
||||
## Service Integrations
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ Using docker compose:
|
||||
version: "3.3"
|
||||
services:
|
||||
homepage:
|
||||
image: ghcr.io/benphelps/homepage:latest
|
||||
image: ghcr.io/gethomepage/homepage:latest
|
||||
container_name: homepage
|
||||
ports:
|
||||
- 3000:3000
|
||||
@@ -30,7 +30,7 @@ In the docker compose example below, the environment variables `$PUID` and `$PGI
|
||||
version: "3.3"
|
||||
services:
|
||||
homepage:
|
||||
image: ghcr.io/benphelps/homepage:latest
|
||||
image: ghcr.io/gethomepage/homepage:latest
|
||||
container_name: homepage
|
||||
ports:
|
||||
- 3000:3000
|
||||
@@ -45,7 +45,7 @@ services:
|
||||
### With Docker Run
|
||||
|
||||
```bash
|
||||
docker run -p 3000:3000 -v /path/to/config:/app/config -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/benphelps/homepage:latest
|
||||
docker run -p 3000:3000 -v /path/to/config:/app/config -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/gethomepage/homepage:latest
|
||||
```
|
||||
|
||||
### Using Environment Secrets
|
||||
|
||||
@@ -291,7 +291,7 @@ spec:
|
||||
enableServiceLinks: true
|
||||
containers:
|
||||
- name: homepage
|
||||
image: "ghcr.io/benphelps/homepage:latest"
|
||||
image: "ghcr.io/gethomepage/homepage:latest"
|
||||
imagePullPolicy: Always
|
||||
ports:
|
||||
- name: http
|
||||
|
||||
@@ -6,7 +6,7 @@ description: Install and run homepage from source
|
||||
First, clone the repository:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/benphelps/homepage.git
|
||||
git clone https://github.com/gethomepage/homepage.git
|
||||
```
|
||||
|
||||
Then install dependencies and build the production bundle (I'm using pnpm here, you can use npm or yarn if you like):
|
||||
|
||||
@@ -3,6 +3,6 @@ title: Homepage Move
|
||||
description: Homepage Container Deprecation
|
||||
---
|
||||
|
||||
As of v0.7.1 homepage migrated from benphelps/homepage to an "orgnization" located at gethomepage/homepage. The reason for this is to setup the project for longevity and allow for community maintenance.
|
||||
As of v0.7.2 homepage migrated from benphelps/homepage to an "organization" repository located at [gethomepage/homepage](https://github.com/gethomepage/homepage/). The reason for this was to setup the project for longevity and allow for community maintenance.
|
||||
|
||||
Migrating your installation should be as simple as changing `image: ghcr.io/benphelps/homepage:latest` to `image: ghcr.io/gethomepage/homepage:latest`.
|
||||
@@ -3,7 +3,7 @@ title: Glances
|
||||
description: Glances Widget Configuration
|
||||
---
|
||||
|
||||
<img width="1614" alt="glances" src="https://github.com/benphelps/homepage-docs/assets/82196/25648c97-2c1b-4db0-b5a5-f1509806079c">
|
||||
<img width="1614" alt="glances" src="https://github.com/gethomepage/homepage-docs/assets/82196/25648c97-2c1b-4db0-b5a5-f1509806079c">
|
||||
|
||||
_(Find the Glances information widget [here](../info/glances.md))_
|
||||
|
||||
@@ -59,7 +59,7 @@ The metric field in the configuration determines the type of system monitoring d
|
||||
|
||||
All widgets offer an alternative to the full or "graph" view, which is the compact, or "graphless" view.
|
||||
|
||||
<img width="970" alt="Screenshot 2023-09-06 at 1 51 48 PM" src="https://github.com/benphelps/homepage-docs/assets/82196/cc6b9adc-4218-4274-96ca-36c3e64de5d0">
|
||||
<img width="970" alt="Screenshot 2023-09-06 at 1 51 48 PM" src="https://github.com/gethomepage/homepage-docs/assets/82196/cc6b9adc-4218-4274-96ca-36c3e64de5d0">
|
||||
|
||||
To switch to the alternative "graphless" view, simply passs `chart: false` as an option to the widget, like so:
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Gluetun
|
||||
description: Gluetun Widget Configuration
|
||||
---
|
||||
|
||||
Requires [HTTP control server options](https://github.com/qdm12/gluetun/wiki/HTTP-control-server-options) to be enabled.
|
||||
Requires [HTTP control server options](https://github.com/qdm12/gluetun-wiki/blob/main/setup/advanced/control-server.md) to be enabled.
|
||||
|
||||
Allowed fields: `["public_ip", "region", "country"]`.
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ title: MJPEG
|
||||
description: MJPEG Stream Widget Configuration
|
||||
---
|
||||
|
||||

|
||||

|
||||
|
||||
Pass the stream URL from a service like [µStreamer](https://github.com/pikvm/ustreamer) or [camera-streamer](https://github.com/ayufan/camera-streamer).
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Syncthing Relay Server
|
||||
description: Syncthing Relay Server Widget Configuration
|
||||
---
|
||||
|
||||
Pulls stats from the [relay server](https://docs.syncthing.net/users/strelaysrv.html). [See here](https://github.com/benphelps/homepage/pull/230#issuecomment-1253053472) for more information on configuration.
|
||||
Pulls stats from the [relay server](https://docs.syncthing.net/users/strelaysrv.html). [See here](https://github.com/gethomepage/homepage/pull/230#issuecomment-1253053472) for more information on configuration.
|
||||
|
||||
Allowed fields: `["numActiveSessions", "numConnections", "bytesProxied"]`.
|
||||
|
||||
|
||||
11
mkdocs.yml
11
mkdocs.yml
@@ -4,9 +4,9 @@ site_name: homepage
|
||||
site_url: https://gethomepage.dev/
|
||||
|
||||
# Repository
|
||||
repo_name: benphelps/homepage
|
||||
repo_url: https://github.com/benphelps/homepage
|
||||
edit_uri: https://github.com/benphelps/homepage/tree/main/docs/
|
||||
repo_name: gethomepage/homepage
|
||||
repo_url: https://github.com/gethomepage/homepage
|
||||
edit_uri: https://github.com/gethomepage/homepage/tree/main/docs/
|
||||
|
||||
nav:
|
||||
- "Home":
|
||||
@@ -149,6 +149,7 @@ nav:
|
||||
- more/index.md
|
||||
- more/development.md
|
||||
- more/translations.md
|
||||
- more/homepage-move.md
|
||||
|
||||
theme:
|
||||
name: material
|
||||
@@ -196,9 +197,9 @@ extra:
|
||||
- icon: fontawesome/brands/discord
|
||||
link: https://discord.gg/k4ruYNrudu
|
||||
- icon: fontawesome/regular/message
|
||||
link: https://github.com/benphelps/homepage/discussions
|
||||
link: https://github.com/gethomepage/homepage/discussions
|
||||
- icon: fontawesome/brands/github
|
||||
link: https://github.com/benphelps/homepage
|
||||
link: https://github.com/gethomepage/homepage
|
||||
|
||||
markdown_extensions:
|
||||
- pymdownx.highlight:
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "خطأ",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "إجتاز",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"ping": "Ping",
|
||||
"error": "Грешка"
|
||||
"error": "Грешка",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Aprobat",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Chyba",
|
||||
"ping": "Odezva"
|
||||
"ping": "Odezva",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Úspěšné",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Fejl",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Bestået",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"ping": "Ping",
|
||||
"error": "Fehler"
|
||||
"error": "Fehler",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Bestanden",
|
||||
|
||||
@@ -136,7 +136,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Σφάλμα",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Παίζει",
|
||||
|
||||
@@ -79,10 +79,12 @@
|
||||
"partial": "Partial"
|
||||
},
|
||||
"ping": {
|
||||
"http_status": "HTTP status",
|
||||
"error": "Error",
|
||||
"ping": "Ping",
|
||||
"down": "Down",
|
||||
"up": "Up"
|
||||
"up": "Up",
|
||||
"not_available": "Not Available"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Playing",
|
||||
|
||||
@@ -67,7 +67,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Eraro",
|
||||
"ping": "Sondaĵo"
|
||||
"ping": "Sondaĵo",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Ludante",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Aprobado",
|
||||
|
||||
@@ -140,7 +140,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Errorea",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Playing",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Erreur",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Réussi",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Greška",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Uspjelo",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Hiba",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Megfelelt",
|
||||
|
||||
@@ -610,7 +610,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Playing",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Errore",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passati",
|
||||
|
||||
@@ -117,7 +117,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "エラー",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "再生中",
|
||||
|
||||
@@ -85,7 +85,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "오류",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "재생 중",
|
||||
|
||||
@@ -71,7 +71,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Kļūda",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Atskaņo",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Ralat",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Lulus",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Fout",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Gepasseerd",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Błąd",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Powodzenie",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Erro",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passou",
|
||||
|
||||
@@ -395,7 +395,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Erro",
|
||||
"ping": "Tempo de resposta"
|
||||
"ping": "Tempo de resposta",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Aprovado",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Ошибка",
|
||||
"ping": "Пинг"
|
||||
"ping": "Пинг",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"failed": "Неудачно",
|
||||
|
||||
@@ -195,7 +195,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Chyba",
|
||||
"ping": "Odozva"
|
||||
"ping": "Odozva",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Prehrávané",
|
||||
|
||||
@@ -152,7 +152,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Napaka",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Predvaja",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
|
||||
@@ -107,7 +107,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "ข้อผิดพลาด",
|
||||
"ping": "ปิง"
|
||||
"ping": "ปิง",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "กำลังเล่น",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Hata",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Geçti",
|
||||
|
||||
@@ -172,7 +172,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Помилка",
|
||||
"ping": "Пінг"
|
||||
"ping": "Пінг",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Відтворення",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "错误",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "通过",
|
||||
|
||||
@@ -382,7 +382,9 @@
|
||||
},
|
||||
"ping": {
|
||||
"error": "錯誤",
|
||||
"ping": "Ping"
|
||||
"ping": "Ping",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "通過",
|
||||
|
||||
@@ -77,7 +77,7 @@ export default function Item({ service, group }) {
|
||||
</div>
|
||||
)}
|
||||
|
||||
<div className={`absolute top-0 right-0 flex flex-row justify-end ${statusStyle === 'dot' ? 'gap-0' : 'gap-2'} mr-2 z-30 service-tags`}>
|
||||
<div className={`absolute top-0 right-0 flex flex-row justify-end ${statusStyle === 'dot' ? 'gap-0' : 'gap-2 mr-2'} z-30 service-tags`}>
|
||||
{service.ping && (
|
||||
<div className="flex-shrink-0 flex items-center justify-center service-tag service-ping">
|
||||
<Ping group={group} service={service.name} style={statusStyle} />
|
||||
|
||||
@@ -8,7 +8,7 @@ export default function KubernetesStatus({ service, style }) {
|
||||
let statusLabel = t("docker.unknown");
|
||||
let statusTitle = "";
|
||||
let backgroundClass = "px-1.5 py-0.5 bg-theme-500/10 dark:bg-theme-900/50";
|
||||
let colorClass = "text-black/20 dark:text-white/40 ";
|
||||
let colorClass = "text-black/20 dark:text-white/40 opacity-20";
|
||||
|
||||
if (error) {
|
||||
statusTitle = t("docker.error");
|
||||
@@ -29,8 +29,8 @@ export default function KubernetesStatus({ service, style }) {
|
||||
}
|
||||
|
||||
if (style === 'dot') {
|
||||
colorClass = colorClass.replace('text-', 'bg-').replace(/\/\d\d$/, '');
|
||||
backgroundClass = "p-3 hover:bg-theme-500/10 dark:hover:bg-theme-900/20";
|
||||
colorClass = colorClass.replace(/text-/g, 'bg-').replace(/\/\d\d/g, '');
|
||||
backgroundClass = "p-4 hover:bg-theme-500/10 dark:hover:bg-theme-900/20";
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@@ -7,44 +7,43 @@ export default function Ping({ group, service, style }) {
|
||||
refreshInterval: 30000
|
||||
});
|
||||
|
||||
let colorClass = ""
|
||||
let colorClass = "text-black/20 dark:text-white/40 opacity-20";
|
||||
let backgroundClass = "bg-theme-500/10 dark:bg-theme-900/50 px-1.5 py-0.5";
|
||||
let statusTitle = "HTTP status";
|
||||
let statusText;
|
||||
let statusTitle = t("ping.http_status");
|
||||
let statusText = "";
|
||||
|
||||
if (error) {
|
||||
colorClass = "text-rose-500"
|
||||
statusText = t("ping.error")
|
||||
statusTitle += " error"
|
||||
colorClass = "text-rose-500";
|
||||
statusText = t("ping.error");
|
||||
statusTitle += ` ${t("ping.error")}`;
|
||||
} else if (!data) {
|
||||
colorClass = "text-black/20 dark:text-white/40"
|
||||
statusText = t("ping.ping")
|
||||
statusTitle += " not available"
|
||||
statusText = t("ping.ping");
|
||||
statusTitle += ` ${t("ping.not_available")}`;
|
||||
} else if (data.status > 403) {
|
||||
colorClass = "text-rose-500/80"
|
||||
statusTitle += ` ${data.status}`
|
||||
colorClass = "text-rose-500/80";
|
||||
statusTitle += ` ${data.status}`;
|
||||
|
||||
if (style === "basic") {
|
||||
statusText = t("ping.down")
|
||||
statusText = t("ping.down");
|
||||
} else {
|
||||
statusText = data.status
|
||||
statusText = data.status;
|
||||
}
|
||||
} else {
|
||||
} else if (data) {
|
||||
const ping = t("common.ms", { value: data.latency, style: "unit", unit: "millisecond", maximumFractionDigits: 0 })
|
||||
statusTitle += ` ${data.status} (${ping})`;
|
||||
colorClass = "text-emerald-500/80"
|
||||
colorClass = "text-emerald-500/80";
|
||||
|
||||
if (style === "basic") {
|
||||
statusText = t("ping.up")
|
||||
statusText = t("ping.up");
|
||||
} else {
|
||||
statusText = ping
|
||||
colorClass += " lowercase"
|
||||
statusText = ping;
|
||||
colorClass += " lowercase";
|
||||
}
|
||||
}
|
||||
|
||||
if (style === "dot") {
|
||||
backgroundClass = 'p-3';
|
||||
colorClass = colorClass.replace('text-', 'bg-').replace(/\/\d\d$/, '');
|
||||
backgroundClass = 'p-4';
|
||||
colorClass = colorClass.replace(/text-/g, 'bg-').replace(/\/\d\d/g, '');
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@@ -46,7 +46,7 @@ export default function Status({ service, style }) {
|
||||
|
||||
if (style === 'dot') {
|
||||
colorClass = colorClass.replace('text-', 'bg-').replace(/\/\d\d$/, '');
|
||||
backgroundClass = "p-3 hover:bg-theme-500/10 dark:hover:bg-theme-900/20";
|
||||
backgroundClass = "p-4 hover:bg-theme-500/10 dark:hover:bg-theme-900/20";
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@@ -33,7 +33,7 @@ export default function Version() {
|
||||
</>
|
||||
) : (
|
||||
<a
|
||||
href={`https://github.com/benphelps/homepage/releases/tag/${version}`}
|
||||
href={`https://github.com/gethomepage/homepage/releases/tag/${version}`}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="ml-2 text-xs text-theme-500 dark:text-theme-400 flex flex-row items-center"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import cachedFetch from "utils/proxy/cached-fetch";
|
||||
|
||||
export default async function handler(req, res) {
|
||||
const releasesURL = "https://api.github.com/repos/benphelps/homepage/releases";
|
||||
const releasesURL = "https://api.github.com/repos/gethomepage/homepage/releases";
|
||||
return res.send(await cachedFetch(releasesURL, 5));
|
||||
}
|
||||
|
||||
@@ -27,7 +27,6 @@ import ErrorBoundary from "components/errorboundry";
|
||||
import themes from "utils/styles/themes";
|
||||
import QuickLaunch from "components/quicklaunch";
|
||||
import { getStoredProvider, searchProviders } from "components/widgets/search/search";
|
||||
import ResolvedIcon from "components/resolvedicon";
|
||||
|
||||
const ThemeToggle = dynamic(() => import("components/toggles/theme"), {
|
||||
ssr: false,
|
||||
@@ -168,17 +167,6 @@ const headerStyles = {
|
||||
boxedWidgets: "m-6 mb-0 sm:m-9 sm:mb-0 sm:mt-1",
|
||||
};
|
||||
|
||||
const deprecatedNotificationDismissedStorageKey = "deprecated-notification-dismissed";
|
||||
|
||||
const getNotificationDismissed = () => {
|
||||
if (typeof window !== "undefined" && window.localStorage) {
|
||||
const dismissed = window.localStorage.getItem(deprecatedNotificationDismissedStorageKey);
|
||||
return dismissed;
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
function Home({ initialSettings }) {
|
||||
const { i18n } = useTranslation();
|
||||
const { theme, setTheme } = useContext(ThemeContext);
|
||||
@@ -187,9 +175,6 @@ function Home({ initialSettings }) {
|
||||
const { activeTab, setActiveTab } = useContext(TabContext);
|
||||
const { asPath } = useRouter();
|
||||
|
||||
const isDeprecatedRepo = process.env.NEXT_PUBLIC_DEPRECATED_REPO;
|
||||
const [notificationDismissed, setNotificationDismissed] = useState(getNotificationDismissed);
|
||||
|
||||
useEffect(() => {
|
||||
setSettings(initialSettings);
|
||||
}, [initialSettings, setSettings]);
|
||||
@@ -198,7 +183,7 @@ function Home({ initialSettings }) {
|
||||
const { data: bookmarks } = useSWR("/api/bookmarks");
|
||||
const { data: widgets } = useSWR("/api/widgets");
|
||||
|
||||
const servicesAndBookmarks = [...services.map(sg => sg.services).flat(), ...bookmarks.map(bg => bg.bookmarks).flat()]
|
||||
const servicesAndBookmarks = [...services.map(sg => sg.services).flat(), ...bookmarks.map(bg => bg.bookmarks).flat()].filter(i => i?.href);
|
||||
|
||||
useEffect(() => {
|
||||
if (settings.language) {
|
||||
@@ -435,23 +420,6 @@ function Home({ initialSettings }) {
|
||||
</div>
|
||||
|
||||
<div id="version" className="flex mt-4 w-full justify-end">
|
||||
{isDeprecatedRepo && !notificationDismissed && // outside version in case its hidden
|
||||
<div className="flex flex-row items-center py-1 pl-2 mr-3 rounded-md text-xs text-theme-700 dark:text-theme-200 dark:hover:text-theme-300 shadow-md shadow-theme-900/10 dark:shadow-theme-900/20 bg-rose-900/80">
|
||||
<a className="italic flex flex-row items-center" href="https://gethomepage.dev/latest/more/homepage-move/" title="Read more..." target="_blank" rel="noreferrer">
|
||||
<span className="inline-block flex-shrink-0 mr-1 w-3 h-3">
|
||||
<ResolvedIcon icon="mdi-alert" />
|
||||
</span>
|
||||
Homepage has moved!
|
||||
</a>
|
||||
<button type="button" className="ml-2 w-4 h-4 mr-1" title="Hide this notification"
|
||||
onClick={() => {
|
||||
setNotificationDismissed(true);
|
||||
localStorage.setItem(deprecatedNotificationDismissedStorageKey, true);
|
||||
}}>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"><path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"/></svg>
|
||||
</button>
|
||||
</div>
|
||||
}
|
||||
{!settings.hideVersion && <Version />}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -75,7 +75,7 @@ export function getSettings() {
|
||||
|
||||
if (initialSettings.layout) {
|
||||
// support yaml list but old spec was object so convert to that
|
||||
// see https://github.com/benphelps/homepage/issues/1546
|
||||
// see https://github.com/gethomepage/homepage/issues/1546
|
||||
if (Array.isArray(initialSettings.layout)) {
|
||||
const layoutItems = initialSettings.layout
|
||||
initialSettings.layout = {}
|
||||
|
||||
@@ -24,7 +24,7 @@ async function fetchFromPyloadAPI(url, sessionId, params, service) {
|
||||
},
|
||||
};
|
||||
|
||||
// see https://github.com/benphelps/homepage/issues/517
|
||||
// see https://github.com/gethomepage/homepage/issues/517
|
||||
const isNg = cache.get(`${isNgCacheKey}.${service}`);
|
||||
if (isNg && !params) {
|
||||
delete options.body;
|
||||
@@ -50,7 +50,7 @@ async function login(loginUrl, service, username, password = '') {
|
||||
if (status !== 200 || sessionId === false) {
|
||||
logger.error(`HTTP ${status} logging into Pyload API, returned: ${JSON.stringify(sessionId)}`);
|
||||
} else if (responseHeaders['set-cookie']?.join().includes('pyload_session')) {
|
||||
// Support pyload-ng, see https://github.com/benphelps/homepage/issues/517
|
||||
// Support pyload-ng, see https://github.com/gethomepage/homepage/issues/517
|
||||
cache.put(`${isNgCacheKey}.${service}`, true);
|
||||
const sessionCookie = responseHeaders['set-cookie'][0];
|
||||
cache.put(`${sessionCacheKey}.${service}`, sessionCookie, 60 * 60 * 23 * 1000); // cache for 23h
|
||||
|
||||
@@ -70,5 +70,8 @@ module.exports = {
|
||||
'lg:grid-cols-6',
|
||||
'lg:grid-cols-7',
|
||||
'lg:grid-cols-8',
|
||||
'bg-white',
|
||||
'bg-black',
|
||||
'dark:bg-white',
|
||||
],
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user