mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
moved themes to separate folder
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
<div class="background-image">
|
||||
<div class="container">
|
||||
<div class="jumbotron jumbotron-fluid">
|
||||
<div class="d-flex flex-wrap">
|
||||
<div>
|
||||
<h1 class="display-3">DSpace 7</h1>
|
||||
<p class="lead">DSpace is the world leading open source repository platform that enables organisations to:</p>
|
||||
</div>
|
||||
</div>
|
||||
<ul>
|
||||
<li>easily ingest documents, audio, video, datasets and their corresponding Dublin Core metadata
|
||||
</li>
|
||||
<li>open up this content to local and global audiences, thanks to the OAI-PMH interface and Google Scholar optimizations
|
||||
</li>
|
||||
<li>issue permanent urls and trustworthy identifiers, including optional integrations with handle.net and DataCite DOI</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<small class="credits">Photo by <a href="https://www.pexels.com/@inspiredimages">Anthony</a></small>
|
||||
</div>
|
@@ -0,0 +1,4 @@
|
||||
@import '../../../../../src/app/+home-page/home-news/home-news.component';
|
||||
.jumbotron {
|
||||
background-color: transparent;
|
||||
}
|
5
themes/mantis/app/+home-page/home-page.component.html
Normal file
5
themes/mantis/app/+home-page/home-page.component.html
Normal file
@@ -0,0 +1,5 @@
|
||||
<ds-home-news></ds-home-news>
|
||||
<div class="container">
|
||||
<ds-search-form class="d-block pt-4 pb-3"></ds-search-form>
|
||||
<ds-top-level-community-list></ds-top-level-community-list>
|
||||
</div>
|
50
themes/mantis/app/+home-page/home-page.component.scss
Normal file
50
themes/mantis/app/+home-page/home-page.component.scss
Normal file
@@ -0,0 +1,50 @@
|
||||
div.background-image {
|
||||
color: white;
|
||||
background-color: $info;
|
||||
position: relative;
|
||||
background-position-y: -200px;
|
||||
background-image: url('/assets/images/banner.jpg');
|
||||
background-size: cover;
|
||||
@media screen and (max-width: map-get($grid-breakpoints, lg)) {
|
||||
background-position-y: 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
position: relative;
|
||||
text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.6);
|
||||
|
||||
&:before, &:after {
|
||||
content: '';
|
||||
display: block;
|
||||
width: $banner-background-gradient-width;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
&:before {
|
||||
background: linear-gradient(to left, $banner-text-background, transparent);
|
||||
left: -$banner-background-gradient-width;
|
||||
|
||||
}
|
||||
|
||||
&:after {
|
||||
background: linear-gradient(to right, $banner-text-background, transparent);
|
||||
right: -$banner-background-gradient-width;
|
||||
}
|
||||
|
||||
background-color: $banner-text-background;
|
||||
}
|
||||
|
||||
|
||||
small.credits {
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
opacity: 0.3;
|
||||
position: absolute;
|
||||
right: $spacer;
|
||||
bottom: 0;
|
||||
}
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
<a *ngIf="isVisible | async" class="d-flex flex-row"
|
||||
[routerLink]="[getSearchLink()]"
|
||||
[queryParams]="addQueryParams" queryParamsHandling="merge">
|
||||
<input type="checkbox" [checked]="false" class="my-1 align-self-stretch"/>
|
||||
<span class="filter-value px-1">{{filterValue.value}}</span>
|
||||
<span class="float-right filter-value-count ml-auto">
|
||||
<span class="badge badge-primary badge-pill">{{filterValue.count}}</span>
|
||||
</span>
|
||||
</a>
|
@@ -0,0 +1,8 @@
|
||||
<a *ngIf="isVisible | async" class="d-flex flex-row"
|
||||
[routerLink]="[getSearchLink()]"
|
||||
[queryParams]="changeQueryParams" queryParamsHandling="merge">
|
||||
<span class="filter-value px-1">{{filterValue.value}}</span>
|
||||
<span class="float-right filter-value-count ml-auto">
|
||||
<span class="badge badge-primary badge-pill">{{filterValue.count}}</span>
|
||||
</span>
|
||||
</a>
|
@@ -0,0 +1,7 @@
|
||||
<div class="facet-filter d-block mb-3 px-3 py-2" *ngIf="active$ | async">
|
||||
<div (click)="toggle()" class="filter-name"><h5 class="d-inline-block mb-0">{{'search.filters.filter.' + filter.name + '.head'| translate}}</h5> <span class="filter-toggle fas float-right text-info"
|
||||
[ngClass]="(collapsed$ | async) ? 'fa-caret-down' : 'fa-caret-up'"></span></div>
|
||||
<div [@slide]="(collapsed$ | async) ? 'collapsed' : 'expanded'" (@slide.start)="startSlide($event)" (@slide.done)="finishSlide($event)" class="search-filter-wrapper" [ngClass]="{'closed' : closed}">
|
||||
<ds-search-facet-filter-wrapper [filterConfig]="filter"></ds-search-facet-filter-wrapper>
|
||||
</div>
|
||||
</div>
|
@@ -0,0 +1,10 @@
|
||||
@import '../../../../../../src/app/+search-page/search-filters/search-filter/search-filter.component';
|
||||
|
||||
.facet-filter {
|
||||
background-color: map-get($theme-colors, light);
|
||||
border-radius: $border-radius;
|
||||
|
||||
h5 {
|
||||
font-size: 1.1rem
|
||||
}
|
||||
}
|
@@ -0,0 +1,5 @@
|
||||
@import '../../../../../../../src/app/+search-page/search-filters/search-filter/search-range-filter/search-range-filter.component';
|
||||
|
||||
::ng-deep .noUi-connect {
|
||||
background: $info;
|
||||
}
|
@@ -0,0 +1,7 @@
|
||||
<h3>{{"search.filters.head" | translate}}</h3>
|
||||
<div *ngIf="(filters | async)?.hasSucceeded">
|
||||
<div *ngFor="let filter of (filters | async)?.payload">
|
||||
<ds-search-filter [filter]="filter"></ds-search-filter>
|
||||
</div>
|
||||
</div>
|
||||
<a class="btn btn-primary" [routerLink]="[getSearchLink()]" [queryParams]="clearParams | async" queryParamsHandling="merge" role="button">{{"search.filters.reset" | translate}}</a>
|
@@ -0,0 +1,24 @@
|
||||
<ng-container *ngVar="(searchOptions$ | async) as config">
|
||||
<h3>{{ 'search.sidebar.settings.title' | translate}}</h3>
|
||||
<div *ngIf="config?.sort" class="setting-option result-order-settings mb-3 px-3 py-2">
|
||||
<h5 class="mb-0">{{ 'search.sidebar.settings.sort-by' | translate}}</h5>
|
||||
<select class="form-control my-2" (change)="reloadOrder($event)">
|
||||
<option *ngFor="let sortOption of searchOptionPossibilities"
|
||||
[value]="sortOption.field + ',' + sortOption.direction.toString()"
|
||||
[selected]="sortOption.field === config?.sort.field && sortOption.direction === (config?.sort.direction)? 'selected': null">
|
||||
{{'sorting.' + sortOption.field + '.' + sortOption.direction | translate}}
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="setting-option page-size-settings mb-3 px-3 py-2">
|
||||
<h5 class="mb-0">{{ 'search.sidebar.settings.rpp' | translate}}</h5>
|
||||
<select class="form-control my-2" (change)="reloadRPP($event)">
|
||||
<option *ngFor="let pageSizeOption of config?.pagination.pageSizeOptions"
|
||||
[value]="pageSizeOption"
|
||||
[selected]="pageSizeOption === +config?.pagination.pageSize ? 'selected': null">
|
||||
{{pageSizeOption}}
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</ng-container>
|
@@ -0,0 +1,10 @@
|
||||
@import '../../../../../src/app/+search-page/search-settings/search-settings.component';
|
||||
|
||||
.setting-option {
|
||||
background-color: map-get($theme-colors, light);
|
||||
border-radius: $border-radius;
|
||||
h5 {
|
||||
font-size: 1.1rem
|
||||
}
|
||||
}
|
||||
|
16
themes/mantis/app/navbar/navbar.component.html
Normal file
16
themes/mantis/app/navbar/navbar.component.html
Normal file
@@ -0,0 +1,16 @@
|
||||
<nav [ngClass]="{'open': !(menuCollapsed | async)}"
|
||||
[@slideMobileNav]="!(windowService.isXsOrSm() | async) ? 'default' : ((menuCollapsed | async) ? 'collapsed' : 'expanded')"
|
||||
class="navbar navbar-light navbar-expand-md p-md-0 navbar-container"> <!-- TODO remove navbar-container class when https://github.com/twbs/bootstrap/issues/24726 is fixed -->
|
||||
<div class="container">
|
||||
<div class="reset-padding-md w-100">
|
||||
<div id="collapsingNav">
|
||||
<ul class="navbar-nav mr-auto shadow-none">
|
||||
<ng-container *ngFor="let section of (sections | async)">
|
||||
<ng-container
|
||||
*ngComponentOutlet="sectionComponents.get(section.id); injector: sectionInjectors.get(section.id);"></ng-container>
|
||||
</ng-container>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
7
themes/mantis/app/navbar/navbar.component.scss
Normal file
7
themes/mantis/app/navbar/navbar.component.scss
Normal file
@@ -0,0 +1,7 @@
|
||||
@import '../../../../src/app/navbar/navbar.component.scss';
|
||||
|
||||
nav.navbar {
|
||||
border-bottom: 5px $green solid;
|
||||
}
|
||||
|
||||
|
@@ -0,0 +1,21 @@
|
||||
<form #form="ngForm" (ngSubmit)="onSubmit(form.value)" class="row" action="/search">
|
||||
<div *ngIf="isNotEmpty(scopes)" class="col-12 col-sm-3">
|
||||
<select [(ngModel)]="scope" name="scope" class="form-control" aria-label="Search scope"
|
||||
(change)="onScopeChange($event.target.value)">
|
||||
<option value>{{'search.form.search_dspace' | translate}}</option>
|
||||
<option *ngFor="let scopeOption of scopes"
|
||||
[value]="scopeOption.id">{{scopeOption?.name ? scopeOption.name : 'search.form.search_dspace' | translate}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div [ngClass]="{'col-sm-9': isNotEmpty(scopes)}" class="col-12">
|
||||
<div class="form-group input-group"
|
||||
[ngClass]="{'input-group-lg': large}">
|
||||
<input type="text" [(ngModel)]="query" name="query" class="form-control"
|
||||
aria-label="Search input">
|
||||
<span class="input-group-append">
|
||||
<button type="submit"
|
||||
class="search-button btn btn-{{brandColor}}">{{ ('search.form.search' | translate) }}</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
19
themes/mantis/styles/_bootstrap_variables.scss
Normal file
19
themes/mantis/styles/_bootstrap_variables.scss
Normal file
@@ -0,0 +1,19 @@
|
||||
@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,200i,300,300i,400,400i,600,600i,700,700i,900,900i&subset=cyrillic,cyrillic-ext,greek,greek-ext,latin-ext,vietnamese');
|
||||
|
||||
$font-family-sans-serif: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
$gray-100: #e8ebf3 !default; // #eee
|
||||
$gray-800: #444444 !default; // #444
|
||||
|
||||
$navbar-dark-color: #FFFFFF;
|
||||
|
||||
/* Reassign color vars to semantic color scheme */
|
||||
$blue: #43515f !default;
|
||||
$green: #92C642 !default;
|
||||
$cyan: #2e80a3 !default;
|
||||
$yellow: #ec9433 !default;
|
||||
$red: #CF4444 !default;
|
||||
$dark: #43515f !default;
|
||||
|
||||
$body-color: $gray-800 !default;
|
||||
|
||||
$yiq-contrasted-threshold: 170 !default;
|
2
themes/mantis/styles/_custom_variables.scss
Normal file
2
themes/mantis/styles/_custom_variables.scss
Normal file
@@ -0,0 +1,2 @@
|
||||
$banner-text-background: rgba(0, 0, 0, 0.35);
|
||||
$banner-background-gradient-width: 300px;
|
Reference in New Issue
Block a user