--- title: "Settings" description: "Configure fonts, menu, and site-wide settings" --- # Admin Settings Configure global settings for your portfolio. ## Font Management **URL:** `/admin/settings/fonts` Manage fonts used throughout your site. ### Upload Custom Font 1. Enter font name 2. Select `.ttf`, `.otf`, or `.woff` file (max 5MB) 3. Click **Upload Font** ### Available Fonts - **Custom Fonts**: Uploaded fonts (purple badge) - **Google Fonts**: 70+ curated fonts - **Bangla Fonts**: 6 fonts with Bangla support (green badge) ### Using Fonts Fonts appear in font selectors throughout the admin: - Header section (name, roles, description) - About section (vertical name) - Rich text editor See [Font Management](/features/font-management) for details. ## Menu Settings **URL:** `/admin/settings/menu` Configure the navigation menu. ### Toggle Sections | Setting | Effect | |---------|--------| | Show Blog | Display/hide blog in navigation | | Show Projects | Display/hide projects in navigation | | Show Shop | Display/hide shop in navigation | | Show Contact | Display/hide contact section | ### Custom Menu Items Add custom links to the navigation: 1. Click **Add Menu Item** 2. Enter label and URL 3. Set order 4. Save ### Logo Upload your site logo: - Recommended size: 200×50px - Formats: PNG, SVG (transparent background preferred) ## Social Links **URL:** `/admin/settings/social` Manage social media links displayed in footer/header. ### Add Social Link 1. Click **Add Link** 2. Select platform (GitHub, LinkedIn, Twitter, etc.) 3. Enter profile URL 4. Save ### Supported Platforms | Platform | Icon | |----------|------| | GitHub | GitHub icon | | LinkedIn | LinkedIn icon | | Twitter/X | X icon | | Instagram | Instagram icon | | Facebook | Facebook icon | | YouTube | YouTube icon | | Email | Mail icon | | Website | Globe icon | ### Custom Links For platforms not listed: 1. Select "Custom" 2. Enter label 3. Enter URL 4. Choose icon (optional) ## Newsletter Settings **URL:** `/admin/settings/newsletter` Configure newsletter subscription. ### Options | Setting | Description | |---------|-------------| | Enable | Show/hide newsletter form | | Provider | Email service (Mailchimp, etc.) | | API Key | Provider API key | | List ID | Subscriber list ID | ## PayPal Settings For shop functionality, configure PayPal in your `.env`: ```env VITE_PAYPAL_CLIENT_ID=your_client_id VITE_PAYPAL_MODE=sandbox # or 'live' ``` Get credentials from [PayPal Developer](https://developer.paypal.com). ## Environment Variables All sensitive settings should be in `.env`: ```env # Appwrite VITE_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1 VITE_APPWRITE_PROJECT_ID=your_project_id VITE_APPWRITE_DATABASE_ID=portfolio_db VITE_APPWRITE_STORAGE_ID=reactbucket # PayPal (optional) VITE_PAYPAL_CLIENT_ID=your_paypal_client_id # Email (optional) VITE_SMTP_HOST=smtp.example.com VITE_SMTP_USER=your_email VITE_SMTP_PASS=your_password ``` Never commit `.env` to version control. Add it to `.gitignore`. ## Backup Recommendations Regularly export your Appwrite data as backup. Go to Appwrite Console → Database → Export. Keep a copy of your custom fonts locally in case you need to re-upload.