UNPKG

portal-www

Version:

Nova Portal Website. Based on Next starter by Ueno

158 lines (140 loc) 4.36 kB
import { IconType } from '@nova-hf/ui'; import { ServiceType } from 'typings/graphql'; export type NavItem = { id: string; text: string; href: string; icon?: IconType; openInNewTab?: boolean; }; // Navigation for /thjonustur/{service-id}/... export function getServiceShortcuts( serviceType: string, customerId: string, serviceId: string, subscriptionType?: string, parentId?: string, ): NavItem[] { /* Hraðleið */ const hradleidParent: NavItem = { id: 'changePack', text: 'common:navigation.shortCuts.changePack', href: parentId ? `/beta/${customerId}/askrift/${parentId}` : `/${customerId}/thjonustur`, icon: 'mobileGlobe', }; /* Top Level Navigation */ const settingsPayment: NavItem = { id: 'settingsPayment', text: 'common:navigation.shortCuts.paymentType', href: `/beta/${customerId}/stillingar/payment`, icon: 'creditcard', }; /* Settings */ const settingsMove: NavItem = { id: 'move', text: 'stillingar:sideMenu.move', href: `/beta/${customerId}/thjonustur/${serviceId}/flutningur`, icon: 'refresh', }; const settingsUser: NavItem = { id: 'user', text: 'stillingar:sideMenu.user', href: `/beta/${customerId}/thjonustur/${serviceId}/stillingar?settings=user`, icon: 'profile', }; /* Help links */ const fiberSingleHelp: NavItem = { id: 'fiberSingleHelp', text: 'common:navigation.shortCuts.help', href: 'https://support.nova.is/hc/is/sections/360003360897-Lj%C3%B3slei%C3%B0ari', openInNewTab: true, icon: 'info', }; const fiberAlltSamanHelp: NavItem = { id: 'fiberAlltSamanHelp', text: 'common:navigation.shortCuts.help', href: 'https://support.nova.is/hc/is/sections/360003360917-AlltSaman', openInNewTab: true, icon: 'info', }; const fiberHradleidHelp: NavItem = { id: 'fiberHradleidHelp', text: 'common:navigation.shortCuts.help', href: 'https://support.nova.is/hc/is/sections/4406980818705-Hra%C3%B0lei%C3%B0', openInNewTab: true, icon: 'info', }; const novaTVHelp: NavItem = { id: 'novaTVHelp', text: 'common:navigation.shortCuts.helpTwo', href: 'https://support.nova.is/hc/is/categories/360002584798-Nova-TV', openInNewTab: true, icon: 'novaLogo', }; /* Signup links */ const accespointSignup: NavItem = { id: 'accespointSignup', text: 'common:navigation.shortCuts.accesspoint', href: 'https://www.nova.is/netid/kastarinn', openInNewTab: true, icon: 'wifi', }; const alltsamanSignup: NavItem = { id: 'alltsamanSignup', text: 'common:navigation.shortCuts.alltsaman', href: 'https://www.nova.is/alltsaman', openInNewTab: true, icon: 'novaLogo', }; const hradleidSignup: NavItem = { id: 'hradleidSignup', text: 'common:navigation.shortCuts.hradleid', href: 'https://www.nova.is/hradleid', openInNewTab: true, icon: 'novaLogo', }; /* NovaTV links */ const buySubscription: NavItem = { id: 'buySubscription', text: 'common:navigation.shortCuts.buySubscription', href: 'https://www.nova.is/nova-tv/kaupa', openInNewTab: true, icon: 'userCircle', }; const events: NavItem = { id: 'events', text: 'common:navigation.shortCuts.events', href: 'https://www.novatv.is/page/vidburdir', openInNewTab: true, icon: 'wallet', }; switch (serviceType) { case ServiceType.Mobile: return [alltsamanSignup]; break; case ServiceType.MobileInternet: return [alltsamanSignup]; break; case ServiceType.Landline: return [alltsamanSignup]; break; case ServiceType.Fiber && subscriptionType === 'hradljos': return [settingsMove, settingsUser, hradleidParent, fiberHradleidHelp]; break; case ServiceType.Fiber && subscriptionType === 'alltsaman': return [settingsMove, fiberAlltSamanHelp, accespointSignup, settingsPayment]; break; case ServiceType.Fiber && subscriptionType === 'hradleid': return [settingsMove, settingsUser, accespointSignup, hradleidSignup]; break; case ServiceType.Fiber: return [settingsMove, fiberSingleHelp, accespointSignup, alltsamanSignup]; break; case ServiceType.Tv: return [buySubscription, events, novaTVHelp]; break; default: return []; break; } }