3 files modified
8 files added
| | |
| | | # radio-ui |
| | | |
| | | Eine Bedienoberfläche für Webradio |
| | | |
| | | |
| | | ## Radiostreams |
| | | |
| | | Nachfolgend die Adressen einiger Radiostreams |
| | | |
| | | ### hr info |
| | | |
| | | [Livestream-Übersicht](http://www.hr-inforadio.de/livestream/index.html) |
| | | |
| | | MP3-Stream (128 kBit/s) |
| | | http://metafiles.gl-systemhaus.de/hr/hrinfo_2.m3u |
| | | |
| | | MP3-Stream (48 kBit/s) |
| | | http://metafiles.gl-systemhaus.de/hr/hrinfo_1.m3u |
| | | (für mobile Anwendungen empfohlen) |
| | | |
| | | ### radiobob |
| | | |
| | | [Livestream-Übersicht](http://www.radiobob.de/radiobob/empfang/livestream) |
| | | |
| | | MP3: http://streams.radiobob.de/bob-live/mp3-192/mediaplayer |
| | | |
| | | Mobile Nutzung: http://streams.radiobob.de/bob-live/aac-64/mediaplayer |
| | |
| | | /* font-size: 1.5em; */ /* currently ems cause chrome bug misinterpreting rems on body element */ |
| | | line-height: 1.6; |
| | | font-weight: 400; |
| | | font-family: "Raleway", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; |
| | | /* font-family: "Raleway", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; */ |
| | | } |
| | | |
| | | .nord { |
| | | display: flex; |
| | | flex-flow: row; |
| | | height: 2em; |
| | | } |
| | | |
| | |
| | | .zentrum { |
| | | display: flex; |
| | | flex-flow: row; |
| | | overflow-x: hidden; |
| | | margin: 0; |
| | | } |
| | | |
| | | .cond { |
| | | display: none; |
| | | } |
| | | |
| | | @media (min-width: 35em) { |
| | | .cond { |
| | | display: block; |
| | | background-color: aliceblue; |
| | | text-align: right; |
| | | width: 40%; |
| | | } |
| | | .zentrum { |
| | | width: 60%; |
| | | background-color: white; |
| | | } |
| | | } |
| | | |
| | | @media (min-width: 55em) { |
| | | .cond { |
| | | display: block; |
| | | background-color: aliceblue; |
| | | text-align: right; |
| | | width: 60%; |
| | | } |
| | | .zentrum { |
| | | width: 40%; |
| | | background-color: white; |
| | | } |
| | | } |
| | | |
| | | |
| | | .button-liste { |
| | | display: flex; |
| | | flex-flow: column; |
| | | flex-wrap: wrap; |
| | | padding: 0; |
| | | margin: 0 0.2em 0 0.2em; |
| | | } |
| | | |
| | | .button-liste .button { |
| | | text-align: left; |
| | | margin: 0 0 0.2em 0; |
| | | padding: 0 0.4em 0 0.4em; |
| | | } |
| | | |
| | | .abspieler-auswahl { |
| | | margin: 0.3em 0 0.3em 0.5em; |
| | | } |
| | | /* fonts */ |
| | | |
| | | @font-face { |
| | | font-family: 'Raleway'; |
| | | font-style: normal; |
| | | src: url(../jslib/fonts/Raleway/Raleway-Regular.ttf) format('truetype'); |
| | | font-family: 'Amethysta'; |
| | | font-style: normal; |
| | | font-weight: 700; |
| | | src: url(/lib/fonts/Amethysta/Amethysta-Regular.ttf) format('truetype'); |
| | | } |
| | | |
| | | /* aus Skeleton */ |
| | | |
| | | .docs-header { |
| | | text-transform: uppercase; |
| | | font-size: 1.4rem; |
| | | letter-spacing: .2rem; |
| | | font-weight: 600; } |
| | | |
| | | /* Typography |
| | | ?????????????????????????????????????????????????? */ |
| | | h1, h2, h3, h4, h5, h6 { |
| | | margin-top: 0; |
| | | margin-bottom: 2rem; |
| | | font-weight: 300; } |
| | | h1 { font-size: 4.0rem; line-height: 1.2; letter-spacing: -.1rem;} |
| | | h2 { font-size: 3.6rem; line-height: 1.25; letter-spacing: -.1rem; } |
| | | h3 { font-size: 3.0rem; line-height: 1.3; letter-spacing: -.1rem; } |
| | | h4 { font-size: 2.4rem; line-height: 1.35; letter-spacing: -.08rem; } |
| | | h5 { font-size: 1.8rem; line-height: 1.5; letter-spacing: -.05rem; } |
| | | h6 { font-size: 1.5rem; line-height: 1.6; letter-spacing: 0; } |
| | | |
| | | /* Buttons |
| | | ?????????????????????????????????????????????????? */ |
| | | .button, |
| | | button, |
| | | input[type="submit"], |
| | | input[type="reset"], |
| | | input[type="button"] { |
| | | display: inline-block; |
| | | height: 38px; |
| | | padding: 0 30px; |
| | | color: #555; |
| | | text-align: center; |
| | | font-size: 11px; |
| | | font-weight: 600; |
| | | line-height: 38px; |
| | | letter-spacing: .1rem; |
| | | text-transform: uppercase; |
| | | text-decoration: none; |
| | | white-space: nowrap; |
| | | background-color: transparent; |
| | | border-radius: 4px; |
| | | border: 1px solid #bbb; |
| | | cursor: pointer; |
| | | box-sizing: border-box; } |
| | | .button:hover, |
| | | button:hover, |
| | | input[type="submit"]:hover, |
| | | input[type="reset"]:hover, |
| | | input[type="button"]:hover, |
| | | .button:focus, |
| | | button:focus, |
| | | input[type="submit"]:focus, |
| | | input[type="reset"]:focus, |
| | | input[type="button"]:focus { |
| | | color: #333; |
| | | border-color: #888; |
| | | outline: 0; } |
| | | .button.button-primary, |
| | | button.button-primary, |
| | | input[type="submit"].button-primary, |
| | | input[type="reset"].button-primary, |
| | | input[type="button"].button-primary { |
| | | color: #FFF; |
| | | background-color: #33C3F0; |
| | | border-color: #33C3F0; } |
| | | .button.button-primary:hover, |
| | | button.button-primary:hover, |
| | | input[type="submit"].button-primary:hover, |
| | | input[type="reset"].button-primary:hover, |
| | | input[type="button"].button-primary:hover, |
| | | .button.button-primary:focus, |
| | | button.button-primary:focus, |
| | | input[type="submit"].button-primary:focus, |
| | | input[type="reset"].button-primary:focus, |
| | | input[type="button"].button-primary:focus { |
| | | color: #FFF; |
| | | background-color: #1EAEDB; |
| | | border-color: #1EAEDB; } |
| | | |
| | | /* Forms |
| | | ?????????????????????????????????????????????????? */ |
| | | input[type="email"], |
| | | input[type="number"], |
| | | input[type="search"], |
| | | input[type="text"], |
| | | input[type="tel"], |
| | | input[type="url"], |
| | | input[type="password"], |
| | | textarea, |
| | | select { |
| | | height: 38px; |
| | | padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */ |
| | | background-color: #fff; |
| | | border: 1px solid #D1D1D1; |
| | | border-radius: 4px; |
| | | box-shadow: none; |
| | | box-sizing: border-box; } |
| | | /* Removes awkward default styles on some inputs for iOS */ |
| | | input[type="email"], |
| | | input[type="number"], |
| | | input[type="search"], |
| | | input[type="text"], |
| | | input[type="tel"], |
| | | input[type="url"], |
| | | input[type="password"], |
| | | textarea { |
| | | -webkit-appearance: none; |
| | | -moz-appearance: none; |
| | | appearance: none; } |
| | | textarea { |
| | | min-height: 65px; |
| | | padding-top: 6px; |
| | | padding-bottom: 6px; } |
| | | input[type="email"]:focus, |
| | | input[type="number"]:focus, |
| | | input[type="search"]:focus, |
| | | input[type="text"]:focus, |
| | | input[type="tel"]:focus, |
| | | input[type="url"]:focus, |
| | | input[type="password"]:focus, |
| | | textarea:focus, |
| | | select:focus { |
| | | border: 1px solid #33C3F0; |
| | | outline: 0; } |
| | | label, |
| | | legend { |
| | | display: block; |
| | | margin-bottom: .5rem; |
| | | font-weight: 600; } |
| | | fieldset { |
| | | padding: 0; |
| | | border-width: 0; } |
| | | input[type="checkbox"], |
| | | input[type="radio"] { |
| | | display: inline; } |
| | | label > .label-body { |
| | | display: inline-block; |
| | | margin-left: .5rem; |
| | | font-weight: normal; } |
| | | @font-face { |
| | | font-family: 'Oswald'; |
| | | font-style: normal; |
| | | font-weight: 700; |
| | | src: url(/lib/fonts/Oswald/Oswald-Regular.ttf) format('truetype'); |
| | | } |
| | | @font-face { |
| | | font-family: 'OswaldBold'; |
| | | font-weight: bold; |
| | | src: url(/lib/fonts/Oswald/Oswald-Bold.ttf) format('truetype'); |
| | | } |
| | | @font-face { |
| | | font-family: 'RobotoCondensed'; |
| | | font-weight: normal; |
| | | src: url(/lib/fonts/Roboto_Condensed/RobotoCondensed-Regular.ttf) format('truetype'); |
| | | } |
| | | @font-face { |
| | | font-family: 'RobotoCondensedBold'; |
| | | font-weight: bold; |
| | | src: url(/lib/fonts/Roboto_Condensed/RobotoCondensed-Bold.ttf) format('truetype'); |
| | | } |
| | |
| | | |
| | | function app_init() { |
| | | $('.ost').hide(); |
| | | //app_menu_init("menu/", "hauptmenue.json", "../jslib/app-menu/app-menu.tpl", ".west"); |
| | | app_menu_init("menu/", "hauptmenue.json", "../jslib/app-menu/app-menu.tpl", ".west"); |
| | | //app_get_template('tpl/home.tpl', 'home'); |
| | | //app_get_template('tpl/prefs.tpl', 'prefs'); |
| | | $('.sued').text('Bereit.'); |
New file |
| | |
| | | { |
| | | "menue": { |
| | | "menuetitel": "Hauptmenü", |
| | | "wurzel": true, |
| | | "vorgaenger": { |
| | | "vtitel": "", |
| | | "vverweis": "" |
| | | }, |
| | | "inhalt": [ |
| | | { |
| | | "titel": "Einstellungen", |
| | | "umenue": false, |
| | | "funktion": "app_show_prefs" |
| | | }, |
| | | { |
| | | "titel": "H Menüeintrag 2", |
| | | "umenue": true, |
| | | "verweis": "untermenue-1.json" |
| | | }, |
| | | { |
| | | "titel": "H Menüeintrag 3", |
| | | "umenue": false, |
| | | "funktion": "app_menu_message" |
| | | } |
| | | ] |
| | | } |
| | | } |
New file |
| | |
| | | { |
| | | "menue": { |
| | | "menuetitel": "Untermenü 1", |
| | | "wurzel": false, |
| | | "vorgaenger": { |
| | | "vtitel": "Hauptmenü", |
| | | "vverweis": "hauptmenue.json" |
| | | }, |
| | | "inhalt": [ |
| | | { |
| | | "titel": "U1 Menüeintrag 1", |
| | | "umenue": false, |
| | | "funktion": "app_menu_message" |
| | | }, |
| | | { |
| | | "titel": "U1 Menüeintrag 2", |
| | | "umenue": true, |
| | | "verweis": "untermenue-2.json" |
| | | }, |
| | | { |
| | | "titel": "U1 Menüeintrag 3", |
| | | "umenue": false, |
| | | "funktion": "app_menu_message" |
| | | } |
| | | ] |
| | | } |
| | | } |
New file |
| | |
| | | { |
| | | "menue": { |
| | | "menuetitel": "Untermenü 2", |
| | | "wurzel": false, |
| | | "vorgaenger": { |
| | | "vtitel": "Untermenü 1", |
| | | "vverweis": "untermenue-1.json" |
| | | }, |
| | | "inhalt": [ |
| | | { |
| | | "titel": "U2 Menüeintrag 1", |
| | | "umenue": false, |
| | | "funktion": "app_menu_message" |
| | | }, |
| | | { |
| | | "titel": "U2 Menüeintrag 2", |
| | | "umenue": false, |
| | | "funktion": "app_menu_message" |
| | | }, |
| | | { |
| | | "titel": "U2 Menüeintrag 3", |
| | | "umenue": false, |
| | | "funktion": "app_menu_message" |
| | | } |
| | | ] |
| | | } |
| | | } |
New file |
| | |
| | | |
| | | .sender-behaelter { |
| | | display: flex; |
| | | flex-flow: column; |
| | | } |
| | | |
| | | .sender { |
| | | display: flex; |
| | | flex-flow: row; |
| | | flex-wrap: wrap; |
| | | background-color: #eaeaea; |
| | | width: 100%; |
| | | } |
| | | |
| | | .sender-kachel { |
| | | display: flex; |
| | | flex-flow: column; |
| | | align-items: center; |
| | | margin: 0.4em; |
| | | background-color: white; |
| | | } |
| | | |
| | | .sender-name { |
| | | font-family: RobotoCondensedBold; |
| | | } |
| | | |
| | | .sender-bild { |
| | | width: 40px; |
| | | background-color: #ebe6e6; |
| | | } |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | <head> |
| | | <title>Sender</title> |
| | | <meta charset="UTF-8"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| | | <link rel="stylesheet" type="text/css" href="../jslib/app-layout/app-layout.css"> |
| | | <link rel="stylesheet" type="text/css" href="../jslib/app-menu/nav-toggle.css"> |
| | | <link rel="stylesheet" type="text/css" href="../jslib/app-menu/app-menu.css"> |
| | | <link rel="stylesheet" type="text/css" href="sender.css"> |
| | | <link rel="stylesheet" type="text/css" href="app.css"> |
| | | </head> |
| | | <body> |
| | | <!-- Kopfzeile --> |
| | | <div class="nord"> |
| | | <div id="nav-menu"> |
| | | <a id="nav-toggle" href="#"><span></span></a> |
| | | </div> |
| | | <div class="app-titel"> |
| | | <span id="app-titel">Home</span> |
| | | </div> |
| | | </div> |
| | | <!-- Inhalt --> |
| | | <div class="inhalt"> |
| | | <!-- westliche Seitenleiste --> |
| | | <div class="west"></div> |
| | | <!-- zentraler Inhaltsbereich --> |
| | | <div class="zentrum"> |
| | | <div id="prefs"></div> |
| | | <div id="home"></div> |
| | | <div class="sender-behaelter"> |
| | | <div id="sender" class="sender"> |
| | | <div class="sender-kachel"> |
| | | <div class="sender-name">Sender 1</div> |
| | | <div class="sender-bild-behaelter"><img class="sender-bild" src="bilder/table_radio_light.png"></div> |
| | | </div> |
| | | <div class="sender-kachel"> |
| | | <div class="sender-name">radiobob</div> |
| | | <div class="sender-bild-behaelter"><img class="sender-bild" src="bilder/radio-bob-logo.png"></div> |
| | | </div> |
| | | <div class="sender-kachel"> |
| | | <div class="sender-name">Sender 3</div> |
| | | <div class="sender-bild-behaelter"><img class="sender-bild" src="bilder/table_radio_light.png"></div> |
| | | </div> |
| | | <div class="sender-kachel"> |
| | | <div class="sender-name">Sender 4</div> |
| | | <div class="sender-bild-behaelter"><img class="sender-bild" src="bilder/table_radio_light.png"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- oestliche Seitenleiste --> |
| | | <div class="ost"> |
| | | östliche Seitenleiste |
| | | </div> |
| | | </div> |
| | | <!-- Fusszeile --> |
| | | <div class="sued"> |
| | | Fußzeile |
| | | </div> |
| | | <script src="../jslib/jquery-1.11.1/jquery-1.11.1.min.js"></script> |
| | | <script src="../jslib/mustache/mustache.min.js"></script> |
| | | <script src="../jslib/app-menu/app-menu.js"></script> |
| | | <script src="app.js"></script> |
| | | |
| | | <script type="text/javascript" charset="utf-8"> |
| | | $(document).ready(function() { |
| | | app_init(); |
| | | }); |
| | | </script> |
| | | </body> |
| | | </html> |