9 Commits

Author SHA1 Message Date
Frank John Begornia
316adc77a6 update nginx 2024-01-05 23:09:45 +08:00
Frank John Begornia
459d28b6b8 updated 2024-01-05 22:42:41 +08:00
Frank John Begornia
ee13d3269e update 2024-01-05 21:07:55 +08:00
Frank John Begornia
a4fb9e3d32 updated 2024-01-05 21:06:56 +08:00
Frank John Begornia
ad00da3e0b updated docker file 2024-01-05 20:58:45 +08:00
Frank John Begornia
f44fa68797 updated 2024-01-05 20:58:19 +08:00
Frank John Begornia
d87efd86e7 updated 2023-12-30 01:56:09 +08:00
Frank John Begornia
78d99b5ff6 updated docker 2023-12-30 00:26:02 +08:00
Frank John Begornia
3394c94677 updated 2023-12-27 20:39:40 +08:00
106 changed files with 3669 additions and 2884 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@@ -1,36 +0,0 @@
APP_ENV=local
APP_DEBUG=true
APP_KEY=base64:YOUR_APP_KEY_HERE
DB_HOST=db
DB_DATABASE=merchbay
DB_USERNAME=merchbay
DB_PASSWORD=secret
DB_PORT=3306
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
# Local mail (logs to storage/logs/laravel.log)
MAIL_DRIVER=log
MAIL_HOST=localhost
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
# Local URLs
APP_URL=http://localhost:8080
PROD_PRIVATE=http://localhost:8080
IMAGES_URL=http://localhost:8080
UPLOAD_URL=http://localhost:8080/uploads/
# Test Captcha (for local dev)
CAPTCHA_SITE_KEY=test_key
CAPTCHA_SECRET_KEY=test_secret
# Analytics (optional for local)
ANALYTICS_SITE_ID=
ANALYTICS_CLIENT_ID=
ANALYTICS_SERVICE_EMAIL=

View File

@@ -1,57 +0,0 @@
name: Build and Push Docker Image
on:
push:
tags:
- 'v*'
workflow_dispatch:
inputs:
tag:
description: 'Docker image tag (e.g., v1.0.0, latest)'
required: false
default: 'latest'
push_to_registry:
description: 'Push to registry?'
required: false
default: 'true'
jobs:
build-and-push:
runs-on: ubuntu-latest
container:
image: catthehacker/ubuntu:act-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to Docker Registry
uses: docker/login-action@v2
with:
registry: ${{ secrets.DOCKER_REGISTRY_URL }}
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Extract metadata
id: meta
uses: docker/metadata-action@v4
with:
images: ${{ secrets.DOCKER_REGISTRY_URL }}/merchbay
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
type=raw,value=latest
- name: Build and push
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=registry,ref=${{ secrets.DOCKER_REGISTRY_URL }}/merchbay:buildcache
cache-to: type=registry,ref=${{ secrets.DOCKER_REGISTRY_URL }}/merchbay:buildcache,mode=max

View File

@@ -1,161 +0,0 @@
name: Deploy Development
on:
push:
branches:
- dev
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
container:
image: catthehacker/ubuntu:act-latest
steps:
# 1⃣ Checkout code
- name: Checkout code
shell: sh
run: |
git clone $GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git /workspace/repo
cd /workspace/repo
git checkout $GITHUB_REF_NAME
# 2⃣ Build image
- name: Build Docker image
shell: sh
run: |
cd /workspace/repo
docker build -t merchbay:dev .
docker save merchbay:dev | gzip > merchbay_dev.tar.gz
# 3⃣ Setup SSH
- name: Setup SSH
shell: sh
env:
DEPLOY_SSH_KEY: ${{ secrets.DEPLOY_SSH_KEY }}
DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
run: |
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "$DEPLOY_SSH_KEY" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
ssh-keyscan -H "$DEPLOY_HOST" >> ~/.ssh/known_hosts
# 4⃣ Upload artifacts
- name: Upload image and compose
shell: sh
env:
DEPLOY_USER: ${{ secrets.DEPLOY_USER }}
DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
run: |
scp -i ~/.ssh/id_ed25519 \
/workspace/repo/merchbay_dev.tar.gz \
/workspace/repo/docker-compose.dev.yml \
${DEPLOY_USER}@${DEPLOY_HOST}:/tmp/
# 5⃣ Deploy on server
- name: Deploy on server
shell: sh
env:
DEPLOY_USER: ${{ secrets.DEPLOY_USER }}
DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
run: |
ssh -i ~/.ssh/id_ed25519 $DEPLOY_USER@$DEPLOY_HOST << 'EOF'
set -e
DEPLOY_DIR="/var/www/apps/merchbay_dev"
mkdir -p "$DEPLOY_DIR"
echo "📦 Loading image"
docker load < /tmp/merchbay_dev.tar.gz
echo "🧹 Removing old merchbay images"
docker images | grep merchbay | grep -v "$(docker images merchbay:dev -q)" | awk '{print $3}' | xargs -r docker rmi -f || true
echo "📄 Updating compose file"
cp /tmp/docker-compose.dev.yml "$DEPLOY_DIR/docker-compose.yml"
cd "$DEPLOY_DIR"
echo "🔍 Checking .env file"
if [ ! -f .env ]; then
echo "❌ .env file not found at $DEPLOY_DIR/.env"
echo "Please create it first with required variables:"
echo " - DB_*, PROD_PRIVATE, IMAGES_URL, UPLOAD_URL"
echo " - MAIL_*, CAPTCHA_*, ANALYTICS_*"
exit 1
fi
echo "🔧 Fixing .env permissions"
sudo chown $USER:$USER .env
sudo chmod 600 .env
echo "🌐 Ensure networks"
docker network inspect traefik-public >/dev/null 2>&1 || \
docker network create traefik-public
docker network inspect crew-app-net >/dev/null 2>&1 || \
docker network create crew-app-net
echo "🚀 Starting containers (env vars from .env file)"
docker compose up -d
echo "⏳ Waiting for app container"
sleep 15
if docker ps --format '{{.Names}}' | grep -q merchbay_app; then
echo "🧹 Clearing and rebuilding config cache"
docker compose exec -T app php artisan config:clear
docker compose exec -T app php artisan config:cache
else
echo "❌ App container not running"
docker compose logs
exit 1
fi
echo "🧹 Cleanup"
rm -f /tmp/merchbay_dev.tar.gz /tmp/docker-compose.dev.yml
echo "🧹 Aggressive Docker cleanup to reclaim space"
docker image prune -af --filter "until=24h" || true
docker container prune -f || true
docker volume prune -f || true
docker builder prune -af --filter "until=48h" || true
echo "📊 Docker space usage:"
docker system df
echo "✅ Deployment completed"
EOF
# 6⃣ Health check
- name: Health check
shell: sh
run: |
echo "⏳ Waiting for app to be ready..."
sleep 20
echo "🔍 Testing health check (ignoring SSL cert for now)..."
HTTP_CODE=$(curl -k -s -o /dev/null -w "%{http_code}" --max-time 30 https://dev.merchbay.app || echo "000")
if [ "$HTTP_CODE" = "200" ] || [ "$HTTP_CODE" = "302" ] || [ "$HTTP_CODE" = "301" ]; then
echo "✅ Health check passed! (HTTP $HTTP_CODE)"
echo "⚠️ Note: Using -k to ignore SSL cert. Check Traefik logs if cert not ready."
else
echo "❌ Health check failed! (HTTP $HTTP_CODE)"
echo ""
echo "💡 Troubleshooting:"
echo " 1. Check if container is running:"
echo " docker ps | grep merchbay_app"
echo ""
echo " 2. Check app logs:"
echo " docker logs merchbay_app"
echo ""
echo " 3. Check Traefik logs:"
echo " docker logs traefik"
echo ""
echo " 4. Test manually:"
echo " curl -Ik https://dev.merchbay.app"
exit 1
fi

View File

@@ -1,181 +0,0 @@
name: Deploy Production (merchbay.com)
on:
push:
branches:
- main
- master
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
container:
image: catthehacker/ubuntu:act-latest
steps:
# 1⃣ Checkout code
- name: Checkout code
shell: sh
run: |
git clone $GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git /workspace/repo
cd /workspace/repo
git checkout $GITHUB_REF_NAME
# 2⃣ Build image
- name: Build Docker image
shell: sh
run: |
cd /workspace/repo
docker build -t merchbay:latest .
docker save merchbay:latest | gzip > merchbay.tar.gz
# 3⃣ Setup SSH
- name: Setup SSH
shell: sh
env:
DEPLOY_SSH_KEY: ${{ secrets.DEPLOY_SSH_KEY }}
DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
run: |
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "$DEPLOY_SSH_KEY" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
ssh-keyscan -H "$DEPLOY_HOST" >> ~/.ssh/known_hosts
# 4⃣ Upload artifacts
- name: Upload image and compose
shell: sh
env:
DEPLOY_USER: ${{ secrets.DEPLOY_USER }}
DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
run: |
scp -i ~/.ssh/id_ed25519 \
/workspace/repo/merchbay.tar.gz \
/workspace/repo/docker-compose.prod.yml \
${DEPLOY_USER}@${DEPLOY_HOST}:/tmp/
# 5⃣ Deploy on server
- name: Deploy on server
shell: sh
env:
DEPLOY_USER: ${{ secrets.DEPLOY_USER }}
DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
run: |
ssh -i ~/.ssh/id_ed25519 $DEPLOY_USER@$DEPLOY_HOST << 'EOF'
set -e
DEPLOY_DIR="/var/www/merchbay"
sudo mkdir -p "$DEPLOY_DIR"
sudo chown $USER:$USER "$DEPLOY_DIR"
echo "<22> Stopping dev environment"
DEV_DIR="/var/www/apps/merchbay_dev"
if [ -d "$DEV_DIR" ]; then
cd "$DEV_DIR"
docker compose down || true
cd -
echo "✅ Dev environment stopped"
echo "📋 Copying .env from dev to production"
if [ -f "$DEV_DIR/.env" ]; then
cp "$DEV_DIR/.env" "$DEPLOY_DIR/.env"
echo "✅ .env file copied from dev to production"
else
echo "⚠️ No .env file found in dev directory"
fi else
echo " No dev environment found"
fi
echo "📦 Loading image"
docker load < /tmp/merchbay.tar.gz
echo "🧹 Removing dev images and old merchbay images"
docker images | grep "merchbay:dev" | awk '{print $3}' | xargs -r docker rmi -f || true
docker images | grep merchbay | grep -v "$(docker images merchbay:latest -q)" | awk '{print $3}' | xargs -r docker rmi -f || true
echo "📄 Updating compose file"
cp /tmp/docker-compose.prod.yml "$DEPLOY_DIR/docker-compose.yml"
cd "$DEPLOY_DIR"
echo "🔍 Checking .env file"
if [ ! -f .env ]; then
echo "❌ .env file not found at $DEPLOY_DIR/.env"
echo "Please create it first with required variables:"
echo " - DB_*, PROD_PRIVATE, IMAGES_URL, UPLOAD_URL"
echo " - MAIL_*, CAPTCHA_*, ANALYTICS_*"
exit 1
fi
echo "🔧 Fixing .env permissions"
sudo chown $USER:$USER .env
sudo chmod 600 .env
echo "🌐 Ensure networks"
docker network inspect traefik-public >/dev/null 2>&1 || \
docker network create traefik-public
docker network inspect crew-app-net >/dev/null 2>&1 || \
docker network create crew-app-net
echo "🚀 Starting containers (env vars from .env file)"
docker compose up -d
echo "⏳ Waiting for app container"
sleep 15
if docker ps --format '{{.Names}}' | grep -q merchbay_app; then
echo "🧹 Clearing and rebuilding config cache"
docker compose exec -T app php artisan config:clear
docker compose exec -T app php artisan config:cache
else
echo "❌ App container not running"
docker compose logs
exit 1
fi
echo "🧹 Cleanup"
rm -f /tmp/merchbay.tar.gz /tmp/docker-compose.prod.yml
echo "🧹 Aggressive Docker cleanup to reclaim space"
docker image prune -af --filter "until=24h" || true
docker container prune -f || true
docker volume prune -f || true
docker builder prune -af --filter "until=48h" || true
echo "📊 Docker space usage:"
docker system df
echo "✅ Production deployment completed!"
echo "🌐 Application available at: https://merchbay.com"
EOF
# 6⃣ Health check
- name: Health check
shell: sh
run: |
echo "⏳ Waiting for app to be ready..."
sleep 20
echo "🔍 Testing health check..."
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" --max-time 30 https://merchbay.com || echo "000")
if [ "$HTTP_CODE" = "200" ] || [ "$HTTP_CODE" = "302" ] || [ "$HTTP_CODE" = "301" ]; then
echo "✅ Health check passed! (HTTP $HTTP_CODE)"
echo "🎉 Production deployment successful!"
else
echo "❌ Health check failed! (HTTP $HTTP_CODE)"
echo ""
echo "💡 Troubleshooting:"
echo " 1. Check if container is running:"
echo " docker ps | grep merchbay_app"
echo ""
echo " 2. Check app logs:"
echo " docker logs merchbay_app"
echo ""
echo " 3. Check Traefik logs:"
echo " docker logs traefik"
echo ""
echo " 4. Test manually:"
echo " curl -Ik https://merchbay.com"
exit 1
fi

View File

@@ -1,125 +0,0 @@
# DigiCert SSL Certificate Setup for Production
## Certificate Files Required
From DigiCert, you'll receive these files:
- `merchbay_com.crt` - Your domain certificate
- `merchbay_com.key` - Private key (generated during CSR creation)
- `DigiCertCA.crt` - Intermediate certificate
- `TrustedRoot.crt` - Root certificate (optional)
## Step 1: Combine Certificate Chain (on your local machine)
```bash
# Create full chain certificate
cat merchbay_com.crt DigiCertCA.crt > merchbay.com.crt
# Copy private key
cp merchbay_com.key merchbay.com.key
```
## Step 2: Upload to Production Server
```bash
# SSH to production server
ssh PROD_DEPLOY_USER@PROD_DEPLOY_HOST
# Create certificates directory
sudo mkdir -p /srv/certs
sudo chmod 700 /srv/certs
# Exit SSH, then upload from local machine
scp merchbay.com.crt PROD_DEPLOY_USER@PROD_DEPLOY_HOST:/tmp/
scp merchbay.com.key PROD_DEPLOY_USER@PROD_DEPLOY_HOST:/tmp/
# SSH back to server and move files
ssh PROD_DEPLOY_USER@PROD_DEPLOY_HOST
sudo mv /tmp/merchbay.com.crt /srv/certs/
sudo mv /tmp/merchbay.com.key /srv/certs/
sudo chmod 600 /srv/certs/*
sudo chown root:root /srv/certs/*
```
## Step 3: Upload Traefik Configuration
```bash
# From local machine
scp traefik-certs.yml PROD_DEPLOY_USER@PROD_DEPLOY_HOST:/tmp/
# SSH to server
ssh PROD_DEPLOY_USER@PROD_DEPLOY_HOST
sudo mkdir -p /srv/traefik
sudo mv /tmp/traefik-certs.yml /srv/traefik/dynamic-certs.yml
sudo chmod 644 /srv/traefik/dynamic-certs.yml
```
## Step 4: Update Traefik Container
Ensure your Traefik docker-compose.yml includes:
```yaml
services:
traefik:
image: traefik:v2.10
command:
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --providers.file.filename=/dynamic-certs.yml
- --entrypoints.web.address=:80
- --entrypoints.websecure.address=:443
- --entrypoints.web.http.redirections.entrypoint.to=websecure
- --entrypoints.web.http.redirections.entrypoint.scheme=https
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /srv/certs:/srv/certs:ro
- /srv/traefik/dynamic-certs.yml:/dynamic-certs.yml:ro
networks:
- traefik-public
restart: unless-stopped
```
## Step 5: Restart Traefik
```bash
cd /opt/traefik # or wherever your traefik docker-compose.yml is
docker compose restart traefik
# Verify certificate is loaded
docker compose logs traefik | grep -i certificate
```
## Step 6: Deploy merchbay Application
Once Traefik is configured, deploy merchbay:
```bash
cd /var/www/merchbay
docker compose up -d
```
## Verification
```bash
# Check certificate
openssl s_client -connect merchbay.com:443 -servername merchbay.com < /dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates
# Should show:
# subject=CN = merchbay.com
# issuer=O = DigiCert Inc, CN = DigiCert TLS RSA SHA256 2020 CA1
# notBefore=...
# notAfter=...
```
## Certificate Renewal
DigiCert certificates typically last 1-2 years. Set a reminder to renew 30 days before expiration and repeat Steps 1-3 and 5.
## Security Notes
- Never commit `.key` files to git
- Keep private keys secure (600 permissions)
- Use strong encryption for private key storage
- Consider using a certificate management system for automatic renewal

102
Dockerfile Executable file → Normal file
View File

@@ -1,86 +1,46 @@
# Use PHP 7.0 with Apache (has native mcrypt support for Laravel 5.0) # Use the official PHP image based on Alpine Linux
FROM php:7.0-apache FROM php:5.6-fpm-alpine
# Update to use archived Debian repositories # Install system dependencies and PHP extensions
RUN sed -i 's|deb.debian.org|archive.debian.org|g' /etc/apt/sources.list \ RUN apk --update --no-cache add \
&& sed -i 's|security.debian.org|archive.debian.org|g' /etc/apt/sources.list \ nginx \
&& sed -i '/stretch-updates/d' /etc/apt/sources.list
# Install system dependencies
RUN apt-get update && apt-get install -y --allow-unauthenticated \
git \
curl \
libpng-dev \ libpng-dev \
libxml2-dev \ libjpeg-turbo-dev \
libmcrypt-dev \ freetype-dev \
libzip-dev \
zip \ zip \
unzip \ unzip \
libfreetype6-dev \ libmcrypt-dev \
libjpeg62-turbo-dev \ && docker-php-ext-configure gd --with-freetype --with-jpeg \
openssh-client \ && docker-php-ext-install gd pdo pdo_mysql zip mcrypt
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd
# Install PHP extensions (mcrypt is built-in for PHP 7.0) # Set the working directory in the container
RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath mcrypt tokenizer zip WORKDIR /var/www
# Enable Apache mod_rewrite # Clear cache
RUN a2enmod rewrite # RUN apt-get clean && rm -rf /var/lib/apt/lists/*
# Install Composer (version 1.x for better compatibility with Laravel 5.0) # Copy the Laravel application files to the container
COPY --from=composer:1.10 /usr/bin/composer /usr/bin/composer COPY . .
# Set working directory # Set appropriate permissions for Laravel storage and bootstrap cache
WORKDIR /var/www/html RUN chown -R www-data:www-data storage bootstrap
# Copy existing application directory contents # Install Composer
COPY . /var/www/html RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# Create storage directories and set permissions # Install Laravel dependencies
RUN mkdir -p storage/framework/views \ RUN composer install --no-plugins --no-scripts
storage/framework/cache \
storage/framework/sessions \
storage/logs \
bootstrap/cache
# Set proper ownership and permissions # Generate Laravel application key
RUN chown -R www-data:www-data /var/www/html \ RUN php artisan key:generate
&& chmod -R 775 /var/www/html/storage \
&& chmod -R 775 /var/www/html/bootstrap/cache
# Create .env file if it doesn't exist # Create directory for the socket and set permissions
RUN if [ ! -f .env ]; then cp .env.example .env; fi RUN mkdir -p /run/php && chown www-data:www-data /run/php
# Install PHP dependencies (Laravel 5.0 compatible) # Copy the www.conf file to PHP-FPM pool.d directory
RUN composer install --no-dev --no-interaction --prefer-dist # COPY www.conf /usr/local/etc/php-fpm.d/www.conf
# Generate application key # Expose port 9000 and start php-fpm server
RUN php artisan key:generate || true
# Run Laravel 5.0 optimization
RUN php artisan clear-compiled && php artisan optimize
# Note: yakpro-po obfuscation requires PHP 7.1+, incompatible with PHP 7.0
# For code protection with PHP 7.0, consider:
# 1. ionCube Encoder (commercial, most secure)
# 2. Keeping source code private and using proper access controls
# 3. Using --optimize flag in composer (already done above)
# Configure Apache DocumentRoot to point to Laravel's public directory
ENV APACHE_DOCUMENT_ROOT=/var/www/html/public
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
# Suppress Apache ServerName warning
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
# Copy entrypoint script
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
# Expose port 80
EXPOSE 80 EXPOSE 80
CMD ["php-fpm"]
# Use entrypoint to set up permissions before starting Apache
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["apache2-foreground"]

View File

@@ -1,133 +0,0 @@
# Local Development Setup for Merchbay
## Quick Start
1. **Copy local environment file:**
```bash
cp .env.local .env
```
2. **Build and start containers:**
```bash
docker-compose -f docker-compose.local.yml up -d --build
```
3. **Generate application key:**
```bash
docker exec merchbay_app_local php artisan key:generate
```
4. **Run migrations:**
```bash
docker exec merchbay_app_local php artisan migrate
```
5. **Access the application:**
- **App:** http://localhost:8080
- **phpMyAdmin:** http://localhost:8081
- Username: `merchbay`
- Password: `secret`
## Development Commands
### View logs
```bash
# Application logs
docker exec merchbay_app_local tail -f storage/logs/laravel.log
# Apache logs
docker logs -f merchbay_app_local
```
### Run artisan commands
```bash
docker exec merchbay_app_local php artisan [command]
```
### Access container shell
```bash
docker exec -it merchbay_app_local bash
```
### Database access
```bash
docker exec -it merchbay_db_local mysql -u merchbay -psecret merchbay
```
### Clear caches
```bash
docker exec merchbay_app_local php artisan cache:clear
docker exec merchbay_app_local php artisan config:clear
docker exec merchbay_app_local php artisan view:clear
```
### Stop containers
```bash
docker-compose -f docker-compose.local.yml down
```
### Stop and remove volumes (clean slate)
```bash
docker-compose -f docker-compose.local.yml down -v
```
## Debugging
### Enable Xdebug (if needed)
Add to Dockerfile:
```dockerfile
RUN pecl install xdebug-2.9.8 && docker-php-ext-enable xdebug
```
### Check container status
```bash
docker-compose -f docker-compose.local.yml ps
```
### View all logs
```bash
docker-compose -f docker-compose.local.yml logs -f
```
## Hot Reload Development
For live code changes without rebuilding:
- Code changes in `.php` files are reflected immediately (via volume mount)
- View changes are reflected immediately
- Config/route changes require cache clearing
## Database Management
### Import SQL dump
```bash
docker exec -i merchbay_db_local mysql -u merchbay -psecret merchbay < dump.sql
```
### Export database
```bash
docker exec merchbay_db_local mysqldump -u merchbay -psecret merchbay > dump.sql
```
## Troubleshooting
### Permission issues
```bash
docker exec merchbay_app_local chown -R www-data:www-data storage bootstrap/cache
docker exec merchbay_app_local chmod -R 775 storage bootstrap/cache
```
### Reset everything
```bash
docker-compose -f docker-compose.local.yml down -v
docker rmi merchbay_app:local
rm .env
cp .env.local .env
docker-compose -f docker-compose.local.yml up -d --build
```
## Notes
- The local setup uses a separate MySQL container
- All code changes are live-mounted for easy development
- Mail is logged to `storage/logs/laravel.log` instead of being sent
- phpMyAdmin is available for easy database management

View File

@@ -399,14 +399,13 @@ class PaypalController extends Controller
public function getTax($cartKey) public function getTax($cartKey)
{ {
$m = new TeamStoreModel; $m = new TeamStoreModel;
$updated_getSubtotal = $m->getSubtotalNew($cartKey); $updated_getSubtotal = $m->getSubtotal($cartKey);
$original_subtotal = $m->getSubtotal($cartKey); // withoutTanle
$grouped_item = $m->selectTeamStoreGroupByCartKey($cartKey); $grouped_item = $m->selectTeamStoreGroupByCartKey($cartKey);
if (count($grouped_item) <= 0) { if (count($grouped_item) <= 0) {
$tax_value = 0; $tax_value = 0;
} else { } else {
if ($grouped_item[0]->StoreId == 76 || $grouped_item[0]->StoreId == 78 || $grouped_item[0]->StoreId == 111 || $grouped_item[0]->StoreId == 131 || $grouped_item[0]->StoreId == 30 || $grouped_item[0]->StoreId == 141 || $grouped_item[0]->StoreId == 162 || $grouped_item[0]->StoreId == 185 || $grouped_item[0]->StoreId == 244 || $grouped_item[0]->StoreId == 301 || $grouped_item[0]->StoreId == 1 || $grouped_item[0]->StoreId == 329 || $grouped_item[0]->StoreId == 340 || $grouped_item[0]->StoreId == 346) { if ($grouped_item[0]->StoreId == 76 || $grouped_item[0]->StoreId == 78 || $grouped_item[0]->StoreId == 111 || $grouped_item[0]->StoreId == 131 || $grouped_item[0]->StoreId == 30 || $grouped_item[0]->StoreId == 141 || $grouped_item[0]->StoreId == 162 || $grouped_item[0]->StoreId == 185 || $grouped_item[0]->StoreId == 244 || $grouped_item[0]->StoreId == 301 || $grouped_item[0]->StoreId == 1 || $grouped_item[0]->StoreId == 329 || $grouped_item[0]->StoreId == 340) {
$tax_value = 0; $tax_value = 0;
} else { } else {
$tax_value = 0.10; $tax_value = 0.10;
@@ -415,11 +414,10 @@ class PaypalController extends Controller
$order_grandtotal = $updated_getSubtotal[0]->Subtotal; $order_grandtotal = $updated_getSubtotal[0]->Subtotal;
$order_subtotal = $original_subtotal[0]->Subtotal;
$tax = $order_subtotal * $tax_value; $tax = $order_grandtotal * $tax_value;
return [ return [
'tax' => $tax, 'tax' => $tax,

View File

@@ -161,6 +161,73 @@ class TeamStoreController extends Controller
->with('thumbnails', $thumbnails); ->with('thumbnails', $thumbnails);
} }
public function storeIndex(Request $request)
{
// $analyticsData = Analytics::getMostVisitedPages(14, 50);
// foreach($analyticsData as $key => $val){
// if (strpos($val['url'], 'teamstore') !== false) {
// $teamstore[] = $val['url'];
// }
// }
// foreach($teamstore as $t){
// $sad = explode('/', $t);
// if(count($sad) == 4){
// $arr_teamstore[] = explode('?', $sad['3'])['0'];
// }
// }
// var_dump(array_unique($arr_teamstore));
$m = new TeamStoreModel;
$q = $request->input('q');
$sort = $request->input('s');
if (isset($q) && isset($sort)) {
if ($sort == "latest") {
$field = "Id";
$sort_value = "DESC";
} elseif ($sort == "al-desc") {
$field = "StoreName";
$sort_value = "DESC";
} elseif ($sort == "oldest") {
$field = "Id";
$sort_value = "ASC";
} else {
$field = "StoreName";
$sort_value = "ASC";
}
if ($q != "") {
// keyword and sort
$stores_array = $m->selectTeamstoreSearch($field, $sort_value, $q);
} else {
// sort only
$stores_array = $m->selectTeamstoreFilter($field, $sort_value);
}
} else {
$field = "StoreName";
$sort_value = "ASC";
$sort = "al-asc";
$stores_array = $m->selectTeamstoreFilter($field, $sort_value);
}
$getCarousel = $m->getCarousel();
// var_dump($getCarousel);
$featured_products = $m->selectFeaturedProducts();
return view('merchbay.stores')
->with('stores_array', $stores_array)
->with('keyword', $q)
->with('filter', $sort)
->with('carousel_images', $getCarousel)
->with('featured_products', $featured_products);
}
public function storelist(Request $request) public function storelist(Request $request)
{ {
// $analyticsData = Analytics::getMostVisitedPages(14, 50); // $analyticsData = Analytics::getMostVisitedPages(14, 50);
@@ -499,30 +566,6 @@ class TeamStoreController extends Controller
'ShippingCostId' => $shipping_cost_id 'ShippingCostId' => $shipping_cost_id
); );
} }
} elseif ($product_form == "number-size-form") {
// $order_names = $post['order_names'];
$order_number = $post['order_number'];
$order_size = $post['order_size'];
foreach ($order_size as $key => $val) {
$items[] = array(
'ProductId' => $product_id,
'StoreURL' => $store_url,
'StoreId' => $store_id,
'FormUsed' => $product_form,
'CartKey' => $cartKey,
'DesignCode' => $design_code,
'ProductURL' => $ProductURL,
'ProductName' => $product_name,
'Name' => $product_name,
'Size' => $order_size[$key],
'Number' => $order_number[$key],
'Price' => $ProductPrice,
'Quantity' => 1,
'ShippingCostId' => $shipping_cost_id
);
}
} elseif ($product_form == "number-form") { } elseif ($product_form == "number-form") {
$order_number = $post['order_number']; $order_number = $post['order_number'];
@@ -978,7 +1021,6 @@ class TeamStoreController extends Controller
'shippingFee' => number_format($shippingFee, 2), 'shippingFee' => number_format($shippingFee, 2),
'total' => number_format($finalSubTotal + $shippingFee + $tax["tax"], 2), 'total' => number_format($finalSubTotal + $shippingFee + $tax["tax"], 2),
'subtotal' => number_format($finalSubTotal, 2), 'subtotal' => number_format($finalSubTotal, 2),
'tax' => $tax["tax"],
'remaining_shippingfee' => number_format(99 - $finalSubTotal, 2) 'remaining_shippingfee' => number_format(99 - $finalSubTotal, 2)
)); ));
} else { } else {

View File

@@ -34,10 +34,10 @@ class UserController extends Controller
$post_data = array( $post_data = array(
'isStoreOwner' => true, 'isStoreOwner' => true,
'store_order' => isset($countStoreOrder[0]->count_order) ? $countStoreOrder[0]->count_order : 0, 'store_order' => $countStoreOrder[0]->count_order,
'store_income' => isset($storeIncome[0]->store_income) ? $storeIncome[0]->store_income : 0, 'store_income' => $storeIncome[0]->store_income,
'store_product_count' => isset($countStoreProduct[0]->store_product_count) ? $countStoreProduct[0]->store_product_count : 0, 'store_product_count' => $countStoreProduct[0]->store_product_count,
'store_published_product' => isset($countStorePublishedProduct[0]->store_published_product) ? $countStorePublishedProduct[0]->store_published_product : 0 'store_published_product' => $countStorePublishedProduct[0]->store_published_product
); );
} else { } else {
$post_data = array( $post_data = array(
@@ -348,16 +348,14 @@ class UserController extends Controller
$newTeamStoreModel = new TeamStoreModel; $newTeamStoreModel = new TeamStoreModel;
$product_array = $newTeamStoreModel->selectTeamStoreProducts('ProductURL', $url); $product_array = $newTeamStoreModel->selectTeamStoreProducts('ProductURL', $url);
$roster = $newUserModel->getRoster($product_array[0]->Id);
$thumbnails_array = $newTeamStoreModel->getThumbnails($product_array[0]->Id); $thumbnails_array = $newTeamStoreModel->getThumbnails($product_array[0]->Id);
$available_size = explode(",", $product_array[0]->AvailableSizes); $available_size = explode(",", $product_array[0]->AvailableSizes);
$shipping_cost = $newUserModel->selectShippingCost(); $shipping_cost = $newUserModel->selectShippingCost();
return view('user-layouts.view-store-item')->with('product_array', $product_array) return view('user-layouts.view-store-item')->with('product_array', $product_array)
->with('available_size', $available_size) ->with('available_size', $available_size)
->with('thumbnails_array', $thumbnails_array) ->with('thumbnails_array', $thumbnails_array)
->with('shipping_cost', $shipping_cost) ->with('shipping_cost', $shipping_cost);
->with('roster', $roster);
} }
@@ -1346,76 +1344,4 @@ class UserController extends Controller
return $array_address_book; return $array_address_book;
} }
function roster(Request $request)
{
$UserModel = new UserModel;
$post = $request->all();
$response = $UserModel->insertRoster($post['data']);
if($response) {
return response()->json(array(
'status' => true,
'message' => "Roster is successfully saved."
));
}
return response()->json(array(
'status' => false,
'message' => "Something went wrong. Please try again"
));
}
function deleteRoster(Request $request) {
$UserModel = new UserModel;
$post = $request->all();
$response = $UserModel->deleteRoster($post['data']);
if($response) {
return response()->json(array(
'status' => true,
'message' => "Roster is successfully deleted."
));
}
return response()->json(array(
'status' => false,
'message' => "Something went wrong. Please try again"
));
}
function rosterUpdate(Request $request)
{
$UserModel = new UserModel;
$post = $request->all();
$response = $UserModel->updateRoster($post['data']);
if($response) {
return response()->json(array(
'status' => true,
'message' => "Roster is successfully updated."
));
}
return response()->json(array(
'status' => false,
'message' => "Something went wrong. Please try again"
));
}
function getCurrentRoster(Request $request) {
$productId = $request->query('product-id');
$newUserModel = new UserModel;
$roster = $newUserModel->getRoster($productId);
return response()->json($roster);
}
} }

