21 Commits

Author SHA1 Message Date
renovate-bot 02887935a7 Update bun minor+patch updates
Lint / lint (push) Failing after 7s
Build / build (pull_request) Failing after 19s
2025-10-16 12:01:45 +00:00
Julien Valverdé 76ac4317f3 Cleanup
Lint / lint (push) Failing after 12s
2025-10-16 04:35:40 +02:00
Julien Valverdé 1b1f88cf76 Add 98.css
Lint / lint (push) Failing after 14s
2025-10-16 04:32:26 +02:00
Julien Valverdé 64a564b6cc Update color scheme
Lint / lint (push) Successful in 13s
2025-10-16 03:13:40 +02:00
renovate-bot 4ad043db82 Update docker minor+patch+digest updates (#37)
Lint / lint (push) Successful in 15s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `ae81713` -> `4b9b945` |
| [prom/prometheus](https://github.com/prometheus/prometheus) | minor | `v3.6.0` -> `v3.7.0` |

---

### Release Notes

<details>
<summary>prometheus/prometheus (prom/prometheus)</summary>

### [`v3.7.0`](https://github.com/prometheus/prometheus/releases/tag/v3.7.0): 3.7.0 / 2025-10-15

[Compare Source](https://github.com/prometheus/prometheus/compare/v3.6.0...v3.7.0)

- \[CHANGE] Remote-write: the following metrics are deprecated:
  - `prometheus_remote_storage_samples_in_total`, use `prometheus_wal_watcher_records_read_total{type="samples"}` and `prometheus_remote_storage_samples_dropped_total` instead,
  - `prometheus_remote_storage_histograms_in_total`, use `prometheus_wal_watcher_records_read_total{type=~".*histogram_samples"}` and `prometheus_remote_storage_histograms_dropped_total` instead,
  - `prometheus_remote_storage_exemplars_in_total`, use `prometheus_wal_watcher_records_read_total{type="exemplars"}` and `prometheus_remote_storage_exemplars_dropped_total` instead,
  - `prometheus_remote_storage_highest_timestamp_in_seconds`, use the more accurate `prometheus_remote_storage_queue_highest_timestamp_seconds` instead in dashboards and alerts to properly account for relabeling and for more accuracy. [#&#8203;17065](https://github.com/prometheus/prometheus/issues/17065)
- \[FEATURE] PromQL: Add support for experimental anchored and smoothed rate behind feature flag `promql-extended-range-selectors`. [#&#8203;16457](https://github.com/prometheus/prometheus/issues/16457)
- \[FEATURE] Federation: Add support for native histograms with custom buckets (NHCB). [#&#8203;17215](https://github.com/prometheus/prometheus/issues/17215)
- \[FEATURE] PromQL: Add `first_over_time(...)` and `ts_of_first_over_time(...)` behind feature flag `experimental-promql-functions`. [#&#8203;16963](https://github.com/prometheus/prometheus/issues/16963) [#&#8203;17021](https://github.com/prometheus/prometheus/issues/17021)
- \[FEATURE] Remote-write: Add support for Azure Workload Identity as an authentication method for the receiver. [#&#8203;16788](https://github.com/prometheus/prometheus/issues/16788)
- \[FEATURE] Remote-write: Add type and unit labels to outgoing time series in remote-write 2.0 when the `type-and-unit-labels` feature flag is enabled. [#&#8203;17033](https://github.com/prometheus/prometheus/issues/17033)
- \[FEATURE] OTLP: Write start time of metrics as created time zero samples into TSDB when `created-timestamp-zero-ingestion` feature flag is enabled. [#&#8203;16951](https://github.com/prometheus/prometheus/issues/16951)
- \[ENHANCEMENT] PromQL: Add warn-level annotations for counter reset conflicts in certain histogram operations. [#&#8203;17051](https://github.com/prometheus/prometheus/issues/17051) [#&#8203;17094](https://github.com/prometheus/prometheus/issues/17094)
- \[ENHANCEMENT] UI: Add scrape interval and scrape timeout to targets page. [#&#8203;17158](https://github.com/prometheus/prometheus/issues/17158)
- \[ENHANCEMENT] TSDB: Reduce the resolution of native histograms read from chunks or remote read if the schema is exponential. [#&#8203;17213](https://github.com/prometheus/prometheus/issues/17213)
- \[ENHANCEMENT] Remote write: Add logging for unexpected metadata in sample batches, when metadata entries are found in samples-only batches. [#&#8203;17034](https://github.com/prometheus/prometheus/issues/17034) [#&#8203;17082](https://github.com/prometheus/prometheus/issues/17082)
- \[ENHANCEMENT] Rules: Support concurrent evaluation for rules querying `ALERTS` and `ALERTS_FOR_STATE`. [#&#8203;17064](https://github.com/prometheus/prometheus/issues/17064)
- \[ENHANCEMENT] TSDB: Add logs to improve visibility into internal operations. [#&#8203;17074](https://github.com/prometheus/prometheus/issues/17074)
- \[PERF] OTLP: Write directly to TSDB instead of passing through a Remote-Write adapter when receiving OTLP metrics. [#&#8203;16951](https://github.com/prometheus/prometheus/issues/16951)
- \[PERF] OTLP: Reduce number of logs emitted from OTLP endpoint. No need to log duplicate sample errors. [#&#8203;17201](https://github.com/prometheus/prometheus/issues/17201)
- \[PERF] PromQL: Move more work to preprocessing step. [#&#8203;16896](https://github.com/prometheus/prometheus/issues/16896)
- \[PERF] PromQL: Reduce allocations when walking the syntax tree. [#&#8203;16593](https://github.com/prometheus/prometheus/issues/16593)
- \[PERF] TSDB: Optimize appender creation, slightly speeding up startup. [#&#8203;16922](https://github.com/prometheus/prometheus/issues/16922)
- \[PERF] TSDB: Improve speed of querying a series with multiple matchers. [#&#8203;13971](https://github.com/prometheus/prometheus/issues/13971)
- \[BUGFIX] Alerting: Mutating alerts relabeling (using `replace` actions, etc.) within a `alertmanager_config.alert_relabel_configs` block is now scoped correctly and no longer yields altered alerts to subsequent blocks. [#&#8203;17063](https://github.com/prometheus/prometheus/issues/17063)
- \[BUGFIX] Config: Infer valid escaping scheme when scrape config validation scheme is set. [#&#8203;16923](https://github.com/prometheus/prometheus/issues/16923)
- \[BUGFIX] TSDB: Correctly handle appending mixed-typed samples to the same series. [#&#8203;17071](https://github.com/prometheus/prometheus/issues/17071) [#&#8203;17241](https://github.com/prometheus/prometheus/issues/17241) [#&#8203;17290](https://github.com/prometheus/prometheus/issues/17290) [#&#8203;17295](https://github.com/prometheus/prometheus/issues/17295) [#&#8203;17296](https://github.com/prometheus/prometheus/issues/17296)
- \[BUGFIX] Remote-write: Prevent sending unsupported native histograms with custom buckets (NHCB) over Remote-write 1.0, log warning. [#&#8203;17146](https://github.com/prometheus/prometheus/issues/17146)
- \[BUGFIX] TSDB: Fix metadata entries handling on `metadata-wal-records` experimental feature for native histograms with custom buckets (NHCB) in protobuf scraping. [#&#8203;17156](https://github.com/prometheus/prometheus/issues/17156)
- \[BUGFIX] TSDB: Ignore Native Histograms with invalid schemas during WAL/WBL replay. [#&#8203;17214](https://github.com/prometheus/prometheus/issues/17214)
- \[BUGFIX] PromQL: Avoid empty metric names in annotations for `histogram_quantile()`. [#&#8203;16794](https://github.com/prometheus/prometheus/issues/16794)
- \[BUGFIX] PromQL: Correct inaccurate character positions in errors for some aggregate expressions. [#&#8203;16996](https://github.com/prometheus/prometheus/issues/16996) [#&#8203;17031](https://github.com/prometheus/prometheus/issues/17031)
- \[BUGFIX] PromQL: Fix `info()` function on churning series. [#&#8203;17135](https://github.com/prometheus/prometheus/issues/17135)
- \[BUGFIX] PromQL: Set native histogram to gauge type when subtracting or multiplying/dividing with negative factors. [#&#8203;17004](https://github.com/prometheus/prometheus/issues/17004)
- \[BUGFIX] TSDB: Reject unsupported native histogram schemas when attempting to append to TSDB. For scrape and remote-write implement reducing the resolution to fit the maximum if the schema is within the -9 to 52. [#&#8203;17189](https://github.com/prometheus/prometheus/issues/17189)
- \[BUGFIX] Remote-write: Fix HTTP handler to return after writing error response for invalid compression. [#&#8203;17050](https://github.com/prometheus/prometheus/issues/17050)
- \[BUGFIX] Remote-write: Return HTTP error `400` instead of `5xx` for wrongly formatted Native Histograms. [#&#8203;17210](https://github.com/prometheus/prometheus/issues/17210)
- \[BUGFIX] Scrape: Prevent staleness markers from generating unnecessary series. [#&#8203;16429](https://github.com/prometheus/prometheus/issues/16429)
- \[BUGFIX] TSDB: Avoid misleading `Failed to calculate size of \"wal\" dir` error logs during WAL clean-up. [#&#8203;17006](https://github.com/prometheus/prometheus/issues/17006)
- \[BUGFIX] TSDB: Prevent erroneously dropping series records during WAL checkpoints. [#&#8203;17029](https://github.com/prometheus/prometheus/issues/17029)
- \[BUGFIX] UI: Fix redirect to path of `-web.external-url` if `-web.route-prefix` is configured. [#&#8203;17240](https://github.com/prometheus/prometheus/issues/17240)
- \[BUGIFX] Remote-write: Do not panic on invalid symbol table in remote-write 2.0. [#&#8203;17160](https://github.com/prometheus/prometheus/issues/17160)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDkuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE0OS4xIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: https://git.valverde.cloud/Thilawyn/website/pulls/37
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
2025-10-15 19:28:18 +02:00
Julien Valverdé 4d22f8e46a Root work
Lint / lint (push) Successful in 42s
2025-10-15 03:19:42 +02:00
renovate-bot da1149eb23 Update grafana/tempo:latest Docker digest to ae81713 (#36)
Lint / lint (push) Failing after 12s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `06ebe79` -> `ae81713` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDguMyIsInVwZGF0ZWRJblZlciI6IjQxLjE0OC4zIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #36
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
2025-10-14 21:08:46 +02:00
Julien Valverdé b0408a8929 Fix i18n
Lint / lint (push) Has been cancelled
2025-10-14 21:08:27 +02:00
Julien Valverdé afabfc957b Work
Lint / lint (push) Failing after 12s
2025-10-14 06:13:36 +02:00
renovate-bot 8688604e13 Update grafana/tempo:latest Docker digest to 06ebe79 (#35)
Lint / lint (push) Successful in 13s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/tempo | digest | `850b64c` -> `06ebe79` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDYuNCIsInVwZGF0ZWRJblZlciI6IjQxLjE0Ni40IiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #35
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
2025-10-14 05:19:36 +02:00
Julien Valverdé 999fff8ddc Work
Lint / lint (push) Successful in 42s
2025-10-14 05:17:52 +02:00
Julien Valverdé eefb4481ec Work
Lint / lint (push) Successful in 42s
2025-10-13 06:04:10 +02:00
Julien Valverdé 26bc15c15b Regenerate lockfile
Lint / lint (push) Successful in 12s
2025-10-13 00:43:00 +02:00
renovate-bot d6ec4e9e46 Update docker minor+patch+digest updates (#34)
Lint / lint (push) Failing after 6s
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| grafana/tempo |  | digest | `6928536` -> `850b64c` |
| [oven/bun](https://github.com/oven-sh/bun) | stage | minor | `1.2.23` -> `1.3.0` |
| [oven/bun](https://github.com/oven-sh/bun) |  | minor | `1.2.23` -> `1.3.0` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDYuMCIsInVwZGF0ZWRJblZlciI6IjQxLjE0Ni4wIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #34
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
2025-10-13 00:18:04 +02:00
renovate-bot 9f9e62858d Update bun minor+patch updates (#31)
Lint / lint (push) Failing after 6s
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.42.0` -> `^0.44.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.42.0/0.44.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.42.0/0.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/exporter-trace-otlp-http](https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-trace-otlp-http) ([source](https://github.com/open-telemetry/opentelemetry-js)) | [`^0.205.0` -> `^0.206.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-trace-otlp-http/0.205.0/0.206.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-trace-otlp-http/0.206.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-trace-otlp-http/0.205.0/0.206.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [lucide-react](https://lucide.dev) ([source](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.544.0` -> `^0.545.0`](https://renovatebot.com/diffs/npm/lucide-react/0.544.0/0.545.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.545.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.544.0/0.545.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary>

### [`v0.44.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0440)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.43.2...v0.44.0)

##### Minor Changes

- [#&#8203;415](https://github.com/Effect-TS/language-service/pull/415) [`42c66a1`](https://github.com/Effect-TS/language-service/commit/42c66a12658d712671b482fdcce0c5b608171d4f) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `diagnosticsName` option to include rule names in diagnostic messages. When enabled (default: true), diagnostic messages will display the rule name at the end, e.g., "Effect must be yielded or assigned to a variable. effect(floatingEffect)"

### [`v0.43.2`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0432)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.43.1...v0.43.2)

##### Patch Changes

- [#&#8203;410](https://github.com/Effect-TS/language-service/pull/410) [`0b40c04`](https://github.com/Effect-TS/language-service/commit/0b40c04625cadc0a8dfc3b194daafea1f751a3b9) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Defer typescript loading in CLI

### [`v0.43.1`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0431)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.43.0...v0.43.1)

##### Patch Changes

- [#&#8203;408](https://github.com/Effect-TS/language-service/pull/408) [`9ccd800`](https://github.com/Effect-TS/language-service/commit/9ccd8007b338e0524e17d3061acb722ad5c0e87b) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix handling of leading/trailing slashes

### [`v0.43.0`](https://github.com/Effect-TS/language-service/blob/HEAD/CHANGELOG.md#0430)

[Compare Source](https://github.com/Effect-TS/language-service/compare/v0.42.0...v0.43.0)

##### Minor Changes

- [#&#8203;407](https://github.com/Effect-TS/language-service/pull/407) [`6590590`](https://github.com/Effect-TS/language-service/commit/6590590c0decd83f0baa4fd47655f0f67b6c5db9) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add deterministicKeys diagnostic to enforce consistent key patterns for Services and Errors

  This new diagnostic helps maintain consistent and unique keys for Effect Services and Tagged Errors by validating them against configurable patterns. The diagnostic is disabled by default and can be enabled via the `deterministicKeys` diagnosticSeverity setting.

  Two patterns are supported:

  - `default`: Constructs keys from package name + file path + class identifier (e.g., `@effect/package/FileName/ClassIdentifier`)
  - `package-identifier`: Uses package name + identifier for flat project structures

  Example configuration:

  ```jsonc
  {
    "diagnosticSeverity": {
      "deterministicKeys": "error"
    },
    "keyPatterns": [
      {
        "target": "service",
        "pattern": "default",
        "skipLeadingPath": ["src/"]
      }
    ]
  }
  ```

  The diagnostic also provides auto-fix code actions to update keys to match the configured patterns.

##### Patch Changes

- [#&#8203;405](https://github.com/Effect-TS/language-service/pull/405) [`f43b3ab`](https://github.com/Effect-TS/language-service/commit/f43b3ab32cad347fb2eb0af740771e35a6c7ff66) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix wrapWithEffectGen refactor not working on class heritage clauses

  The wrapWithEffectGen refactor now correctly skips expressions in heritage clauses (e.g., `extends` clauses in class declarations) to avoid wrapping them inappropriately.

</details>

<details>
<summary>open-telemetry/opentelemetry-js (@&#8203;opentelemetry/exporter-trace-otlp-http)</summary>

### [`v0.206.0`](https://github.com/open-telemetry/opentelemetry-js/compare/2d3760898cdc4f0e68f9f956603cc5df279eb3a8...8e9b8bb2a7a2d81ae0b5171efdf1644210697fa2)

[Compare Source](https://github.com/open-telemetry/opentelemetry-js/compare/2d3760898cdc4f0e68f9f956603cc5df279eb3a8...8e9b8bb2a7a2d81ae0b5171efdf1644210697fa2)

</details>

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

### [`v0.545.0`](https://github.com/lucide-icons/lucide/releases/tag/0.545.0): Version 0.545.0

[Compare Source](https://github.com/lucide-icons/lucide/compare/0.544.0...0.545.0)

#### What's Changed

- fix(icons): changed `flame` icon by [@&#8203;jamiemlaw](https://github.com/jamiemlaw) in [#&#8203;3600](https://github.com/lucide-icons/lucide/pull/3600)
- fix(icons): arcified `square-m` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3549](https://github.com/lucide-icons/lucide/pull/3549)
- chore(deps-dev): bump vite from 6.3.5 to 6.3.6 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3611](https://github.com/lucide-icons/lucide/pull/3611)
- fix(icons): changed `combine` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3200](https://github.com/lucide-icons/lucide/pull/3200)
- fix(icons): changed `building-2` icon by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;3509](https://github.com/lucide-icons/lucide/pull/3509)
- chore(deps): bump devalue from 5.1.1 to 5.3.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;3638](https://github.com/lucide-icons/lucide/pull/3638)
- feat(icons): Add `motorbike` icon by [@&#8203;jamiemlaw](https://github.com/jamiemlaw) in [#&#8203;3371](https://github.com/lucide-icons/lucide/pull/3371)

**Full Changelog**: <https://github.com/lucide-icons/lucide/compare/0.544.0...0.545.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzguNCIsInVwZGF0ZWRJblZlciI6IjQxLjE0Ni4wIiwidGFyZ2V0QnJhbmNoIjoibmV4dCIsImxhYmVscyI6W119-->

Reviewed-on: #31
Co-authored-by: Renovate Bot <renovate-bot@valverde.cloud>
Co-committed-by: Renovate Bot <renovate-bot@valverde.cloud>
2025-10-13 00:17:49 +02:00
Julien Valverdé 569874a7af Merge branch 'master' into next
Lint / lint (push) Successful in 13s
2025-10-13 00:13:14 +02:00
Julien Valverdé 6c9dcaafc6 Switch to watch mode
Lint / lint (push) Successful in 13s
2025-10-07 00:45:42 +02:00
Julien Valverdé 411aea0a29 Merge branch 'master' into next
Lint / lint (push) Successful in 12s
2025-10-07 00:43:07 +02:00
Julien Valverdé cc3db52f02 Fix VSCode settings
Lint / lint (push) Successful in 13s
2025-10-05 22:47:42 +02:00
Julien Valverdé 619f6a78b2 Fix dependency
Lint / lint (push) Failing after 8s
2025-10-03 18:31:22 +02:00
Julien Valverdé 3416c5a90c Fix
Lint / lint (push) Successful in 12s
2025-10-03 18:26:20 +02:00
21 changed files with 633 additions and 697 deletions
+1 -1
View File
@@ -14,7 +14,7 @@ jobs:
uses: docker/setup-buildx-action@v3 uses: docker/setup-buildx-action@v3
- name: Checkout - name: Checkout
uses: actions/checkout@v7 uses: actions/checkout@v5
- name: Login to Container Registry - name: Login to Container Registry
if: ${{ gitea.event_name != 'pull_request' }} if: ${{ gitea.event_name != 'pull_request' }}
+1 -1
View File
@@ -10,7 +10,7 @@ jobs:
- name: Set up Bun - name: Set up Bun
uses: oven-sh/setup-bun@v2 uses: oven-sh/setup-bun@v2
- name: Checkout - name: Checkout
uses: actions/checkout@v7 uses: actions/checkout@v5
- name: Install dependencies - name: Install dependencies
run: bun install --frozen-lockfile run: bun install --frozen-lockfile
- name: Lint TypeScript - name: Lint TypeScript
+3 -3
View File
@@ -1,5 +1,5 @@
FROM oven/bun:1.3.4@sha256:7608db4aeb44f1fe8169cc8ec7055376b3013557b106407ccf092b00e426407d AS bun FROM oven/bun:1.3.0@sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025 AS bun
FROM node:22.21.1-trixie-slim@sha256:98e1429d1a0b99378b4de43fa385f0746fd6276faf4feeb6104d91f6bad290f9 FROM node:22.20.0-trixie-slim@sha256:535ba2ed7dcf0dec29b0af4cac2b87ccdd935880212d4b9537e767b078ce1ca3
COPY --from=bun /usr/local/bin/bun \ COPY --from=bun /usr/local/bin/bun \
/usr/local/bin/bunx \ /usr/local/bin/bunx \
/usr/local/bin/ /usr/local/bin/
@@ -7,7 +7,7 @@ WORKDIR /app
COPY ./ ./ COPY ./ ./
RUN bun install --frozen-lockfile && \ RUN bun install --frozen-lockfile && \
bun lint:tsc && \ bun lint:tsc && \
# bun lint:biome && \ bun lint:biome && \
bun run build && \ bun run build && \
bun clean:cache && \ bun clean:cache && \
bun clean:modules && \ bun clean:modules && \
+470 -372
View File
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -11,7 +11,7 @@ x-env-base: &env-base
services: services:
server: server:
<<: *service-base <<: *service-base
image: oven/bun:1.3.4@sha256:7608db4aeb44f1fe8169cc8ec7055376b3013557b106407ccf092b00e426407d image: oven/bun:1.3.0@sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025
volumes: volumes:
- *volume-app - *volume-app
working_dir: /app/packages/server working_dir: /app/packages/server
@@ -22,7 +22,7 @@ services:
cli: cli:
<<: *service-base <<: *service-base
image: oven/bun:1.3.4@sha256:7608db4aeb44f1fe8169cc8ec7055376b3013557b106407ccf092b00e426407d image: oven/bun:1.3.0@sha256:00cccad6e9c66bbacc250851f689168606aaea551ac473e908bbcf00a5645025
volumes: volumes:
- *volume-app - *volume-app
working_dir: /app working_dir: /app
@@ -35,7 +35,7 @@ services:
webapp: webapp:
<<: *service-base <<: *service-base
image: node:22.21.1@sha256:4ad2c2b350ab49fb637ab40a269ffe207c61818bb7eb3a4ea122001a0c605e1f image: node:22.20.0@sha256:2bb201f33898d2c0ce638505b426f4dd038cc00e5b2b4cbba17b069f0fff1496
ports: ports:
- ${PORT:?PORT missing}:80 - ${PORT:?PORT missing}:80
volumes: volumes:
@@ -48,7 +48,7 @@ services:
tempo: tempo:
<<: *service-base <<: *service-base
image: grafana/tempo:latest@sha256:cfe9b6a2e9730f3acb4437727a25e481554a7e00685c6170af73ac52c46c9707 image: grafana/tempo:latest@sha256:4b9b94524558dea1209a1d4bca56b758114d1b2269b7184329632ba3879b5a5e
command: [-config.file=/etc/tempo.yaml] command: [-config.file=/etc/tempo.yaml]
volumes: volumes:
- ./telemetry/tempo.yaml:/etc/tempo.yaml - ./telemetry/tempo.yaml:/etc/tempo.yaml
@@ -56,7 +56,7 @@ services:
stop_signal: SIGKILL stop_signal: SIGKILL
prometheus: prometheus:
image: prom/prometheus:v3.8.0@sha256:d936808bdea528155c0154a922cd42fd75716b8bb7ba302641350f9f3eaeba09 image: prom/prometheus:v3.7.0@sha256:29c1e0b48ad816750245dea3d65ac3ce57dda30547e67b1e9a5176e2953cc4dc
command: command:
- --config.file=/etc/prometheus.yaml - --config.file=/etc/prometheus.yaml
- --web.enable-remote-write-receiver - --web.enable-remote-write-receiver
@@ -65,7 +65,7 @@ services:
- ./telemetry/prometheus.yaml:/etc/prometheus.yaml - ./telemetry/prometheus.yaml:/etc/prometheus.yaml
grafana: grafana:
image: grafana/grafana:latest@sha256:793c8719b0043ed885d1e75200a62d8adf63f0eae00f6f12b7a98eb7293a525c image: grafana/grafana:latest@sha256:60794dc17e6a58d28539cfd3dd496a7f2da62e13ff54a4055431385eec5d6639
volumes: volumes:
- ./telemetry/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml - ./telemetry/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
environment: environment:
+6 -6
View File
@@ -1,6 +1,6 @@
{ {
"name": "website", "name": "website",
"packageManager": "bun@1.3.14", "packageManager": "bun@1.2.22",
"private": true, "private": true,
"workspaces": ["./packages/*"], "workspaces": ["./packages/*"],
"scripts": { "scripts": {
@@ -12,12 +12,12 @@
"clean:modules": "turbo clean:modules && rm -rf node_modules" "clean:modules": "turbo clean:modules && rm -rf node_modules"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "^2.4.15", "@biomejs/biome": "^2.2.4",
"@effect/language-service": "^0.86.1", "@effect/language-service": "^0.45.0",
"@types/bun": "^1.3.14", "@types/bun": "^1.2.23",
"npm-check-updates": "^22.2.0", "npm-check-updates": "^19.0.0",
"npm-sort": "^0.0.4", "npm-sort": "^0.0.4",
"turbo": "^2.9.14", "turbo": "^2.5.6",
"typescript": "^5.9.2" "typescript": "^5.9.2"
} }
} }
+3 -3
View File
@@ -1,6 +1,6 @@
{ {
"name": "@website/common", "name": "@website/common",
"packageManager": "bun@1.3.14", "packageManager": "bun@1.2.22",
"private": true, "private": true,
"type": "module", "type": "module",
"exports": { "exports": {
@@ -14,7 +14,7 @@
"clean:modules": "rm -rf node_modules" "clean:modules": "rm -rf node_modules"
}, },
"dependencies": { "dependencies": {
"@effect/rpc": "^0.75.1", "@effect/rpc": "^0.71.0",
"effect": "^3.21.2" "effect": "^3.17.13"
} }
} }
+16 -17
View File
@@ -1,6 +1,6 @@
{ {
"name": "@website/server", "name": "@website/server",
"packageManager": "bun@1.3.14", "packageManager": "bun@1.2.22",
"private": true, "private": true,
"type": "module", "type": "module",
"scripts": { "scripts": {
@@ -15,25 +15,24 @@
"clean:modules": "rm -rf node_modules" "clean:modules": "rm -rf node_modules"
}, },
"dependencies": { "dependencies": {
"@effect/opentelemetry": "^0.63.0", "@effect/opentelemetry": "^0.58.0",
"@effect/platform": "^0.96.1", "@effect/platform": "^0.92.0",
"@effect/platform-bun": "^0.89.0", "@effect/platform-bun": "^0.81.0",
"@effect/platform-node": "^0.106.0", "@effect/platform-node": "^0.98.0",
"@effect/rpc": "^0.75.1", "@effect/rpc": "^0.71.0",
"@opentelemetry/exporter-trace-otlp-http": "^0.218.0", "@opentelemetry/exporter-trace-otlp-http": "^0.206.0",
"@opentelemetry/sdk-metrics": "^2.7.1", "@opentelemetry/sdk-metrics": "^2.1.0",
"@opentelemetry/sdk-trace-base": "^2.7.1", "@opentelemetry/sdk-trace-base": "^2.1.0",
"@opentelemetry/sdk-trace-node": "^2.7.1", "@opentelemetry/sdk-trace-node": "^2.1.0",
"@opentelemetry/sdk-trace-web": "^2.7.1", "@opentelemetry/sdk-trace-web": "^2.1.0",
"@website/common": "workspace:*", "@website/common": "workspace:*",
"@website/webapp": "workspace:*", "effect": "^3.17.13"
"effect": "^3.21.2"
}, },
"devDependencies": { "devDependencies": {
"@rollup/plugin-node-resolve": "^16.0.3", "@rollup/plugin-node-resolve": "^16.0.1",
"esbuild": "^0.28.0", "esbuild": "^0.25.9",
"rollup": "^4.60.4", "rollup": "^4.52.0",
"rollup-plugin-esbuild": "^6.2.1", "rollup-plugin-esbuild": "^6.2.1",
"tsx": "^4.22.3" "tsx": "^4.20.5"
} }
} }
+2 -2
View File
@@ -23,7 +23,7 @@ const makeProductionWebappRoute = Effect.fnUntraced(function*(route: HttpRouter.
return HttpRouter.all(route, Effect.gen(function*() { return HttpRouter.all(route, Effect.gen(function*() {
const req = yield* HttpServerRequest.HttpServerRequest const req = yield* HttpServerRequest.HttpServerRequest
const source = path.join(dist, decodeURI(new URL(req.url, "http://localhost").pathname)) const source = path.join(dist, req.url)
const exists = yield* fs.stat(source).pipe( const exists = yield* fs.stat(source).pipe(
Effect.andThen(stat => stat.type === "File"), Effect.andThen(stat => stat.type === "File"),
Effect.catchAll(() => Effect.succeed(false)), Effect.catchAll(() => Effect.succeed(false)),
@@ -32,7 +32,7 @@ const makeProductionWebappRoute = Effect.fnUntraced(function*(route: HttpRouter.
return yield* HttpServerResponse.setHeader( return yield* HttpServerResponse.setHeader(
yield* HttpServerResponse.file(exists ? source : path.join(dist, "index.html")), yield* HttpServerResponse.file(exists ? source : path.join(dist, "index.html")),
"Cache-Control", "Cache-Control",
`public, max-age=${Duration.toSeconds("6 hours")}, immutable`, `public, max-age=${Duration.toSeconds("365 days")}, immutable`
) )
})) }))
}) })
+27 -27
View File
@@ -1,6 +1,6 @@
{ {
"name": "@website/webapp", "name": "@website/webapp",
"packageManager": "bun@1.3.14", "packageManager": "bun@1.2.22",
"private": true, "private": true,
"type": "module", "type": "module",
"module": "./stub.ts", "module": "./stub.ts",
@@ -14,39 +14,39 @@
"clean:modules": "rm -rf node_modules" "clean:modules": "rm -rf node_modules"
}, },
"dependencies": { "dependencies": {
"@effect/platform": "^0.96.1", "@effect/platform": "^0.92.0",
"@effect/platform-browser": "^0.76.0", "@effect/platform-browser": "^0.72.0",
"@effect/rpc": "^0.75.1", "@effect/rpc": "^0.71.0",
"@fontsource/work-sans": "^5.2.8", "@fontsource/work-sans": "^5.2.8",
"@radix-ui/react-slot": "^1.2.4", "@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-tooltip": "^1.2.8", "@radix-ui/react-tooltip": "^1.2.8",
"@tanstack/react-router": "^1.170.4", "@tanstack/react-router": "^1.131.48",
"@website/common": "workspace:*", "@website/common": "workspace:*",
"class-variance-authority": "^0.7.1", "class-variance-authority": "^0.7.1",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"effect": "^3.21.2", "effect": "^3.17.13",
"effect-fc": "^0.2.6", "effect-fc": "^0.1.3",
"i18next": "^26.2.0", "i18next": "^25.6.0",
"i18next-browser-languagedetector": "^8.2.1", "i18next-browser-languagedetector": "^8.2.0",
"lucide-react": "^1.16.0", "lucide-react": "^0.546.0",
"react": "^19.2.6", "react": "^19.1.1",
"react-dom": "^19.2.6", "react-dom": "^19.1.1",
"react-i18next": "^17.0.8", "react-i18next": "^16.0.1",
"react-icons": "^5.6.0", "react-icons": "^5.5.0",
"react-shadow": "^20.6.0", "react-shadow": "^20.6.0",
"tailwind-merge": "^3.6.0", "tailwind-merge": "^3.3.1",
"tailwindcss": "^4.3.0" "tailwindcss": "^4.1.13"
}, },
"devDependencies": { "devDependencies": {
"@tailwindcss/vite": "^4.3.0", "@tailwindcss/vite": "^4.1.13",
"@tanstack/react-router-devtools": "^1.167.0", "@tanstack/react-router-devtools": "^1.131.48",
"@tanstack/router-plugin": "^1.168.6", "@tanstack/router-plugin": "^1.131.48",
"@types/react": "^19.2.14", "@types/react": "^19.1.13",
"@types/react-dom": "^19.2.3", "@types/react-dom": "^19.1.9",
"@vitejs/plugin-react": "^6.0.2", "@vitejs/plugin-react": "^5.0.2",
"globals": "^17.6.0", "globals": "^16.4.0",
"tw-animate-css": "^1.4.0", "tw-animate-css": "^1.3.8",
"typescript-eslint": "^8.59.4", "typescript-eslint": "^8.44.0",
"vite": "^8.0.13" "vite": "^7.1.5"
} }
} }
@@ -12,8 +12,8 @@ jobs:
publish-npm: publish-npm:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v5 - uses: actions/checkout@v3
- uses: actions/setup-node@v6 - uses: actions/setup-node@v3
with: with:
node-version: 16 node-version: 16
registry-url: https://registry.npmjs.org/ registry-url: https://registry.npmjs.org/
Binary file not shown.
@@ -1,104 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pazisme mod</title>
<style>
@font-face {
font-family: "Coolvetica";
src: url("./coolvetica_rg.otf") format("opentype");
font-style: normal;
font-weight: 400;
font-display: swap;
}
* {
box-sizing: border-box;
}
html,
body {
margin: 0;
width: 100%;
height: 100%;
overflow: hidden;
background: #000;
}
body {
position: relative;
font-family: sans-serif;
}
.splash-image {
display: block;
width: 100%;
height: 100%;
object-fit: contain;
}
.title {
position: absolute;
left: 24px;
bottom: 48px;
margin: 0;
color: #fff;
font-family: "Coolvetica", sans-serif;
font-size: clamp(48px, 8vw, 92px);
line-height: 1;
}
</style>
</head>
<body>
<audio id="theme" src="./we_are_charlie_kirk.mp3" preload="auto" autoplay hidden></audio>
<img class="splash-image" src="./screen1.png" alt="Pazismemod screenshot">
<h1 class="title">pazisme mod</h1>
<script>
(function() {
var SONG_START_TIME = 46;
var audio = document.getElementById("theme");
if (!audio) {
return;
}
function syncStartTime() {
if (isFinite(audio.duration) && audio.duration > SONG_START_TIME) {
audio.currentTime = SONG_START_TIME;
}
}
function playFromOffset() {
syncStartTime();
var result = audio.play();
if (result && typeof result.catch === "function") {
result.catch(function() {
// Ignore autoplay failures in embedded browsers that require interaction.
});
}
}
window.GameDetails = function(
_servername,
_serverurl,
_mapname,
_maxplayers,
_steamid,
_gamemode,
volume
) {
var parsedVolume = Number(volume);
if (!isNaN(parsedVolume) && isFinite(parsedVolume)) {
audio.volume = Math.min(1, Math.max(0, parsedVolume));
}
};
audio.addEventListener("loadedmetadata", syncStartTime);
audio.addEventListener("ended", playFromOffset);
playFromOffset();
})();
</script>
</body>
</html>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

+1 -1
View File
@@ -3,7 +3,7 @@ export const en = {
nav: { nav: {
gitRepos: { gitRepos: {
title: "Git Repos", title: "Git repositories",
tooltip: "All the public repositories on my Git server", tooltip: "All the public repositories on my Git server",
}, },
sourceCode: { sourceCode: {
+13 -36
View File
@@ -9,73 +9,50 @@
// Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified. // Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified.
import { Route as rootRouteImport } from './routes/__root' import { Route as rootRouteImport } from './routes/__root'
import { Route as MainRouteImport } from './routes/_main' import { Route as IndexRouteImport } from './routes/index'
import { Route as MainIndexRouteImport } from './routes/_main.index'
const MainRoute = MainRouteImport.update({ const IndexRoute = IndexRouteImport.update({
id: '/_main',
getParentRoute: () => rootRouteImport,
} as any)
const MainIndexRoute = MainIndexRouteImport.update({
id: '/', id: '/',
path: '/', path: '/',
getParentRoute: () => MainRoute, getParentRoute: () => rootRouteImport,
} as any) } as any)
export interface FileRoutesByFullPath { export interface FileRoutesByFullPath {
'/': typeof MainIndexRoute '/': typeof IndexRoute
} }
export interface FileRoutesByTo { export interface FileRoutesByTo {
'/': typeof MainIndexRoute '/': typeof IndexRoute
} }
export interface FileRoutesById { export interface FileRoutesById {
__root__: typeof rootRouteImport __root__: typeof rootRouteImport
'/_main': typeof MainRouteWithChildren '/': typeof IndexRoute
'/_main/': typeof MainIndexRoute
} }
export interface FileRouteTypes { export interface FileRouteTypes {
fileRoutesByFullPath: FileRoutesByFullPath fileRoutesByFullPath: FileRoutesByFullPath
fullPaths: '/' fullPaths: '/'
fileRoutesByTo: FileRoutesByTo fileRoutesByTo: FileRoutesByTo
to: '/' to: '/'
id: '__root__' | '/_main' | '/_main/' id: '__root__' | '/'
fileRoutesById: FileRoutesById fileRoutesById: FileRoutesById
} }
export interface RootRouteChildren { export interface RootRouteChildren {
MainRoute: typeof MainRouteWithChildren IndexRoute: typeof IndexRoute
} }
declare module '@tanstack/react-router' { declare module '@tanstack/react-router' {
interface FileRoutesByPath { interface FileRoutesByPath {
'/_main': { '/': {
id: '/_main' id: '/'
path: ''
fullPath: '/'
preLoaderRoute: typeof MainRouteImport
parentRoute: typeof rootRouteImport
}
'/_main/': {
id: '/_main/'
path: '/' path: '/'
fullPath: '/' fullPath: '/'
preLoaderRoute: typeof MainIndexRouteImport preLoaderRoute: typeof IndexRouteImport
parentRoute: typeof MainRoute parentRoute: typeof rootRouteImport
} }
} }
} }
interface MainRouteChildren {
MainIndexRoute: typeof MainIndexRoute
}
const MainRouteChildren: MainRouteChildren = {
MainIndexRoute: MainIndexRoute,
}
const MainRouteWithChildren = MainRoute._addFileChildren(MainRouteChildren)
const rootRouteChildren: RootRouteChildren = { const rootRouteChildren: RootRouteChildren = {
MainRoute: MainRouteWithChildren, IndexRoute: IndexRoute,
} }
export const routeTree = rootRouteImport export const routeTree = rootRouteImport
._addFileChildren(rootRouteChildren) ._addFileChildren(rootRouteChildren)
+81 -1
View File
@@ -1,5 +1,12 @@
import { createRootRoute, Outlet } from "@tanstack/react-router" import { createRootRoute, Outlet } from "@tanstack/react-router"
import { TanStackRouterDevtools } from "@tanstack/react-router-devtools" import { TanStackRouterDevtools } from "@tanstack/react-router-devtools"
import { useTranslation } from "react-i18next"
import { DiGit } from "react-icons/di"
import { FaCode } from "react-icons/fa"
import root from "react-shadow"
import { Button } from "@/components/ui/button"
import { Card, CardContent } from "@/components/ui/card"
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"
export const Route = createRootRoute({ export const Route = createRootRoute({
@@ -7,8 +14,81 @@ export const Route = createRootRoute({
}) })
function RootComponent() { function RootComponent() {
const { t, i18n } = useTranslation()
return <> return <>
<Outlet /> <root.div>
<link rel="stylesheet" href="/98.css/dist/98.css" />
<div className="window" style={{ width: 300 }}>
<div className="title-bar">
<div className="title-bar-text">A Window With Stuff In It</div>
<div className="title-bar-controls">
<button aria-label="Minimize"></button>
<button aria-label="Maximize"></button>
<button aria-label="Close"></button>
</div>
</div>
<div className="window-body">
<p>There's so much room for activities!</p>
</div>
</div>
</root.div>
<div className="container mt-10 mr-auto ml-auto flex flex-row items-center justify-center gap-20">
<div className="flex flex-row items-center justify-center gap-2">
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Button asChild>
<a href="https://git.valverde.cloud"><DiGit /> {t($ => $.gitRepos.title, { ns: "nav" })}</a>
</Button>
</TooltipTrigger>
<TooltipContent><p>{t($ => $.gitRepos.tooltip, { ns: "nav" })}</p></TooltipContent>
</Tooltip>
</TooltipProvider>
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Button asChild>
<a href="https://git.valverde.cloud/thilawyn/website"><FaCode /> {t($ => $.sourceCode.title, { ns: "nav" })}</a>
</Button>
</TooltipTrigger>
<TooltipContent><p>{t($ => $.sourceCode.tooltip, { ns: "nav" })}</p></TooltipContent>
</Tooltip>
</TooltipProvider>
<Button>Resumé</Button>
</div>
<div className="flex flex-row items-center justify-center gap-2">
<Button
variant={i18n.language !== "en" ? "default" : "noShadow"}
onClick={() => i18n.changeLanguage("en")}
>
🇬🇧 English
</Button>
<Button
variant={i18n.language !== "fr" ? "default" : "noShadow"}
onClick={() => i18n.changeLanguage("fr")}
>
🇫🇷 Français
</Button>
</div>
</div>
<div className="mx-auto w-[750px] max-w-full px-5 pt-28 pb-10 text-foreground">
<Card>
<CardContent>
<Outlet />
</CardContent>
</Card>
</div>
<TanStackRouterDevtools /> <TanStackRouterDevtools />
</> </>
} }
-109
View File
@@ -1,109 +0,0 @@
import { createFileRoute, Outlet } from "@tanstack/react-router"
import { useTranslation } from "react-i18next"
import { DiGit } from "react-icons/di"
import { FaCode } from "react-icons/fa"
import root from "react-shadow"
import { Button } from "@/components/ui/button"
import { Card, CardContent } from "@/components/ui/card"
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"
export const Route = createFileRoute("/_main")({
component: WIPLayout,
})
function WIPLayout() {
return (
<div className="mx-auto w-[750px] max-w-full px-5 pt-28 pb-10 text-foreground">
<Card>
<CardContent>
<Outlet />
</CardContent>
</Card>
</div>
)
}
// @ts-expect-error
function SharedLayout() {
const { t, i18n } = useTranslation()
return <>
<div className="flex flex-row items-center justify-center gap-2 p-2">
<Button
variant={i18n.language !== "en" ? "default" : "noShadow"}
onClick={() => i18n.changeLanguage("en")}
>
🇬🇧 English
</Button>
<Button
variant={i18n.language !== "fr" ? "default" : "noShadow"}
onClick={() => i18n.changeLanguage("fr")}
>
🇫🇷 Français
</Button>
</div>
<div className="container mt-20 mr-auto ml-auto">
<div className="mr-auto ml-auto flex w-fit flex-row items-start justify-around gap-10">
<root.div>
<link rel="stylesheet" href="/98.css/dist/98.css" />
<div className="window" style={{ width: 300 }}>
<div className="title-bar">
<div className="title-bar-text">Julien Valverde</div>
</div>
<div className="window-body">
<p>There's so much room for activities!</p>
</div>
</div>
</root.div>
<div>
<h1>Ingénieur Full Stack &bull; Entrepreneur</h1>
<p className="mt-2">
I am passionate about integrating functionality and design in applications to create intuitive, user-friendly experiences.
</p>
<div className="mt-4 flex w-fit flex-row items-center justify-center gap-2">
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Button asChild>
<a href="https://git.valverde.cloud"><DiGit /> {t($ => $.gitRepos.title, { ns: "nav" })}</a>
</Button>
</TooltipTrigger>
<TooltipContent><p>{t($ => $.gitRepos.tooltip, { ns: "nav" })}</p></TooltipContent>
</Tooltip>
</TooltipProvider>
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Button asChild>
<a href="https://git.valverde.cloud/thilawyn/website"><FaCode /> {t($ => $.sourceCode.title, { ns: "nav" })}</a>
</Button>
</TooltipTrigger>
<TooltipContent><p>{t($ => $.sourceCode.tooltip, { ns: "nav" })}</p></TooltipContent>
</Tooltip>
</TooltipProvider>
<Button>Resumé</Button>
</div>
</div>
</div>
</div>
<div className="mx-auto w-[750px] max-w-full px-5 pt-28 pb-10 text-foreground">
<Card>
<CardContent>
<Outlet />
</CardContent>
</Card>
</div>
</>
}
@@ -1,7 +1,7 @@
import { createFileRoute } from "@tanstack/react-router" import { createFileRoute } from "@tanstack/react-router"
export const Route = createFileRoute("/_main/")({ export const Route = createFileRoute("/")({
component: RouteComponent, component: RouteComponent,
}) })
-5
View File
@@ -2,11 +2,6 @@
"$schema": "https://docs.renovatebot.com/renovate-schema.json", "$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:recommended"], "extends": ["config:recommended"],
"baseBranchPatterns": ["next"], "baseBranchPatterns": ["next"],
"ignorePaths": [
"**/node_modules/**",
"**/bower_components/**",
"packages/webapp/public/98.css/**"
],
"packageRules": [ "packageRules": [
{ {
"matchManagers": ["bun", "npm"], "matchManagers": ["bun", "npm"],