# VIPZone Admin Interface

Admin interface for the VIPZone WordPress plugin.

## Requirements

- Node.js 16+
- npm 8+

## Installation

```bash
# Install dependencies
npm install
```

## .env
For dev, create .env.development with these vars 
````
VITE_USE_MOCK_DATA=true
VITE_MOCK_DELAY=300
VITE_API_URL=/api
VITE_WC_PRODUCTS_COUNT=300
VITE_WEBSITE_URL=https://vipzone.devtree.fr
VITE_MOCK_LICENSE_LEVEL=core
```

For production build, create .env.production with these vars 
````
VITE_API_URL=/wp-json/wp-vipzone/v1
VITE_USE_MOCK_DATA=false
VITE_WEBSITE_URL=https://vipzone.devtree.fr
```


## Development

```bash
# Start development server
npm run dev
```

## Production Build

```bash
# Compile and minify for production
npm run build
```

The compiled application will be placed in the `../assets/dist/` directory to be loaded by the WordPress plugin.

## Project Structure

- `src/` - Application source code
  - `assets/` - Static resources
    - `scss/` - SCSS styles
      - `components/` - Component styles
      - `views/` - View styles
      - `main.scss` - Main style file
      - `structure.scss` - General structure styles
  - `components/` - Reusable Vue components
  - `composables/` - Reusable logic (Vue hooks)
    - `useApi.js` - API calls management
    - `useErrorHandler.js` - Error handling
    - `useCurrency.js` - Currency formatting
    - `useNavigation.js` - Navigation management
    - `useNotification.js` - Notification system
    - `useProductStock.js` - Product stock management
    - `useProductValidation.js` - Product validation
    - `useTheme.js` - Theme management
    - `useFormatters.js` - Formatting functions
    - `useLicense.js` - License management
  - `i18n/` - Translation files
    - `locales/` - Translations by language
  - `layouts/` - Application layouts
  - `views/` - Application pages
  - `router/` - Vue router configuration
  - `App.vue` - Root component
  - `main.js` - Entry point
- `public/` - Static files copied to root during build 