|  | // Copyright (C) 2018 The Android Open Source Project | 
|  | // | 
|  | // Licensed under the Apache License, Version 2.0 (the "License"); | 
|  | // you may not use this file except in compliance with the License. | 
|  | // You may obtain a copy of the License at | 
|  | // | 
|  | //      http://www.apache.org/licenses/LICENSE-2.0 | 
|  | // | 
|  | // Unless required by applicable law or agreed to in writing, software | 
|  | // distributed under the License is distributed on an "AS IS" BASIS, | 
|  | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  | // See the License for the specific language governing permissions and | 
|  | // limitations under the License. | 
|  |  | 
|  | import * as m from 'mithril'; | 
|  |  | 
|  | import {channelChanged, getNextChannel, setChannel} from '../common/channels'; | 
|  |  | 
|  | import {globals} from './globals'; | 
|  | import {createPage} from './pages'; | 
|  |  | 
|  |  | 
|  | export const HomePage = createPage({ | 
|  | view() { | 
|  | return m( | 
|  | '.page.home-page', | 
|  | m( | 
|  | '.home-page-center', | 
|  | m('.home-page-title', 'Perfetto'), | 
|  | m(`img.logo[src=${globals.root}assets/logo-3d.png]`), | 
|  | m( | 
|  | 'div.channel-select', | 
|  | m('div', | 
|  | 'Feeling adventurous? Try our bleeding edge Canary version'), | 
|  | m( | 
|  | 'fieldset', | 
|  | mkChan('stable'), | 
|  | mkChan('canary'), | 
|  | m('.highlight'), | 
|  | ), | 
|  | m(`.home-page-reload${channelChanged() ? '.show' : ''}`, | 
|  | 'You need to reload the page for the changes to have effect'), | 
|  | ), | 
|  | ), | 
|  | m('a.privacy', | 
|  | {href: 'https://policies.google.com/privacy', target: '_blank'}, | 
|  | 'Privacy policy')); | 
|  | }, | 
|  | }); | 
|  |  | 
|  | function mkChan(chan: string) { | 
|  | const checked = getNextChannel() === chan ? '[checked=true]' : ''; | 
|  | return [ | 
|  | m(`input[type=radio][name=chan][id=chan_${chan}]${checked}`, { | 
|  | onchange: () => { | 
|  | setChannel(chan); | 
|  | }, | 
|  | }), | 
|  | m(`label[for=chan_${chan}]`, chan), | 
|  | ]; | 
|  | } |