Skip to content

Commit a3ce9df

Browse files
committed
Suggest new theme from Theme Store
1 parent a463f37 commit a3ce9df

2 files changed

Lines changed: 30 additions & 0 deletions

File tree

‎src/modules/ui.css‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -538,6 +538,26 @@ body:has(.topbar) {
538538
transition: border-right-width 0.25s ease-in-out;
539539
}
540540

541+
[data-modal-page="store"] .themes-grid .theme-item.suggest-theme {
542+
border: 2px dashed var(--accent-color) !important;
543+
background: transparent !important;
544+
cursor: pointer;
545+
transition: background-color 0.25s ease-in-out;
546+
}
547+
548+
[data-modal-page="store"] .themes-grid .theme-item.suggest-theme:hover {
549+
background: var(--surface-color) !important;
550+
transition: background-color 0.25s ease-in-out;
551+
}
552+
553+
[data-modal-page="store"] .themes-grid .theme-item.suggest-theme i {
554+
position: relative !important;
555+
margin: auto;
556+
padding: 0;
557+
top: 0;
558+
left: 0;
559+
}
560+
541561
[data-modal-page="store"] .themes-grid .theme-item i:not(.hd) {
542562
position: absolute;
543563
bottom: 10px;

‎src/themes/themes.js‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -404,10 +404,20 @@ export async function renderStore() {
404404
const freeThemesGridText = document.createElement("b");
405405
freeThemesGridText.innerText = 'Free Themes';
406406
store.appendChild(freeThemesGridText);
407+
const freeThemesGridSuggestTheme = document.createElement("div");
408+
freeThemesGridSuggestTheme.classList = 'theme-item suggest-theme';
409+
freeThemesGridSuggestTheme.innerHTML = `<i class="bi bi-plus-lg"></i>`;
410+
freeThemesGridSuggestTheme.onclick = ui.suggestionsModal;
411+
freeThemesGrid.appendChild(freeThemesGridSuggestTheme);
407412
store.appendChild(freeThemesGrid);
408413
const premiumThemesGridText = document.createElement("b");
409414
premiumThemesGridText.innerText = 'Premium Themes';
410415
store.appendChild(premiumThemesGridText);
416+
const premiumThemesGridSuggestTheme = document.createElement("div");
417+
premiumThemesGridSuggestTheme.classList = 'theme-item suggest-theme';
418+
premiumThemesGridSuggestTheme.innerHTML = `<i class="bi bi-plus-lg"></i>`;
419+
premiumThemesGridSuggestTheme.onclick = ui.suggestionsModal;
420+
premiumThemesGrid.appendChild(premiumThemesGridSuggestTheme);
411421
store.appendChild(premiumThemesGrid);
412422
const costInfo = document.createElement("ul");
413423
costInfo.classList = 'cost-info';

0 commit comments

Comments
 (0)