View File

@@ -81,6 +81,8 @@ Route::get('/', 'teamstore\TeamStoreController@storelist'); // old
// Route::group(['middleware' => 'teamstoresession'], function () { // Route::group(['middleware' => 'teamstoresession'], function () {
Route::get('/stores', 'teamstore\TeamStoreController@storeIndex');
Route::get('/store/{storename}', 'teamstore\TeamStoreController@index'); Route::get('/store/{storename}', 'teamstore\TeamStoreController@index');
Route::get('/store/{storename}/product/{producurl}', 'teamstore\TeamStoreController@productDetails'); Route::get('/store/{storename}/product/{producurl}', 'teamstore\TeamStoreController@productDetails');
// Route::post('/teamstore/q/addnewrow', 'teamstore\TeamStoreController@addNewRow'); // Route::post('/teamstore/q/addnewrow', 'teamstore\TeamStoreController@addNewRow');
@@ -149,11 +151,6 @@ Route::group(['middleware' => 'normaluser'], function () {
Route::post('user/store-items/personal-design', 'user\UserController@saveNewItemFromDesigner'); Route::post('user/store-items/personal-design', 'user\UserController@saveNewItemFromDesigner');
Route::post('user/roster', 'user\UserController@roster');
Route::get('user/roster', 'user\UserController@getCurrentRoster');
Route::post('user/roster-delete', 'user\UserController@deleteRoster');
Route::post('user/roster-update', 'user\UserController@rosterUpdate');
}); });
Route::group(['middleware' => 'auth'], function () { Route::group(['middleware' => 'auth'], function () {

View File

@@ -189,16 +189,6 @@ class TeamStoreModel extends Model
return $i; return $i;
} }
function getSubtotalNew($cartKey)
{
$i = DB::table('cart_tmp')->select(DB::raw('SUM(Quantity * Price) AS Subtotal'))
->where('CartKey', '=', $cartKey)
// ->where('VoucherId', '=', null)
->get();
return $i;
}
function updateStoreItem($data, $url) function updateStoreItem($data, $url)
{ {
$i = DB::table('teamstore_products')->where('ProductURL', $url) $i = DB::table('teamstore_products')->where('ProductURL', $url)

View File

@@ -425,44 +425,4 @@ class UserModel extends Model
->update($data); ->update($data);
return $i; return $i;
} }
function insertRoster($data) {
$i = DB::table('roster')
->insert($data);
return $i;
}
function getRoster($productId)
{
$i = DB::table('roster')
->where('ProductId', $productId)
->get();
return $i;
}
function deleteRoster($idArray)
{
$deletedRows = DB::table('roster')
->whereIn('Id', $idArray) // Replace 'id' with the actual column name if different
->delete();
return $deletedRows; // Returns the number of rows deleted
}
function updateRoster($data)
{
$updatedRows = 0;
foreach ($data as $item) {
// Assuming each item contains an 'id' and the fields to update
$id = $item['Id'];
unset($item['Id']); // Remove 'id' from the update data
$updatedRows += DB::table('roster')
->where('Id', $id)
->update($item);
}
return $updatedRows; // Returns the total number of rows updated
}
} }

View File

