Better way to stringify theme
[friendica.git/.git] / view / theme / frio / templates / theme_settings.tpl
1
2 <link rel="stylesheet" href="{{$baseurl}}/view/theme/frio/frameworks/jRange/jquery.range.css" type="text/css" media="screen" />
3 <script src="{{$baseurl}}/view/theme/quattro/jquery.tools.min.js"></script>
4 <script src="{{$baseurl}}/view/theme/frio/frameworks/jRange/jquery.range.js"></script>
5 <script type="text/javascript" src="{{$baseurl}}/view/js/ajaxupload.js" ></script>
6
7 {{include file="field_select.tpl" field=$scheme}}
8
9 {{if $nav_bg}}{{include file="field_input.tpl" field=$share_string}}{{/if}}
10 {{if $nav_bg}}{{include file="field_colorinput.tpl" field=$nav_bg}}{{/if}}
11 {{if $nav_icon_color}}{{include file="field_colorinput.tpl" field=$nav_icon_color}}{{/if}}
12 {{if $link_color}}{{include file="field_colorinput.tpl" field=$link_color}}{{/if}}
13
14 {{if $background_color}}{{include file="field_colorinput.tpl" field=$background_color}}{{/if}}
15
16 {{* The slider for the content opacity - We use no template for this since it is only used at this page *}}
17 {{if $contentbg_transp}}
18 <div class="form-group field input color">
19         <label for="id_{{$contentbg_transp.0}}" id="label_{{$contentbg_transp.0}}">{{$contentbg_transp.1}}</label>
20         <input type="hidden" class="form-control color slider-input" name="{{$contentbg_transp.0}}" id="{{$contentbg_transp.0}}" type="text" value="{{$contentbg_transp.2}}" aria-describedby="{{$contentbg_transp.0}}_tip">
21         <span id="{{$contentbg_transp.0}}_tip" class="help-block" role="tooltip">{{$contentbg_transp.3}}</span>
22         <div id="end_{{$contentbg_transp.0}}" class="field_end"></div>
23 </div>
24 {{/if}}
25
26 {{if $background_image}}{{include file="field_fileinput.tpl" field=$background_image}}{{/if}}
27
28 <div id="frio_bg_image_options" style="display: none;">
29         <label>{{$bg_image_options_title}}:</label>
30 {{foreach $bg_image_options as $options}}
31         {{include file="field_radio.tpl" field=$options}}
32 {{/foreach}}
33 </div>
34
35 {{if $login_bg_image}}{{include file="field_fileinput.tpl" field=$login_bg_image}}{{/if}}
36 {{if $login_bg_color}}{{include file="field_colorinput.tpl" field=$login_bg_color}}{{/if}}
37
38 <script type="text/javascript">
39         $(document).ready(function() {
40
41                 function GenerateShareString() {
42                         var theme = {};
43                         // Parse initial share_string
44                         if ($("#id_frio_nav_bg").length) {
45                                 theme.nav_bg = $("#id_frio_nav_bg").val();
46                         }
47
48                         if ($("#id_frio_nav_icon_color").length) {
49                                 theme.nav_icon_color = $("#id_frio_nav_icon_color").val();
50                         }
51
52                         if ($("#id_frio_link_color").length) {
53                                 theme.link_color = $("#id_frio_link_color").val();
54                         }
55
56                         if ($("#id_frio_background_color").length) {
57                                 theme.background_color = $("#id_frio_background_color").val();
58                         }
59
60                         if ($("#frio_contentbg_transp").length) {
61                                 theme.contentbg_transp = $("#frio_contentbg_transp").val();
62                         }
63
64                         if ($("#id_frio_login_bg_image").length) {
65                                 theme.login_bg_image = $("#id_frio_login_bg_image").val();
66                         }
67
68                         if ($("#id_frio_login_bg_color").length) {
69                                 theme.login_bg_color = $("#id_frio_login_bg_color").val();
70                         }
71
72                         var share_string = JSON.stringify(theme);
73                         $("#id_frio_share_string").val(share_string);
74                 }
75
76                 // interval because jquery.val does not trigger events
77                 window.setInterval(GenerateShareString, 500);
78                 GenerateShareString();
79
80                 // Create colorpickers
81                 $("#frio_nav_bg, #frio_nav_icon_color, #frio_background_color, #frio_link_color, #frio_login_bg_color").colorpicker({format: 'hex', align: 'left'});
82
83                 // show image options when user user starts to type the address of the image
84                 $("#id_frio_background_image").keyup(function(){
85                         var elText = $(this).val();
86                         if(elText.length !== 0) {
87                                 $("#frio_bg_image_options").show();
88                         } else {
89                                 $("#frio_bg_image_options").hide();
90                         }
91                 });
92
93                 // show the image options is there is allready an image
94                 if($("#id_frio_background_image").val().length != 0) {
95                                 $("#frio_bg_image_options").show();
96                 }
97
98                 $('.slider-input').jRange({
99                         from: 0,
100                         to: 100,
101                         step: 1,
102                         scale: [0,10,20,30,40,50,60,70,80,90,100],
103                         format: '%s',
104                         width: '100%',
105                         showLabels: true,
106                         theme: 'theme-frio',
107                 });
108
109                 // The position of the slider is wrong calculated on hidden elements.
110                 // So set an event listener toggle and update the jRange value.
111                 $(document).on('click', '#custom-settings-title a', function() {
112                         var bgTransp = $('#frio_contentbg_transp').val();
113                         $('.slider-input').jRange('setValue', bgTransp);
114                 });
115
116         });
117 </script>
118
119 <div class="settings-submit-wrapper form-group pull-right">
120         <button type="submit" value="{{$submit}}" class="settings-submit btn btn-primary" name="frio-settings-submit">{{$submit}}</button>
121 </div>
122 <div class="clearfix"></div>
123
124 <script type="text/javascript">
125         $(".inputRange").rangeinput();
126 </script>