13 Commits

Author SHA1 Message Date
dependabot[bot]
ed3b08dce2 build(deps): bump rollup from 4.9.2 to 4.9.3 (#218)
Bumps [rollup](https://github.com/rollup/rollup) from 4.9.2 to 4.9.3.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.9.2...v4.9.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-07 23:17:12 +08:00
Spedon
8ba41fc32c v0.0.5 (#219)
* feat: refactor condition for checking `site.Params.bundled`

- Add default condition for checking if `site.Params.bundled` is true or false

* refactor: update info page content

* chore: update site description

* refactor: refactor variable assignments and return statement in menu template

- Change the variable assignment from `.DirName` to `.Identifier` in the file `layouts/_default/single.json`
- Change the variable assignments in the file `layouts/partials/function/currentMenuItem.html`:
  - From `$dirName := ""` to `$identifier := ""`
  - From `$id := -1` to `$title := ""` and `$weight := -1`
  - From `$dirName = .Identifier` to `$identifier = .Identifier`, `$title = .Title`, and `$weight = .Weight`
- Change the return statement in the file `layouts/partials/function/currentMenuItem.html` from `(dict "DirName" $dirName "ID" $id)` to `(dict "Identifier" $identifier "Title" $title "Weight" $weight)`

* feat: update nav links structure for current link styling

- Remove javascript code related to setting current link style and title
- Update nav links to use updated HTML structure for current link styling

* feat: update page titles and meta tags in layout files

- Update the `baseof.html` layout to include the current page title in the `<title>` tag
- Add OpenGraph meta tags for the page title and description in `meta.html` layout
2024-01-07 23:16:55 +08:00
dependabot[bot]
0f537630e8 build(deps-dev): bump eslint from 8.55.0 to 8.56.0 (#198)
Bumps [eslint](https://github.com/eslint/eslint) from 8.55.0 to 8.56.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.55.0...v8.56.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-05 17:25:25 +08:00
dependabot[bot]
3f60289381 build(deps-dev): bump eslint-config-standard-with-typescript (#202)
Bumps [eslint-config-standard-with-typescript](https://github.com/standard/eslint-config-standard-with-typescript) from 42.0.0 to 43.0.0.
- [Release notes](https://github.com/standard/eslint-config-standard-with-typescript/releases)
- [Changelog](https://github.com/standard/eslint-config-standard-with-typescript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/standard/eslint-config-standard-with-typescript/compare/v42.0.0...v43.0.0)

---
updated-dependencies:
- dependency-name: eslint-config-standard-with-typescript
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-05 17:23:35 +08:00
dependabot[bot]
a3c2310375 build(deps-dev): bump eslint-plugin-import from 2.29.0 to 2.29.1 (#196)
Bumps [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) from 2.29.0 to 2.29.1.
- [Release notes](https://github.com/import-js/eslint-plugin-import/releases)
- [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md)
- [Commits](https://github.com/import-js/eslint-plugin-import/compare/v2.29.0...v2.29.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-import
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-05 17:22:32 +08:00
Spedon
b9de1b9c70 Update bundled artifacts (#217)
Co-authored-by: Sped0n <Sped0n@users.noreply.github.com>
2024-01-05 17:22:12 +08:00
dependabot[bot]
ac5fb33f41 build(deps-dev): bump @typescript-eslint/eslint-plugin (#212)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 6.14.0 to 6.17.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.17.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-05 17:21:21 +08:00
dependabot[bot]
ba044a2147 build(deps): bump gsap from 3.12.3 to 3.12.4 (#197)
Bumps [gsap](https://github.com/greensock/GSAP) from 3.12.3 to 3.12.4.
- [Commits](https://github.com/greensock/GSAP/compare/3.12.3...3.12.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-05 17:20:57 +08:00
dependabot[bot]
b34a85fa92 build(deps-dev): bump eslint-plugin-prettier from 5.0.1 to 5.1.2 (#207)
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 5.0.1 to 5.1.2.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.0.1...v5.1.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-05 17:20:43 +08:00
dependabot[bot]
7b0cd6aae7 build(deps-dev): bump @typescript-eslint/parser from 6.14.0 to 6.17.0 (#213)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 6.14.0 to 6.17.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.17.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-05 17:20:28 +08:00
dependabot[bot]
bc04ef37bb build(deps): bump rollup from 4.9.0 to 4.9.2 (#214)
Bumps [rollup](https://github.com/rollup/rollup) from 4.9.0 to 4.9.2.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.9.0...v4.9.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-05 17:18:38 +08:00
dependabot[bot]
a5807f7625 build(deps-dev): bump eslint-plugin-n from 16.4.0 to 16.6.1 (#216)
Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 16.4.0 to 16.6.1.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/16.4.0...16.6.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-n
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Spedon <70063177+Sped0n@users.noreply.github.com>
2024-01-05 17:18:23 +08:00
dependabot[bot]
0c16bab065 build(deps): bump tj-actions/changed-files in /.github/workflows (#215)
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 40 to 41.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v40...v41)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-03 16:19:21 +08:00
17 changed files with 282 additions and 485 deletions

View File

@@ -24,7 +24,7 @@ jobs:
- name: Get changed files in scope - name: Get changed files in scope
id: changed-files-specific id: changed-files-specific
uses: tj-actions/changed-files@v40 uses: tj-actions/changed-files@v41
with: with:
files: | files: |
package.json package.json

View File

@@ -31,27 +31,6 @@ const indexDispNums = Array.from(
indexDiv.getElementsByClassName('num') indexDiv.getElementsByClassName('num')
) as HTMLSpanElement[] ) as HTMLSpanElement[]
// links div
const linksDiv = document.getElementsByClassName('links').item(0) as HTMLDivElement
// links
const links = Array.from(linksDiv.getElementsByClassName('link')) as HTMLAnchorElement[]
// current link index
const currentLinkIndex = document
.getElementById('main')
?.getAttribute('currentMenuItemIndex') as string
// set current link
for (const [index, link] of links.entries()) {
if (index === parseInt(currentLinkIndex)) {
// set current link style
link.classList.add('current')
// set current link title (only if not home)
if (index !== 0) document.title = link.innerText + ' | ' + document.title
}
}
/** /**
* init * init
*/ */

View File

@@ -1,5 +1,5 @@
# description of the site (will be placed in meta) # description of the site (will be placed in meta)
description = "Bridget is a minimal Hugo theme designed for photographers / visual artists." description = "Bridget is a minimal Hugo theme designed for photographers/visual artists."
# use bundled js and css # use bundled js and css
# * if you want to build the js and css from scratch, set this to false and run `npm install` and `npm run build` # * if you want to build the js and css from scratch, set this to false and run `npm install` and `npm run build`
# * tldr: set this to false if you want to develop and edit the js and css # * tldr: set this to false if you want to develop and edit the js and css

View File

@@ -10,9 +10,9 @@ menu:
unifiedAlt: '' unifiedAlt: ''
--- ---
Bridget is a _minimal_ Hugo theme designed for photographers / visual artists. Bridget is a _minimal_ Hugo theme designed for photographers/visual artists.
The inspiration for this theme came from a video by <u>[Hyperlexed](https://www.youtube.com/@Hyperplexed)</u>, which can be found <u>[here](https://www.youtube.com/watch?v=Jt3A2lNN2aE)</u>. Initially, it was designed using pure TypeScript and CSS. However, after website designer <u>[Tyler McRobert](https://tylermcrobert.com)</u> made the source code publicly available, the whole project was modified to mimic the original design. The animations in Bridget are achieved using gsap and swiper. In essence, it is more like a porting of the original design into Hugo. The inspiration for this theme came from a video by <u>[Hyperlexed](https://www.youtube.com/@Hyperplexed)</u>, which can be found <u>[here](https://www.youtube.com/watch?v=Jt3A2lNN2aE)</u>. Initially, it was developed using raw TypeScript and CSS. However, after website designer <u>[Tyler McRobert](https://tylermcrobert.com)</u> made the source code publicly available, I realized that I have invented many unnecessary components, and this project was modified to porting the original design to hugo while focussing on _performance_.
Once again, great shout out to <u>[Tyler McRobert](https://tylermcrobert.com)</u> for his inspiration to this project. Once again, great shout out to <u>[Tyler McRobert](https://tylermcrobert.com)</u> for his inspiration to this project.

View File

@@ -1,9 +1,4 @@
{{- define "main" -}} {{- define "main" -}}
{{- $params := .Scratch.Get "params" -}}
{{- $currentPage := . -}}
{{- with partial "function/currentMenuItem.html" . -}}
<script>document.getElementById("main").setAttribute("currentMenuItemIndex", "{{- (sub .ID 1) -}}")</script>
{{- end -}}
<div class="container"> <div class="container">
{{- partial "nav.html" . -}} {{- partial "nav.html" . -}}
</div> </div>

View File

@@ -3,11 +3,10 @@
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{{ site.Title }}</title> {{- partial "head/link.html" . -}}
{{- partial "head/link.html" -}} {{- partial "head/meta.html" . -}}
{{- partial "head/meta.html" -}} {{- partial "head/seo.html" . -}}
{{- partial "head/seo.html" -}} {{- partial "head/favicon.html" . -}}
{{- partial "head/favicon.html" -}}
</head> </head>
<body lang="{{- site.LanguageCode -}}"> <body lang="{{- site.LanguageCode -}}">
<div id="main"> <div id="main">

View File

@@ -1,14 +1,9 @@
{{- define "main" -}} {{- define "main" -}}
{{- $params := .Scratch.Get "params" -}} <script>
{{- $currentPage := . -}} document.getElementById("main").setAttribute("nextText", "{{- i18n "next" -}}")
{{- with partial "function/currentMenuItem.html" . -}} document.getElementById("main").setAttribute("prevText", "{{- i18n "prev" -}}")
<script> document.getElementById("main").setAttribute("closeText", "{{- i18n "close" -}}")
document.getElementById("main").setAttribute("currentMenuItemIndex", "{{- (sub .ID 1) -}}") </script>
document.getElementById("main").setAttribute("nextText", "{{- i18n "next" -}}")
document.getElementById("main").setAttribute("prevText", "{{- i18n "prev" -}}")
document.getElementById("main").setAttribute("closeText", "{{- i18n "close" -}}")
</script>
{{- end -}}
<div class="container"> <div class="container">
{{- partial "nav.html" . -}} {{- partial "nav.html" . -}}
</div> </div>

View File

@@ -3,7 +3,7 @@
{{- $params := .Page.Params | merge .Site.Params.Page -}} {{- $params := .Page.Params | merge .Site.Params.Page -}}
{{- with partial "function/currentMenuItem.html" . -}} {{- with partial "function/currentMenuItem.html" . -}}
{{- $Path = .DirName -}} {{- $Path = .Identifier -}}
{{- end -}} {{- end -}}
{{- $gallery := site.GetPage $Path -}} {{- $gallery := site.GetPage $Path -}}

View File

@@ -1,15 +1,17 @@
{{- $currentPage := . -}} {{- $currentPage := . -}}
{{- $dirName := "" -}} {{- $identifier := "" -}}
{{- $id := -1 -}} {{- $title := "" -}}
{{- $weight := -1 -}}
{{- range site.Menus.main -}} {{- range site.Menus.main -}}
{{ $menu_item_url := .URL | relLangURL }} {{ $menu_item_url := .URL | relLangURL }}
{{ $page_url:= $currentPage.RelPermalink | relLangURL }} {{ $page_url:= $currentPage.RelPermalink | relLangURL }}
{{ if eq $menu_item_url $page_url }} {{ if eq $menu_item_url $page_url }}
{{- $dirName = .Identifier -}} {{- $identifier = .Identifier -}}
{{- $id = .Weight -}} {{- $title = .Title -}}
{{- $weight = .Weight -}}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
{{- return (dict "DirName" $dirName "ID" $id) -}} {{- return (dict "Identifier" $identifier "Title" $title "Weight" $weight) -}}

View File

@@ -8,7 +8,7 @@
{{- partial "plugin/style.html" $style -}} {{- partial "plugin/style.html" $style -}}
{{/* main style */}} {{/* main style */}}
{{- if site.Params.bundled -}} {{- if (site.Params.bundled | default true) -}}
{{- $style := dict "Link" "/bundled/css/style.min.css" "Defer" true -}} {{- $style := dict "Link" "/bundled/css/style.min.css" "Defer" true -}}
{{- partial "plugin/style.html" $style -}} {{- partial "plugin/style.html" $style -}}
{{- else -}} {{- else -}}

View File

@@ -1,9 +1,22 @@
<meta name="Description" content="{{- site.Params.description -}}" /> {{/* Title */}}
<meta {{- $page_title := "" -}}
name="application-name" {{- with partial "function/currentMenuItem.html" . -}}
content="{{- .Site.Params.app.title | default site.Title -}}" {{ $page_title = printf "%s" site.Title | printf "%s%s" " | " | printf "%s%s" .Title | printf "%s" }}
/> {{- end -}}
<meta <title>{{ $page_title }}</title>
name="apple-mobile-web-app-title"
content="{{- .Site.Params.app.title | default site.Title -}}" {{/* Basic */}}
/> <meta name="Description" content="{{ site.Params.description }}" />
<meta name="application-name" content="{{ $page_title }}" />
<meta name="apple-mobile-web-app-title" content="{{ $page_title }}" />
{{/* Opengraph */}}
<meta property="og:title" content="{{ $page_title }}" />
<meta name="twitter:title" content="{{ $page_title }}" />
<meta property="og:type" content="website" />
<meta property="og:url" content="{{ .Permalink }}" />
<meta property="og:description" content="{{ site.Params.description }}" />
<meta name="twitter:description" content="{{ site.Params.description }}" />
{{/* Generator */}}
{{ hugo.Generator }}

View File

@@ -4,14 +4,30 @@
</div> </div>
<div class="links"> <div class="links">
{{- $index := 0 -}} {{- $index := 0 -}}
{{- $currentIndex := -1 -}}
{{- with partial "function/currentMenuItem.html" . -}}
{{- $currentIndex = sub .Weight 1 -}}
{{- end -}}
{{- $menus := .Site.Menus.main -}} {{- $menus := .Site.Menus.main -}}
{{- $len := len $menus }} {{- $len := len $menus }}
{{- range $menus -}} {{- range $menus -}}
{{- $url := .URL | relURL -}} {{- $url := .URL | relURL -}}
{{- if eq (add $index 1) $len -}} {{- if eq (add $index 1) $len -}}
<a href="{{- .URL | relURL -}}" class="link">{{- .Title -}}</a> <a
href="{{- .URL | relURL -}}"
class="link{{- if eq $index $currentIndex -}}
{{- printf " current" -}}
{{- end -}}"
>{{- .Title -}}</a
>
{{- else -}} {{- else -}}
<a href="{{- .URL | relURL -}}" class="link">{{- .Title -}}</a>,&nbsp <a
href="{{- .URL | relURL -}}"
class="link{{- if eq $index $currentIndex -}}
{{- printf " current" -}}
{{- end -}}"
>{{- .Title -}}</a
>,&nbsp
{{- end -}} {{- end -}}
{{- $index = add $index 1 -}} {{- $index = add $index 1 -}}
{{- end -}} {{- end -}}

View File

@@ -37,16 +37,16 @@
}, },
"homepage": "https://github.com/Sped0n/bridget#readme", "homepage": "https://github.com/Sped0n/bridget#readme",
"devDependencies": { "devDependencies": {
"@typescript-eslint/eslint-plugin": "^6.14.0", "@typescript-eslint/eslint-plugin": "^6.17.0",
"@typescript-eslint/parser": "^6.14.0", "@typescript-eslint/parser": "^6.17.0",
"eslint": "^8.55.0", "eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0", "eslint-config-prettier": "^9.1.0",
"eslint-config-standard": "^17.1.0", "eslint-config-standard": "^17.1.0",
"eslint-config-standard-with-typescript": "^42.0.0", "eslint-config-standard-with-typescript": "^43.0.0",
"eslint-import-resolver-typescript": "^3.6.1", "eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.29.0", "eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^16.4.0", "eslint-plugin-n": "^16.6.1",
"eslint-plugin-prettier": "^5.0.1", "eslint-plugin-prettier": "^5.1.2",
"eslint-plugin-promise": "^6.1.1", "eslint-plugin-promise": "^6.1.1",
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"prettier": "3.1.1", "prettier": "3.1.1",
@@ -55,9 +55,9 @@
"typescript": "^5.3.3" "typescript": "^5.3.3"
}, },
"dependencies": { "dependencies": {
"gsap": "^3.12.3", "gsap": "^3.12.4",
"swiper": "^11.0.5", "swiper": "^11.0.5",
"rollup": "^4.9.0", "rollup": "^4.9.3",
"@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-terser": "^0.4.4", "@rollup/plugin-terser": "^0.4.4",
"@rollup/plugin-typescript": "^11.1.5" "@rollup/plugin-typescript": "^11.1.5"

620
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
function t(t,e){return(t+1)%e}function e(t,e){return(t+e-1)%e}function n(t){return("0000"+t.toString()).slice(-4)}function s(t,e){return Math.floor(Math.random()*(e-t+1))+t}function o(t,e){new IntersectionObserver(((n,s)=>{n.forEach((n=>{n.intersectionRatio>0&&(e(t),s.disconnect())}))})).observe(t)}function r(t){return t.charAt(0).toUpperCase()+t.slice(1)}async function i(){const t=await import("./48qdbb.js");return[t.gsap,t.Power3]}async function a(){return(await import("./f6JTi3.js")).Swiper}class c{constructor(t){this.obj=t,this.watchers=[]}get(){return this.obj}set(t){this.obj=t,this.watchers.forEach((t=>{t(this.obj)}))}addWatcher(t){this.watchers.push(t)}}const l=new c(!0);let h;const d=[{threshold:20,trailLength:20},{threshold:40,trailLength:10},{threshold:80,trailLength:5},{threshold:140,trailLength:5},{threshold:200,trailLength:5}],m=new c({index:-1,length:0,threshold:d[p()].threshold,trailLength:d[p()].trailLength});function u(t){const e=m.get();e.index=t,m.set(e)}function g(){const e=m.get();e.index=t(e.index,e.length),m.set(e)}function f(){const t=m.get();t.index=e(t.index,t.length),m.set(t)}function x(t,e){const n=d.findIndex((e=>t.threshold===e.threshold))+e;if(n<0||n>=d.length)return t;sessionStorage.setItem("thresholdsIndex",n.toString());const s=d[n];return{...t,...s}}function p(){const t=sessionStorage.getItem("thresholdsIndex");return null===t?2:parseInt(t)}const w=document.getElementsByClassName("threshold").item(0),y=Array.from(w.getElementsByClassName("num")),E=w.getElementsByClassName("dec").item(0),j=w.getElementsByClassName("inc").item(0),L=document.getElementsByClassName("index").item(0),b=Array.from(L.getElementsByClassName("num")),I=document.getElementsByClassName("links").item(0),B=Array.from(I.getElementsByClassName("link")),C=document.getElementById("main")?.getAttribute("currentMenuItemIndex");for(const[t,e]of B.entries())t===parseInt(C)&&(e.classList.add("current"),0!==t&&(document.title=e.innerText+" | "+document.title));function N(t){y.forEach(((e,n)=>{e.innerText=t[n]}))}function v(t,e){b.forEach(((n,s)=>{n.innerText=s<4?t[s]:e[s-4]}))}h=document.getElementsByClassName("container").item(0),l.addWatcher((t=>{t?h.classList.remove("disableScroll"):h.classList.add("disableScroll")}));const S=await async function(){try{const t=await fetch(`${window.location.href}index.json`,{headers:{Accept:"application/json"}});return(await t.json()).sort(((t,e)=>t.index<e.index?-1:1))}catch(t){return[]}}();!function(t){const e=m.get();e.length=t,x(e,0),m.set(e)}(S.length),function(){const t=m.get();N(n(t.threshold)),v(n(t.index+1),n(t.length)),m.addWatcher((t=>{v(n(t.index+1),n(t.length)),N(n(t.threshold))})),E.addEventListener("click",(()=>{!function(){let t=m.get();t=x(t,-1),m.set(t)}()}),{passive:!0}),j.addEventListener("click",(()=>{!function(){let t=m.get();t=x(t,1),m.set(t)}()}),{passive:!0})}(),S.length>0&&(window.matchMedia("(hover: none)").matches?import("./fRwBqI.js").then((t=>{t.initMobile(S)})).catch((t=>{console.log(t)})):import("./PR3rto.js").then((t=>{t.initDesktop(S)})).catch((t=>{console.log(t)})));export{c as W,g as a,f as b,h as c,e as d,l as e,a as f,u as g,n as h,t as i,r as j,s as k,i as l,o,m as s}; function t(t,e){return(t+1)%e}function e(t,e){return(t+e-1)%e}function n(t){return("0000"+t.toString()).slice(-4)}function s(t,e){return Math.floor(Math.random()*(e-t+1))+t}function o(t,e){new IntersectionObserver(((n,s)=>{n.forEach((n=>{n.intersectionRatio>0&&(e(t),s.disconnect())}))})).observe(t)}function i(t){return t.charAt(0).toUpperCase()+t.slice(1)}async function r(){const t=await import("./8mM4Ei.js");return[t.gsap,t.Power3]}async function a(){return(await import("./f6JTi3.js")).Swiper}class c{constructor(t){this.obj=t,this.watchers=[]}get(){return this.obj}set(t){this.obj=t,this.watchers.forEach((t=>{t(this.obj)}))}addWatcher(t){this.watchers.push(t)}}const h=new c(!0);let l;const d=[{threshold:20,trailLength:20},{threshold:40,trailLength:10},{threshold:80,trailLength:5},{threshold:140,trailLength:5},{threshold:200,trailLength:5}],u=new c({index:-1,length:0,threshold:d[p()].threshold,trailLength:d[p()].trailLength});function g(t){const e=u.get();e.index=t,u.set(e)}function m(){const e=u.get();e.index=t(e.index,e.length),u.set(e)}function f(){const t=u.get();t.index=e(t.index,t.length),u.set(t)}function x(t,e){const n=d.findIndex((e=>t.threshold===e.threshold))+e;if(n<0||n>=d.length)return t;sessionStorage.setItem("thresholdsIndex",n.toString());const s=d[n];return{...t,...s}}function p(){const t=sessionStorage.getItem("thresholdsIndex");return null===t?2:parseInt(t)}const w=document.getElementsByClassName("threshold").item(0),y=Array.from(w.getElementsByClassName("num")),E=w.getElementsByClassName("dec").item(0),j=w.getElementsByClassName("inc").item(0),L=document.getElementsByClassName("index").item(0),b=Array.from(L.getElementsByClassName("num"));function v(t){y.forEach(((e,n)=>{e.innerText=t[n]}))}function C(t,e){b.forEach(((n,s)=>{n.innerText=s<4?t[s]:e[s-4]}))}l=document.getElementsByClassName("container").item(0),h.addWatcher((t=>{t?l.classList.remove("disableScroll"):l.classList.add("disableScroll")}));const B=await async function(){try{const t=await fetch(`${window.location.href}index.json`,{headers:{Accept:"application/json"}});return(await t.json()).sort(((t,e)=>t.index<e.index?-1:1))}catch(t){return[]}}();!function(t){const e=u.get();e.length=t,x(e,0),u.set(e)}(B.length),function(){const t=u.get();v(n(t.threshold)),C(n(t.index+1),n(t.length)),u.addWatcher((t=>{C(n(t.index+1),n(t.length)),v(n(t.threshold))})),E.addEventListener("click",(()=>{!function(){let t=u.get();t=x(t,-1),u.set(t)}()}),{passive:!0}),j.addEventListener("click",(()=>{!function(){let t=u.get();t=x(t,1),u.set(t)}()}),{passive:!0})}(),B.length>0&&(window.matchMedia("(hover: none)").matches?import("./fRwBqI.js").then((t=>{t.initMobile(B)})).catch((t=>{console.log(t)})):import("./PR3rto.js").then((t=>{t.initDesktop(B)})).catch((t=>{console.log(t)})));export{c as W,m as a,f as b,l as c,e as d,h as e,a as f,g,n as h,t as i,i as j,s as k,r as l,o,u as s};