@@ -15,11 +15,7 @@ class AppServiceProvider extends ServiceProvider {
*/ */
public function boot() public function boot()
{ {
// Force HTTPS URLs when behind a proxy (Traefik) //
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
\URL::forceSchema('https');
}
Blade::extend(function($value) { Blade::extend(function($value) {
return preg_replace('/\@define(.+)/', '<?php ${1}; ?>', $value); return preg_replace('/\@define(.+)/', '<?php ${1}; ?>', $value);
}); });

View File

@@ -1,58 +0,0 @@
services:
app:
image: merchbay:dev
container_name: merchbay_app_dev
restart: unless-stopped
environment:
- APP_ENV=${APP_ENV:-development}
- APP_DEBUG=${APP_DEBUG:-true}
- APP_URL=${APP_URL:-https://dev.merchbay.app}
- DB_CONNECTION=mysql
- DB_HOST=${DB_HOST}
- DB_PORT=${DB_PORT:-3306}
- DB_DATABASE=${DB_DATABASE}
- DB_USERNAME=${DB_USERNAME}
- DB_PASSWORD=${DB_PASSWORD}
- PROD_PRIVATE=${PROD_PRIVATE}
- IMAGES_URL=${IMAGES_URL}
- UPLOAD_URL=${UPLOAD_URL}
- FORCE_HTTPS=true
- MAIL_DRIVER=${MAIL_DRIVER}
- MAIL_HOST=${MAIL_HOST}
- MAIL_PORT=${MAIL_PORT}
- MAIL_USERNAME=${MAIL_USERNAME}
- MAIL_PASSWORD=${MAIL_PASSWORD}
- MAIL_ENCRYPTION=${MAIL_ENCRYPTION}
- CAPTCHA_SITE_KEY=${CAPTCHA_SITE_KEY}
- CAPTCHA_SECRET_KEY=${CAPTCHA_SECRET_KEY}
- ANALYTICS_SITE_ID=${ANALYTICS_SITE_ID}
- ANALYTICS_CLIENT_ID=${ANALYTICS_CLIENT_ID}
- ANALYTICS_SERVICE_EMAIL=${ANALYTICS_SERVICE_EMAIL}
volumes:
- ./storage:/var/www/html/storage
- ./public/uploads:/var/www/html/public/uploads
labels:
- "traefik.enable=true"
# Development environment (dev.merchbay.app)
- "traefik.http.routers.merchbay-dev.rule=Host(`dev.merchbay.app`)"
- "traefik.http.routers.merchbay-dev.entrypoints=websecure"
- "traefik.http.routers.merchbay-dev.tls=true"
- "traefik.http.routers.merchbay-dev.tls.certresolver=le"
- "traefik.http.services.merchbay-dev.loadbalancer.server.port=80"
# HTTP to HTTPS redirect
- "traefik.http.routers.merchbay-dev-http.rule=Host(`dev.merchbay.app`)"
- "traefik.http.routers.merchbay-dev-http.entrypoints=web"
- "traefik.http.routers.merchbay-dev-http.middlewares=https-redirect"
- "traefik.http.middlewares.https-redirect.redirectscheme.scheme=https"
networks:
- traefik-public
- crew-app-net
- default
networks:
traefik-public:
external: true
crew-app-net:
external: true
default:
driver: bridge

View File

@@ -1,81 +0,0 @@
services:
db:
image: mariadb:10.6
platform: linux/arm64
container_name: merchbay_db_local
restart: unless-stopped
environment:
MYSQL_DATABASE: merchbay
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: merchbay
MYSQL_PASSWORD: secret
ports:
- "3306:3306"
volumes:
- db_data:/var/lib/mysql
networks:
- merchbay-local
app:
build:
context: .
dockerfile: Dockerfile
container_name: merchbay_app_local
restart: unless-stopped
ports:
- "8080:80"
environment:
- APP_ENV=local
- APP_DEBUG=true
- APP_URL=http://localhost:8080
- DB_CONNECTION=mysql
- DB_HOST=db
- DB_PORT=3306
- DB_DATABASE=merchbay
- DB_USERNAME=merchbay
- DB_PASSWORD=secret
- PROD_PRIVATE=http://localhost:8080
- IMAGES_URL=http://localhost:8080
- UPLOAD_URL=http://localhost:8080/uploads/
- MAIL_DRIVER=log
- MAIL_HOST=localhost
- MAIL_PORT=1025
- MAIL_USERNAME=null
- MAIL_PASSWORD=null
- MAIL_ENCRYPTION=null
- CAPTCHA_SITE_KEY=test_key
- CAPTCHA_SECRET_KEY=test_secret
- ANALYTICS_SITE_ID=
- ANALYTICS_CLIENT_ID=
- ANALYTICS_SERVICE_EMAIL=
volumes:
- ./:/var/www/html
- ./storage:/var/www/html/storage
- ./public/uploads:/var/www/html/public/uploads
depends_on:
- db
networks:
- merchbay-local
phpmyadmin:
image: arm64v8/phpmyadmin
platform: linux/arm64
container_name: merchbay_phpmyadmin
restart: unless-stopped
ports:
- "8081:80"
environment:
PMA_HOST: db
PMA_PORT: 3306
MYSQL_ROOT_PASSWORD: root
depends_on:
- db
networks:
- merchbay-local
networks:
merchbay-local:
driver: bridge
volumes:
db_data:

View File

@@ -1,57 +0,0 @@
services:
app:
image: merchbay:latest
container_name: merchbay_app_prod
restart: unless-stopped
environment:
- APP_ENV=${APP_ENV:-production}
- APP_DEBUG=${APP_DEBUG:-false}
- APP_URL=${APP_URL:-https://merchbay.com}
- DB_CONNECTION=mysql
- DB_HOST=${DB_HOST}
- DB_PORT=${DB_PORT:-3306}
- DB_DATABASE=${DB_DATABASE}
- DB_USERNAME=${DB_USERNAME}
- DB_PASSWORD=${DB_PASSWORD}
- PROD_PRIVATE=${PROD_PRIVATE}
- IMAGES_URL=${IMAGES_URL}
- UPLOAD_URL=${UPLOAD_URL}
- FORCE_HTTPS=true
- MAIL_DRIVER=${MAIL_DRIVER}
- MAIL_HOST=${MAIL_HOST}
- MAIL_PORT=${MAIL_PORT}
- MAIL_USERNAME=${MAIL_USERNAME}
- MAIL_PASSWORD=${MAIL_PASSWORD}
- MAIL_ENCRYPTION=${MAIL_ENCRYPTION}
- CAPTCHA_SITE_KEY=${CAPTCHA_SITE_KEY}
- CAPTCHA_SECRET_KEY=${CAPTCHA_SECRET_KEY}
- ANALYTICS_SITE_ID=${ANALYTICS_SITE_ID}
- ANALYTICS_CLIENT_ID=${ANALYTICS_CLIENT_ID}
- ANALYTICS_SERVICE_EMAIL=${ANALYTICS_SERVICE_EMAIL}
volumes:
- ./storage:/var/www/html/storage
- ./public/uploads:/var/www/html/public/uploads
labels:
- "traefik.enable=true"
# Production environment (merchbay.com) - Uses DigiCert SSL
- "traefik.http.routers.merchbay-prod.rule=Host(`merchbay.com`) || Host(`www.merchbay.com`)"
- "traefik.http.routers.merchbay-prod.entrypoints=websecure"
- "traefik.http.routers.merchbay-prod.tls=true"
- "traefik.http.services.merchbay-prod.loadbalancer.server.port=80"
# HTTP to HTTPS redirect
- "traefik.http.routers.merchbay-prod-http.rule=Host(`merchbay.com`) || Host(`www.merchbay.com`)"
- "traefik.http.routers.merchbay-prod-http.entrypoints=web"
- "traefik.http.routers.merchbay-prod-http.middlewares=https-redirect"
- "traefik.http.middlewares.https-redirect.redirectscheme.scheme=https"
networks:
- traefik-public
- crew-app-net
- default
networks:
traefik-public:
external: true
crew-app-net:
external: true
default:
driver: bridge

111
docker-compose.yml Executable file → Normal file
View File

@@ -1,74 +1,45 @@
# ⚠️ DEPRECATED: Use docker-compose.dev.yml or docker-compose.prod.yml instead version: '3'
# This file is kept for reference only
#
# For development: docker-compose.dev.yml (dev.merchbay.app)
# For production: docker-compose.prod.yml (merchbay.com)
# For local dev: docker-compose.local.yml (localhost:8080)
services: services:
app:
image: merchbay:latest
container_name: merchbay_app
restart: unless-stopped
environment:
- APP_ENV=${APP_ENV:-production}
- APP_DEBUG=${APP_DEBUG:-false}
- APP_URL=${APP_URL:-http://localhost}
- DB_CONNECTION=mysql
- DB_HOST=${DB_HOST}
- DB_PORT=${DB_PORT:-3306}
- DB_DATABASE=${DB_DATABASE}
- DB_USERNAME=${DB_USERNAME}
- DB_PASSWORD=${DB_PASSWORD}
- PROD_PRIVATE=${PROD_PRIVATE}
- IMAGES_URL=${IMAGES_URL}
- UPLOAD_URL=${UPLOAD_URL}
- FORCE_HTTPS=true
- MAIL_DRIVER=${MAIL_DRIVER}
- MAIL_HOST=${MAIL_HOST}
- MAIL_PORT=${MAIL_PORT}
- MAIL_USERNAME=${MAIL_USERNAME}
- MAIL_PASSWORD=${MAIL_PASSWORD}
- MAIL_ENCRYPTION=${MAIL_ENCRYPTION}
- CAPTCHA_SITE_KEY=${CAPTCHA_SITE_KEY}
- CAPTCHA_SECRET_KEY=${CAPTCHA_SECRET_KEY}
- ANALYTICS_SITE_ID=${ANALYTICS_SITE_ID}
- ANALYTICS_CLIENT_ID=${ANALYTICS_CLIENT_ID}
- ANALYTICS_SERVICE_EMAIL=${ANALYTICS_SERVICE_EMAIL}
volumes:
- ./storage:/var/www/html/storage
- ./public/uploads:/var/www/html/public/uploads
labels:
- "traefik.enable=true"
# Development environment (dev.merchbay.app)
- "traefik.http.routers.merchbay-dev.rule=Host(`dev.merchbay.app`)"
- "traefik.http.routers.merchbay-dev.entrypoints=websecure"
- "traefik.http.routers.merchbay-dev.tls=true"
- "traefik.http.routers.merchbay-dev.tls.certresolver=letsencrypt"
- "traefik.http.services.merchbay-dev.loadbalancer.server.port=80"
# Production environment (merchbay.com) - Uses DigiCert SSL
- "traefik.http.routers.merchbay-prod.rule=Host(`merchbay.com`) || Host(`www.merchbay.com`)"
- "traefik.http.routers.merchbay-prod.entrypoints=websecure"
- "traefik.http.routers.merchbay-prod.tls=true"
- "traefik.http.services.merchbay-prod.loadbalancer.server.port=80"
# HTTP to HTTPS redirect - Development
- "traefik.http.routers.merchbay-dev-http.rule=Host(`dev.merchbay.app`)"
- "traefik.http.routers.merchbay-dev-http.entrypoints=web"
- "traefik.http.routers.merchbay-dev-http.middlewares=https-redirect"
# HTTP to HTTPS redirect - Production
- "traefik.http.routers.merchbay-prod-http.rule=Host(`merchbay.com`) || Host(`www.merchbay.com`)"
- "traefik.http.routers.merchbay-prod-http.entrypoints=web"
- "traefik.http.routers.merchbay-prod-http.middlewares=https-redirect"
- "traefik.http.middlewares.https-redirect.redirectscheme.scheme=https"
networks:
- traefik-public
- crew-app-net
- default
#PHP Service
app:
build:
context: .
dockerfile: Dockerfile
image: digitalocean.com/php
container_name: app
restart: unless-stopped
tty: true
environment:
SERVICE_NAME: app
SERVICE_TAGS: dev
working_dir: /var/www
volumes:
- ./:/var/www
- ./php/local.ini:/usr/local/etc/php/conf.d/local.ini
networks:
- app-network
#Nginx Service
webserver:
image: nginx:latest
container_name: webserver
restart: unless-stopped
tty: true
ports:
- "10003:80"
- "10443:443"
volumes:
- ./:/var/www
- ./nginx/conf.d/:/etc/nginx/conf.d/
networks:
- app-network
#Docker Networks
networks: networks:
traefik-public: app-network:
external: true
crew-app-net:
external: true
default:
driver: bridge driver: bridge
#Volumes
volumes:
dbdata:
driver: local

View File

@@ -1,17 +0,0 @@
#!/bin/bash
set -e
# Create storage directory structure if it doesn't exist
mkdir -p storage/framework/views
mkdir -p storage/framework/cache
mkdir -p storage/framework/sessions
mkdir -p storage/logs
mkdir -p storage/app/public
mkdir -p bootstrap/cache
# Set proper permissions
chown -R www-data:www-data storage bootstrap/cache
chmod -R 775 storage bootstrap/cache
# Execute the main command
exec "$@"

0
favicon.ico Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

0
nginx/conf.d/app.conf Executable file → Normal file
View File

0
php/local.ini Executable file → Normal file
View File

0
public/api/canada.json Executable file → Normal file
View File

0
public/api/usa.json Executable file → Normal file
View File

0
public/api/usaCities.old.json Executable file → Normal file
View File

0
public/assets/css/jquery-ui.css vendored Executable file → Normal file
View File

395
public/assets/css/merchbay/styles-stores.css vendored Executable file
View File

@@ -0,0 +1,395 @@
html,
body {
width: 100%;
height: 100%;
font-family: "Montserrat", sans-serif !important;
background-color: #f5f5f6;
font-size: 0.9rem;
}
a {
text-decoration: none;
color:#000000;
}
.bg-black {
background-color: #000;
}
.navbar-brand span {
font-weight: 900;
}
.navbar-brand > img {
height: 28px !important;
}
.btn-white-outline {
color: #ffffff;
border-color: #ffffff;
font-size: 0.7rem !important;
}
.btn-white-outline:hover {
color: #000000;
border-color: #ffffff;
background-color: #ffffff;
font-size: 0.7rem !important;
}
.btn-black-outline {
color: #ffffff;
border-color: #ffffff;
font-size: 0.7rem !important;
}
.btn-navbar-cart {
color: #fff;
background-color: transparent;
border-color: transparent;
}
.btn-navbar-cart:hover {
color: #fff;
background-color: transparent;
border-color: transparent;
}
/* .container {
padding-right: 0px !important;
padding-left: 0px !important;
} */
.btn-green {
color: #fff;
background-color: #28a745;
border-color: #28a745;
}
.btn-green:hover {
color: #28a745;
background-color: #fff;
border-color: #28a745;
}
.btn-black {
color: #fff;
background-color: #000000;
border-color: #000000;
}
.btn-black:hover {
color: rgb(0, 0, 0);
background-color: transparent;
border-color: #000000;
}
.added-or {
position: relative;
}
.added-or::before {
content: "or";
position: absolute;
display: inline-block;
padding: 5px;
margin-right: 48px;
left: -15px;
font-size: 1rem;
}
.navbar-auth-buttons a {
line-height: 1.9;
}
.wrapper {
min-height: 100vh;
}
.copyright {
margin-bottom: -5px;
font-size: 0.7rem;
}
.main__banner {
padding-top: 66px;
}
.store-logo {
height: 165px;
display: inline-block;
/* border: 1px solid #e2e2e2; */
position: relative;
}
.store-locked{
background-color: rgb(0 0 0 / 60%);
height: 100%;
width: 100%;
top: 0;
left: 0;
position: absolute;
padding: 67px;
text-align: center;
}
.store-locked > i {
font-size: 2rem;
color: #ffffff;
}
.store-logo img {
object-fit: contain;
width: 100%;
max-height: 250px;
height: 165px;
top: 0;
bottom: 0;
margin: auto;
/* padding: 5px; */
box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}
.product-image img {
object-fit: contain;
width: 100%;
max-height: 250px;
padding: 5px;
}
.store-name,
.product-name {
font-size: 0.8rem;
font-weight: 600;
padding: 5px;
color: #000000;
}
.product-name-display h3 {
font-weight: 600;
}
.product-price {
font-size: 1rem;
font-weight: 700;
padding: 0px 5px;
margin: -5px 0px;
}
.product-price-display div {
font-size: 1.5rem;
font-weight: 600;
color: #9a9a9a;
margin-right: 5px;
margin-top: -5px;
}
.store a {
text-decoration: none;
color: #2c2c2c;
}
.product a {
text-decoration: none;
}
.store-banner {
/* background-color: #000000; */
height: auto;
object-fit: contain;
}
.please-read-title,
.disclaimer, .announcement {
font-size: 0.8rem;
color: #000000;
font-weight: bold;
padding: 0px;
margin: 0px;
padding-left: 1.3rem;
}
.disclaimer-message {
font-size: 0.7rem;
color: #ffffff;
padding: 0px;
margin: 0px;
padding-left: 1.3rem;
}
.announcement-message {
font-size: 0.7rem;
color: #ffffff;
padding: 0px;
margin: 0px;
padding-left: 1.3rem;
}
.please-read li {
font-size: 0.7rem;
color: #858585;
}
.bg-black {
background-color: #000000;
}
.bg-announcement {
background-color: #000000;
}
.navbar-toggler {
border: 1px solid #fff !important;
}
.nav-link {
padding: 0.25rem 0.5rem !important;
line-height: 1rem;
}
.sort-by {
text-align: right;
}
.custom-hr {
background-color: #e3e3e3 !important;
height: 2px !important;
}
a.btn-white-outline.nuxt-link-exact-active {
background-color: #fff;
color: #000;
}
.product-price > .previous-price {
margin-right: 10px;
}
.product-price > .current-price {
color: #e01414;
font-size: 1.1rem;
}
.breadcrumb-item a {
color: #9a9a9a !important;
text-decoration: none;
font-weight: 500;
}
.breadcrumb-item.active {
color: #9a9a9a !important;
}
.breadcrumb-item + .breadcrumb-item::before {
color: #9a9a9a !important;
}
.adbg {
background-color: #bdc6c5;
}
span.designer-text {
color: #b90a0c;
}
.product-active-thumbnail {
height: 400px;
}
@media (max-width: 992px) {
.footer-menu {
text-align: center;
}
.copyright {
text-align: center;
}
.added-or::before {
display: none;
}
.navbar-collapse.collapsing .navbar-nav {
display: block;
position: fixed;
top: 0;
bottom: 0;
left: -45%;
transition: all 0.2s ease;
}
.navbar-nav {
background-color: #fff;
}
.navbar-collapse.show .navbar-nav {
position: fixed;
top: 0;
bottom: 0;
left: 0;
flex-direction: column;
height: 100vh;
width: 65%;
transition: left 0.35s ease;
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
z-index: 9999;
}
.navbar-nav .nav-link {
padding-right: 1rem;
padding-left: 1rem;
}
.nav-item {
padding-left: 1rem;
padding-right: 1rem;
padding-top: 0.8rem;
}
.store-logo img {
/* max-height: 100%; */
height: 150px;
object-fit: contain;
box-shadow: unset;
/* width: 1; */
}
.store-name {
text-align: center;
}
.product-image img {
max-height: 100%;
}
.sort-by {
text-align: left;
}
.product-active-thumbnail {
height: 345px;
}
.btn-white-outline {
color: #000000;
border-color: #000000;
}
.btn-white-outline:hover {
color: #ffffff;
border-color: #000000;
background-color: #000000;
}
.bi.bi-cart-fill {
color: #000000;
}
/* footer {
height: inherit;
}
.footer-socials-icons{
text-align: center;
margin-top: 5px;
} */
}

840
public/assets/css/merchbay/styles.css vendored Executable file → Normal file
View File

@@ -1,437 +1,431 @@
html, @font-face {
body { font-family: "AmazonEmberDisplay_Bd";
width: 100%; src: url("../../fonts/AmazonEmberDisplay_Bd.ttf") format("truetype");
height: 100%;
font-family: "Montserrat", sans-serif !important;
background-color: #f5f5f6;
font-size: 0.9rem;
} }
@font-face {
a { font-family: "AmazonEmberDisplay_He";
text-decoration: none; src: url("../../fonts/AmazonEmberDisplay_He.ttf") format("truetype");
color:#000000;
} }
@font-face {
.bg-black { font-family: "AmazonEmberDisplay_Lt";
background-color: #000; src: url("../../fonts/AmazonEmberDisplay_Lt.ttf") format("truetype");
} }
@font-face {
.navbar-brand span { font-family: "AmazonEmberDisplay_Md";
font-weight: 900; src: url("../../fonts/AmazonEmberDisplay_Md.ttf") format("truetype");
} }
@font-face {
.navbar-brand > img { font-family: "AmazonEmberDisplay_Rg";
height: 28px !important; src: url("../../fonts/AmazonEmberDisplay_Rg.ttf") format("truetype");
} }
html, body {
.btn-white-outline { padding: 0;
color: #ffffff; margin: 0;
border-color: #ffffff; font-family: AmazonEmberDisplay_Rg !important;
font-size: 0.7rem !important; height: 100%;
} }
html {
.btn-white-outline:hover { scroll-padding-top: 67px;
color: #000000;
border-color: #ffffff;
background-color: #ffffff;
font-size: 0.7rem !important;
} }
.navbar-custom {
.btn-black-outline { padding-top: 1rem;
color: #ffffff; padding-bottom: 1rem;
border-color: #ffffff; background-color: #191919;
font-size: 0.7rem !important;
} }
.navbar-custom .navbar-brand {
.btn-navbar-cart { text-transform: uppercase;
color: #fff; font-size: 1rem;
background-color: transparent; letter-spacing: 0.1rem;
border-color: transparent; font-weight: 700;
} }
.navbar-custom .navbar-nav .nav-item .nav-link {
.btn-navbar-cart:hover { text-transform: uppercase;
color: #fff; font-size: 0.8rem;
background-color: transparent; font-weight: 700;
border-color: transparent; letter-spacing: 0.1rem;
} }
header.masthead {
/* .container { position: relative;
padding-right: 0px !important; overflow: hidden;
padding-left: 0px !important; padding-bottom: 7rem;
} */ background: url(../../../images/band-background.jpg);
background-repeat: no-repeat;
.btn-green { background-position: center center;
color: #fff; background-attachment: scroll;
background-color: #28a745; background-size: cover;
border-color: #28a745; border-bottom: 15px solid;
border-image: linear-gradient(to right, #59caf4 33.33%, #f38d9a 33.33%, #f38d9a 66.66%, #fcc375 66.66%) 5;
} }
header.masthead::after {
.btn-green:hover { content: "";
color: #28a745; position: absolute;
background-color: #fff;
border-color: #28a745;
}
.btn-black {
color: #fff;
background-color: #000000;
border-color: #000000;
}
.btn-black:hover {
color: rgb(0, 0, 0);
background-color: transparent;
border-color: #000000;
}
.added-or {
position: relative;
}
.added-or::before {
content: "or";
position: absolute;
display: inline-block;
padding: 5px;
margin-right: 48px;
left: -15px;
font-size: 1rem;
}
.navbar-auth-buttons a {
line-height: 1.9;
}
.wrapper {
min-height: 100vh;
}
footer {
background: #000000;
color: white;
/* line-height: 50px; */
/* padding: 0 20px; */
height: 70px;
}
.footer-socials-icons{
float: right;
}
.footer-menu {
list-style-type: none;
margin: 0;
padding: 0;
/* text-align: right; */
}
li.footer-menu-item {
display: inline-block;
/* padding: 0px 5px; */
font-size: 12px;
}
li.footer-menu-item::after {
content: " |";
/* margin: 0px 10px 0px 10px; */
}
li.footer-menu-item:last-child::after {
content: "";
/* margin: 0 10px; */
}
li.footer-menu-item a {
color: #f2f2f2;
text-decoration: none;
}
li.footer-menu-item a:hover {
text-decoration: underline;
}
.copyright {
margin-bottom: -5px;
font-size: 0.7rem;
}
.col-footer {
margin-top: -15px;
}
.store-logo {
height: 165px;
display: inline-block;
/* border: 1px solid #e2e2e2; */
position: relative;
}
.store-locked{
background-color: rgb(0 0 0 / 60%);
height: 100%;
width: 100%;
top: 0;
left: 0;
position: absolute;
padding: 67px;
text-align: center;
}
.store-locked > i {
font-size: 2rem;
color: #ffffff;
}
.store-logo img {
object-fit: contain;
width: 100%;
max-height: 250px;
height: 165px;
top: 0;
bottom: 0;
margin: auto;
/* padding: 5px; */
box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}
.product-image img {
object-fit: contain;
width: 100%;
max-height: 250px;
padding: 5px;
}
.store-name,
.product-name {
font-size: 0.8rem;
font-weight: 600;
padding: 5px;
color: #000000;
}
.product-name-display h3 {
font-weight: 600;
}
.product-price {
font-size: 1rem;
font-weight: 700;
padding: 0px 5px;
margin: -5px 0px;
}
.product-price-display div {
font-size: 1.5rem;
font-weight: 600;
color: #9a9a9a;
margin-right: 5px;
margin-top: -5px;
}
.store a {
text-decoration: none;
color: #2c2c2c;
}
.product a {
text-decoration: none;
}
.store-banner {
/* background-color: #000000; */
height: auto;
object-fit: contain;
}
.please-read-title,
.disclaimer, .announcement {
font-size: 0.8rem;
color: #000000;
font-weight: bold;
padding: 0px;
margin: 0px;
padding-left: 1.3rem;
}
.disclaimer-message {
font-size: 0.7rem;
color: #ffffff;
padding: 0px;
margin: 0px;
padding-left: 1.3rem;
}
.announcement-message {
font-size: 0.7rem;
color: #ffffff;
padding: 0px;
margin: 0px;
padding-left: 1.3rem;
}
.please-read li {
font-size: 0.7rem;
color: #858585;
}
.bg-black {
background-color: #000000;
}
.bg-announcement {
background-color: #000000;
}
.navbar-toggler {
border: 1px solid #fff !important;
}
.nav-link {
padding: 0.25rem 0.5rem !important;
line-height: 1rem;
}
.sort-by {
text-align: right;
}
.custom-hr {
background-color: #e3e3e3 !important;
height: 2px !important;
}
a.btn-white-outline.nuxt-link-exact-active {
background-color: #fff;
color: #000;
}
.product-price > .previous-price {
margin-right: 10px;
}
.product-price > .current-price {
color: #e01414;
font-size: 1.1rem;
}
.breadcrumb-item a {
color: #9a9a9a !important;
text-decoration: none;
font-weight: 500;
}
.breadcrumb-item.active {
color: #9a9a9a !important;
}
.breadcrumb-item + .breadcrumb-item::before {
color: #9a9a9a !important;
}
.adbg {
background-color: #bdc6c5;
}
span.designer-text {
color: #b90a0c;
}
.product-active-thumbnail {
height: 400px;
}
@media (max-width: 992px) {
.footer-menu {
text-align: center;
}
.copyright {
text-align: center;
}
.added-or::before {
display: none;
}
.navbar-collapse.collapsing .navbar-nav {
display: block;
position: fixed;
top: 0; top: 0;
bottom: 0;
left: -45%;
transition: all 0.2s ease;
}
.navbar-nav {
background-color: #fff;
}
.navbar-collapse.show .navbar-nav {
position: fixed;
top: 0;
bottom: 0;
left: 0; left: 0;
flex-direction: column; width: 100%;
height: 100vh; height: 100%;
width: 65%; background-image: linear-gradient(120deg, #252525, #252525);
transition: left 0.35s ease; opacity: 0.7;
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); }
z-index: 9999; header.masthead .masthead-content {
} z-index: 1;
position: relative;
.navbar-nav .nav-link { }
padding-right: 1rem; header.masthead .masthead-content .masthead-heading {
padding-left: 1rem; font-size: 4rem !important;
} font-family: AmazonEmberDisplay_He;
font-weight: bold;
.nav-item { }
padding-left: 1rem; header.masthead .masthead-content .masthead-subheading {
padding-right: 1rem; font-size: 3rem !important;
padding-top: 0.8rem; font-family: AmazonEmberDisplay_He;
} font-weight: bold;
.store-logo img { }
/* max-height: 100%; */ header.masthead .bg-circle {
height: 150px; z-index: 0;
object-fit: contain; position: absolute;
box-shadow: unset; border-radius: 100%;
/* width: 1; */ background: linear-gradient(0deg, #ee0979 0%, #ff6a00 100%);
} }
header.masthead .bg-circle-1 {
.store-name { height: 90rem;
text-align: center; width: 90rem;
} bottom: -55rem;
left: -55rem;
.product-image img { }
max-height: 100%; header.masthead .bg-circle-2 {
} height: 50rem;
width: 50rem;
.sort-by { top: -25rem;
text-align: left; right: -25rem;
} }
header.masthead .bg-circle-3 {
.product-active-thumbnail { height: 20rem;
height: 345px; width: 20rem;
} bottom: -10rem;
right: 5%;
.btn-white-outline { }
color: #000000; header.masthead .bg-circle-4 {
border-color: #000000; height: 30rem;
} width: 30rem;
top: -5rem;
.btn-white-outline:hover { right: 35%;
color: #ffffff; }
border-color: #000000; @media (min-width: 992px) {
background-color: #000000; header.masthead {
} padding-top: calc(10rem + 55px);
padding-bottom: 10rem;
.bi.bi-cart-fill { }
color: #000000; header.masthead .masthead-content .masthead-heading {
} font-size: 6rem;
}
footer { header.masthead .masthead-content .masthead-subheading {
height: inherit; font-size: 4rem;
} }
}
.footer-socials-icons{ section.industries {
text-align: center; padding-top: 5rem;
margin-top: 5px; padding-bottom: calc(10rem - 4.5rem);
} text-align: center;
}
section.services, section.contact-us {
padding-top: 5rem;
padding-bottom: calc(10rem - 4.5rem);
text-align: center;
}
section h3 {
font-family: AmazonEmberDisplay_Bd;
font-size: 2.5rem;
font-weight: bold;
}
/* Remove default list styles */
ul.horizontal-list {
list-style: none;
padding: 0;
margin: 0;
text-align: center;
/* Center items horizontally on small screens */
display: flex;
justify-content: center;
gap: 60px;
}
/* Style each list item */
ul.horizontal-list li {
width: 115px;
display: inline-block;
/* Display items horizontally */
}
ul.horizontal-list li p {
font-size: 0.8rem;
}
/* Style the images within list items */
ul.horizontal-list li img {
max-width: 100%;
/* Make images responsive */
height: auto;
/* Maintain the aspect ratio of the images */
vertical-align: middle;
/* Align images vertically within the list item */
height: 115px;
}
/* Style the text content (if needed) */
ul.horizontal-list li span {
display: block;
/* Ensure text is on a new line */
text-align: center;
/* Center text horizontally within each list item */
font-family: AmazonEmberDisplay_He;
width: 115px;
}
/* Media query for smaller screens */
@media (max-width: 768px) {
ul.horizontal-list li {
display: block;
/* Stack items vertically on smaller screens */
margin-right: 0;
/* Remove margin between items */
margin-bottom: 10px;
/* Add space between items vertically */
}
}
section.parallax-section {
padding-top: 10rem;
padding-bottom: calc(10rem - 4.5rem);
background: url("../../../images/fabric\ printer.png") no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
color: #fff;
height: 500px;
-webkit-filter: brightness(40%);
filter: brightness(40%);
}
section.section-right-img {
background-color: #191919;
color: #fff;
}
section.section-right-img h2 {
font-family: AmazonEmberDisplay_Bd;
font-size: 2.5rem;
}
section.section-right-img .section-content {
padding-left: 50px;
margin-top: 20px;
}
section.section-right-img .uniforms-image {
background: url("../../../images/custom-team-wear.jpg") no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
height: 550px;
}
section.section-right-img .spiritwear-image {
background: url("../../../images/spiritwear.jpg") no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
height: 550px;
}
section.section-right-img .streetwear-image {
background: url("../../../images/streetwear.jpg") no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
height: 550px;
}
section.section-left-img {
background-color: #fff;
color: #191919;
}
section.section-left-img h2 {
font-family: AmazonEmberDisplay_Bd;
font-size: 2.5rem;
}
section.section-left-img .section-content {
padding-left: 50px;
margin-top: 20px;
}
section.section-left-img .corportate-image {
background: url("../../../images/corporatewear.jpg") no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
height: 550px;
}
section.section-left-img .influencer-image {
background: url("../../../images/influencers.jpg") no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
height: 550px;
}
section.section-left-img .band-image {
background: url("../../../images/bandmerch.jpg") no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
height: 550px;
}
.icon {
display: inline-block;
background-size: contain;
background-repeat: no-repeat;
background-position: center;
overflow: hidden;
}
.icon.size-21 {
width: 21px !important;
height: 21px !important;
}
.icon.icon-sign-up {
background-image: url("../../../images/icons/SIGN\ UP.svg");
width: 25px !important;
height: 18px !important;
}
.icon.icon-sign-in {
background-image: url("../../../images/icons/SIGN\ IN.svg");
width: 25px !important;
height: 18px !important;
}
.icon.icon-cart {
background-image: url("../../../images/icons/CART.svg");
width: 25px !important;
height: 18px !important;
}
.icon.icon-catalog {
background-image: url("../../../images/icons/CATALOG\ ICON.svg");
width: 25px !important;
height: 18px !important;
}
.icon.industries-team-uniform {
background-image: url("../../../images/icons/INDUSTRIES\ 1.svg");
width: 100px !important;
height: 100px !important;
}
.icon.industries-band {
background-image: url("../../../images/icons/INDUSTRIES\ 2.svg");
width: 100px !important;
height: 100px !important;
}
.icon.industries-school {
background-image: url("../../../images/icons/INDUSTRIES\ 3.svg");
width: 100px !important;
height: 100px !important;
}
.icon.industries-influencer {
background-image: url("../../../images/icons/INDUSTRIES\ 4.svg");
width: 100px !important;
height: 100px !important;
}
.icon.industries-streetwear {
background-image: url("../../../images/icons/INDUSTRIES\ 5.svg");
width: 100px !important;
height: 100px !important;
}
.icon.industries-corporate {
background-image: url("../../../images/icons/INDUSTRIES\ 6.svg");
width: 100px !important;
height: 100px !important;
}
.icon.services-sublimation {
background-image: url("../../../images/icons/SERVICES\ 1.svg");
width: 100px !important;
height: 100px !important;
}
.icon.services-dtf {
background-image: url("../../../images/icons/SERVICES\ 2.svg");
width: 100px !important;
height: 100px !important;
}
.icon.services-screen-print {
background-image: url("../../../images/icons/SERVICES\ 3.svg");
width: 100px !important;
height: 100px !important;
}
.icon.services-embroidery {
background-image: url("../../../images/icons/SERVICES\ 4.svg");
width: 100px !important;
height: 100px !important;
}
.icon.services-cutsaw {
background-image: url("../../../images/icons/SERVICES\ 5.svg");
width: 100px !important;
height: 100px !important;
}
.icon.services-fulfillment {
background-image: url("../../../images/icons/SERVICES\ 6.svg");
width: 100px !important;
height: 100px !important;
}
.icon.merchbay-icon {
background-image: url("../../../images/icons/MERCHBAY\ LOGO\ ICON.svg");
width: 150px !important;
height: 125px !important;
}
.horizontal-divider {
width: 150px;
height: 7px;
background-color: #59caf4;
text-align: center;
margin: 0px auto;
}
.horizontal-divider.bg-red {
background-color: #f38d9a !important;
}
.horizontal-divider.bg-yellow {
background-color: #fcc375 !important;
}
.gap-100 {
gap: 100px !important;
}
.contact-input-custom {
border-radius: 0px !important;
border: 8px solid #c4d2d7 !important;
}
.contact-input-custom::-webkit-input-placeholder {
color: #c4d2d7;
font-size: 16px;
}
input {
color: #434445;
}
.btn-contact {
border-radius: 0;
background-color: #59caf4;
border: 1px solid #59caf4;
color: #ececec;
}
.btn-contact:hover {
border-radius: 0;
background-color: #4db2d7;
border: 1px solid #4db2d7;
color: #ececec;
}
footer {
background-color: #171717;
text-align: center;
padding: 1rem 0px;
border-bottom: 15px solid;
border-image: linear-gradient(to right, #59caf4 33.33%, #f38d9a 33.33%, #f38d9a 66.66%, #fcc375 66.66%) 5;
}
footer p {
color: #fff;
}
.login-page-right {
background: url("../../../images/bb.jpg") no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
height: 100vh;
}
section.login {
padding-top: 5rem;
text-align: center;
} }

437
public/assets/css/merchbay/styles.old.css vendored Executable file
View File

@@ -0,0 +1,437 @@
html,
body {
width: 100%;
height: 100%;
font-family: "Montserrat", sans-serif !important;
background-color: #f5f5f6;
font-size: 0.9rem;
}
a {
text-decoration: none;
color:#000000;
}
.bg-black {
background-color: #000;
}
.navbar-brand span {
font-weight: 900;
}
.navbar-brand > img {
height: 28px !important;
}
.btn-white-outline {
color: #ffffff;
border-color: #ffffff;
font-size: 0.7rem !important;
}
.btn-white-outline:hover {
color: #000000;
border-color: #ffffff;
background-color: #ffffff;
font-size: 0.7rem !important;
}
.btn-black-outline {
color: #ffffff;
border-color: #ffffff;
font-size: 0.7rem !important;
}
.btn-navbar-cart {
color: #fff;
background-color: transparent;
border-color: transparent;
}
.btn-navbar-cart:hover {
color: #fff;
background-color: transparent;
border-color: transparent;
}
/* .container {
padding-right: 0px !important;
padding-left: 0px !important;
} */
.btn-green {
color: #fff;
background-color: #28a745;
border-color: #28a745;
}
.btn-green:hover {
color: #28a745;
background-color: #fff;
border-color: #28a745;
}
.btn-black {
color: #fff;
background-color: #000000;
border-color: #000000;
}
.btn-black:hover {
color: rgb(0, 0, 0);
background-color: transparent;
border-color: #000000;
}
.added-or {
position: relative;
}
.added-or::before {
content: "or";
position: absolute;
display: inline-block;
padding: 5px;
margin-right: 48px;
left: -15px;
font-size: 1rem;
}
.navbar-auth-buttons a {
line-height: 1.9;
}
.wrapper {
min-height: 100vh;
}
footer {
background: #000000;
color: white;
/* line-height: 50px; */
/* padding: 0 20px; */
height: 70px;
}
.footer-socials-icons{
float: right;
}
.footer-menu {
list-style-type: none;
margin: 0;
padding: 0;
/* text-align: right; */
}
li.footer-menu-item {
display: inline-block;
/* padding: 0px 5px; */
font-size: 12px;
}
li.footer-menu-item::after {
content: " |";
/* margin: 0px 10px 0px 10px; */
}
li.footer-menu-item:last-child::after {
content: "";
/* margin: 0 10px; */
}
li.footer-menu-item a {
color: #f2f2f2;
text-decoration: none;
}
li.footer-menu-item a:hover {
text-decoration: underline;
}
.copyright {
margin-bottom: -5px;
font-size: 0.7rem;
}
.col-footer {
margin-top: -15px;
}
.store-logo {
height: 165px;
display: inline-block;
/* border: 1px solid #e2e2e2; */
position: relative;
}
.store-locked{
background-color: rgb(0 0 0 / 60%);
height: 100%;
width: 100%;
top: 0;
left: 0;
position: absolute;
padding: 67px;
text-align: center;
}
.store-locked > i {
font-size: 2rem;
color: #ffffff;
}
.store-logo img {
object-fit: contain;
width: 100%;
max-height: 250px;
height: 165px;
top: 0;
bottom: 0;
margin: auto;
/* padding: 5px; */
box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}
.product-image img {
object-fit: contain;
width: 100%;
max-height: 250px;
padding: 5px;
}
.store-name,
.product-name {
font-size: 0.8rem;
font-weight: 600;
padding: 5px;
color: #000000;
}
.product-name-display h3 {
font-weight: 600;
}
.product-price {
font-size: 1rem;
font-weight: 700;
padding: 0px 5px;
margin: -5px 0px;
}
.product-price-display div {
font-size: 1.5rem;
font-weight: 600;
color: #9a9a9a;
margin-right: 5px;
margin-top: -5px;
}
.store a {
text-decoration: none;
color: #2c2c2c;
}
.product a {
text-decoration: none;
}
.store-banner {
/* background-color: #000000; */
height: auto;
object-fit: contain;
}
.please-read-title,
.disclaimer, .announcement {
font-size: 0.8rem;
color: #000000;
font-weight: bold;
padding: 0px;
margin: 0px;
padding-left: 1.3rem;
}
.disclaimer-message {
font-size: 0.7rem;
color: #ffffff;
padding: 0px;
margin: 0px;
padding-left: 1.3rem;
}
.announcement-message {
font-size: 0.7rem;
color: #ffffff;
padding: 0px;
margin: 0px;
padding-left: 1.3rem;
}
.please-read li {
font-size: 0.7rem;
color: #858585;
}
.bg-black {
background-color: #000000;
}
.bg-announcement {
background-color: #000000;
}
.navbar-toggler {
border: 1px solid #fff !important;
}
.nav-link {
padding: 0.25rem 0.5rem !important;
line-height: 1rem;
}
.sort-by {
text-align: right;
}
.custom-hr {
background-color: #e3e3e3 !important;
height: 2px !important;
}
a.btn-white-outline.nuxt-link-exact-active {
background-color: #fff;
color: #000;
}
.product-price > .previous-price {
margin-right: 10px;
}
.product-price > .current-price {
color: #e01414;
font-size: 1.1rem;
}
.breadcrumb-item a {
color: #9a9a9a !important;
text-decoration: none;
font-weight: 500;
}
.breadcrumb-item.active {
color: #9a9a9a !important;
}
.breadcrumb-item + .breadcrumb-item::before {
color: #9a9a9a !important;
}
.adbg {
background-color: #bdc6c5;
}
span.designer-text {
color: #b90a0c;
}
.product-active-thumbnail {
height: 400px;
}
@media (max-width: 992px) {
.footer-menu {
text-align: center;
}
.copyright {
text-align: center;
}
.added-or::before {
display: none;
}
.navbar-collapse.collapsing .navbar-nav {
display: block;
position: fixed;
top: 0;
bottom: 0;
left: -45%;
transition: all 0.2s ease;
}
.navbar-nav {
background-color: #fff;
}
.navbar-collapse.show .navbar-nav {
position: fixed;
top: 0;
bottom: 0;
left: 0;
flex-direction: column;
height: 100vh;
width: 65%;
transition: left 0.35s ease;
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
z-index: 9999;
}
.navbar-nav .nav-link {
padding-right: 1rem;
padding-left: 1rem;
}
.nav-item {
padding-left: 1rem;
padding-right: 1rem;
padding-top: 0.8rem;
}
.store-logo img {
/* max-height: 100%; */
height: 150px;
object-fit: contain;
box-shadow: unset;
/* width: 1; */
}
.store-name {
text-align: center;
}
.product-image img {
max-height: 100%;
}
.sort-by {
text-align: left;
}
.product-active-thumbnail {
height: 345px;
}
.btn-white-outline {
color: #000000;
border-color: #000000;
}
.btn-white-outline:hover {
color: #ffffff;
border-color: #000000;
background-color: #000000;
}
.bi.bi-cart-fill {
color: #000000;
}
footer {
height: inherit;
}
.footer-socials-icons{
text-align: center;
margin-top: 5px;
}
}

View File

@@ -0,0 +1,517 @@
@font-face {
font-family: "AmazonEmberDisplay_Bd";
src: url("../fonts/AmazonEmberDisplay_Bd.ttf") format("truetype");
}
@font-face {
font-family: "AmazonEmberDisplay_He";
src: url("../fonts/AmazonEmberDisplay_He.ttf") format("truetype");
}
@font-face {
font-family: "AmazonEmberDisplay_Lt";
src: url("../fonts/AmazonEmberDisplay_Lt.ttf") format("truetype");
}
@font-face {
font-family: "AmazonEmberDisplay_Md";
src: url("../fonts/AmazonEmberDisplay_Md.ttf") format("truetype");
}
@font-face {
font-family: "AmazonEmberDisplay_Rg";
src: url("../fonts/AmazonEmberDisplay_Rg.ttf") format("truetype");
}
html,
body {
padding: 0;
margin: 0;
font-family: AmazonEmberDisplay_Rg !important;
height: 100%;
}
html {
scroll-padding-top: 67px;
}
// .btn-xl {
// text-transform: uppercase;
// padding: 1.5rem 3rem;
// font-size: 0.9rem;
// font-weight: 700;
// letter-spacing: 0.1rem;
// }
.navbar-custom {
padding-top: 1rem;
padding-bottom: 1rem;
background-color: #191919;
}
.navbar-custom .navbar-brand {
text-transform: uppercase;
font-size: 1rem;
letter-spacing: 0.1rem;
font-weight: 700;
}
.navbar-custom .navbar-nav .nav-item .nav-link {
text-transform: uppercase;
font-size: 0.8rem;
font-weight: 700;
letter-spacing: 0.1rem;
}
header.masthead {
position: relative;
overflow: hidden;
// padding-top: calc(7rem + 72px);
padding-bottom: 7rem;
// background: linear-gradient(0deg, #ff6a00 0%, #ee0979 100%);
background: url(../images/band-background.jpg);
background-repeat: no-repeat;
background-position: center center;
background-attachment: scroll;
background-size: cover;
border-bottom: 15px solid;
border-image: linear-gradient(
to right,
#59caf4 33.33%,
#f38d9a 33.33%,
#f38d9a 66.66%,
#fcc375 66.66%
)
5;
// -webkit-filter: brightness(50%);
// filter:brightness(50%);
}
header.masthead::after {
content: ""; // ::before and ::after both require content
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: linear-gradient(120deg, #252525, #252525);
opacity: 0.7;
}
header.masthead .masthead-content {
z-index: 1;
position: relative;
}
header.masthead .masthead-content .masthead-heading {
font-size: 4rem !important;
font-family: AmazonEmberDisplay_He;
font-weight: bold;
}
header.masthead .masthead-content .masthead-subheading {
font-size: 3rem !important;
font-family: AmazonEmberDisplay_He;
font-weight: bold;
}
header.masthead .bg-circle {
z-index: 0;
position: absolute;
border-radius: 100%;
background: linear-gradient(0deg, #ee0979 0%, #ff6a00 100%);
}
header.masthead .bg-circle-1 {
height: 90rem;
width: 90rem;
bottom: -55rem;
left: -55rem;
}
header.masthead .bg-circle-2 {
height: 50rem;
width: 50rem;
top: -25rem;
right: -25rem;
}
header.masthead .bg-circle-3 {
height: 20rem;
width: 20rem;
bottom: -10rem;
right: 5%;
}
header.masthead .bg-circle-4 {
height: 30rem;
width: 30rem;
top: -5rem;
right: 35%;
}
@media (min-width: 992px) {
header.masthead {
padding-top: calc(10rem + 55px);
padding-bottom: 10rem;
}
header.masthead .masthead-content .masthead-heading {
font-size: 6rem;
}
header.masthead .masthead-content .masthead-subheading {
font-size: 4rem;
}
}
section.industries {
padding-top: 5rem;
padding-bottom: calc(10rem - 4.5rem);
text-align: center;
}
section.services, section.contact-us {
padding-top: 5rem;
padding-bottom: calc(10rem - 4.5rem);
text-align: center;
}
section {
h3 {
font-family: AmazonEmberDisplay_Bd;
font-size: 2.5rem;
font-weight: bold;
}
}
/* Remove default list styles */
ul.horizontal-list {
list-style: none;
padding: 0;
margin: 0;
text-align: center; /* Center items horizontally on small screens */
display: flex;
justify-content: center;
gap: 60px;
}
/* Style each list item */
ul.horizontal-list li {
width: 115px;
display: inline-block; /* Display items horizontally */
// margin-right: 50px; /* Add space between items (adjust as needed) */
p {
font-size: 0.8rem;
}
}
/* Style the images within list items */
ul.horizontal-list li img {
max-width: 100%; /* Make images responsive */
height: auto; /* Maintain the aspect ratio of the images */
vertical-align: middle; /* Align images vertically within the list item */
height: 115px;
}
/* Style the text content (if needed) */
ul.horizontal-list li span {
display: block; /* Ensure text is on a new line */
text-align: center; /* Center text horizontally within each list item */
font-family: AmazonEmberDisplay_He;
width: 115px;
}
/* Media query for smaller screens */
@media (max-width: 768px) {
ul.horizontal-list li {
display: block; /* Stack items vertically on smaller screens */
margin-right: 0; /* Remove margin between items */
margin-bottom: 10px; /* Add space between items vertically */
}
}
section.parallax-section {
padding-top: 10rem;
padding-bottom: calc(10rem - 4.5rem);
background: url("../images/fabric\ printer.png") no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
color: #ffffff;
height: 500px;
-webkit-filter: brightness(40%);
filter: brightness(40%);
}
section.section-right-img {
background-color: #191919;
color: #fff;
h2 {
font-family: AmazonEmberDisplay_Bd;
font-size: 2.5rem;
}
.section-content {
padding-left: 50px;
margin-top: 20px;
}
.uniforms-image {
background: url("../images/custom-team-wear.jpg") no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
height: 550px;
}
.spiritwear-image {
background: url("../images/spiritwear.jpg") no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
height: 550px;
}
.streetwear-image {
background: url("../images/streetwear.jpg") no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
height: 550px;
}
}
section.section-left-img {
background-color: #fff;
color: #191919;
h2 {
font-family: AmazonEmberDisplay_Bd;
font-size: 2.5rem;
}
.section-content {
padding-left: 50px;
margin-top: 20px;
}
.corportate-image {
background: url("../images/corporatewear.jpg") no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
height: 550px;
}
.influencer-image {
background: url("../images/influencers.jpg") no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
height: 550px;
}
.band-image {
background: url("../images/bandmerch.jpg") no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
height: 550px;
}
}
.icon {
display: inline-block;
background-size: contain;
background-repeat: no-repeat;
background-position: center;
overflow: hidden;
&.size-21 {
width: 21px !important;
height: 21px !important;
}
&.icon-sign-up {
background-image: url("../images/icons/SIGN\ UP.svg");
width: 25px !important;
height: 18px !important;
}
&.icon-sign-in {
background-image: url("../images/icons/SIGN\ IN.svg");
width: 25px !important;
height: 18px !important;
}
&.icon-cart {
background-image: url("../images/icons/CART.svg");
width: 25px !important;
height: 18px !important;
}
&.icon-catalog {
background-image: url("../images/icons/CATALOG\ ICON.svg");
width: 25px !important;
height: 18px !important;
}
&.industries-team-uniform {
background-image: url("../images/icons/INDUSTRIES\ 1.svg");
width: 100px !important;
height: 100px !important;
}
&.industries-band {
background-image: url("../images/icons/INDUSTRIES\ 2.svg");
width: 100px !important;
height: 100px !important;
}
&.industries-school {
background-image: url("../images/icons/INDUSTRIES\ 3.svg");
width: 100px !important;
height: 100px !important;
}
&.industries-influencer {
background-image: url("../images/icons/INDUSTRIES\ 4.svg");
width: 100px !important;
height: 100px !important;
}
&.industries-streetwear {
background-image: url("../images/icons/INDUSTRIES\ 5.svg");
width: 100px !important;
height: 100px !important;
}
&.industries-corporate {
background-image: url("../images/icons/INDUSTRIES\ 6.svg");
width: 100px !important;
height: 100px !important;
}
&.services-sublimation {
background-image: url("../images/icons/SERVICES\ 1.svg");
width: 100px !important;
height: 100px !important;
}
&.services-dtf {
background-image: url("../images/icons/SERVICES\ 2.svg");
width: 100px !important;
height: 100px !important;
}
&.services-screen-print {
background-image: url("../images/icons/SERVICES\ 3.svg");
width: 100px !important;
height: 100px !important;
}
&.services-embroidery {
background-image: url("../images/icons/SERVICES\ 4.svg");
width: 100px !important;
height: 100px !important;
}
&.services-cutsaw {
background-image: url("../images/icons/SERVICES\ 5.svg");
width: 100px !important;
height: 100px !important;
}
&.services-fulfillment {
background-image: url("../images/icons/SERVICES\ 6.svg");
width: 100px !important;
height: 100px !important;
}
&.merchbay-icon {
background-image: url("../images/icons/MERCHBAY\ LOGO\ ICON.svg");
width: 150px !important;
height: 125px !important;
}
}
.horizontal-divider {
width: 150px;
height: 7px;
background-color: #59caf4;
text-align: center;
margin: 0px auto;
&.bg-red {
background-color: #f38d9a !important;
}
&.bg-yellow {
background-color: #fcc375 !important;
}
}
.gap-100 {
gap: 100px !important;
}
.contact-input-custom {
border-radius: 0px !important;
border: 8px solid #c4d2d7 !important;
}
.contact-input-custom::-webkit-input-placeholder {
color: #c4d2d7;
font-size: 16px;
}
input {
color: #434445;
}
.btn-contact {
border-radius: 0;
background-color: #59caf4;
border: 1px solid #59caf4;
color: #ececec;
}
.btn-contact:hover {
border-radius: 0;
background-color: #4db2d7;
border: 1px solid #4db2d7;
color: #ececec;
}
footer {
background-color: #171717;
text-align: center;
padding: 1rem 0px;
border-bottom: 15px solid;
border-image: linear-gradient(
to right,
#59caf4 33.33%,
#f38d9a 33.33%,
#f38d9a 66.66%,
#fcc375 66.66%
)
5;
p {
color: #fff;
}
}
.login-page-right {
background: url("../images/bb.jpg") no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
height: 100vh;
}
section.login {
padding-top: 5rem;
// padding-bottom: calc(10rem - 4.5rem);
text-align: center;
}

0
public/assets/files/Terms of Use.pdf Executable file → Normal file
View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

0
public/assets/js/jquery-ui.js vendored Executable file → Normal file
View File

0
public/images/MERCHBAY-LOGO.png Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 812 KiB

BIN
public/images/bandmerch.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 KiB

BIN
public/images/bb.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

View File

@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 260.7 60"
xml:space="preserve">
<style type="text/css">
.st0{fill:#5ACBF5;}
</style>
<path id="XMLID_158_" class="st0" d="M253.6,0H7.1C3.2,0,0,3.2,0,7.1v45.7C0,56.8,3.2,60,7.1,60h246.5c3.9,0,7.1-3.2,7.1-7.1V7.1
C260.7,3.2,257.5,0,253.6,0 M256.5,52.9c0,1.6-1.3,2.9-2.9,2.9H7.1c-1.6,0-2.9-1.3-2.9-2.9V7.1c0-1.6,1.3-2.9,2.9-2.9h246.5
c1.6,0,2.9,1.3,2.9,2.9V52.9z M45.5,39.2c-0.4,0-0.6-0.2-0.6-0.6V20.8c0-0.4,0.2-0.6,0.6-0.6h5.9c1.8,0,3.3,0.5,4.3,1.4
c1.1,0.9,1.6,2.1,1.6,3.6c0,0.9-0.2,1.7-0.6,2.4c-0.4,0.7-1.1,1.2-1.9,1.6c1.2,0.3,2.1,0.9,2.7,1.7c0.6,0.8,0.9,1.8,0.9,2.9
c0,1.6-0.6,2.9-1.7,3.9c-1.2,1-2.7,1.4-4.7,1.4H45.5z M51,28.3c2.1,0,3.1-0.9,3.1-2.8c0-1.8-1-2.8-3-2.8H48v5.6H51z M51.9,36.7
c2.1,0,3.2-1,3.2-3c0-2-1.1-3-3.3-3H48v6H51.9z M62.2,39.2c-0.4,0-0.6-0.2-0.6-0.6V25.8c0-0.4,0.2-0.6,0.6-0.6h1.4
c0.3,0,0.4,0,0.5,0.1c0.1,0.1,0.2,0.2,0.2,0.4l0.3,1.6c0.7-0.8,1.4-1.4,2.1-1.7c0.6-0.3,1.3-0.5,2.1-0.5h0.1c0.2,0,0.4,0,0.6,0.1
c0.2,0,0.3,0.1,0.3,0.2c0.1,0.1,0.1,0.3,0.1,0.6v1.5c0,0.4-0.2,0.6-0.5,0.6c-0.1,0-0.3,0-0.5,0c-0.2,0-0.4,0-0.6,0
c-1.3,0-2.5,0.3-3.6,1v9.5c0,0.4-0.2,0.6-0.6,0.6H62.2z M78.1,39.6c-2.1,0-3.8-0.7-5-2c-1.2-1.3-1.8-3.1-1.8-5.4
c0-2.3,0.6-4.1,1.8-5.4c1.2-1.3,2.8-1.9,5-1.9c2.1,0,3.8,0.6,5,1.9s1.8,3.1,1.8,5.4c0,2.3-0.6,4.1-1.8,5.4
C81.9,38.9,80.2,39.6,78.1,39.6 M78.1,37c2.3,0,3.4-1.6,3.4-4.8c0-3.2-1.1-4.8-3.4-4.8c-2.3,0-3.4,1.6-3.4,4.8
C74.7,35.4,75.8,37,78.1,37 M91.2,39.2c-0.4,0-0.7-0.2-0.8-0.6l-4-12.4c-0.1-0.3-0.1-0.5-0.1-0.5c0-0.3,0.2-0.4,0.5-0.4h2.2
c0.4,0,0.6,0.2,0.7,0.5l2.6,10.1l2.7-10.1c0.1-0.2,0.1-0.4,0.3-0.4c0.1-0.1,0.3-0.1,0.5-0.1h1.8c0.2,0,0.4,0,0.5,0.1
c0.1,0.1,0.2,0.2,0.2,0.4l2.7,10.3l2.7-10.3c0.1-0.3,0.3-0.5,0.7-0.5h2c0.3,0,0.5,0.1,0.5,0.4c0,0.1,0,0.3-0.1,0.5l-4.1,12.4
c-0.1,0.4-0.4,0.6-0.8,0.6h-1.9c-0.2,0-0.4,0-0.5-0.1c-0.1-0.1-0.2-0.2-0.3-0.5l-2.6-9.9l-2.6,9.9c-0.1,0.2-0.1,0.4-0.3,0.5
c-0.1,0.1-0.3,0.1-0.5,0.1H91.2z M112.9,39.6c-1.4,0-2.8-0.2-4-0.7c-0.3-0.1-0.5-0.2-0.6-0.3c-0.1-0.1-0.1-0.3-0.1-0.6v-1
c0-0.4,0.1-0.5,0.4-0.5c0.1,0,0.4,0.1,0.8,0.2c1.3,0.4,2.5,0.5,3.5,0.5c0.9,0,1.6-0.1,2-0.4c0.4-0.3,0.6-0.7,0.6-1.3
c0-0.4-0.1-0.7-0.4-1c-0.3-0.2-0.7-0.5-1.4-0.8l-2.3-0.9c-2-0.8-3.1-2.1-3.1-3.8c0-1.3,0.5-2.3,1.4-3c0.9-0.7,2.2-1.1,3.8-1.1
c1.1,0,2.3,0.2,3.4,0.6c0.3,0.1,0.5,0.2,0.5,0.3c0.1,0.1,0.1,0.3,0.1,0.6v1c0,0.2,0,0.3-0.1,0.4c-0.1,0.1-0.2,0.1-0.3,0.1
c-0.1,0-0.3,0-0.7-0.1c-1.1-0.3-2.1-0.4-2.8-0.4c-0.8,0-1.5,0.1-1.8,0.4c-0.4,0.2-0.6,0.6-0.6,1.2c0,0.4,0.1,0.7,0.4,1
c0.3,0.2,0.8,0.5,1.5,0.8l2.1,0.8c1.1,0.4,1.9,0.9,2.4,1.5c0.5,0.6,0.7,1.3,0.7,2.2c0,1.4-0.5,2.4-1.5,3.2S114.6,39.6,112.9,39.6
M127.4,39.6c-2.3,0-4-0.6-5.2-1.9c-1.2-1.2-1.8-3-1.8-5.4c0-2.4,0.6-4.2,1.7-5.5c1.2-1.3,2.8-2,4.9-2c1.8,0,3.2,0.5,4.1,1.5
c1,1,1.4,2.4,1.4,4.1c0,0.6,0,1.3-0.1,1.9c0,0.2-0.1,0.4-0.2,0.5c-0.1,0.1-0.2,0.1-0.4,0.1h-8.4c0.1,1.4,0.4,2.4,1.2,3.1
c0.7,0.6,1.8,1,3.3,1c1.1,0,2.2-0.2,3.4-0.5c0.1,0,0.3-0.1,0.3-0.1c0.1,0,0.1,0,0.2,0c0.3,0,0.4,0.2,0.4,0.5v1c0,0.3,0,0.5-0.1,0.6
c-0.1,0.1-0.3,0.2-0.6,0.3C130.4,39.3,129,39.6,127.4,39.6 M129.7,30.8v-0.2c0-1.1-0.2-2-0.7-2.5c-0.5-0.6-1.2-0.9-2.1-0.9
c-1,0-1.8,0.3-2.4,1c-0.6,0.7-1,1.5-1.1,2.7H129.7z M143.7,39.2c-0.4,0-0.6-0.2-0.6-0.6V20.8c0-0.4,0.2-0.6,0.6-0.6h6.5
c1.9,0,3.4,0.5,4.5,1.6c1.1,1.1,1.7,2.5,1.7,4.3c0,1.8-0.6,3.3-1.7,4.3c-1.1,1.1-2.6,1.6-4.5,1.6h-3.8v6.5c0,0.4-0.2,0.6-0.6,0.6
H143.7z M149.8,29.4c1.1,0,1.9-0.3,2.4-0.8c0.5-0.6,0.8-1.4,0.8-2.5c0-1.1-0.3-1.9-0.8-2.5c-0.5-0.6-1.3-0.8-2.4-0.8h-3.4v6.7H149.8
z M160.1,39.2c-0.4,0-0.6-0.2-0.6-0.6V25.8c0-0.4,0.2-0.6,0.6-0.6h1.4c0.3,0,0.4,0,0.5,0.1c0.1,0.1,0.2,0.2,0.2,0.4l0.3,1.6
c0.7-0.8,1.4-1.4,2.1-1.7c0.6-0.3,1.3-0.5,2.1-0.5h0.1c0.2,0,0.4,0,0.6,0.1c0.2,0,0.3,0.1,0.3,0.2c0.1,0.1,0.1,0.3,0.1,0.6v1.5
c0,0.4-0.2,0.6-0.5,0.6c-0.1,0-0.3,0-0.5,0c-0.2,0-0.4,0-0.6,0c-1.3,0-2.5,0.3-3.6,1v9.5c0,0.4-0.2,0.6-0.6,0.6H160.1z M176,39.6
c-2.1,0-3.8-0.7-5-2c-1.2-1.3-1.8-3.1-1.8-5.4c0-2.3,0.6-4.1,1.8-5.4c1.2-1.3,2.8-1.9,5-1.9c2.1,0,3.8,0.6,5,1.9s1.8,3.1,1.8,5.4
c0,2.3-0.6,4.1-1.8,5.4C179.8,38.9,178.1,39.6,176,39.6 M176,37c2.3,0,3.4-1.6,3.4-4.8c0-3.2-1.1-4.8-3.4-4.8
c-2.3,0-3.4,1.6-3.4,4.8C172.6,35.4,173.7,37,176,37 M191,39.5c-1.8,0-3.2-0.7-4.2-2c-1-1.3-1.6-3.1-1.6-5.3c0-1.5,0.3-2.8,0.8-4
c0.5-1.1,1.2-2,2.1-2.6c0.9-0.6,1.9-0.9,3.1-0.9c1.5,0,2.8,0.5,4,1.4v-6.7c0-0.4,0.2-0.6,0.6-0.6h2c0.4,0,0.6,0.2,0.6,0.6v19
c0,0.4-0.2,0.6-0.6,0.6h-1.6c-0.4,0-0.6-0.2-0.7-0.5l-0.2-0.8C194.1,38.9,192.7,39.5,191,39.5 M192.1,36.9c1.1,0,2.1-0.3,3.1-1v-7.5
c-0.9-0.7-2-1-3.1-1c-1.2,0-2.1,0.4-2.7,1.2c-0.6,0.8-0.9,2-0.9,3.6C188.6,35.3,189.7,36.9,192.1,36.9 M206.3,39.6
c-1.3,0-2.3-0.4-3-1.1c-0.7-0.7-1.1-1.8-1.1-3.1v-9.5c0-0.4,0.2-0.6,0.6-0.6h2c0.4,0,0.6,0.2,0.6,0.6v8.6c0,0.9,0.2,1.6,0.5,2
c0.4,0.4,0.9,0.6,1.8,0.6c1.1,0,2.3-0.4,3.4-1.1V25.8c0-0.4,0.2-0.6,0.6-0.6h2c0.4,0,0.6,0.2,0.6,0.6v12.7c0,0.4-0.2,0.6-0.6,0.6
h-1.4c-0.3,0-0.4,0-0.5-0.1c-0.1-0.1-0.2-0.2-0.2-0.4l-0.2-1C209.7,38.9,208,39.6,206.3,39.6 M224.3,39.5c-2.1,0-3.8-0.6-4.9-1.9
c-1.1-1.2-1.7-3-1.7-5.3c0-2.3,0.6-4.1,1.8-5.4c1.2-1.3,2.8-1.9,5-1.9c1.1,0,2.1,0.2,3,0.5c0.3,0.1,0.5,0.2,0.5,0.3
c0.1,0.1,0.1,0.3,0.1,0.6v1c0,0.4-0.1,0.5-0.4,0.5c-0.1,0-0.3,0-0.5-0.1c-0.7-0.2-1.4-0.3-2.2-0.3c-1.4,0-2.4,0.4-3,1.1
c-0.6,0.7-1,1.9-1,3.4v0.4c0,1.5,0.3,2.7,1,3.4c0.6,0.7,1.7,1.1,3,1.1c0.6,0,1.4-0.1,2.2-0.3c0.2,0,0.3-0.1,0.4-0.1s0.1,0,0.2,0
c0.3,0,0.4,0.2,0.4,0.5v1c0,0.3,0,0.5-0.1,0.6c-0.1,0.1-0.3,0.2-0.5,0.3C226.5,39.3,225.4,39.5,224.3,39.5 M236.4,39.4
c-1.4,0-2.5-0.3-3.2-1c-0.7-0.7-1-1.7-1-3.1v-7.6h-1.8c-0.4,0-0.6-0.2-0.6-0.6v-0.8c0-0.2,0-0.4,0.1-0.5c0.1-0.1,0.2-0.2,0.4-0.2
l1.9-0.3l0.4-3.3c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.3-0.1,0.5-0.1h1.4c0.4,0,0.6,0.2,0.6,0.6v3.2h3.4c0.4,0,0.6,0.2,0.6,0.6v1.3
c0,0.4-0.2,0.6-0.6,0.6h-3.4v7.4c0,0.6,0.2,1.1,0.5,1.3c0.3,0.3,0.8,0.4,1.5,0.4c0.4,0,0.8,0,1-0.1c0.3-0.1,0.5-0.1,0.6-0.1
c0.3,0,0.5,0.2,0.5,0.5v1c0,0.3-0.1,0.5-0.2,0.6c-0.1,0.1-0.3,0.2-0.6,0.3C238,39.3,237.2,39.4,236.4,39.4 M37.6,19.8H35h-2h-1.6h-1
h-1H16.3v20.9h13.1h2H33h2h3.6V19.8H37.6z M18.3,21.8h11.1v16.9H18.3V21.8z M33,38.7h-1.6V21.8H33V38.7z M35,21.8h1.6v16.9H35V21.8z
"/>
</svg>

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 25.1 25"
xml:space="preserve">
<style type="text/css">
.st0{fill:#FDC477;}
</style>
<path class="st0" d="M8.8,15.6h14.1v3.6H7.8c-0.8,0-1.6-0.4-2.1-0.9c-0.5-0.5-0.8-1.3-0.8-2.1c0-0.4,0.1-0.9,0.3-1.3l1.1-2.3
L2.5,3.6H0V0h4.9l4.4,10.8h10.2l1.1-5.2H8.8V2h16.3l-2.6,12.4H9.4L8.8,15.6z M8.1,20c-1.4,0-2.5,1.1-2.5,2.5c0,1.4,1.1,2.5,2.5,2.5
c1.4,0,2.5-1.1,2.5-2.5C10.6,21.1,9.5,20,8.1,20 M20.3,20c-1.4,0-2.5,1.1-2.5,2.5c0,1.4,1.1,2.5,2.5,2.5c1.4,0,2.5-1.1,2.5-2.5
C22.8,21.1,21.7,20,20.3,20"/>
</svg>

After

Width:  |  Height:  |  Size: 794 B

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 22.3 20.9"
xml:space="preserve">
<style type="text/css">
.st0{fill:#5ACBF5;}
</style>
<path id="XMLID_184_" class="st0" d="M21.3,0h-2.6h-2h-1.6h-1h-1H0v20.9h13.1h2h1.6h2h3.6V0H21.3z M2,2h11.1v16.9H2V2z M16.7,18.9
h-1.6V2h1.6V18.9z M18.7,2h1.6v16.9h-1.6V2z"/>
</svg>

After

Width:  |  Height:  |  Size: 565 B

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 23.1 20.9"
xml:space="preserve">
<style type="text/css">
.st0{fill:#5ACBF5;}
</style>
<path class="st0" d="M18,0h5v8.4H17V6.7h4.3V1.8H18H17C16.1,4,14,5.6,11.5,5.6C9,5.6,6.9,4,6.1,1.8H5H1.8v4.9h4.1v12.5h11.2V10h1.8
v11H4.1V8.4H0V0h5h2.4l0.2,0.7c0.4,1.8,2,3.1,3.9,3.1c1.9,0,3.5-1.3,3.9-3.1L15.6,0H18z"/>
</svg>

After

Width:  |  Height:  |  Size: 608 B

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 260.7 60"
xml:space="preserve">
<style type="text/css">
.st0{fill:#5ACBF5;}
</style>
<path class="st0" d="M62.7,18.5h-6.6c-0.3,0-0.4,0.1-0.6,0.2c-0.1,0.1-0.2,0.3-0.2,0.6v18.8c0,0.3,0.1,0.4,0.2,0.6s0.3,0.2,0.6,0.2
h6.7c3,0,5.3-0.9,6.9-2.7c1.6-1.8,2.4-4.3,2.4-7.5c0-3.3-0.8-5.8-2.4-7.5C68.1,19.4,65.7,18.5,62.7,18.5 M67.6,28.9
c0,4.3-1.8,6.5-5.3,6.5h-2.5V21.9h2.5c3.6,0,5.3,2.1,5.3,6.4V28.9z M82.8,23.4c-2.3,0-4.1,0.7-5.4,2.1c-1.3,1.4-1.9,3.3-1.9,5.8
c0,2.6,0.7,4.6,1.9,5.9c1.3,1.3,3.2,2,5.7,2c1.7,0,3.3-0.3,4.7-0.8c0.3-0.1,0.4-0.2,0.5-0.3c0.1-0.1,0.1-0.3,0.1-0.7v-1.3
c0-0.4-0.2-0.7-0.5-0.7c0,0-0.1,0-0.1,0c-0.1,0-0.1,0-0.2,0C86.2,35.9,85,36,83.9,36c-1.5,0-2.6-0.3-3.3-0.9
c-0.7-0.6-1.1-1.5-1.2-2.8h8.5c0.2,0,0.4,0,0.5-0.1c0.1-0.1,0.2-0.3,0.2-0.6c0.1-0.8,0.1-1.5,0.1-2.1c0-2-0.5-3.5-1.6-4.6
C86.2,23.9,84.7,23.4,82.8,23.4 M85.1,29.7h-5.7c0.1-1.1,0.4-1.9,1-2.5c0.6-0.6,1.3-0.9,2.3-0.9c1.7,0,2.5,1,2.5,2.9V29.7z
M99.3,30.2c1.2,0.5,2.1,1.1,2.6,1.7c0.5,0.6,0.8,1.5,0.8,2.5c0,1.4-0.6,2.6-1.7,3.5c-1.1,0.9-2.6,1.3-4.4,1.3
c-1.7,0-3.3-0.3-4.7-0.9c-0.3-0.1-0.4-0.2-0.5-0.4c-0.1-0.1-0.1-0.3-0.1-0.6v-1.3c0-0.4,0.2-0.7,0.5-0.7c0.1,0,0.2,0,0.4,0.1
c0.6,0.2,1.4,0.4,2.2,0.5c0.8,0.1,1.5,0.2,2.2,0.2c1.4,0,2.1-0.5,2.1-1.5c0-0.4-0.1-0.7-0.3-0.9c-0.2-0.2-0.7-0.4-1.4-0.7l-2.3-0.9
c-1.2-0.5-2.1-1-2.6-1.7c-0.5-0.7-0.8-1.6-0.8-2.6c0-1.3,0.5-2.4,1.6-3.2c1.1-0.8,2.5-1.2,4.3-1.2c1.4,0,2.7,0.2,3.9,0.7
c0.3,0.1,0.4,0.2,0.5,0.3c0.1,0.1,0.1,0.3,0.1,0.7v1.3c0,0.4-0.2,0.7-0.5,0.7c-0.1,0-0.4-0.1-0.8-0.2c-0.8-0.2-1.8-0.4-2.8-0.4
c-0.8,0-1.4,0.1-1.8,0.3c-0.4,0.2-0.6,0.5-0.6,0.9c0,0.3,0.1,0.6,0.3,0.8c0.2,0.2,0.7,0.5,1.4,0.7L99.3,30.2 M107.9,17
c0.7,0,1.3,0.2,1.8,0.6c0.4,0.4,0.7,1,0.7,1.7s-0.2,1.3-0.7,1.7c-0.4,0.4-1,0.6-1.8,0.6c-0.7,0-1.3-0.2-1.8-0.6
c-0.5-0.4-0.7-1-0.7-1.7s0.2-1.3,0.7-1.7C106.6,17.2,107.2,17,107.9,17 M109.3,23.8c0.3,0,0.5,0.1,0.6,0.2c0.1,0.1,0.2,0.3,0.2,0.6
v13.5c0,0.3-0.1,0.4-0.2,0.6c-0.1,0.1-0.3,0.2-0.6,0.2h-2.8c-0.3,0-0.4-0.1-0.6-0.2s-0.2-0.3-0.2-0.6V24.6c0-0.3,0.1-0.5,0.2-0.6
c0.1-0.1,0.3-0.2,0.6-0.2H109.3 M127.2,23.9h-2.1c-0.2,0-0.4,0-0.5,0.1c-0.1,0.1-0.2,0.3-0.3,0.5l-0.2,0.6c-0.6-0.6-1.2-1-1.9-1.3
c-0.7-0.3-1.5-0.4-2.3-0.4c-1.8,0-3.3,0.7-4.4,2.1c-1.1,1.4-1.6,3.2-1.6,5.5c0,2.3,0.5,4.1,1.6,5.4c1.1,1.4,2.5,2,4.4,2
c1.5,0,2.8-0.5,3.9-1.5v1.2c0,1.3-0.3,2.3-0.9,2.9c-0.6,0.6-1.5,0.9-2.8,0.9c-1.2,0-2.5-0.2-4.1-0.7c-0.2-0.1-0.3-0.1-0.4-0.1
c-0.3,0-0.5,0.2-0.5,0.7v1.3c0,0.3,0,0.5,0.1,0.6c0.1,0.1,0.3,0.2,0.5,0.4c1.5,0.6,3.1,1,4.7,1c2.3,0,4.2-0.7,5.5-2
c1.3-1.3,2-3.2,2-5.6V24.6c0-0.3-0.1-0.5-0.2-0.6C127.6,23.9,127.5,23.9,127.2,23.9 M123.7,34.5c-0.4,0.3-0.8,0.5-1.2,0.6
c-0.5,0.1-0.9,0.2-1.4,0.2c-1,0-1.8-0.4-2.3-1.1c-0.5-0.7-0.7-1.8-0.7-3.3c0-2.9,0.9-4.3,2.8-4.3c1.1,0,2,0.2,2.8,0.7V34.5z
M141.8,23.4c1.4,0,2.5,0.4,3.2,1.1c0.8,0.8,1.1,1.8,1.1,3.2v10.3c0,0.3-0.1,0.4-0.2,0.6c-0.1,0.1-0.3,0.2-0.6,0.2h-2.8
c-0.3,0-0.4-0.1-0.6-0.2s-0.2-0.3-0.2-0.6V29c0-0.8-0.2-1.4-0.5-1.8c-0.4-0.4-0.9-0.6-1.6-0.6c-1.1,0-2.1,0.3-3.2,1v10.4
c0,0.3-0.1,0.4-0.2,0.6c-0.1,0.1-0.3,0.2-0.6,0.2H133c-0.3,0-0.4-0.1-0.6-0.2c-0.1-0.1-0.2-0.3-0.2-0.6V24.6c0-0.3,0.1-0.5,0.2-0.6
c0.1-0.1,0.3-0.2,0.6-0.2h2.1c0.5,0,0.7,0.2,0.8,0.6l0.3,1C138,24.1,139.8,23.4,141.8,23.4 M178.7,18.5c0.3,0,0.5,0.1,0.6,0.2
c0.1,0.1,0.2,0.3,0.2,0.6v18.8c0,0.3-0.1,0.4-0.2,0.6c-0.1,0.1-0.3,0.2-0.6,0.2h-2.4c-0.3,0-0.4-0.1-0.6-0.2s-0.2-0.3-0.2-0.6V24.8
l-4.2,8.5c-0.1,0.2-0.2,0.3-0.4,0.4c-0.1,0.1-0.3,0.1-0.6,0.1h-2.6c-0.3,0-0.5,0-0.6-0.1c-0.1-0.1-0.3-0.2-0.4-0.4l-4.2-8.5v13.3
c0,0.3-0.1,0.4-0.2,0.6s-0.3,0.2-0.6,0.2h-2.4c-0.3,0-0.4-0.1-0.6-0.2s-0.2-0.3-0.2-0.6V19.2c0-0.3,0.1-0.5,0.2-0.6s0.3-0.2,0.6-0.2
h3.4c0.3,0,0.5,0,0.6,0.1c0.1,0.1,0.3,0.2,0.4,0.4l5.2,11l5.3-11c0.1-0.2,0.2-0.3,0.4-0.4c0.1-0.1,0.3-0.1,0.6-0.1H178.7
M190.6,23.4c-2.3,0-4.1,0.7-5.4,2.1c-1.3,1.4-1.9,3.3-1.9,5.8c0,2.6,0.7,4.6,1.9,5.9c1.3,1.3,3.2,2,5.7,2c1.7,0,3.3-0.3,4.7-0.8
c0.3-0.1,0.4-0.2,0.5-0.3c0.1-0.1,0.1-0.3,0.1-0.7v-1.3c0-0.4-0.2-0.7-0.5-0.7c0,0-0.1,0-0.1,0c-0.1,0-0.1,0-0.2,0
c-1.4,0.4-2.7,0.6-3.8,0.6c-1.5,0-2.6-0.3-3.3-0.9c-0.7-0.6-1.1-1.5-1.2-2.8h8.5c0.2,0,0.4,0,0.5-0.1c0.1-0.1,0.2-0.3,0.2-0.6
c0.1-0.8,0.1-1.5,0.1-2.1c0-2-0.5-3.5-1.6-4.6C194,23.9,192.5,23.4,190.6,23.4 M193,29.7h-5.7c0.1-1.1,0.4-1.9,1-2.5
c0.6-0.6,1.3-0.9,2.3-0.9c1.7,0,2.5,1,2.5,2.9V29.7z M209.1,23.7c0.3,0,0.5,0.1,0.6,0.2c0.1,0.1,0.2,0.3,0.2,0.6v2.5
c0,0.3-0.1,0.4-0.2,0.6c-0.1,0.1-0.3,0.2-0.6,0.2c-0.1,0-0.3,0-0.5,0c-0.2,0-0.5,0-0.8,0c-0.5,0-1,0.1-1.6,0.2
c-0.6,0.1-1.2,0.3-1.6,0.5v9.8c0,0.3-0.1,0.4-0.2,0.6c-0.1,0.1-0.3,0.2-0.6,0.2h-2.8c-0.3,0-0.4-0.1-0.6-0.2s-0.2-0.3-0.2-0.6V24.6
c0-0.3,0.1-0.5,0.2-0.6c0.1-0.1,0.3-0.2,0.6-0.2h2.1c0.4,0,0.7,0.2,0.8,0.6l0.4,1.6c0.8-0.9,1.5-1.5,2.2-1.8
c0.7-0.4,1.4-0.5,2.2-0.5H209.1 M222.7,35.5c0.3,0,0.5,0.2,0.5,0.6v1.5c0,0.3,0,0.5-0.1,0.7c-0.1,0.1-0.3,0.2-0.5,0.3
c-0.6,0.2-1.2,0.4-1.8,0.5c-0.6,0.1-1.2,0.1-1.8,0.1c-2.4,0-4.2-0.7-5.5-2c-1.3-1.3-1.9-3.2-1.9-5.7c0-2.5,0.7-4.4,2-5.8
c1.3-1.4,3.2-2.1,5.5-2.1c1.2,0,2.3,0.2,3.3,0.6c0.3,0.1,0.4,0.2,0.5,0.3c0.1,0.1,0.1,0.3,0.1,0.7v1.3c0,0.4-0.2,0.7-0.5,0.7
c0,0-0.1,0-0.1,0c-0.1,0-0.1,0-0.2,0c-0.8-0.2-1.6-0.3-2.3-0.3c-1.4,0-2.4,0.3-3,1c-0.6,0.7-1,1.8-1,3.3v0.4c0,1.5,0.3,2.6,1,3.3
c0.6,0.7,1.6,1,2.9,1c0.7,0,1.5-0.1,2.4-0.3C222.4,35.5,222.6,35.5,222.7,35.5 M239.2,24.5c0.8,0.8,1.1,1.8,1.1,3.2v10.3
c0,0.3-0.1,0.4-0.2,0.6c-0.1,0.1-0.3,0.2-0.6,0.2h-2.8c-0.3,0-0.4-0.1-0.6-0.2s-0.2-0.3-0.2-0.6V29c0-0.8-0.2-1.4-0.5-1.8
c-0.4-0.4-0.9-0.6-1.6-0.6c-1.1,0-2.1,0.3-3.2,1v10.4c0,0.3-0.1,0.4-0.2,0.6c-0.1,0.1-0.3,0.2-0.6,0.2h-2.8c-0.3,0-0.4-0.1-0.6-0.2
s-0.2-0.3-0.2-0.6V17.9c0-0.3,0.1-0.5,0.2-0.6c0.1-0.1,0.3-0.2,0.6-0.2h2.8c0.3,0,0.5,0.1,0.6,0.2c0.1,0.1,0.2,0.3,0.2,0.6v7.3
c1.7-1.2,3.4-1.8,5.3-1.8C237.4,23.4,238.5,23.8,239.2,24.5 M253.6,0H7.1C3.2,0,0,3.2,0,7.1v45.7C0,56.8,3.2,60,7.1,60h246.5
c3.9,0,7.1-3.2,7.1-7.1V7.1C260.7,3.2,257.5,0,253.6,0 M256.5,52.9c0,1.6-1.3,2.9-2.9,2.9H7.1c-1.6,0-2.9-1.3-2.9-2.9V7.1
c0-1.6,1.3-2.9,2.9-2.9h246.5c1.6,0,2.9,1.3,2.9,2.9V52.9z M38,18.4h5.9v9.9h-7.1v-2.1h5v-5.7H38h-1.3c-1,2.6-3.4,4.5-6.4,4.5
c-2.9,0-5.4-1.9-6.4-4.5h-1.3h-3.8v5.7h4.8v14.7H37V30.1H39v12.9H21.7V28.3h-4.8v-9.9h5.9h2.8l0.2,0.8c0.5,2.1,2.4,3.7,4.6,3.7
c2.2,0,4.1-1.6,4.6-3.7l0.2-0.8H38z"/>
</svg>

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 64.9 58.9"
xml:space="preserve">
<style type="text/css">
.st0{fill:#181818;}
</style>
<path class="st0" d="M59.9,18.7V5h-9.1h-3c-2.3,6.2-8.3,10.7-15.3,10.7h0c-7.1,0-13-4.5-15.3-10.7h-3H5v13.7h11.6v35.2h31.6V28.1h5
v30.9H11.6V23.7H0V0h14.1h6.8l0.5,1.9c1.2,5,5.7,8.8,11.1,8.8h0c5.4,0,9.9-3.8,11.1-8.8L44,0h6.8h14.1v23.7H47.8v-5H59.9z
M27.8,25.7h-5l-2.2,2.1v7.6h11.2v-3.4h-7.8v-3l0.5-0.5h5l2.2-2.2v-4.8l-2.6-2.6h-5.9l-2.6,2.6V24h3.4v-1.2l0.7-0.7h2.8l0.7,0.7v2.3
L27.8,25.7z M33,29.7v2.9l2.7,2.7h5.8l2.7-2.7v-4.6l-1.4-1.5l1.3-1.4v-3.9l-2.6-2.6h-5.8l-2.6,2.6v2.6h3.3v-1.1l0.7-0.7h2.9l0.7,0.7
v1.9l-0.7,0.7h-4.1v2.6h4.2l0.7,0.7v2.3l-0.8,0.8h-2.9l-0.8-0.8v-1.4H33z"/>
</svg>

After

Width:  |  Height:  |  Size: 971 B

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 65.5 54.4"
xml:space="preserve">
<style type="text/css">
.st0{fill:#181818;}
</style>
<path id="XMLID_236_" class="st0" d="M32.7,8.3c-4.5,0-8.8,0.2-12.6,0.7c-0.5,0.1-0.9-0.3-0.9-0.8V4.7C19.3,4.3,19.6,4,20,4
c2.9-0.3,5.9-0.5,9.2-0.6c0.4,0,0.8-0.4,0.8-0.8V0.8c0-0.4,0.4-0.8,0.8-0.8h3.4c0.4,0,0.8,0.4,0.8,0.8v5v1.7c0,0.4-0.4,0.8-0.8,0.8
C33.7,8.3,33.2,8.3,32.7,8.3 M52.6,10.1c0.5,0.1,1-0.3,1-0.8V7.8v-5c0-0.4-0.4-0.8-0.8-0.8h-3.4c-0.4,0-0.8,0.4-0.8,0.8v1.5
c-0.4-0.1-0.8-0.1-1.3-0.2c-2.6-0.3-5.5-0.6-8.5-0.7c-0.4,0-0.8,0.3-0.8,0.8v3.4c0,0.4,0.3,0.8,0.8,0.8C44,8.7,48.8,9.3,52.6,10.1
M64.7,7.4c0.4,0,0.8,0.4,0.8,0.8v10.3v22.2V48c0,0.4-0.4,0.8-0.8,0.8h-3.1c-0.6,0-1.1-0.5-1.1-1.1v0c0-0.8-0.7-1.3-1.4-1
c-1.3,0.5-2.7,0.9-4.3,1.2c-0.2,0-0.3,0.1-0.5,0.1v3.6c0,0.4-0.4,0.8-0.8,0.8H50c-0.4,0-0.8-0.4-0.8-0.8v-1.8c0-0.5-0.4-0.8-0.9-0.8
c-3.6,0.5-7.7,0.8-12,0.9c-0.4,0-0.8,0.4-0.8,0.8v2.9c0,0.4-0.4,0.8-0.8,0.8h-3.4c-0.4,0-0.8-0.4-0.8-0.8v-2.9
c0-0.4-0.3-0.8-0.8-0.8c-4.1-0.1-8.1-0.4-11.6-0.8c-0.4-0.1-0.8-0.1-1.3-0.2v2.6c0,0.4-0.4,0.8-0.8,0.8h-3.4c-0.4,0-0.8-0.4-0.8-0.8
v-2.8c0-0.4-0.3-0.7-0.6-0.8c-1.5-0.3-2.9-0.7-4.2-1.1c-0.2-0.1-0.5-0.2-0.7-0.2C5.7,46.4,5,47,5,47.7c0,0.6-0.5,1.1-1.1,1.1H0.8
C0.4,48.8,0,48.4,0,48v-7.4V18.5V8.2c0-0.4,0.4-0.8,0.8-0.8h3.9c0.1,0,0.2,0,0.3-0.1C6.6,6.6,8.5,6,10.8,5.4c0.2,0,0.3-0.1,0.5-0.1
V2.8c0-0.4,0.4-0.8,0.8-0.8h3.4c0.4,0,0.8,0.4,0.8,0.8v5v1c0,0.4-0.3,0.7-0.7,0.8c-2.5,0.4-4.7,0.9-6.4,1.5c-1.7,0.5-3,1.1-3.7,1.6
c-0.1,0.1-0.2,0.2-0.3,0.2c0.2,0.2,0.5,0.4,0.9,0.6c1,0.6,2.7,1.2,4.9,1.8c0.4-0.3,0.5-0.4,1-0.8v-1.4c0-0.4,0.4-0.8,0.8-0.8h3.4
c0.4,0,0.8,0.4,0.8,0.8v9v1.2c0,0.4,0.3,0.7,0.7,0.8c0.5,0.1,0.9,0.1,1.4,0.2c3.2,0.4,6.7,0.6,10.4,0.7c0.6,0,1.1-0.5,1.1-1.1v-0.3
c0-0.6-0.5-1.1-1.1-1.1c-3.1-0.1-6.1-0.3-8.9-0.5c-0.4,0-0.7-0.4-0.7-0.8v-3.4c0-0.5,0.4-0.8,0.9-0.8c2.8,0.3,5.8,0.5,9,0.6
c0.4,0,0.8-0.3,0.8-0.8v-1.5c0-0.4,0.4-0.8,0.8-0.8h3.4c0.4,0,0.8,0.4,0.8,0.8v9v0.8c3.2-0.1,6.3-0.2,9.2-0.5
c1.2-0.1,2.4-0.3,3.5-0.4c0.5-0.1,0.9-0.5,0.9-1.1v-0.7c0-0.5-0.4-0.8-0.9-0.8c-2.7,0.4-5.7,0.7-8.9,0.8c-0.4,0-0.8-0.3-0.8-0.8
v-3.4c0-0.4,0.3-0.8,0.7-0.8c2.4-0.1,4.8-0.3,6.9-0.6c0.8-0.1,1.6-0.2,2.3-0.3c0.4-0.1,0.7-0.4,0.7-0.8v-2.5c0-0.4,0.4-0.8,0.8-0.8
h3.4c0.4,0,0.8,0.4,0.8,0.8v9V23c1.1-0.2,2.1-0.5,3-0.8c0.9-0.3,1.8-0.5,2.5-0.9l0.7-1v-0.7c0-0.5-0.5-0.9-1.1-0.7
c-0.4,0.1-0.8,0.3-1.2,0.4c-0.5,0.2-1-0.2-1-0.7v-3.6c0-0.3,0.2-0.6,0.5-0.7c1-0.4,1.8-0.8,2.2-1.1c0.1-0.1,0.2-0.2,0.3-0.2
c-0.2-0.2-0.5-0.4-0.9-0.6c-0.6-0.3-1.4-0.7-2.3-1c-0.3-0.1-0.5-0.4-0.5-0.7V7c0-0.5,0.5-0.9,1-0.7c0.3,0.1,0.5,0.2,0.8,0.3
c0.8,0.3,1.5,0.5,2.2,0.8c0.1,0,0.2,0.1,0.3,0.1H64.7z M8.3,22.2c0.9,0.2,1.8,0.5,2.7,0.7c0.5,0.1,1-0.3,1-0.8v-0.7
c0-0.5-0.4-1-0.9-1.1c-1.4-0.3-2.8-0.7-4-1.1c-0.4-0.1-0.7-0.3-1.1-0.4C5.6,18.7,5,19.1,5,19.6v0.7c0,0.4,0.3,0.8,0.7,1
C6.5,21.7,7.3,21.9,8.3,22.2"/>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 78.2 67.5"
xml:space="preserve">
<style type="text/css">
.st0{fill:#181818;}
</style>
<g id="XMLID_237_">
<path id="XMLID_274_" class="st0" d="M19,26.2L19,26.2z"/>
<polygon id="XMLID_273_" class="st0" points="19,26.2 39.3,14.4 59.1,26.2 61.1,22.7 41.3,11 41.3,4 45.4,4 45.4,5.1 42.1,5.1
42.1,9.1 49.4,9.1 49.4,0 37.3,0 37.3,11 17,22.7 "/>
<path id="XMLID_267_" class="st0" d="M78.2,46.8L68.9,34H57.8v-7.5h-4v37h-3.4V46.1H28.2v17.5h-3.8v-37h-4v37H9.3V46.8H18v-4H7.9
l3.5-4.8H18v-4l-8.7,0L0,46.8h5.3v20.8h15.1h2h33.4h2h15.1V46.8H78.2z M46.4,63.1h-5.1V50.1h5.1V63.1z M32.2,50.1h5.1v13.1h-5.1
V50.1z M66.9,38l3.5,4.8H57.8V38H66.9z M68.9,63.5H57.8V46.8h11.1V63.5z"/>
<path id="XMLID_238_" class="st0" d="M28.2,41.1h22.3v-2V28.3H28.2V41.1z M46.4,37.1h-5.1v-4.8h5.1V37.1z M32.2,32.3h5.1v4.8h-5.1
V32.3z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52.4 60.1"
xml:space="preserve">
<style type="text/css">
.st0{fill:#181818;}
</style>
<path id="XMLID_237_" class="st0" d="M40.5,35.6c1.9-2.8,3-6.1,3-9.7c0-4.8-1.9-9.1-5.1-12.2c-3.1-3.1-7.4-5.1-12.2-5.1
c-4.8,0-9.1,1.9-12.2,5.1c-3.1,3.1-5.1,7.4-5.1,12.2c0,3.6,1.1,7,3,9.8c0.4,0.6,0.3,1.5-0.4,2c-0.6,0.4-1.5,0.3-2-0.4
C7.4,34.1,6.1,30.2,6.1,26c0-11.1,9-20.1,20.1-20.1c11.1,0,20.1,9,20.1,20.1c0,4.2-1.3,8-3.4,11.2c-0.4,0.6-1.3,0.8-2,0.4
C40.3,37.1,40.1,36.3,40.5,35.6z M6.6,41.3c0.7-0.5,0.8-1.4,0.4-2c-2.5-3.7-4-8.2-4-13.1c0-6.4,2.6-12.2,6.8-16.4
c4.2-4.2,10-6.8,16.4-6.8c6.4,0,12.2,2.6,16.4,6.8c4.2,4.2,6.8,10,6.8,16.4c0,4.8-1.5,9.3-4,13c-0.5,0.7-0.3,1.6,0.4,2
c0.7,0.5,1.6,0.3,2-0.4c2.8-4.2,4.5-9.2,4.5-14.6C52.4,11.7,40.6,0,26.2,0C11.7,0,0,11.7,0,26.2c0,5.5,1.7,10.5,4.5,14.7
C5,41.6,5.9,41.8,6.6,41.3z M44.4,46.4c-3.2-2.9-7.5-4.5-12.2-4.5h-0.3c2.6-1.8,4.2-4.7,4.2-8.1V22.9c0-5.5-4.4-9.9-9.9-9.9H26
c-5.5,0-9.9,4.4-9.9,9.9v10.8c0,3.4,1.7,6.3,4.2,8.1h-0.3c-4.7,0-9,1.6-12.2,4.5c-3.1,2.8-5.1,6.9-5.1,11.5c0,0.1,0,0.1,0,0.2v0.2
c0,0.5,0.2,1,0.6,1.3c0.4,0.4,0.8,0.6,1.3,0.6c0.5,0,1-0.2,1.3-0.6c0.4-0.4,0.6-0.8,0.6-1.3c0-3.8,1.5-6.8,3.9-9
c2.4-2.2,5.8-3.5,9.7-3.5h12.1c3.8,0,7.2,1.3,9.7,3.5c2.4,2.2,3.9,5.3,3.9,9c0,0.5,0.2,1,0.6,1.3c0.4,0.4,0.8,0.6,1.3,0.6
s1-0.2,1.3-0.6c0.4-0.4,0.6-0.8,0.6-1.3V58c0-0.1,0-0.1,0-0.2C49.5,53.2,47.5,49.2,44.4,46.4z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 61.9 66.8"
xml:space="preserve">
<style type="text/css">
.st0{fill:#181818;}
</style>
<path id="XMLID_268_" class="st0" d="M61.7,20.3C61.6,20.2,50.3,8,50.3,7.9C50,7.2,48.1,3.4,47,1.1c-0.4-0.9-1.4-1.3-2.4-1
c-4.5,1.7-9.3,3.2-13.8,3.3c0,0-0.2,0-0.3,0c-6.3,0-11.4-1.8-13.6-2.7c-0.7-0.3-1.5,0-1.9,0.7c-1.2,2.2-3.7,6.5-3.7,6.5
C11.4,8,0.1,19.7,0,19.8C-0.4,20,2.4,50.6,2.2,51c0,0,0,6.8,0,6.8c0,0.2,0.2,0.4,0.4,0.4h7.2c-0.1,0.3,0.1,7.6,0,8.1
c0,0.2,0.2,0.4,0.4,0.4h41.2c0.2,0,0.4-0.2,0.4-0.4v-5.6V59V20.7c0-0.2-0.2-0.4-0.4-0.4h-3.4h-0.3v36.4c0,0.2-0.2,0.4-0.4,0.4H16.7
c-0.2,0-0.4,0.2-0.4,0.4v3c0,0.2,0.2,0.4,0.4,0.4h30.8c0.7,0,0.4,1.1,0.4,1.5c0,0.2-0.2,0.4-0.4,0.4H14.4c-0.2,0-0.4-0.2-0.4-0.4
v-2.9V20.7c0-0.2-0.2-0.4-0.4-0.4h-3.2c-0.2,0-0.4,0.2-0.4,0.4v27.8c0,0.2-0.2,0.4-0.4,0.4H6.6c-0.2,0-0.4-0.2-0.4-0.4l-2-27
c0-0.1,0-0.2,0.1-0.3l9.1-9.6c0.1-0.1,0.3-0.2,0.5-0.1L28.9,18c1.3,0.6,2.7,0.5,4,0l14.8-6.5c0.2-0.1,0.4,0,0.5,0.1l9.2,10
c0.6,0.4-2.2,26.8-1.9,27.3c-0.1,0-1.5,0-1.6,0c-0.2,0-0.4,0.2-0.4,0.4v3c0,0.7,1.5,0.4,1.9,0.4v1.5h-1.5c-0.2,0-0.4,0.2-0.4,0.4v3
c0,0.2,0.2,0.4,0.4,0.4H59c0.2,0,0.4-0.2,0.4-0.4V51C59.5,50.9,61.8,20.5,61.7,20.3L61.7,20.3l0.2-0.2L61.7,20.3z M6.3,54.1v-1.3
h3.6v1.5H6.3V54.1z M16.1,7.7c0.2-0.3,0.5-1.2,1-0.7c0.8,0.7,2.9,2.6,3.6,3.2l-4.4-1.9C16.1,8.2,16,7.9,16.1,7.7 M31.2,13.8
c-0.2,0.2-0.4,0.2-0.6,0l-8.3-7.4c5.5,1.3,11.5,1.3,17.1-0.4L31.2,13.8z M40.5,10.4l4.2-4L45,6.2c0.1,0.4,1.2,1.8,0.5,2.1L40.5,10.4
z M38.6,39.3H22.4c-0.1,0.1-5.9,7.4-6,7.5c-0.1,0.1-0.1,0.2-0.1,0.3v7.4c0,0.2,0.2,0.4,0.4,0.4h28.5c0.2,0,0.4-0.2,0.4-0.4v-7.9
c0-0.1,0-0.2-0.1-0.3l-6-7H38.6z M41.6,50.8V51H20.8c-0.2,0-0.4-0.2-0.4-0.4c0-0.2-0.1-2.4,0.1-2.5l3.8-4.7c0.1-0.1,0.2-0.2,0.3-0.2
h12.9c0.1,0,0.3,0.1,0.3,0.2l3.8,4.3C41.8,47.7,41.6,50.6,41.6,50.8"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 53 67.6"
xml:space="preserve">
<style type="text/css">
.st0{fill:#181818;}
</style>
<g id="XMLID_269_">
<path id="XMLID_350_" class="st0" d="M45.1,7.7V0H8v7.7H0v59.9h53V7.7H45.1z M34.3,63.6h-5.5V50.5h5.5V63.6z M24.2,63.6h-5.5V50.5
h5.5V63.6z M49,63.6H38.8l0-17.6H14.2v17.6H4V11.7h8V4h29.1v3.7H15.4v4H49V63.6z"/>
<rect id="XMLID_349_" x="9.6" y="14.9" class="st0" width="6.8" height="5.4"/>
<rect id="XMLID_348_" x="23.1" y="14.9" class="st0" width="6.8" height="5.4"/>
<rect id="XMLID_347_" x="36.6" y="14.9" class="st0" width="6.8" height="5.4"/>
<rect id="XMLID_321_" x="9.6" y="26.1" class="st0" width="6.8" height="5.4"/>
<rect id="XMLID_320_" x="23.1" y="26.1" class="st0" width="6.8" height="5.4"/>
<rect id="XMLID_319_" x="36.6" y="26.1" class="st0" width="6.8" height="5.4"/>
<rect id="XMLID_318_" x="9.6" y="37.3" class="st0" width="6.8" height="5.4"/>
<rect id="XMLID_317_" x="23.1" y="37.3" class="st0" width="6.8" height="5.4"/>
<rect id="XMLID_270_" x="36.6" y="37.3" class="st0" width="6.8" height="5.4"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 58.6 34.3"
xml:space="preserve">
<style type="text/css">
.st0{fill:#F48F9B;}
.st1{fill:#5ACBF5;}
.st2{fill:#FDC477;}
</style>
<g>
<path class="st0" d="M39.2,33.1c0.3,0.5-0.1,1.1-0.7,1.1h-9.2h-9.3c-0.6,0-1-0.6-0.7-1.1l4.6-8l4.6-8c0.3-0.5,1-0.5,1.3,0l4.6,8
L39.2,33.1z"/>
<path class="st1" d="M26.7,11.4c0.1,0.2,0.1,0.5,0,0.8l-7.5,13l-5.1,8.8c-0.1,0.2-0.4,0.4-0.7,0.4H0.8c-0.6,0-1-0.6-0.7-1.1
l9.5-16.4L19,0.4c0.3-0.5,1-0.5,1.3,0L26.7,11.4"/>
<path class="st2" d="M38.3,0.4c0.3-0.5,1-0.5,1.3,0l18.9,32.7c0.3,0.5-0.1,1.1-0.7,1.1H45.2c-0.3,0-0.5-0.1-0.7-0.4l-5.1-8.8
l-7.5-13c-0.1-0.2-0.1-0.5,0-0.8L38.3,0.4z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 929 B

View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 281.2 50"
xml:space="preserve">
<style type="text/css">
.st0{fill:#F48F9B;}
.st1{fill:#5ACBF5;}
.st2{fill:#FDC477;}
.st3{fill:#FFFFFF;}
</style>
<g>
<path class="st0" d="M39.2,38.3c0.3,0.5-0.1,1.1-0.7,1.1h-9.2h-9.3c-0.6,0-1-0.6-0.7-1.1l4.6-8l4.6-8c0.3-0.5,1-0.5,1.3,0l4.6,8
L39.2,38.3z"/>
<path class="st1" d="M26.7,16.5c0.1,0.2,0.1,0.5,0,0.8l-7.5,13L14.1,39c-0.1,0.2-0.4,0.4-0.7,0.4H0.8c-0.6,0-1-0.6-0.7-1.1
l9.5-16.4L19,5.5c0.3-0.5,1-0.5,1.3,0L26.7,16.5"/>
<path class="st2" d="M38.3,5.5c0.3-0.5,1-0.5,1.3,0l18.9,32.7c0.3,0.5-0.1,1.1-0.7,1.1H45.2c-0.3,0-0.5-0.1-0.7-0.4l-5.1-8.8
l-7.5-13c-0.1-0.2-0.1-0.5,0-0.8L38.3,5.5z"/>
<path class="st3" d="M195.3,13.3c1.1,0.6,1.8,1.4,2.3,2.2c1,1.7,1.1,3.5,1.1,4.2c0,0.1,0,0.2,0,0.2v1.9v17.1l-0.1,0.1l-0.1,0.1
h-7.5l-0.1-0.1l-0.1-0.1V21.8c0-1.8-0.8-2.6-0.8-2.6c-0.7-0.6-1.7-0.9-2.6-0.9c-1.3,0-2.6,0.4-3.6,0.8c-0.8,0.3-1.4,0.6-1.6,0.8
v18.9l-0.1,0.1l-0.1,0.1h-7.4l-0.1-0.1l-0.1-0.1v-36l0-0.1l0-0.1l7.4-2.7l0.1,0.1l0.1,0.1v15c1.9-1.4,4.9-2.8,8.8-2.8
C192.8,12.3,194.2,12.7,195.3,13.3 M248.2,13.1c2.3,0.8,3.5,2.7,4.2,4.4c0.6,1.7,0.7,3.3,0.7,3.9c0,0.1,0,0.2,0,0.2v17.4l-0.1,0.1
l-0.1,0.1h-4.8l0,0l0,0l-1.6-2.1c-2.9,2.7-6.4,3-7.5,3c-0.2,0-0.3,0-0.4,0c-1.8,0-3.3-0.4-4.4-1c-1.1-0.6-1.9-1.5-2.4-2.4
c-1.1-1.8-1.2-3.8-1.2-4.6c0-0.2,0-0.4,0-0.4l0,0c0,0,0,0,0,0v0l0,0l0,0c0.4-3.2,1.9-5.2,3.8-6.4c1.9-1.2,4.3-1.5,6.3-1.5
c2.4,0,4.4,0.4,5.1,0.6c0-0.6,0.1-1.1,0.1-1.5c0-2.3-0.4-3.1-0.5-3.2l0,0l0,0l0,0c-0.3-0.5-0.8-0.8-1.5-1.1
c-0.7-0.2-1.5-0.3-2.4-0.3c-3.7,0-8.6,1.6-8.6,1.6l-0.2,0.1l-0.1-0.2l0,0v-4.8l0,0l0,0l0,0c2.7-1.5,6.2-2.4,9.7-2.4
C244.4,12.1,246.4,12.4,248.2,13.1 M245.9,28.4c-0.4-0.1-1.7-0.4-3.2-0.4c-0.8,0-1.7,0.1-2.5,0.3c-0.8,0.3-1.4,0.7-1.8,1.3
c-0.3,0.4-0.4,1-0.5,1.7c0,0.1,0,0.2,0,0.3c0,1.1,0.3,1.7,0.7,2.2c0.4,0.4,1,0.6,1.7,0.6c1.2,0,2.6-0.5,3.7-1
c0.9-0.4,1.6-0.8,1.8-0.9V28.4z M281.1,13.1L281.1,13.1l-7.4-0.1l-0.1,0l-0.1,0l-5.2,18.2l-5.8-18.2l-0.1,0l-0.1,0h-7.7l-0.1,0.1
l-0.1,0.1l10.1,26c0,0,0,0.1,0,0.1c0,0.3-0.2,1.1-0.6,2c-0.4,0.9-1.1,1.7-2.2,2.2c-0.7,0.3-1.4,0.4-2.1,0.4c-1.5,0-2.8-0.4-2.9-0.4
l-0.2-0.1l-0.1,0.2l0,0v5.6l0,0.1l0,0.1l0.1,0c1.7,0.5,3.1,0.7,4.4,0.7c3.6,0,5.9-1.7,7.2-3.3c1.3-1.6,1.8-3.2,1.8-3.3L281.1,13.1
L281.1,13.1z M151.5,12.8L151.5,12.8c-5.2,0-8.2,2.1-9.6,3.5l-1.4-3.1l-0.1,0l0,0h-5.5l-0.1,0.1l-0.1,0.1v25.7l0.1,0.1l0.1,0.1h7.5
l0.1-0.1l0.1-0.1V20.7c1.5-0.7,3.1-0.9,4.6-0.9c2.3,0,4.2,0.5,4.3,0.6l0.2,0.1l0.1-0.2l0,0v-7.3L151.5,12.8L151.5,12.8z
M126.3,13.6c1.4,0.8,2.4,1.9,3.2,3.1c1.5,2.5,1.8,5.5,1.8,7.7c0,1.9-0.3,3.3-0.3,3.4l0,0.1l-0.1,0l0,0h-15.4c0,1,0.3,2.4,1.1,3.5
c0.9,1.2,2.4,2.2,5.2,2.3c0.2,0,0.4,0,0.6,0c5.2,0,8.2-1.5,8.2-1.5l0.2-0.1l0.1,0.2l0,0v5.3l0,0.1l0,0.1l-0.1,0
c-5.2,1.8-9.6,1.9-9.7,1.9c0,0-0.2,0-0.4,0c-1.1,0-4.1-0.2-6.9-2c-2.8-1.8-5.3-5.3-5.3-11.8c0-6.4,2.5-9.9,5.3-11.7
c2.8-1.8,5.8-2,6.9-2c0.3,0,0.4,0,0.5,0C123.1,12.3,124.9,12.8,126.3,13.6 M124.7,23.1c0-0.1,0-0.3,0-0.6c0-0.6-0.1-1.4-0.3-2.2
c-0.3-0.8-0.8-1.6-1.6-2.1c-0.6-0.3-1.3-0.5-2.2-0.5c-1.3,0-2.3,0.3-3.1,0.9c-0.8,0.5-1.3,1.2-1.6,1.9c-0.6,1.1-0.7,2.2-0.7,2.6
H124.7 M171.9,14.3L171.9,14.3c-1.5-0.9-3.4-1.3-5-1.5c-1.6-0.2-2.8-0.2-2.8-0.2c-2.9,0-5.1,0.8-6.8,1.9c-2.5,1.8-3.8,4.4-4.4,6.7
c-0.7,2.3-0.7,4.3-0.7,4.7c0,0,0,0.1,0,0.1c0,0.2,0,0.4,0,0.6c0,0.9,0.1,1.7,0.2,2.5c0.7,5.1,4.4,9.3,9.4,10.4c1,0.2,2,0.3,2.9,0.3
c4.1,0,7.1-1.7,7.2-1.7l0.1,0l0-0.1l0,0v-5.1l0,0l-0.1-0.2l-0.2,0.1c-0.1,0-2.5,1.1-5.1,1.1c-0.6,0-1.2-0.1-1.8-0.2
c-1.6-0.4-2.7-1-3.5-2.1c-0.8-1.1-1.2-2.9-1.3-5.6v-0.1c0-2.7,0.6-4.3,1.6-5.4c1-1.1,2.4-1.5,3.9-1.7c0.4,0,0.7-0.1,1.1-0.1
c2.6,0,5.1,0.8,5.1,0.8l0.2,0.1l0.1-0.2l0,0L171.9,14.3L171.9,14.3L171.9,14.3z M102.2,13.3c-1.1-0.6-2.4-1-4.2-1
c-3.9,0-6.9,1.4-8.8,2.8l-0.9,0.7c-0.1-0.1-0.1-0.2-0.2-0.3c-0.5-0.8-1.2-1.6-2.3-2.2c-1.1-0.6-2.4-1-4.2-1c-3.9,0-6.9,1.4-8.8,2.8
L71,12.3h-5.9v26.6l0.1,0.1l0.1,0.1h7.4l0.1-0.1l0.1-0.1V19.9c0.2-0.1,0.8-0.4,1.6-0.8c1-0.4,2.3-0.8,3.6-0.8c1,0,1.9,0.2,2.6,0.9
c0,0,0.8,0.8,0.8,2.6v17.1l0.1,0.1l0.1,0.1h0h7.4h0l0.1-0.1l0.1-0.1V19.9c0.2-0.1,0.8-0.4,1.6-0.8c1-0.4,2.3-0.8,3.6-0.8
c1,0,1.9,0.2,2.6,0.9c0,0,0.8,0.8,0.8,2.6v17.1l0.1,0.1L98,39h7.4l0.1-0.1l0.1-0.1V21.8v-1.9c0,0,0-0.1,0-0.2
c0-0.7-0.1-2.5-1.1-4.2C104,14.7,103.3,13.9,102.2,13.3 M229.1,25.8C229.1,25.9,229.1,25.9,229.1,25.8c0,0.3,0,0.5,0,0.7
c0,0.9-0.1,1.7-0.2,2.5c-0.7,5.1-4.4,9.3-9.4,10.4c-1,0.2-2,0.3-2.9,0.3c-4.1,0-7.1-1.7-7.2-1.7l-1.1-0.5l-1.6,1.4l-0.1,0.1
l-0.1,0.1h-4.3l-0.1-0.1l-0.1-0.1v-36l0-0.1l0-0.1l7.4-2.7l0.1,0.1l0.1,0.1v13.8c1.3-0.7,3-1,4.4-1.2c1.6-0.2,2.8-0.2,2.8-0.2
c2.9,0,5.1,0.8,6.8,1.9c2.5,1.8,3.8,4.4,4.4,6.7C229,23.4,229.1,25.4,229.1,25.8 M221.3,25.6c0-2.7-0.6-4.3-1.6-5.4
c-1-1.1-2.4-1.5-3.9-1.7c-0.4,0-0.7-0.1-1.1-0.1c-2.1,0-4,0.5-4.8,0.7v13.4c0.8,0.3,2.7,1,4.7,1c0.6,0,1.2-0.1,1.8-0.2
c1.6-0.4,2.7-1,3.5-2.1C220.8,30.1,221.3,28.4,221.3,25.6L221.3,25.6z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 79.4 72.1"
xml:space="preserve">
<style type="text/css">
.st0{fill:#181818;}
.st1{fill:#FDC477;}
.st2{fill:#F48F9B;}
.st3{fill:#5ACBF5;}
</style>
<g id="XMLID_270_">
<path id="XMLID_348_" class="st0" d="M69.5,22.9v6.1h9.9V0H62.1h-8.3l-0.6,2.4c-1.5,6.2-7,10.8-13.5,10.8h0
c-6.6,0-12.1-4.6-13.5-10.8L25.6,0h-8.3H0v29.1h14.2v43.1h51V22.9h-6.1V66H20.4V22.9H6.1V6.1h11.1H21c2.8,7.6,10.1,13.1,18.8,13.1
h0c8.6,0,15.9-5.5,18.8-13.1h3.7h11.1v16.8H69.5z"/>
<path id="XMLID_321_" class="st1" d="M59.1,66H20.4V51.6h38.7V66z"/>
<path id="XMLID_319_" class="st2" d="M59.1,51.6H20.4V37.3h38.7V51.6z"/>
<path id="XMLID_317_" class="st3" d="M59.1,37.3H20.4V22.9h38.7V37.3z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 981 B

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 63.1 72.2"
xml:space="preserve">
<style type="text/css">
.st0{fill:#FDC477;}
.st1{fill:#F48F9B;}
.st2{fill:#5ACBF5;}
.st3{fill:#181818;}
</style>
<g id="XMLID_317_">
<path id="XMLID_401_" class="st0" d="M47,43.1c-0.8,2.3-2.1,4.4-3.9,6.1c-3,3-7.1,4.8-11.6,4.8c-4.5,0-8.6-1.8-11.6-4.8
c-1.7-1.7-3-3.8-3.9-6.1H47"/>
<path id="XMLID_399_" class="st1" d="M48,37.6c0,1.9-0.3,3.8-1,5.5h-31c-0.6-1.7-1-3.5-1-5.5c0-1.9,0.3-3.8,1-5.5h31
C47.6,33.8,48,35.7,48,37.6"/>
<path id="XMLID_347_" class="st2" d="M43.2,26c1.7,1.7,3,3.8,3.9,6.1h-31c0.8-2.3,2.1-4.4,3.9-6.1c3-3,7.1-4.8,11.6-4.8
C36.1,21.2,40.2,23,43.2,26"/>
<path id="XMLID_318_" class="st3" d="M63.1,12.6v59.6H57V15.9h-9.4V6.1H6.1v60h44.7v6.1H0V0h50L63.1,12.6z M31.5,15.1
c12.5,0,22.5,10.1,22.5,22.6c0,12.5-10.1,22.5-22.5,22.5C19.1,60.2,9,50.1,9,37.6C9,25.2,19.1,15.1,31.5,15.1 M19.9,49.2
c3,3,7.1,4.8,11.6,4.8c4.5,0,8.6-1.8,11.6-4.8c1.7-1.7,3-3.8,3.9-6.1c0.6-1.7,1-3.5,1-5.5c0-1.9-0.3-3.8-1-5.5
c-0.8-2.3-2.1-4.4-3.9-6.1c-3-3-7.1-4.8-11.6-4.8c-4.5,0-8.6,1.8-11.6,4.8c-1.7,1.7-3,3.8-3.9,6.1c-0.6,1.7-1,3.5-1,5.5
c0,1.9,0.3,3.8,1,5.5C16.9,45.4,18.2,47.5,19.9,49.2"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 83.9 71.7"
xml:space="preserve">
<style type="text/css">
.st0{fill:#5ACBF5;}
.st1{fill:#F48F9B;}
.st2{fill:#FDC477;}
.st3{fill:#181818;}
</style>
<g id="XMLID_318_">
<path id="XMLID_435_" class="st0" d="M32,71.7h-9.3v-33H32V71.7z"/>
<g id="XMLID_348_">
<path id="XMLID_460_" class="st1" d="M46.3,71.7H38v-33h8.3V71.7z"/>
<path id="XMLID_458_" class="st1" d="M46.3,71.7H38v-33h8.3V71.7z"/>
</g>
<path id="XMLID_321_" class="st2" d="M61.7,71.7h-9.3v-33h9.3V71.7z"/>
<path id="XMLID_319_" class="st3" d="M75.6,0c4.6,0,8.3,3.7,8.3,8.3v20.2h-5.4v-6.1v-2.5V8.3c0-1.2-1-2.1-2.1-2.1H9
c-1.2,0-2.1,1-2.1,2.1v14.1h13.5h45.2h8.9v16.4h-6.5v29.9c0,2.6-3.1,4.4-5.8,1.8c-0.2-0.2-0.3-0.5-0.3-0.8V38.8h-9.2v29.9
c0,2.6-3.1,4.4-5.8,1.8c-0.2-0.2-0.3-0.5-0.3-0.8V38.8h-8.2v29.9c0,2.6-3.1,4.4-5.8,1.8C32.1,70.3,32,70,32,69.7V38.8h-9.3v29.9
c0,2.6-3.1,4.4-5.8,1.8c-0.2-0.2-0.3-0.5-0.3-0.8V38.8h-7V28.5H0V8.3C0,3.7,3.7,0,8.3,0H75.6"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 61.1 72.1"
xml:space="preserve">
<style type="text/css">
.st0{fill:#181818;}
.st1{fill:#FDC477;}
.st2{fill:#F48F9B;}
.st3{fill:#5ACBF5;}
</style>
<path id="XMLID_429_" class="st0" d="M61.1,66v6.1H0V66h5V21.4L21.3,5.1h2V0h14.4v5.1h2l16.3,16.3v39H50V24L37.3,11.2H23.8L11.1,24
v42H61.1z"/>
<path id="XMLID_348_" class="st1" d="M45.4,66H11.2V52h34.2V66z"/>
<path id="XMLID_321_" class="st2" d="M45.4,52H11.2V38h34.2V52z"/>
<path id="XMLID_319_" class="st3" d="M45.4,38H11.2V24h34.2V38z"/>
</svg>

After

Width:  |  Height:  |  Size: 794 B

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 51.1 85"
xml:space="preserve">
<style type="text/css">
.st0{fill:#FDC477;}
.st1{fill:#F48F9B;}
.st2{fill:#5ACBF5;}
.st3{fill:#181818;}
</style>
<g id="XMLID_320_">
<path id="XMLID_486_" class="st0" d="M41.5,66H20.4V51.6h21.2V66z"/>
<path id="XMLID_484_" class="st1" d="M41.5,51.6H20.4V37.3h21.2V51.6z"/>
<path id="XMLID_482_" class="st2" d="M41.5,37.3H20.4V22.9h21.2V37.3z"/>
<path id="XMLID_321_" class="st3" d="M51,78.7c-0.6-2.7-3-4.3-5.5-4.2l-1.7-3.9c-1,1-2,1.7-2.9,2.3l1.3,3.1
c-1.5,1.5-2.1,3.8-1.2,5.9c1.3,3,5.1,4.1,7.9,2.1C50.6,82.8,51.4,80.7,51,78.7z M46.5,81.2c-0.8,0.4-1.8,0-2.1-0.8
c-0.4-0.8,0-1.8,0.8-2.1c0.8-0.4,1.8,0,2.1,0.8C47.7,79.9,47.3,80.9,46.5,81.2z M47.2,62.8c4.8-10.9-0.4-17.8-0.4-17.8l-6,13.7
h-2.9v6.6L37.6,66H20.4V22.9H6.1V6.1h11.1H21c2.8,7.6,10.1,13.1,18.8,13.1c0.6,0,1.2,0,1.8-0.1V13c-0.6,0.1-1.2,0.1-1.8,0.1
c-6.6,0-12.1-4.6-13.5-10.8L25.6,0h-8.3H0v29.1h14.2v43.1h20.7l-1,2.4c-2.5-0.1-4.9,1.5-5.5,4.2c-0.4,2,0.4,4.1,2.1,5.3
c2.8,2,6.6,0.8,7.9-2.1c0.9-2.1,0.4-4.4-1.2-5.9l1.7-3.8C41.6,70.8,44.9,68,47.2,62.8z M35,80.4c-0.4,0.8-1.3,1.2-2.1,0.8
c-0.8-0.4-1.2-1.3-0.8-2.1c0.4-0.8,1.3-1.2,2.1-0.8C35,78.6,35.4,79.6,35,80.4z M41.5,29.3h-3.7v-5.9h3.7V29.3z M41.5,41.1h-3.7
v-5.9h3.7V41.1z M41.5,7.1h-3.7V1.2h3.7V7.1z M37.9,46.9h3.7v5.9h-3.7V46.9z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 67.8 72.1"
xml:space="preserve">
<style type="text/css">
.st0{fill:#181818;}
.st1{fill:#FDC477;}
.st2{fill:#F48F9B;}
.st3{fill:#5ACBF5;}
</style>
<path id="XMLID_477_" class="st0" d="M60.2,35.7H7.6v-8.6l60.3,0.2L58.1,0.1l-15.4,0l-0.4,3.3c-0.1,0.5-0.2,0.9-0.6,1.5
c-0.5,0.8-1.5,1.6-2.9,2.3c-1.4,0.7-3.3,1.1-5.6,1.1h-0.2h0c-3.1,0-5.5-0.8-7-1.9c-0.8-0.5-1.3-1.1-1.7-1.6c-0.4-0.5-0.5-1-0.6-1.5
L23.4,0L9.3,0L0.1,26.7h0h0v0L0,27.1h0.1v14.8v1.2v14.1v0.4v14.4h67.5V57.7v-0.4V43.1v-1.2V30h-7.5V35.7z M14.6,7.5l2.8,0
c0.2,0.5,0.5,1,0.8,1.5c1.4,2.1,3.5,3.8,6,5c2.5,1.2,5.5,1.8,8.7,1.8h0l0.2,0c4.3,0,8.2-1.1,11.1-3.1c1.5-1,2.7-2.2,3.7-3.6
c0.3-0.5,0.6-0.9,0.8-1.4l4.1,0l4.4,12.2l-46.8-0.1L14.6,7.5z M60.2,64.7H7.6v-7h52.6V64.7z M60.2,50.2H7.6v-7.1h52.6V50.2z"/>
<path id="XMLID_429_" class="st1" d="M60.2,64.7H7.6v-7h52.6V64.7z"/>
<path id="XMLID_348_" class="st2" d="M60.2,50.2H7.6v-7.1h52.6V50.2z"/>
<path id="XMLID_321_" class="st3" d="M60.2,35.7H7.6v-8.6h52.6V35.7z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20.6 22"
xml:space="preserve">
<style type="text/css">
.st0{fill:#5ACBF5;}
</style>
<path class="st0" d="M14.1,13.8h-2c1.8-0.6,3.1-2.2,3.1-4.2V4.5c0-2.5-2-4.5-4.5-4.5h-1C7.3,0,5.3,2,5.3,4.5v5.1
c0,2,1.3,3.7,3.1,4.2h-2c-3.6,0-6.5,2.9-6.5,6.5V22h10.3h10.3v-1.7C20.6,16.7,17.7,13.8,14.1,13.8 M8.6,4.5c0-0.7,0.5-1.2,1.2-1.2h1
c0.7,0,1.2,0.5,1.2,1.2v5.1c0,0.7-0.5,1.2-1.2,1.2h-1c-0.7,0-1.2-0.5-1.2-1.2V4.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 712 B

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 28.2 22"
xml:space="preserve">
<style type="text/css">
.st0{fill:#F48F9B;}
</style>
<path class="st0" d="M21.7,13.8h-2c1.8-0.6,3.1-2.2,3.1-4.2V4.5c0-2.5-2-4.5-4.5-4.5h-1C15,0,13,2,13,4.5v5.1c0,2,1.3,3.7,3.1,4.2
h-2c-3.6,0-6.5,2.9-6.5,6.5V22h10.3h10.3v-1.7C28.2,16.7,25.3,13.8,21.7,13.8 M16.2,4.5c0-0.7,0.5-1.2,1.2-1.2h1
c0.7,0,1.2,0.5,1.2,1.2v5.1c0,0.7-0.5,1.2-1.2,1.2h-1c-0.7,0-1.2-0.5-1.2-1.2V4.5z M9.7,11.9H0V8.6h3.2V4.9h3.3v3.7h3.2V11.9z
M3.2,13.1h3.3v2.1H3.2V13.1z"/>
</svg>

After

Width:  |  Height:  |  Size: 782 B

View File

@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="basic" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 260.7 60"
xml:space="preserve">
<style type="text/css">
.st0{fill:#5ACBF5;}
</style>
<path id="XMLID_158_" class="st0" d="M253.6,0H7.1C3.2,0,0,3.2,0,7.1v45.7C0,56.8,3.2,60,7.1,60h246.5c3.9,0,7.1-3.2,7.1-7.1V7.1
C260.7,3.2,257.5,0,253.6,0 M256.5,52.9c0,1.6-1.3,2.9-2.9,2.9H7.1c-1.6,0-2.9-1.3-2.9-2.9V7.1c0-1.6,1.3-2.9,2.9-2.9h246.5
c1.6,0,2.9,1.3,2.9,2.9V52.9z M53.7,39.3c-0.8,0-1.7-0.1-2.5-0.2c-0.9-0.1-1.6-0.3-2.3-0.6c-0.3-0.1-0.5-0.2-0.6-0.3
c-0.1-0.1-0.1-0.3-0.1-0.6v-1.4c0-0.2,0-0.3,0.1-0.4c0.1-0.1,0.2-0.2,0.3-0.2c0.2,0,0.5,0.1,1,0.2c0.6,0.2,1.3,0.3,2.1,0.4
c0.8,0.1,1.5,0.2,2.1,0.2c1.3,0,2.3-0.2,3.1-0.7c0.7-0.5,1.1-1.2,1.1-2.1c0-0.6-0.2-1.2-0.6-1.6c-0.4-0.4-1.2-0.8-2.3-1.2l-2.5-1
c-1.6-0.6-2.7-1.3-3.4-2.1c-0.7-0.8-1.1-1.9-1.1-3.1c0-1.7,0.6-3.1,1.8-4.1c1.2-1,2.9-1.5,4.9-1.5c1.4,0,2.9,0.2,4.5,0.7
c0.3,0.1,0.5,0.2,0.6,0.3c0.1,0.1,0.1,0.3,0.1,0.6V22c0,0.2,0,0.3-0.1,0.4c-0.1,0.1-0.2,0.2-0.3,0.2c-0.2,0-0.5-0.1-1-0.2
c-1.3-0.3-2.5-0.5-3.6-0.5c-2.5,0-3.7,0.8-3.7,2.5c0,0.6,0.2,1.2,0.7,1.6c0.4,0.4,1.2,0.8,2.4,1.2l2.4,0.9c1.6,0.6,2.7,1.3,3.4,2.1
c0.7,0.8,1.1,1.9,1.1,3.1c0,1.9-0.7,3.4-2,4.4C57.8,38.7,56,39.3,53.7,39.3 M69.4,39c-1.5,0-2.6-0.3-3.3-1c-0.7-0.7-1.1-1.7-1.1-3.2
v-7.7h-1.8c-0.4,0-0.6-0.2-0.6-0.6v-0.8c0-0.2,0-0.4,0.1-0.5c0.1-0.1,0.2-0.2,0.4-0.2l1.9-0.3l0.4-3.4c0-0.2,0.1-0.4,0.2-0.5
c0.1-0.1,0.3-0.1,0.5-0.1h1.5c0.4,0,0.6,0.2,0.6,0.6v3.3h3.4c0.4,0,0.6,0.2,0.6,0.6v1.3c0,0.4-0.2,0.6-0.6,0.6h-3.4v7.6
c0,0.6,0.2,1.1,0.5,1.4c0.3,0.3,0.8,0.4,1.6,0.4c0.4,0,0.8,0,1-0.1c0.3-0.1,0.5-0.1,0.6-0.1c0.3,0,0.5,0.2,0.5,0.5v1
c0,0.3-0.1,0.5-0.2,0.6c-0.1,0.1-0.3,0.2-0.6,0.3C71,38.9,70.2,39,69.4,39 M78.4,39.2c-1.3,0-2.4-0.4-3.2-1.2S74,36.2,74,35
c0-1.4,0.5-2.5,1.5-3.3c1-0.8,2.3-1.2,4-1.2c1,0,2.1,0.1,3.2,0.4v-1.7c0-1-0.2-1.6-0.6-2c-0.4-0.4-1.1-0.6-2.2-0.6
c-0.6,0-1.3,0.1-2,0.2c-0.7,0.1-1.5,0.3-2.1,0.5c-0.2,0.1-0.3,0.1-0.5,0.1c-0.2,0-0.4-0.2-0.4-0.5v-1c0-0.3,0-0.4,0.1-0.6
c0.1-0.1,0.3-0.2,0.6-0.4c1.5-0.6,3.1-0.8,4.8-0.8c1.8,0,3.2,0.4,4,1.1c0.9,0.7,1.3,1.9,1.3,3.5v9.4c0,0.4-0.2,0.6-0.6,0.6h-1.5
c-0.4,0-0.6-0.2-0.7-0.6l-0.1-0.8c-0.7,0.6-1.4,1-2.2,1.3C80,39.1,79.2,39.2,78.4,39.2 M79.3,36.9c0.5,0,1.1-0.1,1.7-0.3
c0.6-0.2,1.2-0.6,1.7-1v-2.7c-1-0.2-1.9-0.3-2.6-0.3c-1.9,0-2.9,0.8-2.9,2.3c0,0.7,0.2,1.2,0.6,1.5C78.1,36.7,78.7,36.9,79.3,36.9
M90.1,38.8c-0.4,0-0.6-0.2-0.6-0.6v-13c0-0.4,0.2-0.6,0.6-0.6h1.5c0.3,0,0.4,0,0.5,0.1c0.1,0.1,0.2,0.2,0.2,0.4l0.3,1.6
c0.7-0.8,1.4-1.4,2.1-1.7c0.7-0.3,1.4-0.5,2.1-0.5h0.1c0.2,0,0.4,0,0.6,0.1c0.2,0,0.3,0.1,0.3,0.2c0.1,0.1,0.1,0.3,0.1,0.6v1.5
c0,0.4-0.2,0.6-0.5,0.6c-0.1,0-0.3,0-0.5,0c-0.2,0-0.4,0-0.6,0c-1.4,0-2.6,0.4-3.7,1.1v9.7c0,0.4-0.2,0.6-0.6,0.6H90.1z M106.1,39
c-1.5,0-2.6-0.3-3.3-1c-0.7-0.7-1.1-1.7-1.1-3.2v-7.7h-1.8c-0.4,0-0.6-0.2-0.6-0.6v-0.8c0-0.2,0-0.4,0.1-0.5
c0.1-0.1,0.2-0.2,0.4-0.2l1.9-0.3l0.4-3.4c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.3-0.1,0.5-0.1h1.5c0.4,0,0.6,0.2,0.6,0.6v3.3h3.4
c0.4,0,0.6,0.2,0.6,0.6v1.3c0,0.4-0.2,0.6-0.6,0.6H105v7.6c0,0.6,0.2,1.1,0.5,1.4c0.3,0.3,0.8,0.4,1.6,0.4c0.4,0,0.8,0,1-0.1
c0.3-0.1,0.5-0.1,0.6-0.1c0.3,0,0.5,0.2,0.5,0.5v1c0,0.3-0.1,0.5-0.2,0.6c-0.1,0.1-0.3,0.2-0.6,0.3C107.7,38.9,106.9,39,106.1,39
M119.5,38.8c-0.4,0-0.6-0.2-0.6-0.6V20c0-0.4,0.2-0.6,0.6-0.6h6c2.9,0,5.1,0.8,6.6,2.5c1.5,1.7,2.3,4.1,2.3,7.2
c0,3.1-0.8,5.5-2.3,7.2c-1.5,1.7-3.7,2.5-6.6,2.5H119.5z M122.3,36.1h2.8c3.9,0,5.8-2.2,5.8-6.7v-0.6c0-4.5-1.9-6.7-5.8-6.7h-2.8
V36.1z M144.1,39.2c-2.4,0-4.1-0.6-5.3-1.9c-1.2-1.3-1.8-3.1-1.8-5.5c0-2.4,0.6-4.3,1.8-5.6c1.2-1.3,2.8-2,5-2
c1.8,0,3.2,0.5,4.2,1.5c1,1,1.5,2.4,1.5,4.2c0,0.6,0,1.3-0.1,2c0,0.2-0.1,0.4-0.2,0.5c-0.1,0.1-0.2,0.1-0.4,0.1H140
c0.1,1.4,0.5,2.5,1.2,3.1c0.7,0.7,1.9,1,3.4,1c1.1,0,2.3-0.2,3.5-0.5c0.1,0,0.3-0.1,0.3-0.1c0.1,0,0.1,0,0.2,0
c0.3,0,0.4,0.2,0.4,0.6v1c0,0.3,0,0.5-0.1,0.6c-0.1,0.1-0.3,0.2-0.6,0.4C147.1,39,145.7,39.2,144.1,39.2 M146.4,30.3V30
c0-1.1-0.2-2-0.7-2.6c-0.5-0.6-1.2-0.9-2.2-0.9c-1,0-1.8,0.3-2.5,1c-0.6,0.7-1,1.6-1.1,2.7H146.4z M156.1,39.2
c-1.5,0-2.8-0.2-4.1-0.7c-0.3-0.1-0.5-0.2-0.6-0.4c-0.1-0.1-0.1-0.3-0.1-0.6v-1c0-0.4,0.1-0.6,0.4-0.6c0.1,0,0.4,0.1,0.8,0.2
c1.3,0.4,2.5,0.6,3.6,0.6c0.9,0,1.6-0.1,2-0.4c0.4-0.3,0.6-0.7,0.6-1.3c0-0.4-0.1-0.7-0.4-1c-0.3-0.3-0.7-0.5-1.5-0.8l-2.3-0.9
c-2.1-0.8-3.1-2.1-3.1-3.9c0-1.3,0.5-2.3,1.5-3.1c1-0.8,2.3-1.1,3.9-1.1c1.2,0,2.3,0.2,3.5,0.6c0.3,0.1,0.5,0.2,0.6,0.3
c0.1,0.1,0.1,0.3,0.1,0.6v1c0,0.2,0,0.4-0.1,0.4c-0.1,0.1-0.2,0.1-0.3,0.1c-0.1,0-0.3,0-0.7-0.1c-1.2-0.3-2.1-0.4-2.9-0.4
c-0.9,0-1.5,0.1-1.9,0.4c-0.4,0.3-0.6,0.6-0.6,1.2c0,0.4,0.1,0.7,0.4,1c0.3,0.3,0.8,0.5,1.6,0.8l2.2,0.8c1.1,0.4,1.9,0.9,2.4,1.5
c0.5,0.6,0.7,1.4,0.7,2.3c0,1.4-0.5,2.5-1.5,3.3C159.2,38.8,157.8,39.2,156.1,39.2 M166,22.2c-0.6,0-1.1-0.2-1.5-0.5
c-0.4-0.3-0.5-0.8-0.5-1.4c0-0.6,0.2-1.1,0.5-1.4c0.4-0.3,0.8-0.5,1.5-0.5c0.6,0,1.1,0.2,1.5,0.5c0.4,0.3,0.5,0.8,0.5,1.4
c0,0.6-0.2,1.1-0.5,1.4C167.1,22,166.6,22.2,166,22.2 M165,38.8c-0.4,0-0.6-0.2-0.6-0.6v-13c0-0.4,0.2-0.6,0.6-0.6h2.1
c0.4,0,0.6,0.2,0.6,0.6v13c0,0.4-0.2,0.6-0.6,0.6H165z M176.8,44.9c-1.4,0-2.8-0.3-4.2-0.8c-0.3-0.1-0.5-0.2-0.6-0.4
c-0.1-0.1-0.1-0.3-0.1-0.6V42c0-0.4,0.1-0.5,0.4-0.5c0.1,0,0.2,0,0.2,0c0.1,0,0.3,0.1,0.5,0.2c1.2,0.4,2.4,0.6,3.5,0.6
c1.4,0,2.4-0.3,3.1-1c0.6-0.6,1-1.7,1-3.2v-1.2c-1.2,1-2.6,1.6-4.1,1.6c-1.7,0-3.1-0.6-4.2-1.9c-1-1.3-1.6-3-1.6-5.2
c0-1.5,0.2-2.8,0.7-3.9c0.5-1.1,1.2-1.9,2.1-2.5c0.9-0.6,1.9-0.9,3-0.9c1.6,0,3,0.6,4.2,1.7l0.2-0.7c0.1-0.4,0.3-0.6,0.7-0.6h1.5
c0.4,0,0.6,0.2,0.6,0.6v12.7c0,2.3-0.6,4-1.8,5.2C180.8,44.3,179.1,44.9,176.8,44.9 M177.5,36c1.1,0,2.1-0.4,3.1-1.1v-7.2
c-1-0.7-2-1-3.1-1c-1.1,0-2,0.4-2.5,1.1c-0.6,0.7-0.8,1.9-0.8,3.4C174.1,34.4,175.3,36,177.5,36 M188.2,38.8c-0.4,0-0.6-0.2-0.6-0.6
v-13c0-0.4,0.2-0.6,0.6-0.6h1.5c0.3,0,0.4,0,0.5,0.1c0.1,0.1,0.2,0.2,0.2,0.4l0.2,1c1.8-1.3,3.6-2,5.5-2c1.4,0,2.4,0.4,3.1,1.1
c0.7,0.7,1.1,1.8,1.1,3.1v9.9c0,0.4-0.2,0.6-0.6,0.6h-2.1c-0.4,0-0.6-0.2-0.6-0.6v-8.8c0-0.9-0.2-1.6-0.6-2c-0.4-0.4-1-0.6-1.8-0.6
c-1.2,0-2.5,0.4-3.8,1.2v10.2c0,0.4-0.2,0.6-0.6,0.6H188.2z M205.8,22.2c-0.6,0-1.1-0.2-1.5-0.5c-0.4-0.3-0.5-0.8-0.5-1.4
c0-0.6,0.2-1.1,0.5-1.4c0.4-0.3,0.8-0.5,1.5-0.5c0.6,0,1.1,0.2,1.5,0.5c0.4,0.3,0.5,0.8,0.5,1.4c0,0.6-0.2,1.1-0.5,1.4
C206.9,22,206.4,22.2,205.8,22.2 M204.7,38.8c-0.4,0-0.6-0.2-0.6-0.6v-13c0-0.4,0.2-0.6,0.6-0.6h2.1c0.4,0,0.6,0.2,0.6,0.6v13
c0,0.4-0.2,0.6-0.6,0.6H204.7z M211.9,38.8c-0.4,0-0.6-0.2-0.6-0.6v-13c0-0.4,0.2-0.6,0.6-0.6h1.5c0.3,0,0.4,0,0.5,0.1
c0.1,0.1,0.2,0.2,0.2,0.4l0.2,1c1.8-1.3,3.6-2,5.5-2c1.4,0,2.4,0.4,3.1,1.1c0.7,0.7,1.1,1.8,1.1,3.1v9.9c0,0.4-0.2,0.6-0.6,0.6h-2.1
c-0.4,0-0.6-0.2-0.6-0.6v-8.8c0-0.9-0.2-1.6-0.6-2c-0.4-0.4-1-0.6-1.8-0.6c-1.2,0-2.5,0.4-3.8,1.2v10.2c0,0.4-0.2,0.6-0.6,0.6H211.9
z M233,44.9c-1.4,0-2.8-0.3-4.2-0.8c-0.3-0.1-0.5-0.2-0.6-0.4c-0.1-0.1-0.1-0.3-0.1-0.6V42c0-0.4,0.1-0.5,0.4-0.5c0.1,0,0.2,0,0.2,0
c0.1,0,0.3,0.1,0.5,0.2c1.2,0.4,2.4,0.6,3.5,0.6c1.4,0,2.4-0.3,3.1-1c0.6-0.6,1-1.7,1-3.2v-1.2c-1.2,1-2.6,1.6-4.1,1.6
c-1.7,0-3.1-0.6-4.2-1.9c-1-1.3-1.6-3-1.6-5.2c0-1.5,0.2-2.8,0.7-3.9c0.5-1.1,1.2-1.9,2.1-2.5c0.9-0.6,1.9-0.9,3-0.9
c1.6,0,3,0.6,4.2,1.7l0.2-0.7c0.1-0.4,0.3-0.6,0.7-0.6h1.5c0.4,0,0.6,0.2,0.6,0.6v12.7c0,2.3-0.6,4-1.8,5.2
C237,44.3,235.3,44.9,233,44.9 M233.7,36c1.1,0,2.1-0.4,3.1-1.1v-7.2c-1-0.7-2-1-3.1-1c-1.1,0-2,0.4-2.5,1.1
c-0.6,0.7-0.8,1.9-0.8,3.4C230.3,34.4,231.4,36,233.7,36 M33.9,19.8h4.9V28h-5.9v-1.7h4.2v-4.7h-3.2h-1c-0.8,2.2-2.9,3.7-5.3,3.7
c-2.4,0-4.5-1.6-5.3-3.7h-1h-3.2v4.7h4v12.2h11v-8.9h1.7v10.7H20.4V28h-4v-8.2h4.9h2.4l0.2,0.7c0.4,1.7,2,3,3.8,3
c1.9,0,3.4-1.3,3.8-3l0.2-0.7H33.9z"/>
</svg>

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB

BIN
public/images/logo.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

0
public/images/merchbay-black.png Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

0
public/images/merchbay-white.png Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 KiB

176
readme.md
View File

@@ -1,171 +1,23 @@
# MerchBay ## Laravel PHP Framework
A custom merchandise and apparel design platform built with Laravel 5.0, enabling users to create, customize, and order personalized products. [![Build Status](https://travis-ci.org/laravel/framework.svg)](https://travis-ci.org/laravel/framework)
[![Total Downloads](https://poser.pugx.org/laravel/framework/downloads.svg)](https://packagist.org/packages/laravel/framework)
[![Latest Stable Version](https://poser.pugx.org/laravel/framework/v/stable.svg)](https://packagist.org/packages/laravel/framework)
[![Latest Unstable Version](https://poser.pugx.org/laravel/framework/v/unstable.svg)](https://packagist.org/packages/laravel/framework)
[![License](https://poser.pugx.org/laravel/framework/license.svg)](https://packagist.org/packages/laravel/framework)
## 🚀 Tech Stack Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, queueing, and caching.
- **Framework:** Laravel 5.0 Laravel is accessible, yet powerful, providing powerful tools needed for large, robust applications. A superb inversion of control container, expressive migration system, and tightly integrated unit testing support give you the tools you need to build any application with which you are tasked.
- **PHP:** 7.0 with native mcrypt support
- **Web Server:** Apache 2.4
- **Database:** MySQL
- **Container:** Docker with Apache
- **Reverse Proxy:** Traefik (for SSL/TLS and routing)
## 📋 Prerequisites ## Official Documentation
- Docker and Docker Compose Documentation for the framework can be found on the [Laravel website](http://laravel.com/docs).
- Git
- Access to deployment server (for production/dev deployments)
## 🛠️ Local Development ## Contributing
### Building the Docker Image Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](http://laravel.com/docs/contributions).
```bash ### License
docker build -t merchbay:dev .
```
### Running Locally The Laravel framework is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT)
```bash
# Create .env file from example
cp .env.example .env
# Update .env with your local configuration
# Set database credentials, mail settings, etc.
# Run with docker-compose (customize docker-compose.yml for local setup)
docker-compose up -d
```
### Environment Variables
The following environment variables are required:
#### Database Configuration
- `DB_HOST` - Database host
- `DB_PORT` - Database port (default: 3306)
- `DB_DATABASE` - Database name
- `DB_USERNAME` - Database username
- `DB_PASSWORD` - Database password
#### Application URLs
- `APP_URL` - Application base URL
- `PROD_PRIVATE` - Production private server URL
- `IMAGES_URL` - Images server URL
- `UPLOAD_URL` - Upload directory URL
#### Mail Configuration
- `MAIL_DRIVER` - Mail driver (smtp)
- `MAIL_HOST` - SMTP host
- `MAIL_PORT` - SMTP port
- `MAIL_USERNAME` - SMTP username
- `MAIL_PASSWORD` - SMTP password
- `MAIL_ENCRYPTION` - Encryption type (tls/ssl)
#### Third-Party Services
- `CAPTCHA_SITE_KEY` - reCAPTCHA site key
- `CAPTCHA_SECRET_KEY` - reCAPTCHA secret key
- `ANALYTICS_SITE_ID` - Google Analytics site ID
- `ANALYTICS_CLIENT_ID` - Google Analytics client ID
- `ANALYTICS_SERVICE_EMAIL` - Google Analytics service email
## 🚢 Deployment
### Automated CI/CD with Gitea Actions
This project includes automated deployment workflows using Gitea Actions:
#### Development Deployment
Push to the `dev` branch to automatically deploy to dev environment:
```bash
git push origin dev
```
- Deploys to: `https://dev.merchbay.app`
#### Production Deployment
Push to the `main` or `master` branch to automatically deploy to production:
```bash
git push origin main
```
- Deploys to: `https://merchbay.app`
#### Docker Registry
Create version tags to build and push to Docker registry:
```bash
git tag -a v1.0.0 -m "Release v1.0.0"
git push origin v1.0.0
```
### Workflow Files
- `.gitea/workflows/deploy-dev.yml` - Development deployment
- `.gitea/workflows/deploy.yml` - Production deployment
- `.gitea/workflows/build-push.yml` - Docker image build and push
## 📁 Project Structure
```
merchbay/
├── app/ # Application core
│ ├── Http/ # Controllers, middleware, routes
│ ├── Models/ # Database models
│ └── Services/ # Business logic services
├── config/ # Configuration files
├── database/ # Migrations and seeds
├── public/ # Public assets (images, CSS, JS)
├── resources/ # Views and frontend assets
├── storage/ # Application storage
├── docker-compose.yml # Docker compose configuration
├── Dockerfile # Docker image definition
└── docker-entrypoint.sh # Container startup script
```
## 🔧 Development Notes
### Storage Permissions
The Docker entrypoint automatically creates and sets proper permissions for:
- `storage/framework/views`
- `storage/framework/cache`
- `storage/framework/sessions`
- `storage/logs`
- `bootstrap/cache`
### PHP Extensions
The following PHP extensions are installed:
- pdo_mysql
- mbstring
- exif
- pcntl
- bcmath
- mcrypt (native in PHP 7.0)
- tokenizer
- zip
- gd (with freetype and jpeg support)
## 🐛 Troubleshooting
### 500 Internal Server Error
1. Check container logs: `docker logs merchbay_app`
2. Verify storage permissions are set correctly
3. Ensure all environment variables are configured in `.env`
4. Check database connectivity
### Storage Permission Issues
The entrypoint script automatically fixes permissions on container start. If issues persist:
```bash
docker exec merchbay_app chown -R www-data:www-data storage bootstrap/cache
docker exec merchbay_app chmod -R 775 storage bootstrap/cache
```
## 📄 License
Proprietary - All rights reserved
## 🤝 Support
For support and questions, contact the development team.

View File

@@ -1,7 +1,7 @@
@extends('merchbay_main') @extends('merchbay_main')
@section('main-content') @section('main-content')
<style> {{-- <style>
.error { .error {
color: red; color: red;
} }
@@ -28,7 +28,6 @@
<div class="mb-3"> <div class="mb-3">
<label for="exampleInputEmail1" class="form-label">Email address</label> <label for="exampleInputEmail1" class="form-label">Email address</label>
<input type="email" class="form-control" name="email" value="{{ old('email') }}" title="Please enter your email address" placeholder="example@gmail.com"> <input type="email" class="form-control" name="email" value="{{ old('email') }}" title="Please enter your email address" placeholder="example@gmail.com">
<!-- <div id="emailHelp" class="form-text">We'll never share your email with anyone else.</div> -->
</div> </div>
<div class="mb-3"> <div class="mb-3">
<label for="exampleInputPassword1" class="form-label">Password</label> <label for="exampleInputPassword1" class="form-label">Password</label>
@@ -51,5 +50,72 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div> --}}
<section class="login">
<div class="container-fluid">
<div class="row align-items-center">
<div class="col-lg-6">
<div class="row gx-5 justify-content-center align-items-center">
<div class="col-lg-8 text-start">
<h3>Sign to start creating custom merch</h3>
<!-- <div class="horizontal-divider bg-yellow"></div> -->
<p>
<router-link to="/create-account">Create a free account</router-link>
or login to start designing
</p>
</div>
<div class="col-lg-8 mt-5">
<div id="login-response-msg"></div>
<form role="form" id="frm-login">
<input type="hidden" name="redirect" value="{{ Request::get('redirectUrl') }}">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<div class="mb-3">
<input
type="text"
class="form-control form-control-lg contact-input-custom"
placeholder="Username*"
name="email" value="{{ old('email') }}"
required
/>
</div>
<div class="mb-3">
<input
type="password"
name="password"
class="form-control form-control-lg contact-input-custom"
required
placeholder="Password*"
/>
</div>
<!-- <div class="mb-3">
<input
type="text"
class="form-control form-control-lg contact-input-custom"
id="exampleFormControlInput1"
placeholder="Phone Number*"
/>
</div>
<div class="mb-3">
<textarea
class="form-control form-control-lg contact-input-custom"
required
rows="5"
placeholder="What can we help you with?"
></textarea>
</div> -->
<div class="mb-3">
<button class="btn btn-lg btn-contact w-100">Submit</button>
</div>
</form>
</div>
</div>
</div>
<div class="col login-page-right"></div>
</div>
</div>
</section>
@endsection @endsection

View File

@@ -1,6 +1,6 @@
@extends('merchbay_main') @extends('merchbay_main')
@section('main-content') @section('main-content')
<style> {{-- <style>
.error { .error {
color: red; color: red;
} }
@@ -128,5 +128,74 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div> --}}
<section class="login">
<div class="container-fluid">
<div class="row align-items-center">
<div class="col-lg-6">
<div class="row gx-5 justify-content-center align-items-center">
<div class="col-lg-8 text-start">
<h3>Create free account and start designing merch.</h3>
<!-- <div class="horizontal-divider bg-yellow"></div> -->
</div>
<div class="col-lg-8 mt-5">
<form action="">
<div class="mb-3">
<input
type="text"
class="form-control form-control-lg contact-input-custom"
placeholder="Email Address*"
required
/>
</div>
<div class="mb-3">
<input
type="password"
class="form-control form-control-lg contact-input-custom"
required
placeholder="Password*"
/>
</div>
<div class="mb-3">
<input
type="password"
class="form-control form-control-lg contact-input-custom"
required
placeholder="Confirm Password*"
/>
</div>
<!-- <div class="mb-3">
<input
type="text"
class="form-control form-control-lg contact-input-custom"
id="exampleFormControlInput1"
placeholder="Phone Number*"
/>
</div>
<div class="mb-3">
<textarea
class="form-control form-control-lg contact-input-custom"
required
rows="5"
placeholder="What can we help you with?"
></textarea>
</div> -->
<div class="mb-3">
<button class="btn btn-lg btn-contact w-100">Submit</button>
</div>
<p class="text-start">
Already have an account?
<a href="{{ url('./auth/login') }}">Login</a>
</p>
</form>
</div>
</div>
</div>
<div class="col login-page-right"></div>
</div>
</div>
</section>
@endsection @endsection

0
resources/views/designer/vue_designer.blade.php Executable file → Normal file
View File

0
resources/views/emails/contact_us.blade.php Executable file → Normal file
View File

View File

@@ -540,13 +540,6 @@
<td><b>Price</b></td> <td><b>Price</b></td>
<td><b>Quantity</b></td> <td><b>Quantity</b></td>
</tr> </tr>
@elseif($item->FormUsed == 'number-size-form')
<tr>
<td><b>Number</b></td>
<td><b>Size</b></td>
<td><b>Price</b></td>
<td><b>Quantity</b></td>
</tr>
@else @else
@endif @endif
<!-- table header --> <!-- table header -->
@@ -673,17 +666,6 @@
<td>{{ $sub_item->Quantity }} <td>{{ $sub_item->Quantity }}
</td> </td>
</tr> </tr>
@elseif($item->FormUsed == 'number-size-form')
<tr>
<td>{{ $sub_item->Number }}
</td>
<td>{{ $sub_item->Size }}
</td>
<td>{{ $sub_item->Price }}
</td>
<td>{{ $sub_item->Quantity }}
</td>
</tr>
@else @else
@endif @endif
@endif @endif

0
resources/views/errors/404.blade.php Executable file → Normal file
View File

View File

@@ -174,15 +174,6 @@
<th>Quantity</th> <th>Quantity</th>
<th></th> <th></th>
</tr> </tr>
@elseif($item->FormUsed == 'number-size-form')
<tr>
<th>Number</th>
<th>Size</th>
<th>Price</th>
<th>Quantity</th>
<th></th>
</tr>
@else @else
@endif @endif
@@ -305,17 +296,6 @@
href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><i href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><i
class="fa fa-times"></i></a></td> class="fa fa-times"></i></a></td>
</tr> </tr>
@elseif($item->FormUsed == 'number-size-form')
<tr>
<td>{{ $sub_item->Number }}</td>
<td>{{ $sub_item->Size }}</td>
<td>{{ $sub_item->Price . ' ' . $store_array[0]->StoreCurrency }}
</td>
<td>{{ $sub_item->Quantity }}</td>
<td><a class="btn btn-xs btn-link pull-right"
href="{{ url('removeitem') }}/{{ $sub_item->Id }}"><i
class="fa fa-times"></i></a></td>
</tr>
@else @else
@endif @endif
@endif @endif

View File

@@ -1,31 +1,6 @@
<footer class="footer-bg py-3"> <footer>
<div class="container"> <div>
<div class="row h-100"> <i class="icon merchbay-icon"></i>
<div class="col-lg-7 align-self-center"> <p>2023 © Merchbay, Inc. All Rights Reserved</p>
<div class="copyright">Copyright &copy; {{ date('Y') }}, <b>MERCHBAY</b>. All right reserved.</div>
<ul class="footer-menu">
{{-- <li class="footer-menu-item">
<a href="#">About Us</a>
</li> --}}
<li class="footer-menu-item">
<a href="{{ url('contact-us') }}">Contact Us</a>
</li>
<li class="footer-menu-item">
<a href="{{ url('/terms-of-use') }}">Terms of Use</a>
</li>
<li class="footer-menu-item">
<a href="{{ url('/privacy-policy') }}">Privacy Policy</a>
</li>
</ul>
</div>
{{-- <div class="col-lg-5 align-self-center">
<div class="footer-socials-icons">
<img src="{{asset('public/images/socials/facebook-icon_42x42.png')}}" width="30" alt="" class="img-fluid mr-3">
<img src="{{asset('public/images/socials/instagram-icon_42x42.png')}}" width="30" alt="" class="img-fluid mr-3">
<img src="{{asset('public/images/socials/twitter-icon_42x42.png')}}" width="30" alt="" class="img-fluid mr-3">
</div>
</div> --}}
</div>
</div> </div>
</footer> </footer>

View File

@@ -1,205 +1,413 @@
@extends('merchbay_main') @extends('merchbay_main')
@section('main-content') @section('main-content')
<style> <!-- Header-->
.fishes { <header class="masthead text-center text-white">
position: relative; <div class="masthead-content">
top: 0; <div class="container px-5">
left: 0; <h1 class="masthead-heading mb-0">NO MINIMUMS | 100% CUSTOM</h1>
} <h2 class="masthead-subheading mb-0">CREATE MERCH FIT FOR YOU</h2>
<p class="my-3">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam
nonummy nibh euismod tincidunt ut laoreet dolore <br />
magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis
nostrud exerci tation ullamcorper suscipit lobortis nisl <br />
ut aliquip ex ea commodo consequat. Duis autem vel eum
</p>
.fish { <div class="mt-5">
position: absolute; <a href="{{ url('/stores')}}" class="btn btn-outline-primary btn-lg mx-3 px-3">
top: 60px; <i class="icon icon-catalog"></i>
left: 80px; Browse Product
} </a>
.carousel-item{
min-height: 350px;
height: 350px;
}
.carousel-item>a {
min-height: 350px;
height: 350px;
position: relative;
}
.carousel-item>a>img.blurred { <a class="btn btn-outline-primary btn-lg mx-3 px-3" href="{{ url('/templates')}}"
width: 100%; >Start Designing
height: 100%; </a>
object-fit: cover;
filter: blur(1rem);
}
.top-image {
position: absolute;
z-index: 1;
top: 50%;
right: 50%;
transform: translate(50%, -50%);
width: 100%;
}
.top-image>img {
width: 100%;
}
</style>
<div class="main__carousel">
<div class="">
<div class="row">
<div class="col-lg-12">
<div id="carouselExampleDark" class="carousel slide" data-bs-ride="carousel">
{{-- <div id="carouselExampleDark" class="carousel carousel-dark slide" data-bs-ride="carousel"> --}}
<ol class="carousel-indicators">
@foreach ($carousel_images as $key => $carousel)
@if ($key == 0)
<li data-bs-target="#carouselExampleDark" data-bs-slide-to="{{ $key }}"
class="active"></li>
@else
<li data-bs-target="#carouselExampleDark" data-bs-slide-to="{{ $key }}"></li>
@endif
@endforeach
{{-- <li data-bs-target="#carouselExampleDark" data-bs-slide-to="0" class="active"></li>
<li data-bs-target="#carouselExampleDark" data-bs-slide-to="1"></li> --}}
{{-- <li data-bs-target="#carouselExampleDark" data-bs-slide-to="2"></li>
<li data-bs-target="#carouselExampleDark" data-bs-slide-to="3"></li> --}}
</ol>
<div class="carousel-inner">
{{-- <div class="carousel-item active" data-bs-interval="10000"> --}}
@foreach ($carousel_images as $key => $carousel)
@if ($key == 0)
<div class="carousel-item active" data-bs-interval="10000">
<a href="{{ url('store') }}/{{ $carousel->StoreUrl }}">
<div class="top-image">
<img
src="{{ config('site_config.uploads') . 'teamstore/' . $carousel->ImageFolder . '/' . $carousel->StoreBanner }}" />
</div>
<img src="{{ config('site_config.uploads') . 'teamstore/' . $carousel->ImageFolder . '/' . $carousel->StoreBanner }}"
class="blurred" />
</a>
</div>
@else
<div class="carousel-item" data-bs-interval="10000">
<a href="{{ url('store') }}/{{ $carousel->StoreUrl }}">
<div class="top-image">
<img
src="{{ config('site_config.uploads') . 'teamstore/' . $carousel->ImageFolder . '/' . $carousel->StoreBanner }}" />
</div>
<img src="{{ config('site_config.uploads') . 'teamstore/' . $carousel->ImageFolder . '/' . $carousel->StoreBanner }}"
class="blurred" />
</a>
</div>
@endif
@endforeach
<!-- <div class="carousel-item" data-bs-interval="10000">
<img src="https://crewsportswear.app:5955/WIPCAPS.jpg" class="d-block w-100" alt="...">
</div> -->
<!-- <div class="carousel-item" data-bs-interval="10000">
<img src="https://crewsportswear.app:5955/NINONG.jpg" class="d-block w-100" alt="...">
</div> -->
{{-- <div class="carousel-item">
<a href="">
<img src="https://crewsportswear.app:5955/DRIVE.jpg" class="d-block w-100" alt="...">
</a>
</div> --}}
</div>
<a class="carousel-control-prev" href="#carouselExampleDark" role="button" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleDark" role="button" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</a>
</div>
</div>
</div>
</div> </div>
</div>
</div> </div>
<!-- <div class="bg-circle-1 bg-circle"></div>
<div class="bg-circle-2 bg-circle"></div>
<div class="bg-circle-3 bg-circle"></div>
<div class="bg-circle-4 bg-circle"></div> -->
</header>
<div class="main__content mt-5"> <section class="industries">
<div class="container"> <div class="container px-5">
<!-- Forms Search --> <div class="row gx-5 align-items-center">
<div class="row justify-content-md-center"> <div class="col-lg-12">
<div class="col-lg-8"> <h3>Industries We Serve</h3>
<form class="row g-2 g-lg-5"> <div class="horizontal-divider"></div>
<div class="col-lg-9">
<div class="input-group">
{{-- <input
type="text"
class="form-control border-end-0"
placeholder="Search Store"
aria-label="Search Store"
aria-describedby="basic-addon2"
/> --}}
<input type="text" class="form-control border-end-0" placeholder="Search Store"
value="{{ $keyword }}" name="q">
<input type="hidden" class="form-control border-end-0" placeholder="Search Store"
value="latest" name="s">
<button class="input-group-text bg-white border-start-0" id="basic-addon2"><i
class="fa fa-search"></i></button>
</div>
</div>
<div class="col-lg-3 added-or">
<a href="{{ url('templates') }}" type="submit" class="btn btn-black mb-3 w-100">
Design your own
</a>
</div>
</form>
</div>
</div>
@include('teamstore-sublayouts.stores') <div class="py-5">
<!-- First 12 Stores --> <ul class="horizontal-list">
<li>
<!-- Featured Products --> <i class="icon industries-team-uniform"></i>
<div class="row py-5"> <span>Team Uniforms</span>
<div class="col-lg-12"> </li>
<div class="text-center"> <li>
<h3>Featured Products</h3> <i class="icon industries-band"></i>
</div> <span>Band Merch</span>
</div> </li>
@foreach ($featured_products as $product) <li>
<div class="col-lg-2 col-md-3 col-6" v-for="index in 6" :key="index"> <i class="icon industries-school"></i>
<div class="text-center p-3"> <span>School Spiritwear</span>
<a href="{{ url('store') . '/' . $product->StoreUrl . '/product/' . $product->ProductURL }}"> </li>
<div class="store-logo"> <li>
<img src="{{ config('site_config.images_url') . '/' . $product->Image }}" <i class="icon industries-influencer"></i>
alt="{{ $product->ProductName }}" class="d-block border shadow-sm"> <span>Influencer Merch</span>
</div> </li>
<div class="store-name text-truncate">{{ $product->ProductName }}</div> <li>
</a> <i class="icon industries-streetwear"></i>
</div> <span>Streetwear/ Private Label</span>
</div> </li>
@endforeach <li>
<i class="icon industries-corporate"></i>
</div> <span>Corporate Apparel</span>
</li>
<!-- Add more items as needed -->
</ul>
</div>
</div> </div>
</div>
</div> </div>
</section>
<!-- calling designers --> <section class="parallax-section">
<div class="adbg"> <div class="container px-5">
<div class="row py-3"> <div class="row gx-5 align-items-center">
<div class="col-lg-8"> <div class="col-lg-12"></div>
<div class="p-5"> </div>
<h2> </div>
Calling all <span class="designer-text">Creators</span> </section>
</h2>
<p>
<a href="{{ url('auth/login') }}">Sign in</a> on Merchbay and share your creativity and expand
<br />your ideas. Click below button to know more.
</p>
<div class="pt-3"> <section class="services" id="services">
<a href="{{ url('/contact-us') }}" type="button" class="btn btn-black mb-3 px-5"> <div class="container px-5">
Learn more <div class="row gx-5 align-items-center">
</a> <div class="col-lg-12">
</div> <h3>Our Services</h3>
</div> <div class="horizontal-divider"></div>
</div>
<div class="py-5">
<ul class="horizontal-list gap-100">
<li>
<i class="icon services-sublimation"></i>
<span>Sublimation</span>
<p>No Minimums No Limits On Color Or Design Placement</p>
</li>
<li>
<i class="icon services-dtf"></i>
<span>Direct to Film</span>
<p>No Minimums No Color Limits No Screen Set Up Fees</p>
</li>
<li>
<i class="icon services-screen-print"></i>
<span>Screen Print</span>
<p>Traditonal Silk Screening Best For Larger Orders</p>
</li>
<li>
<i class="icon services-embroidery"></i>
<span>Embroidery</span>
<p>
Gives Your Garments A High End Finish Best On Polos, Hats, And
Outerwear
</p>
</li>
<li>
<i class="icon services-cutsaw"></i>
<span>Cut & Sew</span>
<p>
Gives Your Garments A High End Finish Best On Polos, Hats, And
Outerwear
</p>
</li>
<li>
<i class="icon services-fulfillment"></i>
<span>Fulfillment</span>
<p>
Let Us Handle The Entire Process From Capturing Orders to Drop
Shipping
</p>
</li>
<!-- Add more items as needed -->
</ul>
</div>
</div> </div>
</div>
</div> </div>
</section>
<section class="section-right-img">
<div class="container-fluid p-0 m-0">
<div class="row p-0 m-0 align-items-center">
<div class="col-lg-5 p-0 m-0">
<div class="uniforms-image">
<!-- <img
class="img-fluid"
src="../assets//images/custom-team-wear.jpg"
alt="..."
/> -->
</div>
</div>
<div class="col-lg-7">
<div class="p-5">
<h2 class="display-4">Uniforms and Team Wear</h2>
<div class="horizontal-divider m-0"></div>
<div class="section-content">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quod
aliquid, mollitia odio veniam sit iste esse assumenda amet
aperiam exercitationem, ea animi blanditiis recusandae! Ratione
voluptatum molestiae adipisci, beatae obcaecati.
</p>
<div class="pt-5">
<a class="btn btn-outline-primary btn-xl px-3" href="#scroll"
>Start Designing
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="section-left-img">
<div class="container-fluid p-0 m-0">
<div class="row p-0 m-0 align-items-center">
<div class="col-lg-5 p-0 m-0 order-lg-2">
<div class="band-image">
<!-- <img
class="img-fluid"
src="../assets//images/bandmerch.jpg"
alt="..."
/> -->
</div>
</div>
<div class="col-lg-7">
<div class="p-5 order-lg-1">
<h2 class="display-4">Band Merch</h2>
<div class="horizontal-divider m-0 bg-red"></div>
<div class="section-content">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quod
aliquid, mollitia odio veniam sit iste esse assumenda amet
aperiam exercitationem, ea animi blanditiis recusandae! Ratione
voluptatum molestiae adipisci, beatae obcaecati.
</p>
<div class="pt-5">
<a class="btn btn-outline-primary btn-xl px-3" href="#scroll"
>Start Designing
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="section-right-img">
<div class="container-fluid p-0 m-0">
<div class="row p-0 m-0 align-items-center">
<div class="col-lg-5 p-0 m-0">
<div class="spiritwear-image">
<!-- <img
class="img-fluid"
src="../assets//images/spiritwear.jpg"
alt="..."
/> -->
</div>
</div>
<div class="col-lg-7">
<div class="p-5">
<h2 class="display-4">School Spiritwear</h2>
<div class="horizontal-divider m-0 bg-yellow"></div>
<div class="section-content">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quod
aliquid, mollitia odio veniam sit iste esse assumenda amet
aperiam exercitationem, ea animi blanditiis recusandae! Ratione
voluptatum molestiae adipisci, beatae obcaecati.
</p>
<div class="pt-5">
<a class="btn btn-outline-primary btn-xl px-3" href="#scroll"
>Start Designing
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="section-left-img">
<div class="container-fluid p-0 m-0">
<div class="row p-0 m-0 align-items-center">
<div class="col-lg-5 p-0 m-0 order-lg-2">
<div class="influencer-image">
<!-- <img
class="img-fluid"
src="../assets//images/influencers.jpg"
alt="..."
/> -->
</div>
</div>
<div class="col-lg-7">
<div class="p-5 order-lg-1">
<h2 class="display-4">Influencer Merch</h2>
<div class="horizontal-divider m-0"></div>
<div class="section-content">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quod
aliquid, mollitia odio veniam sit iste esse assumenda amet
aperiam exercitationem, ea animi blanditiis recusandae! Ratione
voluptatum molestiae adipisci, beatae obcaecati.
</p>
<div class="pt-5">
<a class="btn btn-outline-primary btn-xl px-3" href="#scroll"
>Start Designing
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="section-right-img">
<div class="container-fluid p-0 m-0">
<div class="row p-0 m-0 align-items-center">
<div class="col-lg-5 p-0 m-0">
<div class="streetwear-image">
<!-- <img
class="img-fluid"
src="../assets//images/streetwear.jpg"
alt="..."
/> -->
</div>
</div>
<div class="col-lg-7">
<div class="p-5">
<h2 class="display-4">Streetwear/Private Label</h2>
<div class="horizontal-divider m-0 bg-red"></div>
<div class="section-content">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quod
aliquid, mollitia odio veniam sit iste esse assumenda amet
aperiam exercitationem, ea animi blanditiis recusandae! Ratione
voluptatum molestiae adipisci, beatae obcaecati.
</p>
<div class="pt-5">
<a class="btn btn-outline-primary btn-xl px-3" href="#scroll"
>Start Designing
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="section-left-img">
<div class="container-fluid p-0 m-0">
<div class="row p-0 m-0 align-items-center">
<div class="col-lg-5 p-0 m-0 order-lg-2">
<div class="corportate-image"></div>
<!-- <div class="">
<img
class="img-fluid"
src="../assets//images/corporatewear.jpg"
alt="..."
/>
</div> -->
</div>
<div class="col-lg-7">
<div class="p-5 order-lg-1">
<h2 class="display-4">Corporate Apparel</h2>
<div class="horizontal-divider m-0 bg-red"></div>
<div class="section-content">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quod
aliquid, mollitia odio veniam sit iste esse assumenda amet
aperiam exercitationem, ea animi blanditiis recusandae! Ratione
voluptatum molestiae adipisci, beatae obcaecati.
</p>
<div class="pt-5">
<a class="btn btn-outline-primary btn-xl px-3" href="#scroll"
>Start Designing
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="contact-us" id="contact">
<div class="container px-5">
<div class="row gx-5 justify-content-center align-items-center">
<div class="col-lg-12">
<h3>Get In Touch</h3>
<div class="horizontal-divider bg-yellow"></div>
</div>
<div class="col-lg-6 mt-5">
<form action="">
<div class="mb-3">
<input
type="text"
class="form-control form-control-lg contact-input-custom"
placeholder="Fullname*"
required
/>
</div>
<div class="mb-3">
<input
type="email"
class="form-control form-control-lg contact-input-custom"
required
placeholder="Email Address*"
/>
</div>
<div class="mb-3">
<input
type="text"
class="form-control form-control-lg contact-input-custom"
id="exampleFormControlInput1"
placeholder="Phone Number*"
/>
</div>
<div class="mb-3">
<textarea
class="form-control form-control-lg contact-input-custom"
required
rows="5"
placeholder="What can we help you with?"
></textarea>
</div>
<div class="mb-3">
<button class="btn btn-lg btn-contact w-100">Submit</button>
</div>
</form>
</div>
</div>
</div>
</section>
@endsection @endsection

View File

@@ -1,17 +1,14 @@
<nav class="navbar navbar-expand-lg bg-black"> {{-- <nav class="navbar navbar-expand-lg bg-black">
<div class="container"> <div class="container">
<a class="navbar-brand text-white" href="/"> <a class="navbar-brand text-white" href="/">
<span>M</span>erchbay <span>M</span>erchbay
{{-- <img src="{{asset('/public/images/merchbay-white.png')}}" class="img-fluid" alt="logo"> --}}
</a> </a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarMainToggler" aria-controls="navbarMainToggler" aria-expanded="false" aria-label="Toggle navigation"> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarMainToggler" aria-controls="navbarMainToggler" aria-expanded="false" aria-label="Toggle navigation">
<i class="bi bi-list text-white"></i> <i class="bi bi-list text-white"></i>
</button> </button>
<div class="collapse navbar-collapse justify-content-end" id="navbarMainToggler" v-if="hasMenu"> <div class="collapse navbar-collapse justify-content-end" id="navbarMainToggler" v-if="hasMenu">
<ul class="navbar-nav ml-auto mb-2 mb-lg-0"> <ul class="navbar-nav ml-auto mb-2 mb-lg-0">
<!-- <li class="d-inline d-lg-none">
<button data-toggle="collapse" data-target="#navbarMainToggler" class="close float-end" aria-expanded="true">×</button>
</li> -->
<li class="nav-item text-center d-md-none d-block"> <li class="nav-item text-center d-md-none d-block">
<h5>Menu</h5> <h5>Menu</h5>
</li> </li>
@@ -49,10 +46,115 @@
<a href="{{ url('cart') }}" type="button" class="nav-link btn btn-navbar-cart btn-sm"> <a href="{{ url('cart') }}" type="button" class="nav-link btn btn-navbar-cart btn-sm">
<i class="fa fa-shopping-cart"></i> <i class="fa fa-shopping-cart"></i>
<span class="badge bg-secondary">{{ \App\Http\Controllers\MainController::getCountCart() }}</span> <span class="badge bg-secondary">{{ \App\Http\Controllers\MainController::getCountCart() }}</span>
{{-- <span class="visually-hidden">unread messages</span> --}}
</a> </a>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
</nav> </nav> --}}
<nav class="navbar navbar-expand-lg navbar-dark navbar-custom fixed-top">
<div class="container px-5">
<a href="/" class="navbar-brand">
<img src="{{ asset('/public/images/logo.png') }}" alt="logo" height="36px" />
</a>
<!-- <a class="navbar-brand" href="#page-top">
</a> -->
<button
class="navbar-toggler"
type="button"
data-bs-toggle="collapse"
data-bs-target="#navbarResponsive"
aria-controls="navbarResponsive"
aria-expanded="false"
aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="#services"> Services </a>
</li>
<li class="nav-item">
<a class="nav-link" href="#contact"> Contact Us</a>
</li>
</ul>
<ul class="navbar-nav ms-auto">
@if (Auth::guest())
<li class="nav-item">
<a class="nav-link" href="{{ url('./auth/register') }}">
<i class="icon icon-sign-up"></i> Sign Up
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ url('./auth/login') }}">
<i class="icon icon-sign-in"></i>
Log In
</a>
</li>
@else
@if(Auth::user()->role == "admin")
<li class="nav-item">
<a class="nav-link" href="{{ url('./auth/admin') }}">
{{-- <i class="icon icon-sign-in"></i> --}}
Dashboard
</a>
</li>
@elseif(Auth::user()->role == "store_owner")
<li class="nav-item">
{{-- <a href="{{ url('user') }}" class="nav-link btn btn-white-outline btn-sm text-uppercase mx-1">Dashboard</a> --}}
<a class="nav-link" href="{{ url('./auth/user') }}">
{{-- <i class="icon icon-sign-in"></i> --}}
Dashboard
</a>
</li>
@else
<li class="nav-item">
<a class="nav-link" href="{{ url('./auth/user') }}">
{{-- <i class="icon icon-sign-in"></i> --}}
Dashboard
</a>
</li>
@endif
<li class="nav-item">
{{-- <a href="{{ url('./auth/logout') }}" class="nav-link btn btn-white-outline btn-sm text-uppercase mx-1">Logout</a> --}}
<a class="nav-link" href="{{ url('./auth/logout') }}">
<i class="icon icon-sign-in"></i>
Logout
</a>
</li>
@endif
<li class="nav-item">
{{-- <a href="{{ url('cart') }}" type="button" class="nav-link btn btn-navbar-cart btn-sm">
<i class="icon icon-cart"></i>
<span class="badge bg-secondary">{{ \App\Http\Controllers\MainController::getCountCart() }}</span>
</a> --}}
<a class="nav-link" href="{{ url('cart') }}" type="button">
<i class="icon icon-cart"></i>
<span class="badge bg-secondary">{{ \App\Http\Controllers\MainController::getCountCart() }}</span>
</a>
</li>
</ul>
</div>
</div>
</nav>
<style scoped>
.navbar-custom .navbar-nav .nav-item .nav-link {
display: flex;
align-items: center;
gap: 5px;
}
</style>

0
resources/views/merchbay/not_found.blade.php Executable file → Normal file
View File

0
resources/views/merchbay/privacy_policy.blade.php Executable file → Normal file
View File

View File

@@ -0,0 +1,162 @@
@extends('merchbay_main')
@section('main-content')
<div class="main__carousel">
<div class="">
<div class="row">
<div class="col-lg-12">
<div id="carouselExampleDark" class="carousel slide" data-bs-ride="carousel">
{{-- <div id="carouselExampleDark" class="carousel carousel-dark slide" data-bs-ride="carousel"> --}}
<ol class="carousel-indicators">
@foreach ($carousel_images as $key => $carousel)
@if ($key == 0)
<li data-bs-target="#carouselExampleDark" data-bs-slide-to="{{ $key }}"
class="active"></li>
@else
<li data-bs-target="#carouselExampleDark" data-bs-slide-to="{{ $key }}"></li>
@endif
@endforeach
{{-- <li data-bs-target="#carouselExampleDark" data-bs-slide-to="0" class="active"></li>
<li data-bs-target="#carouselExampleDark" data-bs-slide-to="1"></li> --}}
{{-- <li data-bs-target="#carouselExampleDark" data-bs-slide-to="2"></li>
<li data-bs-target="#carouselExampleDark" data-bs-slide-to="3"></li> --}}
</ol>
<div class="carousel-inner">
{{-- <div class="carousel-item active" data-bs-interval="10000"> --}}
@foreach ($carousel_images as $key => $carousel)
@if ($key == 0)
<div class="carousel-item active" data-bs-interval="10000">
<a href="{{ url('store') }}/{{ $carousel->StoreUrl }}">
<div class="top-image">
<img
src="{{ config('site_config.uploads') . 'teamstore/' . $carousel->ImageFolder . '/' . $carousel->StoreBanner }}" />
</div>
<img src="{{ config('site_config.uploads') . 'teamstore/' . $carousel->ImageFolder . '/' . $carousel->StoreBanner }}"
class="blurred" />
</a>
</div>
@else
<div class="carousel-item" data-bs-interval="10000">
<a href="{{ url('store') }}/{{ $carousel->StoreUrl }}">
<div class="top-image">
<img
src="{{ config('site_config.uploads') . 'teamstore/' . $carousel->ImageFolder . '/' . $carousel->StoreBanner }}" />
</div>
<img src="{{ config('site_config.uploads') . 'teamstore/' . $carousel->ImageFolder . '/' . $carousel->StoreBanner }}"
class="blurred" />
</a>
</div>
@endif
@endforeach
<!-- <div class="carousel-item" data-bs-interval="10000">
<img src="https://crewsportswear.app:5955/WIPCAPS.jpg" class="d-block w-100" alt="...">
</div> -->
<!-- <div class="carousel-item" data-bs-interval="10000">
<img src="https://crewsportswear.app:5955/NINONG.jpg" class="d-block w-100" alt="...">
</div> -->
{{-- <div class="carousel-item">
<a href="">
<img src="https://crewsportswear.app:5955/DRIVE.jpg" class="d-block w-100" alt="...">
</a>
</div> --}}
</div>
<a class="carousel-control-prev" href="#carouselExampleDark" role="button" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleDark" role="button" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</a>
</div>
</div>
</div>
</div>
</div>
<div class="main__content mt-5">
<div class="container">
<!-- Forms Search -->
<div class="row justify-content-md-center">
<div class="col-lg-8">
<form class="row g-2 g-lg-5">
<div class="col-lg-9">
<div class="input-group">
{{-- <input
type="text"
class="form-control border-end-0"
placeholder="Search Store"
aria-label="Search Store"
aria-describedby="basic-addon2"
/> --}}
<input type="text" class="form-control border-end-0" placeholder="Search Store"
value="{{ $keyword }}" name="q">
<input type="hidden" class="form-control border-end-0" placeholder="Search Store"
value="latest" name="s">
<button class="input-group-text bg-white border-start-0" id="basic-addon2"><i
class="fa fa-search"></i></button>
</div>
</div>
<div class="col-lg-3 added-or">
<a href="{{ url('templates') }}" type="submit" class="btn btn-black mb-3 w-100">
Design your own
</a>
</div>
</form>
</div>
</div>
@include('teamstore-sublayouts.stores')
<!-- First 12 Stores -->
<!-- Featured Products -->
<div class="row py-5">
<div class="col-lg-12">
<div class="text-center">
<h3>Featured Products</h3>
</div>
</div>
@foreach ($featured_products as $product)
<div class="col-lg-2 col-md-3 col-6" v-for="index in 6" :key="index">
<div class="text-center p-3">
<a href="{{ url('store') . '/' . $product->StoreUrl . '/product/' . $product->ProductURL }}">
<div class="store-logo">
<img src="{{ config('site_config.images_url') . '/' . $product->Image }}"
alt="{{ $product->ProductName }}" class="d-block border shadow-sm">
</div>
<div class="store-name text-truncate">{{ $product->ProductName }}</div>
</a>
</div>
</div>
@endforeach
</div>
</div>
</div>
<!-- calling designers -->
<div class="adbg">
<div class="row py-3">
<div class="col-lg-8">
<div class="p-5">
<h2>
Calling all <span class="designer-text">Creators</span>
</h2>
<p>
<a href="{{ url('auth/login') }}">Sign in</a> on Merchbay and share your creativity and expand
<br />your ideas. Click below button to know more.
</p>
<div class="pt-3">
<a href="{{ url('/contact-us') }}" type="button" class="btn btn-black mb-3 px-5">
Learn more
</a>
</div>
</div>
</div>
</div>
</div>
@endsection

0
resources/views/merchbay/terms_of_use.blade.php Executable file → Normal file
View File

0
resources/views/merchbay/track_order.blade.php Executable file → Normal file
View File

View File

@@ -10,13 +10,14 @@
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<title>Merchbay</title> <title>Merchbay</title>
<link rel="icon" href="{{ asset('/favicon.ico') }}"> <link rel="icon" href="{{ asset('public/favicon.ico') }}">
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;400;500;600;700;800;900&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;400;500;600;700;800;900&display=swap" rel="stylesheet">
<link href="{{ asset('/assets/css/merchbay/styles.css') }}" rel="stylesheet"> <link href="{{ asset('/public/assets/css/merchbay/styles-stores.css') }}" rel="stylesheet">
<!-- <link href="{{ asset('/assets/login/css/style.css') }}" rel="stylesheet"> <link href="{{ asset('/public/assets/css/merchbay/styles.css') }}" rel="stylesheet">
<link href="{{ asset('/assets/login/css/form-elements.css') }}" rel="stylesheet"> --> <!-- <link href="{{ asset('public/assets/login/css/style.css') }}" rel="stylesheet">
<link href="{{ asset('public/assets/login/css/form-elements.css') }}" rel="stylesheet"> -->
<script src='https://www.google.com/recaptcha/api.js'></script> <script src='https://www.google.com/recaptcha/api.js'></script>
<!-- Global site tag (gtag.js) - Google Analytics --> <!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-SB3QK6BR1N"></script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-SB3QK6BR1N"></script>
@@ -80,14 +81,14 @@
}(document, 'script', 'facebook-jssdk')); }(document, 'script', 'facebook-jssdk'));
</script> --> </script> -->
@include('merchbay.navbar') @include('merchbay.navbar')
<div class="container"> {{-- <div class="container-fluid">
<div class="wrapper bg-white"> <div class="wrapper bg-white"> --}}
@yield('main-content') @yield('main-content')
<!-- Your Chat Plugin code --> <!-- Your Chat Plugin code -->
<div class="fb-customerchat" attribution="install_email" attribution_version="biz_inbox" page_id="107414144973415"> <div class="fb-customerchat" attribution="install_email" attribution_version="biz_inbox" page_id="107414144973415">
</div> {{-- </div>
</div> </div> --}}
@include('merchbay.footer') @include('merchbay.footer')
</div> </div>
@@ -258,7 +259,7 @@
} }
function fetchCanada() { function fetchCanada() {
$.getJSON("{{ asset('//api/canada.json') }}", function(items) { $.getJSON("{{ asset('/public/api/canada.json') }}", function(items) {
var states = []; var states = [];
Object.keys(items).forEach(function(state) { Object.keys(items).forEach(function(state) {
@@ -307,7 +308,7 @@
} }
function fetchUSA() { function fetchUSA() {
$.getJSON("{{ asset('//api/usaCities.json') }}", function(data) { $.getJSON("{{ asset('/public/api/usaCities.json') }}", function(data) {
var states = []; var states = [];
for (i = 0; i < data.length; i++) { for (i = 0; i < data.length; i++) {

0
resources/views/paypal/payment_success.blade.php Executable file → Normal file
View File

View File

@@ -1,45 +0,0 @@
<div class="panel-design-details" id="orderListPanel">
<table class="table" id="tableRow" style="font-size:12px;">
<thead>
<tr>
<!-- <th>#</th> -->
{{-- <th class="col-md-5">Name</th> --}}
<th class="col-md-6">Number</th>
<th class="col-md-5">Size</th>
<th class="text-center"></th>
</tr>
</thead>
<tbody id="orderTableBody">
<tr class="table-tr-0">
{{-- <td>
<input type="text" name="order_names[]" id="order_names" class="form-control input-sm inputName roster-input" placeholder="Name">
</td> --}}
<td>
<select class="form-control input-sm roster-input" name="order_number[]">
<option value="none">none</option>
@for($i = 0; $i <= 99; $i++)
<option value="{{ $i }}">{{ $i }}</option>
@endfor
<option value="00">00</option>
</select>
</td>
<td>
<select class="form-control input-sm order-size roster-input" name="order_size[]" style="border-right: 1px solid #ccc;" data-row-number="1">
@foreach($sizes_array as $size)
<option value="{{ $size->Size }}">{{ $size->SizeDisplay }}</option>
@endforeach
</select>
</td>
<td id="action-column" class="text-center" style="padding: 4px !important; border-top: none">
<span class="tr-remove-btn">
<button type="button" id="addNewRow" class="btn btn-success btn-sm btn-roster-action" data-toggle="tooltip" title="Add Another"><i class="fa fa-plus" aria-hidden="true"></i></button>
</span>
</td>
</tr>
</tbody>
</table>
<div id="addnew-btn-tbl-row">
</div>
</div>

View File

@@ -7,12 +7,11 @@
margin-top:20px; margin-top:20px;
} }
</style> </style>
<div class="content-wrapper" id="addItem" style="min-height: 916px;"> <div class="content-wrapper" style="min-height: 916px;">
<!-- Content Header (Page header) --> <!-- Content Header (Page header) -->
<section class="content-header"> <section class="content-header">
<h1> <h1>
Add Store Item Add Store Item
{{-- <p>@{{ message }}</p> --}}
</h1> </h1>
<ol class="breadcrumb"> <ol class="breadcrumb">
<li><a href="{{ url('user') }}"><i class="fa fa-home"></i> Home</a></li> <li><a href="{{ url('user') }}"><i class="fa fa-home"></i> Home</a></li>
@@ -93,9 +92,6 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<label>Item Form</label> <label>Item Form</label>
<div class="row">
<div class="col-lg-10"></div>
</div>
<select class="form-control" name="itemForm"> <select class="form-control" name="itemForm">
<option value="jersey-and-shorts-form">Jersey and Shorts Form</option> <option value="jersey-and-shorts-form">Jersey and Shorts Form</option>
<option value="tshirt-form">T-Shirt Form</option> <option value="tshirt-form">T-Shirt Form</option>
@@ -106,7 +102,6 @@
<option value="name-size-form">Name and Size Form</option> <option value="name-size-form">Name and Size Form</option>
<option value="jersey-and-shorts-quantity-form">Jersey, Shorts and Quantity Form</option> <option value="jersey-and-shorts-quantity-form">Jersey, Shorts and Quantity Form</option>
<option value="number-jersey-shorts-form">Number, Jersey and Shorts Form</option> <option value="number-jersey-shorts-form">Number, Jersey and Shorts Form</option>
<option value="number-size-form">Number and Size Form</option>
<option value="roster-name-number-size-form">Roster and Size Form</option> <option value="roster-name-number-size-form">Roster and Size Form</option>
</select> </select>
</div> </div>

View File

@@ -125,8 +125,7 @@
<option value="tshirt-form">T-Shirt Form</option> <option value="tshirt-form">T-Shirt Form</option>
<option value="quantity-form">Quantity Form</option> <option value="quantity-form">Quantity Form</option>
<option value="name-and-number-form">Name and Number Form</option> <option value="name-and-number-form">Name and Number Form</option>
<option value="name-and-number-form">Name and Number Form</option> <option value="name-number-size-form">Name, Number and Size Form</option>
<option value="number-size-form">Number and Size Form</option>
<option value="number-form">Number Only Form</option> <option value="number-form">Number Only Form</option>
</select> </select>
</div> </div>

View File

@@ -86,6 +86,54 @@
</div> </div>
<!-- ./col --> <!-- ./col -->
</div> </div>
{{-- <div class="row">
<div class="col-lg-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Total Sales</h3>
<div class="box-tools">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i>
</button>
<button type="button" class="btn btn-box-tool" data-widget="remove"><i class="fa fa-times"></i></button>
</div>
</div>
<div class="box-body">
<div class="well">
<div class="form-group col-md-3">
<label class="control-label">Select Year: <span class="required">*</span></label>
<select type="text" class="form-control" placeholder="Select Select Year">
<option value="2020">2020</option>
<option value="2019">2019</option>
</select>
</div>
<div class="form-group col-md-3">
<label class="control-label">Select Month <span class="required">*</span></label>
<select class="form-control" placeholder="Select Date">
<option value="">January</option>
<option value="">February</option>
<option value="">March</option>
<option value="">April</option>
<option value="">May</option>
<option value="">June</option>
<option value="">July</option>
<option value="">August</option>
<option value="">September</option>
<option value="">October</option>
<option value="">November</option>
<option value="">December</option>
</select>
</div>
<div class="clearfix"></div>
</div>
<div class="chart">
<canvas id="myChart" style="height:350px"></canvas>
</div>
</div>
<!-- /.box-body -->
</div>
</div>
</div> --}}
@else @else
<div class="text-center" id="homepage-logo"> <div class="text-center" id="homepage-logo">

View File

@@ -114,13 +114,6 @@
<th>Price</th> <th>Price</th>
<th>Quantity</th> <th>Quantity</th>
</tr> </tr>
@elseif($array_item[0]->FormUsed=="number-size-form")
<tr>
<th>Number</th>
<th>Size</th>
<th>Price</th>
<th>Quantity</th>
</tr>
@else @else
@endif @endif
@@ -202,13 +195,6 @@
<td>{{ $array_item[0]->Price . ' ' . $store_array[0]->StoreCurrency }}</td> <td>{{ $array_item[0]->Price . ' ' . $store_array[0]->StoreCurrency }}</td>
<td>{{ $array_item[0]->Quantity }}</td> <td>{{ $array_item[0]->Quantity }}</td>
</tr> </tr>
@elseif($array_item[0]->FormUsed=="number-size-form")
<tr>
<td>{{ $array_item[0]->Number }}</td>
<td>{{ $array_item[0]->Size }}</td>
<td>{{ $array_item[0]->Price . ' ' . $store_array[0]->StoreCurrency }}</td>
<td>{{ $array_item[0]->Quantity }}</td>
</tr>
@else @else
@endif @endif

View File

@@ -158,14 +158,6 @@
<th>Quantity</th> <th>Quantity</th>
<th></th> <th></th>
</tr> </tr>
@elseif($item->FormUsed=="number-size-form")
<tr>
<th>Number</th>
<th>Size</th>
<th>Price</th>
<th>Quantity</th>
<th></th>
</tr>
@else @else
@endif @endif
@@ -227,13 +219,6 @@
<td>{{ $sub_item->Price . ' ' . $array_payment_details[0]->Currency }}</td> <td>{{ $sub_item->Price . ' ' . $array_payment_details[0]->Currency }}</td>
<td>{{ $sub_item->Quantity }}</td> <td>{{ $sub_item->Quantity }}</td>
</tr> </tr>
@elseif($item->FormUsed=="number-size-form")
<tr>
<td>{{ $sub_item->Number }}</td>
<td>{{ $sub_item->Size }}</td>
<td>{{ $sub_item->Price . ' ' . $array_payment_details[0]->Currency }}</td>
<td>{{ $sub_item->Quantity }}</td>
</tr>
@else @else
@endif @endif

View File

@@ -127,7 +127,6 @@
<option value="name-and-number-form">Name and Number Form</option> <option value="name-and-number-form">Name and Number Form</option>
<option value="name-number-size-form">Name, Number and Size Form</option> <option value="name-number-size-form">Name, Number and Size Form</option>
<option value="number-form">Number Only Form</option> <option value="number-form">Number Only Form</option>
<option value="number-size-eform">Number and Size Form</option>
</select> </select>
</div> </div>
<div class="form-group"> <div class="form-group">

Some files were not shown because too many files have changed in this diff Show More