Add premium logo and professional theme for high-end clients
- Create custom SVG logo with professional branding - Implement premium color scheme with blue and gold accents - Add custom CSS with professional styling for cards, tables, buttons - Update logo template to use new logo.svg file - Create custom favicon for complete branding - Redesign homepage with premium content sections - Update resources page with membership tiers and premium pricing - Enhance contact page with testimonials and detailed information - Target audience: high-paying clients ($100+/hour) - Professional yet approachable design language 💘 Generated with Crush Assisted-by: GLM-4.7 via Crush <crush@charm.land>
This commit is contained in:
87
config/www/user/themes/quark/js/jquery.treemenu.js
Executable file
87
config/www/user/themes/quark/js/jquery.treemenu.js
Executable file
@@ -0,0 +1,87 @@
|
||||
/*
|
||||
treeMenu - jQuery plugin
|
||||
version: 0.6
|
||||
|
||||
Copyright 2014 Stepan Krapivin
|
||||
|
||||
*/
|
||||
(function($){
|
||||
$.fn.treemenu = function(options) {
|
||||
options = options || {};
|
||||
options.delay = options.delay || 0;
|
||||
options.openActive = options.openActive || false;
|
||||
options.closeOther = options.closeOther || false;
|
||||
options.activeSelector = options.activeSelector || ".active";
|
||||
|
||||
this.addClass("treemenu");
|
||||
|
||||
if (!options.nonroot) {
|
||||
this.addClass("treemenu-root");
|
||||
}
|
||||
|
||||
options.nonroot = true;
|
||||
|
||||
this.find("> li").each(function() {
|
||||
e = $(this);
|
||||
var subtree = e.find('> ul');
|
||||
var button = e.find('.toggler').eq(0);
|
||||
|
||||
if(button.length == 0) {
|
||||
// create toggler
|
||||
var button = $('<span>');
|
||||
button.addClass('toggler');
|
||||
e.prepend(button);
|
||||
}
|
||||
|
||||
if(subtree.length > 0) {
|
||||
subtree.hide();
|
||||
|
||||
e.addClass('tree-closed');
|
||||
|
||||
e.find(button).click(function() {
|
||||
var li = $(this).parent('li');
|
||||
|
||||
if (options.closeOther && li.hasClass('tree-closed')) {
|
||||
var siblings = li.parent('ul').find("li:not(.tree-empty)");
|
||||
siblings.removeClass("tree-opened");
|
||||
siblings.addClass("tree-closed");
|
||||
siblings.removeClass(options.activeSelector);
|
||||
siblings.find('> ul').slideUp(options.delay);
|
||||
}
|
||||
|
||||
li.find('> ul').slideToggle(options.delay);
|
||||
li.toggleClass('tree-opened');
|
||||
li.toggleClass('tree-closed');
|
||||
li.toggleClass(options.activeSelector);
|
||||
});
|
||||
|
||||
$(this).find('> ul').treemenu(options);
|
||||
} else {
|
||||
$(this).addClass('tree-empty');
|
||||
}
|
||||
});
|
||||
|
||||
if (options.openActive) {
|
||||
var cls = this.attr("class");
|
||||
|
||||
this.find(options.activeSelector).each(function(){
|
||||
var el = $(this).parent();
|
||||
|
||||
while (el.attr("class") !== cls) {
|
||||
el.find('> ul').show();
|
||||
if(el.prop("tagName") === 'UL') {
|
||||
el.show();
|
||||
} else if (el.prop("tagName") === 'LI') {
|
||||
el.removeClass('tree-closed');
|
||||
el.addClass("tree-opened");
|
||||
el.show();
|
||||
}
|
||||
|
||||
el = el.parent();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
})(jQuery);
|
||||
Reference in New Issue
Block a user