diff --git a/investor.html b/investor.html
index d91ac7a..f3a532f 100644
--- a/investor.html
+++ b/investor.html
@@ -300,64 +300,91 @@
// ВЗАИМОДЕЙСТВИЕ С КЛИКЕРОМ
// ═══════════════════════════════════════════════════════════
async function refreshClicker() {
- if (!api) {
- log('API недоступен', 'error');
- return;
- }
- try {
- // Читаем save кликера (потребуется разрешение на select в main_save)
- const result = await api.selectData(CLICKER_TABLE, { key: 'game_state' }, CLICKER_SAVE);
- if (result.data && result.data.length > 0) {
- const state = JSON.parse(result.data[0].value);
- clickerScore = state.score || 0;
- log(`Счёт кликера: ${clickerScore}`, 'success');
- } else {
- clickerScore = 0;
- log('Кликер ещё не сохранял данные', 'info');
- }
- updateUI();
- } catch (e) {
- log('Ошибка чтения кликера: ' + e.message, 'error');
- }
+ if (!api) {
+ log('API недоступен', 'error');
+ return;
+ }
+ try {
+ // Указываем targetGame: 'clicker' — читаем из save кликера
+ const result = await api.selectData(
+ CLICKER_TABLE,
+ { key: 'game_state' },
+ CLICKER_SAVE,
+ {},
+ 'clicker' // ← Целевая игра!
+ );
+ if (result.data && result.data.length > 0) {
+ const state = JSON.parse(result.data[0].value);
+ clickerScore = state.score || 0;
+ log(`Счёт кликера: ${clickerScore}`, 'success');
+ } else {
+ clickerScore = 0;
+ log('Кликер ещё не сохранял данные (таблица пустая)', 'info');
}
+ updateUI();
+ } catch (e) {
+ log('Ошибка чтения кликера: ' + e.message, 'error');
+ }
+}
async function boostClicker() {
- if (!api) {
- log('API недоступен', 'error');
- return;
- }
- if (myState.capital < 500) {
- log('Недостаточно капитала (нужно 500)', 'error');
- return;
- }
- try {
- // 1. Читаем текущее состояние кликера
- const result = await api.selectData(CLICKER_TABLE, { key: 'game_state' }, CLICKER_SAVE);
- if (!result.data || result.data.length === 0) {
- log('Кликер не найден — сначала запустите его', 'error');
- return;
- }
- const state = JSON.parse(result.data[0].value);
- const oldScore = state.score || 0;
- state.score = oldScore + 1000;
-
- // 2. Обновляем в save кликера (потребуется разрешение на insert в main_save)
- await api.deleteData(CLICKER_TABLE, { key: 'game_state' }, CLICKER_SAVE);
- await api.insertData(CLICKER_TABLE, {
- key: 'game_state',
- value: JSON.stringify(state),
- updated_at: new Date().toISOString()
- }, CLICKER_SAVE);
-
- // 3. Списываем капитал
- myState.capital -= 500;
- await addHistory('Бонус кликеру (+1000)', -500);
- log(`✅ Кликеру добавлено +1000 (было ${oldScore}, стало ${state.score})`, 'success');
- updateUI();
- } catch (e) {
- log('Ошибка: ' + e.message, 'error');
- }
+ if (!api) {
+ log('API недоступен', 'error');
+ return;
+ }
+ if (myState.capital < 500) {
+ log('Недостаточно капитала (нужно 500)', 'error');
+ return;
+ }
+ try {
+ // 1. Читаем состояние кликера
+ const result = await api.selectData(
+ CLICKER_TABLE,
+ { key: 'game_state' },
+ CLICKER_SAVE,
+ {},
+ 'clicker' // ← Целевая игра!
+ );
+
+ if (!result.data || result.data.length === 0) {
+ log('Кликер не найден — сначала запустите его и дождитесь сохранения', 'error');
+ return;
}
+
+ const state = JSON.parse(result.data[0].value);
+ const oldScore = state.score || 0;
+ state.score = oldScore + 1000;
+
+ // 2. Удаляем старую запись
+ await api.deleteData(
+ CLICKER_TABLE,
+ { key: 'game_state' },
+ CLICKER_SAVE,
+ false,
+ 'clicker' // ← Целевая игра!
+ );
+
+ // 3. Вставляем обновлённую
+ await api.insertData(
+ CLICKER_TABLE,
+ {
+ key: 'game_state',
+ value: JSON.stringify(state),
+ updated_at: new Date().toISOString()
+ },
+ CLICKER_SAVE,
+ 'clicker' // ← Целевая игра!
+ );
+
+ // 4. Списываем капитал
+ myState.capital -= 500;
+ await addHistory('Бонус кликеру (+1000)', -500);
+ log(`✅ Кликеру добавлено +1000 (было ${oldScore}, стало ${state.score})`, 'success');
+ updateUI();
+ } catch (e) {
+ log('Ошибка: ' + e.message, 'error');
+ }
+}
// ══════════════════════════════════════════════════════════
// ИНВЕСТИЦИИ