Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ab31a3e39c | |||
| 7ce05fd240 | |||
| eb5babb4f3 | |||
| 655ee9cba1 | |||
| d8d8a3fbce |
@@ -1,22 +0,0 @@
|
|||||||
---
|
|
||||||
trigger: always_on
|
|
||||||
---
|
|
||||||
|
|
||||||
# GEMINI.md - Antigravity Kit (Auto-Generated)
|
|
||||||
|
|
||||||
|
|
||||||
## TIER 0: UNIVERSAL RULES (Always Active)
|
|
||||||
|
|
||||||
### 🌍 Global User Rules (MANDATORY)
|
|
||||||
|
|
||||||
1. **Idioma**: Conversar e desenvolver sempre em **Português do Brasil**.
|
|
||||||
2. **Automação Terminais**: Executar comandos de terminal, leitura de arquivos e edições de forma automática. Comandos de desenvolvimento (build, install, lint, git, etc.) são sempre 'SafeToAutoRun'.
|
|
||||||
3. **Memória & Monitoramento**: Após cada evolução ou atualização no app, é OBRIGATÓRIO:
|
|
||||||
- Atualizar a memória do app em '/root/Antigravity_Memory/knowledge/{AppName}.md'.
|
|
||||||
- Atualizar o status e credenciais no 'app.py' do Cronos Dashboard.
|
|
||||||
- Realizar 'git commit', 'git push' e executar o 'update.sh' do Cronos para deploy automático.
|
|
||||||
|
|
||||||
### 🌐 Language Handling
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
|
|
||||||
# --- LOGTO_SUPA UPGRADE ---
|
|
||||||
VITE_LOGTO_ENDPOINT=https://logto-bzlued1boxl3t8ewsyn99an9.187.77.227.172.sslip.io
|
|
||||||
VITE_LOGTO_APP_ID=3whpc0jru4ka5nerinnuc
|
|
||||||
VITE_LOGTO_ORG_ID=b8dvrye4978k
|
|
||||||
VITE_SUPABASE_SCHEMA=TSCUT
|
|
||||||
|
|
||||||
# --- LOGTO_SUPA UPGRADE ---
|
|
||||||
VITE_LOGTO_ENDPOINT=https://logto-bzlued1boxl3t8ewsyn99an9.187.77.227.172.sslip.io
|
|
||||||
VITE_LOGTO_APP_ID=3whpc0jru4ka5nerinnuc
|
|
||||||
VITE_LOGTO_ORG_ID=4j7uhxlmia9e
|
|
||||||
VITE_SUPABASE_SCHEMA=TSCUT
|
|
||||||
|
|
||||||
# --- LOGTO_SUPA UPGRADE ---
|
|
||||||
VITE_LOGTO_ENDPOINT=https://logto-bzlued1boxl3t8ewsyn99an9.187.77.227.172.sslip.io
|
|
||||||
VITE_LOGTO_APP_ID=3whpc0jru4ka5nerinnuc
|
|
||||||
VITE_LOGTO_ORG_ID=4j7uhxlmia9e
|
|
||||||
VITE_SUPABASE_SCHEMA=TSCUT
|
|
||||||
|
|
||||||
# --- LOGTO_SUPA UPGRADE ---
|
|
||||||
VITE_LOGTO_ENDPOINT=https://logto-bzlued1boxl3t8ewsyn99an9.187.77.227.172.sslip.io
|
|
||||||
VITE_LOGTO_APP_ID=3whpc0jru4ka5nerinnuc
|
|
||||||
VITE_LOGTO_ORG_ID=4j7uhxlmia9e
|
|
||||||
VITE_SUPABASE_SCHEMA=TSCUT
|
|
||||||
|
|
||||||
# --- LOGTO_SUPA UPGRADE ---
|
|
||||||
VITE_LOGTO_ENDPOINT=https://logto-bzlued1boxl3t8ewsyn99an9.187.77.227.172.sslip.io
|
|
||||||
VITE_LOGTO_APP_ID=3whpc0jru4ka5nerinnuc
|
|
||||||
VITE_LOGTO_ORG_ID=4j7uhxlmia9e
|
|
||||||
VITE_SUPABASE_SCHEMA=TSCUT
|
|
||||||
|
|
||||||
# --- LOGTO_SUPA UPGRADE ---
|
|
||||||
VITE_LOGTO_ENDPOINT=https://logto-bzlued1boxl3t8ewsyn99an9.187.77.227.172.sslip.io
|
|
||||||
VITE_LOGTO_APP_ID=3whpc0jru4ka5nerinnuc
|
|
||||||
VITE_LOGTO_ORG_ID=4j7uhxlmia9e
|
|
||||||
VITE_SUPABASE_SCHEMA=TSCUT
|
|
||||||
|
|
||||||
# --- LOGTO_SUPA UPGRADE ---
|
|
||||||
VITE_LOGTO_ENDPOINT=https://logto-bzlued1boxl3t8ewsyn99an9.187.77.227.172.sslip.io
|
|
||||||
VITE_LOGTO_APP_ID=3whpc0jru4ka5nerinnuc
|
|
||||||
VITE_LOGTO_ORG_ID=4j7uhxlmia9e
|
|
||||||
VITE_SUPABASE_SCHEMA=TSCUT
|
|
||||||
|
|
||||||
# --- LOGTO_SUPA UPGRADE ---
|
|
||||||
VITE_LOGTO_ENDPOINT=https://logto-bzlued1boxl3t8ewsyn99an9.187.77.227.172.sslip.io
|
|
||||||
VITE_LOGTO_APP_ID=3whpc0jru4ka5nerinnuc
|
|
||||||
VITE_LOGTO_ORG_ID=4j7uhxlmia9e
|
|
||||||
VITE_SUPABASE_SCHEMA=TSCUT
|
|
||||||
+6
-6
@@ -1,6 +1,6 @@
|
|||||||
node_modules
|
node_modules
|
||||||
dist
|
dist
|
||||||
.vercel
|
.vercel
|
||||||
.vscode
|
.vscode
|
||||||
.DS_Store
|
.DS_Store
|
||||||
*.local
|
*.local
|
||||||
|
|||||||
Vendored
-196
@@ -1,196 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="pt-BR">
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<link rel="icon" href="/logo.png" type="image/png">
|
|
||||||
<title>Otimizador de Corte - TSCUT</title>
|
|
||||||
<script type="module" crossorigin src="/assets/index-DH8nqnYc.js"></script>
|
|
||||||
<link rel="stylesheet" crossorigin href="/assets/index-CpYIvPGq.css">
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div class="container">
|
|
||||||
<header>
|
|
||||||
<h1><img src="/logo.png" alt="Logo" class="app-logo">Otimizador de Plano de Corte</h1>
|
|
||||||
<p>Barras Lineares | Algoritmo FFD Avançado | Otimização com Múltiplas Barras</p>
|
|
||||||
<button id="themeToggle" class="theme-toggle-btn" onclick="toggleTheme()" title="Alternar Tema">🌙</button>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<div class="layout">
|
|
||||||
<!-- PAINEL DE ENTRADA -->
|
|
||||||
<div class="panel">
|
|
||||||
<h2>📥 Dados de Entrada</h2>
|
|
||||||
|
|
||||||
<div class="form-group job-title-group">
|
|
||||||
<label for="jobTitle" class="job-title-label">Título do Trabalho</label>
|
|
||||||
<input type="text" id="jobTitle" placeholder="Ex: Estrutura Galpão A" class="job-title-input">
|
|
||||||
<div class="job-actions">
|
|
||||||
<button class="btn-primary btn-small" onclick="saveJob()">💾 Salvar
|
|
||||||
Trabalho</button>
|
|
||||||
<button class="btn-primary btn-small btn-secondary"
|
|
||||||
onclick="document.getElementById('jobImport').click()">📂 Abrir Trabalho</button>
|
|
||||||
<input type="file" id="jobImport" accept=".csv" class="hidden" onchange="loadJob()"
|
|
||||||
title="Importar Trabalho">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- PROCESSO DE CORTE -->
|
|
||||||
<div class="process-section">
|
|
||||||
<label class="section-label">🔥 Processo de Corte</label>
|
|
||||||
<div class="process-options">
|
|
||||||
<label class="process-option">
|
|
||||||
<input type="radio" name="cuttingProcess" value="plasma" checked onchange="updateProcess()">
|
|
||||||
<span class="process-name">Plasma (3mm)</span>
|
|
||||||
</label>
|
|
||||||
<label class="process-option">
|
|
||||||
<input type="radio" name="cuttingProcess" value="saw" onchange="updateProcess()">
|
|
||||||
<span class="process-name">Serra/Disco (2mm)</span>
|
|
||||||
</label>
|
|
||||||
<label class="process-option">
|
|
||||||
<input type="radio" name="cuttingProcess" value="oxy" onchange="updateProcess()">
|
|
||||||
<span class="process-name">Oxicorte (5mm)</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<hr class="section-divider">
|
|
||||||
|
|
||||||
<!-- BARRAS DISPONÍVEIS -->
|
|
||||||
<h3 class="section-title">📦 Barras Disponíveis</h3>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="barDesc">Descrição</label>
|
|
||||||
<input type="text" id="barDesc" placeholder="Ex: Cantoneira L3x1/4 A36">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="grid-2-col">
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="barQty">Quantidade</label>
|
|
||||||
<input type="number" id="barQty" value="1" min="1">
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="barLength">Comp. (mm)</label>
|
|
||||||
<input type="number" id="barLength" value="6000" min="100">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="barWeight">Peso (kg)</label>
|
|
||||||
<input type="number" id="barWeight" value="45" min="0.1" step="0.1">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="action-row">
|
|
||||||
<button id="btnAddBar" class="btn-primary" onclick="addBar()">➕ Adicionar Barra</button>
|
|
||||||
<button id="btnCancelBarEdit" class="btn-danger hidden" onclick="cancelBarEdit()">🚫
|
|
||||||
Cancelar</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="list-container mt-10" id="barsList">
|
|
||||||
<div class="no-data">Nenhuma barra adicionada</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<hr class="section-divider">
|
|
||||||
|
|
||||||
<!-- PEÇAS -->
|
|
||||||
<h3 class="section-title">✂️ Peças (Demanda)</h3>
|
|
||||||
|
|
||||||
<div class="action-row mb-10">
|
|
||||||
<button class="btn-primary import-btn" onclick="document.getElementById('fileImport').click()">📁
|
|
||||||
Importar Arquivo</button>
|
|
||||||
<input type="file" id="fileImport" accept=".xlsx,.xls,.csv" class="hidden" onchange="importFile()"
|
|
||||||
title="Importar Arquivo de Peças">
|
|
||||||
</div>
|
|
||||||
<div id="importFeedback" class="feedback-msg">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="pieceTag">TAG/Identificação</label>
|
|
||||||
<input type="text" id="pieceTag" placeholder="Ex: B101-2-15">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="grid-2-col">
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="pieceLength">Comp. (mm)</label>
|
|
||||||
<input type="number" id="pieceLength" placeholder="Ex: 3450" min="1">
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="pieceQty">Quantidade</label>
|
|
||||||
<input type="number" id="pieceQty" value="1" min="1">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="action-row">
|
|
||||||
<button id="btnAddPiece" class="btn-primary" onclick="addPiece()">➕ Adicionar Peça</button>
|
|
||||||
<button id="btnCancelEdit" class="btn-danger hidden" onclick="cancelEdit()">🚫
|
|
||||||
Cancelar</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="list-container mt-10" id="piecesList">
|
|
||||||
<div class="no-data">Nenhuma peça adicionada</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<hr class="section-divider">
|
|
||||||
|
|
||||||
<button class="btn-success btn-calc" onclick="calculateOptimization()">🔄 Calcular
|
|
||||||
Otimização</button>
|
|
||||||
<button class="btn-danger btn-clear" onclick="clearAll()">🗑️
|
|
||||||
Limpar Tudo</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- PAINEL DE RESULTADOS -->
|
|
||||||
<div>
|
|
||||||
<div class="panel">
|
|
||||||
<h2>📊 Resumo</h2>
|
|
||||||
<div class="results" id="summaryResults">
|
|
||||||
<div class="no-data grid-full-col">Calcule a otimização para ver os resultados
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="panel mt-20">
|
|
||||||
<h2>📌 Peças Demandadas</h2>
|
|
||||||
<div class="pieces-balloons" id="piecesBalloons">
|
|
||||||
<div class="no-data full-width">Nenhuma peça adicionada</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="export-buttons">
|
|
||||||
<button class="btn-primary" onclick="exportHTML()">📄 Exportar</button>
|
|
||||||
<button class="btn-primary" onclick="printReport()">🖨️ Imprimir</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- PLANO DE CORTE -->
|
|
||||||
<div class="panel">
|
|
||||||
<h2>✂️ Plano de Corte Otimizado</h2>
|
|
||||||
<div class="bars-container" id="barsContainer">
|
|
||||||
<div class="no-data">Resultados aparecerão após o cálculo</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- TOAST CONTAINER -->
|
|
||||||
<div id="toastContainer" class="toast-container"></div>
|
|
||||||
|
|
||||||
<!-- CONFIRM MODAL -->
|
|
||||||
<div id="confirmModal" class="modal-overlay">
|
|
||||||
<div class="modal">
|
|
||||||
<div class="modal-header">
|
|
||||||
<div class="modal-title" id="modalTitle">Confirmação</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body" id="modalMessage">
|
|
||||||
Deseja confirmar esta ação?
|
|
||||||
</div>
|
|
||||||
<div class="modal-actions">
|
|
||||||
<button class="modal-btn modal-btn-cancel" onclick="closeModal()">Cancelar</button>
|
|
||||||
<button class="modal-btn modal-btn-confirm" id="modalConfirmBtn">Confirmar</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
+4
-4
@@ -5,14 +5,14 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<link rel="icon" href="/logo.png" type="image/png">
|
<link rel="icon" href="/logo.png" type="image/png">
|
||||||
<title>Otimizador de Corte - TSCUT</title>
|
<title>Otimizador de Corte 2D- TSCUT</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<header>
|
<header>
|
||||||
<h1><img src="/logo.png" alt="Logo" class="app-logo">Otimizador de Plano de Corte</h1>
|
<h1><img src="/logo.png" alt="Logo" class="app-logo">Otimizador de Plano de Corte 2D</h1>
|
||||||
<p>Barras Lineares | Algoritmo FFD Avançado | Otimização com Múltiplas Barras</p>
|
<p>Barras Lineares | Otimização com Múltiplas Barras</p>
|
||||||
<button id="themeToggle" class="theme-toggle-btn" onclick="toggleTheme()" title="Alternar Tema">🌙</button>
|
<button id="themeToggle" class="theme-toggle-btn" onclick="toggleTheme()" title="Alternar Tema">🌙</button>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label class="process-option">
|
<label class="process-option">
|
||||||
<input type="radio" name="cuttingProcess" value="oxy" onchange="updateProcess()">
|
<input type="radio" name="cuttingProcess" value="oxy" onchange="updateProcess()">
|
||||||
<span class="process-name">Oxicorte (5mm)</span>
|
<span class="process-name">Oxicorte (6mm)</span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Generated
+1
-150
@@ -9,10 +9,8 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@logto/browser": "^3.0.13",
|
|
||||||
"@logto/react": "^4.0.14",
|
|
||||||
"papaparse": "^5.5.3",
|
"papaparse": "^5.5.3",
|
||||||
"vite": "^7.3.1",
|
"vite": "^7.2.6",
|
||||||
"xlsx": "^0.18.5"
|
"xlsx": "^0.18.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -432,52 +430,6 @@
|
|||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@logto/browser": {
|
|
||||||
"version": "3.0.13",
|
|
||||||
"resolved": "https://registry.npmjs.org/@logto/browser/-/browser-3.0.13.tgz",
|
|
||||||
"integrity": "sha512-SlZ76XiVh2es6eFB1M+ldV6b60eC3+eeKoRQ8/AvOlpwHhrY/v2FPw5LOd/vZ+WYjzDqsxNtOMdhTdliHZ7V1g==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"@logto/client": "^3.1.8",
|
|
||||||
"@silverhand/essentials": "^2.9.3",
|
|
||||||
"js-base64": "^3.7.4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@logto/client": {
|
|
||||||
"version": "3.1.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/@logto/client/-/client-3.1.8.tgz",
|
|
||||||
"integrity": "sha512-f6NcPOV/K1IpPm4ccARWeYpQVMeN4mfikGg+5Qw1rcIPYPUpD5BmDsQbVTAnDepCMbC7syzRerZmbwL8S3UL+A==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"@logto/js": "^6.1.2",
|
|
||||||
"@silverhand/essentials": "^2.9.3",
|
|
||||||
"camelcase-keys": "^9.1.3",
|
|
||||||
"jose": "^5.2.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@logto/js": {
|
|
||||||
"version": "6.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@logto/js/-/js-6.1.2.tgz",
|
|
||||||
"integrity": "sha512-YB/TfixPGI0Spbs8LXiKuASOKFUE9VmlTkXiPfgg3UXQsIPTU71KjKxEXZRePu3xdPNhsZ6WtnRfRvvcpP+KGQ==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"@silverhand/essentials": "^2.9.3",
|
|
||||||
"camelcase-keys": "^9.1.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@logto/react": {
|
|
||||||
"version": "4.0.14",
|
|
||||||
"resolved": "https://registry.npmjs.org/@logto/react/-/react-4.0.14.tgz",
|
|
||||||
"integrity": "sha512-hSZSwxdsLkQjcqsLRH+rvMUkchh1cB+niXOfbvafILJUgmN0YWVZ6QAeyV/wmUteNb5iB463Fnboz10MUXi04A==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"@logto/browser": "^3.0.13",
|
|
||||||
"@silverhand/essentials": "^2.9.3"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"react": ">=16.8.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@rollup/rollup-android-arm-eabi": {
|
"node_modules/@rollup/rollup-android-arm-eabi": {
|
||||||
"version": "4.59.0",
|
"version": "4.59.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz",
|
||||||
@@ -803,16 +755,6 @@
|
|||||||
"win32"
|
"win32"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@silverhand/essentials": {
|
|
||||||
"version": "2.9.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/@silverhand/essentials/-/essentials-2.9.3.tgz",
|
|
||||||
"integrity": "sha512-OM9pyGc/yYJMVQw+fFOZZaTHXDWc45sprj+ky+QjC9inhf5w51L1WBmzAwFuYkHAwO1M19fxVf2sTH9KKP48yg==",
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=18.12.0",
|
|
||||||
"pnpm": "^10.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@types/estree": {
|
"node_modules/@types/estree": {
|
||||||
"version": "1.0.8",
|
"version": "1.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
|
||||||
@@ -828,36 +770,6 @@
|
|||||||
"node": ">=0.8"
|
"node": ">=0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/camelcase": {
|
|
||||||
"version": "8.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz",
|
|
||||||
"integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==",
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=16"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/sindresorhus"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/camelcase-keys": {
|
|
||||||
"version": "9.1.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-9.1.3.tgz",
|
|
||||||
"integrity": "sha512-Rircqi9ch8AnZscQcsA1C47NFdaO3wukpmIRzYcDOrmvgt78hM/sj5pZhZNec2NM12uk5vTwRHZ4anGcrC4ZTg==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"camelcase": "^8.0.0",
|
|
||||||
"map-obj": "5.0.0",
|
|
||||||
"quick-lru": "^6.1.1",
|
|
||||||
"type-fest": "^4.3.2"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=16"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/sindresorhus"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/cfb": {
|
"node_modules/cfb": {
|
||||||
"version": "1.2.2",
|
"version": "1.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz",
|
||||||
@@ -973,33 +885,6 @@
|
|||||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jose": {
|
|
||||||
"version": "5.10.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/jose/-/jose-5.10.0.tgz",
|
|
||||||
"integrity": "sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==",
|
|
||||||
"license": "MIT",
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/panva"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/js-base64": {
|
|
||||||
"version": "3.7.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.8.tgz",
|
|
||||||
"integrity": "sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==",
|
|
||||||
"license": "BSD-3-Clause"
|
|
||||||
},
|
|
||||||
"node_modules/map-obj": {
|
|
||||||
"version": "5.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.0.tgz",
|
|
||||||
"integrity": "sha512-2L3MIgJynYrZ3TYMriLDLWocz15okFakV6J12HXvMXDHui2x/zgChzg1u9mFFGbbGWE+GsLpQByt4POb9Or+uA==",
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/sindresorhus"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/nanoid": {
|
"node_modules/nanoid": {
|
||||||
"version": "3.3.11",
|
"version": "3.3.11",
|
||||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
|
||||||
@@ -1070,28 +955,6 @@
|
|||||||
"node": "^10 || ^12 || >=14"
|
"node": "^10 || ^12 || >=14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/quick-lru": {
|
|
||||||
"version": "6.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-6.1.2.tgz",
|
|
||||||
"integrity": "sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ==",
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=12"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/sindresorhus"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/react": {
|
|
||||||
"version": "19.2.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz",
|
|
||||||
"integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==",
|
|
||||||
"license": "MIT",
|
|
||||||
"peer": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/rollup": {
|
"node_modules/rollup": {
|
||||||
"version": "4.59.0",
|
"version": "4.59.0",
|
||||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz",
|
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz",
|
||||||
@@ -1173,18 +1036,6 @@
|
|||||||
"url": "https://github.com/sponsors/SuperchupuDev"
|
"url": "https://github.com/sponsors/SuperchupuDev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/type-fest": {
|
|
||||||
"version": "4.41.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
|
|
||||||
"integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
|
|
||||||
"license": "(MIT OR CC0-1.0)",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=16"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/sindresorhus"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/vite": {
|
"node_modules/vite": {
|
||||||
"version": "7.3.1",
|
"version": "7.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz",
|
||||||
|
|||||||
+1
-3
@@ -18,10 +18,8 @@
|
|||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@logto/browser": "^3.0.13",
|
|
||||||
"@logto/react": "^4.0.14",
|
|
||||||
"papaparse": "^5.5.3",
|
"papaparse": "^5.5.3",
|
||||||
"vite": "^7.3.1",
|
"vite": "^7.3.1",
|
||||||
"xlsx": "^0.18.5"
|
"xlsx": "^0.18.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+1180
-1224
File diff suppressed because it is too large
Load Diff
+1322
-1322
File diff suppressed because it is too large
Load Diff
+9
-9
@@ -1,9 +1,9 @@
|
|||||||
export default {
|
export default {
|
||||||
root: './',
|
root: './',
|
||||||
build: {
|
build: {
|
||||||
outDir: 'dist',
|
outDir: 'dist',
|
||||||
},
|
},
|
||||||
preview: {
|
preview: {
|
||||||
allowedHosts: true
|
allowedHosts: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user