Initial commit: Tapalka monorepo (bot, front, strapi)

This commit is contained in:
2026-05-21 11:54:44 +07:00
commit 9ec9485940
208 changed files with 58314 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
import { create } from 'zustand';
interface IUseButtonStore {
typeButton: 'pending' | 'farming' | 'claim_reward';
setTypeButton: (typeButton: 'pending' | 'farming' | 'claim_reward') => void;
}
export const useButtonStore = create<IUseButtonStore>((set) => ({
typeButton: 'pending',
setTypeButton: (typeButton) => set(() => ({ typeButton })),
}));

View File

@@ -0,0 +1,11 @@
import { create } from 'zustand';
interface IUseConfigBot {
token: string;
setToken: (token: string) => void;
}
export const useConfigBotStore = create<IUseConfigBot>(set => ({
token: '',
setToken: token => set(() => ({ token })),
}));

View File

@@ -0,0 +1,12 @@
import { create } from 'zustand';
import { IConfig } from '@/api/config.api';
interface IUseConfig {
config: IConfig | null;
setConfig: (config: IConfig | null) => void;
}
export const useConfigStore = create<IUseConfig>(set => ({
config: null,
setConfig: config => set(() => ({ config })),
}));

View File

@@ -0,0 +1,23 @@
import { create } from 'zustand';
interface IUseModal {
isDecimal: boolean;
shopItemId: number | null;
priceItem: number;
image: string;
setIsDecimal: (isDecimal: boolean) => void;
setPriceItem: (priceItem: number) => void;
setImage: (image: string) => void;
setShopItemId: (shopItemId: number | null) => void;
}
export const useModalStore = create<IUseModal>((set) => ({
isDecimal: true,
priceItem: 0,
shopItemId: null,
image: '/icons/small-coin-icon.svg',
setShopItemId: (shopItemId) => set(() => ({ shopItemId })),
setIsDecimal: (isDecimal) => set(() => ({ isDecimal })),
setPriceItem: (priceItem) => set(() => ({ priceItem })),
setImage: (image) => set(() => ({ image })),
}));

View File

@@ -0,0 +1,16 @@
import { create } from 'zustand';
import { IPlayer } from '@/interfaces/player.type';
interface IUserPlayer {
player: IPlayer | null;
isLoading: boolean;
setPlayer: (player: IPlayer | null) => void;
stopLoading: () => void;
}
export const usePlayerStore = create<IUserPlayer>(set => ({
player: null,
isLoading: true,
setPlayer: player => set(() => ({ player })),
stopLoading: () => set(() => ({ isLoading: false })),
}));

View File

@@ -0,0 +1,13 @@
import { create } from 'zustand';
import { ITask } from '@/api/tasks.api';
import { IShopItem } from '@/api/shop-item.api';
interface IUseTasks {
shopItems: IShopItem[];
setShopItems(tasks: IShopItem[]): void;
}
export const useShopItemsStore = create<IUseTasks>(set => ({
shopItems: [],
setShopItems: shopItems => set(() => ({ shopItems })),
}));

View File

@@ -0,0 +1,12 @@
import { create } from 'zustand';
import { ITask } from '@/api/tasks.api';
interface IUseTasks {
tasks: ITask[];
setTasks(tasks: ITask[]): void;
}
export const useTasksStore = create<IUseTasks>(set => ({
tasks: [],
setTasks: tasks => set(() => ({ tasks })),
}));

View File

@@ -0,0 +1,11 @@
import { create } from 'zustand';
interface IUseToken {
token: string | null;
setToken: (token: string) => void;
}
export const useTokenStore = create<IUseToken>(set => ({
token: null,
setToken: token => set(() => ({ token })),
}));