Compare commits
48 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
74d2a32184 | ||
|
|
93b10c0656 | ||
|
|
81b4acfb40 | ||
|
|
33272327d8 | ||
|
|
bf95f9ab46 | ||
|
|
3853e97ddf | ||
|
|
4774805840 | ||
|
|
53905cb9e2 | ||
|
|
2d07eeba10 | ||
|
|
d5c1c90c50 | ||
|
|
e391a6f972 | ||
|
|
b83c7a7d6d | ||
|
|
609940cafe | ||
|
|
49e1bcac81 | ||
|
|
1fdf7516a5 | ||
|
|
d5c4a99281 | ||
|
|
e785ea0ea6 | ||
|
|
cd89d07f70 | ||
|
|
3ade4d1bd1 | ||
|
|
120fc26d01 | ||
|
|
a55a295164 | ||
|
|
e616a400ed | ||
|
|
8acf22a953 | ||
|
|
295c15f03b | ||
|
|
ee5daffdba | ||
|
|
3849e2d0dc | ||
|
|
46e5797d85 | ||
|
|
43ddc32e17 | ||
|
|
40793eceab | ||
|
|
4d2b176816 | ||
|
|
85ab22d566 | ||
|
|
97520d404a | ||
|
|
225c0654cc | ||
|
|
00f4158d57 | ||
|
|
f2c2b55cb1 | ||
|
|
24c382d520 | ||
|
|
128d87636a | ||
|
|
54083e4233 | ||
|
|
fe14d9f790 | ||
|
|
6f76ba2f6e | ||
|
|
0643d4fb08 | ||
|
|
7e0cd37851 | ||
|
|
e378e7fa11 | ||
|
|
1a862b1efc | ||
|
|
9d25fbc935 | ||
|
|
c03360713f | ||
|
|
ae2b3b106a | ||
|
|
70f799ea73 |
23
.claude/commands/openspec/apply.md
Normal file
23
.claude/commands/openspec/apply.md
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
name: OpenSpec: Apply
|
||||||
|
description: Implement an approved OpenSpec change and keep tasks in sync.
|
||||||
|
category: OpenSpec
|
||||||
|
tags: [openspec, apply]
|
||||||
|
---
|
||||||
|
<!-- OPENSPEC:START -->
|
||||||
|
**Guardrails**
|
||||||
|
- Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
|
||||||
|
- Keep changes tightly scoped to the requested outcome.
|
||||||
|
- Refer to `openspec/AGENTS.md` (located inside the `openspec/` directory—run `ls openspec` or `openspec update` if you don't see it) if you need additional OpenSpec conventions or clarifications.
|
||||||
|
|
||||||
|
**Steps**
|
||||||
|
Track these steps as TODOs and complete them one by one.
|
||||||
|
1. Read `changes/<id>/proposal.md`, `design.md` (if present), and `tasks.md` to confirm scope and acceptance criteria.
|
||||||
|
2. Work through tasks sequentially, keeping edits minimal and focused on the requested change.
|
||||||
|
3. Confirm completion before updating statuses—make sure every item in `tasks.md` is finished.
|
||||||
|
4. Update the checklist after all work is done so each task is marked `- [x]` and reflects reality.
|
||||||
|
5. Reference `openspec list` or `openspec show <item>` when additional context is required.
|
||||||
|
|
||||||
|
**Reference**
|
||||||
|
- Use `openspec show <id> --json --deltas-only` if you need additional context from the proposal while implementing.
|
||||||
|
<!-- OPENSPEC:END -->
|
||||||
21
.claude/commands/openspec/archive.md
Normal file
21
.claude/commands/openspec/archive.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
name: OpenSpec: Archive
|
||||||
|
description: Archive a deployed OpenSpec change and update specs.
|
||||||
|
category: OpenSpec
|
||||||
|
tags: [openspec, archive]
|
||||||
|
---
|
||||||
|
<!-- OPENSPEC:START -->
|
||||||
|
**Guardrails**
|
||||||
|
- Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
|
||||||
|
- Keep changes tightly scoped to the requested outcome.
|
||||||
|
- Refer to `openspec/AGENTS.md` (located inside the `openspec/` directory—run `ls openspec` or `openspec update` if you don't see it) if you need additional OpenSpec conventions or clarifications.
|
||||||
|
|
||||||
|
**Steps**
|
||||||
|
1. Identify the requested change ID (via the prompt or `openspec list`).
|
||||||
|
2. Run `openspec archive <id> --yes` to let the CLI move the change and apply spec updates without prompts (use `--skip-specs` only for tooling-only work).
|
||||||
|
3. Review the command output to confirm the target specs were updated and the change landed in `changes/archive/`.
|
||||||
|
4. Validate with `openspec validate --strict` and inspect with `openspec show <id>` if anything looks off.
|
||||||
|
|
||||||
|
**Reference**
|
||||||
|
- Inspect refreshed specs with `openspec list --specs` and address any validation issues before handing off.
|
||||||
|
<!-- OPENSPEC:END -->
|
||||||
27
.claude/commands/openspec/proposal.md
Normal file
27
.claude/commands/openspec/proposal.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
---
|
||||||
|
name: OpenSpec: Proposal
|
||||||
|
description: Scaffold a new OpenSpec change and validate strictly.
|
||||||
|
category: OpenSpec
|
||||||
|
tags: [openspec, change]
|
||||||
|
---
|
||||||
|
<!-- OPENSPEC:START -->
|
||||||
|
**Guardrails**
|
||||||
|
- Favor straightforward, minimal implementations first and add complexity only when it is requested or clearly required.
|
||||||
|
- Keep changes tightly scoped to the requested outcome.
|
||||||
|
- Refer to `openspec/AGENTS.md` (located inside the `openspec/` directory—run `ls openspec` or `openspec update` if you don't see it) if you need additional OpenSpec conventions or clarifications.
|
||||||
|
- Identify any vague or ambiguous details and ask the necessary follow-up questions before editing files.
|
||||||
|
|
||||||
|
**Steps**
|
||||||
|
1. Review `openspec/project.md`, run `openspec list` and `openspec list --specs`, and inspect related code or docs (e.g., via `rg`/`ls`) to ground the proposal in current behaviour; note any gaps that require clarification.
|
||||||
|
2. Choose a unique verb-led `change-id` and scaffold `proposal.md`, `tasks.md`, and `design.md` (when needed) under `openspec/changes/<id>/`.
|
||||||
|
3. Map the change into concrete capabilities or requirements, breaking multi-scope efforts into distinct spec deltas with clear relationships and sequencing.
|
||||||
|
4. Capture architectural reasoning in `design.md` when the solution spans multiple systems, introduces new patterns, or demands trade-off discussion before committing to specs.
|
||||||
|
5. Draft spec deltas in `changes/<id>/specs/<capability>/spec.md` (one folder per capability) using `## ADDED|MODIFIED|REMOVED Requirements` with at least one `#### Scenario:` per requirement and cross-reference related capabilities when relevant.
|
||||||
|
6. Draft `tasks.md` as an ordered list of small, verifiable work items that deliver user-visible progress, include validation (tests, tooling), and highlight dependencies or parallelizable work.
|
||||||
|
7. Validate with `openspec validate <id> --strict` and resolve every issue before sharing the proposal.
|
||||||
|
|
||||||
|
**Reference**
|
||||||
|
- Use `openspec show <id> --json --deltas-only` or `openspec show <spec> --type spec` to inspect details when validation fails.
|
||||||
|
- Search existing requirements with `rg -n "Requirement:|Scenario:" openspec/specs` before writing new ones.
|
||||||
|
- Explore the codebase with `rg <keyword>`, `ls`, or direct file reads so proposals align with current implementation realities.
|
||||||
|
<!-- OPENSPEC:END -->
|
||||||
26
.dockerignore
Normal file
26
.dockerignore
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
node_modules
|
||||||
|
.next
|
||||||
|
.git
|
||||||
|
.gitignore
|
||||||
|
.env.local
|
||||||
|
.env.*.local
|
||||||
|
.angular
|
||||||
|
dist
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
.DS_Store
|
||||||
|
*.pem
|
||||||
|
.idea
|
||||||
|
.vscode
|
||||||
|
.svn
|
||||||
|
.hg
|
||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
*~
|
||||||
|
.cache
|
||||||
|
.turbo
|
||||||
|
coverage
|
||||||
|
__pycache__
|
||||||
|
*.egg-info
|
||||||
|
.pytest_cache
|
||||||
1
.env.local
Normal file
1
.env.local
Normal file
@ -0,0 +1 @@
|
|||||||
|
NEXT_PUBLIC_API_URL=http://localhost:8000/api
|
||||||
16
.env.production
Normal file
16
.env.production
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# Production Environment Variables
|
||||||
|
# API Configuration
|
||||||
|
NEXT_PUBLIC_API_URL=https://portfolio-host.com/api
|
||||||
|
|
||||||
|
# Next.js Settings
|
||||||
|
NODE_ENV=production
|
||||||
|
|
||||||
|
# Feature Flags
|
||||||
|
NEXT_PUBLIC_ENABLE_ANALYTICS=true
|
||||||
|
NEXT_PUBLIC_ENABLE_ERROR_TRACKING=true
|
||||||
|
|
||||||
|
# Performance & Optimization
|
||||||
|
NEXT_PUBLIC_ENABLE_COMPRESSION=true
|
||||||
|
|
||||||
|
# Security
|
||||||
|
NEXT_PUBLIC_STRICT_SECURITY_HEADERS=true
|
||||||
2
.env.test
Normal file
2
.env.test
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
NEXT_PUBLIC_API_URL=http://localhost:8000/api
|
||||||
|
NODE_ENV=test
|
||||||
81
.gitea/workflows/deploy-alpha.yml
Normal file
81
.gitea/workflows/deploy-alpha.yml
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
name: Build and Deploy to k3s (Alpha)
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'PRE_ALPHA*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-deploy:
|
||||||
|
env:
|
||||||
|
KUBECONFIG: ~/.kube/config
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: '20'
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Build Next.js app
|
||||||
|
run: npm run build
|
||||||
|
env:
|
||||||
|
NEXT_PUBLIC_API_URL: ${{ secrets.ALPHA_API_URL }}
|
||||||
|
|
||||||
|
- name: Build Docker image
|
||||||
|
run: |
|
||||||
|
docker build \
|
||||||
|
-t ${{ secrets.REGISTRY_URL }}/${{ secrets.REGISTRY_USER }}/hosting-frontend-alpha:${{ github.sha }} \
|
||||||
|
-t ${{ secrets.REGISTRY_URL }}/${{ secrets.REGISTRY_USER }}/hosting-frontend-alpha:latest \
|
||||||
|
--build-arg NODE_ENV=production \
|
||||||
|
.
|
||||||
|
|
||||||
|
- name: Login to Container Registry
|
||||||
|
run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ secrets.REGISTRY_URL }} -u "${{ secrets.REGISTRY_USER }}" --password-stdin
|
||||||
|
|
||||||
|
- name: Push Docker images
|
||||||
|
run: |
|
||||||
|
docker push ${{ secrets.REGISTRY_URL }}/${{ secrets.REGISTRY_USER }}/hosting-frontend-alpha:${{ github.sha }}
|
||||||
|
docker push ${{ secrets.REGISTRY_URL }}/${{ secrets.REGISTRY_USER }}/hosting-frontend-alpha:latest
|
||||||
|
|
||||||
|
- name: Setup kubectl
|
||||||
|
uses: azure/setup-kubectl@v3
|
||||||
|
with:
|
||||||
|
version: 'latest'
|
||||||
|
|
||||||
|
- name: Configure kubectl
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.kube
|
||||||
|
echo "${{ secrets.KUBE_CONFIG }}" > ~/.kube/config
|
||||||
|
chmod 600 ~/.kube/config
|
||||||
|
|
||||||
|
- name: Validate kubeconfig and cluster connectivity
|
||||||
|
run: |
|
||||||
|
if ! kubectl version --client; then
|
||||||
|
echo "❌ Failed to get kubectl version"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if ! kubectl cluster-info --kubeconfig ~/.kube/config > /dev/null 2>&1; then
|
||||||
|
echo "❌ Failed to connect to cluster"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "✅ Successfully connected to Kubernetes cluster"
|
||||||
|
|
||||||
|
- name: Deploy to Alpha (k3s)
|
||||||
|
run: |
|
||||||
|
echo "Applying Kubernetes manifests..."
|
||||||
|
kubectl apply -k deploy/k3s/alpha --kubeconfig ~/.kube/config
|
||||||
|
|
||||||
|
echo "Updating deployment image..."
|
||||||
|
kubectl set image deployment/hosting-frontend \
|
||||||
|
hosting-frontend=${{ secrets.REGISTRY_URL }}/${{ secrets.REGISTRY_USER }}/hosting-frontend-alpha:${{ github.sha }} \
|
||||||
|
-n hosting-alpha --kubeconfig ~/.kube/config
|
||||||
|
|
||||||
|
echo "Waiting for rollout to complete..."
|
||||||
|
kubectl rollout status deployment/hosting-frontend -n hosting-alpha --kubeconfig ~/.kube/config --timeout=5m
|
||||||
|
|
||||||
|
echo "✅ Alpha deployment complete!"
|
||||||
81
.gitea/workflows/deploy-prod.yml
Normal file
81
.gitea/workflows/deploy-prod.yml
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
name: Build and Deploy to k3s (Production)
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'PROD*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-deploy:
|
||||||
|
env:
|
||||||
|
KUBECONFIG: ~/.kube/config
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: '20'
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Build Next.js app
|
||||||
|
run: npm run build
|
||||||
|
env:
|
||||||
|
NEXT_PUBLIC_API_URL: ${{ secrets.PROD_API_URL }}
|
||||||
|
|
||||||
|
- name: Build Docker image
|
||||||
|
run: |
|
||||||
|
docker build \
|
||||||
|
-t ${{ secrets.REGISTRY_URL }}/${{ secrets.REGISTRY_USER }}/hosting-frontend-prod:${{ github.sha }} \
|
||||||
|
-t ${{ secrets.REGISTRY_URL }}/${{ secrets.REGISTRY_USER }}/hosting-frontend-prod:latest \
|
||||||
|
--build-arg NODE_ENV=production \
|
||||||
|
.
|
||||||
|
|
||||||
|
- name: Login to Container Registry
|
||||||
|
run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ secrets.REGISTRY_URL }} -u "${{ secrets.REGISTRY_USER }}" --password-stdin
|
||||||
|
|
||||||
|
- name: Push Docker images
|
||||||
|
run: |
|
||||||
|
docker push ${{ secrets.REGISTRY_URL }}/${{ secrets.REGISTRY_USER }}/hosting-frontend-prod:${{ github.sha }}
|
||||||
|
docker push ${{ secrets.REGISTRY_URL }}/${{ secrets.REGISTRY_USER }}/hosting-frontend-prod:latest
|
||||||
|
|
||||||
|
- name: Setup kubectl
|
||||||
|
uses: azure/setup-kubectl@v3
|
||||||
|
with:
|
||||||
|
version: 'latest'
|
||||||
|
|
||||||
|
- name: Configure kubectl
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.kube
|
||||||
|
echo "${{ secrets.KUBE_CONFIG }}" > ~/.kube/config
|
||||||
|
chmod 600 ~/.kube/config
|
||||||
|
|
||||||
|
- name: Validate kubeconfig and cluster connectivity
|
||||||
|
run: |
|
||||||
|
if ! kubectl version --client; then
|
||||||
|
echo "❌ Failed to get kubectl version"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if ! kubectl cluster-info --kubeconfig ~/.kube/config > /dev/null 2>&1; then
|
||||||
|
echo "❌ Failed to connect to cluster"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "✅ Successfully connected to Kubernetes cluster"
|
||||||
|
|
||||||
|
- name: Deploy to Production (k3s)
|
||||||
|
run: |
|
||||||
|
echo "Applying Kubernetes manifests..."
|
||||||
|
kubectl apply -k deploy/k3s/prod --kubeconfig ~/.kube/config
|
||||||
|
|
||||||
|
echo "Updating deployment image..."
|
||||||
|
kubectl set image deployment/hosting-frontend \
|
||||||
|
hosting-frontend=${{ secrets.REGISTRY_URL }}/${{ secrets.REGISTRY_USER }}/hosting-frontend-prod:${{ github.sha }} \
|
||||||
|
-n hosting --kubeconfig ~/.kube/config
|
||||||
|
|
||||||
|
echo "Waiting for rollout to complete..."
|
||||||
|
kubectl rollout status deployment/hosting-frontend -n hosting --kubeconfig ~/.kube/config --timeout=5m
|
||||||
|
|
||||||
|
echo "✅ Production deployment complete!"
|
||||||
159
.gitea/workflows/test-and-validate.yml
Normal file
159
.gitea/workflows/test-and-validate.yml
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
name: Test, Build & Validate
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- develop
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- develop
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test-and-validate:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
node-version: [20]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Setup Node.js ${{ matrix.node-version }}
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
cache: 'npm'
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Run linter
|
||||||
|
run: npm run lint || true
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
- name: Run tests
|
||||||
|
run: npm run test:ci
|
||||||
|
env:
|
||||||
|
CI: true
|
||||||
|
|
||||||
|
- name: Generate coverage report
|
||||||
|
run: npm run test:coverage
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
- name: Check coverage threshold
|
||||||
|
run: |
|
||||||
|
COVERAGE=$(npm run test:coverage 2>&1 | grep -oP 'statements.*?(\d+\.\d+)%' | grep -oP '\d+\.\d+')
|
||||||
|
echo "Coverage: ${COVERAGE}%"
|
||||||
|
if (( $(echo "$COVERAGE < 90" | bc -l) )); then
|
||||||
|
echo "❌ Coverage below 90%: ${COVERAGE}%"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "✅ Coverage meets threshold: ${COVERAGE}%"
|
||||||
|
|
||||||
|
- name: Build Next.js application
|
||||||
|
run: npm run build
|
||||||
|
env:
|
||||||
|
NEXT_PUBLIC_API_URL: ${{ secrets.TEST_API_URL || 'http://localhost:8000/api' }}
|
||||||
|
|
||||||
|
- name: Check build output
|
||||||
|
run: |
|
||||||
|
if [ ! -d ".next" ]; then
|
||||||
|
echo "❌ Build failed - .next directory not found"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "✅ Build successful"
|
||||||
|
|
||||||
|
- name: Validate bundle size
|
||||||
|
run: |
|
||||||
|
echo "Build artifacts generated:"
|
||||||
|
du -sh .next/ || true
|
||||||
|
|
||||||
|
BUILD_SIZE=$(du -sb .next/ | awk '{print $1}')
|
||||||
|
MAX_SIZE=$((250 * 1024 * 1024))
|
||||||
|
|
||||||
|
if [ $BUILD_SIZE -gt $MAX_SIZE ]; then
|
||||||
|
echo "❌ Build size ($((BUILD_SIZE / 1024 / 1024))MB) exceeds limit (250MB)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "✅ Build size ($((BUILD_SIZE / 1024 / 1024))MB) within limits"
|
||||||
|
|
||||||
|
- name: Test Docker build
|
||||||
|
run: |
|
||||||
|
docker build \
|
||||||
|
-t hosting-frontend:test \
|
||||||
|
--build-arg NODE_ENV=production \
|
||||||
|
.
|
||||||
|
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "❌ Docker build failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "✅ Docker build successful"
|
||||||
|
|
||||||
|
- name: Check Docker image size
|
||||||
|
run: |
|
||||||
|
IMAGE_SIZE=$(docker images hosting-frontend:test --format "{{.Size}}")
|
||||||
|
echo "Docker image size: $IMAGE_SIZE"
|
||||||
|
|
||||||
|
# Extract numeric value and unit
|
||||||
|
SIZE_NUM=$(echo $IMAGE_SIZE | grep -oP '^\d+(\.\d+)?')
|
||||||
|
SIZE_UNIT=$(echo $IMAGE_SIZE | grep -oP '[MG]B$')
|
||||||
|
|
||||||
|
# Convert to MB for comparison
|
||||||
|
if [[ $SIZE_UNIT == "GB" ]]; then
|
||||||
|
SIZE_NUM=$(echo "$SIZE_NUM * 1024" | bc)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if (( $(echo "$SIZE_NUM > 250" | bc -l) )); then
|
||||||
|
echo "❌ Docker image size (${SIZE_NUM}${SIZE_UNIT}) exceeds 250MB limit"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "✅ Docker image size (${IMAGE_SIZE}) within limits"
|
||||||
|
|
||||||
|
- name: Run Docker health check
|
||||||
|
run: |
|
||||||
|
docker run -d \
|
||||||
|
--name hosting-frontend-test \
|
||||||
|
-p 3000:3000 \
|
||||||
|
hosting-frontend:test
|
||||||
|
|
||||||
|
sleep 5
|
||||||
|
|
||||||
|
# Test health endpoint
|
||||||
|
if ! docker exec hosting-frontend-test curl -f http://localhost:3000/ > /dev/null 2>&1; then
|
||||||
|
echo "❌ Docker container health check failed"
|
||||||
|
docker logs hosting-frontend-test
|
||||||
|
docker stop hosting-frontend-test
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "✅ Docker container health check passed"
|
||||||
|
docker stop hosting-frontend-test
|
||||||
|
|
||||||
|
- name: Upload coverage reports
|
||||||
|
if: always()
|
||||||
|
run: |
|
||||||
|
if [ -d "coverage" ]; then
|
||||||
|
echo "Coverage report directory found"
|
||||||
|
ls -la coverage/ || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Summary
|
||||||
|
if: always()
|
||||||
|
run: |
|
||||||
|
echo "=== CI/CD Validation Summary ==="
|
||||||
|
echo "✅ Checkout complete"
|
||||||
|
echo "✅ Dependencies installed"
|
||||||
|
echo "✅ Tests executed"
|
||||||
|
echo "✅ Coverage validated"
|
||||||
|
echo "✅ Build successful"
|
||||||
|
echo "✅ Bundle size checked"
|
||||||
|
echo "✅ Docker build verified"
|
||||||
|
echo "✅ Docker image size validated"
|
||||||
|
echo "✅ Health checks passed"
|
||||||
|
echo ""
|
||||||
|
echo "Ready for deployment! 🚀"
|
||||||
5
.gitignore
vendored
5
.gitignore
vendored
@ -40,3 +40,8 @@ testem.log
|
|||||||
# System files
|
# System files
|
||||||
.DS_Store
|
.DS_Store
|
||||||
Thumbs.db
|
Thumbs.db
|
||||||
|
|
||||||
|
# Environment variables
|
||||||
|
.env
|
||||||
|
.env.local
|
||||||
|
.env.*.local
|
||||||
|
|||||||
1
.next/BUILD_ID
Normal file
1
.next/BUILD_ID
Normal file
@ -0,0 +1 @@
|
|||||||
|
PWMDgov_Krrwu56xwxFQu
|
||||||
56
.next/app-build-manifest.json
Normal file
56
.next/app-build-manifest.json
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
{
|
||||||
|
"pages": {
|
||||||
|
"/_not-found/page": [
|
||||||
|
"static/chunks/webpack-55227b9688a0c633.js",
|
||||||
|
"static/chunks/4bd1b696-c023c6e3521b1417.js",
|
||||||
|
"static/chunks/255-839588e0f3decf6f.js",
|
||||||
|
"static/chunks/main-app-f12c4fa131e819eb.js",
|
||||||
|
"static/chunks/app/_not-found/page-c8e8e0d33a568bc2.js"
|
||||||
|
],
|
||||||
|
"/layout": [
|
||||||
|
"static/chunks/webpack-55227b9688a0c633.js",
|
||||||
|
"static/chunks/4bd1b696-c023c6e3521b1417.js",
|
||||||
|
"static/chunks/255-839588e0f3decf6f.js",
|
||||||
|
"static/chunks/main-app-f12c4fa131e819eb.js",
|
||||||
|
"static/css/d7f8f6bd0f8ab399.css",
|
||||||
|
"static/chunks/app/layout-4229b0fdfc81402d.js"
|
||||||
|
],
|
||||||
|
"/dashboard/page": [
|
||||||
|
"static/chunks/webpack-55227b9688a0c633.js",
|
||||||
|
"static/chunks/4bd1b696-c023c6e3521b1417.js",
|
||||||
|
"static/chunks/255-839588e0f3decf6f.js",
|
||||||
|
"static/chunks/main-app-f12c4fa131e819eb.js",
|
||||||
|
"static/chunks/676-12b3bc2115e1f159.js",
|
||||||
|
"static/chunks/app/dashboard/page-492e227aebaeda7d.js"
|
||||||
|
],
|
||||||
|
"/login/page": [
|
||||||
|
"static/chunks/webpack-55227b9688a0c633.js",
|
||||||
|
"static/chunks/4bd1b696-c023c6e3521b1417.js",
|
||||||
|
"static/chunks/255-839588e0f3decf6f.js",
|
||||||
|
"static/chunks/main-app-f12c4fa131e819eb.js",
|
||||||
|
"static/chunks/676-12b3bc2115e1f159.js",
|
||||||
|
"static/chunks/619-ba102abea3e3d0e4.js",
|
||||||
|
"static/chunks/934-442cbaed1fe18f63.js",
|
||||||
|
"static/chunks/app/login/page-e94fa473a12153f5.js"
|
||||||
|
],
|
||||||
|
"/register/page": [
|
||||||
|
"static/chunks/webpack-55227b9688a0c633.js",
|
||||||
|
"static/chunks/4bd1b696-c023c6e3521b1417.js",
|
||||||
|
"static/chunks/255-839588e0f3decf6f.js",
|
||||||
|
"static/chunks/main-app-f12c4fa131e819eb.js",
|
||||||
|
"static/chunks/676-12b3bc2115e1f159.js",
|
||||||
|
"static/chunks/619-ba102abea3e3d0e4.js",
|
||||||
|
"static/chunks/934-442cbaed1fe18f63.js",
|
||||||
|
"static/chunks/app/register/page-b16e4dc73134df6c.js"
|
||||||
|
],
|
||||||
|
"/page": [
|
||||||
|
"static/chunks/webpack-55227b9688a0c633.js",
|
||||||
|
"static/chunks/4bd1b696-c023c6e3521b1417.js",
|
||||||
|
"static/chunks/255-839588e0f3decf6f.js",
|
||||||
|
"static/chunks/main-app-f12c4fa131e819eb.js",
|
||||||
|
"static/chunks/676-12b3bc2115e1f159.js",
|
||||||
|
"static/chunks/619-ba102abea3e3d0e4.js",
|
||||||
|
"static/chunks/app/page-ff92cb3df51b84dd.js"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
7
.next/app-path-routes-manifest.json
Normal file
7
.next/app-path-routes-manifest.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"/_not-found/page": "/_not-found",
|
||||||
|
"/dashboard/page": "/dashboard",
|
||||||
|
"/login/page": "/login",
|
||||||
|
"/register/page": "/register",
|
||||||
|
"/page": "/"
|
||||||
|
}
|
||||||
33
.next/build-manifest.json
Normal file
33
.next/build-manifest.json
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
"polyfillFiles": [
|
||||||
|
"static/chunks/polyfills-42372ed130431b0a.js"
|
||||||
|
],
|
||||||
|
"devFiles": [],
|
||||||
|
"ampDevFiles": [],
|
||||||
|
"lowPriorityFiles": [
|
||||||
|
"static/PWMDgov_Krrwu56xwxFQu/_buildManifest.js",
|
||||||
|
"static/PWMDgov_Krrwu56xwxFQu/_ssgManifest.js"
|
||||||
|
],
|
||||||
|
"rootMainFiles": [
|
||||||
|
"static/chunks/webpack-55227b9688a0c633.js",
|
||||||
|
"static/chunks/4bd1b696-c023c6e3521b1417.js",
|
||||||
|
"static/chunks/255-839588e0f3decf6f.js",
|
||||||
|
"static/chunks/main-app-f12c4fa131e819eb.js"
|
||||||
|
],
|
||||||
|
"rootMainFilesTree": {},
|
||||||
|
"pages": {
|
||||||
|
"/_app": [
|
||||||
|
"static/chunks/webpack-55227b9688a0c633.js",
|
||||||
|
"static/chunks/framework-292291387d6b2e39.js",
|
||||||
|
"static/chunks/main-991ff9953494884b.js",
|
||||||
|
"static/chunks/pages/_app-7d307437aca18ad4.js"
|
||||||
|
],
|
||||||
|
"/_error": [
|
||||||
|
"static/chunks/webpack-55227b9688a0c633.js",
|
||||||
|
"static/chunks/framework-292291387d6b2e39.js",
|
||||||
|
"static/chunks/main-991ff9953494884b.js",
|
||||||
|
"static/chunks/pages/_error-cb2a52f75f2162e2.js"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ampFirstPages": []
|
||||||
|
}
|
||||||
1
.next/cache/.previewinfo
vendored
Normal file
1
.next/cache/.previewinfo
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"previewModeId":"dc559f34b2cfb8e471f5cf7c4303e624","previewModeSigningKey":"cbfcb5c64d2055dbda1bfdbc6833ad47f57d6fb250a5de05c1dc43c23f26d6b1","previewModeEncryptionKey":"0ac99f44e54b21dc78776676abda88910973e01c15da70460817db51a4491fdd","expireAt":1761863112139}
|
||||||
1
.next/cache/.rscinfo
vendored
Normal file
1
.next/cache/.rscinfo
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"encryption.key":"UJCuqkc43Q1Tu8qgslshb0xL4QAUycNhcPIjjC8lUyo=","encryption.expire_at":1761863112040}
|
||||||
1
.next/cache/.tsbuildinfo
vendored
Normal file
1
.next/cache/.tsbuildinfo
vendored
Normal file
File diff suppressed because one or more lines are too long
1
.next/cache/next-devtools-config.json
vendored
Normal file
1
.next/cache/next-devtools-config.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
BIN
.next/cache/webpack/client-development/0.pack.gz
vendored
Normal file
BIN
.next/cache/webpack/client-development/0.pack.gz
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/client-development/1.pack.gz
vendored
Normal file
BIN
.next/cache/webpack/client-development/1.pack.gz
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/client-development/index.pack.gz
vendored
Normal file
BIN
.next/cache/webpack/client-development/index.pack.gz
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/client-development/index.pack.gz.old
vendored
Normal file
BIN
.next/cache/webpack/client-development/index.pack.gz.old
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/client-production/0.pack
vendored
Normal file
BIN
.next/cache/webpack/client-production/0.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/client-production/1.pack
vendored
Normal file
BIN
.next/cache/webpack/client-production/1.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/client-production/2.pack
vendored
Normal file
BIN
.next/cache/webpack/client-production/2.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/client-production/3.pack
vendored
Normal file
BIN
.next/cache/webpack/client-production/3.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/client-production/4.pack
vendored
Normal file
BIN
.next/cache/webpack/client-production/4.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/client-production/5.pack
vendored
Normal file
BIN
.next/cache/webpack/client-production/5.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/client-production/6.pack
vendored
Normal file
BIN
.next/cache/webpack/client-production/6.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/client-production/7.pack
vendored
Normal file
BIN
.next/cache/webpack/client-production/7.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/client-production/8.pack
vendored
Normal file
BIN
.next/cache/webpack/client-production/8.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/client-production/9.pack
vendored
Normal file
BIN
.next/cache/webpack/client-production/9.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/client-production/index.pack
vendored
Normal file
BIN
.next/cache/webpack/client-production/index.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/client-production/index.pack.old
vendored
Normal file
BIN
.next/cache/webpack/client-production/index.pack.old
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/edge-server-production/0.pack
vendored
Normal file
BIN
.next/cache/webpack/edge-server-production/0.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/edge-server-production/1.pack
vendored
Normal file
BIN
.next/cache/webpack/edge-server-production/1.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/edge-server-production/index.pack
vendored
Normal file
BIN
.next/cache/webpack/edge-server-production/index.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/edge-server-production/index.pack.old
vendored
Normal file
BIN
.next/cache/webpack/edge-server-production/index.pack.old
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/server-development/0.pack.gz
vendored
Normal file
BIN
.next/cache/webpack/server-development/0.pack.gz
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/server-development/index.pack.gz
vendored
Normal file
BIN
.next/cache/webpack/server-development/index.pack.gz
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/server-production/0.pack
vendored
Normal file
BIN
.next/cache/webpack/server-production/0.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/server-production/1.pack
vendored
Normal file
BIN
.next/cache/webpack/server-production/1.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/server-production/2.pack
vendored
Normal file
BIN
.next/cache/webpack/server-production/2.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/server-production/3.pack
vendored
Normal file
BIN
.next/cache/webpack/server-production/3.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/server-production/4.pack
vendored
Normal file
BIN
.next/cache/webpack/server-production/4.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/server-production/5.pack
vendored
Normal file
BIN
.next/cache/webpack/server-production/5.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/server-production/index.pack
vendored
Normal file
BIN
.next/cache/webpack/server-production/index.pack
vendored
Normal file
Binary file not shown.
BIN
.next/cache/webpack/server-production/index.pack.old
vendored
Normal file
BIN
.next/cache/webpack/server-production/index.pack.old
vendored
Normal file
Binary file not shown.
6
.next/diagnostics/build-diagnostics.json
Normal file
6
.next/diagnostics/build-diagnostics.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"buildStage": "static-generation",
|
||||||
|
"buildOptions": {
|
||||||
|
"useBuildWorker": "true"
|
||||||
|
}
|
||||||
|
}
|
||||||
1
.next/diagnostics/framework.json
Normal file
1
.next/diagnostics/framework.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"name":"Next.js","version":"15.5.5"}
|
||||||
6
.next/export-marker.json
Normal file
6
.next/export-marker.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"hasExportPathMap": false,
|
||||||
|
"exportTrailingSlash": false,
|
||||||
|
"isNextImageImported": false
|
||||||
|
}
|
||||||
63
.next/images-manifest.json
Normal file
63
.next/images-manifest.json
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"images": {
|
||||||
|
"deviceSizes": [
|
||||||
|
640,
|
||||||
|
750,
|
||||||
|
828,
|
||||||
|
1080,
|
||||||
|
1200,
|
||||||
|
1920,
|
||||||
|
2048,
|
||||||
|
3840
|
||||||
|
],
|
||||||
|
"imageSizes": [
|
||||||
|
16,
|
||||||
|
32,
|
||||||
|
48,
|
||||||
|
64,
|
||||||
|
96,
|
||||||
|
128,
|
||||||
|
256,
|
||||||
|
384
|
||||||
|
],
|
||||||
|
"path": "/_next/image",
|
||||||
|
"loader": "default",
|
||||||
|
"loaderFile": "",
|
||||||
|
"domains": [],
|
||||||
|
"disableStaticImages": false,
|
||||||
|
"minimumCacheTTL": 60,
|
||||||
|
"formats": [
|
||||||
|
"image/webp"
|
||||||
|
],
|
||||||
|
"dangerouslyAllowSVG": false,
|
||||||
|
"contentSecurityPolicy": "script-src 'none'; frame-src 'none'; sandbox;",
|
||||||
|
"contentDispositionType": "attachment",
|
||||||
|
"remotePatterns": [
|
||||||
|
{
|
||||||
|
"protocol": "https",
|
||||||
|
"hostname": "^(?:(?!\\.)(?:(?:(?!(?:^|\\/)\\.).)*?)\\/?)$",
|
||||||
|
"pathname": "^(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$))(?:(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$)).)*?)\\/?)$"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"unoptimized": false,
|
||||||
|
"sizes": [
|
||||||
|
640,
|
||||||
|
750,
|
||||||
|
828,
|
||||||
|
1080,
|
||||||
|
1200,
|
||||||
|
1920,
|
||||||
|
2048,
|
||||||
|
3840,
|
||||||
|
16,
|
||||||
|
32,
|
||||||
|
48,
|
||||||
|
64,
|
||||||
|
96,
|
||||||
|
128,
|
||||||
|
256,
|
||||||
|
384
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
1
.next/next-minimal-server.js.nft.json
Normal file
1
.next/next-minimal-server.js.nft.json
Normal file
File diff suppressed because one or more lines are too long
1
.next/next-server.js.nft.json
Normal file
1
.next/next-server.js.nft.json
Normal file
File diff suppressed because one or more lines are too long
1
.next/package.json
Normal file
1
.next/package.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"type": "commonjs"}
|
||||||
133
.next/prerender-manifest.json
Normal file
133
.next/prerender-manifest.json
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"routes": {
|
||||||
|
"/_not-found": {
|
||||||
|
"initialStatus": 404,
|
||||||
|
"experimentalBypassFor": [
|
||||||
|
{
|
||||||
|
"type": "header",
|
||||||
|
"key": "next-action"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "header",
|
||||||
|
"key": "content-type",
|
||||||
|
"value": "multipart/form-data;.*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"initialRevalidateSeconds": false,
|
||||||
|
"srcRoute": "/_not-found",
|
||||||
|
"dataRoute": "/_not-found.rsc",
|
||||||
|
"allowHeader": [
|
||||||
|
"host",
|
||||||
|
"x-matched-path",
|
||||||
|
"x-prerender-revalidate",
|
||||||
|
"x-prerender-revalidate-if-generated",
|
||||||
|
"x-next-revalidated-tags",
|
||||||
|
"x-next-revalidate-tag-token"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"/register": {
|
||||||
|
"experimentalBypassFor": [
|
||||||
|
{
|
||||||
|
"type": "header",
|
||||||
|
"key": "next-action"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "header",
|
||||||
|
"key": "content-type",
|
||||||
|
"value": "multipart/form-data;.*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"initialRevalidateSeconds": false,
|
||||||
|
"srcRoute": "/register",
|
||||||
|
"dataRoute": "/register.rsc",
|
||||||
|
"allowHeader": [
|
||||||
|
"host",
|
||||||
|
"x-matched-path",
|
||||||
|
"x-prerender-revalidate",
|
||||||
|
"x-prerender-revalidate-if-generated",
|
||||||
|
"x-next-revalidated-tags",
|
||||||
|
"x-next-revalidate-tag-token"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"/login": {
|
||||||
|
"experimentalBypassFor": [
|
||||||
|
{
|
||||||
|
"type": "header",
|
||||||
|
"key": "next-action"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "header",
|
||||||
|
"key": "content-type",
|
||||||
|
"value": "multipart/form-data;.*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"initialRevalidateSeconds": false,
|
||||||
|
"srcRoute": "/login",
|
||||||
|
"dataRoute": "/login.rsc",
|
||||||
|
"allowHeader": [
|
||||||
|
"host",
|
||||||
|
"x-matched-path",
|
||||||
|
"x-prerender-revalidate",
|
||||||
|
"x-prerender-revalidate-if-generated",
|
||||||
|
"x-next-revalidated-tags",
|
||||||
|
"x-next-revalidate-tag-token"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"/": {
|
||||||
|
"experimentalBypassFor": [
|
||||||
|
{
|
||||||
|
"type": "header",
|
||||||
|
"key": "next-action"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "header",
|
||||||
|
"key": "content-type",
|
||||||
|
"value": "multipart/form-data;.*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"initialRevalidateSeconds": false,
|
||||||
|
"srcRoute": "/",
|
||||||
|
"dataRoute": "/index.rsc",
|
||||||
|
"allowHeader": [
|
||||||
|
"host",
|
||||||
|
"x-matched-path",
|
||||||
|
"x-prerender-revalidate",
|
||||||
|
"x-prerender-revalidate-if-generated",
|
||||||
|
"x-next-revalidated-tags",
|
||||||
|
"x-next-revalidate-tag-token"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"/dashboard": {
|
||||||
|
"experimentalBypassFor": [
|
||||||
|
{
|
||||||
|
"type": "header",
|
||||||
|
"key": "next-action"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "header",
|
||||||
|
"key": "content-type",
|
||||||
|
"value": "multipart/form-data;.*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"initialRevalidateSeconds": false,
|
||||||
|
"srcRoute": "/dashboard",
|
||||||
|
"dataRoute": "/dashboard.rsc",
|
||||||
|
"allowHeader": [
|
||||||
|
"host",
|
||||||
|
"x-matched-path",
|
||||||
|
"x-prerender-revalidate",
|
||||||
|
"x-prerender-revalidate-if-generated",
|
||||||
|
"x-next-revalidated-tags",
|
||||||
|
"x-next-revalidate-tag-token"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dynamicRoutes": {},
|
||||||
|
"notFoundRoutes": [],
|
||||||
|
"preview": {
|
||||||
|
"previewModeId": "dc559f34b2cfb8e471f5cf7c4303e624",
|
||||||
|
"previewModeSigningKey": "cbfcb5c64d2055dbda1bfdbc6833ad47f57d6fb250a5de05c1dc43c23f26d6b1",
|
||||||
|
"previewModeEncryptionKey": "0ac99f44e54b21dc78776676abda88910973e01c15da70460817db51a4491fdd"
|
||||||
|
}
|
||||||
|
}
|
||||||
1
.next/react-loadable-manifest.json
Normal file
1
.next/react-loadable-manifest.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
325
.next/required-server-files.json
Normal file
325
.next/required-server-files.json
Normal file
@ -0,0 +1,325 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"config": {
|
||||||
|
"env": {},
|
||||||
|
"webpack": null,
|
||||||
|
"eslint": {
|
||||||
|
"ignoreDuringBuilds": false
|
||||||
|
},
|
||||||
|
"typescript": {
|
||||||
|
"ignoreBuildErrors": false,
|
||||||
|
"tsconfigPath": "tsconfig.json"
|
||||||
|
},
|
||||||
|
"typedRoutes": false,
|
||||||
|
"distDir": ".next",
|
||||||
|
"cleanDistDir": true,
|
||||||
|
"assetPrefix": "",
|
||||||
|
"cacheMaxMemorySize": 52428800,
|
||||||
|
"configOrigin": "next.config.js",
|
||||||
|
"useFileSystemPublicRoutes": true,
|
||||||
|
"generateEtags": true,
|
||||||
|
"pageExtensions": [
|
||||||
|
"tsx",
|
||||||
|
"ts",
|
||||||
|
"jsx",
|
||||||
|
"js"
|
||||||
|
],
|
||||||
|
"poweredByHeader": true,
|
||||||
|
"compress": true,
|
||||||
|
"images": {
|
||||||
|
"deviceSizes": [
|
||||||
|
640,
|
||||||
|
750,
|
||||||
|
828,
|
||||||
|
1080,
|
||||||
|
1200,
|
||||||
|
1920,
|
||||||
|
2048,
|
||||||
|
3840
|
||||||
|
],
|
||||||
|
"imageSizes": [
|
||||||
|
16,
|
||||||
|
32,
|
||||||
|
48,
|
||||||
|
64,
|
||||||
|
96,
|
||||||
|
128,
|
||||||
|
256,
|
||||||
|
384
|
||||||
|
],
|
||||||
|
"path": "/_next/image",
|
||||||
|
"loader": "default",
|
||||||
|
"loaderFile": "",
|
||||||
|
"domains": [],
|
||||||
|
"disableStaticImages": false,
|
||||||
|
"minimumCacheTTL": 60,
|
||||||
|
"formats": [
|
||||||
|
"image/webp"
|
||||||
|
],
|
||||||
|
"dangerouslyAllowSVG": false,
|
||||||
|
"contentSecurityPolicy": "script-src 'none'; frame-src 'none'; sandbox;",
|
||||||
|
"contentDispositionType": "attachment",
|
||||||
|
"remotePatterns": [
|
||||||
|
{
|
||||||
|
"protocol": "https",
|
||||||
|
"hostname": "**"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"unoptimized": false
|
||||||
|
},
|
||||||
|
"devIndicators": {
|
||||||
|
"position": "bottom-left"
|
||||||
|
},
|
||||||
|
"onDemandEntries": {
|
||||||
|
"maxInactiveAge": 60000,
|
||||||
|
"pagesBufferLength": 5
|
||||||
|
},
|
||||||
|
"amp": {
|
||||||
|
"canonicalBase": ""
|
||||||
|
},
|
||||||
|
"basePath": "",
|
||||||
|
"sassOptions": {},
|
||||||
|
"trailingSlash": false,
|
||||||
|
"i18n": null,
|
||||||
|
"productionBrowserSourceMaps": false,
|
||||||
|
"excludeDefaultMomentLocales": true,
|
||||||
|
"serverRuntimeConfig": {},
|
||||||
|
"publicRuntimeConfig": {},
|
||||||
|
"reactProductionProfiling": false,
|
||||||
|
"reactStrictMode": null,
|
||||||
|
"reactMaxHeadersLength": 6000,
|
||||||
|
"httpAgentOptions": {
|
||||||
|
"keepAlive": true
|
||||||
|
},
|
||||||
|
"logging": {},
|
||||||
|
"compiler": {},
|
||||||
|
"expireTime": 31536000,
|
||||||
|
"staticPageGenerationTimeout": 60,
|
||||||
|
"output": "standalone",
|
||||||
|
"modularizeImports": {
|
||||||
|
"@mui/icons-material": {
|
||||||
|
"transform": "@mui/icons-material/{{member}}"
|
||||||
|
},
|
||||||
|
"lodash": {
|
||||||
|
"transform": "lodash/{{member}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"outputFileTracingRoot": "/home/sorti/projects/hosting-frontend",
|
||||||
|
"experimental": {
|
||||||
|
"useSkewCookie": false,
|
||||||
|
"cacheLife": {
|
||||||
|
"default": {
|
||||||
|
"stale": 300,
|
||||||
|
"revalidate": 900,
|
||||||
|
"expire": 4294967294
|
||||||
|
},
|
||||||
|
"seconds": {
|
||||||
|
"stale": 30,
|
||||||
|
"revalidate": 1,
|
||||||
|
"expire": 60
|
||||||
|
},
|
||||||
|
"minutes": {
|
||||||
|
"stale": 300,
|
||||||
|
"revalidate": 60,
|
||||||
|
"expire": 3600
|
||||||
|
},
|
||||||
|
"hours": {
|
||||||
|
"stale": 300,
|
||||||
|
"revalidate": 3600,
|
||||||
|
"expire": 86400
|
||||||
|
},
|
||||||
|
"days": {
|
||||||
|
"stale": 300,
|
||||||
|
"revalidate": 86400,
|
||||||
|
"expire": 604800
|
||||||
|
},
|
||||||
|
"weeks": {
|
||||||
|
"stale": 300,
|
||||||
|
"revalidate": 604800,
|
||||||
|
"expire": 2592000
|
||||||
|
},
|
||||||
|
"max": {
|
||||||
|
"stale": 300,
|
||||||
|
"revalidate": 2592000,
|
||||||
|
"expire": 4294967294
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cacheHandlers": {},
|
||||||
|
"cssChunking": true,
|
||||||
|
"multiZoneDraftMode": false,
|
||||||
|
"appNavFailHandling": false,
|
||||||
|
"prerenderEarlyExit": true,
|
||||||
|
"serverMinification": true,
|
||||||
|
"serverSourceMaps": false,
|
||||||
|
"linkNoTouchStart": false,
|
||||||
|
"caseSensitiveRoutes": false,
|
||||||
|
"clientSegmentCache": false,
|
||||||
|
"clientParamParsing": false,
|
||||||
|
"dynamicOnHover": false,
|
||||||
|
"preloadEntriesOnStart": true,
|
||||||
|
"clientRouterFilter": true,
|
||||||
|
"clientRouterFilterRedirects": false,
|
||||||
|
"fetchCacheKeyPrefix": "",
|
||||||
|
"middlewarePrefetch": "flexible",
|
||||||
|
"optimisticClientCache": true,
|
||||||
|
"manualClientBasePath": false,
|
||||||
|
"cpus": 15,
|
||||||
|
"memoryBasedWorkersCount": false,
|
||||||
|
"imgOptConcurrency": null,
|
||||||
|
"imgOptTimeoutInSeconds": 7,
|
||||||
|
"imgOptMaxInputPixels": 268402689,
|
||||||
|
"imgOptSequentialRead": null,
|
||||||
|
"imgOptSkipMetadata": null,
|
||||||
|
"isrFlushToDisk": true,
|
||||||
|
"workerThreads": false,
|
||||||
|
"optimizeCss": false,
|
||||||
|
"nextScriptWorkers": false,
|
||||||
|
"scrollRestoration": false,
|
||||||
|
"externalDir": false,
|
||||||
|
"disableOptimizedLoading": false,
|
||||||
|
"gzipSize": true,
|
||||||
|
"craCompat": false,
|
||||||
|
"esmExternals": true,
|
||||||
|
"fullySpecified": false,
|
||||||
|
"swcTraceProfiling": false,
|
||||||
|
"forceSwcTransforms": false,
|
||||||
|
"largePageDataBytes": 128000,
|
||||||
|
"typedEnv": false,
|
||||||
|
"parallelServerCompiles": false,
|
||||||
|
"parallelServerBuildTraces": false,
|
||||||
|
"ppr": false,
|
||||||
|
"authInterrupts": false,
|
||||||
|
"webpackMemoryOptimizations": false,
|
||||||
|
"optimizeServerReact": true,
|
||||||
|
"viewTransition": false,
|
||||||
|
"routerBFCache": false,
|
||||||
|
"removeUncaughtErrorAndRejectionListeners": false,
|
||||||
|
"validateRSCRequestHeaders": false,
|
||||||
|
"staleTimes": {
|
||||||
|
"dynamic": 0,
|
||||||
|
"static": 300
|
||||||
|
},
|
||||||
|
"serverComponentsHmrCache": true,
|
||||||
|
"staticGenerationMaxConcurrency": 8,
|
||||||
|
"staticGenerationMinPagesPerWorker": 25,
|
||||||
|
"cacheComponents": false,
|
||||||
|
"inlineCss": false,
|
||||||
|
"useCache": false,
|
||||||
|
"globalNotFound": false,
|
||||||
|
"devtoolSegmentExplorer": true,
|
||||||
|
"browserDebugInfoInTerminal": false,
|
||||||
|
"optimizeRouterScrolling": false,
|
||||||
|
"middlewareClientMaxBodySize": 10485760,
|
||||||
|
"optimizePackageImports": [
|
||||||
|
"lucide-react",
|
||||||
|
"date-fns",
|
||||||
|
"lodash-es",
|
||||||
|
"ramda",
|
||||||
|
"antd",
|
||||||
|
"react-bootstrap",
|
||||||
|
"ahooks",
|
||||||
|
"@ant-design/icons",
|
||||||
|
"@headlessui/react",
|
||||||
|
"@headlessui-float/react",
|
||||||
|
"@heroicons/react/20/solid",
|
||||||
|
"@heroicons/react/24/solid",
|
||||||
|
"@heroicons/react/24/outline",
|
||||||
|
"@visx/visx",
|
||||||
|
"@tremor/react",
|
||||||
|
"rxjs",
|
||||||
|
"@mui/material",
|
||||||
|
"@mui/icons-material",
|
||||||
|
"recharts",
|
||||||
|
"react-use",
|
||||||
|
"effect",
|
||||||
|
"@effect/schema",
|
||||||
|
"@effect/platform",
|
||||||
|
"@effect/platform-node",
|
||||||
|
"@effect/platform-browser",
|
||||||
|
"@effect/platform-bun",
|
||||||
|
"@effect/sql",
|
||||||
|
"@effect/sql-mssql",
|
||||||
|
"@effect/sql-mysql2",
|
||||||
|
"@effect/sql-pg",
|
||||||
|
"@effect/sql-sqlite-node",
|
||||||
|
"@effect/sql-sqlite-bun",
|
||||||
|
"@effect/sql-sqlite-wasm",
|
||||||
|
"@effect/sql-sqlite-react-native",
|
||||||
|
"@effect/rpc",
|
||||||
|
"@effect/rpc-http",
|
||||||
|
"@effect/typeclass",
|
||||||
|
"@effect/experimental",
|
||||||
|
"@effect/opentelemetry",
|
||||||
|
"@material-ui/core",
|
||||||
|
"@material-ui/icons",
|
||||||
|
"@tabler/icons-react",
|
||||||
|
"mui-core",
|
||||||
|
"react-icons/ai",
|
||||||
|
"react-icons/bi",
|
||||||
|
"react-icons/bs",
|
||||||
|
"react-icons/cg",
|
||||||
|
"react-icons/ci",
|
||||||
|
"react-icons/di",
|
||||||
|
"react-icons/fa",
|
||||||
|
"react-icons/fa6",
|
||||||
|
"react-icons/fc",
|
||||||
|
"react-icons/fi",
|
||||||
|
"react-icons/gi",
|
||||||
|
"react-icons/go",
|
||||||
|
"react-icons/gr",
|
||||||
|
"react-icons/hi",
|
||||||
|
"react-icons/hi2",
|
||||||
|
"react-icons/im",
|
||||||
|
"react-icons/io",
|
||||||
|
"react-icons/io5",
|
||||||
|
"react-icons/lia",
|
||||||
|
"react-icons/lib",
|
||||||
|
"react-icons/lu",
|
||||||
|
"react-icons/md",
|
||||||
|
"react-icons/pi",
|
||||||
|
"react-icons/ri",
|
||||||
|
"react-icons/rx",
|
||||||
|
"react-icons/si",
|
||||||
|
"react-icons/sl",
|
||||||
|
"react-icons/tb",
|
||||||
|
"react-icons/tfi",
|
||||||
|
"react-icons/ti",
|
||||||
|
"react-icons/vsc",
|
||||||
|
"react-icons/wi"
|
||||||
|
],
|
||||||
|
"trustHostHeader": false,
|
||||||
|
"isExperimentalCompile": false
|
||||||
|
},
|
||||||
|
"htmlLimitedBots": "[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight",
|
||||||
|
"bundlePagesRouterDependencies": false,
|
||||||
|
"configFileName": "next.config.js",
|
||||||
|
"turbopack": {
|
||||||
|
"root": "/home/sorti/projects/hosting-frontend"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"appDir": "/home/sorti/projects/hosting-frontend",
|
||||||
|
"relativeAppDir": "",
|
||||||
|
"files": [
|
||||||
|
".next/routes-manifest.json",
|
||||||
|
".next/server/pages-manifest.json",
|
||||||
|
".next/build-manifest.json",
|
||||||
|
".next/prerender-manifest.json",
|
||||||
|
".next/server/functions-config-manifest.json",
|
||||||
|
".next/server/middleware-manifest.json",
|
||||||
|
".next/server/middleware-build-manifest.js",
|
||||||
|
".next/server/middleware-react-loadable-manifest.js",
|
||||||
|
".next/react-loadable-manifest.json",
|
||||||
|
".next/server/app-paths-manifest.json",
|
||||||
|
".next/app-path-routes-manifest.json",
|
||||||
|
".next/app-build-manifest.json",
|
||||||
|
".next/server/server-reference-manifest.js",
|
||||||
|
".next/server/server-reference-manifest.json",
|
||||||
|
".next/BUILD_ID",
|
||||||
|
".next/server/next-font-manifest.js",
|
||||||
|
".next/server/next-font-manifest.json",
|
||||||
|
".next/required-server-files.json"
|
||||||
|
],
|
||||||
|
"ignore": [
|
||||||
|
"node_modules/next/dist/compiled/@ampproject/toolbox-optimizer/**/*"
|
||||||
|
]
|
||||||
|
}
|
||||||
71
.next/routes-manifest.json
Normal file
71
.next/routes-manifest.json
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"pages404": true,
|
||||||
|
"caseSensitive": false,
|
||||||
|
"basePath": "",
|
||||||
|
"redirects": [
|
||||||
|
{
|
||||||
|
"source": "/:path+/",
|
||||||
|
"destination": "/:path+",
|
||||||
|
"internal": true,
|
||||||
|
"statusCode": 308,
|
||||||
|
"regex": "^(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))/$"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"headers": [],
|
||||||
|
"rewrites": {
|
||||||
|
"beforeFiles": [],
|
||||||
|
"afterFiles": [],
|
||||||
|
"fallback": []
|
||||||
|
},
|
||||||
|
"dynamicRoutes": [],
|
||||||
|
"staticRoutes": [
|
||||||
|
{
|
||||||
|
"page": "/",
|
||||||
|
"regex": "^/(?:/)?$",
|
||||||
|
"routeKeys": {},
|
||||||
|
"namedRegex": "^/(?:/)?$"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"page": "/_not-found",
|
||||||
|
"regex": "^/_not\\-found(?:/)?$",
|
||||||
|
"routeKeys": {},
|
||||||
|
"namedRegex": "^/_not\\-found(?:/)?$"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"page": "/dashboard",
|
||||||
|
"regex": "^/dashboard(?:/)?$",
|
||||||
|
"routeKeys": {},
|
||||||
|
"namedRegex": "^/dashboard(?:/)?$"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"page": "/login",
|
||||||
|
"regex": "^/login(?:/)?$",
|
||||||
|
"routeKeys": {},
|
||||||
|
"namedRegex": "^/login(?:/)?$"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"page": "/register",
|
||||||
|
"regex": "^/register(?:/)?$",
|
||||||
|
"routeKeys": {},
|
||||||
|
"namedRegex": "^/register(?:/)?$"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dataRoutes": [],
|
||||||
|
"rsc": {
|
||||||
|
"header": "rsc",
|
||||||
|
"varyHeader": "rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch",
|
||||||
|
"prefetchHeader": "next-router-prefetch",
|
||||||
|
"didPostponeHeader": "x-nextjs-postponed",
|
||||||
|
"contentTypeHeader": "text/x-component",
|
||||||
|
"suffix": ".rsc",
|
||||||
|
"prefetchSuffix": ".prefetch.rsc",
|
||||||
|
"prefetchSegmentHeader": "next-router-segment-prefetch",
|
||||||
|
"prefetchSegmentSuffix": ".segment.rsc",
|
||||||
|
"prefetchSegmentDirSuffix": ".segments"
|
||||||
|
},
|
||||||
|
"rewriteHeaders": {
|
||||||
|
"pathHeader": "x-nextjs-rewritten-path",
|
||||||
|
"queryHeader": "x-nextjs-rewritten-query"
|
||||||
|
}
|
||||||
|
}
|
||||||
7
.next/server/app-paths-manifest.json
Normal file
7
.next/server/app-paths-manifest.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"/_not-found/page": "app/_not-found/page.js",
|
||||||
|
"/dashboard/page": "app/dashboard/page.js",
|
||||||
|
"/login/page": "app/login/page.js",
|
||||||
|
"/register/page": "app/register/page.js",
|
||||||
|
"/page": "app/page.js"
|
||||||
|
}
|
||||||
1
.next/server/app/_not-found.html
Normal file
1
.next/server/app/_not-found.html
Normal file
File diff suppressed because one or more lines are too long
8
.next/server/app/_not-found.meta
Normal file
8
.next/server/app/_not-found.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"status": 404,
|
||||||
|
"headers": {
|
||||||
|
"x-nextjs-stale-time": "300",
|
||||||
|
"x-nextjs-prerender": "1",
|
||||||
|
"x-next-cache-tags": "_N_T_/layout,_N_T_/_not-found/layout,_N_T_/_not-found/page,_N_T_/_not-found"
|
||||||
|
}
|
||||||
|
}
|
||||||
17
.next/server/app/_not-found.rsc
Normal file
17
.next/server/app/_not-found.rsc
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
1:"$Sreact.fragment"
|
||||||
|
2:I[4845,["177","static/chunks/app/layout-4229b0fdfc81402d.js"],"AuthProvider"]
|
||||||
|
3:I[9766,[],""]
|
||||||
|
4:I[8924,[],""]
|
||||||
|
5:I[4431,[],"OutletBoundary"]
|
||||||
|
7:I[5278,[],"AsyncMetadataOutlet"]
|
||||||
|
9:I[4431,[],"ViewportBoundary"]
|
||||||
|
b:I[4431,[],"MetadataBoundary"]
|
||||||
|
c:"$Sreact.suspense"
|
||||||
|
e:I[7150,[],""]
|
||||||
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||||
|
:HL["/_next/static/css/d7f8f6bd0f8ab399.css","style"]
|
||||||
|
0:{"P":null,"b":"PWMDgov_Krrwu56xwxFQu","p":"","c":["","_not-found"],"i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/d7f8f6bd0f8ab399.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_f367f3","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":["/_not-found",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null,["$","$L5",null,{"children":["$L6",["$","$L7",null,{"promise":"$@8"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],[["$","$L9",null,{"children":"$La"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$Lb",null,{"children":["$","div",null,{"hidden":true,"children":["$","$c",null,{"fallback":null,"children":"$Ld"}]}]}]]}],false]],"m":"$undefined","G":["$e",[]],"s":false,"S":true}
|
||||||
|
a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
||||||
|
6:null
|
||||||
|
8:{"metadata":[["$","title","0",{"children":"Portfolio Hosting Platform"}],["$","meta","1",{"name":"description","content":"Host and manage your portfolio websites with ease"}]],"error":null,"digest":"$undefined"}
|
||||||
|
d:"$8:metadata"
|
||||||
2
.next/server/app/_not-found/page.js
Normal file
2
.next/server/app/_not-found/page.js
Normal file
File diff suppressed because one or more lines are too long
1
.next/server/app/_not-found/page.js.nft.json
Normal file
1
.next/server/app/_not-found/page.js.nft.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/248.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
|
||||||
File diff suppressed because one or more lines are too long
1
.next/server/app/dashboard.html
Normal file
1
.next/server/app/dashboard.html
Normal file
File diff suppressed because one or more lines are too long
7
.next/server/app/dashboard.meta
Normal file
7
.next/server/app/dashboard.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"headers": {
|
||||||
|
"x-nextjs-stale-time": "300",
|
||||||
|
"x-nextjs-prerender": "1",
|
||||||
|
"x-next-cache-tags": "_N_T_/layout,_N_T_/dashboard/layout,_N_T_/dashboard/page,_N_T_/dashboard"
|
||||||
|
}
|
||||||
|
}
|
||||||
21
.next/server/app/dashboard.rsc
Normal file
21
.next/server/app/dashboard.rsc
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
1:"$Sreact.fragment"
|
||||||
|
2:I[4845,["177","static/chunks/app/layout-4229b0fdfc81402d.js"],"AuthProvider"]
|
||||||
|
3:I[9766,[],""]
|
||||||
|
4:I[8924,[],""]
|
||||||
|
5:I[1959,[],"ClientPageRoot"]
|
||||||
|
6:I[4723,["676","static/chunks/676-12b3bc2115e1f159.js","105","static/chunks/app/dashboard/page-492e227aebaeda7d.js"],"default"]
|
||||||
|
9:I[4431,[],"OutletBoundary"]
|
||||||
|
b:I[5278,[],"AsyncMetadataOutlet"]
|
||||||
|
d:I[4431,[],"ViewportBoundary"]
|
||||||
|
f:I[4431,[],"MetadataBoundary"]
|
||||||
|
10:"$Sreact.suspense"
|
||||||
|
12:I[7150,[],""]
|
||||||
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||||
|
:HL["/_next/static/css/d7f8f6bd0f8ab399.css","style"]
|
||||||
|
0:{"P":null,"b":"PWMDgov_Krrwu56xwxFQu","p":"","c":["","dashboard"],"i":false,"f":[[["",{"children":["dashboard",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/d7f8f6bd0f8ab399.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_f367f3","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","searchParams":{},"params":{},"promises":["$@7","$@8"]}],null,["$","$L9",null,{"children":["$La",["$","$Lb",null,{"promise":"$@c"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Ld",null,{"children":"$Le"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$Lf",null,{"children":["$","div",null,{"hidden":true,"children":["$","$10",null,{"fallback":null,"children":"$L11"}]}]}]]}],false]],"m":"$undefined","G":["$12",[]],"s":false,"S":true}
|
||||||
|
7:{}
|
||||||
|
8:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params"
|
||||||
|
e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
||||||
|
a:null
|
||||||
|
c:{"metadata":[["$","title","0",{"children":"Portfolio Hosting Platform"}],["$","meta","1",{"name":"description","content":"Host and manage your portfolio websites with ease"}]],"error":null,"digest":"$undefined"}
|
||||||
|
11:"$c:metadata"
|
||||||
2
.next/server/app/dashboard/page.js
Normal file
2
.next/server/app/dashboard/page.js
Normal file
File diff suppressed because one or more lines are too long
1
.next/server/app/dashboard/page.js.nft.json
Normal file
1
.next/server/app/dashboard/page.js.nft.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/248.js","../../chunks/445.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
|
||||||
File diff suppressed because one or more lines are too long
1
.next/server/app/index.html
Normal file
1
.next/server/app/index.html
Normal file
File diff suppressed because one or more lines are too long
7
.next/server/app/index.meta
Normal file
7
.next/server/app/index.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"headers": {
|
||||||
|
"x-nextjs-stale-time": "300",
|
||||||
|
"x-nextjs-prerender": "1",
|
||||||
|
"x-next-cache-tags": "_N_T_/layout,_N_T_/page,_N_T_/"
|
||||||
|
}
|
||||||
|
}
|
||||||
23
.next/server/app/index.rsc
Normal file
23
.next/server/app/index.rsc
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
1:"$Sreact.fragment"
|
||||||
|
2:I[4845,["177","static/chunks/app/layout-4229b0fdfc81402d.js"],"AuthProvider"]
|
||||||
|
3:I[9766,[],""]
|
||||||
|
4:I[8924,[],""]
|
||||||
|
5:I[3155,["676","static/chunks/676-12b3bc2115e1f159.js","619","static/chunks/619-ba102abea3e3d0e4.js","974","static/chunks/app/page-ff92cb3df51b84dd.js"],"default"]
|
||||||
|
6:I[6573,["676","static/chunks/676-12b3bc2115e1f159.js","619","static/chunks/619-ba102abea3e3d0e4.js","974","static/chunks/app/page-ff92cb3df51b84dd.js"],"default"]
|
||||||
|
7:I[6109,["676","static/chunks/676-12b3bc2115e1f159.js","619","static/chunks/619-ba102abea3e3d0e4.js","974","static/chunks/app/page-ff92cb3df51b84dd.js"],"default"]
|
||||||
|
8:I[8783,["676","static/chunks/676-12b3bc2115e1f159.js","619","static/chunks/619-ba102abea3e3d0e4.js","974","static/chunks/app/page-ff92cb3df51b84dd.js"],"default"]
|
||||||
|
9:I[9842,["676","static/chunks/676-12b3bc2115e1f159.js","619","static/chunks/619-ba102abea3e3d0e4.js","974","static/chunks/app/page-ff92cb3df51b84dd.js"],"default"]
|
||||||
|
a:I[1943,["676","static/chunks/676-12b3bc2115e1f159.js","619","static/chunks/619-ba102abea3e3d0e4.js","974","static/chunks/app/page-ff92cb3df51b84dd.js"],"default"]
|
||||||
|
b:I[4431,[],"OutletBoundary"]
|
||||||
|
d:I[5278,[],"AsyncMetadataOutlet"]
|
||||||
|
f:I[4431,[],"ViewportBoundary"]
|
||||||
|
11:I[4431,[],"MetadataBoundary"]
|
||||||
|
12:"$Sreact.suspense"
|
||||||
|
14:I[7150,[],""]
|
||||||
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||||
|
:HL["/_next/static/css/d7f8f6bd0f8ab399.css","style"]
|
||||||
|
0:{"P":null,"b":"PWMDgov_Krrwu56xwxFQu","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/d7f8f6bd0f8ab399.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_f367f3","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","div",null,{"className":"min-h-screen flex flex-col","children":[["$","$L5",null,{}],["$","main",null,{"className":"flex-1","children":[["$","$L6",null,{}],["$","$L7",null,{}],["$","$L8",null,{}],["$","$L9",null,{}]]}],["$","$La",null,{}],["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org\",\"@type\":\"SoftwareApplication\",\"name\":\"Portfolio Host\",\"description\":\"Deploy and manage your portfolio websites with custom domains\",\"url\":\"https://portfoliohost.com\",\"applicationCategory\":\"WebApplication\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"USD\",\"description\":\"Free portfolio hosting\"},\"aggregateRating\":{\"@type\":\"AggregateRating\",\"ratingValue\":\"4.9\",\"ratingCount\":\"1000\"}}"}}]]}],null,["$","$Lb",null,{"children":["$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$L11",null,{"children":["$","div",null,{"hidden":true,"children":["$","$12",null,{"fallback":null,"children":"$L13"}]}]}]]}],false]],"m":"$undefined","G":["$14",[]],"s":false,"S":true}
|
||||||
|
10:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
||||||
|
c:null
|
||||||
|
e:{"metadata":[["$","title","0",{"children":"Portfolio Host | Host Your Portfolio with Custom Domains"}],["$","meta","1",{"name":"description","content":"Deploy and manage your portfolio websites with custom domains. Simple, fast, and professional hosting for creatives and developers."}],["$","meta","2",{"name":"keywords","content":"portfolio hosting, custom domain, web hosting, creative professionals"}],["$","meta","3",{"property":"og:title","content":"Portfolio Host | Host Your Portfolio with Custom Domains"}],["$","meta","4",{"property":"og:description","content":"Deploy and manage your portfolio websites with custom domains."}],["$","meta","5",{"property":"og:url","content":"https://portfoliohost.com"}],["$","meta","6",{"property":"og:image","content":"https://portfoliohost.com/og-image.png"}],["$","meta","7",{"property":"og:image:width","content":"1200"}],["$","meta","8",{"property":"og:image:height","content":"630"}],["$","meta","9",{"property":"og:image:alt","content":"Portfolio Host"}],["$","meta","10",{"property":"og:type","content":"website"}],["$","meta","11",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","12",{"name":"twitter:title","content":"Portfolio Host | Host Your Portfolio with Custom Domains"}],["$","meta","13",{"name":"twitter:description","content":"Deploy and manage your portfolio websites with custom domains."}],["$","meta","14",{"name":"twitter:image","content":"https://portfoliohost.com/og-image.png"}],["$","meta","15",{"name":"twitter:image:width","content":"1200"}],["$","meta","16",{"name":"twitter:image:height","content":"630"}],["$","meta","17",{"name":"twitter:image:alt","content":"Portfolio Host"}]],"error":null,"digest":"$undefined"}
|
||||||
|
13:"$e:metadata"
|
||||||
1
.next/server/app/login.html
Normal file
1
.next/server/app/login.html
Normal file
File diff suppressed because one or more lines are too long
7
.next/server/app/login.meta
Normal file
7
.next/server/app/login.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"headers": {
|
||||||
|
"x-nextjs-stale-time": "300",
|
||||||
|
"x-nextjs-prerender": "1",
|
||||||
|
"x-next-cache-tags": "_N_T_/layout,_N_T_/login/layout,_N_T_/login/page,_N_T_/login"
|
||||||
|
}
|
||||||
|
}
|
||||||
21
.next/server/app/login.rsc
Normal file
21
.next/server/app/login.rsc
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
1:"$Sreact.fragment"
|
||||||
|
2:I[4845,["177","static/chunks/app/layout-4229b0fdfc81402d.js"],"AuthProvider"]
|
||||||
|
3:I[9766,[],""]
|
||||||
|
4:I[8924,[],""]
|
||||||
|
5:I[1959,[],"ClientPageRoot"]
|
||||||
|
6:I[5404,["676","static/chunks/676-12b3bc2115e1f159.js","619","static/chunks/619-ba102abea3e3d0e4.js","934","static/chunks/934-442cbaed1fe18f63.js","520","static/chunks/app/login/page-e94fa473a12153f5.js"],"default"]
|
||||||
|
9:I[4431,[],"OutletBoundary"]
|
||||||
|
b:I[5278,[],"AsyncMetadataOutlet"]
|
||||||
|
d:I[4431,[],"ViewportBoundary"]
|
||||||
|
f:I[4431,[],"MetadataBoundary"]
|
||||||
|
10:"$Sreact.suspense"
|
||||||
|
12:I[7150,[],""]
|
||||||
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||||
|
:HL["/_next/static/css/d7f8f6bd0f8ab399.css","style"]
|
||||||
|
0:{"P":null,"b":"PWMDgov_Krrwu56xwxFQu","p":"","c":["","login"],"i":false,"f":[[["",{"children":["login",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/d7f8f6bd0f8ab399.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_f367f3","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":["login",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","searchParams":{},"params":{},"promises":["$@7","$@8"]}],null,["$","$L9",null,{"children":["$La",["$","$Lb",null,{"promise":"$@c"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Ld",null,{"children":"$Le"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$Lf",null,{"children":["$","div",null,{"hidden":true,"children":["$","$10",null,{"fallback":null,"children":"$L11"}]}]}]]}],false]],"m":"$undefined","G":["$12",[]],"s":false,"S":true}
|
||||||
|
7:{}
|
||||||
|
8:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params"
|
||||||
|
e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
||||||
|
a:null
|
||||||
|
c:{"metadata":[["$","title","0",{"children":"Portfolio Hosting Platform"}],["$","meta","1",{"name":"description","content":"Host and manage your portfolio websites with ease"}]],"error":null,"digest":"$undefined"}
|
||||||
|
11:"$c:metadata"
|
||||||
2
.next/server/app/login/page.js
Normal file
2
.next/server/app/login/page.js
Normal file
File diff suppressed because one or more lines are too long
1
.next/server/app/login/page.js.nft.json
Normal file
1
.next/server/app/login/page.js.nft.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/248.js","../../chunks/334.js","../../chunks/445.js","../../chunks/991.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
|
||||||
1
.next/server/app/login/page_client-reference-manifest.js
Normal file
1
.next/server/app/login/page_client-reference-manifest.js
Normal file
File diff suppressed because one or more lines are too long
2
.next/server/app/page.js
Normal file
2
.next/server/app/page.js
Normal file
File diff suppressed because one or more lines are too long
1
.next/server/app/page.js.nft.json
Normal file
1
.next/server/app/page.js.nft.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"version":1,"files":["../../../node_modules/next/dist/client/components/app-router-headers.js","../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../node_modules/next/dist/lib/client-and-server-references.js","../../../node_modules/next/dist/lib/constants.js","../../../node_modules/next/dist/lib/interop-default.js","../../../node_modules/next/dist/lib/is-error.js","../../../node_modules/next/dist/lib/semver-noop.js","../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../node_modules/next/dist/server/lib/lru-cache.js","../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../node_modules/next/dist/server/lib/trace/constants.js","../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../node_modules/next/dist/server/load-manifest.external.js","../../../node_modules/next/dist/server/response-cache/types.js","../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../node_modules/next/dist/shared/lib/segment.js","../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../node_modules/next/package.json","../../../package.json","../../package.json","../chunks/248.js","../chunks/445.js","../chunks/991.js","../webpack-runtime.js","page_client-reference-manifest.js"]}
|
||||||
1
.next/server/app/page_client-reference-manifest.js
Normal file
1
.next/server/app/page_client-reference-manifest.js
Normal file
File diff suppressed because one or more lines are too long
1
.next/server/app/register.html
Normal file
1
.next/server/app/register.html
Normal file
File diff suppressed because one or more lines are too long
7
.next/server/app/register.meta
Normal file
7
.next/server/app/register.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"headers": {
|
||||||
|
"x-nextjs-stale-time": "300",
|
||||||
|
"x-nextjs-prerender": "1",
|
||||||
|
"x-next-cache-tags": "_N_T_/layout,_N_T_/register/layout,_N_T_/register/page,_N_T_/register"
|
||||||
|
}
|
||||||
|
}
|
||||||
21
.next/server/app/register.rsc
Normal file
21
.next/server/app/register.rsc
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
1:"$Sreact.fragment"
|
||||||
|
2:I[4845,["177","static/chunks/app/layout-4229b0fdfc81402d.js"],"AuthProvider"]
|
||||||
|
3:I[9766,[],""]
|
||||||
|
4:I[8924,[],""]
|
||||||
|
5:I[1959,[],"ClientPageRoot"]
|
||||||
|
6:I[2418,["676","static/chunks/676-12b3bc2115e1f159.js","619","static/chunks/619-ba102abea3e3d0e4.js","934","static/chunks/934-442cbaed1fe18f63.js","454","static/chunks/app/register/page-b16e4dc73134df6c.js"],"default"]
|
||||||
|
9:I[4431,[],"OutletBoundary"]
|
||||||
|
b:I[5278,[],"AsyncMetadataOutlet"]
|
||||||
|
d:I[4431,[],"ViewportBoundary"]
|
||||||
|
f:I[4431,[],"MetadataBoundary"]
|
||||||
|
10:"$Sreact.suspense"
|
||||||
|
12:I[7150,[],""]
|
||||||
|
:HL["/_next/static/media/e4af272ccee01ff0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
||||||
|
:HL["/_next/static/css/d7f8f6bd0f8ab399.css","style"]
|
||||||
|
0:{"P":null,"b":"PWMDgov_Krrwu56xwxFQu","p":"","c":["","register"],"i":false,"f":[[["",{"children":["register",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/d7f8f6bd0f8ab399.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_f367f3","children":["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":["register",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","searchParams":{},"params":{},"promises":["$@7","$@8"]}],null,["$","$L9",null,{"children":["$La",["$","$Lb",null,{"promise":"$@c"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Ld",null,{"children":"$Le"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$Lf",null,{"children":["$","div",null,{"hidden":true,"children":["$","$10",null,{"fallback":null,"children":"$L11"}]}]}]]}],false]],"m":"$undefined","G":["$12",[]],"s":false,"S":true}
|
||||||
|
7:{}
|
||||||
|
8:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params"
|
||||||
|
e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
||||||
|
a:null
|
||||||
|
c:{"metadata":[["$","title","0",{"children":"Portfolio Hosting Platform"}],["$","meta","1",{"name":"description","content":"Host and manage your portfolio websites with ease"}]],"error":null,"digest":"$undefined"}
|
||||||
|
11:"$c:metadata"
|
||||||
2
.next/server/app/register/page.js
Normal file
2
.next/server/app/register/page.js
Normal file
File diff suppressed because one or more lines are too long
1
.next/server/app/register/page.js.nft.json
Normal file
1
.next/server/app/register/page.js.nft.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/248.js","../../chunks/334.js","../../chunks/445.js","../../chunks/991.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
|
||||||
File diff suppressed because one or more lines are too long
30
.next/server/chunks/248.js
Normal file
30
.next/server/chunks/248.js
Normal file
File diff suppressed because one or more lines are too long
1
.next/server/chunks/334.js
Normal file
1
.next/server/chunks/334.js
Normal file
File diff suppressed because one or more lines are too long
1
.next/server/chunks/445.js
Normal file
1
.next/server/chunks/445.js
Normal file
File diff suppressed because one or more lines are too long
6
.next/server/chunks/611.js
Normal file
6
.next/server/chunks/611.js
Normal file
File diff suppressed because one or more lines are too long
1
.next/server/chunks/991.js
Normal file
1
.next/server/chunks/991.js
Normal file
File diff suppressed because one or more lines are too long
2
.next/server/edge-runtime-webpack.js
Normal file
2
.next/server/edge-runtime-webpack.js
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
(()=>{"use strict";var a={},b={};function c(d){var e=b[d];if(void 0!==e)return e.exports;var f=b[d]={exports:{}},g=!0;try{a[d](f,f.exports,c),g=!1}finally{g&&delete b[d]}return f.exports}c.m=a,c.amdO={},(()=>{var a=[];c.O=(b,d,e,f)=>{if(d){f=f||0;for(var g=a.length;g>0&&a[g-1][2]>f;g--)a[g]=a[g-1];a[g]=[d,e,f];return}for(var h=1/0,g=0;g<a.length;g++){for(var[d,e,f]=a[g],i=!0,j=0;j<d.length;j++)(!1&f||h>=f)&&Object.keys(c.O).every(a=>c.O[a](d[j]))?d.splice(j--,1):(i=!1,f<h&&(h=f));if(i){a.splice(g--,1);var k=e();void 0!==k&&(b=k)}}return b}})(),c.n=a=>{var b=a&&a.__esModule?()=>a.default:()=>a;return c.d(b,{a:b}),b},c.d=(a,b)=>{for(var d in b)c.o(b,d)&&!c.o(a,d)&&Object.defineProperty(a,d,{enumerable:!0,get:b[d]})},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(a){if("object"==typeof window)return window}}(),c.o=(a,b)=>Object.prototype.hasOwnProperty.call(a,b),c.r=a=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})},(()=>{var a={149:0};c.O.j=b=>0===a[b];var b=(b,d)=>{var e,f,[g,h,i]=d,j=0;if(g.some(b=>0!==a[b])){for(e in h)c.o(h,e)&&(c.m[e]=h[e]);if(i)var k=i(c)}for(b&&b(d);j<g.length;j++)f=g[j],c.o(a,f)&&a[f]&&a[f][0](),a[f]=0;return c.O(k)},d=self.webpackChunk_N_E=self.webpackChunk_N_E||[];d.forEach(b.bind(null,0)),d.push=b.bind(null,d.push.bind(d))})()})();
|
||||||
|
//# sourceMappingURL=edge-runtime-webpack.js.map
|
||||||
1
.next/server/edge-runtime-webpack.js.map
Normal file
1
.next/server/edge-runtime-webpack.js.map
Normal file
File diff suppressed because one or more lines are too long
4
.next/server/functions-config-manifest.json
Normal file
4
.next/server/functions-config-manifest.json
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"functions": {}
|
||||||
|
}
|
||||||
1
.next/server/interception-route-rewrite-manifest.js
Normal file
1
.next/server/interception-route-rewrite-manifest.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
self.__INTERCEPTION_ROUTE_REWRITE_MANIFEST="[]";
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user