Replace entire repo content with kottgard-production-v1.1.zip (for shahikitchen-prod repo)
This commit is contained in:
@@ -1,118 +0,0 @@
|
||||
/**
|
||||
* =============================================================================
|
||||
* SITE ASSETS — Single source of truth for all website media
|
||||
* =============================================================================
|
||||
*
|
||||
* Change any image or video path HERE and the whole site updates.
|
||||
* Physical files live under /public — this file maps logical names → URLs.
|
||||
*
|
||||
* Folder layout (public/):
|
||||
* /images/logo/ — brand logo, hero banner videos
|
||||
* /images/dishes/ — menu dish photos & video posters
|
||||
* /images/animation/ — chef expressions, illustrations
|
||||
* /images/real/ — restaurant interior photos
|
||||
* /images/booking/ — table QR codes (askim + backaplan)
|
||||
* /videos/ — dish & promo videos
|
||||
*/
|
||||
|
||||
/** Base folders served from /public */
|
||||
export const MEDIA_FOLDERS = {
|
||||
images: '/images',
|
||||
dishes: '/images/dishes',
|
||||
logo: '/images/logo',
|
||||
animation: '/images/animation',
|
||||
real: '/images/real',
|
||||
booking: {
|
||||
askim: '/images/booking/askim',
|
||||
backaplan: '/images/booking/backaplan',
|
||||
},
|
||||
videos: '/videos',
|
||||
} as const;
|
||||
|
||||
/** Join a folder with a filename → public URL */
|
||||
export function mediaUrl(folder: string, filename: string): string {
|
||||
return `${folder}/${filename}`;
|
||||
}
|
||||
|
||||
/**
|
||||
* All named static assets used across the website.
|
||||
* Prefer these constants over hardcoded strings in components.
|
||||
*/
|
||||
export const SITE_ASSETS = {
|
||||
logo: {
|
||||
primary: mediaUrl(MEDIA_FOLDERS.logo, 'logo1.png'),
|
||||
alt: mediaUrl(MEDIA_FOLDERS.logo, 'logo.jpg'),
|
||||
chef: mediaUrl(MEDIA_FOLDERS.images, 'logo-shahi-chef.jpg'),
|
||||
chefIcon: mediaUrl(MEDIA_FOLDERS.images, 'logo-shahi-chef-icon.jpg'),
|
||||
},
|
||||
|
||||
hero: {
|
||||
restaurantInterior: mediaUrl(MEDIA_FOLDERS.images, 'hero-restaurant-interior.jpg'),
|
||||
restaurantInterior2: mediaUrl(MEDIA_FOLDERS.images, 'hero-restaurant-interior-2.jpg'),
|
||||
restaurantBg: mediaUrl(MEDIA_FOLDERS.images, 'hero-restaurant-bg.jpg'),
|
||||
},
|
||||
|
||||
banner: {
|
||||
mobileWebm: mediaUrl(MEDIA_FOLDERS.logo, 'banner_mobile-optimized.webm'),
|
||||
mobileMp4: mediaUrl(MEDIA_FOLDERS.logo, 'banner_mobile-optimized.mp4'),
|
||||
desktopMp4: mediaUrl(MEDIA_FOLDERS.logo, 'banner1.mp4'),
|
||||
originalMp4: mediaUrl(MEDIA_FOLDERS.logo, 'banner.mp4'),
|
||||
mobileOriginalMp4: mediaUrl(MEDIA_FOLDERS.logo, 'banner_mobile.mp4'),
|
||||
},
|
||||
|
||||
animation: {
|
||||
chefWink: mediaUrl(MEDIA_FOLDERS.animation, 'chef-wink.jpg'),
|
||||
chefSmile: mediaUrl(MEDIA_FOLDERS.animation, 'chef-smile.jpg'),
|
||||
chefNormal: mediaUrl(MEDIA_FOLDERS.animation, 'chef-normal.jpg'),
|
||||
biryaniIllust: mediaUrl(MEDIA_FOLDERS.animation, 'biryani-illust.jpg'),
|
||||
butterChickenIllust: mediaUrl(MEDIA_FOLDERS.animation, 'butter-chicken-illust.jpg'),
|
||||
jalebiIllust: mediaUrl(MEDIA_FOLDERS.animation, 'jalebi-illust.jpg'),
|
||||
kulfiIllust: mediaUrl(MEDIA_FOLDERS.animation, 'kulfi-illust.jpg'),
|
||||
naanIllust: mediaUrl(MEDIA_FOLDERS.animation, 'naan-illust.jpg'),
|
||||
spicesIllust: mediaUrl(MEDIA_FOLDERS.animation, 'spices-illust.jpg'),
|
||||
chefSequence: mediaUrl(MEDIA_FOLDERS.animation, 'chef_sequence.mp4'),
|
||||
creamBg: mediaUrl(MEDIA_FOLDERS.animation, 'cream_bg.mp4'),
|
||||
bannerOriginal: mediaUrl(MEDIA_FOLDERS.animation, 'banner_original.mp4'),
|
||||
},
|
||||
|
||||
dishes: {
|
||||
/** Default poster when a dish has no image/video */
|
||||
defaultPoster: mediaUrl(MEDIA_FOLDERS.dishes, 'palak-paneer.jpg'),
|
||||
},
|
||||
|
||||
/** Global fallbacks used in onError handlers */
|
||||
fallbacks: {
|
||||
logo: mediaUrl(MEDIA_FOLDERS.logo, 'logo1.png'),
|
||||
dishPoster: mediaUrl(MEDIA_FOLDERS.dishes, 'palak-paneer.jpg'),
|
||||
},
|
||||
} as const;
|
||||
|
||||
/** Restaurant interior gallery (real photos) — add/remove filenames here */
|
||||
export const RESTAURANT_GALLERY = [
|
||||
'real1.jpg',
|
||||
'real2.jpg',
|
||||
'real3.jpg',
|
||||
'real4.jpg',
|
||||
'real5.jpg',
|
||||
'real6.jpg',
|
||||
'real7.jpg',
|
||||
'real9.jpg',
|
||||
'real11.jpg',
|
||||
'real12.jpg',
|
||||
'real13.jpg',
|
||||
'real15.jpg',
|
||||
'real16.jpg',
|
||||
'real17.jpg',
|
||||
'real18.jpg',
|
||||
'real19.jpg',
|
||||
] as const;
|
||||
|
||||
export function restaurantPhoto(filename: string): string {
|
||||
return mediaUrl(MEDIA_FOLDERS.real, filename);
|
||||
}
|
||||
|
||||
export function tableQrCode(branch: 'askim' | 'backaplan', tableNumber: string): string {
|
||||
const folder = MEDIA_FOLDERS.booking[branch];
|
||||
const prefix = branch === 'askim' ? 'qr-askim' : 'qr-backaplan';
|
||||
return mediaUrl(folder, `${prefix}-${tableNumber}.svg`);
|
||||
}
|
||||
Reference in New Issue
Block a user