diff --git a/.github/workflows/run-cypress.yml b/.github/workflows/run-cypress.yml
index e65fd16b87..c09feb738b 100644
--- a/.github/workflows/run-cypress.yml
+++ b/.github/workflows/run-cypress.yml
@@ -45,10 +45,4 @@ jobs:
' && \
docker compose exec -T cypress bash -c '
yarn install && cypress run --spec "cypress/integration/skeune/**/*.spec.js,cypress/integration/shared/*.spec.js" --browser=chrome --headless
- ' && \
- docker compose exec -T --user www-data engine.dev.openconext.local bash -c '
- EB_THEME=openconext ./theme/scripts/prepare-test.js
- ' && \
- docker compose exec -T cypress bash -c '
- cypress run --spec "cypress/integration/openconext/**/*.spec.js" --browser=chrome --headless
'
diff --git a/CHANGELOG.md b/CHANGELOG.md
index feff76a898..2c7466d4bb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,6 +15,9 @@ the EngineBlock wiki.
Features:
* Added `coin:azure_domain_hint` configuration option for IdPs. When set, EngineBlock appends a `whr=` query parameter to the HTTP-Redirect AuthnRequest sent to the IdP, allowing Microsoft Azure / EntraID to skip the account picker (#1864).
+Maintenance:
+* Removed the `openconext` theme. The `skeune` theme is now the only supported theme and the default. (#1980)
+
## UNRELEASED 7.2.0
Upgrade to Symfony 7.4
Upgrade to `doctrine/dbal` 4
diff --git a/tests/e2e/cypress/integration/openconext/consent/consent.material.spec.js b/tests/e2e/cypress/integration/openconext/consent/consent.material.spec.js
deleted file mode 100644
index a3392e6184..0000000000
--- a/tests/e2e/cypress/integration/openconext/consent/consent.material.spec.js
+++ /dev/null
@@ -1,51 +0,0 @@
-context('Consent on Material theme', () => {
-
- beforeEach(() => {
- cy.visit('https://engine.dev.openconext.local/functional-testing/consent');
- });
-
- it('gives openconext information', () => {
- cy.get('a.help[data-slidein="about"]')
- .click()
- .get('section h1')
- .should('be.visible')
- .and('contain.text', 'Logging in through OpenConext');
-
- cy.get('div.about a.close')
- .click();
- });
-
- it('shows information on how to report incorrect data', () => {
- cy.get('a.small')
- .click()
- .get('section h1')
- .should('be.visible')
- .and('contain.text', 'Is the data shown incorrect?');
-
- cy.get('div.correction-idp a.close')
- .click();
- });
-
- it('can show additional attributes', () => {
- cy.get('span.show-more')
- .click()
- .get('td[data-identifier="urn:mace:dir:attribute-def:isMemberOf"]')
- .should('be.visible')
- .and('contain.text', 'Member of organization');
- });
-
- it('can decline consent', () => {
- cy.get('div.slidein.reject')
- .should('be.hidden');
-
- cy.get('a#decline-terms')
- .click()
- .get('section h1')
- .should('be.visible')
- .and('contain.text', 'You don\'t want to share your data with the service');
-
- cy.get('div.slidein.reject')
- .should('be.visible');
- });
-
-});
diff --git a/tests/e2e/cypress/integration/openconext/wayf/UnconnectedIdpPicker.spec.js b/tests/e2e/cypress/integration/openconext/wayf/UnconnectedIdpPicker.spec.js
deleted file mode 100644
index 2130ae0a56..0000000000
--- a/tests/e2e/cypress/integration/openconext/wayf/UnconnectedIdpPicker.spec.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import {UnconnectedIdpPicker} from "../../../../../../theme/openconext/javascripts/wayf/UnconnectedIdpPicker";
-
-it('Check if the UnconnectedIdpPicker constructor was called', () => {
- const unconnectedIdpPicker = new UnconnectedIdpPicker(null, null, null);
-
- expect(unconnectedIdpPicker).instanceof(UnconnectedIdpPicker);
-});
diff --git a/tests/e2e/cypress/integration/openconext/wayf/WayfMouseBehaviour.spec.js b/tests/e2e/cypress/integration/openconext/wayf/WayfMouseBehaviour.spec.js
deleted file mode 100644
index 11a0f92fa5..0000000000
--- a/tests/e2e/cypress/integration/openconext/wayf/WayfMouseBehaviour.spec.js
+++ /dev/null
@@ -1,49 +0,0 @@
-context('WayfMouseBehaviour', () => {
-
- /**
- * Reproduction of the behaviour, described in:
- * https://www.pivotaltracker.com/story/show/165056451
- *
- * Skip this test until proper hover support is added to Cypress.
- */
- it.skip('Disconnected IdPs should be highlighted on mouse hover', () => {
- // Open a dummy wayf with 5 connected IdPs and 5 unconnected IdPs
- cy.visit('https://engine.dev.openconext.local/functional-testing/wayf?connectedIdps=10&displayUnconnectedIdpsWayf=true&unconnectedIdps=5');
- cy.get('#unconnected-idp-picker > div > div.idp-list > a.result.active.noaccess:nth-child(1)')
- .hover()
- .should('have.class', 'focussed');
- });
- /**
- * Reproduction of the behaviour, described in:
- * https://www.pivotaltracker.com/story/show/165021022
- */
- it('Connected IdP should respond to mouse click after clearing previous selections', () => {
- // Open a dummy wayf with 5 connected IdPs
- cy.visit('https://engine.dev.openconext.local/functional-testing/wayf?connectedIdps=10&displayUnconnectedIdpsWayf=true&unconnectedIdps=5');
- // Click the first IdP, adding it to the list of previously chosen IdPs
- cy.get('a.result.active.access:nth-child(1)').click({force:true});
- // We visit the fake IdP, verify the right redirect is performed
- cy.location().should((loc) => {
- expect(loc.href).to.eq('https://engine.dev.openconext.local/?idp=https://example.com/entityId/1');
- });
- // Go back to the WAYF
- cy.visit('https://engine.dev.openconext.local/functional-testing/wayf?connectedIdps=10&displayUnconnectedIdpsWayf=true&unconnectedIdps=5');
- // Click the second IdP, adding it to the list of previously chosen IdPs
- cy.get('a.result.active.access:nth-child(2)').click({force:true});
- // We visit the fake IdP, verify the right redirect is performed
- cy.location().should((loc) => {
- expect(loc.href).to.eq('https://engine.dev.openconext.local/?idp=https://example.com/entityId/2');
- });
- // Go back to the WAYF
- cy.visit('https://engine.dev.openconext.local/functional-testing/wayf?connectedIdps=10&displayUnconnectedIdpsWayf=true&unconnectedIdps=5');
- cy.get('div.preselection header h2')
- .should('contain.text', 'Previously chosen:');
- cy.get('.edit')
- .should('have.text', 'edit')
- .click();
- cy.get('span.deleteable').first().click({force:true});
- cy.get('span.deleteable').click({force:true});
- cy.get('div.preselection header h2')
- .should('not.be.visible');
- });
-});
diff --git a/tests/e2e/cypress/integration/openconext/wayf/WayfShowsConnectedIdps.spec.js b/tests/e2e/cypress/integration/openconext/wayf/WayfShowsConnectedIdps.spec.js
deleted file mode 100644
index b752c417c2..0000000000
--- a/tests/e2e/cypress/integration/openconext/wayf/WayfShowsConnectedIdps.spec.js
+++ /dev/null
@@ -1,61 +0,0 @@
-context('WayfMouseBehaviour', () => {
-
- it('Should show five connected IdPs and the search field', () => {
- cy.visit('https://engine.dev.openconext.local/functional-testing/wayf');
-
- // Load the connected IdPs by selecting their h3 titles
- cy.countIdps(7)
- .eq(2)
- .should('have.text', 'Connected IdP 3 en');
-
- // Test the search option by filtering on IdP 4, should yield one search result
- cy.get('.mod-search-input').type('IdP 4');
-
- // After filtering the search results, verify one result is visible
- cy.countIdps(1).should('have.text', 'Connected IdP 4 en');
-
- cy.onPage('Select an organisation to login to the service');
- // Ensure some elements are NOT on the page
- cy.notOnPage('Identity providers without access').should('not.exist');
- cy.notOnPage('Remember my choice');
- cy.notOnPage('Return to service provider');
-
- });
-
- it('Should show ten connected IdPs', () => {
- cy.visit('https://engine.dev.openconext.local/functional-testing/wayf?connectedIdps=10&addDiscoveries=0');
- cy.countIdps(10);
- });
-
- it('Should show no connected IdPs when cutoff point is configured', () => {
- cy.visit('https://engine.dev.openconext.local/functional-testing/wayf?connectedIdps=6&cutoffPointForShowingUnfilteredIdps=5');
- cy.countIdps(0);
-
- cy.get('.mod-search-input').type('IdP');
- cy.countIdps(6);
- });
-
- it('Should show the return to service link when configured', () => {
- cy.visit('https://engine.dev.openconext.local/functional-testing/wayf?connectedIdps=5&backLink=true');
- cy.onPage('Select an organisation to login to the service');
- cy.onPage('Return to service provider');
-
- // Ensure some elements are NOT on the page
- cy.notOnPage('Identity providers without access');
- cy.notOnPage('Remember my choice');
-
- // To be more precise, the links should be in the header and footer
- cy.get('.mod-header .comp-links li:nth-child(1) a').should('have.text', 'Return to service provider');
- cy.get('.footer-menu .comp-links li:nth-child(2) a').should('have.text', 'Return to service provider');
- });
-
- it('Should show the remember my choice option', () => {
- cy.visit('https://engine.dev.openconext.local/functional-testing/wayf?connectedIdps=5&rememberChoiceFeature=true');
- // Ensure some elements are on the page
- cy.onPage('Select an organisation to login to the service');
- cy.onPage('Remember my choice');
- // Ensure some elements are NOT on the page
- cy.notOnPage('Identity providers without access');
- cy.notOnPage('Return to service provideraccess');
- });
-})
diff --git a/tests/e2e/cypress/visual-regression/openconext/ConsentPage.spec.js b/tests/e2e/cypress/visual-regression/openconext/ConsentPage.spec.js
deleted file mode 100644
index 39169a712c..0000000000
--- a/tests/e2e/cypress/visual-regression/openconext/ConsentPage.spec.js
+++ /dev/null
@@ -1,21 +0,0 @@
-const viewports = [
- {width: 375, height: 667},
- {width: 1920, height: 1080},
-];
-
-const pageTests = [
- {
- title: 'default',
- url: 'https://engine.dev.openconext.local/functional-testing/consent'
- }
-];
-
-context('Consent', () => {
- viewports.forEach((viewport) => {
- pageTests.forEach((pageDetails) => {
- it('render ' + pageDetails.title + ' ' + viewport.width + 'x' + viewport.height, () => {
- cy.matchImageSnapshots(viewport, pageDetails);
- });
- });
- });
-});
diff --git a/tests/e2e/cypress/visual-regression/openconext/ErrorPage.spec.js b/tests/e2e/cypress/visual-regression/openconext/ErrorPage.spec.js
deleted file mode 100644
index 79687d5d7b..0000000000
--- a/tests/e2e/cypress/visual-regression/openconext/ErrorPage.spec.js
+++ /dev/null
@@ -1,108 +0,0 @@
-const viewports = [
- {width: 375, height: 667},
- {width: 1920, height: 1080},
-];
-
-const pageTests = [
- {
- title: 'unable-to-receive-message',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=unable-to-receive-message&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98", "serviceProvider":"https://current-sp.entity-id.org/metadata","serviceProviderName":"OpenConext Drop Supplies SP"}'
- }, {
- title: 'session-lost',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=session-lost'
- }, {
- title: 'session-not-started',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=session-not-started'
- }, {
- title: 'no-idps',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=no-idps&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata", "serviceProviderName":"OpenConext Drop Supplies SP"}'
- }, {
- title: 'no-idps-sp-proxy',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=no-idps&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914","ipAddress":"192.168.66.98","currentServiceProvider":"https://current-sp.entity-id.org/proxy-metadata","serviceProvider":"https://current-sp.entity-id.org/proxy-metadata","serviceProviderName":"OpenConext Drop Supplies SP","proxyServiceProvider":"https://current-sp.entity-id.org/metadata"}'
- }, {
- title: 'invalid-acs-location',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=invalid-acs-location&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata", "serviceProviderName":"OpenConext Drop Supplies SP","IdentityProvider":"https://current-idp.entity-id.org/metadata"}'
- }, {
- title: 'unsupported-acs-location-scheme',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=unsupported-acs-location-scheme&feedback-info={"statusCode": "418", "statusMessage": "(No message provided)", "requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata", "serviceProviderName": "OpenConext Drop Supplies SP","IdentityProvider":"https://current-idp.entity-id.org/metadata"}'
- }, {
- title: 'missing-required-fields',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=missing-required-fields&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98", "serviceProvider":"https://current-sp.entity-id.org/metadata", "serviceProviderName": "OpenConext Drop Supplies SP","IdentityProvider":"https://current-idp.entity-id.org/metadata"}'
- }, {
- title: 'invalid-acs-binding',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=invalid-acs-binding&feedback-info={"serviceProvider":"https://current-sp.entity-id.org/metadata", "serviceProviderName": "OpenConext Drop Supplies SP","IdentityProvider":"https://current-idp.entity-id.org/metadata"}'
- }, {
- title: 'received-error-status-code',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=received-error-status-code'
- }, {
- title: 'received-invalid-signed-response',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=received-invalid-signed-response&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata", "serviceProviderName": "OpenConext Drop Supplies SP","IdentityProvider":"https://current-idp.entity-id.org/metadata"}'
- }, {
- title: 'received-invalid-response',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=received-invalid-response&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata", "serviceProviderName": "OpenConext Drop Supplies SP","IdentityProvider":"https://current-idp.entity-id.org/metadata"}'
- }, {
- title: 'unknown_requesterid_in_authnrequest',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=unknown-requesterid-in-authnrequest&feedback-info={"Idp Hash": "64531cc179d0d2e66243c30e58125f0a", "requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata", "serviceProviderName": "OpenConext Drop Supplies SP"}'
- }, {
- title: 'unknown-preselected-idp',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=unknown-preselected-idp&feedback-info={"Idp Hash": "64531cc179d0d2e66243c30e58125f0a", "requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata", "serviceProviderName": "OpenConext Drop Supplies SP"}'
- }, {
- title: 'stuck-in-authentication-loop',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=stuck-in-authentication-loop&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata", "serviceProviderName": "OpenConext Drop Supplies SP","IdentityProvider":"https://current-idp.entity-id.org/metadata"}'
- }, {
- title: 'clock-issue',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=clock-issue&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata", "serviceProviderName": "OpenConext Drop Supplies SP","IdentityProvider":"https://current-idp.entity-id.org/metadata"}'
- }, {
- title: 'unsupported-signature-method',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=unsupported-signature-method&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata","serviceProviderName":"OpenConext Drop Supplies SP"}¶meters={"signatureMethod":"https://www.w3.org/2000/09/xmldsig%23rsa-sha1"}'
- }, {
- title: 'unknown-service-provider',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=unknown-service-provider&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata","serviceProviderName":"OpenConext Drop Supplies SP"}¶meters={"entityId":"https://serviceregistry.dev.openconext.local/simplesaml/module.php/saml/sp/metadata.php/default-sp"}'
- }, {
- title: 'unknown-identity-provider',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=unknown-identity-provider&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","IdentityProvider":"https://current-idp.entity-id.org/metadata","serviceProviderName":"OpenConext Drop Supplies SP"}¶meters={"entityId":"https://serviceregistry.dev.openconext.local/simplesaml/module.php/saml/idp/metadata.php/default-idp"}'
- }, {
- title: 'invalid-attribute-value',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=invalid-attribute-value&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata","serviceProviderName":"OpenConext Drop Supplies SP","IdentityProvider":"https://current-idp.entity-id.org/metadata"}¶meters={"attributeName":"schacHomeOrganization","attributeValue":"openconext"}'
- }, {
- title: 'no-authentication-request-received',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=no-authentication-request-received¶meters={"message":"No SAMLRequest parameter was found in the HTTP POST request parameters"}'
- }, {
- title: 'authorization-policy-violation',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=authorization-policy-violation&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata","serviceProviderName":"OpenConext Drop Supplies SP","IdentityProvider":"https://current-idp.entity-id.org/metadata"}¶meters={"logo":{"height":"96","width":"96","url":"https://static.dev.openconext.local/media/conext_logo.png"},"policyDecisionMessage":"No localized deny messages present"}'
- }, {
- title: 'uncaught-error',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=unknown-error&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata","serviceProviderName":"OpenConext Drop Supplies SP","IdentityProvider":"https://current-idp.entity-id.org/metadata"}'
- }, {
- title: 'authn-context-class-ref-blacklisted',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=authn-context-class-ref-blacklisted&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata","serviceProviderName":"OpenConext Drop Supplies SP","IdentityProvider":"https://current-idp.entity-id.org/metadata"}'
- }, {
- title: 'stepup-callout-unmet-loa',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=stepup-callout-unmet-loa&feedback-info=%7B%22statusCode%22%3A%22Responder%2FAuthnFailed%22%2C%22statusMessage%22%3A%22Authentication+cancelled+by+user%22%2C%22requestId%22%3A%225cb4bd3879b49%22%2C%22ipAddress%22%3A%22192.168.66.98%22%2C%22artCode%22%3A%2231914%22%7D&lang=en'
- }, {
- title: 'stepup-callout-user-cancelled',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=stepup-callout-user-cancelled&feedback-info=%7B%22statusCode%22%3A%22Responder%2FAuthnFailed%22%2C%22statusMessage%22%3A%22Authentication+cancelled+by+user%22%2C%22requestId%22%3A%225cb4bd3879b49%22%2C%22ipAddress%22%3A%22192.168.66.98%22%2C%22artCode%22%3A%2231914%22%7D&lang=en'
- }, {
- title: 'stepup-callout-unknown',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=stepup-callout-unknown&feedback-info=%7B%22statusCode%22%3A%22Responder%2FAuthnFailed%22%2C%22statusMessage%22%3A%22Authentication+cancelled+by+user%22%2C%22requestId%22%3A%225cb4bd3879b49%22%2C%22ipAddress%22%3A%22192.168.66.98%22%2C%22artCode%22%3A%2231914%22%7D&lang=en'
- }, {
- title: 'metadata-entity-id-not-found',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=metadata-entity-not-found¶meters={"message":"Could not find your entity"}&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98"}'
- }, {
- title: 'invalid-mfa-authn-context-class-ref',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=invalid-mfa-authn-context-class-ref&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata","serviceProviderName":"OpenConext Drop Supplies SP","IdentityProvider":"https://current-idp.entity-id.org/metadata"}',
- }, {
- title: '',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=invalid-mfa-authn-context-class-ref&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata","serviceProviderName":"OpenConext Drop Supplies SP","IdentityProvider":"https://current-idp.entity-id.org/metadata"}',
- }
-];
-
-context('Error', () => {
- viewports.forEach((viewport) => {
- pageTests.forEach((pageDetails) => {
- it('render ' + pageDetails.title + ' ' + viewport.width + 'x' + viewport.height, () => {
- cy.matchImageSnapshots(viewport, pageDetails);
- });
- });
- });
-});
diff --git a/tests/e2e/cypress/visual-regression/openconext/Footer.spec.js b/tests/e2e/cypress/visual-regression/openconext/Footer.spec.js
deleted file mode 100644
index f20230f0da..0000000000
--- a/tests/e2e/cypress/visual-regression/openconext/Footer.spec.js
+++ /dev/null
@@ -1,29 +0,0 @@
-const viewports = [
- {width: 375, height: 667},
- {width: 1920, height: 1080},
-];
-
-const pageTests = [
- { title: 'all-buttons-visible',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=unable-to-receive-message&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata", "serviceProviderName": "OpenConext Drop Supplies SP","IdentityProvider":"https://mock-idp"}'
- }, {
- title: 'only-support-email-hidden',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=unable-to-receive-message'
- }, {
- title: 'only-wiki-hidden',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=missing-required-fields&feedback-info={"requestId":"5cb4bd3879b49","artCode":"31914", "ipAddress":"192.168.66.98","serviceProvider":"https://current-sp.entity-id.org/metadata", "serviceProviderName": "OpenConext Drop Supplies SP","IdentityProvider":"https://mock-idp"}'
- }, {
- title: 'support-email-and-wiki-button-hidden',
- url: 'https://engine.dev.openconext.local/functional-testing/feedback?template=missing-required-fields'
- },
-];
-
-context('Footer', () => {
- viewports.forEach((viewport) => {
- pageTests.forEach((pageDetails) => {
- it('render ' + pageDetails.title + ' ' + viewport.width + 'x' + viewport.height, () => {
- cy.matchImageSnapshots(viewport, pageDetails);
- });
- });
- });
-});
diff --git a/theme/openconext/images/logo.png b/theme/openconext/images/logo.png
deleted file mode 100644
index 7b1f04fe9d..0000000000
Binary files a/theme/openconext/images/logo.png and /dev/null differ
diff --git a/theme/openconext/javascripts/application.js b/theme/openconext/javascripts/application.js
deleted file mode 100644
index c517d0aae6..0000000000
--- a/theme/openconext/javascripts/application.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import {initializeIndex} from "./index";
-import {initializeWayf} from "./wayf";
-import {initializeConsent} from './consent';
-
-initializeIndex();
-initializeWayf();
-initializeConsent();
diff --git a/theme/openconext/javascripts/consent.js b/theme/openconext/javascripts/consent.js
deleted file mode 100644
index cac589a079..0000000000
--- a/theme/openconext/javascripts/consent.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import {focusAcceptButton} from './consent/focusAcceptButton';
-import {initTooltips} from './consent/initTooltips';
-import {initAttributesToggle} from './consent/initAttributesToggle';
-import {initSlideIns} from './consent/initSlideIns';
-import {initializePage} from '../../base/javascripts/page';
-import {hideNoScript} from './hideNoScript';
-
-export const initializeConsent = () => {
- const callbacksAfterLoad = () => {
- focusAcceptButton('#accept_terms_button');
- initTooltips();
- initAttributesToggle();
- initSlideIns();
- };
-
- initializePage('.mod-content.consent', callbacksAfterLoad, hideNoScript);
-};
diff --git a/theme/openconext/javascripts/consent/focusAcceptButton.js b/theme/openconext/javascripts/consent/focusAcceptButton.js
deleted file mode 100644
index d6539a1775..0000000000
--- a/theme/openconext/javascripts/consent/focusAcceptButton.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// Only focus on the accept terms button if it is visible on the page (to prevent scrolldown)
-/**
- * Only focus on the accept terms button if it is visible on the page (to prevent scrolldown)
- *
- * @param querySelector string the css selector for the accept button
- */
-export const focusAcceptButton = (querySelector) => {
- if (isVisibleOnPage(querySelector)){
- document.querySelector(querySelector).focus();
- }
-};
-/**
- * Tests if the element (specified by css selector) is visible on the page. Once the element is partly in view the method
- * will start returning true.
- *
- * @param querySelector string the css selector for the element
- * @returns {boolean}
- */
-const isVisibleOnPage = (querySelector) => {
- const windowHeight = window.innerHeight;
- const elementTopPosition = document.querySelector(querySelector).offsetTop;
- return windowHeight > elementTopPosition;
-};
diff --git a/theme/openconext/javascripts/consent/initAttributesToggle.js b/theme/openconext/javascripts/consent/initAttributesToggle.js
deleted file mode 100644
index 1bdac495e5..0000000000
--- a/theme/openconext/javascripts/consent/initAttributesToggle.js
+++ /dev/null
@@ -1,13 +0,0 @@
-export const initAttributesToggle = () => {
- Array.prototype.forEach.call(
- document.querySelectorAll('tr.toggle-attributes a'),
- (anchor) => anchor.addEventListener(
- 'click',
- (event) => {
- event.preventDefault();
-
- anchor.closest('tbody').classList.toggle('expanded');
- }
- )
- );
-};
diff --git a/theme/openconext/javascripts/consent/initSlideIns.js b/theme/openconext/javascripts/consent/initSlideIns.js
deleted file mode 100644
index 0ece65e866..0000000000
--- a/theme/openconext/javascripts/consent/initSlideIns.js
+++ /dev/null
@@ -1,33 +0,0 @@
-export const initSlideIns = () => {
- Array.prototype.forEach.call(
- document.querySelectorAll('a[data-slidein]'),
- (anchor) => anchor.addEventListener(
- 'click',
- (event) => {
- event.preventDefault();
-
- const slideIn = document.querySelector(
- '.slidein.' + anchor.getAttribute('data-slidein')
- );
-
- if (slideIn !== null) {
- slideIn.classList.add('visible');
- document.body.classList.add('slidein-open');
-
- slideIn.querySelector('a.close').addEventListener(
- 'click',
- (event) => {
- event.preventDefault();
-
- slideIn.classList.remove('visible');
- document.body.classList.remove('slidein-open');
- },
- {
- once: true
- }
- );
- }
- }
- )
- );
-};
diff --git a/theme/openconext/javascripts/consent/initTooltips.js b/theme/openconext/javascripts/consent/initTooltips.js
deleted file mode 100644
index 0c13dbbadb..0000000000
--- a/theme/openconext/javascripts/consent/initTooltips.js
+++ /dev/null
@@ -1,27 +0,0 @@
-import tippy from 'tippy.js';
-
-export const initTooltips = () => {
- const anchors = document.querySelectorAll('a.tooltip');
-
- tippy(
- anchors,
- {
- animation: 'scale',
- arrow: true,
- arrowTransform: 'scale(2)',
- distance: 30,
- duration: 200,
- followCursor: true,
- placement: 'top',
- theme: 'light',
- }
- );
-
- Array.prototype.forEach.call(
- anchors,
- (anchor) => anchor.addEventListener(
- 'click',
- (event) => event.preventDefault()
- )
- );
-};
diff --git a/theme/openconext/javascripts/hideNoScript.js b/theme/openconext/javascripts/hideNoScript.js
deleted file mode 100644
index 73c1590a96..0000000000
--- a/theme/openconext/javascripts/hideNoScript.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export const hideNoScript = () => {
- document.body.className = document.body.className.replace('no-js', '');
-};
diff --git a/theme/openconext/javascripts/index.js b/theme/openconext/javascripts/index.js
deleted file mode 100644
index 7debf50cf7..0000000000
--- a/theme/openconext/javascripts/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import {replaceMetadataCertificateLinkTexts} from "../../base/javascripts/index/EngineBlockMainPage";
-import {initializePage} from '../../base/javascripts/page';
-import {hideNoScript} from './hideNoScript';
-
-export function initializeIndex() {
- initializePage('#engine-main-page', replaceMetadataCertificateLinkTexts, hideNoScript);
-}
diff --git a/theme/openconext/javascripts/wayf.js b/theme/openconext/javascripts/wayf.js
deleted file mode 100644
index 7267d2fbdf..0000000000
--- a/theme/openconext/javascripts/wayf.js
+++ /dev/null
@@ -1,44 +0,0 @@
-import {initializePage} from '../../base/javascripts/page';
-import {hideNoScript} from './hideNoScript';
-import {
- handleUnconnectedKeypicker,
- returnNewIdpPicker,
-} from './wayf/IdpPicker';
-import {RequestAccessModalHelper} from './wayf/RequestAccessModalHelper';
-import {KeyboardListener} from './wayf/KeyboardListener';
-import {MouseListener} from './wayf/MouseListener';
-import {toggleVisibility} from '../../base/javascripts/utility/toggleVisibility';
-import {searchBarEventListeners} from './wayf/searchBarEventListeners';
-import {searchFormEventListeners} from './wayf/searchFormEventListeners';
-import {interactionListeners} from '../../base/javascripts/wayf/interactionListeners';
-import {focusSearchBar} from './wayf/focusSearchBar';
-
-export function initializeWayf() {
- const callbacksAfterLoad = () => {
- // Initialize variables
- const searchBar = document.querySelector('.mod-search-input');
- const searchForm = document.querySelector('form.mod-search');
- const configuration = JSON.parse(document.getElementById('wayf-configuration').innerHTML);
- const idpPicker = returnNewIdpPicker(configuration, searchForm);
- const requestAccessModalHelper = new RequestAccessModalHelper(
- document.getElementById('request-access'),
- document.getElementById('request-access-scroller'),
- searchBar,
- configuration.requestAccessUrl
- );
- const keyboardListener = new KeyboardListener(idpPicker, searchBar, requestAccessModalHelper);
-
- // Only show the search form when javascript is enabled.
- toggleVisibility(searchForm);
-
- searchBarEventListeners(searchBar, idpPicker);
- interactionListeners(keyboardListener, new MouseListener(idpPicker, requestAccessModalHelper));
- searchFormEventListeners(searchForm, idpPicker);
- handleUnconnectedKeypicker(requestAccessModalHelper, configuration, searchForm, searchBar, idpPicker, keyboardListener);
-
- // Put focus on the searchbar if width is big enough
- focusSearchBar(searchBar);
- };
-
- initializePage('#wayf-configuration', callbacksAfterLoad, hideNoScript);
-}
diff --git a/theme/openconext/javascripts/wayf/AbstractIdpPicker.js b/theme/openconext/javascripts/wayf/AbstractIdpPicker.js
deleted file mode 100644
index 46fcfe2078..0000000000
--- a/theme/openconext/javascripts/wayf/AbstractIdpPicker.js
+++ /dev/null
@@ -1,37 +0,0 @@
-export class AbstractIdpPicker {
- constructor(searchForm, targetElement, idpList) {
- this.searchForm = searchForm;
- this.targetElement = targetElement;
- this.idpList = idpList;
-
- this.previousSearchTerm = '';
- }
-
- searchBy(searchTerm) {
- searchTerm = searchTerm.trim().toLowerCase();
-
- if (searchTerm === this.previousSearchTerm) {
- return;
- }
-
- if (searchTerm.length > this.previousSearchTerm.length) {
- this.narrowFilterBy(searchTerm);
- } else {
- this.filterBy(searchTerm);
- }
-
- this.updateFocus();
-
- this.previousSearchTerm = searchTerm;
- }
-
- narrowFilterBy(searchTerm) {
- this.idpList.narrowFilterBy(searchTerm);
- }
-
- filterBy(searchTerm) {
- this.idpList.filterBy(searchTerm);
- }
-
- updateFocus() {}
-}
diff --git a/theme/openconext/javascripts/wayf/EngineBlockMainPage.js b/theme/openconext/javascripts/wayf/EngineBlockMainPage.js
deleted file mode 100644
index 384577bcd4..0000000000
--- a/theme/openconext/javascripts/wayf/EngineBlockMainPage.js
+++ /dev/null
@@ -1,16 +0,0 @@
-export function replaceMetadataCertificateLinkTexts() {
- const $metadataCertificateLinks = document.querySelectorAll('dl.metadata-certificates-list a');
-
- for (let i = 0; i < $metadataCertificateLinks.length; i++) {
- const link = $metadataCertificateLinks[i];
-
- if (link.getAttribute('data-external-link') === "true") {
- continue;
- }
-
- // Set absolute URLs of anchors as display text
- link.textContent = window.location.protocol + '//' + window.location.hostname + link.getAttribute('href');
- }
-}
-
-
diff --git a/theme/openconext/javascripts/wayf/IdpFilter.js b/theme/openconext/javascripts/wayf/IdpFilter.js
deleted file mode 100644
index 93efb4cdf8..0000000000
--- a/theme/openconext/javascripts/wayf/IdpFilter.js
+++ /dev/null
@@ -1,7 +0,0 @@
-export class IdpFilter {
- static filterIdpsByValue(filterSet, filterValue) {
- return filterSet.filter(idp => {
- return idp.title.indexOf(filterValue) > -1 || idp.entityId.indexOf(filterValue) > -1 || idp.keywords.indexOf(filterValue) > -1;
- });
- }
-}
diff --git a/theme/openconext/javascripts/wayf/IdpList.js b/theme/openconext/javascripts/wayf/IdpList.js
deleted file mode 100644
index f5539c6e9a..0000000000
--- a/theme/openconext/javascripts/wayf/IdpList.js
+++ /dev/null
@@ -1,80 +0,0 @@
-import {IdpFilter} from "./IdpFilter";
-
-export class IdpList {
- constructor(targetElement, idpList, idpListElementFactory, cutoffPointForShowingUnfilteredIdps) {
- this.targetElement = targetElement;
- this.idpList = idpList;
- this.idpListElementFactory = idpListElementFactory;
-
- this.filterValue = '';
- this.shouldHideUnfilteredIdpList = this.idpList.length > cutoffPointForShowingUnfilteredIdps;
- this.filteredIdpList = this.idpList;
-
- this.render();
- }
-
- filterBy(filterValue) {
- this.filterValue = filterValue;
- this.filteredIdpList = IdpFilter.filterIdpsByValue(this.idpList, filterValue);
- this.render();
- }
-
- narrowFilterBy(filterValue) {
- this.filterValue = filterValue;
- this.filteredIdpList = IdpFilter.filterIdpsByValue(this.filteredIdpList, filterValue);
- this.render();
- }
-
- getFilteredIdpByIndex(index) {
- return this.filteredIdpList[index];
- }
-
- addIdp(idp) {
- this.idpList.push(idp);
- this.sortIdpListAlphabetically();
- this.filteredIdpList = this.idpList;
- this.render();
- }
-
- render() {
- const noResultsElement = this.targetElement.querySelector('.noresults');
-
- if (this.filteredIdpList.length === 0) {
- noResultsElement.classList.remove('hidden');
- } else if (noResultsElement.className.indexOf('hidden') === -1) {
- noResultsElement.classList.add('hidden');
- }
-
- if (this.filterValue.trim() === '' && this.shouldHideUnfilteredIdpList) {
- this.targetElement.classList.add('hidden');
-
- // In order to maintain correct state of the list, render no elements in the page
- const idpListElement = this.idpListElementFactory.createIdpListElementWithSelectionButtons([]);
- this.targetElement.replaceChild(idpListElement, this.targetElement.querySelector('.idp-list'));
-
- return;
- }
-
- this.targetElement.classList.remove('hidden');
-
- const idpListElement = this.idpListElementFactory.createIdpListElementWithSelectionButtons(
- this.filteredIdpList
- );
-
- this.targetElement.replaceChild(idpListElement, this.targetElement.querySelector('.idp-list'));
- }
-
- sortIdpListAlphabetically() {
- this.idpList = this.idpList.sort((idpA, idpB) => {
- if (idpA.title < idpB.title) {
- return -1;
- } else if (idpA.title > idpB.title) {
- return 1;
- }
-
- return 0;
- });
- }
-}
-
-
diff --git a/theme/openconext/javascripts/wayf/IdpListElementFactory.js b/theme/openconext/javascripts/wayf/IdpListElementFactory.js
deleted file mode 100644
index 0ee2579d6f..0000000000
--- a/theme/openconext/javascripts/wayf/IdpListElementFactory.js
+++ /dev/null
@@ -1,103 +0,0 @@
-const placeholderImage = '/images/placeholder.png';
-
-export class IdpListElementFactory {
- constructor(messages) {
- this.messages = messages;
- }
-
- createIdpListElementWithSelectionButtons(idpList) {
- const idpListElement = document.createElement('div');
- idpListElement.className = 'idp-list';
-
- for (let i = 0; i < idpList.length; i++) {
- const idpElement = document.createElement('a');
- idpElement.className = 'result active';
-
- if (idpList[i].connected) {
- idpElement.classList.add('access');
- } else {
- idpElement.classList.add('noaccess');
- }
-
- idpElement.setAttribute('href', '#');
- idpElement.setAttribute('tabindex', '-1');
-
- const logoElement = document.createElement('img');
- logoElement.className = 'logo';
- logoElement.setAttribute('loading', 'lazy');
- setLogoAndFallbackUrlOnElement(idpList[i].logo, placeholderImage, logoElement);
-
- const titleElement = document.createElement('h3');
- titleElement.textContent = idpList[i].displayTitle;
-
- idpElement.appendChild(logoElement);
- idpElement.appendChild(titleElement);
-
- if (!idpList[i].connected) {
- const actionElement = document.createElement('span');
- actionElement.className = 'c-button white action';
-
- actionElement.textContent = this.messages.requestAccess;
- actionElement.setAttribute('data-entity-id', idpList[i].entityId);
- idpElement.appendChild(actionElement);
- }
-
- idpListElement.appendChild(idpElement);
- }
-
- return idpListElement;
- }
-
- createIdpListElementWithDeleteButtons(idpList) {
- const idpListElement = document.createElement('div');
- idpListElement.className = 'idp-list show-buttons';
-
- for (let i = 0; i < idpList.length; i++) {
- const idpElement = document.createElement('a');
- idpElement.className = 'result active access';
- idpElement.setAttribute('href', '#');
- idpElement.setAttribute('tabindex', '-1');
-
- const logoElement = document.createElement('img');
- logoElement.className = 'logo';
- logoElement.setAttribute('alt', '');
- logoElement.setAttribute('loading', 'lazy');
- setLogoAndFallbackUrlOnElement(idpList[i].logo, placeholderImage, logoElement);
-
- const titleElement = document.createElement('h3');
- titleElement.textContent = idpList[i].displayTitle;
-
- const actionElement = document.createElement('span');
- actionElement.className = 'c-button action outline deleteable img';
-
- const iconElement = document.createElement('i');
- iconElement.className = 'deleteable fa fa-times';
- iconElement.setAttribute('title', 'delete');
- actionElement.appendChild(iconElement);
-
- idpElement.appendChild(logoElement);
- idpElement.appendChild(titleElement);
- idpElement.appendChild(actionElement);
-
- idpListElement.appendChild(idpElement);
- }
-
- return idpListElement;
- }
-}
-
-let failedLogos = {};
-function setLogoAndFallbackUrlOnElement(logoUrl, fallbackUrl, logoElement) {
- if (failedLogos[logoUrl] === true) {
- logoElement.setAttribute('src', fallbackUrl);
- return;
- }
-
- const logoErrorListener = () => {
- logoElement.removeEventListener('error', logoErrorListener);
- logoElement.setAttribute('src', fallbackUrl);
- failedLogos[logoUrl] = true;
- };
- logoElement.addEventListener('error', logoErrorListener);
- logoElement.setAttribute('src', logoUrl);
-}
diff --git a/theme/openconext/javascripts/wayf/IdpPicker.js b/theme/openconext/javascripts/wayf/IdpPicker.js
deleted file mode 100644
index 865ce10dcf..0000000000
--- a/theme/openconext/javascripts/wayf/IdpPicker.js
+++ /dev/null
@@ -1,310 +0,0 @@
-import {AbstractIdpPicker} from "./AbstractIdpPicker";
-import {IdpList} from './IdpList';
-import {PreviousSelectionList} from './PreviousSelectionList';
-import {PreviousSelectionStorage} from './PreviousSelectionStorage';
-import {RememberChoiceStorage} from './RememberChoiceStorage';
-import {IdpListElementFactory} from './IdpListElementFactory';
-import {UnconnectedIdpPicker} from './UnconnectedIdpPicker';
-import {toggleVisibility} from '../../../base/javascripts/utility/toggleVisibility';
-import {searchBarEventListeners} from './searchBarEventListeners';
-
-export class IdpPicker extends AbstractIdpPicker {
- constructor(searchForm, targetElement, previousSelectionList, idpList, previousSelectionStorage, rememberChoiceFeature, rememberChoiceStorage) {
- super(searchForm, targetElement, idpList);
-
- this.previousSelectionList = previousSelectionList;
- this.previousSelectionStorage = previousSelectionStorage;
-
- this.rememberChoiceFeature = rememberChoiceFeature;
- this.rememberChoiceStorage = rememberChoiceStorage;
- this.indexOfIdpUnderFocus = null;
-
- this.updateFocus();
- }
-
- narrowFilterBy(searchTerm) {
- super.narrowFilterBy(searchTerm);
-
- this.previousSelectionList.narrowFilterBy(searchTerm);
- }
-
- filterBy(searchTerm) {
- super.filterBy(searchTerm);
-
- this.previousSelectionList.filterBy(searchTerm);
- }
-
- updateFocus() {
- super.updateFocus();
-
- this.focusOnFirstIdp();
- this.indexElements();
- this.updateResultSelectedClickListeners();
- this.updateEditPreviousSelectionClickListener();
- }
-
- indexElements() {
- const $results = this.targetElement.querySelectorAll('.result');
-
- for (let i = 0; i < $results.length; i++) {
- $results[i].setAttribute('data-idp-list-index', i);
- }
- }
-
- focusOnFirstIdp() {
- this.focusOnIdpByIndex(0);
- }
-
- focusOnIdpByIndex(index) {
- const $results = this.targetElement.querySelectorAll('.result');
-
- if ($results.length === 0) {
- return;
- }
-
- if (index >= $results.length) {
- return;
- }
-
- if ($results[index].className.indexOf('focussed') > -1) {
- return;
- }
-
- const $underFocus = this.targetElement.querySelectorAll('.result.focussed');
- for (let i = 0; i < $underFocus.length; i++) {
- $underFocus[i].classList.remove('focussed');
- }
- $results[index].classList.add('focussed');
-
- this.indexOfIdpUnderFocus = index;
- }
-
- focusOnPreviousIdp() {
- if (this.indexOfIdpUnderFocus === 0) {
- return;
- }
-
- this.focusOnIdpByIndex(this.indexOfIdpUnderFocus - 1);
- }
-
- focusOnNextIdp() {
- this.focusOnIdpByIndex(this.indexOfIdpUnderFocus + 1);
- }
-
- isFocusOnFirstIdp() {
- return this.indexOfIdpUnderFocus === 0;
- }
-
- updateResultSelectedClickListeners() {
- const $results = this.targetElement.querySelectorAll('.result');
-
- for (let i = 0; i < $results.length; i++) {
- $results[i].removeEventListener('click', this.resultSelectedClickHandler());
- $results[i].addEventListener('click', this.resultSelectedClickHandler());
- }
- }
-
- resultSelectedClickHandler() {
- return (event) => {
- // If the delete button is clicked instead of the container, we do not want to select an IdP
- if (event.target.className.indexOf('deleteable') > -1) {
- return;
- }
-
- event.preventDefault();
-
- this.focusOnIdpByIndex(event.currentTarget.getAttribute('data-idp-list-index'));
- this.selectIdpUnderFocus();
- };
- }
-
- updateEditPreviousSelectionClickListener() {
- const $editButton = this.targetElement.querySelector('.edit');
- if ($editButton) {
- $editButton.removeEventListener('click', this.editPreviousSelectionClickHandler());
- $editButton.addEventListener('click', this.editPreviousSelectionClickHandler());
- }
- }
-
- editPreviousSelectionClickHandler() {
- return (event) => {
- event.preventDefault();
-
- const $previousSelectionList = this.targetElement.querySelector('.preselection .idp-list');
-
- if ($previousSelectionList.className.indexOf('show-buttons') > -1) {
- $previousSelectionList.classList.remove('show-buttons');
- } else {
- $previousSelectionList.classList.add('show-buttons');
- }
-
- const toggleText = event.currentTarget.getAttribute('data-toggle-text');
- event.currentTarget.setAttribute('data-toggle-text', event.currentTarget.textContent);
- event.currentTarget.textContent = toggleText;
-
- this.previousSelectionList.editing = !this.previousSelectionList.editing;
- this.previousSelectionList.render();
-
- this.indexElements();
- this.focusOnIdpByIndex(this.indexOfIdpUnderFocus);
-
- if (this.previousSelectionList.editing) {
- this.updateDeleteIdpFromPreviousSelectionClickListeners();
- } else {
- this.updateResultSelectedClickListeners();
- }
- };
- }
-
- updateDeleteIdpFromPreviousSelectionClickListeners() {
- const $deletionButtons = this.targetElement.querySelectorAll('.result .deleteable.action');
- for (let i = 0; i < $deletionButtons.length; i++) {
- $deletionButtons[i].removeEventListener('click', this.deleteIdpFromPreviousSelectionClickHandler());
- $deletionButtons[i].addEventListener('click', this.deleteIdpFromPreviousSelectionClickHandler());
- }
- }
-
- deleteIdpFromPreviousSelectionClickHandler() {
- return (event) => {
- event.preventDefault();
- const index = event.currentTarget.parentNode.getAttribute('data-idp-list-index');
- this.deleteIdpFromPreviousSelection(index);
- };
- }
-
- deleteIdpFromPreviousSelection(index) {
- const idp = this.previousSelectionList.getFilteredIdpByIndex(index);
- this.previousSelectionList.removeIdpByIndex(index);
- this.idpList.addIdp(idp);
- // When the last previous selection is removed, the previous chosen block is hidden, but we need an
- // explicit call to updateFocus, in order to re-register the mouse listeners on the connected IdPs.
- if (this.previousSelectionList.getLengthOfFilteredList() === 0) {
- this.updateFocus();
- } else {
- this.updateDeleteIdpFromPreviousSelectionClickListeners();
- this.indexElements();
- this.focusOnFirstIdp();
- }
-
- this.previousSelectionStorage.save(this.previousSelectionList.getPreviousSelections());
- }
-
- /**
- * Test if the current node is an unconnected/noaccess node
- * @returns {boolean}
- */
- isUnconnectedIdP() {
- return this.targetElement.querySelector('.result.focussed.noaccess') !==null;
- }
-
- /**
- * Retrieve the title and entity id from the currently focussed unconnected/noaccess node
- *
- * The data is returned as an anonymous object with a title and entityId property
- *
- * @returns {object}
- */
- getUnconnectedIdPDetails() {
- const title = this.targetElement.querySelector('.result.focussed.noaccess h3');
- const entityId = this.targetElement.querySelector('.result.focussed.noaccess span.action');
-
- return {title: title.textContent, entityId: entityId.getAttribute('data-entity-id')};
- }
-
- selectIdpUnderFocus() {
- const $focused = this.targetElement.querySelector('.result.focussed');
-
- if ($focused === null) {
- return;
- }
-
- const index = $focused.getAttribute('data-idp-list-index');
-
- let idp;
-
- if (this.previousSelectionList) {
- if (this.previousSelectionList.hasElement($focused)) {
- idp = this.previousSelectionList.getFilteredIdpByIndex(index);
- } else {
- idp = this.idpList.getFilteredIdpByIndex(index - this.previousSelectionList.getLengthOfFilteredList());
- }
-
- this.previousSelectionStorage.save(this.previousSelectionList.getListUpdatedWith(idp));
- }
- if (this.rememberChoiceFeature) {
- const $checkbox = this.targetElement.querySelector('#rememberChoice');
- if ($checkbox.checked) {
- this.rememberChoiceStorage.save(idp.entityId);
- }
- }
-
- this.searchForm.elements['form-idp'].value = idp.entityId;
- this.searchForm.submit();
- }
-}
-
-export const returnNewIdpPicker = (configuration, searchForm) => {
- const idpListElementFactory = new IdpListElementFactory(configuration.messages);
- const connectedIdpList = new IdpList(
- document.querySelector('#idp-picker .selection'),
- configuration.connectedIdps,
- idpListElementFactory,
- configuration.cutoffPointForShowingUnfilteredIdps
- );
- const previousSelectionList = new PreviousSelectionList(
- document.querySelector('#idp-picker .preselection'),
- configuration.previousSelectionList,
- idpListElementFactory
- );
-
- return new IdpPicker(
- searchForm,
- document.getElementById('idp-picker'),
- previousSelectionList,
- connectedIdpList,
- new PreviousSelectionStorage(configuration.previousSelectionCookieName),
- configuration.rememberChoiceFeature,
- new RememberChoiceStorage(configuration.rememberChoiceCookieName)
- );
-};
-
-const returnNewUnconnectedIdpPicker = (configuration, searchForm, unconnectedIdpPickerTarget) => {
- const unconnectedIdpList = new IdpList(
- document.querySelector(' #unconnected-idp-picker .selection'),
- configuration.unconnectedIdps,
- new IdpListElementFactory(configuration.messages),
- configuration.cutoffPointForShowingUnfilteredIdps
- );
-
- return new UnconnectedIdpPicker(
- searchForm,
- unconnectedIdpPickerTarget,
- unconnectedIdpList
- );
-};
-
-const registerUnconnectedIdPickerEvents = (unconnectedIdpPickerTarget, requestAccessModalHelper, keyboardListener) => {
- unconnectedIdpPickerTarget.addEventListener('click', requestAccessModalHelper.requestAccessClickHandler());
-
- // Use the keyboardListener to open the modal on ENTER presses
- unconnectedIdpPickerTarget.addEventListener('keyup', event => keyboardListener.handle(event.keyCode));
-};
-
-export const handleUnconnectedKeypicker = (requestAccessModalHelper, configuration, searchForm, searchBar, idpPicker, keyboardListener) => {
- const unconnectedIdpPickerTarget = document.getElementById('unconnected-idp-picker');
- if (unconnectedIdpPickerTarget) {
- // Only show the unconnected IdP box when javascript is enabled.
- toggleVisibility(unconnectedIdpPickerTarget);
-
- const unconnectedIdpPicker = returnNewUnconnectedIdpPicker(configuration, searchForm, unconnectedIdpPickerTarget);
-
- /**
- * Call indexElements to also include the disconnected IdPs in
- * the IdP list index, ensuring mouse and keyboard behavior
- * matches that of the connected IdP list.
- */
- idpPicker.indexElements();
- searchBarEventListeners(searchBar, unconnectedIdpPicker);
- registerUnconnectedIdPickerEvents(unconnectedIdpPickerTarget, requestAccessModalHelper, keyboardListener);
- }
-};
diff --git a/theme/openconext/javascripts/wayf/KeyboardListener.js b/theme/openconext/javascripts/wayf/KeyboardListener.js
deleted file mode 100644
index 0b41402b06..0000000000
--- a/theme/openconext/javascripts/wayf/KeyboardListener.js
+++ /dev/null
@@ -1,59 +0,0 @@
-export class KeyboardListener {
- constructor(idpPicker, searchBarElement, requestAccessModalHelper) {
- this.idpPicker = idpPicker;
- this.searchBarElement = searchBarElement;
- this.requestAccessModalHelper = requestAccessModalHelper;
- }
-
- handle(keyCode) {
- if (this.requestAccessModalHelper.modalIsOpen()) {
-
- if (keyCode === ESCAPE) {
- this.requestAccessModalHelper.closeRequestAccessModal();
- return;
- }
-
- // Don't interfere with the IDP selection list when
- // the request-access modal dialog is open.
- return;
- }
-
- if (keyCode === ARROW_DOWN) {
- if (document.activeElement === this.searchBarElement) {
- this.searchBarElement.blur();
- return;
- }
-
- this.idpPicker.focusOnNextIdp();
- return;
- }
-
- if (keyCode === ARROW_UP) {
- if (document.activeElement === this.searchBarElement) {
- return;
- }
-
- if (this.idpPicker.isFocusOnFirstIdp()) {
- this.searchBarElement.focus();
- return;
- }
-
- this.idpPicker.focusOnPreviousIdp();
- return;
- }
-
- if (keyCode === ENTER) {
- if (this.idpPicker.isUnconnectedIdP()) {
- const data = this.idpPicker.getUnconnectedIdPDetails();
- this.requestAccessModalHelper.openRequestAccessModal(data.title, data.entityId);
- } else {
- this.idpPicker.selectIdpUnderFocus();
- }
- }
- }
-}
-
-const ENTER = 13;
-const ESCAPE = 27;
-const ARROW_UP = 38;
-const ARROW_DOWN = 40;
diff --git a/theme/openconext/javascripts/wayf/MouseListener.js b/theme/openconext/javascripts/wayf/MouseListener.js
deleted file mode 100644
index c8682aba2a..0000000000
--- a/theme/openconext/javascripts/wayf/MouseListener.js
+++ /dev/null
@@ -1,20 +0,0 @@
-export class MouseListener {
- constructor(idpPicker, requestAccessModalHelper) {
- this.idpPicker = idpPicker;
- this.requestAccessModalHelper = requestAccessModalHelper;
- }
-
- handle(target) {
- if (this.requestAccessModalHelper.modalIsOpen()) {
-
- // Don't interfere with the IDP selection list when
- // the request-access modal dialog is open.
- return;
- }
-
- var index = target.getAttribute('data-idp-list-index');
- if (index !== null) {
- this.idpPicker.focusOnIdpByIndex(index);
- }
- }
-}
diff --git a/theme/openconext/javascripts/wayf/PreviousSelectionList.js b/theme/openconext/javascripts/wayf/PreviousSelectionList.js
deleted file mode 100644
index 1e0939b917..0000000000
--- a/theme/openconext/javascripts/wayf/PreviousSelectionList.js
+++ /dev/null
@@ -1,84 +0,0 @@
-import {IdpFilter} from "./IdpFilter";
-
-export class PreviousSelectionList {
- constructor(targetElement, previousSelectionList, idpListElementFactory) {
- this.targetElement = targetElement;
- this.previousSelectionList = previousSelectionList;
- this.idpListElementFactory = idpListElementFactory;
-
- this.filteredPreviousSelectionList = this.previousSelectionList;
- this.editing = false;
-
- this.render();
- }
-
- getLengthOfFilteredList() {
- return this.filteredPreviousSelectionList.length;
- }
-
- hasElement(element) {
- return this.targetElement.querySelector('.idp-list') === element.parentNode;
- }
-
- filterBy(filterValue) {
- this.filteredPreviousSelectionList = IdpFilter.filterIdpsByValue(this.previousSelectionList, filterValue);
- this.render();
- }
-
- narrowFilterBy(filterValue) {
- this.filteredPreviousSelectionList = IdpFilter.filterIdpsByValue(
- this.filteredPreviousSelectionList,
- filterValue
- );
- this.render();
- }
-
- getFilteredIdpByIndex(index) {
- return this.filteredPreviousSelectionList[index];
- }
-
- getPreviousSelections() {
- return this.previousSelectionList;
- }
-
- getListUpdatedWith(idp) {
- const previousSelectionToUpdate = this.previousSelectionList.slice(0);
- const indexInPreviousSelection = previousSelectionToUpdate.indexOf(idp);
-
- if (indexInPreviousSelection === -1) {
- idp.count = 1;
- previousSelectionToUpdate.push(idp);
- } else {
- const idpToUpdate = previousSelectionToUpdate[indexInPreviousSelection];
- idpToUpdate.count++;
- previousSelectionToUpdate[indexInPreviousSelection] = idpToUpdate;
- }
-
- return previousSelectionToUpdate.sort((idpA, idpB) => {
- return idpB.count - idpA.count;
- });
- }
-
- removeIdpByIndex(index) {
- this.previousSelectionList.splice(index, 1);
- this.filteredPreviousSelectionList = this.previousSelectionList;
- this.render();
- }
-
- render() {
- if (this.filteredPreviousSelectionList.length > 0) {
- this.targetElement.classList.remove('hidden');
- } else if (this.targetElement.className.indexOf('hidden') === -1) {
- this.targetElement.classList.add('hidden');
- }
-
- let idpListElement;
- if (this.editing === true) {
- idpListElement = this.idpListElementFactory.createIdpListElementWithDeleteButtons(this.filteredPreviousSelectionList);
- } else {
- idpListElement = this.idpListElementFactory.createIdpListElementWithSelectionButtons(this.filteredPreviousSelectionList);
- }
-
- this.targetElement.replaceChild(idpListElement, this.targetElement.querySelector('.idp-list'));
- }
-}
diff --git a/theme/openconext/javascripts/wayf/PreviousSelectionStorage.js b/theme/openconext/javascripts/wayf/PreviousSelectionStorage.js
deleted file mode 100644
index c0d2cff294..0000000000
--- a/theme/openconext/javascripts/wayf/PreviousSelectionStorage.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import Cookies from 'js-cookie';
-
-export class PreviousSelectionStorage {
- constructor(cookieName) {
- this.cookieName = cookieName;
- }
-
- save(previousSelection) {
- const simplifiedPreviousSelection = previousSelection.map((idp) => {
- return {
- 'idp': idp.entityId,
- 'count': idp.count
- };
- });
-
- Cookies.set(this.cookieName, JSON.stringify(simplifiedPreviousSelection), { expires: 365, path: '/' }, );
- }
-}
diff --git a/theme/openconext/javascripts/wayf/RememberChoiceStorage.js b/theme/openconext/javascripts/wayf/RememberChoiceStorage.js
deleted file mode 100644
index 659d8e7679..0000000000
--- a/theme/openconext/javascripts/wayf/RememberChoiceStorage.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import Cookies from 'js-cookie';
-
-export class RememberChoiceStorage {
- constructor(cookieName) {
- this.cookieName = cookieName;
- }
-
- save(entityId) {
- Cookies.set(this.cookieName, JSON.stringify(entityId), { expires: 365, path: '/' });
- }
-}
diff --git a/theme/openconext/javascripts/wayf/RequestAccessModalHelper.js b/theme/openconext/javascripts/wayf/RequestAccessModalHelper.js
deleted file mode 100644
index d9cd7b830b..0000000000
--- a/theme/openconext/javascripts/wayf/RequestAccessModalHelper.js
+++ /dev/null
@@ -1,166 +0,0 @@
-export class RequestAccessModalHelper {
- constructor(requestAccessElement, scrollerElement, searchBarElement, requestAccessUrl) {
- this.requestAccessElement = requestAccessElement;
- this.scrollerElement = scrollerElement;
- this.searchBarElement = searchBarElement;
- this.requestAccessUrl = requestAccessUrl;
- this.isOpen = false;
- }
-
- openRequestAccessModal(institutionName, idpEntityId) {
- sendGetRequest(this.requestAccessUrl, (responseText) => this.renderRequestAccessModal(responseText, institutionName, idpEntityId));
- }
-
- renderRequestAccessModal(responseText, institutionName, idpEntityId) {
- document.body.style.overflowY = 'auto';
- this.requestAccessElement.innerHTML = responseText;
-
- this.scrollerElement.style.display = 'block';
-
- const $container = this.scrollerElement.querySelector('#request-access-container');
- const $closeModalButton = this.requestAccessElement.querySelector('.close-modal');
- const $submitButton = this.requestAccessElement.querySelector('#request_access_submit');
- const $nameField = this.requestAccessElement.querySelector('#name');
- let $institutionField = this.requestAccessElement.querySelector('#institution');
- let $idpEntityIdField = this.requestAccessElement.querySelector('input[name="idpEntityId"]');
-
- $container.removeEventListener('click', this.containerClickHandler());
- $container.addEventListener('click', this.containerClickHandler($container));
-
- if ($submitButton !== null) {
- $submitButton.removeEventListener('click', this.submitRequestAccessClickHandler());
- $submitButton.addEventListener('click', this.submitRequestAccessClickHandler());
- }
-
- if ($closeModalButton !== null) {
- $closeModalButton.removeEventListener('click', this.closeModalClickHandler());
- $closeModalButton.addEventListener('click', this.closeModalClickHandler());
- }
-
- if (institutionName) {
- $institutionField.value = institutionName;
- }
-
- if (typeof idpEntityId === "string") {
- $idpEntityIdField.value = idpEntityId;
- }
-
- if ($nameField) {
- $nameField.focus();
- }
-
- this.isOpen = true;
- }
-
- requestAccessClickHandler() {
- function isUnconnectedIdpRow(element) {
- return (element.className.indexOf('noaccess') > -1);
- }
-
- return event => {
- if (
- (isUnconnectedIdpRow(event.target)) ||
- (isUnconnectedIdpRow(event.target.parentElement))
- ) {
- const $institutionTitle = event.target.parentElement.querySelector('h3');
- let institutionName = '';
- let idpEntityId = event.target.getAttribute('data-entity-id');
-
- if ($institutionTitle) {
- institutionName = $institutionTitle.innerText;
- }
-
- this.openRequestAccessModal(institutionName, idpEntityId);
- }
- };
- }
-
- containerClickHandler(containerElement) {
- return event => {
- if (event.target === containerElement) {
- this.closeRequestAccessModal();
- }
- };
- }
-
- submitRequestAccessClickHandler() {
- return (event) => {
- event.preventDefault();
- const $requestAccessForm = this.requestAccessElement.querySelector('#request_access_form');
-
- const formData = {
- spName: $requestAccessForm.spName.value,
- spEntityId: $requestAccessForm.spEntityId.value,
- name: $requestAccessForm.name.value,
- email: $requestAccessForm.email.value,
- institution: $requestAccessForm.institution.value,
- comment: $requestAccessForm.comment.value
- };
-
- const idpEntityId = $requestAccessForm.idpEntityId.value;
- if (typeof idpEntityId === "string" && idpEntityId.length > 0) {
- formData.idpEntityId = idpEntityId;
- }
-
- sendPostRequest('/authentication/idp/performRequestAccess', formData, (responseText) => {
- this.renderRequestAccessModal(responseText);
- });
- };
- }
-
- closeModalClickHandler() {
- return (event) => {
- event.preventDefault();
- this.closeRequestAccessModal();
- };
- }
-
- closeRequestAccessModal() {
- document.body.style.overflowY = null;
- this.scrollerElement.style.display = 'none';
- this.requestAccessElement.innerHTML = '';
- this.searchBarElement.focus();
-
- const $container = this.scrollerElement.querySelector('#request-access-container');
- $container.removeEventListener('click', this.containerClickHandler());
-
- this.isOpen = false;
- }
-
- modalIsOpen() {
- return this.isOpen;
- }
-}
-
-function sendGetRequest(url, callback) {
- const request = new XMLHttpRequest();
-
- request.onreadystatechange = () => {
- if (request.readyState === 4 && request.status == 200) {
- callback(request.responseText);
- }
- };
-
- request.open('GET', url, true);
- request.send(null);
-}
-
-function sendPostRequest(url, formData, callback) {
- const request = new XMLHttpRequest();
-
- request.onreadystatechange = () => {
- if (request.readyState === 4 && request.status === 200) {
- callback(request.responseText);
- }
- };
-
- var parts = [];
-
- for (var name in formData) {
- parts.push(encodeURIComponent(name) + '=' + encodeURIComponent(formData[name]));
- }
-
- request.open('POST', url, true);
- request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
- request.send(parts.join('&'));
-}
diff --git a/theme/openconext/javascripts/wayf/UnconnectedIdpPicker.js b/theme/openconext/javascripts/wayf/UnconnectedIdpPicker.js
deleted file mode 100644
index e03b52a76e..0000000000
--- a/theme/openconext/javascripts/wayf/UnconnectedIdpPicker.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import {AbstractIdpPicker} from "./AbstractIdpPicker";
-
-export class UnconnectedIdpPicker extends AbstractIdpPicker {}
diff --git a/theme/openconext/javascripts/wayf/focusSearchBar.js b/theme/openconext/javascripts/wayf/focusSearchBar.js
deleted file mode 100644
index a4ac8dbebe..0000000000
--- a/theme/openconext/javascripts/wayf/focusSearchBar.js
+++ /dev/null
@@ -1,6 +0,0 @@
-export const focusSearchBar = (searchbar) => {
- if (window.innerWidth > 800) {
- searchbar.focus();
- }
-};
-
diff --git a/theme/openconext/javascripts/wayf/searchBarEventListeners.js b/theme/openconext/javascripts/wayf/searchBarEventListeners.js
deleted file mode 100644
index cd1273505e..0000000000
--- a/theme/openconext/javascripts/wayf/searchBarEventListeners.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import {throttle} from '../../../base/javascripts/utility/throttle';
-
-/**
- * Keyup, click and input are registered events for cross-browser compatibility with HTML5 'search' input
- *
- * @param searchBar
- * @param idpPicker
- */
-export const searchBarEventListeners = (searchBar, idpPicker) => {
- searchBar.addEventListener('keyup', throttle(event => idpPicker.searchBy(event.target.value), 250));
- searchBar.addEventListener('click', event => idpPicker.searchBy(event.target.value));
- searchBar.addEventListener('input', event => idpPicker.searchBy(event.target.value));
-};
diff --git a/theme/openconext/javascripts/wayf/searchFormEventListeners.js b/theme/openconext/javascripts/wayf/searchFormEventListeners.js
deleted file mode 100644
index e0b48d8c23..0000000000
--- a/theme/openconext/javascripts/wayf/searchFormEventListeners.js
+++ /dev/null
@@ -1,6 +0,0 @@
-export const searchFormEventListeners = (searchForm, idpPicker) => {
- searchForm.addEventListener('submit', (event) => {
- event.preventDefault();
- idpPicker.selectIdpUnderFocus();
- });
-};
diff --git a/theme/openconext/stylesheets/application.sass b/theme/openconext/stylesheets/application.sass
deleted file mode 100644
index 9282122442..0000000000
--- a/theme/openconext/stylesheets/application.sass
+++ /dev/null
@@ -1,34 +0,0 @@
-@use "shared/vars.css.sass"
-
-@use "../../base/stylesheets/components/old-not-converted/fontAwesome.scss"
-@use "../../node_modules/tippy.js/dist/tippy"
-@use "../../node_modules/tippy.js/themes/light"
-
-@use "shared/utilities/reset.css.sass"
-@use "../../base/stylesheets/mixins"
-@use "shared/utilities/placeholders.css.sass"
-@use "application/utilities/reset.css.scss" as reset2
-@use "application/utilities/table.css.sass"
-@use "application/utilities/dynamic.css.sass"
-
-@use "application/base/page.css.sass"
-@use "shared/base/layout.css.sass"
-@use "shared/base/type.css.sass"
-
-@use "application/components/button.css.sass"
-@use "shared/components/language.css.sass"
-@use "application/components/icon.css.sass"
-@use "application/components/links.css.sass"
-@use "application/components/modal.css.sass"
-@use "application/components/warning.css.sass"
-
-@use "application/modules/app-search.css.sass"
-@use "application/modules/content.css.sass"
-@use "application/modules/consent.css.sass"
-@use "shared/modules/header.css.sass"
-@use "application/modules/form.css.sass"
-@use "shared/modules/footer.css.sass"
-@use "application/modules/redirect.css.sass"
-@use "application/modules/results.css.sass"
-@use "application/modules/slidein.css.sass"
-@use "application/modules/tabs.css.sass"
diff --git a/theme/openconext/stylesheets/application/base/_page.css.sass b/theme/openconext/stylesheets/application/base/_page.css.sass
deleted file mode 100644
index 80fba48089..0000000000
--- a/theme/openconext/stylesheets/application/base/_page.css.sass
+++ /dev/null
@@ -1,7 +0,0 @@
-@use "../../shared/vars.css.sass" as vars
-
-body
- background: vars.$light-grey
-
-*, *:before, *:after
- box-sizing: border-box
diff --git a/theme/openconext/stylesheets/application/components/_button.css.sass b/theme/openconext/stylesheets/application/components/_button.css.sass
deleted file mode 100644
index 71f49e1828..0000000000
--- a/theme/openconext/stylesheets/application/components/_button.css.sass
+++ /dev/null
@@ -1,59 +0,0 @@
-@use "sass:color"
-@use "../../shared/vars.css.sass" as vars
-
-.c-button
- font-size: vars.$f-normal
- background: vars.$blue
- padding: .5em 1rem
- line-height: 1rem
- border-radius: 10rem
- color: #fff
- text-decoration: none
- display: inline-block
- border: 1px solid transparent
- cursor: pointer
- white-space: nowrap
-
- &:hover
- background: color.adjust(vars.$blue,$lightness: -10%)
-
- &.outline
- border: 1px solid vars.$border-dark
- color: vars.$blue
- background: #fff
-
- &.white
- background: #fff
- color: vars.$blue
- border: 1px solid vars.$blue
-
- &.remove
- width: 1rem
- height: 1rem
- padding: 1rem
- line-height: 1rem
-
- &.mr
- margin-right: 1rem
-
- &.ml
- margin-right: 1rem
-
- &.longtext
- white-space: normal
-
- &.img
- padding-left: 0
- padding-right: 0
- width: 2rem
- text-align: center
- border-radius: 1rem
-
- img
- width: 0.6rem
- height: 0.6rem
- vertical-align: middle
-
- &.c-button-link
- background: transparent
- color: color.adjust(vars.$blue,$lightness: -10%)
diff --git a/theme/openconext/stylesheets/application/components/_icon.css.sass b/theme/openconext/stylesheets/application/components/_icon.css.sass
deleted file mode 100644
index 3e7b66096f..0000000000
--- a/theme/openconext/stylesheets/application/components/_icon.css.sass
+++ /dev/null
@@ -1,37 +0,0 @@
-@use "../../shared/vars.css.sass" as vars
-
-/* stylelint-disable font-family-no-missing-generic-family-keyword */
-.c-icon
- max-width: 0.75rem
- height: auto
- vertical-align: middle
- position: relative
- top: -1px
- margin-right: 0.5rem
- font-family: FontAwesome
-
- &.c-icon-warning,
- &.c-icon-error
- width: 19px
- max-width: 19px
- height: 19px
- display: inline-block
- border-radius: 3px
- color: white
- padding: 0px 7px
-
- &.c-icon-warning
- background: vars.$yellow
-
- &.c-icon-error
- background: vars.$red
-
- &.c-icon-checkmark
- width: 12px
- height: 9px
- color: vars.$green
-
- &.c-icon-triangle
- width: 7px
- height: 11px
-
diff --git a/theme/openconext/stylesheets/application/components/_links.css.sass b/theme/openconext/stylesheets/application/components/_links.css.sass
deleted file mode 100644
index 501b6e6b96..0000000000
--- a/theme/openconext/stylesheets/application/components/_links.css.sass
+++ /dev/null
@@ -1,27 +0,0 @@
-@use "../../shared/vars.css.sass" as vars
-
-.comp-links
- //display: flex
- justify-content: center
- flex-wrap: nowrap
-
- .help
- background: vars.$blue
- color: #FFFFFF
- border-radius: 50%
- box-sizing: border-box
- font-weight: bold
- height: 1.5rem
- width: 1.5rem
- line-height: 1.5rem
- display: inline-block
- text-align: center
- margin-left: 0.5rem
-
- li
- margin-left: 1.5rem
-
- display: inline
-
- &:first-child
- margin-left: 0
diff --git a/theme/openconext/stylesheets/application/components/_modal.css.sass b/theme/openconext/stylesheets/application/components/_modal.css.sass
deleted file mode 100644
index fe84c8b90d..0000000000
--- a/theme/openconext/stylesheets/application/components/_modal.css.sass
+++ /dev/null
@@ -1,22 +0,0 @@
-@use "../../shared/vars.css.sass" as vars
-@use "../../shared/utilities/placeholders.css.sass"
-
-#request-access-scroller
- display: none
- position: fixed
- top: 0
- left: 0
- bottom: 0
- right: 0
- overflow-x: hidden
- overflow-y: auto
- background: rgba(0, 0, 0, 0.15)
-
-#request-access-container
- margin: 1rem
-
-#request-access
- @extend %box
- margin: auto
- padding: 0.5rem
- max-width: vars.$container-width
diff --git a/theme/openconext/stylesheets/application/components/_warning.css.sass b/theme/openconext/stylesheets/application/components/_warning.css.sass
deleted file mode 100644
index 7f94e7b3b1..0000000000
--- a/theme/openconext/stylesheets/application/components/_warning.css.sass
+++ /dev/null
@@ -1,49 +0,0 @@
-@use "../../../../base/stylesheets/mixins"
-@use "../../shared/vars.css.sass" as vars
-
-.warning
- background-color: vars.$light-pink
- padding: 0.75em
- position: relative
- +mixins.max-width(vars.$small)
- margin: 2em 1em 1em
-
- &.full-width
- margin: 2em 0
-
- > *:first-child::before
- content: vars.$fa-var-warning
- font-family: FontAwesome, sans-serif
- color: vars.$red
- display: inline-block
- height: 1.2em
- left: 0.75em
- margin-right: 0.75em
- vertical-align: middle
- width: 1.2em
- position: absolute
-
- > h2
- font-weight: bold
- margin-left: 1.95em
- margin-right: 3em
-
- > *
- margin-left: 1.95em
- margin-right: 3em
-
- p
- margin: 1rem 2em
-
- strong
- font-weight: 700
-
-.mod-content
- .warning.warning__global-site-notice
- > *
- margin-left: 1.95em
- margin-right: 3em
-
- p
- margin-top: 1rem
- margin-bottom: 1rem
diff --git a/theme/openconext/stylesheets/application/modules/_app-search.css.sass b/theme/openconext/stylesheets/application/modules/_app-search.css.sass
deleted file mode 100644
index f5042c446f..0000000000
--- a/theme/openconext/stylesheets/application/modules/_app-search.css.sass
+++ /dev/null
@@ -1,58 +0,0 @@
-@use "../../../../base/stylesheets/mixins"
-@use "../../shared/vars.css.sass" as vars
-@use "../../shared/utilities/placeholders.css.sass"
-
-.mod-search
- position: relative
- margin-bottom: 2rem
-
- &.hidden
- display: none
-
- +mixins.max-width(vars.$medium)
- margin-bottom: 1rem
-
- fieldset
- border: 0
- padding: 0
- margin: 0
-
- input
- font-size: 1rem
- @extend %box
- display: block
- border: 0
- border-radius: vars.$br
- width: 100%
- padding: 0.75rem 3.5rem 0.75rem 1rem
- line-height: 2rem
- background: #fff
- background-origin: content-box
- -webkit-appearance: none
-
- &.mod-search-input
- min-height: 56px
-
- +mixins.hocus
- outline: none
- box-shadow: 0 1px vars.$br rgba(black,.4)
-
- // fallback login button for non-javascript
- &.c-button
- padding: 0
- margin-left: 1rem
-
- &.login
- margin-bottom: 0
-
- button.search
- position: absolute
- pointer-events: none
- top: 0
- right: 0
- width: 3.5rem
- height: 3.5rem
- border: none
-
- .search-institutions
- display: none
diff --git a/theme/openconext/stylesheets/application/modules/_consent.css.sass b/theme/openconext/stylesheets/application/modules/_consent.css.sass
deleted file mode 100644
index ab4b042cf4..0000000000
--- a/theme/openconext/stylesheets/application/modules/_consent.css.sass
+++ /dev/null
@@ -1,368 +0,0 @@
-@use "../../../../base/stylesheets/mixins"
-@use "../../shared/vars.css.sass" as vars
-
-/* stylelint-disable font-family-no-missing-generic-family-keyword */
-.mod-content.consent
- margin-top: 2rem
-
- +mixins.max-width(vars.$small)
- margin-top: 0
-
- padding: 0
-
- a
- color: black
-
- &.small
- font-size: 80%
-
- &.help
- text-decoration: none
-
- &.help span,
- &[target="_blank"] span
- text-decoration: underline
-
- &.help::after,
- &[target="_blank"]::after
- display: inline-block
- font-family: FontAwesome
- height: 1.2em
- margin-left: 5px
- vertical-align: middle
- width: 1.2em
- &.help::after
- content: vars.$fa-var-circle-question
- &[target="_blank"]::after
- content: vars.$fa-var-external-link
-
- p
- margin: 0
-
- h1
- line-height: 32px
-
- h2
- font-size: 16px
- font-weight: bold
- line-height: 22px
-
- img.logo-small
- max-height: 30px
- max-width: 30px
-
- header
- align-items: normal
- display: block
- padding: 2rem 2rem 0
-
- +mixins.max-width(vars.$small)
- padding: 2rem .75rem 0
-
- h1
- margin-bottom: 1rem
-
- section
- padding: 1rem 2rem
-
- +mixins.max-width(vars.$small)
- padding: 2rem .75rem 0
-
- &.privacy
- a
- color: vars.$link-grey
-
- h2
- margin-bottom: 0
- +mixins.max-width(vars.$small)
- margin-bottom: 1em
-
- &.buttons
- text-align: center
-
- h2
- text-align: left
- margin-bottom: 1rem
-
- +mixins.max-width(vars.$small)
- padding: 1rem .75rem 0
-
- form#accept
- display: inline
-
- input.submit
- border-radius: 5px
- font-weight: bold
- max-width: 100%
- min-width: 50%
- padding: 1rem
-
- &:focus
- outline: none
-
- &::-moz-focus-inner
- border: 0
-
- a#decline-terms
- color: vars.$blue
- text-decoration: underline
- margin-top: 1.5em
-
- +mixins.max-width(vars.$small)
- margin-bottom: 1.5em
-
- &.attributes
- overflow-x: auto
- padding: 0
-
- table
- background-color: vars.$table-bg
- border-width: 0
- margin: 0
- overflow: hidden
- padding: 1rem 0
-
- tbody
- &:last-child tr.separator
- display: none
-
- tr
- display: none
-
- &:nth-child(-n+8),
- &.toggle-attributes,
- &.separator
- display: table-row
-
- +mixins.max-width(vars.$small)
- display: block
-
- &.toggle-attributes
- // Hide the 'expand' row if there are no more rows (and
- // take into account the separator row)
- &:nth-child(-n+9)
- display: none
-
- a
- color: vars.$blue
- text-decoration: none
-
- &::after
- content: vars.$fa-var-chevron-down
- color: vars.$blue
- font-family: FontAwesome
- display: inline-block
- height: 0.7em
- width: 0.7em
-
- span.show-more
- display: inline
- text-decoration: underline
-
- span.show-less
- display: none
- text-decoration: underline
- a.small[target="_blank"]::after
- background: none
- content: ''
- margin: 0
- width: 0
- &.expanded
- tr
- display: table-row !important
-
- +mixins.max-width(vars.$small)
- display: block
-
- &.toggle-attributes
- a
- &::after
- content: vars.$fa-var-chevron-up
- color: vars.$blue
- font-family: FontAwesome
- text-decoration: none
-
- span.show-more
- display: none
-
- span.show-less
- display: inline
-
-
- tr
- border-color: transparent
- border-style: solid
- border-width: 0 2rem
- margin: 0 2rem
- padding: 0 1rem
-
- td
- border-color: vars.$border-dark
- border-style: solid
- border-width: 1px 0 0 0
- max-width: 200px
- white-space: normal
- word-wrap: break-word
-
- +mixins.max-width(vars.$small)
- max-width: none
-
- &.attr-name
- font-size: small
- text-align: right
- width: 35%
-
- +mixins.max-width(vars.$small)
- width: auto
- padding-bottom: 0.3em
- border-bottom: none
-
-
- &.attr-value
- ul
- margin-bottom: 0
- +mixins.max-width(vars.$small)
- border-top: none
- padding-top: 0
- a
- text-decoration: none
-
- // We underline the inner-span instead of the anchor
- // because we don't want :after (help icon) to be
- // underlined as well
- span
- text-decoration: underline
-
- &.help::after
- filter: opacity(25%)
-
- &.attr-value.full-width
- padding-left: 0.25em
- +mixins.max-width(vars.$small)
- padding-left: 1em
-
- &.source-info
- td > *
- display: inline
- vertical-align: middle
-
- td
- border-width: 0
- padding-left: 0
-
- a
- color: vars.$link-grey
-
- img, h2
- margin-right: 5px
-
- &.toggle-attributes
- td
- text-align: center
-
- a
- color: vars.$blue
-
- &.separator
- background-color: white
- border-color: white
- height: 1rem
-
- td
- border-width: 0
-
- +mixins.max-width(vars.$small)
- padding: 0
-
- thead, tbody, th, td, tr
- display: block
-
- tr
- border-width: 0
- margin: 0
- padding: 0
-
- td.attr-name
- text-align: left
-
- td.attr-name::after
- content: ":"
- margin-left: -3px
-
- &.source-info
- td
- padding-left: 1rem
-
- & > *
- display: inline-block
-
- h2
- margin-top: 0.5em
-
- &.idp-consent-explanation
- background-color: vars.$light-pink
- border-width: 2em 2em 1em 2em
- border-style: solid
- border-color: white
- min-height: 100px
- padding: 0.75em
- position: relative
- +mixins.max-width(vars.$small)
- border-width: 2em 1em 1em
-
- .idp-logo
- float: right
- height: 34px
- background-color: #ffffff
- width: 34px
- border-radius: 32px
- border: 1px solid vars.$red
- position: relative
- img
- width: 34px
- height: 34px
- border: 0
- border-radius: 50%
-
- .title::before
- content: vars.$fa-var-warning
- font-family: FontAwesome
- color: vars.$red
- display: inline-block
- height: 1.2em
- left: 0.75em
- margin-right: 0.75em
- vertical-align: middle
- width: 1.2em
- position: absolute
- .title
- font-weight: bold
- margin-left: 1.95em
- margin-right: 3em
- .text
- margin-left: 1.95em
- margin-right: 3em
-
-
- footer
- border-top: 1px solid vars.$border-dark
- clear: both
- padding: 2rem
- text-align: center
-
- p
- a
- white-space: nowrap
-
- +mixins.max-width(vars.$small)
- white-space: normal
-
- // Force the 'more information' link on a new line,
- // for bigger displays, we want everything on the
- // same line.
- &::before
- content: ' '
- display: block
-
- .c-button
- white-space: normal
diff --git a/theme/openconext/stylesheets/application/modules/_content.css.sass b/theme/openconext/stylesheets/application/modules/_content.css.sass
deleted file mode 100644
index 3ce2790556..0000000000
--- a/theme/openconext/stylesheets/application/modules/_content.css.sass
+++ /dev/null
@@ -1,49 +0,0 @@
-@use "../../shared/base/type.css.sass"
-
-.mod-content
- padding: 2rem
-
- h1, h2, h3
- margin-bottom: .5rem
-
- h1
- @extend %h1
-
- h2
- @extend %h2
-
- h3
- @extend %h3
-
- ul, ol, p
- margin-bottom: 1rem
-
- ul
- list-style: square
-
- ol
- list-style: decimal
-
- ul,
- ol
- margin-left: 1.5rem
-
- @for $i from 1 through 20
- .percent_#{$i * 5}
- width: #{$i * 5%}
-
- img.pull-right
- float: right
- margin-left: 1em
-
- header
- display: flex
- align-items: center
- margin-bottom: 0.5rem
- h1
- margin-bottom: 0
-
- img
- max-height: 1.7rem
- width: auto
- margin-right: 1rem
diff --git a/theme/openconext/stylesheets/application/modules/_form.css.sass b/theme/openconext/stylesheets/application/modules/_form.css.sass
deleted file mode 100644
index 35a089afb7..0000000000
--- a/theme/openconext/stylesheets/application/modules/_form.css.sass
+++ /dev/null
@@ -1,106 +0,0 @@
-@use "sass:color"
-@use "../../../../base/stylesheets/mixins"
-@use "../../shared/vars.css.sass" as vars
-@use "../../shared/base/type.css.sass" as *
-
-.mod-form
- padding: 1rem
-
- h1, h2, h3
- margin-bottom: .5rem
-
- h1
- @extend %h1
-
- h2
- @extend %h2
-
- h3
- @extend %h3
-
- ul, ol, p
- margin-bottom: 1rem
-
- ul
- list-style: square
- ol
- list-style: decimal
-
- ul,
- ol
- margin-left: 1.5rem
-
- // Form stuff
- label
- display: block
- font-weight: bold
- margin-bottom: 0.25rem
-
- .hint
- opacity: .8
- font-weight: normal
- font-size: 0.8em
- display: block
-
- +mixins.input
- display: block
- width: 100%
- padding: 0.5rem 0.75rem
- font-size: 1rem
- font-family: vars.$font
- border-radius: vars.$br
- border: 1px solid vars.$border
- +mixins.hocus
- outline: none
- border-color: color.mix(white,vars.$blue)
- box-shadow: 0 0 4px rgba(vars.$blue,.5)
-
- // All divs
- .input,
- .radios,
- .checkboxes,
- .textarea
- margin-bottom: 1rem
-
- .checkboxes,
- .radios
- line-height: 1.5rem
- margin-bottom: 1.5rem
-
- .options
- label
- font-weight: normal
-
- input
- vertical-align: middle
- margin: -3px 0.5rem 0 0
-
- // Fieldset
- fieldset
- padding-top: 1.5rem
- margin-top: 1.5rem
- border-top: 1px solid vars.$border
-
- .actions
- .c-button + .c-button
- float: right
- .close-modal-container
- text-align: right
-
- // Errors
- .errors
- background: vars.$red-light
- padding: 1rem 1.5rem
- border-radius: vars.$br
- color: vars.$red
-
- ul
- margin-bottom: 0
-
- .has-error
- > label
- color: vars.$red
- +mixins.input
- border-color: vars.$red
- +mixins.hocus
- box-shadow: 0 0 4px rgba(vars.$red,.5)
diff --git a/theme/openconext/stylesheets/application/modules/_redirect.css.sass b/theme/openconext/stylesheets/application/modules/_redirect.css.sass
deleted file mode 100644
index f85b997cc5..0000000000
--- a/theme/openconext/stylesheets/application/modules/_redirect.css.sass
+++ /dev/null
@@ -1,37 +0,0 @@
-@use "../../shared/vars.css.sass" as vars
-@use "../../shared/base/type.css.sass"
-
-.mod-redirect
- text-align: center
- display: flex
- width: 100vw
- height: 100vh
- align-items: center
- justify-content: center
- flex-direction: column
-
- img
- width: 3rem
- margin-bottom: 1rem
-
- h1
- color: vars.$blue
- @extend %h1
-
- h2
- @extend %h2
- color: vars.$medium-grey
-
- p
- @extend %h2
- color: vars.$medium-grey
-
- form
- pre.trace
- text-align: left
- margin: 0 auto
- width: 500px
- height: 800px
-
- .hideNoJS
- display: none
diff --git a/theme/openconext/stylesheets/application/modules/_results.css.sass b/theme/openconext/stylesheets/application/modules/_results.css.sass
deleted file mode 100644
index 2c2992ffef..0000000000
--- a/theme/openconext/stylesheets/application/modules/_results.css.sass
+++ /dev/null
@@ -1,131 +0,0 @@
-@use "../../../../base/stylesheets/mixins"
-@use "../../shared/vars.css.sass" as vars
-@use "../../shared/utilities/placeholders.css.sass"
-
-.idp-picker
- &.hidden
- display: none
-
-.mod-results
- @extend %box
- overflow: hidden
- margin-bottom: 2rem
-
- +mixins.max-width(vars.$medium)
- margin-bottom: 1rem
-
- header
- background: rgba(vars.$border,.5)
- padding: .75rem 1.25rem
- color: vars.$medium-grey
- border-bottom: 1px solid vars.$border
-
- a
- float: right
- font-size: 0.8em
-
- a.result
- display: flex
- padding: .75rem 1.25rem
- align-items: center
- text-decoration: none
- border-bottom: 1px solid vars.$border
-
- *
- pointer-events: none
-
- &.focussed
- outline: none
- background: vars.$blue
- color: #fff
- border-bottom: 1px solid vars.$blue
-
- // Display buttons under text
- +mixins.max-width(vars.$medium)
- flex-direction: column
- align-items: flex-start
-
- // Display buttonon focus
- +mixins.min-width(vars.$medium)
- &.focus,
- &.focussed
- .action
- display: inline-block
-
- .loading
- display: flex
- padding: 0.75rem 1.25rem
- align-items: center
- color: vars.$medium-grey
- border-bottom: 1px solid vars.$border
-
- img
- max-width: 1.5rem !important
- max-height: 1.5rem !important
-
- .logo
- width: 4rem
- height: 3rem
- margin-right: 1.5rem
- display: inline-flex
-
- img
- margin: 0
-
- .letter
- width: 3rem
- height: 3rem
- background: rgba(0,0,0,.1)
- text-transform: uppercase
- color: #fff
- text-align: center
- line-height: 3rem
- border-radius: 1.5rem
- margin: auto
-
- +mixins.max-width(vars.$medium)
- display: none
-
- .fa
- color: vars.$darkest-blue
-
- // Default displaying for the button
- .action
- +mixins.max-width(vars.$medium)
- display: none
- margin-left: auto
-
- // Let clicks fall through to underlying a.result
- pointer-events: none
- // ... unless the user doesn't have JavaScript, in which case the button must submit the form,
- // or it concerns the IdP preference removal button.
- html.no-js &, &.deleteable
- pointer-events: auto
-
-
- // Styling for remove list
- .remove-list
- .result
- +mixins.max-width(vars.$medium)
- flex-direction: row
- align-items: center
-
- .c-button.img
- margin-left: auto
-
- // Always display button in no-access section
- .show-buttons
- .action
- display: inline-block
-
- // remove last line of last link
- .list:last-child
- a:last-child,
- .loading:last-child
- border: 0
-
-#rememberChoiceDiv h2
- float: left
-
-#rememberChoiceDiv form
- text-align: right
diff --git a/theme/openconext/stylesheets/application/modules/_slidein.css.sass b/theme/openconext/stylesheets/application/modules/_slidein.css.sass
deleted file mode 100644
index b07010b7e6..0000000000
--- a/theme/openconext/stylesheets/application/modules/_slidein.css.sass
+++ /dev/null
@@ -1,65 +0,0 @@
-@use "../../../../base/stylesheets/mixins"
-@use "../../shared/vars.css.sass" as vars
-
-/* stylelint-disable font-family-no-missing-generic-family-keyword */
-body.slidein-open
- overflow: hidden
-
-.slidein
- bottom: 0
- left: 0
- overflow: hidden
- position: fixed
- right: 100%
- top: 0
- transition: right 0.5s ease-in-out
-
- &.visible
- right: 0
-
- .mod-filler
- background-color: vars.$dark-grey
- float: left
- height: 100%
- opacity: 0.8
- width: 30%
-
- +mixins.max-width(vars.$medium)
- width: 0
-
- .mod-content
- background-color: white
- float: right
- height: 100%
- overflow-y: scroll
- width: 70%
-
- section
- padding: 2rem
-
- img
- max-height: none
- max-width: 100%
- margin-bottom: 1rem
-
- a
- color: vars.$blue
-
- &.close::before
- color: vars.$blue
- content: vars.$fa-var-times
- display: inline-block
- font-family: FontAwesome
- height: 1.2em
- margin-right: 5px
- vertical-align: middle
- width: 1.2em
-
- p
- margin-bottom: 1rem
-
- +mixins.max-width(vars.$medium)
- width: 100%
-
- section
- padding: 0
diff --git a/theme/openconext/stylesheets/application/modules/_tabs.css.sass b/theme/openconext/stylesheets/application/modules/_tabs.css.sass
deleted file mode 100644
index 137c20e158..0000000000
--- a/theme/openconext/stylesheets/application/modules/_tabs.css.sass
+++ /dev/null
@@ -1,37 +0,0 @@
-@use "../../../../base/stylesheets/mixins"
-@use "../../shared/vars.css.sass" as vars
-
-.mod-tabs
-
- a
- text-decoration: none
- color: vars.$medium-grey
- display: block
-
- &:hover,
- &.active
- color: vars.$blue
-
- +mixins.min-width(vars.$medium)
- ul
- display: flex
- border-bottom: 1px solid vars.$border
- padding: 0 1rem
-
- li
- margin: 0 1rem
-
- a
- padding: 1.5rem 0
-
- &:hover,
- &.active
- border-bottom: 1px solid vars.$blue
- margin-bottom: -1px
-
- +mixins.max-width(vars.$medium - 1px)
- a
- display: block
- padding: 1rem 2rem
- border-bottom: 1px solid vars.$border
-
diff --git a/theme/openconext/stylesheets/application/utilities/_dynamic.css.sass b/theme/openconext/stylesheets/application/utilities/_dynamic.css.sass
deleted file mode 100644
index bf737c5018..0000000000
--- a/theme/openconext/stylesheets/application/utilities/_dynamic.css.sass
+++ /dev/null
@@ -1,25 +0,0 @@
-.l-container .mod-results
-
- &.hidden
- display: none
-
- .hidden
- display: none
-
- .active
- display: auto
-
-.mod-tabpanel
- display: none
-
- &.active
- display: block
-
-.rotate-img
- animation: spin 1s linear infinite
-
-@keyframes spin
- 0%
- transform: rotate(0deg)
- 100%
- transform: rotate(360deg)
diff --git a/theme/openconext/stylesheets/application/utilities/_reset.css.scss b/theme/openconext/stylesheets/application/utilities/_reset.css.scss
deleted file mode 100644
index 07700dfeff..0000000000
--- a/theme/openconext/stylesheets/application/utilities/_reset.css.scss
+++ /dev/null
@@ -1,4 +0,0 @@
-/* stylelint-disable */
-/* html5doctor.com Reset v1.6.1 - http://cssreset.com */
-html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}
-/* stylelint-enable */
\ No newline at end of file
diff --git a/theme/openconext/stylesheets/application/utilities/_table.css.sass b/theme/openconext/stylesheets/application/utilities/_table.css.sass
deleted file mode 100644
index e4fd8125f3..0000000000
--- a/theme/openconext/stylesheets/application/utilities/_table.css.sass
+++ /dev/null
@@ -1,54 +0,0 @@
-@use "sass:color"
-@use "../../shared/vars.css.sass" as vars
-@use "../../shared/base/type.css.sass"
-
-.comp-table
- width: 100%
- margin-bottom: 2rem
- border-radius: 4px
- border: 1px solid vars.$border
-
- th, td
- padding: .75rem 1rem
- border-bottom: 1px solid vars.$border
- white-space: nowrap
-
- td.smaller
- font-size: 0.8em
-
- td.green
- color: vars.$bright-green
-
- thead
- th, td
- border-bottom: 1px solid vars.$border
- @extend %h3
-
- @for $i from 1 through 20
- .percent_#{$i * 5}
- width: #{$i * 5%}
-
-.comp-small-table
- font-size: vars.$f-small
-
- tr:last-child
- th, td
- border-bottom: 0
-
- th, td
- padding: .5rem 1rem
- background: color.mix(vars.$border,#fff)
- border-bottom: 1px solid #fff
-
-.remove-cookies
- border-spacing: 15px
- border-collapse: separate
- width: 100%
-
- td
- button.grey
- background: vars.$lighter-dark-grey
- color: vars.$light-grey
-
- td.small-column
- width: 20%
diff --git a/theme/openconext/stylesheets/error-page.scss b/theme/openconext/stylesheets/error-page.scss
deleted file mode 100644
index 9ee8341ff4..0000000000
--- a/theme/openconext/stylesheets/error-page.scss
+++ /dev/null
@@ -1,2 +0,0 @@
-@use '../../base/stylesheets/error-page';
-@use "shared/vars.css.sass";
diff --git a/theme/openconext/stylesheets/front-page.scss b/theme/openconext/stylesheets/front-page.scss
deleted file mode 100644
index 90f43ea76b..0000000000
--- a/theme/openconext/stylesheets/front-page.scss
+++ /dev/null
@@ -1,15 +0,0 @@
-@use "shared/utilities/reset.css.sass";
-@use "shared/vars.css.sass";
-@use "../../base/stylesheets/mixins";
-@use "../../base/stylesheets/components/old-not-converted/fontAwesome.scss";
-@use "shared/utilities/placeholders.css.sass";
-@use "application/utilities/dynamic.css.sass";
-@use "shared/components/language.css.sass";
-@use "application/components/links.css.sass";
-@use "application/modules/content.css.sass";
-@use "application/base/page.css.sass";
-@use "shared/base/layout.css.sass";
-@use "shared/base/type.css.sass";
-@use 'shared/modules/header.css.sass';
-@use "shared/modules/footer.css.sass";
-@use "application/components/warning.css.sass";
diff --git a/theme/openconext/stylesheets/shared/_vars.css.sass b/theme/openconext/stylesheets/shared/_vars.css.sass
deleted file mode 100644
index 988c9e9ba9..0000000000
--- a/theme/openconext/stylesheets/shared/_vars.css.sass
+++ /dev/null
@@ -1,52 +0,0 @@
-@use "sass:color"
-
-// Colors
-$blue: #4DB3CF
-$light-blue: #DFF6FB
-$medium-blue: #CAECF4
-$dark-blue: #017499
-$darkest-blue: #19282D
-$red: #dd3939
-$red-light: color.mix(color.adjust($red,$lightness: 30%),white)
-$green: #95b926
-$bright-green: #008000
-$orange: #ec9a0a
-$yellow: #ffcc00
-$light-grey: color.adjust(black,$lightness: 95%)
-$medium-grey: #a2a2a2
-$lighter-dark-grey: #a9a9a9
-$dark-grey: #2b3f44
-$table-bg: #f7f7f7
-$link-grey: #6f6f6f
-$light-pink: #fbdddb
-
-// borders
-$border: color.adjust(black,$lightness: 90%)
-$border-light: rgba(white, .1)
-$border-dark: rgba(black, .1)
-
-// Sizes
-$padding: 2rem
-$padding-em: 2em
-$br: 4px
-
-// Screen
-$small: 400px
-$medium: 800px
-$large: 1200px
-$container-width: 50rem
-
-// Fonts
-$fa-font-path: "../fonts/"
-$fa-var-warning: "\f071"
-$fa-var-circle-question: "\f059"
-$fa-var-external-link: "\f08e"
-$fa-var-chevron-down: "\f078"
-$fa-var-chevron-up: "\f077"
-$fa-var-times: "\f00d"
-
-$font: Helvetica, sans-serif
-$f-small: 13px
-$f-normal: 15px
-$f-large: 18px
-$f-xl: 36px
diff --git a/theme/openconext/stylesheets/shared/base/_layout.css.sass b/theme/openconext/stylesheets/shared/base/_layout.css.sass
deleted file mode 100644
index fd20cf5b57..0000000000
--- a/theme/openconext/stylesheets/shared/base/_layout.css.sass
+++ /dev/null
@@ -1,19 +0,0 @@
-@use "../../../../base/stylesheets/mixins"
-@use "../vars.css.sass" as vars
-
-.l-container
- max-width: vars.$container-width
- z-index: 0
- padding: 1rem
-
- +mixins.min-width(vars.$medium)
- margin: 0 auto 3rem
- padding: 0 2rem
-
- &.wide
- max-width: vars.$container-width*1.5
-
-.l-overflow
- overflow-x: auto
- +mixins.scrollbar(8px, rgba(black,.4), 4px, rgba(black,.1), 4px)
-
diff --git a/theme/openconext/stylesheets/shared/base/_type.css.sass b/theme/openconext/stylesheets/shared/base/_type.css.sass
deleted file mode 100644
index 1c27577124..0000000000
--- a/theme/openconext/stylesheets/shared/base/_type.css.sass
+++ /dev/null
@@ -1,47 +0,0 @@
-@use "../vars.css.sass" as vars
-
-body
- font-family: vars.$font
- color: vars.$dark-grey
- -webkit-font-smoothing: antialiased
- -webkit-text-size-adjust: none
- font-size: vars.$f-normal
- line-height: 20px
-
-blockquote
- margin-bottom: 2rem
-
-a
- color: vars.$blue
-
- &:hover
- text-decoration: underline
-
-strong.service-provider, strong.identity-provider, strong.attribute-source
- color: vars.$blue
-
-%h1
- font-size: 24px
- line-height: 40px
-
-%h2
- font-size: 18px
- line-height: 30px
-
-%h3
- font-size: vars.$f-normal
- color: vars.$medium-grey
- line-height: 25px
-
-%h-uppercase
- font-size: 12px
- text-transform: uppercase
- font-weight: bold
- line-height: 20px
-
-.strong
- font-weight: bold
-
-input[type=submit],
-input[type=Reset]
- -webkit-appearance: none
diff --git a/theme/openconext/stylesheets/shared/components/_language.css.sass b/theme/openconext/stylesheets/shared/components/_language.css.sass
deleted file mode 100644
index 0331d50387..0000000000
--- a/theme/openconext/stylesheets/shared/components/_language.css.sass
+++ /dev/null
@@ -1,43 +0,0 @@
-@use "../../../../base/stylesheets/mixins"
-@use "../vars.css.sass" as vars
-
-.comp-language
- z-index: 10000
- position: relative
- margin-right: 1rem
- line-height: 1.75rem
- display: flex
- justify-content: center
- flex-wrap: nowrap
-
- li
- list-style: none
-
- &:first-child
- a, button
- border-radius: vars.$br 0 0 vars.$br
-
- &:last-child
- a, button
- border-radius: 0 vars.$br vars.$br 0
-
- a, button
- border: 0
- color: vars.$blue
- cursor: pointer
- display: block
- line-height: 1.75rem
- padding: 0 0.5rem
- font-size: 0.8rem
- background: rgba(vars.$blue,.1)
- margin-right: 1px
- text-decoration: none
-
- &:hover,
- &.selected
- background: vars.$blue
- color: #fff
-
- +mixins.max-width(vars.$medium)
- margin: 1rem 0
-
diff --git a/theme/openconext/stylesheets/shared/modules/_footer.css.sass b/theme/openconext/stylesheets/shared/modules/_footer.css.sass
deleted file mode 100644
index 12cc51fdfa..0000000000
--- a/theme/openconext/stylesheets/shared/modules/_footer.css.sass
+++ /dev/null
@@ -1,44 +0,0 @@
-@use "../../../../base/stylesheets/mixins"
-@use "../vars.css.sass" as vars
-
-.mod-footer
- padding: 2rem
- border-top: 1px solid vars.$border-dark
- margin: 0 auto
- text-align: center
-
- +mixins.min-width(vars.$medium)
- display: flex
- justify-content: space-between
- align-items: center
-
-
- .footer-menu
- display: inherit
- width: 100%
-
- .footer-menu li.nav-row
- display: block
-
- +mixins.min-width(vars.$medium)
- width: 20%
- &.left, &.right
- +mixins.min-width(vars.$medium)
- width: 40%
-
- &.left
- +mixins.min-width(vars.$medium)
- text-align: left
-
- &.right
- +mixins.min-width(vars.$medium)
- text-align: right
-
- .center-footer
- position: absolute
- width: 100%
- left: 0
- margin-top: 5px
-
- .over-center
- z-index: 100
diff --git a/theme/openconext/stylesheets/shared/modules/_header.css.sass b/theme/openconext/stylesheets/shared/modules/_header.css.sass
deleted file mode 100644
index b9ff8f0864..0000000000
--- a/theme/openconext/stylesheets/shared/modules/_header.css.sass
+++ /dev/null
@@ -1,59 +0,0 @@
-@use "../../../../base/stylesheets/mixins"
-@use "../vars.css.sass" as vars
-
-.mod-header
- +mixins.clearfix
- padding: 1rem 1rem
- background: #fff
- box-shadow: 1px 1px vars.$br rgba(black,.2)
- border-bottom: 2px solid vars.$blue
- line-height: 30px
- display: flex
- align-items: center
-
- +mixins.min-width(vars.$medium)
- padding: 1rem 2rem
- margin-bottom: 3rem
-
- // Main app title
- .title
- color: vars.$medium-grey
- text-overflow: ellipsis
- overflow: hidden
- white-space: nowrap
- padding-right: 1rem
-
- strong
- color: vars.$blue
-
- +mixins.max-width(vars.$medium)
- padding: 0.7rem 1rem
- .title
- line-height: 1.3rem
- strong
- display: block
-
- .meta
- display: flex
- align-items: center
- margin-left: auto
-
- .burger
- display: none
- align-items: center
- margin-left: auto
-
- img
- max-width: 0.8rem
-
- .burger,
- .comp-language,
- .comp-links
- flex-wrap: nowrap
-
- +mixins.max-width(vars.$medium)
- .burger
- display: block
-
- .meta
- display: none
diff --git a/theme/openconext/stylesheets/shared/utilities/_placeholders.css.sass b/theme/openconext/stylesheets/shared/utilities/_placeholders.css.sass
deleted file mode 100644
index f2461dd835..0000000000
--- a/theme/openconext/stylesheets/shared/utilities/_placeholders.css.sass
+++ /dev/null
@@ -1,31 +0,0 @@
-@use "../vars.css.sass" as vars
-
-%box,
-.box
- background: #fff
- border-radius: vars.$br
- box-shadow: 0 1px vars.$br rgba(black,.2)
-
-// Z2 = z index 2, giving it a larger shadow
-%z2,
-.z2
- box-shadow: 0 1px vars.$br*2 rgba(black,.4)
-
-%padding,
-.padding
- padding: vars.$padding
-
-%v-center,
-.v-center
- display: table
- width: 100%
- height: 100%
-
- .inner
- display: table-cell
- vertical-align: middle
-
-%h-center,
-.h-center
- margin-left: auto
- margin-right: auto
diff --git a/theme/openconext/stylesheets/shared/utilities/_reset.css.sass b/theme/openconext/stylesheets/shared/utilities/_reset.css.sass
deleted file mode 100644
index 4ef046e6c3..0000000000
--- a/theme/openconext/stylesheets/shared/utilities/_reset.css.sass
+++ /dev/null
@@ -1,41 +0,0 @@
-/* stylelint-disable */
-/* http://meyerweb.com/eric/tools/css/reset/
- * v2.0 | 20110126
- * License: none (public domain)
-
-html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video
- margin: 0
- padding: 0
- border: 0
- font-size: 100%
- font: inherit
- vertical-align: baseline
-
-/* HTML5 display-role reset for older browsers
-
-article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section
- display: block
-
-body
- line-height: 1
-
-ol, ul
- list-style: none
-
-blockquote, q
- quotes: none
-
-blockquote
- &:before, &:after
- content: ''
- content: none
-
-q
- &:before, &:after
- content: ''
- content: none
-
-table
- border-collapse: collapse
- border-spacing: 0
- /* stylelint-enable */
\ No newline at end of file
diff --git a/theme/openconext/templates/layouts/scripts/default.html.twig b/theme/openconext/templates/layouts/scripts/default.html.twig
deleted file mode 100644
index 6510d51438..0000000000
--- a/theme/openconext/templates/layouts/scripts/default.html.twig
+++ /dev/null
@@ -1,119 +0,0 @@
-{% import "@themeLayouts/scripts/language-switcher.html.twig" as languageSwitcher %}
-
-
-
- {% block title %}{{ defaultTitle }}{% endblock %}
-
-
-
-
-
-
-
- {% block stylesheets %}{% apply spaceless %}
-
- {% endapply %}{% endblock %}
-
-
-
-
-
-
-{% if hideHeader is not defined or hideHeader == false %}
-
-
-{% endif %}
-
-{% block background %}{% endblock %}
-
-{% block languageSwitcher %}{% endblock %}
-
- {% block content %}{% endblock %}
-
-
-{% if hideFooter is not defined or hideFooter == false %}
-
-{% endif %}
-
-
-
-
-
-
-
diff --git a/theme/openconext/templates/layouts/scripts/empty.html.twig b/theme/openconext/templates/layouts/scripts/empty.html.twig
deleted file mode 100644
index 372c1bbc9b..0000000000
--- a/theme/openconext/templates/layouts/scripts/empty.html.twig
+++ /dev/null
@@ -1 +0,0 @@
-{% block content %}{% endblock %}
\ No newline at end of file
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/authn-context-class-ref-blacklisted.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/authn-context-class-ref-blacklisted.html.twig
deleted file mode 100644
index 866735c52b..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/authn-context-class-ref-blacklisted.html.twig
+++ /dev/null
@@ -1,14 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_authn_context_class_ref_blacklisted'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}
- {% if withIdpName %}
- {{ 'error_authn_context_class_ref_blacklisted_desc'|trans({'%idpName%': feedbackInfoMap['identityProviderName']}) }}
- {% else %}
- {{ 'error_authn_context_class_ref_blacklisted_desc_no_idp_name'|trans }}
- {% endif %}
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/authorization-policy-violation.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/authorization-policy-violation.html.twig
deleted file mode 100644
index 1dea96e42e..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/authorization-policy-violation.html.twig
+++ /dev/null
@@ -1,46 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_authorization_policy_violation'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}
-
- {% if withIdpName %}
- {{ 'error_authorization_policy_violation_info'|trans({'%idpName%': feedbackInfoMap['identityProviderName']}) }}
- {% else %}
- {{ 'error_authorization_policy_violation_info_no_idp_name'|trans }}
- {% endif %}
-
-
- {% if logo is not null %}
-
- {% endif %}
-
- {% if policyDecisionMessage is not null %}
- {{ policyDecisionMessage }}
-
-
-
-
-
- {% endif %}
- {% if withIdpName and withSpName %}
- {{ 'error_authorization_policy_violation_desc'|trans({'%spName%': feedbackInfoMap['serviceProviderName'], '%idpName%': feedbackInfoMap['identityProviderName']}) }}
- {% elseif withIdpName %}
- {{ 'error_authorization_policy_violation_desc_no_sp_name'|trans({'%idpName%': feedbackInfoMap['identityProviderName']}) }}
- {% elseif withSpName %}
- {{ 'error_authorization_policy_violation_desc_no_idp_name'|trans({'%spName%': feedbackInfoMap['serviceProviderName']}) }}
- {% else %}
- {{ 'error_authorization_policy_violation_desc_no_name'|trans }}
- {% endif %}
-{% endblock %}
-
-{# The PDP error page should not show the table with the feedback information and back button. #}
-{% block feedbackInfo %}{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/clock-issue.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/clock-issue.html.twig
deleted file mode 100644
index 69c5a75d7c..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/clock-issue.html.twig
+++ /dev/null
@@ -1,14 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_clock_issue_title'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}
- {% if withIdpName %}
- {{ 'error_clock_issue_desc'|trans({'%idpName%': feedbackInfoMap['identityProviderName']}) }}
- {% else %}
- {{ 'error_clock_issue_desc_no_idp_name'|trans }}
- {% endif %}
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/custom.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/custom.html.twig
deleted file mode 100644
index 4a53e2b7e2..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/custom.html.twig
+++ /dev/null
@@ -1,8 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = title %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}{{ description }}{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/invalid-acs-binding.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/invalid-acs-binding.html.twig
deleted file mode 100644
index 845484408a..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/invalid-acs-binding.html.twig
+++ /dev/null
@@ -1,8 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_invalid_acs_binding'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}{{ 'error_invalid_acs_binding_desc'|trans }}{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/invalid-acs-location.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/invalid-acs-location.html.twig
deleted file mode 100644
index dd5b274c38..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/invalid-acs-location.html.twig
+++ /dev/null
@@ -1,8 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_no_message'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}{{ 'error_invalid_acs_location'|trans }}{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/invalid-attribute-value.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/invalid-attribute-value.html.twig
deleted file mode 100644
index eea1a9f22c..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/invalid-attribute-value.html.twig
+++ /dev/null
@@ -1,14 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_invalid_attribute_value'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}
- {% if withIdpName %}
- {{ 'error_invalid_attribute_value_desc'|trans({'%attributeName%': attributeName,'%attributeValue%': attributeValue, '%idpName%': feedbackInfoMap['identityProviderName']}) }}
- {% else %}
- {{ 'error_invalid_attribute_value_desc_no_idp_name'|trans({'%attributeName%': attributeName,'%attributeValue%': attributeValue}) }}
- {% endif %}
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/invalid-mfa-authn-context-class-ref.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/invalid-mfa-authn-context-class-ref.html.twig
deleted file mode 100644
index 82b107e13f..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/invalid-mfa-authn-context-class-ref.html.twig
+++ /dev/null
@@ -1,14 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_invalid_mfa_authn_context_class_ref'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}
- {% if withIdpName %}
- {{ 'error_invalid_mfa_authn_context_class_ref_desc'|trans({'%idpName%': feedbackInfoMap['identityProviderName']}) }}
- {% else %}
- {{ 'error_invalid_mfa_authn_context_class_ref_desc_no_idp_name'|trans }}
- {% endif %}
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/metadata-entity-not-found.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/metadata-entity-not-found.html.twig
deleted file mode 100644
index d6a1014c05..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/metadata-entity-not-found.html.twig
+++ /dev/null
@@ -1,8 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_metadata_entity_id_not_found'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}{{ 'error_metadata_entity_id_not_found_desc'|trans({'%message%': message}) }}{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/missing-required-fields.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/missing-required-fields.html.twig
deleted file mode 100644
index 96caff29b8..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/missing-required-fields.html.twig
+++ /dev/null
@@ -1,27 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_missing_required_fields'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}
-
- {% if withIdpName and withSpName %}
- {{ 'error_missing_required_fields_desc'|trans({'%idpName%': feedbackInfoMap['identityProviderName'], '%spName%': feedbackInfoMap['serviceProviderName']}) }}
- {% elseif withIdpName %}
- {{ 'error_missing_required_fields_desc_no_sp_name'|trans({'%idpName%': feedbackInfoMap['identityProviderName']}) }}
- {% elseif withSpName %}
- {{ 'error_missing_required_fields_desc_no_idp_name'|trans({'%spName%': feedbackInfoMap['serviceProviderName']}) }}
- {% else %}
- {{ 'error_missing_required_fields_desc_no_name'|trans }}
- {% endif %}
-
-
-
-
- UID
- schacHomeOrganization
-
-
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/no-authentication-request-received.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/no-authentication-request-received.html.twig
deleted file mode 100644
index dc9dd2cfbe..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/no-authentication-request-received.html.twig
+++ /dev/null
@@ -1,8 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_no_authentication_request_received'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}{{ message }}{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/no-idps.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/no-idps.html.twig
deleted file mode 100644
index 16213fd047..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/no-idps.html.twig
+++ /dev/null
@@ -1,14 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_no_idps'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}
- {% if withSpName %}
- {{ 'error_no_idps_desc'|trans({'%spName%': feedbackInfoMap['serviceProviderName'] }) }}
- {% else %}
- {{ 'error_no_idps_desc_no_sp_name'|trans }}
- {% endif %}
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/received-error-status-code.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/received-error-status-code.html.twig
deleted file mode 100644
index 4d42a47b1f..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/received-error-status-code.html.twig
+++ /dev/null
@@ -1,8 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_received_error_status_code'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}{{ 'error_received_error_status_code_desc'|trans }}{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/received-invalid-response.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/received-invalid-response.html.twig
deleted file mode 100644
index 818b963f6b..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/received-invalid-response.html.twig
+++ /dev/null
@@ -1,6 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_received_invalid_response'|trans({'%idpName%': feedbackInfoMap['identityProviderName']}) %}
-{% block pageTitle %}{{ 'error_received_invalid_response'|trans({'%idpName%': feedbackInfoMap['identityProviderName']}) }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/received-invalid-signed-response.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/received-invalid-signed-response.html.twig
deleted file mode 100644
index 465447aa0e..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/received-invalid-signed-response.html.twig
+++ /dev/null
@@ -1,18 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% if feedbackInfoMap is defined and feedbackInfoMap['identityProviderName'] %}
- {% set pageTitle = 'error_received_invalid_signed_response'|trans({'%idpName%': feedbackInfoMap['identityProviderName']}) %}
-{% else %}
- {% set pageTitle = 'error_received_invalid_signed_response_no_idp_name'|trans %}
-{% endif %}
-
-{% block pageTitle %}
- {% if withIdpName %}
- {{ 'error_received_invalid_signed_response'|trans({'%idpName%': feedbackInfoMap['identityProviderName']}) }}
- {% else %}
- {{ 'error_received_invalid_signed_response_no_idp_name'|trans }}
- {% endif %}
-{% endblock %}
-
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/session-lost.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/session-lost.html.twig
deleted file mode 100644
index 018bc04be2..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/session-lost.html.twig
+++ /dev/null
@@ -1,8 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_session_lost'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}{{ 'error_session_lost_desc'|trans }}{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/session-not-started.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/session-not-started.html.twig
deleted file mode 100644
index 1f153ec235..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/session-not-started.html.twig
+++ /dev/null
@@ -1,8 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_session_not_started'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}{{ 'error_session_not_started_desc'|trans }}{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/stepup-callout-unknown.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/stepup-callout-unknown.html.twig
deleted file mode 100644
index e4174de2f5..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/stepup-callout-unknown.html.twig
+++ /dev/null
@@ -1,8 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_stepup_callout_unknown_title'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}{{ 'error_stepup_callout_unknown_desc'|trans }}{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/stepup-callout-unmet-loa.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/stepup-callout-unmet-loa.html.twig
deleted file mode 100644
index 153d32e7a9..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/stepup-callout-unmet-loa.html.twig
+++ /dev/null
@@ -1,11 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_stepup_callout_unmet_loa_title'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}{{ 'error_stepup_callout_unmet_loa_desc'|trans }}
-
-{{ 'error_stepup_callout_unmet_loa_link_text'|trans }}
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/stepup-callout-user-cancelled.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/stepup-callout-user-cancelled.html.twig
deleted file mode 100644
index 218575fc2a..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/stepup-callout-user-cancelled.html.twig
+++ /dev/null
@@ -1,8 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_stepup_callout_user_cancelled_title'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}{{ 'error_stepup_callout_user_cancelled_desc'|trans }}{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/stuck-in-authentication-loop.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/stuck-in-authentication-loop.html.twig
deleted file mode 100644
index 0dc14ebb53..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/stuck-in-authentication-loop.html.twig
+++ /dev/null
@@ -1,18 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_stuck_in_authentication_loop'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}
- {% if withIdpName and withSpName %}
- {{ 'error_stuck_in_authentication_loop_desc'|trans({'%idpName%': feedbackInfoMap['identityProviderName'], '%spName%': feedbackInfoMap['serviceProviderName']}) }}
- {% elseif withIdpName %}
- {{ 'error_stuck_in_authentication_loop_desc_no_sp_name'|trans({'%idpName%': feedbackInfoMap['identityProviderName']}) }}
- {% elseif withSpName %}
- {{ 'error_stuck_in_authentication_loop_desc_no_idp_name'|trans({'%spName%': feedbackInfoMap['serviceProviderName']}) }}
- {% else %}
- {{ 'error_stuck_in_authentication_loop_desc_no_name'|trans }}
- {% endif %}
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/unable-to-receive-message.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/unable-to-receive-message.html.twig
deleted file mode 100644
index dbb86d4b77..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/unable-to-receive-message.html.twig
+++ /dev/null
@@ -1,8 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_no_message'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}{{ 'error_no_message_desc'|trans }}{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-error.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-error.html.twig
deleted file mode 100644
index 9119b3e60a..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-error.html.twig
+++ /dev/null
@@ -1,19 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{# Prepare the page title #}
-{% set pageTitle = 'error_generic'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ parent() }} - {{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}
- {% if withSpName and withIdpName %}
- {{ 'error_generic_desc'|trans({'%spName%': feedbackInfoMap['serviceProviderName'], '%idpName%': feedbackInfoMap['identityProviderName']}) }}
- {% elseif withIdpName %}
- {{ 'error_generic_desc_no_sp_name'|trans({'%idpName%': feedbackInfoMap['identityProviderName']}) }}
- {% elseif withSpName %}
- {{ 'error_generic_desc_no_idp_name'|trans({'%spName%': feedbackInfoMap['serviceProviderName']}) }}
- {% else %}
- {{ 'error_generic_desc_no_names'|trans }}
- {% endif %}
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-identity-provider.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-identity-provider.html.twig
deleted file mode 100644
index b6b4b6ed35..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-identity-provider.html.twig
+++ /dev/null
@@ -1,24 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% if withIdpName %}
- {% set pageTitle = 'error_unknown_identity_provider'|trans({'%idpName%': feedbackInfoMap['identityProviderName']}) %}
-{% else %}
- {% set pageTitle = 'error_unknown_identity_provider_no_idp_name'|trans %}
-{% endif %}
-{% block pageTitle %}
- {% if withIdpName %}
- {{ 'error_unknown_identity_provider'|trans({'%idpName%': feedbackInfoMap['identityProviderName']}) }}
- {% else %}
- {{ 'error_unknown_identity_provider_no_idp_name'|trans }}
- {% endif %}
-{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}
- {% if withIdpName %}
- {{ 'error_unknown_identity_provider_desc'|trans({'%idpName%': feedbackInfoMap['identityProviderName']}) }}
- {% else %}
- {{ 'error_unknown_identity_provider_desc_no_idp_name'|trans }}
- {% endif %}
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-keyid.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-keyid.html.twig
deleted file mode 100644
index 2df9b89239..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-keyid.html.twig
+++ /dev/null
@@ -1,12 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_unknown_keyid'|trans %}
-{% block pageTitle %}
- {{ 'error_unknown_keyid'|trans }}
-{% endblock %}
-{% block title %}{{ parent() }}{% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}
- {{ 'error_unknown_keyid_desc'|trans }}
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-preselected-idp.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-preselected-idp.html.twig
deleted file mode 100644
index 1cb99c27ac..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-preselected-idp.html.twig
+++ /dev/null
@@ -1,25 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% if feedbackInfoMap is defined and feedbackInfoMap['serviceProviderName'] %}
- {% set pageTitle = 'error_unknown_preselected_idp'|trans({'%spName%': feedbackInfoMap['serviceProviderName']}) %}
-{% else %}
- {% set pageTitle = 'error_unknown_preselected_idp_no_sp_name'|trans %}
-{% endif %}
-
-{% block pageTitle %}
- {% if withSpName %}
- {{ 'error_unknown_preselected_idp'|trans({'%spName%': feedbackInfoMap['serviceProviderName']}) }}
- {% else %}
- {{ 'error_unknown_preselected_idp_no_sp_name'|trans }}
- {% endif %}
-{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}
- {% if withSpName %}
- {{ 'error_unknown_preselected_idp_desc'|trans({'%spName%': feedbackInfoMap['serviceProviderName']}) }}
- {% else %}
- {{ 'error_unknown_preselected_idp_desc_no_sp_name'|trans }}
- {% endif %}
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-requesterid-in-authnrequest.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-requesterid-in-authnrequest.html.twig
deleted file mode 100644
index 992ed8dac7..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-requesterid-in-authnrequest.html.twig
+++ /dev/null
@@ -1,8 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_unknown_requesterid_in_authnrequest'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}{{ 'error_unknown_requesterid_in_authnrequest'|trans }}{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-service-provider.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-service-provider.html.twig
deleted file mode 100644
index d4d5d49282..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-service-provider.html.twig
+++ /dev/null
@@ -1,29 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% if withSpName %}
- {% set pageTitle = 'error_unknown_service_provider'|trans({'%spName%': feedbackInfoMap['serviceProviderName']}) %}
-{% else %}
- {% set pageTitle = 'error_unknown_service_provider_no_sp_name'|trans %}
-{% endif %}
-
-{% block pageTitle %}
- {% if withSpName %}
- {{ 'error_unknown_service_provider'|trans({'%spName%': feedbackInfoMap['serviceProviderName']}) }}
- {% else %}
- {{ 'error_unknown_service_provider_no_sp_name'|trans }}
- {% endif %}
-{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}
- {% if withSpName and withIdpName %}
- {{ 'error_unknown_service_provider_desc'|trans({'%spName%': feedbackInfoMap['serviceProviderName'], '%idpName%': feedbackInfoMap['identityProviderName']}) }}
- {% elseif withSpName %}
- {{ 'error_unknown_service_provider_desc_no_idp_name'|trans({'%spName%': feedbackInfoMap['serviceProviderName']}) }}
- {% elseif withIdpName %}
- {{ 'error_unknown_service_provider_desc_no_sp_name'|trans({'%idpName%': feedbackInfoMap['identityProviderName']}) }}
- {% else %}
- {{ 'error_unknown_service_provider_desc_no_names'|trans }}
- {% endif %}
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-signing-key.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-signing-key.html.twig
deleted file mode 100644
index 040fd0dd73..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/unknown-signing-key.html.twig
+++ /dev/null
@@ -1,12 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_unknown_signing_key'|trans %}
-{% block pageTitle %}
- {{ 'error_unknown_signing_key'|trans }}
-{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}
- {{ 'error_unknown_signing_key_desc'|trans }}
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/unsolicited-response.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/unsolicited-response.html.twig
deleted file mode 100644
index 44b8dce4a2..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/unsolicited-response.html.twig
+++ /dev/null
@@ -1,8 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_unsolicited_response'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}{{ 'error_unsolicited_response_desc'|trans }}{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/unsupported-acs-location-scheme.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/unsupported-acs-location-scheme.html.twig
deleted file mode 100644
index 17265deac4..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/unsupported-acs-location-scheme.html.twig
+++ /dev/null
@@ -1,6 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_unsupported_acs_location_scheme'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Feedback/unsupported-signature-method.html.twig b/theme/openconext/templates/modules/Authentication/View/Feedback/unsupported-signature-method.html.twig
deleted file mode 100644
index afae6c9846..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Feedback/unsupported-signature-method.html.twig
+++ /dev/null
@@ -1,8 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{% set pageTitle = 'error_unsupported_signature_method'|trans %}
-{% block pageTitle %}{{ pageTitle }}{% endblock %}
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ pageTitle }}{% endblock %}
-
-{% block errorMessage %}{{ 'error_unsupported_signature_method_desc'|trans({'%arg1%': signatureMethod}) }}{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/IdentityProvider/help-discover.html.twig b/theme/openconext/templates/modules/Authentication/View/IdentityProvider/help-discover.html.twig
deleted file mode 100644
index 443dbfcb2d..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/IdentityProvider/help-discover.html.twig
+++ /dev/null
@@ -1,16 +0,0 @@
-{% extends '@themeLayouts/scripts/default.html.twig' %}
-
-{# Prepare the page title #}
-{% set pageTitle = 'help_header'|trans %}
-
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ parent() }} - {{ pageTitle }}{% endblock %}
-
-{% block content %}
-
-
-
- {{ 'help_page_content'|trans|raw }}
-
-
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/IdentityProvider/perform-request-access.html.twig b/theme/openconext/templates/modules/Authentication/View/IdentityProvider/perform-request-access.html.twig
deleted file mode 100644
index f10baa79d1..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/IdentityProvider/perform-request-access.html.twig
+++ /dev/null
@@ -1,12 +0,0 @@
-{% extends '@themeLayouts/scripts/empty.html.twig' %}
-
-{% block content %}
-
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/IdentityProvider/remove-cookies.html.twig b/theme/openconext/templates/modules/Authentication/View/IdentityProvider/remove-cookies.html.twig
deleted file mode 100644
index 636695fa06..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/IdentityProvider/remove-cookies.html.twig
+++ /dev/null
@@ -1,70 +0,0 @@
-{% extends '@themeLayouts/scripts/default.html.twig' %}
-
-{# Prepare the page title #}
-{% set pageTitle = 'cookie_removal_header'|trans %}
-
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ parent() }} - {{ pageTitle }}{% endblock %}
-
-{% block content %}
-
-
-
{{ 'cookie_removal_header'|trans }}
- {% include '@theme/Authentication/View/Proxy/site-notice.html.twig' with { className: 'full-width' } %}
-
{{ 'cookie_removal_description'|trans }}
-
-
-
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/IdentityProvider/request-access.html.twig b/theme/openconext/templates/modules/Authentication/View/IdentityProvider/request-access.html.twig
deleted file mode 100644
index 1aa98211ea..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/IdentityProvider/request-access.html.twig
+++ /dev/null
@@ -1,65 +0,0 @@
-{% extends '@themeLayouts/scripts/empty.html.twig' %}
-
-{% block content %}
-
-
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Index/index.html.twig b/theme/openconext/templates/modules/Authentication/View/Index/index.html.twig
deleted file mode 100644
index 7ef0c714f4..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Index/index.html.twig
+++ /dev/null
@@ -1,129 +0,0 @@
-{% extends '@themeLayouts/scripts/notConverted.twig' %}
-
-{% block title %}{{ parent() }} - Metadata & Certificates{% endblock %}
-{% set pageHeadingTitle = subHeader %}
-
-{% block stylesheets %}{% apply spaceless %}
-
-{% endapply %}{% endblock %}
-
-{% block content %}
-
-
-
-
- {{ 'suite_name'|trans }} EngineBlock
-
-
-
- {% include '@theme/Authentication/View/Proxy/site-notice.html.twig' with { className: 'full-width' } %}
-
{{ subHeader }}
-
-
- The Public SAML Signing certificate of the {{ 'suite_name'|trans }} IdP
-
-
-
-
-
- The Public SAML metadata (the entity descriptor) of the {{ 'suite_name'|trans }} IdP Proxy
-
-
-
-
-
- The Public SAML metadata (the entities descriptor) for all the {{ 'suite_name'|trans }} IdPs
-
-
-
-
-
- Metadata below is only relevant in
- case you want a custom WAYF for your SP
-
-
- The Public SAML metadata (the entities descriptor) of the {{ 'suite_name'|trans }} IdPs which
- allow
- access to SP with entityID "urn:example.org". Please replace "urn:example.org" with
- the entityID of your own SP before testing. The resulting metadata will include all
- {{ 'suite_name'|trans }} IdPs that allow access to the service. Please note this information is
- generated dynamically, so the number of available IdPs may change over time.
-
-
-
-
-
-
-
-
-
-
SP Certificate and Metadata
-
-
- Test authentication with an identity provider.
-
-
-
-
-
- The Public SAML Signing certificate of the {{ 'suite_name'|trans }} SP
-
-
-
-
-
- The Public SAML metadata (the entity descriptor) of the {{ 'suite_name'|trans }} SP Proxy
-
-
-
-
-
-
-
-
-
Step-up authentication Certificate and Metadata
-
-
- The Public SAML metadata (the entity descriptor) of the {{ 'suite_name'|trans }} step-up
- authentication Proxy
-
-
-
-
-
-
-
-
-
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Metadata/idp.xml.twig b/theme/openconext/templates/modules/Authentication/View/Metadata/idp.xml.twig
deleted file mode 100644
index 1640ab71ee..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Metadata/idp.xml.twig
+++ /dev/null
@@ -1,33 +0,0 @@
-{% apply spaceless %}
-
-
-
-
- {% include '@theme/Authentication/View/Metadata/partial/ui_info.xml.twig' %}
-
- {% for key in metadata.publicKeys %}
-
-
-
- {{ key }}
-
-
-
- {% endfor %}
- {% for nameId in metadata.supportedNameIdFormats %}
- {{ nameId }}
- {% endfor %}
- {# Formally we only allow redirect binding on the SSO location #}
-
-
- {% if metadata.hasOrganizationInfo %}
- {% include '@theme/Authentication/View/Metadata/partial/organization.xml.twig' %}
- {% endif %}
- {% if metadata.contactPersons is not empty%}
- {% for contactPerson in metadata.contactPersons %}
- {% include '@theme/Authentication/View/Metadata/partial/contact_person.xml.twig' %}
- {% endfor %}
- {% endif %}
-
-
-{% endapply %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Metadata/idps.xml.twig b/theme/openconext/templates/modules/Authentication/View/Metadata/idps.xml.twig
deleted file mode 100644
index 7cc000ed03..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Metadata/idps.xml.twig
+++ /dev/null
@@ -1,36 +0,0 @@
-{% apply spaceless %}
-
-
- {% for metadata in metadataCollection %}
-
-
-
- {% include '@theme/Authentication/View/Metadata/partial/shibmd_scope.xml.twig' %}
- {% include '@theme/Authentication/View/Metadata/partial/ui_info.xml.twig' %}
-
- {% for key in metadata.publicKeys %}
-
-
-
- {{ key }}
-
-
-
- {% endfor %}
- {% for nameIdFormat in metadata.supportedNameIdFormats %}
- {{ nameIdFormat }}
- {% endfor %}
-
-
- {% if metadata.hasOrganizationInfo %}
- {% include '@theme/Authentication/View/Metadata/partial/organization.xml.twig' %}
- {% endif %}
- {% if metadata.contactPersons is not empty%}
- {% for contactPerson in metadata.contactPersons %}
- {% include '@theme/Authentication/View/Metadata/partial/contact_person.xml.twig' %}
- {% endfor %}
- {% endif %}
-
- {% endfor %}
-
-{% endapply %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Metadata/partial/contact_person.xml.twig b/theme/openconext/templates/modules/Authentication/View/Metadata/partial/contact_person.xml.twig
deleted file mode 100644
index 07a082b5d3..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Metadata/partial/contact_person.xml.twig
+++ /dev/null
@@ -1,5 +0,0 @@
-
- {{ contactPerson.givenName }}
- {{ contactPerson.surName }}
- mailto:{{ contactPerson.emailAddress }}
-
diff --git a/theme/openconext/templates/modules/Authentication/View/Metadata/partial/organization.xml.twig b/theme/openconext/templates/modules/Authentication/View/Metadata/partial/organization.xml.twig
deleted file mode 100644
index 77e570ad92..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Metadata/partial/organization.xml.twig
+++ /dev/null
@@ -1,18 +0,0 @@
-{% set hasOrganizationData = false %}
-{% for locale in locales %}
- {% if metadata.hasCompleteOrganizationData(locale) %}
- {% set hasOrganizationData = true %}
- {% endif %}
-{% endfor %}
-
-{% if hasOrganizationData %}
-
- {% for locale in locales %}
- {% if metadata.hasCompleteOrganizationData(locale) %}
- {{ metadata.organizationName(locale) }}
- {{ metadata.organizationDisplayName(locale) }}
- {{ metadata.organizationUrl(locale) }}
- {% endif %}
- {% endfor %}
-
-{% endif %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Metadata/partial/shibmd_scope.xml.twig b/theme/openconext/templates/modules/Authentication/View/Metadata/partial/shibmd_scope.xml.twig
deleted file mode 100644
index c6de77c0dc..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Metadata/partial/shibmd_scope.xml.twig
+++ /dev/null
@@ -1,5 +0,0 @@
-{% if metadata.shibMdScopes is not empty %}
- {% for scope in metadata.shibMdScopes %}
- {{ scope.allowed }}
- {% endfor %}
-{% endif %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Metadata/partial/ui_info.xml.twig b/theme/openconext/templates/modules/Authentication/View/Metadata/partial/ui_info.xml.twig
deleted file mode 100644
index b60ff515a5..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Metadata/partial/ui_info.xml.twig
+++ /dev/null
@@ -1,20 +0,0 @@
-
- {% for locale in locales %}
- {% if metadata.displayName(locale) is not empty %}
- {{ metadata.displayName(locale) }}
- {% endif %}
- {% endfor %}
- {% for locale in locales %}
- {% if metadata.description(locale) is not empty %}
- {{ metadata.description(locale) }}
- {% endif %}
- {% endfor %}
- {% if metadata.logo is not null %}
- {{ metadata.logo.url }}
- {% endif %}
- {% for locale in locales %}
- {% if metadata.keywords(locale) is not empty %}
- {{ metadata.keywords(locale) }}
- {% endif %}
- {% endfor %}
-
diff --git a/theme/openconext/templates/modules/Authentication/View/Metadata/sp.xml.twig b/theme/openconext/templates/modules/Authentication/View/Metadata/sp.xml.twig
deleted file mode 100644
index a9976dfa2a..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Metadata/sp.xml.twig
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
- {% if metadata.hasUiInfo %}
-
- {% include '@theme/Authentication/View/Metadata/partial/ui_info.xml.twig' %}
-
- {% endif %}
- {% for key in metadata.publicKeys %}
-
-
-
- {{ key }}
-
-
-
- {% endfor %}
-
- {% if requestedAttributes is not empty %}
-
- {% for locale in locales %}
- {{ metadata.name(locale) }}
- {% endfor %}
- {% for locale in locales %}
- {{ metadata.description(locale) }}
- {% endfor %}
- {% for attribute in requestedAttributes %}
-
- {% endfor %}
-
- {% endif %}
-
-
- {% if metadata.hasOrganizationInfo %}
- {% include '@theme/Authentication/View/Metadata/partial/organization.xml.twig' %}
- {% endif %}
- {% if metadata.contactPersons is not empty%}
- {% for contactPerson in metadata.contactPersons %}
- {% include '@theme/Authentication/View/Metadata/partial/contact_person.xml.twig' %}
- {% endfor %}
- {% endif %}
-
diff --git a/theme/openconext/templates/modules/Authentication/View/Proxy/consent-slidein-about.html.twig b/theme/openconext/templates/modules/Authentication/View/Proxy/consent-slidein-about.html.twig
deleted file mode 100644
index bfc3d0661e..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Proxy/consent-slidein-about.html.twig
+++ /dev/null
@@ -1,11 +0,0 @@
-
diff --git a/theme/openconext/templates/modules/Authentication/View/Proxy/consent-slidein-contact-details.html.twig b/theme/openconext/templates/modules/Authentication/View/Proxy/consent-slidein-contact-details.html.twig
deleted file mode 100644
index b1cb562543..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Proxy/consent-slidein-contact-details.html.twig
+++ /dev/null
@@ -1,29 +0,0 @@
-
- {% if idpSupport is defined %}
- {{ 'consent_slidein_text_contact'|trans }}
-
-
- {% if idpSupport.givenName is defined or idpSupport.surName is defined %}
- {% if idpSupport.givenName is not empty %}{{ idpSupport.givenName }}{% endif %}
- {% if idpSupport.surName is not empty %}{{ idpSupport.surName }}{% endif %}
-
- {% endif %}
-
- {% if idpSupport.emailAddress is defined and idpSupport.emailAddress is not empty %}
- {{ 'consent_slidein_details_email'|trans }}:
-
- {{ idpSupport.emailAddress }}
-
- {% endif %}
-
- {% if idpSupport.telephoneNumber is defined and idpSupport.telephoneNumber is not empty %}
-
- {{ 'consent_slidein_details_phone'|trans }}:
-
- {{ idpSupport.telephoneNumber }}
-
- {% endif %}
- {% else %}
- {{ 'consent_slidein_text_no_support'|trans }}
- {% endif %}
-
diff --git a/theme/openconext/templates/modules/Authentication/View/Proxy/consent-slidein-correction.html.twig b/theme/openconext/templates/modules/Authentication/View/Proxy/consent-slidein-correction.html.twig
deleted file mode 100644
index 680b3e1618..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Proxy/consent-slidein-correction.html.twig
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
{{ 'slidein_close'|trans }}
-
- {{ 'consent_slidein_correction_title'|trans }}
- {% if attributeSource == 'idp' %}
- {{ 'consent_slidein_correction_text_idp'|trans }}
- {% include '@theme/Authentication/View/Proxy/consent-slidein-contact-details.html.twig' %}
- {% else %}
- {{ 'consent_slidein_correction_text_aa'|trans }}
- {% endif %}
-
-
-
diff --git a/theme/openconext/templates/modules/Authentication/View/Proxy/consent-slidein-reject.html.twig b/theme/openconext/templates/modules/Authentication/View/Proxy/consent-slidein-reject.html.twig
deleted file mode 100644
index 240d2b7788..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Proxy/consent-slidein-reject.html.twig
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
{{ 'slidein_close'|trans }}
-
- {{ 'consent_slidein_reject_head'|trans }}
- {{ 'consent_slidein_reject_text'|trans }}
- {% include '@theme/Authentication/View/Proxy/consent-slidein-contact-details.html.twig' %}
-
-
-
diff --git a/theme/openconext/templates/modules/Authentication/View/Proxy/consent.html.twig b/theme/openconext/templates/modules/Authentication/View/Proxy/consent.html.twig
deleted file mode 100644
index 2c88c1556f..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Proxy/consent.html.twig
+++ /dev/null
@@ -1,226 +0,0 @@
-{% extends '@themeLayouts/scripts/default.html.twig' %}
-
-{# SP and IdP name are stored in a local variable for convenience #}
-{% set spName = sp.displayName(locale()) %}
-{% if idpDiscovery is defined and idpDiscovery is not null %}
- {% set idpName = idpDiscovery.name(locale()) %}
-{% else %}
- {% set idpName = idp.displayName(locale()) %}
-{% endif %}
-
-{# Prepare the page title #}
-{% set pageTitle = 'consent_header_title'|trans({'%arg1%': spName}) %}
-
-{# Load the sorded/ordered and normalized attributes #}
-{% set attributesBySource = sortByDisplayOrder(attributes, attributeSources, nameId) %}
-
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ parent() }} - {{ pageTitle }}{% endblock %}
-
-{% block content %}
-
-
-
-
- {{ pageTitle }}
-
- {{ 'consent_header_text'|trans({'%arg1%': spName|escape})|raw }}
-
- {% if sp.coins.termsOfServiceUrl is not null %}
-
-
- {{ 'consent_privacy_link'|trans }}
-
- {% endif %}
-
-
-
- {{ 'consent_privacy_title'|trans({'%arg1%': spName}) }}
-
-
- {% include '@theme/Authentication/View/Proxy/site-notice.html.twig' %}
-
-
-
-
- {% for attributeSource, attributes in attributesBySource %}
-
-
-
-
- {% if attributeSource == 'engineblock' %}
-
- {{ 'suite_name'|trans }}
- {% elseif attributeSource != 'idp' %}
-
- {{ attributeSourceDisplayName(attributeSource) }}
- {% else %}
- {% if idp.mdui.hasLogo %}
-
- {% else %}
-
- {% endif %}
- {{ idpName }}
- {% endif %}
- {% if attributeSource == 'engineblock' %}
- {{ 'consent_name_id_support_link'|trans }}
- {% else %}
- {{ 'consent_attributes_correction_link'|trans }}
- {% endif %}
-
-
- {% if attributes|length == 0 %}
-
- {{ 'consent_no_attributes_text'|trans }}
-
- {% else %}
- {% for attributeIdentifier, attributeValues in attributes %}
-
- {% if attributeSource == 'engineblock' %}
-
- {{ 'consent_name_id_label'|trans }}
-
-
- {% apply spaceless %}
- {% if nameIdIsPersistent %}
-
- {% endif %}
- {{ attributeValues }}
- {% if nameIdIsPersistent %}
-
- {% endif %}
- {% endapply %}
-
-
- {% else %}
-
-
- {{ attributeShortName(attributeIdentifier, locale()) }}
-
-
- {# Single attribute value #}
- {% if attributeValues|length == 1 %}
- {% if attributeMotivations[attributeIdentifier] is defined %}
- {% apply spaceless %}
-
- {{ attributeValues|first }}
-
- {% endapply %}
- {% else %}
- {{ attributeValues|first }}
- {% endif %}
- {# Multiple attribute values #}
- {% else %}
-
- {% for value in attributeValues %}
-
- {% if attributeMotivations[attributeIdentifier] is defined %}
- {% apply spaceless %}
-
- {{ value }}
-
- {% endapply %}
- {% else %}
- {{ value }}
- {% endif %}
-
- {% endfor %}
-
- {% endif %}
-
-
- {% endif %}
- {% endfor %}
- {% endif %}
-
-
-
-
- {{ 'consent_attributes_show_more'|trans }}
-
-
- {{ 'consent_attributes_show_less'|trans }}
-
-
-
-
-
-
-
-
- {% endfor %}
-
-
-
- {% if showConsentExplanation and consentSettings.consentExplanationIn(app.request.locale, spEntityId) %}
-
- {% if idp.mdui.hasLogo %}
-
-
-
- {% endif %}
- {{ 'consent_explanation_title'|trans }}
- {{ consentSettings.consentExplanationIn(app.request.locale, spEntityId) }}
-
-
- {% endif %}
-
-
-
-
-
- {% if consentCount == 0 %}
- {{ 'consent_footer_text_first_consent'|trans({'%arg1%': profileUrl|escape})|raw }}
- {% elseif consentCount == 1 %}
- {{ 'consent_footer_text_singular'|trans({'%arg1%': profileUrl|escape})|raw }}
- {% else %}
- {{ 'consent_footer_text_plural'|trans({'%arg1%': consentCount|escape, '%arg2%': profileUrl|escape})|raw }}
- {% endif %}
-
-
-
-
- {% include '@theme/Authentication/View/Proxy/consent-slidein-reject.html.twig' %}
-
- {% for attributeSource in attributesBySource|keys %}
- {% include '@theme/Authentication/View/Proxy/consent-slidein-correction.html.twig' %}
- {% endfor %}
-
- {% include '@theme/Authentication/View/Proxy/consent-slidein-about.html.twig' %}
-
-
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Proxy/debug-idp-mail.txt.twig b/theme/openconext/templates/modules/Authentication/View/Proxy/debug-idp-mail.txt.twig
deleted file mode 100644
index 49959c37ec..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Proxy/debug-idp-mail.txt.twig
+++ /dev/null
@@ -1,53 +0,0 @@
-{% extends '@themeLayouts/scripts/empty.html.twig' %}
-
-{% block content %}
-IdP
-===
-Name {{ idp.nameEn }}
-Entity ID {{ idp.entityId }}
-Workflow Status: {{ idp.workflowState }}
-
-Attributes
-==========
-{% for error in validationResult.errorsForMissingAttributes %}
-Error: {{ error[0]|trans({'%arg1%': error[1], '%arg2%': error[2], '%arg3%': error[3]}) }}
-{% endfor %}
-
-{% for warning in validationResult.warningsForMissingAttributes %}
-Warning: {{ warning[0]|trans({'%arg1%': warning[1], '%arg2%': warning[2], '%arg3%': warning[3]}) }}
-{% endfor %}
-
-
-{% for attributeName, attributeValues in attributes %}
-"{{ attributeName }}"
-----------------------------------------------------------
-
-English name: {{ attributeName(attributeName, 'en') }}
-
-Values:
-{% for attributeValue in attributeValues %}
- * {{ attributeValue }}
-{% endfor %}
-
-{% for error in validationResult.errors(attributeName) %}
-Error: {{ error[0]|trans({'%arg1%': error[1], '%arg2%': error[2], '%arg3%': error[3]}) }}
-{% endfor %}
-
-{% for warning in validationResult.warnings(attributeName) %}
-Warning: {{ warning[0]|trans({'%arg1%': warning[1], '%arg2%': warning[2], '%arg3%': warning[3]}) }}
-{% endfor %}
-
-{% endfor %}
-
-
-Raw data
-========
-
-Entity.php
-----------------------------------------------------------
-{{ var_export(idp) }}
-
-Response.php
-----------------------------------------------------------
-{{ var_export(response) }}
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Proxy/debug-idp-response.html.twig b/theme/openconext/templates/modules/Authentication/View/Proxy/debug-idp-response.html.twig
deleted file mode 100644
index bb1f0b3e5d..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Proxy/debug-idp-response.html.twig
+++ /dev/null
@@ -1,180 +0,0 @@
-{% extends '@themeLayouts/scripts/default.html.twig' %}
-
-{# Prepare the page title #}
-{% set pageTitle = 'idp_debugging_title'|trans %}
-
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ parent() }} - {{ pageTitle }}{% endblock %}
-
-{% block content %}
-
-
-
- {% if showMailFlashMessage %}
-
-
-
-
- {{ 'attributes_data_mailed'|trans }}
-
-
-
- {% endif %}
-
-
{{ pageTitle }}
-
- {% if validationResult.isValid %}
-
- {{ 'attributes_validation_succeeded'|trans }}
- {% else %}
- {% if validationResult.errors|length > 0 %}
-
- {% else %}
-
- {% endif %}
-
- {{ 'attributes_validation_failed'|trans }}
- {% endif %}
-
-
-
-
-
Identity Provider
-
-
-
-
- Logo
-
-
-
-
-
-
-
- {{ 'name'|trans }}
-
-
- {{ idp.nameEn }}
-
-
-
-
- Entity ID
-
-
- {{ idp.entityId }}
-
-
-
-
- Workflow Status
-
-
- {{ idp.workflowState }}
-
-
-
-
-
-
{{ 'attributes'|trans }}
- {% for error in validationResult.errorsForMissingAttributes %}
-
-
- {{ error[0]|trans({'%arg1%': error[1], '%arg2%': error[2], '%arg3%': error[3]}) }}
-
- {% endfor %}
- {% for warning in validationResult.warningsForMissingAttributes %}
-
-
- {{ warning[0]|trans({'%arg1%': warning[1], '%arg2%': warning[2], '%arg3%': warning[3]}) }}
-
- {% endfor %}
-
-
-
-
-
- {{ 'validation'|trans }}
-
-
- {{ 'suite_name'|trans }} Display Name
-
-
- {{ 'name'|trans }}
-
-
- {{ 'value'|trans }}
-
-
- {{ 'remarks'|trans }}
-
-
-
-
- {% for attributeName, attributeValues in attributes %}
-
-
- {% if validationResult.isValid(attributeName) %}
-
- {% else %}
- {% if validationResult.errors(attributeName).length > 0 %}
-
-
-
- {% else %}
-
-
- {% endif %}
- {% endif %}
-
-
- {{ attributeName(attributeName, 'en') }}
-
-
- {{ attributeName }}
-
-
- {% if attributeValues|length == 1 %}
- {{ attributeValues[0] }}
- {% else %}
-
- {% for attributeValue in attributeValues %}
- {{ attributeValue }}
- {% endfor %}
-
- {% endif %}
-
-
- {% if not validationResult.isValid(attributeName) %}
-
- {% for error in validationResult.errors(attributeName) %}
- {{ error[0]|trans({'%arg1%': error[1], '%arg2%': error[2], '%arg3%': error[3]}) }}
- {% endfor %}
- {% for warning in validationResult.warnings(attributeName) %}
- {{ warning[0]|trans({'%arg1%': warning[1], '%arg2%': warning[2], '%arg3%': warning[3]}) }}
- {% endfor %}
-
- {% endif %}
-
-
-
- {% endfor %}
-
-
-
-
-
{{ 'idp_debugging_mail_explain'|trans }}
-
-
-
-
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Proxy/form.html.twig b/theme/openconext/templates/modules/Authentication/View/Proxy/form.html.twig
deleted file mode 100644
index 7a42298066..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Proxy/form.html.twig
+++ /dev/null
@@ -1,59 +0,0 @@
-{% extends '@themeLayouts/scripts/empty.html.twig' %}
-
-{% block content %}
-
-
-
- {{ defaultTitle }} - {{ 'post_data'|trans }}
-
-
-
-
-
-
-
-
- {% block stylesheets %}{% apply spaceless %}
-
- {% endapply %}{% endblock %}
-
-
-
-
-
-
-
-
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Proxy/site-notice.html.twig b/theme/openconext/templates/modules/Authentication/View/Proxy/site-notice.html.twig
deleted file mode 100644
index f66377ec1a..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Proxy/site-notice.html.twig
+++ /dev/null
@@ -1,12 +0,0 @@
-{% if className is defined %}
- {% set fullClassName = 'warning warning__global-site-notice' ~ ' ' ~ className %}
-{% else %}
- {% set fullClassName = 'warning warning__global-site-notice' %}
-{% endif %}
-{% if shouldDisplayGlobalSiteNotice() %}
- {% include '@theme/Default/Partials/warning.html.twig' with {
- allowedHtml: getAllowedHtmlForNotice(),
- className: fullClassName,
- text: getGlobalSiteNotice()
- } %}
-{% endif %}
diff --git a/theme/openconext/templates/modules/Authentication/View/Proxy/wayf.html.twig b/theme/openconext/templates/modules/Authentication/View/Proxy/wayf.html.twig
deleted file mode 100644
index 03dfeeb744..0000000000
--- a/theme/openconext/templates/modules/Authentication/View/Proxy/wayf.html.twig
+++ /dev/null
@@ -1,114 +0,0 @@
-{% extends '@themeLayouts/scripts/default.html.twig' %}
-
-{# Prepare the page title #}
-{% set pageTitle = 'log_in_to'|trans %}
-
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ parent() }} - {{ pageTitle }}{% endblock %}
-
-{% block content %}
- {% include '@theme/Authentication/View/Proxy/site-notice.html.twig' with { className: 'full-width' } %}
-
-
-
-
-
-
-
-
- {% if rememberChoiceFeature %}
-
-
- {{ 'idps_with_access'|trans|capitalize }}
-
-
- {% else %}
-
-
- {{ 'idps_with_access'|trans|capitalize }}
-
- {% endif %}
-
-
-
-
-
- {{ 'loading_idps'|trans }}
-
-
-
-
-
-
-
-
-
-
-
{{ 'no_idp_results'|trans }}
-
-
- {% if showRequestAccess %}
-
-
-
- {{ 'idps_without_access'|trans|capitalize }}
-
-
-
-
-
-
-
-
{{ 'no_idp_results_request_access'|trans|raw }}
-
-
-
- {% endif %}
-
-
-
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Default/View/Error/error.html.twig b/theme/openconext/templates/modules/Default/View/Error/error.html.twig
deleted file mode 100644
index cf5cc12e81..0000000000
--- a/theme/openconext/templates/modules/Default/View/Error/error.html.twig
+++ /dev/null
@@ -1,76 +0,0 @@
-{% extends '@themeLayouts/scripts/default.html.twig' %}
-{% import "@themeLayouts/scripts/language-switcher.html.twig" as languageSwitcher %}
-
-{% block stylesheets %}{% apply spaceless %}
-
-{% endapply %}{% endblock %}
-
-{% set feedbackInfoMap = feedbackInfo().data %}
-{% set hideHeader = true %}
-{% set hideFooter = true %}
-{% if feedbackInfoMap['serviceProviderName'] is defined and feedbackInfoMap['serviceProviderName'] %}
- {% set withSpName = true %}
-{% endif %}
-{% if feedbackInfoMap['identityProviderName'] is defined and feedbackInfoMap['identityProviderName'] %}
- {% set withIdpName = true %}
-{% endif %}
-
-{% block languageSwitcher %}
- {{ languageSwitcher.form(locale(), postData(), 'error') }}
-{% endblock %}
-
-{% block background %}
-
-{% endblock %}
-
-{% block content %}
- {{ flushLog('Showing feedback page with message: ' ~ pageTitle) }}
-
-
-
-
-
-
-
{% block pageTitle %}{% endblock %}
-
{% block errorMessage %}{% endblock %}
-
-
- {# Some error pages omit the feedback info entirily. To ensure we do not show the intro text, check if the block is empty #}
- {% set _feedbackInfoBlock = block('feedbackInfo') %}
- {% if feedbackInfoMap is not empty and _feedbackInfoBlock is not empty %}
-
-
-
-
-
-
-
- {{ 'error_feedback_info_intro'|trans }}
-
-
- {% block feedbackInfo %}
-
- {% for feedbackInfo in feedbackInfoMap %}
-
- {{ feedbackInfo.key|trans }}:
- {{ feedbackInfo }}
-
- {% endfor %}
-
- {% endblock %}
-
-
-
- {% endif %}
-
-
{{ 'error_help_desc'|trans }}
-
-
- {% apply spaceless %}{% include "@theme/Default/View/Error/partial/footer.html.twig" %}{% endapply %}
-
-
-
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Default/View/Error/method-not-allowed.html.twig b/theme/openconext/templates/modules/Default/View/Error/method-not-allowed.html.twig
deleted file mode 100644
index 161019de78..0000000000
--- a/theme/openconext/templates/modules/Default/View/Error/method-not-allowed.html.twig
+++ /dev/null
@@ -1,21 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{# Prepare the page title #}
-{% set pageTitle = 'error_405'|trans %}
-
-{% block languageSwitcher %}
-{% endblock %}
-
-{% block content %}
-
-
-
-
-
{{ pageTitle }}
- {{ 'error_405_desc'|trans({'%requestMethod%': requestMethod, '%uri%': uri,'%allowedMethods%': allowedMethods}) }}
-
-
- {% apply spaceless %}{% include "@theme/Default/View/Error/partial/footer.html.twig" %}{% endapply %}
-
-
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Default/View/Error/not-found.html.twig b/theme/openconext/templates/modules/Default/View/Error/not-found.html.twig
deleted file mode 100644
index a23dcd17dd..0000000000
--- a/theme/openconext/templates/modules/Default/View/Error/not-found.html.twig
+++ /dev/null
@@ -1,23 +0,0 @@
-{% extends '@theme/Default/View/Error/error.html.twig' %}
-
-{# Prepare the page title #}
-{% set pageTitle = 'error_404'|trans %}
-
-{% block languageSwitcher %}
-{% endblock %}
-
-{% block content %}
-
-
-
-
-
-
{{ pageTitle }}
- {{ 'error_404_desc'|trans }}
-
-
- {% apply spaceless %}{% include "@theme/Default/View/Error/partial/footer.html.twig" %}{% endapply %}
-
-
-
-{% endblock %}
diff --git a/theme/openconext/templates/modules/Default/View/Error/partial/footer.html.twig b/theme/openconext/templates/modules/Default/View/Error/partial/footer.html.twig
deleted file mode 100644
index 6dd49d4d84..0000000000
--- a/theme/openconext/templates/modules/Default/View/Error/partial/footer.html.twig
+++ /dev/null
@@ -1,35 +0,0 @@
-{% set template = app.request.get('_route') %}
-
diff --git a/theme/openconext/templates/modules/Logout/View/Index/index.html.twig b/theme/openconext/templates/modules/Logout/View/Index/index.html.twig
deleted file mode 100644
index 94d664610b..0000000000
--- a/theme/openconext/templates/modules/Logout/View/Index/index.html.twig
+++ /dev/null
@@ -1,19 +0,0 @@
-{% extends '@themeLayouts/scripts/default.html.twig' %}
-
-{% set pageTitle = 'logout'|trans %}
-
-{% block title %}{{ parent() }} - {{ pageTitle }} {% endblock %}
-{% block pageHeading %}{{ parent() }} - {{ pageTitle }}{% endblock %}
-
-{% block content %}
-
-
-
Logout
- {% include '@theme/Authentication/View/Proxy/site-notice.html.twig' with { className: 'full-width' } %}
-
{{ 'logout_description'|trans }}
- {% if 'logout_information_link_text'|trans %}
-
{{ 'logout_information_link_text'|trans }}
- {% endif %}
-
-
-{% endblock %}
diff --git a/theme/openconext/translations/messages.en.php b/theme/openconext/translations/messages.en.php
deleted file mode 100644
index ee044f0d6b..0000000000
--- a/theme/openconext/translations/messages.en.php
+++ /dev/null
@@ -1,38 +0,0 @@
- 'Log in with',
- 'search' => 'Search for an %organisationNoun%...',
- 'search_screenreader' => 'Search',
- 'log_in_to' => 'Select an %organisationNoun% to login to the service',
- 'hamburger_screenreader' => 'skip to footer',
-
- // Consent page
- 'consent_header_title' => '%arg1% needs your information before logging in',
- 'consent_header_text' => 'The service needs the following information to function properly. These data will be sent securely from your %organisationNoun% towards %arg1% via %suiteName% .',
- 'consent_privacy_title' => 'The following information will be shared with %arg1%:',
- 'consent_privacy_link' => 'Read the privacy policy of this service',
- 'consent_attributes_correction_link' => 'Are the details below incorrect?',
- 'consent_buttons_title' => 'Do you agree with sharing this data?',
- 'consent_buttons_ok' => 'Yes, proceed to %arg1%',
- 'consent_footer_text_singular' => 'You are using one other service via %suiteName%. View the list of services and your profile information. ',
- 'consent_footer_text_plural' => 'You are using %arg1% services via %suiteName%. View the list of services and your profile information. ',
- 'consent_footer_text_first_consent' => 'You are not using any services via %suiteName%. View your profile information. ',
- // Consent slidein: About %suiteName%
- 'consent_slidein_about_head' => 'Logging in through %suiteName%',
- 'consent_slidein_about_text' => '%suiteName% allows people to easily and securely log in into various cloud services using their own %accountNoun%. %suiteName% offers extra privacy protection by sending a minimum set of personal data to these cloud services.',
-
- // Consent slidein: Reject
- 'consent_slidein_reject_head' => "You don't want to share your data with the service",
- 'consent_slidein_reject_text' => "The service you're logging into requires your data to function properly. If you prefer not to share your data, you cannot use this service. By closing your browser or just this tab you prevent your information from being shared with the service. If you change your mind later, please login to the service again and this screen will reappear.",
-
- // Generic slide-in
- 'slidein_close' => 'Close',
-];
diff --git a/theme/openconext/translations/messages.nl.php b/theme/openconext/translations/messages.nl.php
deleted file mode 100644
index 5a7c9b2641..0000000000
--- a/theme/openconext/translations/messages.nl.php
+++ /dev/null
@@ -1,37 +0,0 @@
- 'Log in met',
- 'search' => 'Zoek een %organisationNoun%...',
- 'search_screenreader' => 'Zoeken',
- 'log_in_to' => 'Selecteer een %organisationNoun% en login bij',
- 'hamburger_screenreader' => 'naar de footer',
-
- // Consent page
- 'consent_header_title' => 'Om in te loggen heeft %arg1% jouw gegevens nodig',
- 'consent_header_text' => 'De dienst heeft deze gegevens nodig om goed te kunnen functioneren. De gegevens worden vanuit jouw %organisationNoun% veilig verstuurd naar %arg1% via %suiteName% .',
- 'consent_privacy_title' => 'De volgende gegevens worden doorgestuurd naar %arg1%:',
- 'consent_privacy_link' => 'Lees het privacybeleid van deze dienst',
- 'consent_attributes_correction_link' => 'Kloppen de onderstaande gegevens niet?',
- 'consent_buttons_title' => 'Ga je akkoord met het doorsturen van deze gegevens?',
- 'consent_buttons_ok' => 'Ja, ga door naar %arg1%',
- 'consent_footer_text_singular' => 'Je gebruikt al één andere dienst via %suiteName%. Bekijk hier het overzicht en je profielinformatie. ',
- 'consent_footer_text_plural' => 'Je gebruikt al %arg1% diensten via %suiteName%. Bekijk hier het overzicht en je profielinformatie. ',
- 'consent_footer_text_first_consent' => 'Je gebruikt nog geen diensten via %suiteName%. Bekijk hier je profielinformatie. ',
- // Consent slidein: About OpenConext
- 'consent_slidein_about_head' => 'Inloggen met %suiteName%',
- 'consent_slidein_about_text' => 'Via %suiteName% loggen personen met hun eigen %accountNoun% veilig en gemakkelijk in bij clouddiensten van verschillende aanbieders. %suiteName% biedt extra privacy-bescherming doordat een minimaal aantal persoonlijke gegevens wordt doorgegeven aan deze clouddiensten.',
-
- // Consent slidein: Reject
- 'consent_slidein_reject_head' => 'Je wilt geen gegevens delen met de dienst',
- 'consent_slidein_reject_text' => 'De dienst waar je probeert in te loggen heeft jouw gegevens nodig om te kunnen functioneren. Als je deze gegevens niet wilt delen dan kun je geen gebruik maken van deze dienst. Door je browser of dit tabblad af te sluiten voorkom je het doorsturen van je gegevens. Als je je hierna bedenkt, log dan opnieuw in bij de dienst; je krijgt dit scherm dan opnieuw te zien.',
- // Generic slide-in
- 'slidein_close' => 'Sluiten',
-];
diff --git a/theme/openconext/translations/messages.pt.php b/theme/openconext/translations/messages.pt.php
deleted file mode 100644
index 2238c61e5f..0000000000
--- a/theme/openconext/translations/messages.pt.php
+++ /dev/null
@@ -1,38 +0,0 @@
- 'Entrar com a',
- 'search' => 'Procure por uma %organisationNoun%...',
- 'search_screenreader' => 'Procurar',
- 'log_in_to' => 'Seleccione uma %organisationNoun% para se autenticar no serviço:',
- 'hamburger_screenreader' => 'pular para o rodapé',
-
- // Consent page
- 'consent_header_title' => '%arg1% necessita da sua informação antes de efetuar login',
- 'consent_header_text' => 'Este serviço necessita da seguinte informação para funcionar devidamente. Estes dados serão enviados de forma segura para a sua %organisationNoun% relativamente a %arg1% por %suiteName% .',
- 'consent_privacy_title' => 'A informação seguinte será partilhada com %arg1%:',
- 'consent_privacy_link' => 'Leia a política de privacidade para este serviço',
- 'consent_attributes_correction_link' => 'Os seus detalhes estão incorrectos?',
- 'consent_buttons_title' => 'Concorda com a partilha desta informação?',
- 'consent_buttons_ok' => 'Sim, prossiga para %arg1%',
- 'consent_footer_text_singular' => 'Você está a utilizar um outro serviço através do %suiteName%. Veja a lista de serviços e as informações do seu perfil. ',
- 'consent_footer_text_plural' => 'Você está a utilizar %arg1% serviços através do %suiteName%. Veja a lista de serviços e as informações do seu perfil. ',
- 'consent_footer_text_first_consent' => 'Você não está a usar nenhum serviço através do %suiteName%. Veja a informação do seu perfil. ',
- // Consent slidein: About %suiteName%
- 'consent_slidein_about_head' => 'A efectuar login através da %suiteName%',
- 'consent_slidein_about_text' => '%suiteName% permite que as pessoas de forma fácil e segura acedam a vários serviços de cloud usando as sua própria %accountNoun%. %suiteName% oferece protecção extra na sua privacidade, enviando apenas um conjunto mínimo de dados pessoais para estes servioes em cloud.',
-
- // Consent slidein: Reject
- 'consent_slidein_reject_head' => 'Você recusou partilhar os seus dados',
- 'consent_slidein_reject_text' => 'O serviço ao qual se autenticou necessita dos seus dados para funcionar. Se não concorda com a partilha da sua informação, não poderá utilizar este serviço. Fechando o browser ou esta janela, está a recusar a partilha da informação necessária. Se mudar de ideias após esta decisão, volte a entrar no serviço e serão efectuadas as mesmas questões de partilha da informação de novo.',
-
- // Generic slide-in
- 'slidein_close' => 'Fechar',
-];
diff --git a/theme/package.json b/theme/package.json
index 0b6d4d7932..84b3efcbcd 100644
--- a/theme/package.json
+++ b/theme/package.json
@@ -15,20 +15,20 @@
"audit": "yarn audit",
"lint": "yarn lint:js && yarn lint:css",
"lint:js": "eslint '**/javascripts/**/*.js'",
- "lint:css": "stylelint ${EB_THEME:=openconext}/stylesheets/**/*.*ss",
+ "lint:css": "stylelint ${EB_THEME:=skeune}/stylesheets/**/*.*ss",
"clean": "rimraf ../public/images/* ../public/javascripts/* ../public/stylesheets/* ../public/fonts/*",
"build": "node scripts/build.js",
"buildtheme": "yarn build:clean && yarn build:js && yarn build:css && bash scripts/copy-assets.sh",
"build:clean": "rimraf ../public/javascripts/* ../public/stylesheets/*",
- "build:js": "mkdir -p ../public/javascripts && EB_THEME=${EB_THEME:=openconext} webpack --config webpack.config.js --mode production",
- "build:js:debug": "mkdir -p ../public/javascripts && EB_THEME=${EB_THEME:=openconext} webpack --config webpack.config.js --mode development",
+ "build:js": "mkdir -p ../public/javascripts && EB_THEME=${EB_THEME:=skeune} webpack --config webpack.config.js --mode production",
+ "build:js:debug": "mkdir -p ../public/javascripts && EB_THEME=${EB_THEME:=skeune} webpack --config webpack.config.js --mode development",
"build:css": "mkdir -p ../public/stylesheets && yarn build:css:sass && yarn build:css:postcss",
- "build:css:sass": "sass ${EB_THEME:=openconext}/stylesheets:../public/stylesheets/",
+ "build:css:sass": "sass ${EB_THEME:=skeune}/stylesheets:../public/stylesheets/",
"build:css:postcss": "BROWSERSLIST_CONFIG=.browserslistrc postcss ../public/stylesheets/*.css --use autoprefixer --use cssnano --no-map --dir ../public/stylesheets",
"create-theme": "node scripts/create-theme.js",
"watch": "node scripts/watch.js",
- "watch:js": "mkdir -p ../public/javascripts && EB_THEME=${EB_THEME:=openconext} webpack --config webpack.config.js --mode development --watch",
- "watch:css": "sass -w ${EB_THEME:=openconext}/stylesheets:../public/stylesheets",
+ "watch:js": "mkdir -p ../public/javascripts && EB_THEME=${EB_THEME:=skeune} webpack --config webpack.config.js --mode development --watch",
+ "watch:css": "sass -w ${EB_THEME:=skeune}/stylesheets:../public/stylesheets",
"release": "yarn build"
},
"author": "",
diff --git a/theme/scripts/copy-assets.sh b/theme/scripts/copy-assets.sh
index dbb2332a3e..55df9ef351 100755
--- a/theme/scripts/copy-assets.sh
+++ b/theme/scripts/copy-assets.sh
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
set -euo pipefail
-THEME=${EB_THEME:-openconext}
+THEME=${EB_THEME:-skeune}
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT="$SCRIPT_DIR/.."
diff --git a/theme/webpack.config.js b/theme/webpack.config.js
index 0894de2382..7b4a5b198a 100644
--- a/theme/webpack.config.js
+++ b/theme/webpack.config.js
@@ -1,7 +1,7 @@
const path = require('path');
const TerserPlugin = require('terser-webpack-plugin');
-const theme = process.env.EB_THEME || 'openconext';
+const theme = process.env.EB_THEME || 'skeune';
module.exports = (env, argv) => {
const isProd = argv.mode === 'production';